aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java48
-rw-r--r--src/Java/gtPlusPlus/api/damage/DamageTeslaTower.java2
-rw-r--r--src/Java/gtPlusPlus/api/enums/Quality.java (renamed from src/Java/gtPlusPlus/core/util/Quality.java)5
-rw-r--r--src/Java/gtPlusPlus/api/helpers/MaterialHelper.java (renamed from src/Java/gtPlusPlus/api/objects/MaterialHelper.java)8
-rw-r--r--src/Java/gtPlusPlus/api/interfaces/IEntityCatcher.java3
-rw-r--r--src/Java/gtPlusPlus/api/interfaces/IGregtechPower.java147
-rw-r--r--src/Java/gtPlusPlus/api/interfaces/IPlugin.java6
-rw-r--r--src/Java/gtPlusPlus/api/interfaces/ITexturedBlock.java3
-rw-r--r--src/Java/gtPlusPlus/api/objects/Logger.java1
-rw-r--r--src/Java/gtPlusPlus/api/objects/data/AutoMap.java (renamed from src/Java/gtPlusPlus/core/util/array/AutoMap.java)11
-rw-r--r--src/Java/gtPlusPlus/api/objects/data/Pair.java (renamed from src/Java/gtPlusPlus/core/util/array/Pair.java)2
-rw-r--r--src/Java/gtPlusPlus/api/objects/data/Quad.java (renamed from src/Java/gtPlusPlus/core/util/array/Quad.java)2
-rw-r--r--src/Java/gtPlusPlus/api/objects/data/Triplet.java (renamed from src/Java/gtPlusPlus/core/util/array/Triplet.java)2
-rw-r--r--src/Java/gtPlusPlus/api/objects/minecraft/BlockPos.java222
-rw-r--r--src/Java/gtPlusPlus/api/objects/minecraft/ChunkManager.java (renamed from src/Java/gtPlusPlus/api/objects/ChunkManager.java)30
-rw-r--r--src/Java/gtPlusPlus/api/objects/minecraft/DimChunkPos.java (renamed from src/Java/gtPlusPlus/api/objects/DimChunkPos.java)3
-rw-r--r--src/Java/gtPlusPlus/api/objects/minecraft/FluidGT6.java (renamed from src/Java/gtPlusPlus/core/util/fluid/FluidGT6.java)3
-rw-r--r--src/Java/gtPlusPlus/api/objects/minecraft/GenericStack.java (renamed from src/Java/gtPlusPlus/api/objects/GenericStack.java)3
-rw-r--r--src/Java/gtPlusPlus/api/objects/random/CSPRNG_DO_NOT_USE.java (renamed from src/Java/gtPlusPlus/api/objects/CSPRNG_DO_NOT_USE.java)2
-rw-r--r--src/Java/gtPlusPlus/api/objects/random/UUIDGenerator.java (renamed from src/Java/gtPlusPlus/core/util/uuid/UUIDGenerator.java)4
-rw-r--r--src/Java/gtPlusPlus/api/objects/random/XSTR.java (renamed from src/Java/gtPlusPlus/api/objects/XSTR.java)2
-rw-r--r--src/Java/gtPlusPlus/api/plugin/Sample_Plugin.java32
-rw-r--r--src/Java/gtPlusPlus/core/block/ModBlocks.java32
-rw-r--r--src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java3
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BasicBlock.java21
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java12
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java127
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BlockBaseNBT.java9
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java116
-rw-r--r--src/Java/gtPlusPlus/core/block/base/MultiTextureBlock.java5
-rw-r--r--src/Java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java8
-rw-r--r--src/Java/gtPlusPlus/core/block/general/BlockNet.java8
-rw-r--r--src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java21
-rw-r--r--src/Java/gtPlusPlus/core/block/general/FirePit.java8
-rw-r--r--src/Java/gtPlusPlus/core/block/general/FluidTankInfinite.java15
-rw-r--r--src/Java/gtPlusPlus/core/block/general/HellFire.java17
-rw-r--r--src/Java/gtPlusPlus/core/block/general/LightGlass.java8
-rw-r--r--src/Java/gtPlusPlus/core/block/general/MiningExplosives.java8
-rw-r--r--src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java12
-rw-r--r--src/Java/gtPlusPlus/core/block/general/antigrief/TowerDevice.java10
-rw-r--r--src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java6
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java7
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/FishTrap.java16
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/HeliumGenerator.java10
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/Machine_ModularityTable.java16
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java24
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/Machine_TradeTable.java14
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java20
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/Machine_WorkbenchAdvanced.java14
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Head_Fake.java159
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Pipe_Fake.java136
-rw-r--r--src/Java/gtPlusPlus/core/client/model/ModelSickBlaze.java1
-rw-r--r--src/Java/gtPlusPlus/core/client/model/ModelStaballoyConstruct.java16
-rw-r--r--src/Java/gtPlusPlus/core/client/renderer/CustomOreBlockRenderer.java9
-rw-r--r--src/Java/gtPlusPlus/core/client/renderer/RenderMiningExplosivesPrimed.java8
-rw-r--r--src/Java/gtPlusPlus/core/client/renderer/RenderPlasmaBolt.java13
-rw-r--r--src/Java/gtPlusPlus/core/client/renderer/RenderPotionthrow.java1
-rw-r--r--src/Java/gtPlusPlus/core/client/renderer/RenderSickBlaze.java10
-rw-r--r--src/Java/gtPlusPlus/core/client/renderer/RenderStaballoyConstruct.java12
-rw-r--r--src/Java/gtPlusPlus/core/client/renderer/RenderToxinball.java4
-rw-r--r--src/Java/gtPlusPlus/core/commands/CommandMath.java115
-rw-r--r--src/Java/gtPlusPlus/core/commands/CommandUtils.java2
-rw-r--r--src/Java/gtPlusPlus/core/common/BasePlayer.java9
-rw-r--r--src/Java/gtPlusPlus/core/common/CommonProxy.java24
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java4
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_BigReactors.java4
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java8
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_EnderIO.java6
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java7
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_IC2.java5
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_MorePlanets.java2
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_PneumaticCraft.java4
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_RFTools.java4
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_SimplyJetpacks.java4
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java3
-rw-r--r--src/Java/gtPlusPlus/core/config/ConfigHandler.java23
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_BackpackBase.java5
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_FishTrap.java9
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_Grindle.java5
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_HeliumGenerator.java13
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_ModularityTable.java15
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_ProjectTable.java15
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_TradeTable.java13
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_Workbench.java20
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_WorkbenchAdvanced.java16
-rw-r--r--src/Java/gtPlusPlus/core/creative/AddToCreativeTab.java3
-rw-r--r--src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabBlock.java3
-rw-r--r--src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMachines.java3
-rw-r--r--src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMisc.java3
-rw-r--r--src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabOther.java3
-rw-r--r--src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabTools.java3
-rw-r--r--src/Java/gtPlusPlus/core/entity/EntityPrimedMiningExplosive.java6
-rw-r--r--src/Java/gtPlusPlus/core/entity/EntityTeleportFX.java1
-rw-r--r--src/Java/gtPlusPlus/core/entity/EntityTeslaTowerLightning.java9
-rw-r--r--src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java1
-rw-r--r--src/Java/gtPlusPlus/core/entity/monster/EntitySickBlaze.java4
-rw-r--r--src/Java/gtPlusPlus/core/entity/monster/EntityStaballoyConstruct.java12
-rw-r--r--src/Java/gtPlusPlus/core/entity/projectile/EntityHydrofluoricAcidPotion.java10
-rw-r--r--src/Java/gtPlusPlus/core/entity/projectile/EntitySulfuricAcidPotion.java10
-rw-r--r--src/Java/gtPlusPlus/core/entity/projectile/EntityToxinball.java5
-rw-r--r--src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java10
-rw-r--r--src/Java/gtPlusPlus/core/fluids/FluidRegistryHandler.java7
-rw-r--r--src/Java/gtPlusPlus/core/fluids/GenericFluid.java4
-rw-r--r--src/Java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java4
-rw-r--r--src/Java/gtPlusPlus/core/gui/item/GuiBaseBackpack.java7
-rw-r--r--src/Java/gtPlusPlus/core/gui/item/GuiBaseGrindle.java22
-rw-r--r--src/Java/gtPlusPlus/core/gui/item/GuiScreenGrindle.java18
-rw-r--r--src/Java/gtPlusPlus/core/gui/machine/GUI_FishTrap.java8
-rw-r--r--src/Java/gtPlusPlus/core/gui/machine/GUI_HeliumGenerator.java8
-rw-r--r--src/Java/gtPlusPlus/core/gui/machine/GUI_ModularityTable.java9
-rw-r--r--src/Java/gtPlusPlus/core/gui/machine/GUI_ProjectTable.java10
-rw-r--r--src/Java/gtPlusPlus/core/gui/machine/GUI_TradeTable.java24
-rw-r--r--src/Java/gtPlusPlus/core/gui/machine/GUI_Workbench.java8
-rw-r--r--src/Java/gtPlusPlus/core/gui/machine/GUI_WorkbenchAdvanced.java8
-rw-r--r--src/Java/gtPlusPlus/core/handler/BookHandler.java30
-rw-r--r--src/Java/gtPlusPlus/core/handler/BurnableFuelHandler.java8
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java13
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java6
-rw-r--r--src/Java/gtPlusPlus/core/handler/GuiHandler.java32
-rw-r--r--src/Java/gtPlusPlus/core/handler/OldCircuitHandler.java1
-rw-r--r--src/Java/gtPlusPlus/core/handler/PacketHandler.java9
-rw-r--r--src/Java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java12
-rw-r--r--src/Java/gtPlusPlus/core/handler/analytics/AnalyticsLoggingPlugin.java (renamed from src/Java/gtPlusPlus/api/analytics/AnalyticsLoggingPlugin.java)7
-rw-r--r--src/Java/gtPlusPlus/core/handler/analytics/BlockingFlush.java (renamed from src/Java/gtPlusPlus/api/analytics/BlockingFlush.java)10
-rw-r--r--src/Java/gtPlusPlus/core/handler/analytics/SegmentAnalytics.java (renamed from src/Java/gtPlusPlus/api/analytics/SegmentAnalytics.java)19
-rw-r--r--src/Java/gtPlusPlus/core/handler/analytics/SegmentHelper.java (renamed from src/Java/gtPlusPlus/api/analytics/SegmentHelper.java)7
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java16
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java17
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/PickaxeBlockBreakEventHandler.java35
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/PlayerTickHandler.java18
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/SneakManager.java3
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/UnbreakableBlockManager.java12
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/ZombieBackupSpawnEventHandler.java3
-rw-r--r--src/Java/gtPlusPlus/core/handler/render/CapeHandler.java10
-rw-r--r--src/Java/gtPlusPlus/core/handler/render/FirepitModel.java3
-rw-r--r--src/Java/gtPlusPlus/core/handler/workbench/Workbench_CraftingHandler.java8
-rw-r--r--src/Java/gtPlusPlus/core/handler/workbench/Workbench_RecipeSorter.java4
-rw-r--r--src/Java/gtPlusPlus/core/inventories/BaseInventoryBackpack.java3
-rw-r--r--src/Java/gtPlusPlus/core/inventories/BaseInventoryGrindle.java3
-rw-r--r--src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchCrafting.java4
-rw-r--r--src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchHoloSlots.java3
-rw-r--r--src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchTools.java3
-rw-r--r--src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchToolsElectric.java8
-rw-r--r--src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java5
-rw-r--r--src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java3
-rw-r--r--src/Java/gtPlusPlus/core/inventories/projecttable/InventoryProjectMain.java1
-rw-r--r--src/Java/gtPlusPlus/core/inventories/tradetable/InventoryTradeMain.java1
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java168
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseEuItem.java28
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemBackpack.java15
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemBrain.java1
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java11
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemColourable.java11
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java39
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemDamageable.java6
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemGeneric.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemLoot.java12
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemTCShard.java13
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java327
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemWithCharge.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BasicSpawnEgg.java12
-rw-r--r--src/Java/gtPlusPlus/core/item/base/CoreItem.java52
-rw-r--r--src/Java/gtPlusPlus/core/item/base/cell/BaseItemCell.java14
-rw-r--r--src/Java/gtPlusPlus/core/item/base/cell/BaseItemPlasmaCell.java12
-rw-r--r--src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java35
-rw-r--r--src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustAbstract.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustUnique.java13
-rw-r--r--src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemCentidust.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemDecidust.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/base/foil/BaseItemFoil.java11
-rw-r--r--src/Java/gtPlusPlus/core/item/base/foods/BaseItemFood.java6
-rw-r--r--src/Java/gtPlusPlus/core/item/base/foods/BaseItemHotFood.java9
-rw-r--r--src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java6
-rw-r--r--src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java17
-rw-r--r--src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java15
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTooltip.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockEntityBase.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockFluid.java11
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java11
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtFrameBox.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java1
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java39
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java14
-rw-r--r--src/Java/gtPlusPlus/core/item/base/misc/BaseItemMisc.java15
-rw-r--r--src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java38
-rw-r--r--src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlateDouble.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate_OLD.java17
-rw-r--r--src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java4
-rw-r--r--src/Java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java6
-rw-r--r--src/Java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java6
-rw-r--r--src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java18
-rw-r--r--src/Java/gtPlusPlus/core/item/bauble/HealthBoostBauble.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java20
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java14
-rw-r--r--src/Java/gtPlusPlus/core/item/effects/RarityEffect.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/effects/RarityEpic.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/effects/RarityRare.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/effects/RarityUncommon.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/general/BaseItemGrindle.java15
-rw-r--r--src/Java/gtPlusPlus/core/item/general/BedLocator_Base.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/general/BufferCore.java14
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java15
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemAreaClear.java19
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java11
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemBlueprint.java16
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java18
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemEmpty.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemGemShards.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemHalfCompleteCasings.java30
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java22
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java12
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java16
-rw-r--r--src/Java/gtPlusPlus/core/item/general/NuclearFuelRodBase.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/general/RF2EU_Battery.java16
-rw-r--r--src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java16
-rw-r--r--src/Java/gtPlusPlus/core/item/general/capture/ItemEntityCatcher.java20
-rw-r--r--src/Java/gtPlusPlus/core/item/general/chassis/ItemBoilerChassis.java (renamed from src/Java/gtPlusPlus/core/item/general/chassis/itemBoilerChassis.java)12
-rw-r--r--src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java (renamed from src/Java/gtPlusPlus/core/item/general/chassis/itemDehydratorCoil.java)25
-rw-r--r--src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java (renamed from src/Java/gtPlusPlus/core/item/general/chassis/itemDehydratorCoilWire.java)25
-rw-r--r--src/Java/gtPlusPlus/core/item/general/fuelrods/FuelRod_Base.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/general/throwables/ItemHydrofluoricAcidPotion.java9
-rw-r--r--src/Java/gtPlusPlus/core/item/general/throwables/ItemSulfuricAcidPotion.java9
-rw-r--r--src/Java/gtPlusPlus/core/item/init/ItemsFoods.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/init/ItemsMultiTools.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/materials/DustDecayable.java82
-rw-r--r--src/Java/gtPlusPlus/core/item/tool/misc/ConnectedBlockFinder.java142
-rw-r--r--src/Java/gtPlusPlus/core/item/tool/misc/SandstoneHammer.java6
-rw-r--r--src/Java/gtPlusPlus/core/item/tool/staballoy/MultiPickaxeBase.java23
-rw-r--r--src/Java/gtPlusPlus/core/item/tool/staballoy/MultiSpadeBase.java20
-rw-r--r--src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyAxe.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyPickaxe.java190
-rw-r--r--src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoySpade.java191
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java31
-rw-r--r--src/Java/gtPlusPlus/core/lib/LoadedMods.java10
-rw-r--r--src/Java/gtPlusPlus/core/material/ALLOY.java3
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java14
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java45
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java56
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialStack.java5
-rw-r--r--src/Java/gtPlusPlus/core/material/NONMATERIAL.java3
-rw-r--r--src/Java/gtPlusPlus/core/material/ORES.java1
-rw-r--r--src/Java/gtPlusPlus/core/material/gregtech/CustomGTMaterials.java15
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java12
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java8
-rw-r--r--src/Java/gtPlusPlus/core/players/FakeFarmer.java5
-rw-r--r--src/Java/gtPlusPlus/core/proxy/ClientProxy.java13
-rw-r--r--src/Java/gtPlusPlus/core/proxy/ServerProxy.java5
-rw-r--r--src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java8
-rw-r--r--src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java17
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Extruder.java47
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java1868
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_General.java99
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java10
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java89
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java9
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java93
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java16
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java5
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Tools.java11
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPE_Batteries.java10
-rw-r--r--src/Java/gtPlusPlus/core/recipe/ShapedRecipeObject.java5
-rw-r--r--src/Java/gtPlusPlus/core/recipe/common/CI.java112
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotBlueprint.java5
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java7
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotCrafting.java2
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotCraftingNoCollect.java1
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotDataStick.java8
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotElectric.java8
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotFrame.java3
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotFuelRod.java6
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotGtTool.java6
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotGtToolElectric.java8
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotItemBackpackInv.java3
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotModularBauble.java3
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java12
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotOutput.java2
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotRTG.java3
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java13
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java18
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/base/TilePoweredGT.java1167
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java24
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityHeliumGenerator.java11
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityInfiniteFluid.java1
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityReverter.java3
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityXpConverter.java14
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java26
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/machines/TileEntityProjectTable.java27
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java11
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbench.java13
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbenchAdvanced.java15
-rw-r--r--src/Java/gtPlusPlus/core/util/BaseHandler.java11
-rw-r--r--src/Java/gtPlusPlus/core/util/ClassUtils.java76
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java78
-rw-r--r--src/Java/gtPlusPlus/core/util/UtilsChatFormatting.java129
-rw-r--r--src/Java/gtPlusPlus/core/util/UtilsRarity.java18
-rw-r--r--src/Java/gtPlusPlus/core/util/UtilsText.java18
-rw-r--r--src/Java/gtPlusPlus/core/util/array/BlockPos.java25
-rw-r--r--src/Java/gtPlusPlus/core/util/data/ArrayUtils.java (renamed from src/Java/gtPlusPlus/core/util/array/ArrayUtils.java)21
-rw-r--r--src/Java/gtPlusPlus/core/util/data/EnumUtils.java48
-rw-r--r--src/Java/gtPlusPlus/core/util/data/LocaleUtils.java90
-rw-r--r--src/Java/gtPlusPlus/core/util/data/LoggingUtils.java (renamed from src/Java/gtPlusPlus/core/util/LoggingUtils.java)2
-rw-r--r--src/Java/gtPlusPlus/core/util/data/StringUtils.java (renamed from src/Java/gtPlusPlus/core/util/StringUtils.java)18
-rw-r--r--src/Java/gtPlusPlus/core/util/data/UUIDUtils.java (renamed from src/Java/gtPlusPlus/core/util/uuid/UUIDUtils.java)2
-rw-r--r--src/Java/gtPlusPlus/core/util/debug/DEBUG_ITEM_ShapeSpawner.java8
-rw-r--r--src/Java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java18
-rw-r--r--src/Java/gtPlusPlus/core/util/debug/DEBUG_ScreenOverlay.java6
-rw-r--r--src/Java/gtPlusPlus/core/util/debug/DEBUG_TimerThread.java3
-rw-r--r--src/Java/gtPlusPlus/core/util/math/MathUtils.java34
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/EnchantingUtils.java (renamed from src/Java/gtPlusPlus/core/util/enchanting/EnchantingUtils.java)2
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java (renamed from src/Java/gtPlusPlus/core/util/entity/EntityUtils.java)18
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java (renamed from src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java)19
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/InventoryUtils.java (renamed from src/Java/gtPlusPlus/core/util/inventory/InventoryUtils.java)2
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java (renamed from src/Java/gtPlusPlus/core/util/item/ItemUtils.java)136
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java (renamed from src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java)84
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MiningUtils.java (renamed from src/Java/gtPlusPlus/core/util/player/UtilsMining.java)7
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ModularArmourUtils.java (renamed from src/Java/gtPlusPlus/core/util/nbt/ModularArmourUtils.java)12
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/NBTUtils.java (renamed from src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java)13
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java (renamed from src/Java/gtPlusPlus/core/util/player/PlayerUtils.java)6
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java (renamed from src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java)23
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ShapelessUtils.java (renamed from src/Java/gtPlusPlus/core/util/recipe/shapeless/ShapelessUtils.java)5
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java (renamed from src/Java/gtPlusPlus/core/util/PollutionUtils.java)7
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/gregtech/material/MaterialBuilder.java (renamed from src/Java/gtPlusPlus/core/util/gregtech/material/MaterialBuilder.java)12
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/gregtech/recipehandlers/GregtechRecipe.java (renamed from src/Java/gtPlusPlus/core/util/gregtech/recipehandlers/GregtechRecipe.java)10
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/particles/BlockBreakParticles.java (renamed from src/Java/gtPlusPlus/core/util/particles/BlockBreakParticles.java)5
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/particles/EntityParticleFXMysterious.java (renamed from src/Java/gtPlusPlus/core/util/particles/EntityParticleFXMysterious.java)2
-rw-r--r--src/Java/gtPlusPlus/core/util/player/PlayerCache.java5
-rw-r--r--src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java51
-rw-r--r--src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java129
-rw-r--r--src/Java/gtPlusPlus/core/util/sys/GeoUtils.java (renamed from src/Java/gtPlusPlus/core/util/geo/GeoUtils.java)13
-rw-r--r--src/Java/gtPlusPlus/core/util/sys/KeyboardUtils.java (renamed from src/Java/gtPlusPlus/core/util/input/KeyboardUtils.java)2
-rw-r--r--src/Java/gtPlusPlus/core/util/sys/Log.java (renamed from src/Java/gtPlusPlus/core/util/Log.java)2
-rw-r--r--src/Java/gtPlusPlus/core/util/sys/NetworkUtils.java (renamed from src/Java/gtPlusPlus/core/util/networking/NetworkUtils.java)6
-rw-r--r--src/Java/gtPlusPlus/core/util/sys/SystemUtils.java (renamed from src/Java/gtPlusPlus/core/util/SystemUtils.java)2
-rw-r--r--src/Java/gtPlusPlus/core/util/wrapper/var.java67
-rw-r--r--src/Java/gtPlusPlus/core/world/damage/BaseCustomDamageSource.java (renamed from src/Java/gtPlusPlus/api/damage/BaseCustomDamageSource.java)2
-rw-r--r--src/Java/gtPlusPlus/core/world/darkworld/world/DarkWorldPortalPosition.java14
-rw-r--r--src/Java/gtPlusPlus/core/world/explosions/MiningExplosion.java23
-rw-r--r--src/Java/gtPlusPlus/everglades/GTplusplus_Everglades.java (renamed from src/Java/gtPlusPlus/GTplusplus_Secondary.java)72
-rw-r--r--src/Java/gtPlusPlus/everglades/biome/BiomeGenerator_Custom.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/biome/BiomeGenerator_Custom.java)85
-rw-r--r--src/Java/gtPlusPlus/everglades/biome/Biome_Everglades.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java)40
-rw-r--r--src/Java/gtPlusPlus/everglades/biome/GenLayerBiomes.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/biome/GenLayerBiomes.java)4
-rw-r--r--src/Java/gtPlusPlus/everglades/biome/GenLayerEverglades.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/biome/GenLayerDarkWorld.java)12
-rw-r--r--src/Java/gtPlusPlus/everglades/block/BlockDarkWorldGround.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldGround.java)10
-rw-r--r--src/Java/gtPlusPlus/everglades/block/BlockDarkWorldPollutedDirt.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPollutedDirt.java)14
-rw-r--r--src/Java/gtPlusPlus/everglades/block/BlockDarkWorldPortalFrame.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortalFrame.java)12
-rw-r--r--src/Java/gtPlusPlus/everglades/block/BlockDarkWorldSludgeFluid.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldSludgeFluid.java)19
-rw-r--r--src/Java/gtPlusPlus/everglades/block/BlockEvergladesPortal.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortal.java)140
-rw-r--r--src/Java/gtPlusPlus/everglades/block/DarkWorldContentLoader.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/block/DarkWorldContentLoader.java)29
-rw-r--r--src/Java/gtPlusPlus/everglades/chunk/ChunkProviderModded.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/chunk/ChunkProviderModded.java)21
-rw-r--r--src/Java/gtPlusPlus/everglades/dimension/Dimension_Everglades.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java)19
-rw-r--r--src/Java/gtPlusPlus/everglades/gen/WorldGenDeadLilly.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/gen/WorldGenDeadLilly.java)2
-rw-r--r--src/Java/gtPlusPlus/everglades/gen/WorldGenMinable_Custom.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/gen/WorldGenMinable_Custom.java)5
-rw-r--r--src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT.java)7
-rw-r--r--src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Base.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Base.java)28
-rw-r--r--src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Ore_Layer.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Ore_Layer.java)63
-rw-r--r--src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_Ores.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_Ores.java)14
-rw-r--r--src/Java/gtPlusPlus/everglades/item/ItemBlockToxicEverglades.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/item/ItemBlockToxicEverglades.java)12
-rw-r--r--src/Java/gtPlusPlus/everglades/item/ItemEvergladesPortalTrigger.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/item/itemDarkWorldPortalTrigger.java)21
-rw-r--r--src/Java/gtPlusPlus/everglades/object/BoxedQuad.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/object/BoxedQuad.java)5
-rw-r--r--src/Java/gtPlusPlus/everglades/world/CustomWorldType.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/world/CustomWorldType.java)2
-rw-r--r--src/Java/gtPlusPlus/everglades/world/EvergladesPortalPosition.java14
-rw-r--r--src/Java/gtPlusPlus/everglades/world/TeleporterDimensionMod.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/world/TeleporterDimensionMod.java)27
-rw-r--r--src/Java/gtPlusPlus/everglades/world/WorldChunkManagerCustom.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/world/WorldChunkManagerCustom.java)20
-rw-r--r--src/Java/gtPlusPlus/everglades/world/WorldProviderMod.java (renamed from src/Java/gtPlusPlus/core/world/darkworld/world/WorldProviderMod.java)10
-rw-r--r--src/Java/gtPlusPlus/nei/GT_NEI_DefaultHandler.java25
-rw-r--r--src/Java/gtPlusPlus/nei/NEI_GT_Config.java3
-rw-r--r--src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java8
-rw-r--r--src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java6
-rw-r--r--src/Java/gtPlusPlus/plugin/fishing/misc/BaseFishTypes.java4
-rw-r--r--src/Java/gtPlusPlus/plugin/manager/Core_Manager.java3
-rw-r--r--src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java34
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/Modify_OreDict.java93
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java5
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java1
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java7
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java36
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java9
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java20
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/creative/MiscUtilsBOPTab.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenRainForestTree_Ex.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/computronics/HANDLER_Computronics.java (renamed from src/Java/gtPlusPlus/xmod/Computronics/HANDLER_Computronics.java)3
-rw-r--r--src/Java/gtPlusPlus/xmod/eio/handler/HandlerTooltip_EIO.java33
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/blocks/FR_BlockRegistry.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/custom/CustomCombs.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bee_Definition.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/gui/ContainerBeeHouse.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/gui/GuiBeeHouse.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/inventory/InventoryDenseBeeHouse.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/items/FR_ItemRegistry.java18
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_FrameType.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_ItemFrame.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/recipe/FR_Gregtech_Recipes.java29
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/bees/tileentities/TileDenseBeeHouse.java20
-rw-r--r--src/Java/gtPlusPlus/xmod/forestry/trees/TreefarmManager.java140
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java26
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechTextures.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_AdvancedBoiler.java15
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_DeluxeTank.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IndustrialCentrifuge.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IronBlastFurnace.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MatterFab.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MultiMachine.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SafeBlock.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SolarGenerator.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SteamCondenser.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SuperChest.java13
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_AdvancedBoiler.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_DeluxeTank.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IndustrialCentrifuge.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IronBlastFurnace.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MatterFab.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SafeBlock.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SolarGenerator.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SteamCondenser.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SuperChest.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_2by2.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_4by4.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_2by2.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_4by4.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_2by2.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_4by4.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_2by2.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_4by4.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_Generic_Item.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem.java25
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_Base.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaTool.java35
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/items/tools/GT_MetaGenTool.java26
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Base.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_HardHammer.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Wrench.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeMachine.java23
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeTank.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java63
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaPipeEntityBase_Cable.java28
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java163
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechDoubleFuelGeneratorBase.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaBoilerBase.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaSolarGenerator.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaSafeBlockBase.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaTreeFarmerBase.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechFluid.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechItemData.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/recipe/ProcessingSkookumChoocherToolRecipes.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/util/GTPP_Config.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechRecipeRegistrator.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Boulder.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_GT_Ore_Layer.java47
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore_Normal.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java9
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksAbstract.java15
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaItemCasingsAbstract.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java118
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech58.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech59.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java42
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java23
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/CraftingHelper.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java769
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Container.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Utils.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java22
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Prospecting_Ex.java18
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java15
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java50
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java39
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_HV.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_LV.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_MV.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Solar.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java13
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityDoubleFuelGeneratorBase.java9
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java9
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntitySolarGenerator.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java98
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_WorldAccelerator.java25
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaCondensor.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java30
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java21
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java26
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_AutoCrafter.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_ThermalBoiler.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_NuclearReactor.java13
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_TeslaTower.java34
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityAnimalFarm.java380
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityGeneratorArray.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java277
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_CatalyticReactor.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Cyclotron.java44
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCentrifuge.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCokeOven.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialElectrolyzer.java15
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialExtruder.java244
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java22
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMultiMachine.java828
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialPlatePress.java20
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSinter.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java15
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java21
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWireMill.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IronBlastFurnace.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MassFabricator.java38
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MultiTank.java20
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_PowerSubStationController.java499
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Refinery.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform1.java47
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform2.java48
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java593
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredChest.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Compartment.java13
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Desk.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java24
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java56
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java62
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java31
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java453
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_AssemblyLine.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_CokeOven.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_Dehydrator.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBedrockPlatforms.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java64
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java38
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java26
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java25
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java9
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperTanks.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/FishTrapHandler.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_New.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_Old.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/BlockRTG.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/TileEntityRTG.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/CONTAINER_RTG.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/GUI_RTG.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_BlockKineticGenerator.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_TEComponent.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/container/ContainerKineticWindgenerator.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/gui/GuiKineticWindGenerator.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/tileentity/TileEntityKineticWindGenerator.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradual.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemIC2.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/item/ItemGenerators.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java39
-rw-r--r--src/Java/gtPlusPlus/xmod/mekanism/HANDLER_Mekanism.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/HANDLER_Thaumcraft.java38
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/aspect/GTPP_AspectCompat.java162
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/aspect/GTPP_Aspects.java77
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/common/ItemBlockThaumcraft.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastArcaneAlembic.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TCTileEntities.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastArcaneAlembic.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/gui/ContainerFastAlchemyFurnace.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/gui/GuiFastAlchemyFurnace.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/util/ThaumcraftUtils.java248
-rw-r--r--src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java18
-rw-r--r--src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Ender.java14
-rw-r--r--src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java16
-rw-r--r--src/Java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/thermalfoundation/item/TF_Items.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/tinkers/HANDLER_Tinkers.java34
-rw-r--r--src/Java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java99
667 files changed, 13241 insertions, 5954 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index b06ca00752..a755db9496 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -1,8 +1,6 @@
package gtPlusPlus;
-import static gtPlusPlus.api.objects.ChunkManager.mChunkLoaderManagerMap;
-import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustomCapes;
-import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableUpdateChecker;
+import static gtPlusPlus.core.lib.CORE.ConfigSwitches.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -16,45 +14,43 @@ import cpw.mods.fml.common.event.*;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.launchwrapper.Launch;
+
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.Recipe_GT;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
-import gtPlusPlus.api.analytics.SegmentAnalytics;
-import gtPlusPlus.api.analytics.SegmentHelper;
-import gtPlusPlus.api.objects.ChunkManager;
-import gtPlusPlus.api.objects.DimChunkPos;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.ChunkManager;
import gtPlusPlus.core.commands.CommandMath;
import gtPlusPlus.core.common.CommonProxy;
import gtPlusPlus.core.config.ConfigHandler;
import gtPlusPlus.core.handler.BookHandler;
import gtPlusPlus.core.handler.Recipes.RegistrationHandler;
+import gtPlusPlus.core.handler.analytics.SegmentAnalytics;
+import gtPlusPlus.core.handler.analytics.SegmentHelper;
import gtPlusPlus.core.handler.events.BlockEventHandler;
import gtPlusPlus.core.handler.events.LoginEventHandler;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.Triplet;
-import gtPlusPlus.core.util.geo.GeoUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.networking.NetworkUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.data.LocaleUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.core.util.sys.GeoUtils;
+import gtPlusPlus.core.util.sys.NetworkUtils;
import gtPlusPlus.plugin.manager.Core_Manager;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools;
-import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntityChunkLoader;
import gtPlusPlus.xmod.gregtech.loaders.GT_Material_Loader;
-import net.minecraft.launchwrapper.Launch;
-import net.minecraft.world.chunk.Chunk;
-import net.minecraftforge.common.ForgeChunkManager;
-import net.minecraftforge.common.ForgeChunkManager.Ticket;
+import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Recycling;
import net.minecraftforge.oredict.OreDictionary;
@MCVersion(value = "1.7.10")
-@Mod(modid = CORE.MODID, name = CORE.name, version = CORE.VERSION, dependencies = "required-after:Forge; after:PlayerAPI; after:dreamcraft; after:IC2; after:ihl; after:psychedelicraft; after:gregtech; after:Forestry; after:MagicBees; after:CoFHCore; after:Growthcraft; after:Railcraft; after:CompactWindmills; after:ForbiddenMagic; after:MorePlanet; after:PneumaticCraft; after:ExtraUtilities; after:Thaumcraft; after:rftools; after:simplyjetpacks; after:BigReactors; after:EnderIO; after:tectech; after:GTRedtech; after:beyondrealitycore;")
+@Mod(modid = CORE.MODID, name = CORE.name, version = CORE.VERSION, dependencies = "required-after:Forge; after:TConstruct; after:PlayerAPI; after:dreamcraft; after:IC2; after:ihl; after:psychedelicraft; after:gregtech; after:Forestry; after:MagicBees; after:CoFHCore; after:Growthcraft; after:Railcraft; after:CompactWindmills; after:ForbiddenMagic; after:MorePlanet; after:PneumaticCraft; after:ExtraUtilities; after:Thaumcraft; after:rftools; after:simplyjetpacks; after:BigReactors; after:EnderIO; after:tectech; after:GTRedtech; after:beyondrealitycore; after:OpenBlocks; after:IC2NuclearControl; after:TGregworks;")
public class GTplusplus implements ActionListener {
//Mod Instance
@@ -134,6 +130,11 @@ public class GTplusplus implements ActionListener {
BlockEventHandler.fluoriteOre = FLUORIDES.FLUORITE.getOre(1);
Core_Manager.init();
+ //Used by foreign players to generate .lang files for translation.
+ if (CORE.ConfigSwitches.dumpItemAndBlockData) {
+ LocaleUtils.generateFakeLocaleFile();
+ }
+
}
// Post-Init
@@ -142,12 +143,13 @@ public class GTplusplus implements ActionListener {
proxy.postInit(event);
BookHandler.runLater();
Core_Manager.postInit();
+ RecipeGen_Recycling.executeGenerators();
+
Logger.INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Logger.INFO("| Recipes succesfully Loaded: " + RegistrationHandler.recipesSuccess + " | Failed: "
+ RegistrationHandler.recipesFailed + " |");
Logger.INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Logger.INFO("Finally, we are finished. Have some cripsy bacon as a reward.");
- dumpGtRecipeMap(Recipe_GT.Gregtech_Recipe_Map.sSlowFusion2Recipes);
}
@EventHandler
@@ -158,10 +160,10 @@ public class GTplusplus implements ActionListener {
@EventHandler
public void serverStarting(final FMLServerStartingEvent event) {
event.registerServerCommand(new CommandMath());
-
+
//Chunk Loading
Timer h = ChunkManager.createChunkQueue();
-
+
}
@@ -255,4 +257,4 @@ public class GTplusplus implements ActionListener {
//Force - Alloying
mGregMatLoader.enableMaterial(Materials.Force);
}
-} \ No newline at end of file
+}
diff --git a/src/Java/gtPlusPlus/api/damage/DamageTeslaTower.java b/src/Java/gtPlusPlus/api/damage/DamageTeslaTower.java
index ada2ba5c3d..f35c9cbc6b 100644
--- a/src/Java/gtPlusPlus/api/damage/DamageTeslaTower.java
+++ b/src/Java/gtPlusPlus/api/damage/DamageTeslaTower.java
@@ -5,6 +5,8 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.IChatComponent;
+import gtPlusPlus.core.world.damage.BaseCustomDamageSource;
+
public class DamageTeslaTower extends BaseCustomDamageSource{
public DamageTeslaTower(Entity transmitter) {
diff --git a/src/Java/gtPlusPlus/core/util/Quality.java b/src/Java/gtPlusPlus/api/enums/Quality.java
index 3e13409a10..050f335b5e 100644
--- a/src/Java/gtPlusPlus/core/util/Quality.java
+++ b/src/Java/gtPlusPlus/api/enums/Quality.java
@@ -1,8 +1,9 @@
-package gtPlusPlus.core.util;
+package gtPlusPlus.api.enums;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.util.EnumChatFormatting;
+import gtPlusPlus.core.util.math.MathUtils;
+
public enum Quality {
// Magic Blue
diff --git a/src/Java/gtPlusPlus/api/objects/MaterialHelper.java b/src/Java/gtPlusPlus/api/helpers/MaterialHelper.java
index d63ab7a15a..0acee40a0f 100644
--- a/src/Java/gtPlusPlus/api/objects/MaterialHelper.java
+++ b/src/Java/gtPlusPlus/api/helpers/MaterialHelper.java
@@ -1,10 +1,12 @@
-package gtPlusPlus.api.objects;
+package gtPlusPlus.api.helpers;
+
+import net.minecraft.item.ItemStack;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class MaterialHelper {
diff --git a/src/Java/gtPlusPlus/api/interfaces/IEntityCatcher.java b/src/Java/gtPlusPlus/api/interfaces/IEntityCatcher.java
index ca2d80de53..5ab90d47ce 100644
--- a/src/Java/gtPlusPlus/api/interfaces/IEntityCatcher.java
+++ b/src/Java/gtPlusPlus/api/interfaces/IEntityCatcher.java
@@ -1,10 +1,11 @@
package gtPlusPlus.api.interfaces;
-import gtPlusPlus.core.util.array.BlockPos;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+
public interface IEntityCatcher {
public boolean hasEntity(ItemStack aStack);
diff --git a/src/Java/gtPlusPlus/api/interfaces/IGregtechPower.java b/src/Java/gtPlusPlus/api/interfaces/IGregtechPower.java
new file mode 100644
index 0000000000..5f624e7a8c
--- /dev/null
+++ b/src/Java/gtPlusPlus/api/interfaces/IGregtechPower.java
@@ -0,0 +1,147 @@
+package gtPlusPlus.api.interfaces;
+
+import net.minecraft.block.Block;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+import gregtech.api.interfaces.IDescribable;
+import gregtech.api.interfaces.tileentity.*;
+
+import gtPlusPlus.core.tileentities.base.TilePoweredGT;
+
+public abstract interface IGregtechPower extends IGearEnergyTileEntity, ITurnable, IGregTechDeviceInformation, IDescribable, IBasicEnergyContainer {
+
+ @Override
+ public String[] getDescription();
+
+ @Override
+ default boolean isUniversalEnergyStored(long p0) {
+ return false;
+ }
+
+ @Override
+ public long getOutputAmperage();
+
+ @Override
+ public long getOutputVoltage();
+
+ @Override
+ public long getInputAmperage();
+
+ @Override
+ public long getInputVoltage();
+
+ @Override
+ public boolean decreaseStoredEnergyUnits(long p0, boolean p1);
+
+ @Override
+ public boolean increaseStoredEnergyUnits(long p0, boolean p1);
+
+ @Override
+ public boolean drainEnergyUnits(byte p0, long p1, long p2);
+
+ @Override
+ public long getAverageElectricInput();
+
+ @Override
+ public long getAverageElectricOutput();
+
+ @Override
+ public long getStoredEU();
+
+ @Override
+ public long getEUCapacity();
+
+ @Override
+ public long getStoredSteam();
+
+ @Override
+ public long getSteamCapacity();
+
+ @Override
+ public boolean increaseStoredSteam(long p0, boolean p1);
+
+ @Override
+ public Block getBlockAtSide(byte p0);
+
+ @Override
+ public Block getBlockAtSideAndDistance(byte p0, int p1);
+
+ @Override
+ public Block getBlockOffset(int p0, int p1, int p2);
+
+
+ @Override
+ public TileEntity getTileEntity(int p0, int p1, int p2);
+
+ @Override
+ public TileEntity getTileEntityAtSide(byte p0);
+
+ @Override
+ public TileEntity getTileEntityAtSideAndDistance(byte p0, int p1);
+
+ @Override
+ public TileEntity getTileEntityOffset(int p0, int p1, int p2);
+
+ @Override
+ public World getWorld();
+
+ @Override
+ public int getXCoord();
+
+ @Override
+ public short getYCoord();
+
+ @Override
+ public int getZCoord();
+
+ @Override
+ public boolean isClientSide();
+
+ @Override
+ public boolean isDead();
+
+ @Override
+ public boolean isInvalidTileEntity();
+
+ @Override
+ public boolean isServerSide();
+
+ @Override
+ public void readFromNBT(NBTTagCompound p0);
+
+ @Override
+ public void writeToNBT(NBTTagCompound p0);
+
+ @Override
+ public boolean acceptsRotationalEnergy(byte p0);
+
+ @Override
+ public boolean injectRotationalEnergy(byte p0, long p1, long p2);
+
+ @Override
+ public long injectEnergyUnits(byte p0, long p1, long p2);
+
+ @Override
+ public boolean inputEnergyFrom(byte p0);
+
+ @Override
+ public boolean outputsEnergyTo(byte p0);
+
+ @Override
+ public String[] getInfoData();
+
+ @Override
+ default public boolean isGivingInformation() {
+ return true;
+ }
+
+ boolean onPreTick(TilePoweredGT tilePoweredGT, long mTickTimer2);
+
+ boolean onTick(TilePoweredGT iGregTechTileEntity, long mTickTimer2);
+
+ boolean onPostTick(TilePoweredGT iGregTechTileEntity, long mTickTimer2);
+
+
+}
diff --git a/src/Java/gtPlusPlus/api/interfaces/IPlugin.java b/src/Java/gtPlusPlus/api/interfaces/IPlugin.java
index 3ac960eaf2..99c71a5823 100644
--- a/src/Java/gtPlusPlus/api/interfaces/IPlugin.java
+++ b/src/Java/gtPlusPlus/api/interfaces/IPlugin.java
@@ -1,12 +1,6 @@
package gtPlusPlus.api.interfaces;
-import gtPlusPlus.plugin.manager.Core_Manager;
-
public interface IPlugin {
-
- public default void register() {
- Core_Manager.registerPlugin(this);
- }
public String getPluginName();
diff --git a/src/Java/gtPlusPlus/api/interfaces/ITexturedBlock.java b/src/Java/gtPlusPlus/api/interfaces/ITexturedBlock.java
index 3a4b8f188c..47e692bffb 100644
--- a/src/Java/gtPlusPlus/api/interfaces/ITexturedBlock.java
+++ b/src/Java/gtPlusPlus/api/interfaces/ITexturedBlock.java
@@ -1,8 +1,9 @@
package gtPlusPlus.api.interfaces;
+import net.minecraft.block.Block;
+
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ITexturedTileEntity;
-import net.minecraft.block.Block;
public interface ITexturedBlock extends ITexturedTileEntity{
diff --git a/src/Java/gtPlusPlus/api/objects/Logger.java b/src/Java/gtPlusPlus/api/objects/Logger.java
index 1ecdaa9e86..2c50f0c15e 100644
--- a/src/Java/gtPlusPlus/api/objects/Logger.java
+++ b/src/Java/gtPlusPlus/api/objects/Logger.java
@@ -4,6 +4,7 @@ import org.apache.logging.log4j.LogManager;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.relauncher.FMLRelaunchLog;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.proxy.ClientProxy;
diff --git a/src/Java/gtPlusPlus/core/util/array/AutoMap.java b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java
index ea5e1dd25e..e5b5ded0ad 100644
--- a/src/Java/gtPlusPlus/core/util/array/AutoMap.java
+++ b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.array;
+package gtPlusPlus.api.objects.data;
import java.io.Serializable;
import java.util.*;
@@ -52,7 +52,7 @@ public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable {
return mInternalMap.size();
}
- public synchronized int hashcode(){
+ public synchronized int hashCode(){
return mInternalMap.hashCode();
}
@@ -73,5 +73,12 @@ public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable {
this.mInternalMap.clear();
return true;
}
+
+ public synchronized V[] toArray() {
+ Collection<V> col = this.mInternalMap.values();
+ @SuppressWarnings("unchecked")
+ V[] val = (V[]) col.toArray();
+ return val;
+ }
}
diff --git a/src/Java/gtPlusPlus/core/util/array/Pair.java b/src/Java/gtPlusPlus/api/objects/data/Pair.java
index 1d2c0ef7cb..6ab781cf1e 100644
--- a/src/Java/gtPlusPlus/core/util/array/Pair.java
+++ b/src/Java/gtPlusPlus/api/objects/data/Pair.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.array;
+package gtPlusPlus.api.objects.data;
import java.io.Serializable;
diff --git a/src/Java/gtPlusPlus/core/util/array/Quad.java b/src/Java/gtPlusPlus/api/objects/data/Quad.java
index 417c3b6ebc..01c62e95e6 100644
--- a/src/Java/gtPlusPlus/core/util/array/Quad.java
+++ b/src/Java/gtPlusPlus/api/objects/data/Quad.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.array;
+package gtPlusPlus.api.objects.data;
public class Quad<K,V,C,R> {
diff --git a/src/Java/gtPlusPlus/core/util/array/Triplet.java b/src/Java/gtPlusPlus/api/objects/data/Triplet.java
index 01f836ae72..affb03d868 100644
--- a/src/Java/gtPlusPlus/core/util/array/Triplet.java
+++ b/src/Java/gtPlusPlus/api/objects/data/Triplet.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.array;
+package gtPlusPlus.api.objects.data;
public class Triplet<K,V,C> {
diff --git a/src/Java/gtPlusPlus/api/objects/minecraft/BlockPos.java b/src/Java/gtPlusPlus/api/objects/minecraft/BlockPos.java
new file mode 100644
index 0000000000..5f0d3a2117
--- /dev/null
+++ b/src/Java/gtPlusPlus/api/objects/minecraft/BlockPos.java
@@ -0,0 +1,222 @@
+package gtPlusPlus.api.objects.minecraft;
+
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.world.World;
+
+import gtPlusPlus.api.objects.data.AutoMap;
+import net.minecraftforge.common.DimensionManager;
+
+public class BlockPos implements Serializable{
+
+ private static final long serialVersionUID = -7271947491316682006L;
+ public final int xPos;
+ public final int yPos;
+ public final int zPos;
+ public final int dim;
+ public final World world;
+
+ public BlockPos(int x, int y, int z){
+ this(x, y, z, 0);
+ }
+
+ public BlockPos(int x, int y, int z, int dim){
+ this.xPos = x;
+ this.yPos = y;
+ this.zPos = z;
+ this.dim = dim;
+ this.world = DimensionManager.getWorld(dim);
+ }
+
+ public BlockPos(int x, int y, int z, World dim){
+ this.xPos = x;
+ this.yPos = y;
+ this.zPos = z;
+ this.dim = dim.provider.dimensionId;
+ this.world = dim;
+ }
+
+ public String getLocationString() {
+ return "[X: "+this.xPos+"][Y: "+this.yPos+"][Z: "+this.zPos+"][Dim: "+this.dim+"]";
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 5;
+ hash += (13 * this.xPos);
+ hash += (19 * this.yPos);
+ hash += (31 * this.zPos);
+ hash += (17 * this.dim);
+ return hash;
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null) {
+ return false;
+ }
+ if (other == this) {
+ return true;
+ }
+ if(!(other instanceof BlockPos)) {
+ return false;
+ }
+ BlockPos otherPoint = (BlockPos)other;
+ return this.xPos == otherPoint.xPos && this.yPos == otherPoint.yPos && this.zPos == otherPoint.zPos && this.dim == otherPoint.dim;
+ }
+
+ public int distanceFrom(BlockPos target) {
+ if (target.dim != this.dim) {
+ return Short.MIN_VALUE;
+ }
+ return distanceFrom(target.xPos, target.yPos, target.zPos);
+ }
+
+ /**
+ *
+ * @param x X coordinate of target.
+ * @param y Y coordinate of target.
+ * @param z Z coordinate of target.
+ * @return square of distance
+ */
+ public int distanceFrom(int x, int y, int z) {
+ int distanceX = this.xPos - x;
+ int distanceY = this.yPos - y;
+ int distanceZ = this.zPos - z;
+ return distanceX * distanceX + distanceY * distanceY + distanceZ * distanceZ;
+ }
+
+ public boolean isWithinRange(BlockPos target, int range) {
+ if (target.dim != this.dim) {
+ return false;
+ }
+ return isWithinRange(target.xPos, target.yPos, target.zPos, range);
+ }
+
+ public boolean isWithinRange(int x, int y, int z, int range) {
+ return distanceFrom(x, y, z) <= (range * range);
+ }
+
+
+ public BlockPos getUp() {
+ return new BlockPos(this.xPos, this.yPos+1, this.zPos, this.dim);
+ }
+
+ public BlockPos getDown() {
+ return new BlockPos(this.xPos, this.yPos-1, this.zPos, this.dim);
+ }
+
+ public BlockPos getXPos() {
+ return new BlockPos(this.xPos+1, this.yPos, this.zPos, this.dim);
+ }
+
+ public BlockPos getXNeg() {
+ return new BlockPos(this.xPos-1, this.yPos, this.zPos, this.dim);
+ }
+
+ public BlockPos getZPos() {
+ return new BlockPos(this.xPos, this.yPos, this.zPos+1, this.dim);
+ }
+
+ public BlockPos getZNeg() {
+ return new BlockPos(this.xPos, this.yPos, this.zPos-1, this.dim);
+ }
+
+ public AutoMap<BlockPos> getSurroundingBlocks(){
+ AutoMap<BlockPos> sides = new AutoMap<BlockPos>();
+ sides.put(getUp());
+ sides.put(getDown());
+ sides.put(getXPos());
+ sides.put(getXNeg());
+ sides.put(getZPos());
+ sides.put(getZNeg());
+ return sides;
+ }
+
+ public Block getBlockAtPos() {
+ return getBlockAtPos(this);
+ }
+
+ public Block getBlockAtPos(BlockPos pos) {
+ return getBlockAtPos(world, pos);
+ }
+
+ public Block getBlockAtPos(World world, BlockPos pos) {
+ return world.getBlock(pos.xPos, pos.yPos, pos.zPos);
+ }
+
+ public int getMetaAtPos() {
+ return getMetaAtPos(this);
+ }
+
+ public int getMetaAtPos(BlockPos pos) {
+ return getMetaAtPos(world, pos);
+ }
+
+ public int getMetaAtPos(World world, BlockPos pos) {
+ return world.getBlockMetadata(pos.xPos, pos.yPos, pos.zPos);
+ }
+
+ public boolean hasSimilarNeighbour() {
+ return hasSimilarNeighbour(false);
+ }
+
+ /**
+ * @param strict - Does this check Meta Data?
+ * @return - Does this block have a neighbour that is the same?
+ */
+ public boolean hasSimilarNeighbour(boolean strict) {
+ for (BlockPos g : getSurroundingBlocks().values()) {
+ if (getBlockAtPos(g) == getBlockAtPos()) {
+ if (!strict) {
+ return true;
+ }
+ else {
+ if (getMetaAtPos() == getMetaAtPos(g)) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ public AutoMap<BlockPos> getSimilarNeighbour() {
+ return getSimilarNeighbour(false);
+ }
+
+ /**
+ * @param strict - Does this check Meta Data?
+ * @return - Does this block have a neighbour that is the same?
+ */
+ public AutoMap<BlockPos> getSimilarNeighbour(boolean strict) {
+ AutoMap<BlockPos> sides = new AutoMap<BlockPos>();
+ for (BlockPos g : getSurroundingBlocks().values()) {
+ if (getBlockAtPos(g) == getBlockAtPos()) {
+ if (!strict) {
+ sides.put(g);
+ }
+ else {
+ if (getMetaAtPos() == getMetaAtPos(g)) {
+ sides.put(g);
+ }
+ }
+ }
+ }
+ return sides;
+ }
+
+ public Set<BlockPos> getValidNeighboursAndSelf(){
+ AutoMap<BlockPos> h = getSimilarNeighbour(true);
+ h.put(this);
+ Set<BlockPos> result = new HashSet<BlockPos>();
+ for (BlockPos f : h.values()) {
+ result.add(f);
+ }
+ return result;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/api/objects/ChunkManager.java b/src/Java/gtPlusPlus/api/objects/minecraft/ChunkManager.java
index 0bace04bf8..82f3adfc9e 100644
--- a/src/Java/gtPlusPlus/api/objects/ChunkManager.java
+++ b/src/Java/gtPlusPlus/api/objects/minecraft/ChunkManager.java
@@ -6,33 +6,27 @@
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
-package gtPlusPlus.api.objects;
+package gtPlusPlus.api.objects.minecraft;
+
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
import com.google.common.collect.LinkedListMultimap;
import com.google.common.collect.ListMultimap;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.array.Triplet;
-import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntityChunkLoader;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.concurrent.ConcurrentHashMap;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import net.minecraft.world.ChunkCoordIntPair;
import net.minecraft.entity.Entity;
+import net.minecraft.world.ChunkCoordIntPair;
import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
+
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Triplet;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntityChunkLoader;
import net.minecraftforge.common.ForgeChunkManager;
-import net.minecraftforge.common.ForgeChunkManager.LoadingCallback;
-import net.minecraftforge.common.ForgeChunkManager.OrderedLoadingCallback;
-import net.minecraftforge.common.ForgeChunkManager.Ticket;
-import net.minecraftforge.common.ForgeChunkManager.Type;
+import net.minecraftforge.common.ForgeChunkManager.*;
import net.minecraftforge.event.entity.EntityEvent;
/**
diff --git a/src/Java/gtPlusPlus/api/objects/DimChunkPos.java b/src/Java/gtPlusPlus/api/objects/minecraft/DimChunkPos.java
index bea0a4ec3b..010e522a14 100644
--- a/src/Java/gtPlusPlus/api/objects/DimChunkPos.java
+++ b/src/Java/gtPlusPlus/api/objects/minecraft/DimChunkPos.java
@@ -1,6 +1,5 @@
-package gtPlusPlus.api.objects;
+package gtPlusPlus.api.objects.minecraft;
-import gtPlusPlus.core.util.array.BlockPos;
import net.minecraft.client.Minecraft;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
diff --git a/src/Java/gtPlusPlus/core/util/fluid/FluidGT6.java b/src/Java/gtPlusPlus/api/objects/minecraft/FluidGT6.java
index b09c9dd795..2535046792 100644
--- a/src/Java/gtPlusPlus/core/util/fluid/FluidGT6.java
+++ b/src/Java/gtPlusPlus/api/objects/minecraft/FluidGT6.java
@@ -1,6 +1,7 @@
-package gtPlusPlus.core.util.fluid;
+package gtPlusPlus.api.objects.minecraft;
import gregtech.api.GregTech_API;
+
import gtPlusPlus.core.lib.CORE;
import net.minecraftforge.fluids.Fluid;
diff --git a/src/Java/gtPlusPlus/api/objects/GenericStack.java b/src/Java/gtPlusPlus/api/objects/minecraft/GenericStack.java
index b3bc94364f..9c1b231961 100644
--- a/src/Java/gtPlusPlus/api/objects/GenericStack.java
+++ b/src/Java/gtPlusPlus/api/objects/minecraft/GenericStack.java
@@ -1,6 +1,7 @@
-package gtPlusPlus.api.objects;
+package gtPlusPlus.api.objects.minecraft;
import net.minecraft.item.ItemStack;
+
import net.minecraftforge.fluids.FluidStack;
public class GenericStack {
diff --git a/src/Java/gtPlusPlus/api/objects/CSPRNG_DO_NOT_USE.java b/src/Java/gtPlusPlus/api/objects/random/CSPRNG_DO_NOT_USE.java
index 19200846ca..b2dc984456 100644
--- a/src/Java/gtPlusPlus/api/objects/CSPRNG_DO_NOT_USE.java
+++ b/src/Java/gtPlusPlus/api/objects/random/CSPRNG_DO_NOT_USE.java
@@ -33,7 +33,7 @@
* http://www.opensource.org/licenses/bsd-license.php
*/
-package gtPlusPlus.api.objects;
+package gtPlusPlus.api.objects.random;
import java.math.BigInteger;
import java.security.SecureRandom;
import java.util.Random;
diff --git a/src/Java/gtPlusPlus/core/util/uuid/UUIDGenerator.java b/src/Java/gtPlusPlus/api/objects/random/UUIDGenerator.java
index 0fd2d8c6a5..fec92368f8 100644
--- a/src/Java/gtPlusPlus/core/util/uuid/UUIDGenerator.java
+++ b/src/Java/gtPlusPlus/api/objects/random/UUIDGenerator.java
@@ -1,12 +1,10 @@
-package gtPlusPlus.core.util.uuid;
+package gtPlusPlus.api.objects.random;
import java.io.IOException;
import java.net.InetAddress;
import java.util.Random;
import java.util.UUID;
-import gtPlusPlus.api.objects.CSPRNG_DO_NOT_USE;
-
/**
*
* Implement modified version of Apache's OpenJPA UUID generator.
diff --git a/src/Java/gtPlusPlus/api/objects/XSTR.java b/src/Java/gtPlusPlus/api/objects/random/XSTR.java
index 3ff0792f6e..7f83df52c4 100644
--- a/src/Java/gtPlusPlus/api/objects/XSTR.java
+++ b/src/Java/gtPlusPlus/api/objects/random/XSTR.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.api.objects;
+package gtPlusPlus.api.objects.random;
/**
* A subclass of java.util.random that implements the Xorshift random number
* generator
diff --git a/src/Java/gtPlusPlus/api/plugin/Sample_Plugin.java b/src/Java/gtPlusPlus/api/plugin/Sample_Plugin.java
new file mode 100644
index 0000000000..d2959df58d
--- /dev/null
+++ b/src/Java/gtPlusPlus/api/plugin/Sample_Plugin.java
@@ -0,0 +1,32 @@
+package gtPlusPlus.api.plugin;
+
+import gtPlusPlus.api.interfaces.IPlugin;
+import gtPlusPlus.plugin.manager.Core_Manager;
+
+public final class Sample_Plugin implements IPlugin {
+
+ public Sample_Plugin() {
+ Core_Manager.registerPlugin(this); //This must be called, else it won't load.
+ }
+
+ @Override
+ public boolean preInit() {
+ return true;
+ }
+
+ @Override
+ public boolean init() {
+ return true;
+ }
+
+ @Override
+ public boolean postInit() {
+ return true;
+ }
+
+ @Override
+ public String getPluginName() {
+ return "Sample Plugin";
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java
index 04ada83922..09bf3eb4af 100644
--- a/src/Java/gtPlusPlus/core/block/ModBlocks.java
+++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java
@@ -1,35 +1,28 @@
package gtPlusPlus.core.block;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.base.BasicBlock.BlockTypes;
import gtPlusPlus.core.block.base.BlockBaseOre;
-import gtPlusPlus.core.block.general.BlockCompressedObsidian;
-import gtPlusPlus.core.block.general.BlockNet;
-import gtPlusPlus.core.block.general.BlockTankXpConverter;
-import gtPlusPlus.core.block.general.FirePit;
-import gtPlusPlus.core.block.general.FluidTankInfinite;
-import gtPlusPlus.core.block.general.HellFire;
-import gtPlusPlus.core.block.general.LightGlass;
-import gtPlusPlus.core.block.general.MiningExplosives;
+import gtPlusPlus.core.block.general.*;
import gtPlusPlus.core.block.general.antigrief.BlockWitherProof;
-import gtPlusPlus.core.block.machine.FishTrap;
-import gtPlusPlus.core.block.machine.HeliumGenerator;
-import gtPlusPlus.core.block.machine.Machine_ModularityTable;
-import gtPlusPlus.core.block.machine.Machine_ProjectTable;
-import gtPlusPlus.core.block.machine.Machine_TradeTable;
-import gtPlusPlus.core.block.machine.Machine_Workbench;
-import gtPlusPlus.core.block.machine.Machine_WorkbenchAdvanced;
+import gtPlusPlus.core.block.machine.*;
+import gtPlusPlus.core.block.machine.bedrock.Mining_Head_Fake;
+import gtPlusPlus.core.block.machine.bedrock.Mining_Pipe_Fake;
import gtPlusPlus.core.fluids.FluidRegistryHandler;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks3;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
import net.minecraftforge.fluids.Fluid;
public final class ModBlocks {
+ public static Block blockFakeMiningPipe;
+ public static Block blockFakeMiningHead;
+
public static Block blockFishTrap;
public static Block blockWorkbench;
public static Block blockWorkbenchAdvanced;
@@ -101,6 +94,9 @@ public final class ModBlocks {
blockCompressedObsidian = new BlockCompressedObsidian();
blockNet = new BlockNet();
+ blockFakeMiningPipe = new Mining_Pipe_Fake();
+ blockFakeMiningHead = new Mining_Head_Fake();
+
}
diff --git a/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java b/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java
index d8e59f96c8..f63762a2d7 100644
--- a/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java
+++ b/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java
@@ -1,6 +1,5 @@
package gtPlusPlus.core.block.base;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
@@ -9,6 +8,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.core.lib.CORE;
+
public class AdvancedBlock extends Block {
protected AdvancedBlock(final String unlocalizedName, final Material material, final CreativeTabs x, final float blockHardness, final float blockResistance, final float blockLightLevel,
diff --git a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java
index f97763dd54..f2edf65740 100644
--- a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java
+++ b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java
@@ -1,8 +1,5 @@
package gtPlusPlus.core.block.base;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EnumCreatureType;
@@ -10,16 +7,28 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+
public class BasicBlock extends BlockContainer {
public BasicBlock(final String unlocalizedName, final Material material) {
- this(unlocalizedName, material, 2);
+ this(BlockTypes.STANDARD, unlocalizedName, material, 2);
+ }
+
+ public BasicBlock(final BlockTypes type, final String unlocalizedName, final Material material) {
+ this(type, unlocalizedName, material, 2);
}
- public BasicBlock(final String unlocalizedName, final Material material, final int harvestLevel) {
+ public BasicBlock(BlockTypes type, final String unlocalizedName, final Material material, final int harvestLevel) {
super(material);
this.setBlockName(Utils.sanitizeString(unlocalizedName));
- this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName);
+
+ if (type != BlockTypes.ORE) {
+ this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName);
+ }
+
this.setCreativeTab(AddToCreativeTab.tabBlock);
this.setHardness(2.0F);
this.setResistance(6.0F);
diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java
index 6f837e8709..49bb5aaf0c 100644
--- a/src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java
+++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java
@@ -2,22 +2,24 @@ package gtPlusPlus.core.block.base;
import java.util.Random;
-import cofh.lib.render.particle.EntityDropParticleFX;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockMeta;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+
+import cofh.lib.render.particle.EntityDropParticleFX;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockMeta;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java
index c2b77ebdae..101e568188 100644
--- a/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java
+++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java
@@ -1,120 +1,103 @@
package gtPlusPlus.core.block.base;
import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.world.IBlockAccess;
+
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.item.base.itemblock.ItemBlockGtBlock;
import gtPlusPlus.core.item.base.itemblock.ItemBlockGtFrameBox;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.world.IBlockAccess;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
-public class BlockBaseModular extends BasicBlock{
+public class BlockBaseModular extends BasicBlock {
protected Material blockMaterial;
-
+
protected int blockColour;
protected BlockTypes thisBlock;
protected String thisBlockMaterial;
protected final String thisBlockType;
public BlockBaseModular(final Material material, final BlockTypes blockType, final int colour) {
- this(material.getUnlocalizedName(), material.getLocalizedName(), net.minecraft.block.material.Material.iron, blockType, colour, 2);
+ this(material.getUnlocalizedName(), material.getLocalizedName(), net.minecraft.block.material.Material.iron,
+ blockType, colour, 2);
}
-
- public BlockBaseModular(final String unlocalizedName, final String blockMaterial, final BlockTypes blockType, final int colour) {
+
+ public BlockBaseModular(final String unlocalizedName, final String blockMaterial, final BlockTypes blockType,
+ final int colour) {
this(unlocalizedName, blockMaterial, net.minecraft.block.material.Material.iron, blockType, colour, 2);
}
- public BlockBaseModular(final String unlocalizedName, final String blockMaterial, final net.minecraft.block.material.Material vanillaMaterial, final BlockTypes blockType, final int colour, final int miningLevel) {
+ public BlockBaseModular(final String unlocalizedName, final String blockMaterial,
+ final net.minecraft.block.material.Material vanillaMaterial, final BlockTypes blockType, final int colour,
+ final int miningLevel) {
super(unlocalizedName, vanillaMaterial);
this.setHarvestLevel(blockType.getHarvestTool(), miningLevel);
- this.setBlockTextureName(CORE.MODID+":"+blockType.getTexture());
+ this.setBlockTextureName(CORE.MODID + ":" + blockType.getTexture());
this.blockColour = colour;
this.thisBlock = blockType;
this.thisBlockMaterial = blockMaterial;
this.thisBlockType = blockType.name().toUpperCase();
this.setBlockName(this.GetProperName());
- if (!CORE.DEBUG){
- //Utils.LOG_INFO("=============Block Info Dump=============");
- //Utils.LOG_INFO("thisBlock.name().toLowerCase() - "+thisBlock.name().toLowerCase());
- //Utils.LOG_INFO("This Blocks Type - "+thisBlockType);
- //Utils.LOG_INFO("BlockTypes.STANDARD.name().toLowerCase() - "+BlockTypes.STANDARD.name().toLowerCase());
- //Utils.LOG_INFO("BlockTypes.FRAME.name().toLowerCase() - "+BlockTypes.FRAME.name().toLowerCase());
- //Utils.LOG_INFO("blockMaterial - "+blockMaterial);
- //Utils.LOG_INFO("==========================================");
+ if (this.thisBlockType.equals(BlockTypes.STANDARD.name().toUpperCase())) {
+ GameRegistry.registerBlock(this, ItemBlockGtBlock.class,
+ Utils.sanitizeString(blockType.getTexture() + unlocalizedName));
+ GT_OreDictUnificator.registerOre(
+ "block" + getUnlocalizedName().replace("tile.block", "").replace("tile.", "").replace("of", "")
+ .replace("Of", "").replace("Block", "").replace("-", "").replace("_", "").replace(" ", ""),
+ ItemUtils.getSimpleStack(this));
}
-
- if (this.thisBlockType.equals(BlockTypes.STANDARD.name().toUpperCase())){
- LanguageRegistry.addName(this, "Block of "+blockMaterial);
- //Utils.LOG_INFO("Registered Block in Language Registry as: "+"Block of "+blockMaterial);
+ else if (this.thisBlockType.equals(BlockTypes.FRAME.name().toUpperCase())) {
+ GameRegistry.registerBlock(this, ItemBlockGtFrameBox.class,
+ Utils.sanitizeString(blockType.getTexture() + unlocalizedName));
+ GT_OreDictUnificator.registerOre(
+ "frameGt" + getUnlocalizedName().replace("tile.", "").replace("tile.BlockGtFrame", "")
+ .replace("-", "").replace("_", "").replace(" ", "").replace("FrameBox", ""),
+ ItemUtils.getSimpleStack(this));
}
- else if (this.thisBlockType.equals(BlockTypes.FRAME.name().toUpperCase())){
- LanguageRegistry.addName(this, blockMaterial+ " Frame Box");
- //Utils.LOG_INFO("Registered Block in Language Registry as: "+blockMaterial+ " Frame Box");
+ else if (this.thisBlockType.equals(BlockTypes.ORE.name().toUpperCase())) {
+ GameRegistry.registerBlock(this, ItemBlockGtBlock.class,
+ Utils.sanitizeString(blockType.getTexture() + unlocalizedName));
+ GT_OreDictUnificator.registerOre(
+ "block" + getUnlocalizedName().replace("tile.block", "").replace("tile.", "").replace("of", "")
+ .replace("Of", "").replace("Block", "").replace("-", "").replace("_", "").replace(" ", ""),
+ ItemUtils.getSimpleStack(this));
}
- //setOreDict(unlocalizedName, blockType);
- if (this.thisBlockType.equals(BlockTypes.STANDARD.name().toUpperCase())){
- GameRegistry.registerBlock(this, ItemBlockGtBlock.class, Utils.sanitizeString(blockType.getTexture()+unlocalizedName));
- GT_OreDictUnificator.registerOre("block"+getUnlocalizedName().replace("tile.block", "").replace("tile.", "").replace("of", "").replace("Of", "").replace("Block", "").replace("-", "").replace("_", "").replace(" ", ""), ItemUtils.getSimpleStack(this));
- //Utils.LOG_INFO("Registered Block in Block Registry as: "+"Block of "+blockMaterial);
- }
- else if (this.thisBlockType.equals(BlockTypes.FRAME.name().toUpperCase())){
- GameRegistry.registerBlock(this, ItemBlockGtFrameBox.class, Utils.sanitizeString(blockType.getTexture()+unlocalizedName));
- GT_OreDictUnificator.registerOre("frameGt"+getUnlocalizedName().replace("tile.", "").replace("tile.BlockGtFrame", "").replace("-", "").replace("_", "").replace(" ", "").replace("FrameBox", ""), ItemUtils.getSimpleStack(this));
- //Utils.LOG_INFO("Registered Block in Block Registry as: "+blockMaterial+" Frame Box");
- }
-
-
}
/**
- * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha
+ * Returns which pass should this block be rendered on. 0 for solids and 1
+ * for alpha
*/
@Override
@SideOnly(Side.CLIENT)
- public int getRenderBlockPass()
- {
- if (this.thisBlock == BlockTypes.FRAME){
+ public int getRenderBlockPass() {
+ if (this.thisBlock == BlockTypes.FRAME) {
return 1;
}
return 0;
}
- /*@Override
- public String getLocalizedName() {
- String tempIngot;
- if (thisBlock == BlockTypes.STANDARD){
- tempIngot = "Block of "+thisBlockMaterial;
- }
- else if (thisBlock == BlockTypes.FRAME){
- tempIngot = thisBlockMaterial + " Frame Box";
- }
- else {
-
- tempIngot = getUnlocalizedName().replace("tile.blockGt", "ingot");
- }
- return tempIngot;
- }*/
-
public String GetProperName() {
String tempIngot;
- if (this.thisBlock == BlockTypes.STANDARD){
- tempIngot = "Block of "+this.thisBlockMaterial;
+ if (this.thisBlock == BlockTypes.STANDARD) {
+ tempIngot = "Block of " + this.thisBlockMaterial;
}
- else if (this.thisBlock == BlockTypes.FRAME){
+ else if (this.thisBlock == BlockTypes.FRAME) {
tempIngot = this.thisBlockMaterial + " Frame Box";
}
- else if (this.thisBlock == BlockTypes.ORE){
- tempIngot = this.thisBlockMaterial + " Ore";
+ else if (this.thisBlock == BlockTypes.ORE) {
+ tempIngot = this.thisBlockMaterial + " Ore [Old]";
}
else {
@@ -124,22 +107,22 @@ public class BlockBaseModular extends BasicBlock{
}
@Override
- public boolean isOpaqueCube()
- {
+ public boolean isOpaqueCube() {
return false;
}
@Override
@SideOnly(Side.CLIENT)
- public void registerBlockIcons(final IIconRegister iIcon)
- {
- this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + this.thisBlock.getTexture());
+ public void registerBlockIcons(final IIconRegister iIcon) {
+ if (this.thisBlock != BlockTypes.ORE) {
+ this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + this.thisBlock.getTexture());
+ }
}
@Override
- public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4){
+ public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4) {
- if (this.blockColour == 0){
+ if (this.blockColour == 0) {
return MathUtils.generateSingularRandomHexValue();
}
@@ -148,7 +131,7 @@ public class BlockBaseModular extends BasicBlock{
@Override
public int getRenderColor(final int aMeta) {
- if (this.blockColour == 0){
+ if (this.blockColour == 0) {
return MathUtils.generateSingularRandomHexValue();
}
diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseNBT.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseNBT.java
index da308e270b..e4dff82ec4 100644
--- a/src/Java/gtPlusPlus/core/block/base/BlockBaseNBT.java
+++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseNBT.java
@@ -1,11 +1,9 @@
package gtPlusPlus.core.block.base;
import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockNBT;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
@@ -17,6 +15,9 @@ import net.minecraft.world.Explosion;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockNBT;
+
public abstract class BlockBaseNBT extends BlockContainer
{
@SideOnly(Side.CLIENT)
@@ -32,7 +33,7 @@ public abstract class BlockBaseNBT extends BlockContainer
this.setBlockName(unlocalName);
this.setCreativeTab(AddToCreativeTab.tabMachines);
GameRegistry.registerBlock(this, ItemBlockNBT.class, unlocalName);
- LanguageRegistry.addName(this, displayName);
+ //LanguageRegistry.addName(this, displayName);
}
/**
diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java
index 2bea09d806..28a209118e 100644
--- a/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java
+++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java
@@ -3,10 +3,13 @@ package gtPlusPlus.core.block.base;
import java.lang.reflect.Field;
import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.common.registry.LanguageRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.enums.Materials;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.init.Blocks;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
@@ -14,6 +17,7 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.objects.GT_CopiedBlockTexture;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.interfaces.ITexturedBlock;
import gtPlusPlus.core.client.renderer.CustomOreBlockRenderer;
import gtPlusPlus.core.creative.AddToCreativeTab;
@@ -21,22 +25,15 @@ import gtPlusPlus.core.item.base.itemblock.ItemBlockOre;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.EnumCreatureType;
-import net.minecraft.init.Blocks;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
private final Material blockMaterial;
-
+
public BlockBaseOre(final Material material, final BlockTypes blockType, final int colour) {
- super(Utils.sanitizeString(material.getUnlocalizedName()), net.minecraft.block.material.Material.rock);
+ super(blockType, Utils.sanitizeString(material.getUnlocalizedName()), net.minecraft.block.material.Material.rock);
this.blockMaterial = material;
this.setHardness(2.0f);
this.setResistance(6.0F);
@@ -45,15 +42,9 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
this.setCreativeTab(AddToCreativeTab.tabBlock);
this.setStepSound(soundTypeStone);
this.setBlockName("Ore"+Utils.sanitizeString(Utils.sanitizeString(material.getUnlocalizedName())));
-
-
- //this.setBlockTextureName(CORE.MODID+":"+blockType.getTexture());
- //this.setBlockName(this.blockMaterial.getLocalizedName()+" Ore");
-
try {
GameRegistry.registerBlock(this, ItemBlockOre.class, Utils.sanitizeString("ore"+Utils.sanitizeString(this.blockMaterial.getLocalizedName())));
GT_OreDictUnificator.registerOre("ore"+Utils.sanitizeString(this.blockMaterial.getLocalizedName()), ItemUtils.getSimpleStack(this));
- LanguageRegistry.addName(this, blockMaterial.getLocalizedName()+ " Ore");
}
catch (Throwable t){
t.printStackTrace();
@@ -89,7 +80,7 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
*/
//.08 compat
- IIconContainer[] hiddenTextureArray;
+ public static IIconContainer[] hiddenTextureArray;
public ITexture[] getTexture(byte arg0) {
return getTexture(null, arg0);
}
@@ -98,7 +89,6 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
if (this.blockMaterial != null){
GT_RenderedTexture aIconSet = new GT_RenderedTexture(blockMaterial.getTextureSet().mTextures[OrePrefixes.ore.mTextureIndex], this.blockMaterial.getRGBA());
if (aIconSet != null){
- //Logger.INFO("[Render] Good Overlay.");
return new ITexture[]{new GT_CopiedBlockTexture(Blocks.stone, 0, 0), aIconSet};
}
}
@@ -111,30 +101,21 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
try {
Field o = ReflectionUtils.getField(Textures.BlockIcons.class, "STONES");
if (o != null){
- hiddenTextureArray = (IIconContainer[]) o.get(Textures.BlockIcons.class);
- if (hiddenTextureArray != null){
- //Found
- }
- else {
- hiddenTextureArray = new IIconContainer[6];
- }
+ hiddenTextureArray = (IIconContainer[]) o.get(Textures.BlockIcons.class);
+ }
+ if (hiddenTextureArray == null){
+ hiddenTextureArray = new IIconContainer[6];
}
}
catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
+ hiddenTextureArray = new IIconContainer[6];
}
}
}
-
- //return new ITexture[]{new GT_RenderedTexture(Textures.BlockIcons.STONES[0], new short[]{240, 240, 240, 0})};
- return new ITexture[]{new GT_RenderedTexture(hiddenTextureArray[0], new short[]{240, 240, 240, 0})};
+ return new ITexture[]{new GT_RenderedTexture(hiddenTextureArray[0], new short[]{240, 240, 240, 0})};
}
- public static class oldOreBlock extends BlockBaseModular{
-
- @SuppressWarnings("unused")
- private IIcon base;
- @SuppressWarnings("unused")
- private IIcon overlay;
+ public static class oldOreBlock extends BlockBaseModular implements ITexturedBlock{
public oldOreBlock(final String unlocalizedName, final String blockMaterial, final BlockTypes blockType, final int colour) {
this(unlocalizedName, blockMaterial, net.minecraft.block.material.Material.iron, blockType, colour, 2);
@@ -144,7 +125,7 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
super(unlocalizedName, blockMaterial, vanillaMaterial, blockType, colour, miningLevel);
}
- @Override
+ /*@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(final IIconRegister iIcon)
{
@@ -167,11 +148,66 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
return MathUtils.generateSingularRandomHexValue();
}
return this.blockColour;
- }
+ }*/
@Override
public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) {
return false;
+ }
+
+ @Override
+ public int getRenderType() {
+ return CustomOreBlockRenderer.INSTANCE.mRenderID;
+ }
+
+ @Override
+ public IIcon getIcon(IBlockAccess aIBlockAccess, int aX, int aY, int aZ, int aSide) {
+ return Blocks.stone.getIcon(0, 0);
+ }
+
+ @Override
+ public IIcon getIcon(int aSide, int aMeta) {
+ return Blocks.stone.getIcon(0, 0);
+ }
+
+ /**
+ * GT Texture Handler
+ */
+
+ //.08 compat
+ IIconContainer[] hiddenTextureArray;
+ public ITexture[] getTexture(byte arg0) {
+ return getTexture(null, arg0);
+ }
+
+ public ITexture[] getTexture(Block block, byte side) {
+ if (this.blockMaterial != null){
+ GT_RenderedTexture aIconSet = new GT_RenderedTexture(blockMaterial.getTextureSet().mTextures[OrePrefixes.ore.mTextureIndex], this.blockMaterial.getRGBA());
+ if (aIconSet != null){
+ return new ITexture[]{new GT_CopiedBlockTexture(Blocks.stone, 0, 0), aIconSet};
+ }
+ }
+
+ if (hiddenTextureArray == null){
+ if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
+ hiddenTextureArray = Textures.BlockIcons.GRANITES;
+ }
+ else {
+ try {
+ Field o = ReflectionUtils.getField(Textures.BlockIcons.class, "STONES");
+ if (o != null){
+ hiddenTextureArray = (IIconContainer[]) o.get(Textures.BlockIcons.class);
+ }
+ if (hiddenTextureArray == null){
+ hiddenTextureArray = new IIconContainer[6];
+ }
+ }
+ catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
+ hiddenTextureArray = new IIconContainer[6];
+ }
+ }
+ }
+ return new ITexture[]{new GT_RenderedTexture(hiddenTextureArray[0], new short[]{240, 240, 240, 0})};
}
}
diff --git a/src/Java/gtPlusPlus/core/block/base/MultiTextureBlock.java b/src/Java/gtPlusPlus/core/block/base/MultiTextureBlock.java
index 4e91509c6e..a04bf841ba 100644
--- a/src/Java/gtPlusPlus/core/block/base/MultiTextureBlock.java
+++ b/src/Java/gtPlusPlus/core/block/base/MultiTextureBlock.java
@@ -1,12 +1,13 @@
package gtPlusPlus.core.block.base;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+
public class MultiTextureBlock extends Block {
public IIcon[] icons = new IIcon[6];
diff --git a/src/Java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java b/src/Java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java
index 879f932165..03ca846b7d 100644
--- a/src/Java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java
+++ b/src/Java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java
@@ -7,9 +7,7 @@ import java.util.Random;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockMeta;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.block.BlockObsidian;
import net.minecraft.block.material.MapColor;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -19,6 +17,10 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockMeta;
+import gtPlusPlus.core.lib.CORE;
+
public class BlockCompressedObsidian extends BlockObsidian {
private final IIcon textureArray[] = new IIcon[6];
diff --git a/src/Java/gtPlusPlus/core/block/general/BlockNet.java b/src/Java/gtPlusPlus/core/block/general/BlockNet.java
index 26871662b2..1f0f145392 100644
--- a/src/Java/gtPlusPlus/core/block/general/BlockNet.java
+++ b/src/Java/gtPlusPlus/core/block/general/BlockNet.java
@@ -4,13 +4,15 @@ import java.util.Random;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.ModItems;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.block.BlockWeb;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.Item;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.lib.CORE;
+
public class BlockNet extends BlockWeb{
public BlockNet(){
diff --git a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java
index ea55a9177d..bab2ecc349 100644
--- a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java
+++ b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java
@@ -8,15 +8,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.common.items.GT_MetaGenerated_Tool_01;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockEntityBase;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.general.TileEntityXpConverter;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.Triplet;
-import gtPlusPlus.core.util.enchanting.EnchantingUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -29,6 +21,17 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gregtech.common.items.GT_MetaGenerated_Tool_01;
+
+import gtPlusPlus.api.objects.data.Triplet;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockEntityBase;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.general.TileEntityXpConverter;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.EnchantingUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+
public class BlockTankXpConverter extends BlockContainer {
@SideOnly(Side.CLIENT)
diff --git a/src/Java/gtPlusPlus/core/block/general/FirePit.java b/src/Java/gtPlusPlus/core/block/general/FirePit.java
index cf24025124..6f35715c48 100644
--- a/src/Java/gtPlusPlus/core/block/general/FirePit.java
+++ b/src/Java/gtPlusPlus/core/block/general/FirePit.java
@@ -9,9 +9,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.block.base.BasicBlock;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.tileentities.general.TileEntityFirepit;
+
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -22,6 +20,10 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+
+import gtPlusPlus.core.block.base.BasicBlock;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.tileentities.general.TileEntityFirepit;
import net.minecraftforge.common.util.ForgeDirection;
public class FirePit extends BasicBlock{
diff --git a/src/Java/gtPlusPlus/core/block/general/FluidTankInfinite.java b/src/Java/gtPlusPlus/core/block/general/FluidTankInfinite.java
index fe698dfdd0..bbec95a28e 100644
--- a/src/Java/gtPlusPlus/core/block/general/FluidTankInfinite.java
+++ b/src/Java/gtPlusPlus/core/block/general/FluidTankInfinite.java
@@ -4,10 +4,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.general.TileEntityInfiniteFluid;
-import gtPlusPlus.core.util.player.PlayerUtils;
+
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -17,10 +14,12 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
-import net.minecraftforge.fluids.FluidContainerRegistry;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.IFluidContainerItem;
-import net.minecraftforge.fluids.ItemFluidContainer;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.general.TileEntityInfiniteFluid;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import net.minecraftforge.fluids.*;
public class FluidTankInfinite extends BlockContainer {
diff --git a/src/Java/gtPlusPlus/core/block/general/HellFire.java b/src/Java/gtPlusPlus/core/block/general/HellFire.java
index a682a0d98d..fb9078d47a 100644
--- a/src/Java/gtPlusPlus/core/block/general/HellFire.java
+++ b/src/Java/gtPlusPlus/core/block/general/HellFire.java
@@ -1,11 +1,6 @@
package gtPlusPlus.core.block.general;
-import static net.minecraftforge.common.util.ForgeDirection.DOWN;
-import static net.minecraftforge.common.util.ForgeDirection.EAST;
-import static net.minecraftforge.common.util.ForgeDirection.NORTH;
-import static net.minecraftforge.common.util.ForgeDirection.SOUTH;
-import static net.minecraftforge.common.util.ForgeDirection.UP;
-import static net.minecraftforge.common.util.ForgeDirection.WEST;
+import static net.minecraftforge.common.util.ForgeDirection.*;
import java.util.IdentityHashMap;
import java.util.Map.Entry;
@@ -17,10 +12,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.XSTR;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.math.MathUtils;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockFire;
import net.minecraft.block.material.MapColor;
@@ -31,6 +23,11 @@ import net.minecraft.init.Blocks;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+
+import gtPlusPlus.api.objects.random.XSTR;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
import net.minecraftforge.common.util.ForgeDirection;
public class HellFire extends BlockFire {
diff --git a/src/Java/gtPlusPlus/core/block/general/LightGlass.java b/src/Java/gtPlusPlus/core/block/general/LightGlass.java
index fd2d575158..5a265ed7ef 100644
--- a/src/Java/gtPlusPlus/core/block/general/LightGlass.java
+++ b/src/Java/gtPlusPlus/core/block/general/LightGlass.java
@@ -4,15 +4,17 @@ import java.util.Random;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.block.BlockBreakable;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+
public class LightGlass extends BlockBreakable
{
private int state = 0;
diff --git a/src/Java/gtPlusPlus/core/block/general/MiningExplosives.java b/src/Java/gtPlusPlus/core/block/general/MiningExplosives.java
index c02a16f88d..ceb35ad673 100644
--- a/src/Java/gtPlusPlus/core/block/general/MiningExplosives.java
+++ b/src/Java/gtPlusPlus/core/block/general/MiningExplosives.java
@@ -6,9 +6,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.entity.EntityPrimedMiningExplosive;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockTNT;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -21,6 +19,10 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.entity.EntityPrimedMiningExplosive;
+import gtPlusPlus.core.lib.CORE;
+
public class MiningExplosives extends BlockTNT {
@SideOnly(Side.CLIENT)
private IIcon textureTop;
diff --git a/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java b/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java
index d093bf2e2f..ed531cef2d 100644
--- a/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java
+++ b/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java
@@ -1,12 +1,9 @@
package gtPlusPlus.core.block.general.antigrief;
import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -19,6 +16,10 @@ import net.minecraft.world.Explosion;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+
public class BlockWitherProof extends Block{
public BlockWitherProof(){
@@ -30,9 +31,8 @@ public class BlockWitherProof extends Block{
this.setResistance(5000.0F);
this.setHarvestLevel("pickaxe", 3);
this.setStepSound(soundTypeMetal);
- LanguageRegistry.addName(this, "Wither Cage");
+ //LanguageRegistry.addName(this, "Wither Cage");
GameRegistry.registerBlock(this, Utils.sanitizeString("blockBlackGate"));
-
}
public String GetProperName(){
diff --git a/src/Java/gtPlusPlus/core/block/general/antigrief/TowerDevice.java b/src/Java/gtPlusPlus/core/block/general/antigrief/TowerDevice.java
index ea3d9c3ee9..01a2116a0b 100644
--- a/src/Java/gtPlusPlus/core/block/general/antigrief/TowerDevice.java
+++ b/src/Java/gtPlusPlus/core/block/general/antigrief/TowerDevice.java
@@ -7,10 +7,7 @@ import java.util.Random;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.general.TileEntityReverter;
+
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -26,6 +23,11 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.general.TileEntityReverter;
+
public class TowerDevice extends Block {
private static IIcon TEX_ANTIBUILDER;
public static final int META_ANTIBUILDER = 9;
diff --git a/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java b/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java
index b87054748d..6af27639ae 100644
--- a/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java
+++ b/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java
@@ -2,14 +2,16 @@ package gtPlusPlus.core.block.general.fluids;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
diff --git a/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java b/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java
index 0ed3aa5afd..a4ed895b13 100644
--- a/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java
+++ b/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java
@@ -1,12 +1,13 @@
package gtPlusPlus.core.block.machine;
-import gtPlusPlus.core.block.base.BasicBlock.BlockTypes;
-import gtPlusPlus.core.block.base.MetaBlock;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.world.IBlockAccess;
+import gtPlusPlus.core.block.base.BasicBlock.BlockTypes;
+import gtPlusPlus.core.block.base.MetaBlock;
+import gtPlusPlus.core.lib.CORE;
+
public class BlockGtFrameBox extends MetaBlock {
private int[] colours;
diff --git a/src/Java/gtPlusPlus/core/block/machine/FishTrap.java b/src/Java/gtPlusPlus/core/block/machine/FishTrap.java
index a08d50d27a..8e5f8a33f5 100644
--- a/src/Java/gtPlusPlus/core/block/machine/FishTrap.java
+++ b/src/Java/gtPlusPlus/core/block/machine/FishTrap.java
@@ -4,13 +4,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.api.interfaces.ITileTooltip;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.general.TileEntityFishTrap;
-import gtPlusPlus.core.util.inventory.InventoryUtils;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
@@ -24,6 +18,14 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.interfaces.ITileTooltip;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.general.TileEntityFishTrap;
+import gtPlusPlus.core.util.minecraft.InventoryUtils;
+
public class FishTrap extends BlockContainer implements ITileTooltip
{
@SideOnly(Side.CLIENT)
diff --git a/src/Java/gtPlusPlus/core/block/machine/HeliumGenerator.java b/src/Java/gtPlusPlus/core/block/machine/HeliumGenerator.java
index 0f5bbcbb3b..5dc8604a93 100644
--- a/src/Java/gtPlusPlus/core/block/machine/HeliumGenerator.java
+++ b/src/Java/gtPlusPlus/core/block/machine/HeliumGenerator.java
@@ -4,10 +4,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.general.TileEntityHeliumGenerator;
+
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -16,6 +13,11 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.general.TileEntityHeliumGenerator;
+
public class HeliumGenerator extends BlockContainer
{
@SideOnly(Side.CLIENT)
diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_ModularityTable.java b/src/Java/gtPlusPlus/core/block/machine/Machine_ModularityTable.java
index 46d5994a66..6f60d39ce7 100644
--- a/src/Java/gtPlusPlus/core/block/machine/Machine_ModularityTable.java
+++ b/src/Java/gtPlusPlus/core/block/machine/Machine_ModularityTable.java
@@ -4,13 +4,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.api.interfaces.ITileTooltip;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
+
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -21,6 +15,14 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.interfaces.ITileTooltip;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
+
public class Machine_ModularityTable extends BlockContainer implements ITileTooltip
{
@SideOnly(Side.CLIENT)
diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java b/src/Java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java
index 4d48e7e793..eecc379290 100644
--- a/src/Java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java
+++ b/src/Java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java
@@ -5,17 +5,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.api.interfaces.ITileTooltip;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import ic2.core.item.tool.ItemToolWrench;
+
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -27,6 +17,18 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.interfaces.ITileTooltip;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import ic2.core.item.tool.ItemToolWrench;
+
@Optional.Interface(iface = "crazypants.enderio.api.tool.ITool", modid = "EnderIO")
public class Machine_ProjectTable extends BlockContainer implements ITileTooltip
{
diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_TradeTable.java b/src/Java/gtPlusPlus/core/block/machine/Machine_TradeTable.java
index ca51b8948c..5195e0f18c 100644
--- a/src/Java/gtPlusPlus/core/block/machine/Machine_TradeTable.java
+++ b/src/Java/gtPlusPlus/core/block/machine/Machine_TradeTable.java
@@ -2,12 +2,7 @@ package gtPlusPlus.core.block.machine;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.api.interfaces.ITileTooltip;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.block.base.BlockBaseNBT;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.machines.TileEntityTradeTable;
+
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EnumCreatureType;
@@ -17,6 +12,13 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.interfaces.ITileTooltip;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.base.BlockBaseNBT;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.machines.TileEntityTradeTable;
+
public class Machine_TradeTable extends BlockBaseNBT implements ITileTooltip
{
@SideOnly(Side.CLIENT)
diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java b/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java
index 06df4ca480..675aeaaf2b 100644
--- a/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java
+++ b/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java
@@ -5,15 +5,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import ic2.core.item.tool.ItemToolWrench;
+
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -25,6 +17,16 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import ic2.core.item.tool.ItemToolWrench;
+
@Optional.Interface(iface = "crazypants.enderio.api.tool.ITool", modid = "EnderIO")
public class Machine_Workbench extends BlockContainer
{
diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_WorkbenchAdvanced.java b/src/Java/gtPlusPlus/core/block/machine/Machine_WorkbenchAdvanced.java
index 2e647a1a26..af2f9f82e0 100644
--- a/src/Java/gtPlusPlus/core/block/machine/Machine_WorkbenchAdvanced.java
+++ b/src/Java/gtPlusPlus/core/block/machine/Machine_WorkbenchAdvanced.java
@@ -1,26 +1,22 @@
package gtPlusPlus.core.block.machine;
-import buildcraft.api.tools.IToolWrench;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import ic2.core.item.tool.ItemToolWrench;
+
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
+
public class Machine_WorkbenchAdvanced extends BlockContainer
{
@SideOnly(Side.CLIENT)
diff --git a/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Head_Fake.java b/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Head_Fake.java
new file mode 100644
index 0000000000..b8f9662ac7
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Head_Fake.java
@@ -0,0 +1,159 @@
+package gtPlusPlus.core.block.machine.bedrock;
+
+import java.util.Random;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.api.objects.random.XSTR;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+
+public class Mining_Head_Fake extends Block{
+
+ public Mining_Head_Fake(){
+ super(Material.lava);
+ this.setBlockName(Utils.sanitizeString("blockMiningHeadFake"));
+ this.setBlockTextureName(CORE.MODID + ":" + "blockFrameGt");
+ this.setCreativeTab(AddToCreativeTab.tabBlock);
+ this.setHardness(-1F);
+ this.setResistance(50000.0F);
+ this.setHarvestLevel("pickaxe", 10);
+ this.setStepSound(soundTypeMetal);
+ //LanguageRegistry.addName(this, "Wither Cage");
+ GameRegistry.registerBlock(this, Utils.sanitizeString("blockMiningHeadFake"));
+ }
+
+ public String GetProperName(){
+ return "Hardened Mining Head";
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getRenderBlockPass(){
+ return 1;
+ }
+
+ @Override
+ public boolean isOpaqueCube(){
+ return false;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(final IIconRegister iIcon){
+ this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + "blockFrameGt");
+ }
+
+ @Override
+ public void onBlockExploded(final World world, final int x, final int y, final int z, final Explosion explosion){
+ //prevent from being destroyed by wither and nukes.
+ }
+
+ @Override
+ public void onBlockDestroyedByExplosion(final World p_149723_1_, final int p_149723_2_,
+ final int p_149723_3_, final int p_149723_4_, final Explosion p_149723_5_) {
+
+ }
+
+ @Override
+ public boolean canDropFromExplosion(final Explosion p_149659_1_) {
+ return false;
+ }
+
+ @Override
+ public boolean canEntityDestroy(final IBlockAccess world, final int x, final int y, final int z,
+ final Entity entity) {
+ return false;
+ }
+
+
+ //Colour Handling
+ private static final int mWitherColour = Utils.rgbtoHexValue(175, 64, 32);
+
+ @Override
+ public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4){
+ return mWitherColour;
+ }
+
+ @Override
+ public int getRenderColor(final int aMeta) {
+ return mWitherColour;
+ }
+
+ @Override
+ public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) {
+ return false;
+ }
+
+ @Override
+ public boolean isCollidable() {
+ return true;
+ }
+
+ @Override
+ public void randomDisplayTick(World world, int posX, int posY, int posZ,
+ Random rand) {
+ generateVoidParticlesAroundBlockPos(new BlockPos(posX, posY, posZ, world), 2);
+ super.randomDisplayTick(world, posX, posY, posZ, rand);
+ }
+
+ @Override
+ public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_,
+ Entity ent) {
+ EntityUtils.doDamage(ent, DamageSource.outOfWorld, 20);
+ EntityUtils.setEntityOnFire(ent, 100);
+ super.onEntityCollidedWithBlock(p_149670_1_, p_149670_2_, p_149670_3_, p_149670_4_, ent);
+ }
+
+ @Override
+ protected boolean canSilkHarvest() {
+ return false;
+ }
+
+ @Override
+ public boolean canHarvestBlock(EntityPlayer player, int meta) {
+ return false;
+ }
+
+ public static void generateVoidParticlesAroundBlockPos(BlockPos Pos, int range){
+ for (BlockPos G : Pos.getSurroundingBlocks()) {
+ int i1 = G.xPos + MathUtils.randInt(0, range) - MathUtils.randInt(0, range);
+ int j1 = G.yPos + MathUtils.randInt(0, range) - MathUtils.randInt(0, range);
+ int k1 = G.zPos + MathUtils.randInt(0, range) - MathUtils.randInt(0, range);
+
+ Block block = Pos.world.getBlock(i1, j1, k1);
+
+ if (block.getMaterial() == Material.air){
+
+ //lava
+ if (Pos.yPos <= 7) {
+ Pos.world.spawnParticle("portal", (double)((float)i1 + CORE.RANDOM.nextFloat()), (double)((float)j1 + CORE.RANDOM.nextFloat()), (double)((float)k1 + CORE.RANDOM.nextFloat()), 0.0D, 0.0D, 0.0D);
+ Pos.world.spawnParticle("lava", (double)((float)i1 + CORE.RANDOM.nextFloat()), (double)((float)j1 + CORE.RANDOM.nextFloat()), (double)((float)k1 + CORE.RANDOM.nextFloat()), 0.0D, 0.0D, 0.0D);
+ }
+ else {
+ Pos.world.spawnParticle("portal", (double)((float)i1 + CORE.RANDOM.nextFloat()), (double)((float)j1 + CORE.RANDOM.nextFloat()), (double)((float)k1 + CORE.RANDOM.nextFloat()), 0.0D, 0.0D, 0.0D);
+ }
+
+ }
+ }
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Pipe_Fake.java b/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Pipe_Fake.java
new file mode 100644
index 0000000000..bba185a0c1
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Pipe_Fake.java
@@ -0,0 +1,136 @@
+package gtPlusPlus.core.block.machine.bedrock;
+
+import java.util.Random;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+
+public class Mining_Pipe_Fake extends Block{
+
+ public Mining_Pipe_Fake(){
+ super(Material.cactus);
+ this.setBlockName(Utils.sanitizeString("blockMiningPipeFake"));
+ this.setBlockTextureName(CORE.MODID + ":" + "blockFrameGt");
+ this.setCreativeTab(AddToCreativeTab.tabBlock);
+ this.setHardness(-1F);
+ this.setResistance(50000.0F);
+ this.setHarvestLevel("pickaxe", 8);
+ this.setStepSound(soundTypeMetal);
+ //LanguageRegistry.addName(this, "Wither Cage");
+ GameRegistry.registerBlock(this, Utils.sanitizeString("blockMiningPipeFake"));
+ }
+
+ public String GetProperName(){
+ return "Hardened Mining Pipe";
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getRenderBlockPass(){
+ return 1;
+ }
+
+ @Override
+ public boolean isOpaqueCube(){
+ return false;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(final IIconRegister iIcon){
+ this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + "blockFrameGt");
+ }
+
+ @Override
+ public void onBlockExploded(final World world, final int x, final int y, final int z, final Explosion explosion){
+ //prevent from being destroyed by wither and nukes.
+ }
+
+ @Override
+ public void onBlockDestroyedByExplosion(final World p_149723_1_, final int p_149723_2_,
+ final int p_149723_3_, final int p_149723_4_, final Explosion p_149723_5_) {
+
+ }
+
+ @Override
+ public boolean canDropFromExplosion(final Explosion p_149659_1_) {
+ return false;
+ }
+
+ @Override
+ public boolean canEntityDestroy(final IBlockAccess world, final int x, final int y, final int z,
+ final Entity entity) {
+ return false;
+ }
+
+
+ //Colour Handling
+ private static final int mWitherColour = Utils.rgbtoHexValue(32, 32, 32);
+
+ @Override
+ public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4){
+ return mWitherColour;
+ }
+
+ @Override
+ public int getRenderColor(final int aMeta) {
+ return mWitherColour;
+ }
+
+ @Override
+ public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) {
+ return false;
+ }
+
+ @Override
+ public boolean isCollidable() {
+ return true;
+ }
+
+ @Override
+ public void randomDisplayTick(World world, int posX, int posY, int posZ,
+ Random rand) {
+ Mining_Head_Fake.generateVoidParticlesAroundBlockPos(new BlockPos(posX, posY, posZ, world), 2);
+ super.randomDisplayTick(world, posX, posY, posZ, rand);
+ }
+
+ @Override
+ public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity ent) {
+ if (MathUtils.randInt(0, 100) < 5) {
+ EntityUtils.doDamage(ent, DamageSource.outOfWorld, 1);
+ }
+ super.onEntityCollidedWithBlock(p_149670_1_, p_149670_2_, p_149670_3_, p_149670_4_, ent);
+ }
+
+ @Override
+ protected boolean canSilkHarvest() {
+ return false;
+ }
+
+ @Override
+ public boolean canHarvestBlock(EntityPlayer player, int meta) {
+ return false;
+ }
+
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/client/model/ModelSickBlaze.java b/src/Java/gtPlusPlus/core/client/model/ModelSickBlaze.java
index 43930fb9fb..455df761cb 100644
--- a/src/Java/gtPlusPlus/core/client/model/ModelSickBlaze.java
+++ b/src/Java/gtPlusPlus/core/client/model/ModelSickBlaze.java
@@ -2,6 +2,7 @@ package gtPlusPlus.core.client.model;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.client.model.ModelBlaze;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
diff --git a/src/Java/gtPlusPlus/core/client/model/ModelStaballoyConstruct.java b/src/Java/gtPlusPlus/core/client/model/ModelStaballoyConstruct.java
index 72693e3de7..aa23635b4d 100644
--- a/src/Java/gtPlusPlus/core/client/model/ModelStaballoyConstruct.java
+++ b/src/Java/gtPlusPlus/core/client/model/ModelStaballoyConstruct.java
@@ -2,6 +2,7 @@ package gtPlusPlus.core.client.model;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.client.model.ModelIronGolem;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
@@ -11,20 +12,7 @@ import net.minecraft.entity.monster.EntityIronGolem;
@SideOnly(Side.CLIENT)
public class ModelStaballoyConstruct extends ModelIronGolem
{
- /** The head model for the iron golem. */
- public ModelRenderer ironGolemHead;
- /** The body model for the iron golem. */
- public ModelRenderer ironGolemBody;
- /** The right arm model for the iron golem. */
- public ModelRenderer ironGolemRightArm;
- /** The left arm model for the iron golem. */
- public ModelRenderer ironGolemLeftArm;
- /** The left leg model for the Iron Golem. */
- public ModelRenderer ironGolemLeftLeg;
- /** The right leg model for the Iron Golem. */
- public ModelRenderer ironGolemRightLeg;
- private static final String __OBFID = "CL_00000863";
-
+
public ModelStaballoyConstruct()
{
this(0.0F);
diff --git a/src/Java/gtPlusPlus/core/client/renderer/CustomOreBlockRenderer.java b/src/Java/gtPlusPlus/core/client/renderer/CustomOreBlockRenderer.java
index 01d597df5e..4adfefaec9 100644
--- a/src/Java/gtPlusPlus/core/client/renderer/CustomOreBlockRenderer.java
+++ b/src/Java/gtPlusPlus/core/client/renderer/CustomOreBlockRenderer.java
@@ -4,9 +4,7 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
-import gregtech.api.interfaces.ITexture;
-import gtPlusPlus.api.interfaces.ITexturedBlock;
-import gtPlusPlus.api.objects.Logger;
+
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderBlocks;
@@ -15,6 +13,11 @@ import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
+import gregtech.api.interfaces.ITexture;
+
+import gtPlusPlus.api.interfaces.ITexturedBlock;
+import gtPlusPlus.api.objects.Logger;
+
public class CustomOreBlockRenderer implements ISimpleBlockRenderingHandler {
public static CustomOreBlockRenderer INSTANCE;
diff --git a/src/Java/gtPlusPlus/core/client/renderer/RenderMiningExplosivesPrimed.java b/src/Java/gtPlusPlus/core/client/renderer/RenderMiningExplosivesPrimed.java
index 69776b4d95..893982e8ac 100644
--- a/src/Java/gtPlusPlus/core/client/renderer/RenderMiningExplosivesPrimed.java
+++ b/src/Java/gtPlusPlus/core/client/renderer/RenderMiningExplosivesPrimed.java
@@ -4,15 +4,17 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.entity.EntityPrimedMiningExplosive;
+
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.entity.RenderTNTPrimed;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.entity.EntityPrimedMiningExplosive;
+
@SideOnly(Side.CLIENT)
public class RenderMiningExplosivesPrimed extends RenderTNTPrimed {
private final RenderBlocks blockRenderer = new RenderBlocks();
diff --git a/src/Java/gtPlusPlus/core/client/renderer/RenderPlasmaBolt.java b/src/Java/gtPlusPlus/core/client/renderer/RenderPlasmaBolt.java
index f505824bc9..b73154da10 100644
--- a/src/Java/gtPlusPlus/core/client/renderer/RenderPlasmaBolt.java
+++ b/src/Java/gtPlusPlus/core/client/renderer/RenderPlasmaBolt.java
@@ -1,17 +1,20 @@
package gtPlusPlus.core.client.renderer;
+import java.util.Random;
+
+import org.lwjgl.opengl.GL11;
+
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.api.objects.XSTR;
-import gtPlusPlus.core.entity.EntityTeslaTowerLightning;
-import java.util.Random;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.random.XSTR;
+import gtPlusPlus.core.entity.EntityTeslaTowerLightning;
@SideOnly(Side.CLIENT)
public class RenderPlasmaBolt extends Render {
diff --git a/src/Java/gtPlusPlus/core/client/renderer/RenderPotionthrow.java b/src/Java/gtPlusPlus/core/client/renderer/RenderPotionthrow.java
index e86a3fa7ab..a0e396bc23 100644
--- a/src/Java/gtPlusPlus/core/client/renderer/RenderPotionthrow.java
+++ b/src/Java/gtPlusPlus/core/client/renderer/RenderPotionthrow.java
@@ -5,6 +5,7 @@ import org.lwjgl.opengl.GL12;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texture.TextureMap;
diff --git a/src/Java/gtPlusPlus/core/client/renderer/RenderSickBlaze.java b/src/Java/gtPlusPlus/core/client/renderer/RenderSickBlaze.java
index d2b8ff4868..e1e8360840 100644
--- a/src/Java/gtPlusPlus/core/client/renderer/RenderSickBlaze.java
+++ b/src/Java/gtPlusPlus/core/client/renderer/RenderSickBlaze.java
@@ -2,12 +2,16 @@ package gtPlusPlus.core.client.renderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.renderer.entity.RenderLiving;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.util.ResourceLocation;
+
import gtPlusPlus.core.client.model.ModelSickBlaze;
import gtPlusPlus.core.entity.monster.EntitySickBlaze;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.client.renderer.entity.RenderLiving;
-import net.minecraft.entity.*;
-import net.minecraft.util.ResourceLocation;
@SideOnly(Side.CLIENT)
public class RenderSickBlaze extends RenderLiving
diff --git a/src/Java/gtPlusPlus/core/client/renderer/RenderStaballoyConstruct.java b/src/Java/gtPlusPlus/core/client/renderer/RenderStaballoyConstruct.java
index 8de64eef26..c1fd88773d 100644
--- a/src/Java/gtPlusPlus/core/client/renderer/RenderStaballoyConstruct.java
+++ b/src/Java/gtPlusPlus/core/client/renderer/RenderStaballoyConstruct.java
@@ -5,16 +5,20 @@ import org.lwjgl.opengl.GL12;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.client.model.ModelStaballoyConstruct;
-import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.entity.*;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.client.model.ModelStaballoyConstruct;
+import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct;
+import gtPlusPlus.core.lib.CORE;
+
@SideOnly(Side.CLIENT)
public class RenderStaballoyConstruct extends RenderLiving {
private static final ResourceLocation staballoyGolemTextures = new ResourceLocation(CORE.MODID+":"+"textures/entity/golemStaballoy.png");
diff --git a/src/Java/gtPlusPlus/core/client/renderer/RenderToxinball.java b/src/Java/gtPlusPlus/core/client/renderer/RenderToxinball.java
index 774e506146..711cec169b 100644
--- a/src/Java/gtPlusPlus/core/client/renderer/RenderToxinball.java
+++ b/src/Java/gtPlusPlus/core/client/renderer/RenderToxinball.java
@@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL12;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.entity.projectile.EntityToxinball;
+
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texture.TextureMap;
@@ -14,6 +14,8 @@ import net.minecraft.init.Items;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.entity.projectile.EntityToxinball;
+
@SideOnly(Side.CLIENT)
public class RenderToxinball extends Render
{
diff --git a/src/Java/gtPlusPlus/core/commands/CommandMath.java b/src/Java/gtPlusPlus/core/commands/CommandMath.java
index 27c963bf81..a05bb42756 100644
--- a/src/Java/gtPlusPlus/core/commands/CommandMath.java
+++ b/src/Java/gtPlusPlus/core/commands/CommandMath.java
@@ -3,16 +3,16 @@ package gtPlusPlus.core.commands;
import java.util.ArrayList;
import java.util.List;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.player.PlayerUtils;
import net.minecraft.command.ICommand;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.Entity;
-import net.minecraft.entity.item.EntityXPOrb;
+import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class CommandMath implements ICommand
{
@@ -21,61 +21,82 @@ public class CommandMath implements ICommand
protected String fullEntityName;
protected Entity conjuredEntity;
- public CommandMath()
- {
+ public CommandMath(){
this.aliases = new ArrayList<>();
-
- this.aliases.add("hometele");
-
- this.aliases.add("warphome");
-
+ //this.aliases.add("hometele");
+ //this.aliases.add("warphome");
}
@Override
- public int compareTo(final Object o)
- {
+ public int compareTo(final Object o){
return 0;
}
@Override
- public String getCommandName()
- {
- return "bed";
+ public String getCommandName(){
+ return "alkalus";
}
@Override
- public String getCommandUsage(final ICommandSender var1)
- {
- return "/bed [Teleports you to your bed for XP]";
+ public String getCommandUsage(final ICommandSender var1){
+ return "/alkalus [Dev Command]";
}
@Override
- public List<String> getCommandAliases()
- {
+ public List<String> getCommandAliases(){
return this.aliases;
}
@Override
- public void processCommand(final ICommandSender S, final String[] argString)
- {
+ public void processCommand(final ICommandSender S, final String[] argString){
final World W = S.getEntityWorld();
- final CommandUtils C = new CommandUtils();
- final EntityPlayer P = C.getPlayer(S);
- //System.out.println(P.getCommandSenderName());
- //System.out.println(P.getDisplayName());
- if (W.isRemote)
-
- {
-
- System.out.println("Not processing on Client side");
-
+ final EntityPlayer P = CommandUtils.getPlayer(S);
+ if (!W.isRemote){
+ if (P.getDisplayName().toLowerCase().equals("draknyte1") || P.getCommandSenderName().toLowerCase().equals("draknyte1")) {
+ String[] prefixes = new String[] {
+ "ingot",
+ "plate",
+ "dust",
+ "gearGt",
+ "block",
+ "ore"
+ };
+ String[] loots = new String[] {
+ "Iron",
+ "Iron",
+ "Iron",
+ "Copper",
+ "Copper",
+ "Copper",
+ "Tin",
+ "Mica",
+ "Steel",
+ "Steel",
+ "Steel",
+ "Invar",
+ "Titanium",
+ "Gold",
+ "Silver",
+ "Lead",
+ "Aluminium"
+ };
+ AutoMap<EntityItem> itemEntities = new AutoMap<EntityItem>();
+ for (String g : prefixes) {
+ for (String s : loots) {
+ itemEntities.put(new EntityItem(W, P.posX, P.posY, P.posZ, ItemUtils.getItemStackOfAmountFromOreDictNoBroken(g+s, 64)));
+ }}
+ for (EntityItem e : itemEntities.values()) {
+ e.lifespan = 30000;
+ }
+
+ }
}
- else
+ /*else
{
@@ -167,36 +188,30 @@ public class CommandMath implements ICommand
gregtech.api.util.GT_Utility.sendChatToPlayer(P, "You don't feel you're able to do this yet.");
}
- }
+ }*/
}
@Override
- public boolean canCommandSenderUseCommand(final ICommandSender var1)
- {
- return true;
-
+ public boolean canCommandSenderUseCommand(final ICommandSender var1){
+ final EntityPlayer P = CommandUtils.getPlayer(var1);
+ if (P.getDisplayName().toLowerCase().equals("draknyte1") || P.getCommandSenderName().toLowerCase().equals("draknyte1")) {
+ return true;
+ }
+ return false;
}
@Override
- public List<?> addTabCompletionOptions(final ICommandSender var1, final String[] var2)
- {
- // TODO Auto-generated method stub
-
+ public List<?> addTabCompletionOptions(final ICommandSender var1, final String[] var2){
return null;
-
}
@Override
- public boolean isUsernameIndex(final String[] var1, final int var2)
- {
+ public boolean isUsernameIndex(final String[] var1, final int var2){
// TODO Auto-generated method stub
-
return false;
-
}
- public boolean playerUsesCommand(final World W, final EntityPlayer P, final int cost)
- {
+ public boolean playerUsesCommand(final World W, final EntityPlayer P, final int cost){
return true;
diff --git a/src/Java/gtPlusPlus/core/commands/CommandUtils.java b/src/Java/gtPlusPlus/core/commands/CommandUtils.java
index 4e74d53464..175925d40c 100644
--- a/src/Java/gtPlusPlus/core/commands/CommandUtils.java
+++ b/src/Java/gtPlusPlus/core/commands/CommandUtils.java
@@ -5,7 +5,7 @@ import net.minecraft.entity.player.EntityPlayer;
public class CommandUtils {
- public EntityPlayer getPlayer(final ICommandSender icommandsender){
+ public static EntityPlayer getPlayer(final ICommandSender icommandsender){
EntityPlayer player;
if(icommandsender instanceof EntityPlayer){
diff --git a/src/Java/gtPlusPlus/core/common/BasePlayer.java b/src/Java/gtPlusPlus/core/common/BasePlayer.java
index dffc83c2ab..1b3f67b8d6 100644
--- a/src/Java/gtPlusPlus/core/common/BasePlayer.java
+++ b/src/Java/gtPlusPlus/core/common/BasePlayer.java
@@ -1,9 +1,5 @@
package gtPlusPlus.core.common;
-import api.player.client.ClientPlayerAPI;
-import api.player.client.ClientPlayerBase;
-import gtPlusPlus.core.handler.events.CustomMovementHandler;
-import gtPlusPlus.core.handler.events.SneakManager;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.entity.EntityClientPlayerMP;
@@ -14,6 +10,11 @@ import net.minecraft.potion.Potion;
import net.minecraft.util.MovementInputFromOptions;
import net.minecraft.util.ResourceLocation;
+import api.player.client.ClientPlayerAPI;
+import api.player.client.ClientPlayerBase;
+import gtPlusPlus.core.handler.events.CustomMovementHandler;
+import gtPlusPlus.core.handler.events.SneakManager;
+
public class BasePlayer extends ClientPlayerBase
{
private final Minecraft mc = Minecraft.getMinecraft();
diff --git a/src/Java/gtPlusPlus/core/common/CommonProxy.java b/src/Java/gtPlusPlus/core/common/CommonProxy.java
index d5f4d95aef..4d32d66ecd 100644
--- a/src/Java/gtPlusPlus/core/common/CommonProxy.java
+++ b/src/Java/gtPlusPlus/core/common/CommonProxy.java
@@ -4,9 +4,12 @@ import static gtPlusPlus.core.lib.CORE.DEBUG;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.entity.Entity;
+
import gtPlusPlus.GTplusplus;
-import gtPlusPlus.api.objects.ChunkManager;
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.ChunkManager;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.entity.InternalEntityRegistry;
@@ -26,9 +29,7 @@ import gtPlusPlus.core.util.debug.DEBUG_INIT;
import gtPlusPlus.core.util.player.PlayerCache;
import gtPlusPlus.xmod.eio.handler.HandlerTooltip_EIO;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
-import net.minecraft.entity.Entity;
import net.minecraftforge.common.ForgeChunkManager;
-import net.minecraftforge.common.MinecraftForge;
public class CommonProxy {
@@ -67,6 +68,15 @@ public class CommonProxy {
else {
Logger.WARNING("Development mode not set.");
}
+
+ //Moved from Init after Debug Loading.
+ //29/01/18 - Alkalus
+ //Moved earlier into PreInit, so that Items exist before they're called upon in recipes.
+ //20/03/18 - Alkalus
+ ModItems.init();
+ ModBlocks.init();
+ CI.preInit();
+
AddToCreativeTab.initialiseTabs();
COMPAT_IntermodStaging.preInit();
BookHandler.run();
@@ -75,14 +85,10 @@ public class CommonProxy {
registerEntities();
Logger.INFO("[Proxy] Calling Tile Entity registrator.");
registerTileEntities();
+
+
Logger.INFO("[Proxy] Calling Render registrator.");
registerRenderThings();
-
- //Moved from Init after Debug Loading.
- //29/01/18 - Alkalus
- ModItems.init();
- ModBlocks.init();
- CI.preInit();
}
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java
index 55a0a8ac10..249ea78ff3 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java
@@ -2,7 +2,9 @@ package gtPlusPlus.core.common.compat;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
-import gtPlusPlus.core.item.general.*;
+import gtPlusPlus.core.item.general.ItemCloakingDevice;
+import gtPlusPlus.core.item.general.ItemHealingDevice;
+import gtPlusPlus.core.item.general.ItemSlowBuildingRing;
import gtPlusPlus.core.lib.LoadedMods;
public class COMPAT_Baubles {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_BigReactors.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_BigReactors.java
index c0536acada..3854f6612f 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_BigReactors.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_BigReactors.java
@@ -1,8 +1,10 @@
package gtPlusPlus.core.common.compat;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.item.ModItems;
-import net.minecraft.item.ItemStack;
public class COMPAT_BigReactors {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java
index 9efd2b4a6c..a5d0768e72 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java
@@ -1,12 +1,12 @@
package gtPlusPlus.core.common.compat;
-import static gtPlusPlus.core.handler.COMPAT_HANDLER.AddRecipeQueue;
-import static gtPlusPlus.core.handler.COMPAT_HANDLER.RemoveRecipeQueue;
+import static gtPlusPlus.core.handler.COMPAT_HANDLER.*;
-import gtPlusPlus.core.recipe.ShapedRecipeObject;
-import gtPlusPlus.core.util.item.ItemUtils;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.recipe.ShapedRecipeObject;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class COMPAT_CompactWindmills {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_EnderIO.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_EnderIO.java
index f5eee3e8c5..6598a7e21e 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_EnderIO.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_EnderIO.java
@@ -1,9 +1,11 @@
package gtPlusPlus.core.common.compat;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.item.ModItems;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class COMPAT_EnderIO {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java
index 763ae3f283..45a70997e4 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java
@@ -1,10 +1,11 @@
package gtPlusPlus.core.common.compat;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.core.lib.CORE.ConfigSwitches;
import gtPlusPlus.core.recipe.RECIPES_Tools;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
public class COMPAT_ExtraUtils {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_IC2.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_IC2.java
index 74e6d931fd..e1ed2a666a 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_IC2.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_IC2.java
@@ -3,11 +3,12 @@ package gtPlusPlus.core.common.compat;
import static gtPlusPlus.core.handler.COMPAT_HANDLER.RemoveRecipeQueue;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.core.lib.CORE.ConfigSwitches;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.recipe.ShapedRecipeObject;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class COMPAT_IC2 {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_MorePlanets.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_MorePlanets.java
index bf47d2eb4b..b7da7c436e 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_MorePlanets.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_MorePlanets.java
@@ -1,6 +1,6 @@
package gtPlusPlus.core.common.compat;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class COMPAT_MorePlanets {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_PneumaticCraft.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_PneumaticCraft.java
index 9c4161b88d..0f80dc8be4 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_PneumaticCraft.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_PneumaticCraft.java
@@ -1,8 +1,10 @@
package gtPlusPlus.core.common.compat;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.item.ModItems;
-import net.minecraft.item.ItemStack;
public class COMPAT_PneumaticCraft {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_RFTools.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_RFTools.java
index f8c69cc4b7..37c87ad99d 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_RFTools.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_RFTools.java
@@ -1,8 +1,10 @@
package gtPlusPlus.core.common.compat;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.item.ModItems;
-import net.minecraft.item.ItemStack;
public class COMPAT_RFTools {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_SimplyJetpacks.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_SimplyJetpacks.java
index ea9374d1c2..5f9976acb0 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_SimplyJetpacks.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_SimplyJetpacks.java
@@ -1,8 +1,10 @@
package gtPlusPlus.core.common.compat;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.item.ModItems;
-import net.minecraft.item.ItemStack;
public class COMPAT_SimplyJetpacks {
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java
index 4fcce4013d..6247face1d 100644
--- a/src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java
@@ -1,9 +1,10 @@
package gtPlusPlus.core.common.compat;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.lib.CORE.ConfigSwitches;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class COMPAT_Thaumcraft {
diff --git a/src/Java/gtPlusPlus/core/config/ConfigHandler.java b/src/Java/gtPlusPlus/core/config/ConfigHandler.java
index 98c4320ce7..cd6f13ffa6 100644
--- a/src/Java/gtPlusPlus/core/config/ConfigHandler.java
+++ b/src/Java/gtPlusPlus/core/config/ConfigHandler.java
@@ -8,6 +8,7 @@ import static gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GT_Met
import java.io.File;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+
import net.minecraftforge.common.config.Configuration;
public class ConfigHandler {
@@ -31,6 +32,8 @@ public class ConfigHandler {
"Makes many machines display lots of debug logging.");
showHiddenNEIItems = config.getBoolean("showHiddenNEIItems", "debug", false,
"Makes all items hidden from NEI display.");
+ dumpItemAndBlockData = config.getBoolean("dumpItemAndBlockData", "debug", false,
+ "Dumps all GT++ and Toxic Everglade Data to en_US.lang in the config folder. This config option can be used by foreign players to generate blank .lang files, which they can populate with their language of choice.");
// Machines
@@ -45,8 +48,8 @@ public class ConfigHandler {
boilerSteamPerSecond = config.getInt("boilerSteamPerSecond", "machines", 750, 0, 10000, "Sets the steam per second value in LV,MV,HV boilers (respectively 1x,2x,3x this number for the tiers)");
//Circuits
- enableCustomCircuits = config.getBoolean("enableCustomCircuits", "gregtech", true,
- "Adds custom circuits to expand past the Master Tier.");
+ enableCustomCircuits = config.getBoolean("enableCustomCircuits", "gregtech", false,
+ "Adds custom circuits to expand past the Master Tier. Only really recommended to enable if enableOldGTcircuits is enabled.");
enableOldGTcircuits = config.getBoolean("enableOldGTcircuits", "gregtech", false,
"Restores circuits and their recipes from Pre-5.09.28 times.");
@@ -74,7 +77,9 @@ public class ConfigHandler {
// Single machines
enableMachine_SolarGenerators = config.getBoolean("enableSolarGenerators", "gregtech",
- false, "These may be overpowered, Consult a local electrician.");
+ false, "These may be overpowered, Consult a local electrician.");
+ enableMachine_ComponentAssemblers = config.getBoolean("enableComponentAssemblers", "gregtech",
+ true, "These construct machine components.");
enableMachine_Safes = config.getBoolean("enableMachineSafes", "gregtech", true,
"These protect your goodies/rare stuff.");
enableMachine_Dehydrators = config.getBoolean("enableMachineDehydrators", "gregtech", true,
@@ -141,7 +146,13 @@ public class ConfigHandler {
enableMultiblock_IndustrialCuttingMachine = config.getBoolean("enableMultiblock_IndustrialCuttingMachine",
"gregtech", true, "Very fast and efficient Cutting Machine.");
enableMultiblock_IndustrialFishingPort = config.getBoolean("enableMultiblock_IndustrialFishingPort",
- "gregtech", true, "Fish the seas, except on land.");
+ "gregtech", true, "Fish the seas, except on land.");
+ enableMultiblock_IndustrialExtrudingMachine = config.getBoolean("enableMultiblock_IndustrialExtrudingMachine",
+ "gregtech", true, "Very fast and efficient Extruding Machine.");
+ enableMultiblock_IndustrialMultiMachine = config.getBoolean("enableMultiblock_IndustrialMultiMachine",
+ "gregtech", true, "Can run recipes for 9 different types of machines.");
+ enableMultiblock_Cyclotron = config.getBoolean("enableMultiblock_Cyclotron",
+ "gregtech", true, "COMET - Scientific Cyclotron.");
// Options
rfPerEU = config.getInt("rfUsedPerEUForUniversalBatteries", "configurables", 4, 1, 1000,
@@ -154,8 +165,8 @@ public class ConfigHandler {
"Disables Zombie Reinforcement on hard difficutly.");
//Biomes
- DARKWORLD_ID = config.getInt("darkworld_ID", "worldgen", 227, 1, 254, "The ID of the Dark Dimension.");
- DARKBIOME_ID = config.getInt("darkbiome_ID", "worldgen", 238, 1, 254, "The biome within the Dark Dimension.");
+ EVERGLADES_ID = config.getInt("darkworld_ID", "worldgen", 227, 1, 254, "The ID of the Dark Dimension.");
+ EVERGLADESBIOME_ID = config.getInt("darkbiome_ID", "worldgen", 238, 1, 254, "The biome within the Dark Dimension.");
//Blacklisted Accelerator TileEntities
BlacklistedTileEntiyClassNames = new String[] { "com.rwtema.extrautils.tileentity.enderquarry.TileEntityEnderQuarry" };
diff --git a/src/Java/gtPlusPlus/core/container/Container_BackpackBase.java b/src/Java/gtPlusPlus/core/container/Container_BackpackBase.java
index c8ddf76876..ad76bebe81 100644
--- a/src/Java/gtPlusPlus/core/container/Container_BackpackBase.java
+++ b/src/Java/gtPlusPlus/core/container/Container_BackpackBase.java
@@ -1,13 +1,14 @@
package gtPlusPlus.core.container;
-import gtPlusPlus.core.inventories.BaseInventoryBackpack;
-import gtPlusPlus.core.slots.SlotItemBackpackInv;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.inventories.BaseInventoryBackpack;
+import gtPlusPlus.core.slots.SlotItemBackpackInv;
+
public class Container_BackpackBase extends Container
{
/** The Item Inventory for this Container, only needed if you want to reference isUseableByPlayer */
diff --git a/src/Java/gtPlusPlus/core/container/Container_FishTrap.java b/src/Java/gtPlusPlus/core/container/Container_FishTrap.java
index 34cfdf9bf3..fe1c8f64a9 100644
--- a/src/Java/gtPlusPlus/core/container/Container_FishTrap.java
+++ b/src/Java/gtPlusPlus/core/container/Container_FishTrap.java
@@ -1,9 +1,5 @@
package gtPlusPlus.core.container;
-import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.inventories.InventoryFishTrap;
-import gtPlusPlus.core.slots.SlotNoInput;
-import gtPlusPlus.core.tileentities.general.TileEntityFishTrap;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
@@ -11,6 +7,11 @@ import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.inventories.InventoryFishTrap;
+import gtPlusPlus.core.slots.SlotNoInput;
+import gtPlusPlus.core.tileentities.general.TileEntityFishTrap;
+
public class Container_FishTrap extends Container {
protected TileEntityFishTrap tile_entity;
diff --git a/src/Java/gtPlusPlus/core/container/Container_Grindle.java b/src/Java/gtPlusPlus/core/container/Container_Grindle.java
index 8b218f5993..ecda81a5f0 100644
--- a/src/Java/gtPlusPlus/core/container/Container_Grindle.java
+++ b/src/Java/gtPlusPlus/core/container/Container_Grindle.java
@@ -1,13 +1,14 @@
package gtPlusPlus.core.container;
-import gtPlusPlus.core.inventories.BaseInventoryGrindle;
-import gtPlusPlus.core.slots.SlotDataStick;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.inventories.BaseInventoryGrindle;
+import gtPlusPlus.core.slots.SlotDataStick;
+
public class Container_Grindle extends Container
{
/** The Item Inventory for this Container, only needed if you want to reference isUseableByPlayer */
diff --git a/src/Java/gtPlusPlus/core/container/Container_HeliumGenerator.java b/src/Java/gtPlusPlus/core/container/Container_HeliumGenerator.java
index e45d708761..39e07f2f0e 100644
--- a/src/Java/gtPlusPlus/core/container/Container_HeliumGenerator.java
+++ b/src/Java/gtPlusPlus/core/container/Container_HeliumGenerator.java
@@ -1,11 +1,5 @@
package gtPlusPlus.core.container;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.inventories.InventoryHeliumGenerator;
-import gtPlusPlus.core.slots.SlotFuelRod;
-import gtPlusPlus.core.slots.SlotNoInput;
-import gtPlusPlus.core.tileentities.general.TileEntityHeliumGenerator;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
@@ -13,6 +7,13 @@ import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.inventories.InventoryHeliumGenerator;
+import gtPlusPlus.core.slots.SlotFuelRod;
+import gtPlusPlus.core.slots.SlotNoInput;
+import gtPlusPlus.core.tileentities.general.TileEntityHeliumGenerator;
+
public class Container_HeliumGenerator extends Container {
protected TileEntityHeliumGenerator tile_entity;
diff --git a/src/Java/gtPlusPlus/core/container/Container_ModularityTable.java b/src/Java/gtPlusPlus/core/container/Container_ModularityTable.java
index cfa1eed690..e0fb51fe61 100644
--- a/src/Java/gtPlusPlus/core/container/Container_ModularityTable.java
+++ b/src/Java/gtPlusPlus/core/container/Container_ModularityTable.java
@@ -1,11 +1,5 @@
package gtPlusPlus.core.container;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.inventories.modulartable.InventoryModularMain;
-import gtPlusPlus.core.inventories.modulartable.InventoryModularOutput;
-import gtPlusPlus.core.slots.*;
-import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
@@ -13,6 +7,15 @@ import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.inventories.modulartable.InventoryModularMain;
+import gtPlusPlus.core.inventories.modulartable.InventoryModularOutput;
+import gtPlusPlus.core.slots.SlotModularBauble;
+import gtPlusPlus.core.slots.SlotModularBaubleUpgrades;
+import gtPlusPlus.core.slots.SlotNoInput;
+import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
+
public class Container_ModularityTable extends Container {
/** The crafting matrix inventory (3x3). */
diff --git a/src/Java/gtPlusPlus/core/container/Container_ProjectTable.java b/src/Java/gtPlusPlus/core/container/Container_ProjectTable.java
index dabe97ea45..2cdf7ee783 100644
--- a/src/Java/gtPlusPlus/core/container/Container_ProjectTable.java
+++ b/src/Java/gtPlusPlus/core/container/Container_ProjectTable.java
@@ -1,11 +1,5 @@
package gtPlusPlus.core.container;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.inventories.projecttable.InventoryProjectMain;
-import gtPlusPlus.core.inventories.projecttable.InventoryProjectOutput;
-import gtPlusPlus.core.slots.*;
-import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.*;
@@ -13,6 +7,15 @@ import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.inventories.projecttable.InventoryProjectMain;
+import gtPlusPlus.core.inventories.projecttable.InventoryProjectOutput;
+import gtPlusPlus.core.slots.SlotCraftingNoCollect;
+import gtPlusPlus.core.slots.SlotDataStick;
+import gtPlusPlus.core.slots.SlotNoInput;
+import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable;
+
public class Container_ProjectTable extends Container {
/** The crafting matrix inventory (3x3). */
diff --git a/src/Java/gtPlusPlus/core/container/Container_TradeTable.java b/src/Java/gtPlusPlus/core/container/Container_TradeTable.java
index 271dc8ef2c..f812e384a7 100644
--- a/src/Java/gtPlusPlus/core/container/Container_TradeTable.java
+++ b/src/Java/gtPlusPlus/core/container/Container_TradeTable.java
@@ -1,5 +1,12 @@
package gtPlusPlus.core.container;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.inventories.tradetable.InventoryTradeMain;
@@ -7,12 +14,6 @@ import gtPlusPlus.core.inventories.tradetable.InventoryTradeOutput;
import gtPlusPlus.core.slots.SlotGeneric;
import gtPlusPlus.core.slots.SlotNoInput;
import gtPlusPlus.core.tileentities.machines.TileEntityTradeTable;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
public class Container_TradeTable extends Container {
diff --git a/src/Java/gtPlusPlus/core/container/Container_Workbench.java b/src/Java/gtPlusPlus/core/container/Container_Workbench.java
index e3b7e9d614..55ef1a3d0c 100644
--- a/src/Java/gtPlusPlus/core/container/Container_Workbench.java
+++ b/src/Java/gtPlusPlus/core/container/Container_Workbench.java
@@ -1,20 +1,24 @@
package gtPlusPlus.core.container;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.*;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
+import net.minecraft.world.World;
+
import gregtech.api.gui.GT_Slot_Holo;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.interfaces.IItemBlueprint;
-import gtPlusPlus.core.inventories.*;
+import gtPlusPlus.core.inventories.InventoryWorkbenchChest;
+import gtPlusPlus.core.inventories.InventoryWorkbenchHoloSlots;
+import gtPlusPlus.core.inventories.InventoryWorkbenchTools;
import gtPlusPlus.core.item.general.ItemBlueprint;
import gtPlusPlus.core.slots.*;
import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.*;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.CraftingManager;
-import net.minecraft.world.World;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class Container_Workbench extends Container {
diff --git a/src/Java/gtPlusPlus/core/container/Container_WorkbenchAdvanced.java b/src/Java/gtPlusPlus/core/container/Container_WorkbenchAdvanced.java
index 453b965bc7..dc499c570f 100644
--- a/src/Java/gtPlusPlus/core/container/Container_WorkbenchAdvanced.java
+++ b/src/Java/gtPlusPlus/core/container/Container_WorkbenchAdvanced.java
@@ -1,6 +1,14 @@
package gtPlusPlus.core.container;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.*;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
+import net.minecraft.world.World;
+
import gregtech.api.gui.GT_Slot_Holo;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.interfaces.IItemBlueprint;
@@ -8,13 +16,7 @@ import gtPlusPlus.core.inventories.*;
import gtPlusPlus.core.item.general.ItemBlueprint;
import gtPlusPlus.core.slots.*;
import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.*;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.CraftingManager;
-import net.minecraft.world.World;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class Container_WorkbenchAdvanced extends Container {
diff --git a/src/Java/gtPlusPlus/core/creative/AddToCreativeTab.java b/src/Java/gtPlusPlus/core/creative/AddToCreativeTab.java
index eef37387f5..0f3be72c69 100644
--- a/src/Java/gtPlusPlus/core/creative/AddToCreativeTab.java
+++ b/src/Java/gtPlusPlus/core/creative/AddToCreativeTab.java
@@ -1,10 +1,11 @@
package gtPlusPlus.core.creative;
+import net.minecraft.creativetab.CreativeTabs;
+
import gtPlusPlus.core.creative.tabs.*;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.xmod.bop.creative.MiscUtilsBOPTab;
-import net.minecraft.creativetab.CreativeTabs;
public class AddToCreativeTab {
diff --git a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabBlock.java b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabBlock.java
index cd13e8cd6d..39d5108dea 100644
--- a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabBlock.java
+++ b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabBlock.java
@@ -1,9 +1,10 @@
package gtPlusPlus.core.creative.tabs;
-import gtPlusPlus.core.block.ModBlocks;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
+import gtPlusPlus.core.block.ModBlocks;
+
public class MiscUtilCreativeTabBlock extends CreativeTabs {
public MiscUtilCreativeTabBlock(final String lable) {
diff --git a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMachines.java b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMachines.java
index 4df99d0f8b..285ef8af0a 100644
--- a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMachines.java
+++ b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMachines.java
@@ -1,9 +1,10 @@
package gtPlusPlus.core.creative.tabs;
-import gtPlusPlus.core.item.ModItems;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
+import gtPlusPlus.core.item.ModItems;
+
public class MiscUtilCreativeTabMachines extends CreativeTabs {
diff --git a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMisc.java b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMisc.java
index 2a819865fa..da60afe511 100644
--- a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMisc.java
+++ b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMisc.java
@@ -1,9 +1,10 @@
package gtPlusPlus.core.creative.tabs;
-import gtPlusPlus.core.item.ModItems;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
+import gtPlusPlus.core.item.ModItems;
+
public class MiscUtilCreativeTabMisc extends CreativeTabs {
public MiscUtilCreativeTabMisc(final String lable) {
diff --git a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabOther.java b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabOther.java
index 135a1ce0c9..156086081e 100644
--- a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabOther.java
+++ b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabOther.java
@@ -1,9 +1,10 @@
package gtPlusPlus.core.creative.tabs;
-import gtPlusPlus.core.item.ModItems;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
+import gtPlusPlus.core.item.ModItems;
+
public class MiscUtilCreativeTabOther extends CreativeTabs {
public MiscUtilCreativeTabOther(final String lable) {
diff --git a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabTools.java b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabTools.java
index 738266f381..649316a220 100644
--- a/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabTools.java
+++ b/src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabTools.java
@@ -1,9 +1,10 @@
package gtPlusPlus.core.creative.tabs;
-import gtPlusPlus.core.item.ModItems;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
+import gtPlusPlus.core.item.ModItems;
+
public class MiscUtilCreativeTabTools extends CreativeTabs {
public MiscUtilCreativeTabTools(final String lable) {
diff --git a/src/Java/gtPlusPlus/core/entity/EntityPrimedMiningExplosive.java b/src/Java/gtPlusPlus/core/entity/EntityPrimedMiningExplosive.java
index 87e325a5bd..9abd07392d 100644
--- a/src/Java/gtPlusPlus/core/entity/EntityPrimedMiningExplosive.java
+++ b/src/Java/gtPlusPlus/core/entity/EntityPrimedMiningExplosive.java
@@ -1,16 +1,16 @@
package gtPlusPlus.core.entity;
-import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.world.explosions.ExplosionHandler;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityTNTPrimed;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.world.explosions.ExplosionHandler;
+
public class EntityPrimedMiningExplosive extends EntityTNTPrimed
{
/** How long the fuse is */
- public int fuse;
private EntityLivingBase tntPlacedBy;
public EntityPrimedMiningExplosive(final World world){
diff --git a/src/Java/gtPlusPlus/core/entity/EntityTeleportFX.java b/src/Java/gtPlusPlus/core/entity/EntityTeleportFX.java
index 55ca54cbc9..ea667b8667 100644
--- a/src/Java/gtPlusPlus/core/entity/EntityTeleportFX.java
+++ b/src/Java/gtPlusPlus/core/entity/EntityTeleportFX.java
@@ -2,6 +2,7 @@ package gtPlusPlus.core.entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Items;
diff --git a/src/Java/gtPlusPlus/core/entity/EntityTeslaTowerLightning.java b/src/Java/gtPlusPlus/core/entity/EntityTeslaTowerLightning.java
index 0cd5bd85bf..bf629bd147 100644
--- a/src/Java/gtPlusPlus/core/entity/EntityTeslaTowerLightning.java
+++ b/src/Java/gtPlusPlus/core/entity/EntityTeslaTowerLightning.java
@@ -3,10 +3,6 @@ import java.util.List;
import java.util.Random;
import java.util.UUID;
-import gtPlusPlus.api.damage.DamageTeslaTower;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.api.objects.XSTR;
-import gtPlusPlus.core.util.entity.EntityUtils;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.effect.EntityWeatherEffect;
@@ -17,6 +13,11 @@ import net.minecraft.util.MathHelper;
import net.minecraft.world.EnumDifficulty;
import net.minecraft.world.World;
+import gtPlusPlus.api.damage.DamageTeslaTower;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.random.XSTR;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+
public class EntityTeslaTowerLightning extends EntityWeatherEffect
{
/** Declares which state the lightning bolt is in. Whether it's in the air, hit the ground, etc. */
diff --git a/src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java b/src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java
index a33596b76a..ca46bca48b 100644
--- a/src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java
+++ b/src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java
@@ -1,6 +1,7 @@
package gtPlusPlus.core.entity;
import cpw.mods.fml.common.registry.EntityRegistry;
+
import gtPlusPlus.GTplusplus;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.entity.monster.EntitySickBlaze;
diff --git a/src/Java/gtPlusPlus/core/entity/monster/EntitySickBlaze.java b/src/Java/gtPlusPlus/core/entity/monster/EntitySickBlaze.java
index 4e2a4c4439..a530f294e1 100644
--- a/src/Java/gtPlusPlus/core/entity/monster/EntitySickBlaze.java
+++ b/src/Java/gtPlusPlus/core/entity/monster/EntitySickBlaze.java
@@ -2,7 +2,7 @@ package gtPlusPlus.core.entity.monster;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.entity.projectile.EntityToxinballSmall;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.monster.EntityMob;
@@ -13,6 +13,8 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
+import gtPlusPlus.core.entity.projectile.EntityToxinballSmall;
+
public class EntitySickBlaze extends EntityMob {
/** Random offset used in floating behaviour */
private float heightOffset = 0.5F;
diff --git a/src/Java/gtPlusPlus/core/entity/monster/EntityStaballoyConstruct.java b/src/Java/gtPlusPlus/core/entity/monster/EntityStaballoyConstruct.java
index 92fdcb578a..385c3f4441 100644
--- a/src/Java/gtPlusPlus/core/entity/monster/EntityStaballoyConstruct.java
+++ b/src/Java/gtPlusPlus/core/entity/monster/EntityStaballoyConstruct.java
@@ -4,11 +4,7 @@ import java.lang.reflect.Field;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import gtPlusPlus.core.world.explosions.ExplosionHandler;
+
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.*;
@@ -23,6 +19,12 @@ import net.minecraft.util.MathHelper;
import net.minecraft.village.Village;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.core.world.explosions.ExplosionHandler;
+
public class EntityStaballoyConstruct extends EntityIronGolem {
/*
diff --git a/src/Java/gtPlusPlus/core/entity/projectile/EntityHydrofluoricAcidPotion.java b/src/Java/gtPlusPlus/core/entity/projectile/EntityHydrofluoricAcidPotion.java
index c935409650..9f3e6b8bf1 100644
--- a/src/Java/gtPlusPlus/core/entity/projectile/EntityHydrofluoricAcidPotion.java
+++ b/src/Java/gtPlusPlus/core/entity/projectile/EntityHydrofluoricAcidPotion.java
@@ -1,9 +1,5 @@
package gtPlusPlus.core.entity.projectile;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@@ -15,6 +11,12 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+
public class EntityHydrofluoricAcidPotion extends EntityThrowable {
public EntityHydrofluoricAcidPotion(World world) {
diff --git a/src/Java/gtPlusPlus/core/entity/projectile/EntitySulfuricAcidPotion.java b/src/Java/gtPlusPlus/core/entity/projectile/EntitySulfuricAcidPotion.java
index cd4bec52bf..7660dd1b75 100644
--- a/src/Java/gtPlusPlus/core/entity/projectile/EntitySulfuricAcidPotion.java
+++ b/src/Java/gtPlusPlus/core/entity/projectile/EntitySulfuricAcidPotion.java
@@ -1,9 +1,5 @@
package gtPlusPlus.core.entity.projectile;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.projectile.EntityThrowable;
@@ -12,6 +8,12 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+
public class EntitySulfuricAcidPotion extends EntityThrowable {
public EntitySulfuricAcidPotion(World world) {
diff --git a/src/Java/gtPlusPlus/core/entity/projectile/EntityToxinball.java b/src/Java/gtPlusPlus/core/entity/projectile/EntityToxinball.java
index 5fcdc67ed6..4fe72345b2 100644
--- a/src/Java/gtPlusPlus/core/entity/projectile/EntityToxinball.java
+++ b/src/Java/gtPlusPlus/core/entity/projectile/EntityToxinball.java
@@ -4,6 +4,7 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -19,12 +20,8 @@ public abstract class EntityToxinball extends EntityFireball {
protected int entityZ = -1;
private Block block;
private boolean inGround;
- public EntityLivingBase shootingEntity;
private int ticksAlive;
private int ticksInAir;
- public double accelerationX;
- public double accelerationY;
- public double accelerationZ;
public EntityToxinball(World world) {
super(world);
diff --git a/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java b/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java
index fb65340a09..9a3958a908 100644
--- a/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java
+++ b/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java
@@ -3,15 +3,17 @@ package gtPlusPlus.core.fluids;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
diff --git a/src/Java/gtPlusPlus/core/fluids/FluidRegistryHandler.java b/src/Java/gtPlusPlus/core/fluids/FluidRegistryHandler.java
index 4fb6f14f92..bc4df596de 100644
--- a/src/Java/gtPlusPlus/core/fluids/FluidRegistryHandler.java
+++ b/src/Java/gtPlusPlus/core/fluids/FluidRegistryHandler.java
@@ -1,12 +1,13 @@
package gtPlusPlus.core.fluids;
-import static gtPlusPlus.core.block.ModBlocks.blockFluidSludge;
-import static gtPlusPlus.core.block.ModBlocks.fluidSludge;
+import static gtPlusPlus.core.block.ModBlocks.*;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.block.material.Material;
+
import gtPlusPlus.core.block.general.fluids.BlockFluidSludge;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.block.material.Material;
import net.minecraftforge.fluids.FluidRegistry;
public class FluidRegistryHandler {
diff --git a/src/Java/gtPlusPlus/core/fluids/GenericFluid.java b/src/Java/gtPlusPlus/core/fluids/GenericFluid.java
index e6894b6d35..4f1f5df006 100644
--- a/src/Java/gtPlusPlus/core/fluids/GenericFluid.java
+++ b/src/Java/gtPlusPlus/core/fluids/GenericFluid.java
@@ -1,9 +1,11 @@
package gtPlusPlus.core.fluids;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.block.Block;
+
import gtPlusPlus.core.item.base.itemblock.ItemBlockFluid;
import gtPlusPlus.core.material.Material;
-import net.minecraft.block.Block;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
diff --git a/src/Java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java b/src/Java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java
index 10c09390d9..1212054f01 100644
--- a/src/Java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java
+++ b/src/Java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java
@@ -1,6 +1,8 @@
package gtPlusPlus.core.gui.beta;
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import gtPlusPlus.core.interfaces.IGuiManagerMiscUtils;
diff --git a/src/Java/gtPlusPlus/core/gui/item/GuiBaseBackpack.java b/src/Java/gtPlusPlus/core/gui/item/GuiBaseBackpack.java
index fb42cd7cf5..0ad4b9b51f 100644
--- a/src/Java/gtPlusPlus/core/gui/item/GuiBaseBackpack.java
+++ b/src/Java/gtPlusPlus/core/gui/item/GuiBaseBackpack.java
@@ -3,9 +3,6 @@ package gtPlusPlus.core.gui.item;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
-import gtPlusPlus.core.container.Container_BackpackBase;
-import gtPlusPlus.core.inventories.BaseInventoryBackpack;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.OpenGlHelper;
@@ -14,6 +11,10 @@ import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.container.Container_BackpackBase;
+import gtPlusPlus.core.inventories.BaseInventoryBackpack;
+import gtPlusPlus.core.lib.CORE;
+
public class GuiBaseBackpack extends GuiContainer
{
/** x and y size of the inventory window in pixels. Defined as float, passed as int
diff --git a/src/Java/gtPlusPlus/core/gui/item/GuiBaseGrindle.java b/src/Java/gtPlusPlus/core/gui/item/GuiBaseGrindle.java
index c7c14e9103..9272d462df 100644
--- a/src/Java/gtPlusPlus/core/gui/item/GuiBaseGrindle.java
+++ b/src/Java/gtPlusPlus/core/gui/item/GuiBaseGrindle.java
@@ -1,29 +1,23 @@
package gtPlusPlus.core.gui.item;
import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import gregtech.api.util.GT_Utility;
-import gregtech.api.util.GT_Utility.ItemNBT;
-import gtPlusPlus.core.container.Container_BackpackBase;
-import gtPlusPlus.core.container.Container_Grindle;
-import gtPlusPlus.core.inventories.BaseInventoryBackpack;
-import gtPlusPlus.core.inventories.BaseInventoryGrindle;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.nbt.NBTUtils;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.resources.I18n;
-import net.minecraft.entity.EntityLivingBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.NBTTagString;
import net.minecraft.util.ResourceLocation;
+import gregtech.api.util.GT_Utility.ItemNBT;
+
+import gtPlusPlus.core.container.Container_Grindle;
+import gtPlusPlus.core.inventories.BaseInventoryGrindle;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
+
public class GuiBaseGrindle extends GuiContainer {
/** The FontRenderer used by GuiScreen */
diff --git a/src/Java/gtPlusPlus/core/gui/item/GuiScreenGrindle.java b/src/Java/gtPlusPlus/core/gui/item/GuiScreenGrindle.java
index 991937ff03..cf94fbbb84 100644
--- a/src/Java/gtPlusPlus/core/gui/item/GuiScreenGrindle.java
+++ b/src/Java/gtPlusPlus/core/gui/item/GuiScreenGrindle.java
@@ -7,14 +7,7 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.container.Container_Grindle;
-import gtPlusPlus.core.inventories.BaseInventoryGrindle;
-import gtPlusPlus.core.item.ModItems;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.nbt.NBTUtils;
-import io.netty.buffer.ByteBuf;
-import io.netty.buffer.Unpooled;
+
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
@@ -31,6 +24,15 @@ import net.minecraft.util.ChatAllowedCharacters;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.container.Container_Grindle;
+import gtPlusPlus.core.inventories.BaseInventoryGrindle;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+
@SideOnly(Side.CLIENT)
public class GuiScreenGrindle extends GuiContainer {
private static final Logger logger = LogManager.getLogger();
diff --git a/src/Java/gtPlusPlus/core/gui/machine/GUI_FishTrap.java b/src/Java/gtPlusPlus/core/gui/machine/GUI_FishTrap.java
index ed2fc204f0..3d3bad7ece 100644
--- a/src/Java/gtPlusPlus/core/gui/machine/GUI_FishTrap.java
+++ b/src/Java/gtPlusPlus/core/gui/machine/GUI_FishTrap.java
@@ -4,13 +4,15 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.container.Container_FishTrap;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.general.TileEntityFishTrap;
+
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.container.Container_FishTrap;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.general.TileEntityFishTrap;
+
@SideOnly(Side.CLIENT)
public class GUI_FishTrap extends GuiContainer {
diff --git a/src/Java/gtPlusPlus/core/gui/machine/GUI_HeliumGenerator.java b/src/Java/gtPlusPlus/core/gui/machine/GUI_HeliumGenerator.java
index 0f02b709e6..44d5c2ff9c 100644
--- a/src/Java/gtPlusPlus/core/gui/machine/GUI_HeliumGenerator.java
+++ b/src/Java/gtPlusPlus/core/gui/machine/GUI_HeliumGenerator.java
@@ -4,13 +4,15 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.container.Container_HeliumGenerator;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.general.TileEntityHeliumGenerator;
+
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.container.Container_HeliumGenerator;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.general.TileEntityHeliumGenerator;
+
@SideOnly(Side.CLIENT)
public class GUI_HeliumGenerator extends GuiContainer {
diff --git a/src/Java/gtPlusPlus/core/gui/machine/GUI_ModularityTable.java b/src/Java/gtPlusPlus/core/gui/machine/GUI_ModularityTable.java
index a11d6dc6d4..bbd4dd0ad8 100644
--- a/src/Java/gtPlusPlus/core/gui/machine/GUI_ModularityTable.java
+++ b/src/Java/gtPlusPlus/core/gui/machine/GUI_ModularityTable.java
@@ -4,16 +4,17 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.container.Container_ModularityTable;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.container.Container_ModularityTable;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
+
@SideOnly(Side.CLIENT)
public class GUI_ModularityTable extends GuiContainer {
diff --git a/src/Java/gtPlusPlus/core/gui/machine/GUI_ProjectTable.java b/src/Java/gtPlusPlus/core/gui/machine/GUI_ProjectTable.java
index 98c8a2dad0..4870269080 100644
--- a/src/Java/gtPlusPlus/core/gui/machine/GUI_ProjectTable.java
+++ b/src/Java/gtPlusPlus/core/gui/machine/GUI_ProjectTable.java
@@ -4,16 +4,16 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.container.Container_ProjectTable;
-import gtPlusPlus.core.container.Container_Workbench;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable;
-import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
+
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.container.Container_ProjectTable;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable;
+
@SideOnly(Side.CLIENT)
public class GUI_ProjectTable extends GuiContainer {
diff --git a/src/Java/gtPlusPlus/core/gui/machine/GUI_TradeTable.java b/src/Java/gtPlusPlus/core/gui/machine/GUI_TradeTable.java
index 70c4ce423a..7c71f09302 100644
--- a/src/Java/gtPlusPlus/core/gui/machine/GUI_TradeTable.java
+++ b/src/Java/gtPlusPlus/core/gui/machine/GUI_TradeTable.java
@@ -4,18 +4,20 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.container.Container_TradeTable;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.machines.TileEntityTradeTable;
+
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.container.Container_TradeTable;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.machines.TileEntityTradeTable;
+
@SideOnly(Side.CLIENT)
public class GUI_TradeTable extends GuiContainer {
-
+
TileEntityTradeTable mThisTable;
String mOwnerName;
@@ -23,18 +25,10 @@ public class GUI_TradeTable extends GuiContainer {
public GUI_TradeTable(final InventoryPlayer player_inventory, final TileEntityTradeTable te, final String mOwnerName){
super(new Container_TradeTable(player_inventory, te));
-
- if (te == null){
- this.mThisTable = null;
- this.mOwnerName = mOwnerName;
- Logger.INFO("Set invalid TE in GUI");
- }
- else {
- if (te.isServerSide()){
+ if (te.isServerSide()){
mThisTable = te;
this.mOwnerName = mOwnerName;
Logger.INFO("Set valid TE in GUI");
- }
}
}
@@ -43,7 +37,7 @@ public class GUI_TradeTable extends GuiContainer {
this.fontRendererObj.drawString(I18n.format("Owner - "+this.mOwnerName, new Object[0]), 28, 66, 4210752);
//this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 4210752);
}
-
+
@Override
protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j){
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
diff --git a/src/Java/gtPlusPlus/core/gui/machine/GUI_Workbench.java b/src/Java/gtPlusPlus/core/gui/machine/GUI_Workbench.java
index 54ff675411..861c2ba6b6 100644
--- a/src/Java/gtPlusPlus/core/gui/machine/GUI_Workbench.java
+++ b/src/Java/gtPlusPlus/core/gui/machine/GUI_Workbench.java
@@ -4,14 +4,16 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.container.Container_Workbench;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
+
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.container.Container_Workbench;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
+
@SideOnly(Side.CLIENT)
public class GUI_Workbench extends GuiContainer {
diff --git a/src/Java/gtPlusPlus/core/gui/machine/GUI_WorkbenchAdvanced.java b/src/Java/gtPlusPlus/core/gui/machine/GUI_WorkbenchAdvanced.java
index eec2fa4b35..20183eb0b0 100644
--- a/src/Java/gtPlusPlus/core/gui/machine/GUI_WorkbenchAdvanced.java
+++ b/src/Java/gtPlusPlus/core/gui/machine/GUI_WorkbenchAdvanced.java
@@ -4,13 +4,15 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.container.Container_WorkbenchAdvanced;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
+
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
+import gtPlusPlus.core.container.Container_WorkbenchAdvanced;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
+
@SideOnly(Side.CLIENT)
public class GUI_WorkbenchAdvanced extends GuiContainer {
diff --git a/src/Java/gtPlusPlus/core/handler/BookHandler.java b/src/Java/gtPlusPlus/core/handler/BookHandler.java
index f62d3d869d..51bba5152f 100644
--- a/src/Java/gtPlusPlus/core/handler/BookHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/BookHandler.java
@@ -3,22 +3,25 @@ package gtPlusPlus.core.handler;
import java.util.HashMap;
import java.util.Map;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.item.ModItems;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+
public class BookHandler {
public static int mBookKeeperCount = 0;
- public static Map<Integer, BookTemplate> mBookMap = new HashMap();
+ public static Map<Integer, BookTemplate> mBookMap = new HashMap<Integer, BookTemplate>();
public static BookTemplate book_ThermalBoiler;
public static BookTemplate book_TestNovel;
public static BookTemplate book_ModularBauble;
+ public static BookTemplate book_MultiMachineManual;
public static void run(){
@@ -69,6 +72,18 @@ public class BookHandler {
"There was once a sad and lonely oak tree.",
"There was once a sad and lonely oak tree.",
"There was once a sad and lonely oak tree."});
+
+ //Test Novel
+ //20/21/22
+ book_MultiMachineManual = writeBookTemplate(
+ "Manual_Multi_Machine", "Multi Machine Manual", "Alkalus",
+ new String[] {"This Multiblock, depending upon the mode used, can function as a variety of different machines. The idea behind this, was that most of these machines are rather niche compared to any others, as such, not used often.",
+ "To build, you need to construct a hollow 3x3x3 structure made from Multi-Use casings. Any Casing can be substituted out with an Input Hatch/Bus, an Output Hatch/Bus, Maint. Hatch or Energy Injector Hatch",
+ "The Mode can be set by using a Screwdriver on the controller block. Each mode allows the use of Numbered Circuits, to allow a different machine 'type' for each input bus. Mode 3 is currently disabled, as each machine requires special handling.",
+ "[Metal Work] Mode A - Allows the multiblock to function as a Compressor, a Lathe or an Electro-Magnet. To allow a hatch to run in Compressor mode, insert a No. 20 circuit. For Lathe, use No. 21 and for Electro-Magnet use No. 22.",
+ "[Fluid Work] Mode B - Allows the multiblock to function as a Fermenter, a Distillery or an Extractor. To allow a hatch to run in Fermenter mode, insert a No. 20 circuit. For Distillery, use No. 21 and for Extractor use No. 22.",
+ "[Misc. Work] Mode C - Allows the multiblock to function as a Laser Engraver, a Replicator or an Autoclave. To allow a hatch to run in Laser Engraver mode, insert a No. 20 circuit. For Autoclave, use No. 21 and for Replicator use No. 22. DISABLED.",
+ });
}
@@ -77,12 +92,17 @@ public class BookHandler {
public static ItemStack ItemBookWritten_ThermalBoiler;
public static ItemStack ItemBookWritten_ModularBaubles;
public static ItemStack ItemBookWritten_Test;
+ public static ItemStack ItemBookWritten_MultiMachineManual;
public static void runLater(){
ItemBookWritten_ThermalBoiler = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 0, 1);
ItemBookWritten_ModularBaubles = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 1, 1);
ItemBookWritten_Test = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 2, 1);
+ ItemBookWritten_MultiMachineManual = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 3, 1);
+
+ //Multiblock Manuals
RecipeUtils.addShapelessGregtechRecipe(new ItemStack[]{ItemUtils.getSimpleStack(Items.writable_book), ItemUtils.getSimpleStack(Items.lava_bucket)}, ItemBookWritten_ThermalBoiler);
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[]{ItemUtils.getSimpleStack(Items.writable_book), ItemUtils.getItemStackOfAmountFromOreDict(CI.craftingToolWrench, 1)}, ItemBookWritten_MultiMachineManual);
}
private static BookTemplate writeBookTemplate(String aMapping, String aTitle, String aAuthor, String[] aPages){
diff --git a/src/Java/gtPlusPlus/core/handler/BurnableFuelHandler.java b/src/Java/gtPlusPlus/core/handler/BurnableFuelHandler.java
index 79ca0ad174..82bcdc84e6 100644
--- a/src/Java/gtPlusPlus/core/handler/BurnableFuelHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/BurnableFuelHandler.java
@@ -1,12 +1,14 @@
package gtPlusPlus.core.handler;
import cpw.mods.fml.common.IFuelHandler;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class BurnableFuelHandler implements IFuelHandler{
@Override
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
index 42d8021899..0bc141f310 100644
--- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
+++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
@@ -5,8 +5,11 @@ import static gtPlusPlus.core.lib.LoadedMods.Gregtech;
import java.util.LinkedList;
import java.util.Queue;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.common.compat.*;
import gtPlusPlus.core.handler.Recipes.LateRegistrationHandler;
@@ -14,10 +17,9 @@ import gtPlusPlus.core.handler.Recipes.RegistrationHandler;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.recipe.*;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.registration.gregtech.*;
-import net.minecraft.item.ItemStack;
public class COMPAT_HANDLER {
@@ -55,6 +57,7 @@ public class COMPAT_HANDLER {
*/
new RECIPES_LaserEngraver();
+ new RECIPES_Extruder();
GregtechEnergyBuffer.run();
GregtechLFTR.run();
GregtechSteamCondenser.run();
@@ -100,6 +103,10 @@ public class COMPAT_HANDLER {
GregtechSuperTanks.run();
GregtechIndustrialFishPond.run();
GregtechTieredChunkloaders.run();
+ GregtechIndustrialExtruder.run();
+ GregtechIndustrialMultiMachine.run();
+ GregtechBedrockPlatforms.run();
+ GregtechBufferDynamos.run();
//New Horizons Content
NewHorizonsAccelerator.run();
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java b/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java
index a615fd6022..f788e3b0e4 100644
--- a/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java
+++ b/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java
@@ -1,13 +1,14 @@
package gtPlusPlus.core.handler;
-import gtPlusPlus.xmod.Computronics.HANDLER_Computronics;
import gtPlusPlus.xmod.bop.HANDLER_BiomesOPlenty;
+import gtPlusPlus.xmod.computronics.HANDLER_Computronics;
import gtPlusPlus.xmod.forestry.HANDLER_FR;
import gtPlusPlus.xmod.gregtech.HANDLER_GT;
import gtPlusPlus.xmod.growthcraft.HANDLER_GC;
import gtPlusPlus.xmod.ic2.HANDLER_IC2;
import gtPlusPlus.xmod.thaumcraft.HANDLER_Thaumcraft;
import gtPlusPlus.xmod.thermalfoundation.HANDLER_TF;
+import gtPlusPlus.xmod.tinkers.HANDLER_Tinkers;
public class COMPAT_IntermodStaging {
@@ -21,6 +22,7 @@ public class COMPAT_IntermodStaging {
HANDLER_BiomesOPlenty.preInit();
//HANDLER_Mekanism.preInit();
HANDLER_Thaumcraft.preInit();
+ HANDLER_Tinkers.preInit();
}
public static void init(){
@@ -33,6 +35,7 @@ public class COMPAT_IntermodStaging {
HANDLER_BiomesOPlenty.init();
//HANDLER_Mekanism.init();
HANDLER_Thaumcraft.init();
+ HANDLER_Tinkers.init();
}
public static void postInit(){
@@ -45,6 +48,7 @@ public class COMPAT_IntermodStaging {
HANDLER_BiomesOPlenty.postInit();
//HANDLER_Mekanism.postInit();
HANDLER_Thaumcraft.postInit();
+ HANDLER_Tinkers.postInit();
}
diff --git a/src/Java/gtPlusPlus/core/handler/GuiHandler.java b/src/Java/gtPlusPlus/core/handler/GuiHandler.java
index c522229771..e03acf2ed5 100644
--- a/src/Java/gtPlusPlus/core/handler/GuiHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/GuiHandler.java
@@ -2,43 +2,29 @@ package gtPlusPlus.core.handler;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ChunkCoordinates;
+import net.minecraft.world.World;
+
import gtPlusPlus.GTplusplus;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.container.Container_BackpackBase;
-import gtPlusPlus.core.container.Container_FishTrap;
-import gtPlusPlus.core.container.Container_Grindle;
-import gtPlusPlus.core.container.Container_ModularityTable;
-import gtPlusPlus.core.container.Container_ProjectTable;
-import gtPlusPlus.core.container.Container_TradeTable;
-import gtPlusPlus.core.container.Container_Workbench;
-import gtPlusPlus.core.container.Container_WorkbenchAdvanced;
+import gtPlusPlus.core.container.*;
import gtPlusPlus.core.gui.beta.Gui_ID_Registry;
import gtPlusPlus.core.gui.beta.MU_GuiId;
import gtPlusPlus.core.gui.item.GuiBaseBackpack;
import gtPlusPlus.core.gui.item.GuiScreenGrindle;
-import gtPlusPlus.core.gui.machine.GUI_FishTrap;
-import gtPlusPlus.core.gui.machine.GUI_ModularityTable;
-import gtPlusPlus.core.gui.machine.GUI_ProjectTable;
-import gtPlusPlus.core.gui.machine.GUI_TradeTable;
-import gtPlusPlus.core.gui.machine.GUI_Workbench;
-import gtPlusPlus.core.gui.machine.GUI_WorkbenchAdvanced;
+import gtPlusPlus.core.gui.machine.*;
import gtPlusPlus.core.interfaces.IGuiManager;
import gtPlusPlus.core.inventories.BaseInventoryBackpack;
import gtPlusPlus.core.inventories.BaseInventoryGrindle;
import gtPlusPlus.core.tileentities.base.TileEntityBase;
import gtPlusPlus.core.tileentities.general.TileEntityFishTrap;
-import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
-import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable;
-import gtPlusPlus.core.tileentities.machines.TileEntityTradeTable;
-import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
-import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
+import gtPlusPlus.core.tileentities.machines.*;
import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastAlchemyFurnace;
import gtPlusPlus.xmod.thaumcraft.gui.ContainerFastAlchemyFurnace;
import gtPlusPlus.xmod.thaumcraft.gui.GuiFastAlchemyFurnace;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ChunkCoordinates;
-import net.minecraft.world.World;
public class GuiHandler implements IGuiHandler {
diff --git a/src/Java/gtPlusPlus/core/handler/OldCircuitHandler.java b/src/Java/gtPlusPlus/core/handler/OldCircuitHandler.java
index 6f968f4ab0..5105177cc2 100644
--- a/src/Java/gtPlusPlus/core/handler/OldCircuitHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/OldCircuitHandler.java
@@ -11,6 +11,7 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.util.EmptyRecipeMap;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
diff --git a/src/Java/gtPlusPlus/core/handler/PacketHandler.java b/src/Java/gtPlusPlus/core/handler/PacketHandler.java
index 45eae28abc..2b9d424b32 100644
--- a/src/Java/gtPlusPlus/core/handler/PacketHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/PacketHandler.java
@@ -2,14 +2,13 @@ package gtPlusPlus.core.handler;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.NetworkRegistry;
-import cpw.mods.fml.common.network.simpleimpl.IMessage;
-import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
-import cpw.mods.fml.common.network.simpleimpl.MessageContext;
-import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
+import cpw.mods.fml.common.network.simpleimpl.*;
import cpw.mods.fml.relauncher.Side;
-import io.netty.buffer.ByteBuf;
+
import net.minecraft.entity.player.EntityPlayerMP;
+import io.netty.buffer.ByteBuf;
+
public class PacketHandler {
public static SimpleNetworkWrapper packetLightning;
diff --git a/src/Java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java b/src/Java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java
index 9eb6d1171c..cbc8518fd7 100644
--- a/src/Java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java
@@ -14,12 +14,12 @@ public class RegistrationHandler {
}
private final static void init(){
- RECIPES_Tools.RECIPES_LOAD();
- RECIPES_Machines.RECIPES_LOAD();
- RECIPES_Shapeless.RECIPES_LOAD();
- RECIPES_MachineComponents.RECIPES_LOAD();
- RECIPE_Batteries.RECIPES_LOAD();
- RECIPES_General.RECIPES_LOAD();
+ RECIPES_Tools.loadRecipes();
+ RECIPES_Machines.loadRecipes();
+ RECIPES_Shapeless.loadRecipes();
+ RECIPES_MachineComponents.loadRecipes();
+ RECIPE_Batteries.loadRecipes();
+ RECIPES_General.loadRecipes();
//RECIPES_MTWRAPPER.run();
Logger.INFO("Loaded: "+recipesSuccess+" Failed: "+recipesFailed);
COMPAT_HANDLER.areInitItemsLoaded = true;
diff --git a/src/Java/gtPlusPlus/api/analytics/AnalyticsLoggingPlugin.java b/src/Java/gtPlusPlus/core/handler/analytics/AnalyticsLoggingPlugin.java
index 2423eaa65c..2d7fe35522 100644
--- a/src/Java/gtPlusPlus/api/analytics/AnalyticsLoggingPlugin.java
+++ b/src/Java/gtPlusPlus/core/handler/analytics/AnalyticsLoggingPlugin.java
@@ -1,9 +1,6 @@
-package gtPlusPlus.api.analytics;
+package gtPlusPlus.core.handler.analytics;
-import com.segment.analytics.Analytics;
-import com.segment.analytics.Callback;
-import com.segment.analytics.Log;
-import com.segment.analytics.Plugin;
+import com.segment.analytics.*;
import com.segment.analytics.messages.Message;
import gtPlusPlus.api.objects.Logger;
diff --git a/src/Java/gtPlusPlus/api/analytics/BlockingFlush.java b/src/Java/gtPlusPlus/core/handler/analytics/BlockingFlush.java
index dddb37fefb..f1c4ece790 100644
--- a/src/Java/gtPlusPlus/api/analytics/BlockingFlush.java
+++ b/src/Java/gtPlusPlus/core/handler/analytics/BlockingFlush.java
@@ -1,12 +1,10 @@
-package gtPlusPlus.api.analytics;
+package gtPlusPlus.core.handler.analytics;
-import com.segment.analytics.Analytics;
-import com.segment.analytics.Callback;
-import com.segment.analytics.MessageTransformer;
-import com.segment.analytics.Plugin;
+import java.util.concurrent.Phaser;
+
+import com.segment.analytics.*;
import com.segment.analytics.messages.Message;
import com.segment.analytics.messages.MessageBuilder;
-import java.util.concurrent.Phaser;
/**
* The {@link Analytics} class doesn't come with a blocking {@link Analytics#flush()} implementation
diff --git a/src/Java/gtPlusPlus/api/analytics/SegmentAnalytics.java b/src/Java/gtPlusPlus/core/handler/analytics/SegmentAnalytics.java
index c4ef82b9ef..c64e6eae0b 100644
--- a/src/Java/gtPlusPlus/api/analytics/SegmentAnalytics.java
+++ b/src/Java/gtPlusPlus/core/handler/analytics/SegmentAnalytics.java
@@ -1,25 +1,22 @@
-package gtPlusPlus.api.analytics;
+package gtPlusPlus.core.handler.analytics;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.UUID;
+import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Phaser;
import com.mojang.authlib.GameProfile;
import com.segment.analytics.Analytics;
+import net.minecraft.entity.player.EntityPlayer;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.random.UUIDGenerator;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import gtPlusPlus.core.util.uuid.UUIDGenerator;
-import gtPlusPlus.core.util.uuid.UUIDUtils;
+import gtPlusPlus.core.util.data.UUIDUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import ic2.core.IC2;
-import net.minecraft.entity.player.EntityPlayer;
public class SegmentAnalytics {
@@ -248,7 +245,7 @@ public class SegmentAnalytics {
}
- public Timer initTimer(EntityPlayer mPlayer) {
+ public final Timer initTimer(EntityPlayer mPlayer) {
Timer timer;
timer = new Timer();
timer.schedule(new initPlayer(mPlayer), 2 * 1000);
diff --git a/src/Java/gtPlusPlus/api/analytics/SegmentHelper.java b/src/Java/gtPlusPlus/core/handler/analytics/SegmentHelper.java
index 6e264fe1d2..09273f5b8e 100644
--- a/src/Java/gtPlusPlus/api/analytics/SegmentHelper.java
+++ b/src/Java/gtPlusPlus/core/handler/analytics/SegmentHelper.java
@@ -1,11 +1,10 @@
-package gtPlusPlus.api.analytics;
+package gtPlusPlus.core.handler.analytics;
+
+import java.util.Map;
import com.segment.analytics.Analytics;
import com.segment.analytics.Callback;
-import com.segment.analytics.messages.Message;
-import com.segment.analytics.messages.TrackMessage;
import com.segment.analytics.messages.*;
-import java.util.Map;
public class SegmentHelper implements Callback {
diff --git a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
index cd79cf7fe6..f3b40a7214 100644
--- a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
@@ -1,24 +1,20 @@
package gtPlusPlus.core.handler.events;
-import static gtPlusPlus.core.lib.CORE.ConfigSwitches.chanceToDropDrainedShard;
-import static gtPlusPlus.core.lib.CORE.ConfigSwitches.chanceToDropFluoriteOre;
+import static gtPlusPlus.core.lib.CORE.ConfigSwitches.*;
import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.Map;
import java.util.Random;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import gtPlusPlus.api.analytics.SegmentAnalytics;
-import gtPlusPlus.api.analytics.SegmentHelper;
+
+import net.minecraft.block.Block;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.BlockEvent;
diff --git a/src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java
index 09365e3caf..83c1bdac37 100644
--- a/src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java
@@ -1,21 +1,22 @@
package gtPlusPlus.core.handler.events;
-import java.util.*;
+import java.util.Timer;
+import java.util.TimerTask;
+import java.util.UUID;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.PlayerEvent;
-import gtPlusPlus.api.analytics.SegmentAnalytics;
-import gtPlusPlus.api.analytics.SegmentHelper;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.handler.analytics.SegmentAnalytics;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.proxy.ClientProxy;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.core.util.player.PlayerCache;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import ic2.core.IC2;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
public class LoginEventHandler {
diff --git a/src/Java/gtPlusPlus/core/handler/events/PickaxeBlockBreakEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/PickaxeBlockBreakEventHandler.java
index aa9155d654..cfc274a3d6 100644
--- a/src/Java/gtPlusPlus/core/handler/events/PickaxeBlockBreakEventHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/events/PickaxeBlockBreakEventHandler.java
@@ -3,14 +3,16 @@ package gtPlusPlus.core.handler.events;
import java.util.UUID;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
-import gregtech.api.metatileentity.*;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.machines.GregtechMetaSafeBlockBase;
-import net.minecraft.block.Block;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
+
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.metatileentity.BaseMetaPipeEntity;
+import gregtech.api.metatileentity.BaseMetaTileEntity;
+
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.machines.GregtechMetaSafeBlockBase;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.BlockEvent.BreakEvent;
@@ -20,25 +22,14 @@ public class PickaxeBlockBreakEventHandler {
try{
final TileEntity entity = event.world.getTileEntity(event.x, event.y, event.z);
if (entity != null){
- final EntityPlayer playerInternal = event.getPlayer();
- Logger.WARNING(entity.getClass().getSimpleName());
- if (entity.getClass().getSimpleName().equals("")){
-
- }
- if ((entity instanceof BaseTileEntity) && !(entity instanceof BaseMetaPipeEntity)){
+ final EntityPlayer playerInternal = event.getPlayer();
+ if ((entity instanceof BaseMetaTileEntity) && !(BaseMetaPipeEntity.class.isInstance(entity))){
final IMetaTileEntity X = ((BaseMetaTileEntity)entity).getMetaTileEntity();
- final Block ThisBlock = X.getBaseMetaTileEntity().getBlock(event.x, event.y, event.z);
+ //final Block ThisBlock = X.getBaseMetaTileEntity().getBlock(event.x, event.y, event.z);
if (X instanceof GregtechMetaSafeBlockBase){
-
final UUID ownerUUID = ((GregtechMetaSafeBlockBase)X).ownerUUID;
final UUID accessorUUID = playerInternal.getUniqueID();
- Logger.WARNING("Owner UUID: "+ownerUUID);
- Logger.WARNING("Accessor UUID: "+accessorUUID);
-
if (((GregtechMetaSafeBlockBase)X).bUnbreakable){
-
- Logger.INFO("UUID info. Accessor: "+accessorUUID + " | Owner: "+ownerUUID);
-
if (accessorUUID == ownerUUID){
PlayerUtils.messagePlayer(playerInternal, "Since you own this block, it has been destroyed.");
event.setCanceled(false);
@@ -47,15 +38,13 @@ public class PickaxeBlockBreakEventHandler {
event.setCanceled(true);
PlayerUtils.messagePlayer(playerInternal, "Since you do not own this block, it has not been destroyed.");
}
- //
}
}
}
}
-
}
catch (final NullPointerException e) {
- System.out.print("Caught a NullPointerException involving Safe Blocks. Cause: "+e.getCause());
+ //System.out.print("Caught a NullPointerException involving Safe Blocks. Cause: "+e.getCause());
}
}
diff --git a/src/Java/gtPlusPlus/core/handler/events/PlayerTickHandler.java b/src/Java/gtPlusPlus/core/handler/events/PlayerTickHandler.java
new file mode 100644
index 0000000000..dc7ccb3e72
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/handler/events/PlayerTickHandler.java
@@ -0,0 +1,18 @@
+package gtPlusPlus.core.handler.events;
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+
+import net.minecraft.entity.player.EntityPlayer;
+
+public class PlayerTickHandler {
+
+ @SubscribeEvent
+ public void onPlayerTick(net.minecraftforge.event.entity.player.PlayerOpenContainerEvent e){
+ if (e.entity instanceof EntityPlayer){
+ if (e.entityPlayer.openContainer != null) {
+
+ }
+ }
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/handler/events/SneakManager.java b/src/Java/gtPlusPlus/core/handler/events/SneakManager.java
index c504a46e82..e9c8c72934 100644
--- a/src/Java/gtPlusPlus/core/handler/events/SneakManager.java
+++ b/src/Java/gtPlusPlus/core/handler/events/SneakManager.java
@@ -1,8 +1,9 @@
package gtPlusPlus.core.handler.events;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.client.Minecraft;
+import gtPlusPlus.api.objects.Logger;
+
public class SneakManager {
//We make this a singleton for clientside data storage.
diff --git a/src/Java/gtPlusPlus/core/handler/events/UnbreakableBlockManager.java b/src/Java/gtPlusPlus/core/handler/events/UnbreakableBlockManager.java
index 39cd7d166d..b653c6ffb6 100644
--- a/src/Java/gtPlusPlus/core/handler/events/UnbreakableBlockManager.java
+++ b/src/Java/gtPlusPlus/core/handler/events/UnbreakableBlockManager.java
@@ -1,13 +1,17 @@
package gtPlusPlus.core.handler.events;
-import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
-import gregtech.api.metatileentity.*;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GregtechMetaSafeBlock;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.metatileentity.BaseMetaPipeEntity;
+import gregtech.api.metatileentity.BaseMetaTileEntity;
+import gregtech.api.metatileentity.BaseTileEntity;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GregtechMetaSafeBlock;
+
public class UnbreakableBlockManager{
private static boolean hasRun = false;
diff --git a/src/Java/gtPlusPlus/core/handler/events/ZombieBackupSpawnEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/ZombieBackupSpawnEventHandler.java
index 877b0c6ced..9b7621a788 100644
--- a/src/Java/gtPlusPlus/core/handler/events/ZombieBackupSpawnEventHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/events/ZombieBackupSpawnEventHandler.java
@@ -7,8 +7,9 @@ import org.apache.commons.lang3.reflect.FieldUtils;
import cpw.mods.fml.common.eventhandler.Event.Result;
import cpw.mods.fml.common.eventhandler.EventPriority;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import gtPlusPlus.api.analytics.SegmentHelper;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.handler.analytics.SegmentHelper;
import net.minecraftforge.event.entity.living.ZombieEvent;
public class ZombieBackupSpawnEventHandler {
diff --git a/src/Java/gtPlusPlus/core/handler/render/CapeHandler.java b/src/Java/gtPlusPlus/core/handler/render/CapeHandler.java
index f86e1ff160..491d9a2aba 100644
--- a/src/Java/gtPlusPlus/core/handler/render/CapeHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/render/CapeHandler.java
@@ -4,10 +4,6 @@ import java.util.Collection;
import org.lwjgl.opengl.GL11;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.util.GT_Log;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderManager;
@@ -15,6 +11,12 @@ import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.potion.Potion;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.core.lib.CORE;
import net.minecraftforge.client.event.RenderPlayerEvent;
public class CapeHandler extends RenderPlayer {
diff --git a/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java b/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java
index 845576e023..029d961bff 100644
--- a/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java
+++ b/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java
@@ -6,11 +6,12 @@
package gtPlusPlus.core.handler.render;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
+import gtPlusPlus.core.lib.CORE;
+
public class FirepitModel extends ModelBase
{
//fields
diff --git a/src/Java/gtPlusPlus/core/handler/workbench/Workbench_CraftingHandler.java b/src/Java/gtPlusPlus/core/handler/workbench/Workbench_CraftingHandler.java
index 1401cb04cc..d6a73512e2 100644
--- a/src/Java/gtPlusPlus/core/handler/workbench/Workbench_CraftingHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/workbench/Workbench_CraftingHandler.java
@@ -1,6 +1,8 @@
package gtPlusPlus.core.handler.workbench;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
@@ -8,7 +10,9 @@ import net.minecraft.init.Items;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.*;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.item.crafting.ShapedRecipes;
+import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraft.world.World;
public class Workbench_CraftingHandler {
diff --git a/src/Java/gtPlusPlus/core/handler/workbench/Workbench_RecipeSorter.java b/src/Java/gtPlusPlus/core/handler/workbench/Workbench_RecipeSorter.java
index 92a7dd56d3..9d5f7d03ed 100644
--- a/src/Java/gtPlusPlus/core/handler/workbench/Workbench_RecipeSorter.java
+++ b/src/Java/gtPlusPlus/core/handler/workbench/Workbench_RecipeSorter.java
@@ -2,7 +2,9 @@ package gtPlusPlus.core.handler.workbench;
import java.util.Comparator;
-import net.minecraft.item.crafting.*;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.item.crafting.ShapedRecipes;
+import net.minecraft.item.crafting.ShapelessRecipes;
public class Workbench_RecipeSorter implements Comparator<Object>
{
diff --git a/src/Java/gtPlusPlus/core/inventories/BaseInventoryBackpack.java b/src/Java/gtPlusPlus/core/inventories/BaseInventoryBackpack.java
index 9d0f75acba..256fedb13c 100644
--- a/src/Java/gtPlusPlus/core/inventories/BaseInventoryBackpack.java
+++ b/src/Java/gtPlusPlus/core/inventories/BaseInventoryBackpack.java
@@ -2,12 +2,13 @@ package gtPlusPlus.core.inventories;
import java.util.UUID;
-import gtPlusPlus.core.item.base.BaseItemBackpack;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
+
+import gtPlusPlus.core.item.base.BaseItemBackpack;
import net.minecraftforge.common.util.Constants;
public class BaseInventoryBackpack implements IInventory{
diff --git a/src/Java/gtPlusPlus/core/inventories/BaseInventoryGrindle.java b/src/Java/gtPlusPlus/core/inventories/BaseInventoryGrindle.java
index ca7fcd6d03..a7acb96ade 100644
--- a/src/Java/gtPlusPlus/core/inventories/BaseInventoryGrindle.java
+++ b/src/Java/gtPlusPlus/core/inventories/BaseInventoryGrindle.java
@@ -2,12 +2,13 @@ package gtPlusPlus.core.inventories;
import java.util.UUID;
-import gtPlusPlus.core.item.base.BaseItemBackpack;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
+
+import gtPlusPlus.core.item.base.BaseItemBackpack;
import net.minecraftforge.common.util.Constants;
public class BaseInventoryGrindle implements IInventory{
diff --git a/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchCrafting.java b/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchCrafting.java
index e86f21c559..f49540b5e2 100644
--- a/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchCrafting.java
+++ b/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchCrafting.java
@@ -1,7 +1,9 @@
package gtPlusPlus.core.inventories;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.*;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
diff --git a/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchHoloSlots.java b/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchHoloSlots.java
index 702a2c8670..1966e8fdca 100644
--- a/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchHoloSlots.java
+++ b/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchHoloSlots.java
@@ -1,6 +1,5 @@
package gtPlusPlus.core.inventories;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.InventoryCraftResult;
@@ -8,6 +7,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
+import gtPlusPlus.api.objects.Logger;
+
public class InventoryWorkbenchHoloSlots implements IInventory{
private final String name = "Inventory Holo";
diff --git a/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchTools.java b/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchTools.java
index c7ff680cbc..6543f6e9ea 100644
--- a/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchTools.java
+++ b/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchTools.java
@@ -1,12 +1,13 @@
package gtPlusPlus.core.inventories;
-import gregtech.api.items.GT_MetaGenerated_Tool;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+
public class InventoryWorkbenchTools implements IInventory{
private final String name = "Inventory Tools";
diff --git a/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchToolsElectric.java b/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchToolsElectric.java
index 1cc3f45844..29bf306b08 100644
--- a/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchToolsElectric.java
+++ b/src/Java/gtPlusPlus/core/inventories/InventoryWorkbenchToolsElectric.java
@@ -1,8 +1,5 @@
package gtPlusPlus.core.inventories;
-import gregtech.api.items.GT_MetaGenerated_Tool;
-import gtPlusPlus.core.slots.SlotGtToolElectric;
-import ic2.api.item.IElectricItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
@@ -10,6 +7,11 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+
+import gtPlusPlus.core.slots.SlotGtToolElectric;
+import ic2.api.item.IElectricItem;
+
public class InventoryWorkbenchToolsElectric implements IInventory{
private final String name = "Inventory Tools";
diff --git a/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java b/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java
index 590286a923..825a9a8851 100644
--- a/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java
+++ b/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java
@@ -1,14 +1,13 @@
package gtPlusPlus.core.inventories.modulartable;
-import gtPlusPlus.core.slots.SlotModularBauble;
-import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
-import gtPlusPlus.core.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
+import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
+
public class InventoryModularMain implements IInventory{
private final String name = "Inventory Grid";
diff --git a/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java b/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java
index 998750e3e3..d3c59ee2a4 100644
--- a/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java
+++ b/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java
@@ -1,12 +1,13 @@
package gtPlusPlus.core.inventories.modulartable;
-import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
+import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
+
public class InventoryModularOutput implements IInventory {
private final String name = "Inventory Output";
diff --git a/src/Java/gtPlusPlus/core/inventories/projecttable/InventoryProjectMain.java b/src/Java/gtPlusPlus/core/inventories/projecttable/InventoryProjectMain.java
index 4857c9b29c..2d91869027 100644
--- a/src/Java/gtPlusPlus/core/inventories/projecttable/InventoryProjectMain.java
+++ b/src/Java/gtPlusPlus/core/inventories/projecttable/InventoryProjectMain.java
@@ -1,6 +1,5 @@
package gtPlusPlus.core.inventories.projecttable;
-import gtPlusPlus.core.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
diff --git a/src/Java/gtPlusPlus/core/inventories/tradetable/InventoryTradeMain.java b/src/Java/gtPlusPlus/core/inventories/tradetable/InventoryTradeMain.java
index 7b125edcb0..aa7e8b1866 100644
--- a/src/Java/gtPlusPlus/core/inventories/tradetable/InventoryTradeMain.java
+++ b/src/Java/gtPlusPlus/core/inventories/tradetable/InventoryTradeMain.java
@@ -1,6 +1,5 @@
package gtPlusPlus.core.inventories.tradetable;
-import gtPlusPlus.core.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 98043d9775..53fb757539 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -1,23 +1,21 @@
package gtPlusPlus.core.item;
-import static gtPlusPlus.core.creative.AddToCreativeTab.tabMachines;
-import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc;
+import static gtPlusPlus.core.creative.AddToCreativeTab.*;
import static gtPlusPlus.core.lib.CORE.LOAD_ALL_CONTENT;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.item.*;
+import net.minecraft.item.Item.ToolMaterial;
+import net.minecraft.util.EnumChatFormatting;
+
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.GTplusplus_Secondary;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.common.compat.COMPAT_Baubles;
import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.BaseEuItem;
-import gtPlusPlus.core.item.base.BaseItemBackpack;
-import gtPlusPlus.core.item.base.BaseItemBurnable;
-import gtPlusPlus.core.item.base.BaseItemDamageable;
-import gtPlusPlus.core.item.base.BaseItemTCShard;
-import gtPlusPlus.core.item.base.CoreItem;
-import gtPlusPlus.core.item.base.dusts.decimal.BaseItemCentidust;
-import gtPlusPlus.core.item.base.dusts.decimal.BaseItemDecidust;
+import gtPlusPlus.core.item.base.*;
+import gtPlusPlus.core.item.base.foil.BaseItemFoil;
import gtPlusPlus.core.item.base.foods.BaseItemFood;
import gtPlusPlus.core.item.base.foods.BaseItemHotFood;
import gtPlusPlus.core.item.base.gears.BaseItemSmallGear;
@@ -30,31 +28,17 @@ import gtPlusPlus.core.item.bauble.HealthBoostBauble;
import gtPlusPlus.core.item.bauble.ModularBauble;
import gtPlusPlus.core.item.chemistry.CoalTar;
import gtPlusPlus.core.item.effects.RarityUncommon;
-import gtPlusPlus.core.item.general.BaseItemGrindle;
-import gtPlusPlus.core.item.general.BufferCore;
-import gtPlusPlus.core.item.general.ItemAirFilter;
-import gtPlusPlus.core.item.general.ItemAreaClear;
-import gtPlusPlus.core.item.general.ItemBasicFirestarter;
-import gtPlusPlus.core.item.general.ItemBlueprint;
-import gtPlusPlus.core.item.general.ItemEmpty;
-import gtPlusPlus.core.item.general.ItemGemShards;
-import gtPlusPlus.core.item.general.ItemHalfCompleteCasings;
-import gtPlusPlus.core.item.general.ItemLavaFilter;
-import gtPlusPlus.core.item.general.RF2EU_Battery;
+import gtPlusPlus.core.item.general.*;
import gtPlusPlus.core.item.general.books.ItemBaseBook;
import gtPlusPlus.core.item.general.capture.ItemEntityCatcher;
-import gtPlusPlus.core.item.general.chassis.itemBoilerChassis;
-import gtPlusPlus.core.item.general.chassis.itemDehydratorCoil;
-import gtPlusPlus.core.item.general.chassis.itemDehydratorCoilWire;
+import gtPlusPlus.core.item.general.chassis.*;
import gtPlusPlus.core.item.general.throwables.ItemHydrofluoricAcidPotion;
import gtPlusPlus.core.item.general.throwables.ItemSulfuricAcidPotion;
import gtPlusPlus.core.item.init.ItemsFoods;
import gtPlusPlus.core.item.init.ItemsMultiTools;
+import gtPlusPlus.core.item.materials.DustDecayable;
import gtPlusPlus.core.item.tool.misc.SandstoneHammer;
-import gtPlusPlus.core.item.tool.staballoy.MultiPickaxeBase;
-import gtPlusPlus.core.item.tool.staballoy.MultiSpadeBase;
-import gtPlusPlus.core.item.tool.staballoy.StaballoyAxe;
-import gtPlusPlus.core.item.tool.staballoy.StaballoyPickaxe;
+import gtPlusPlus.core.item.tool.staballoy.*;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.CORE.ConfigSwitches;
import gtPlusPlus.core.lib.LoadedMods;
@@ -63,19 +47,14 @@ import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
-import gtPlusPlus.core.util.StringUtils;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.data.StringUtils;
import gtPlusPlus.core.util.debug.DEBUG_INIT;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.materials.MaterialUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.everglades.GTplusplus_Everglades;
import gtPlusPlus.xmod.eio.material.MaterialEIO;
-import net.minecraft.item.EnumRarity;
-import net.minecraft.item.Item;
-import net.minecraft.item.Item.ToolMaterial;
-import net.minecraft.item.ItemFood;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
@@ -86,10 +65,10 @@ public final class ModItems {
public static Item ZZZ_Empty;
public static Item AAA_Broken;
+
+
public static Item itemAlkalusDisk;
-
public static Item itemDebugShapeSpawner;
-
public static Item itemBaseSpawnEgg;
//EnderIO
@@ -160,9 +139,6 @@ public final class ModItems {
public static MultiPickaxeBase MP_GTMATERIAL;
public static MultiSpadeBase MS_GTMATERIAL;
- public static BaseItemDecidust itemBaseDecidust;
- public static BaseItemCentidust itemBaseCentidust;
-
public static ItemStack FluidCell;
public static BaseItemBackpack backpack_Red;
@@ -214,7 +190,7 @@ public final class ModItems {
public static Item shardAqua;
//Tc Compat for energy crystal recipes
- public static BaseItemTCShard shardDull;
+ public static Item shardDull;
//Lighter
public static Item itemBasicFireMaker;
@@ -232,38 +208,39 @@ public final class ModItems {
public static Item dustCalciumSulfate;
- public static BaseItemPlate itemPlateClay;
- public static BaseItemPlateDouble itemDoublePlateClay;
-
public static Item dustFertUN18;
public static Item dustFertUN32;
public static Fluid fluidFLiBeSalt;
+
+ //Possibly missing base items that GT may be missing.
+
public static Item itemSmallWroughtIronGear;
+ public static Item itemPlateClay;
public static Item itemPlateLithium;
- public static BaseItemPlate itemPlateEuropium;
- public static BaseItemPlateDouble itemDoublePlateEuropium;
+ public static Item itemPlateEuropium;
+ public static Item itemPlateVanadium;
+ public static Item itemDoublePlateClay;
+ public static Item itemDoublePlateEuropium;
+ public static Item itemFoilUranium235;
- public static itemBoilerChassis itemBoilerChassis;
- public static itemDehydratorCoilWire itemDehydratorCoilWire;
- public static itemDehydratorCoil itemDehydratorCoil;
+ public static Item itemBoilerChassis;
+ public static Item itemDehydratorCoilWire;
+ public static Item itemDehydratorCoil;
public static Item itemLavaFilter;
public static Item itemAirFilter;
public static Item itemCoalCoke;
- public static CoreItem itemCircuitLFTR;
+ public static Item itemCircuitLFTR;
public static Item itemDebugAreaClear;
public static Item itemGemShards;
-
public static Item itemHalfCompleteCasings;
- public static Item itemPlateVanadium;
-
public static Item itemSulfuricPotion;
public static Item itemHydrofluoricPotion;
@@ -271,18 +248,24 @@ public final class ModItems {
public static Item itemCustomBook;
public static Item itemGrindleTablet;
-
public static Item itemRope;
public static Item itemFiber;
-
public static Item itemDragonJar;
- public static final void init(){
+ //Unstable Elements & Related Content
+ public static Item dustNeptunium238;
+ public static Item dustDecayedRadium226;
+ public static Item dustRadium226;
+
- //Default item used when recipes fail, handy for debugging.
+ static {
+ Logger.INFO("Items!");
+ //Default item used when recipes fail, handy for debugging. Let's make sure they exist when this class is called upon.
AAA_Broken = new BaseItemIngot_OLD("AAA_Broken", "Errors - Tell Alkalus", Utils.rgbtoHexValue(128, 128, 128), 0);
ZZZ_Empty = new ItemEmpty();
+ }
+ public static final void init(){
itemAlkalusDisk = new BaseItemDamageable("itemAlkalusDisk", AddToCreativeTab.tabMisc, 1, 0, "Unknown Use", EnumRarity.rare, EnumChatFormatting.AQUA, false, null);
//Debug Loading
@@ -338,8 +321,8 @@ public final class ModItems {
itemBlueprintBase = new ItemBlueprint("itemBlueprint");
itemGemShards = new ItemGemShards("itemGemShards", "Gem Shards", AddToCreativeTab.tabMisc, 32, 0, "They glitter in the light", EnumRarity.rare, EnumChatFormatting.GRAY, false, Utils.rgbtoHexValue(182, 114, 18)).setTextureName(CORE.MODID + ":itemHeliumBlob");
- itemHalfCompleteCasings = new ItemHalfCompleteCasings("itemHalfCompleteCasings", "Half Complete Casing", AddToCreativeTab.tabMisc, 32, 0, "This isn't quite finished yet.", EnumRarity.common, EnumChatFormatting.GRAY, false, Utils.rgbtoHexValue(255, 255, 255)).setTextureName("gregtech" + ":" + "gt.metaitem.01/" + "761");
- itemSulfuricPotion = new ItemSulfuricAcidPotion("itemSulfuricPotion", "Thowable Vial of Sulfuric Acid", "Burn your foes alive!").setTextureName(CORE.MODID + ":itemSulfuricAcidPotion");
+ itemHalfCompleteCasings = new ItemHalfCompleteCasings("itemHalfCompleteCasings", AddToCreativeTab.tabMisc, 32, 0, "This isn't quite finished yet.", EnumRarity.common, EnumChatFormatting.GRAY, false, Utils.rgbtoHexValue(255, 255, 255)).setTextureName("gregtech" + ":" + "gt.metaitem.01/" + "761");
+ itemSulfuricPotion = new ItemSulfuricAcidPotion("itemSulfuricPotion", "Throwable Vial of Sulfuric Acid", "Burn your foes alive!").setTextureName(CORE.MODID + ":itemSulfuricAcidPotion");
itemHydrofluoricPotion = new ItemHydrofluoricAcidPotion("itemHydrofluoricPotion", "Thowable Vial of Hydrofluoric Acid", "They won't see this coming, nor anything after!").setTextureName(CORE.MODID + ":itemPotion");
//Start meta Item Generation
ItemsFoods.load();
@@ -419,6 +402,9 @@ public final class ModItems {
//Plutonium-238 is a very powerful alpha emitter. This makes the plutonium-238 isotope suitable for usage in radioisotope thermoelectric generators (RTGs)
//and radioisotope heater units - one gram of plutonium-238 generates approximately 0.5 W of thermal power.
MaterialGenerator.generateNuclearMaterial(NUCLIDE.getInstance().PLUTONIUM238, false);
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustPlutonium239", 1) == null || Utils.getGregtechVersionAsInt() < 50931) {
+ MaterialGenerator.generateNuclearMaterial(NUCLIDE.getInstance().PLUTONIUM239, false);
+ }
//RTG Fuel Materials
MaterialGenerator.generateNuclearMaterial(NUCLIDE.getInstance().STRONTIUM90, false);
@@ -524,10 +510,9 @@ public final class ModItems {
//Must be the final Alloy to Generate
MaterialGenerator.generate(ALLOY.QUANTUM);
-
//Ores
MaterialGenerator.generateOreMaterial(FLUORIDES.FLUORITE);
- GTplusplus_Secondary.GenerateOreMaterials();
+ GTplusplus_Everglades.GenerateOreMaterials();
} catch (final Throwable r){
@@ -586,7 +571,7 @@ public final class ModItems {
fluidFLiBeSalt = FluidUtils.generateFluid("Li2BeF4", "Li2BeF4", 7430, new short[]{255, 255, 255, 100});
//LFTR Control Circuit
- itemCircuitLFTR = new CoreItem("itemCircuitLFTR", ""+EnumChatFormatting.GREEN+"Thorium Reactor Control Circuit", AddToCreativeTab.tabMisc, 1, 0, "Helps your LFTR not explode", EnumRarity.epic, EnumChatFormatting.DARK_GREEN, false, null);
+ itemCircuitLFTR = new CoreItem("itemCircuitLFTR", ""+EnumChatFormatting.GREEN+"Thorium Reactor Control Circuit", AddToCreativeTab.tabMisc, 1, 0, new String[] {"Helps your LFTR not explode"}, EnumRarity.epic, EnumChatFormatting.DARK_GREEN, false, null);
//Zirconium
@@ -664,14 +649,29 @@ public final class ModItems {
FluidUtils.generateFluidNoPrefix("xpjuice", "xpjuice", 0, new short[]{50, 150, 50, 100});
}
- //Just an unusual plate needed for some black magic.
- itemPlateClay = new BaseItemPlate(MaterialUtils.generateMaterialFromGtENUM(Materials.Clay));
- itemDoublePlateClay = new BaseItemPlateDouble(MaterialUtils.generateMaterialFromGtENUM(Materials.Clay));
+ //Just an unusual plate needed for some black magic.
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateClay", 1) == null){
+ itemPlateClay = new BaseItemPlate(MaterialUtils.generateMaterialFromGtENUM(Materials.Clay));
+ }
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDoubleClay", 1) == null){
+ itemDoublePlateClay = new BaseItemPlateDouble(MaterialUtils.generateMaterialFromGtENUM(Materials.Clay));
+ }
+
+ //Need this for Mutagenic Frames
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foilUranium235", 1) == null){
+ itemFoilUranium235 = new BaseItemFoil(ELEMENT.getInstance().URANIUM235);
+ }
//A small gear needed for wizardry.
if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("gearGtSmallWroughtIron", 1) == null){
itemSmallWroughtIronGear = new BaseItemSmallGear(MaterialUtils.generateMaterialFromGtENUM(Materials.WroughtIron));
}
+
+
+ // A plate of Vanadium.
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateVanadium", 1) == null){
+ itemPlateVanadium = new BaseItemPlate(ELEMENT.getInstance().VANADIUM);
+ }
//A plate of Lithium.
if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateLithium", 1) == null){
@@ -686,20 +686,28 @@ public final class ModItems {
itemDoublePlateEuropium = new BaseItemPlateDouble(MaterialUtils.generateMaterialFromGtENUM(Materials.Europium));
}
- itemBoilerChassis = new itemBoilerChassis();
- itemDehydratorCoilWire = new itemDehydratorCoilWire();
- itemDehydratorCoil = new itemDehydratorCoil();
+ dustNeptunium238 = new DustDecayable("dustNeptunium238", Utils.rgbtoHexValue(175, 240, 75), 50640, new String[] {""+StringUtils.superscript("238Np"), "Result: Plutonium 238 ("+StringUtils.superscript("238Pu")+")"}, NUCLIDE.getInstance().PLUTONIUM238.getDust(1).getItem(), 5);
+ dustDecayedRadium226 = ItemUtils.generateSpecialUseDusts("DecayedRadium226", "Decayed Radium-226", ""+StringUtils.superscript("226Ra"), ELEMENT.getInstance().RADIUM.getRgbAsHex())[0];
+ dustRadium226 = new DustDecayable("dustRadium226", ELEMENT.getInstance().RADIUM.getRgbAsHex(), 90000, new String[] {""+StringUtils.superscript("226Ra"), "Result: Radon 222 ("+StringUtils.superscript("222Rn")+")"}, ItemUtils.getSimpleStack(dustDecayedRadium226).getItem(), 5);
+
+ itemBoilerChassis = new ItemBoilerChassis();
+ itemDehydratorCoilWire = new ItemDehydratorCoilWire();
+ itemDehydratorCoil = new ItemDehydratorCoil();
itemAirFilter = new ItemAirFilter();
itemLavaFilter = new ItemLavaFilter();
itemGrindleTablet = new BaseItemGrindle();
-
itemDragonJar = new ItemEntityCatcher();
//Chemistry
CoalTar.run();
+ //Only used for debugging.
+ /*if (CORE.DEVENV) {
+ new ConnectedBlockFinder();
+ }*/
+
//Misc Items
@SuppressWarnings("unused")
Item tI;
@@ -708,11 +716,6 @@ public final class ModItems {
tI = new BaseItemMisc("Dull", new short[]{64,64,64}, 64, MiscTypes.GEM, null);
tI = new BaseItemMisc("Forest", new short[]{130,164,96}, 64, MiscTypes.MUSHROOM, new String[]{"You Found this on the ground.", "Definitely not sure if it's worth eating."});
- //Vanadium
- if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateVanadium", 1) == null){
- itemPlateVanadium = new BaseItemPlate(MaterialUtils.generateMaterialFromGtENUM(Materials.Vanadium));
- }
-
//Baubles
if (LoadedMods.Baubles){
tI = new HealthBoostBauble();
@@ -745,6 +748,7 @@ public final class ModItems {
GT_OreDictUnificator.registerOre("platePhasedGold", ItemUtils.getSimpleStack(itemPlateVibrantAlloy));
GT_OreDictUnificator.registerOre("dustPhasedIron", ItemUtils.getSimpleStack(itemDustPulsatingIron));
GT_OreDictUnificator.registerOre("platePhasedIron", ItemUtils.getSimpleStack(itemPlatePulsatingIron));
+ GT_OreDictUnificator.registerOre("blockVibrantAlloy", ItemUtils.getItemStackOfAmountFromOreDict("blockPhasedGold", 1));
}
else {
Logger.WARNING("EnderIO not Found - Skipping Resources.");
@@ -755,7 +759,7 @@ public final class ModItems {
Logger.INFO("BigReactors Found - Loading Resources.");
//Item Init
itemPlateBlutonium = ItemUtils.generateSpecialUsePlate("Blutonium", "Blutonium", new short[]{0, 0, 255}, 0);
- itemPlateBlutonium = ItemUtils.generateSpecialUsePlate("Cyanite", "Cyanite", new short[]{0, 191, 255}, 0);
+ itemPlateCyanite = ItemUtils.generateSpecialUsePlate("Cyanite", "Cyanite", new short[]{0, 191, 255}, 0);
itemPlateLudicrite = ItemUtils.generateSpecialUsePlate("Ludicrite", "Ludicrite", new short[]{167, 5, 179}, 0);
}
else {
@@ -770,9 +774,7 @@ public final class ModItems {
ItemUtils.getItemForOreDict("Thaumcraft:ItemResource", "ingotVoidMetal", "Void Metal Ingot", 16);
itemPlateVoidMetal = ItemUtils.generateSpecialUsePlate("Void", "Void", new short[]{82, 17, 82}, 0);
GT_OreDictUnificator.registerOre("plateVoidMetal", new ItemStack(ModItems.itemPlateVoidMetal));
- } catch (final NullPointerException e){
- e.getClass();
- }
+ } catch (final NullPointerException e){}
}
else {
@@ -865,7 +867,7 @@ public final class ModItems {
for(int i=1; i<=10; i++){
//Utils.LOG_INFO(""+i);
itemBufferCore = new BufferCore("itemBufferCore", i).setCreativeTab(AddToCreativeTab.tabMachines);
- GameRegistry.registerItem(itemBufferCore, itemBufferCore.getUnlocalizedName()+i);
+ GameRegistry.registerItem(itemBufferCore, itemBufferCore.getUnlocalizedName());
//System.out.println("Buffer Core registration count is: "+i);
}
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseEuItem.java b/src/Java/gtPlusPlus/core/item/base/BaseEuItem.java
index 8f8d0eed72..1ddffdc9e3 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseEuItem.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseEuItem.java
@@ -1,13 +1,25 @@
package gtPlusPlus.core.item.base;
-import static gregtech.api.enums.GT_Values.D1;
-import static gregtech.api.enums.GT_Values.V;
+import static gregtech.api.enums.GT_Values.*;
import java.util.*;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.SubTag;
@@ -16,19 +28,11 @@ import gregtech.api.interfaces.IItemBehaviour;
import gregtech.api.interfaces.IItemContainer;
import gregtech.api.objects.ItemData;
import gregtech.api.util.*;
+
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.array.Pair;
import ic2.api.item.*;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.item.*;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.IIcon;
public class BaseEuItem extends Item implements ISpecialElectricItem, IElectricItemManager {
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemBackpack.java b/src/Java/gtPlusPlus/core/item/base/BaseItemBackpack.java
index a878ab5254..246620344a 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemBackpack.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemBackpack.java
@@ -3,18 +3,21 @@ package gtPlusPlus.core.item.base;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.GTplusplus;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.handler.GuiHandler;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class BaseItemBackpack extends Item{
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemBrain.java b/src/Java/gtPlusPlus/core/item/base/BaseItemBrain.java
index 815f3c49c0..73ed4afb42 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemBrain.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemBrain.java
@@ -4,6 +4,7 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java b/src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java
index 42aadfa91d..a5db714822 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemBurnable.java
@@ -1,11 +1,12 @@
package gtPlusPlus.core.item.base;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class BaseItemBurnable extends CoreItem {
protected final int meta;
@@ -15,7 +16,7 @@ public class BaseItemBurnable extends CoreItem {
super(unlocalizedName, creativeTab, stackSize, maxDmg, description);
this.itemName = displayName;
this.meta = meta;
- if (!oredictName.equals("") || oredictName != null){
+ if (oredictName != null && !oredictName.equals("")){
registerOrdictionary(oredictName);
}
registerFuel(burnTime);
@@ -26,7 +27,7 @@ public class BaseItemBurnable extends CoreItem {
CORE.burnables.add(new Pair<Integer, ItemStack>(burn, ItemUtils.getSimpleStack(this, 1)));
}
- public void registerOrdictionary(String name){
+ public final void registerOrdictionary(String name){
ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), name);
}
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemColourable.java b/src/Java/gtPlusPlus/core/item/base/BaseItemColourable.java
index 07e70b86de..05af9eaa58 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemColourable.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemColourable.java
@@ -5,14 +5,15 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.world.World;
+
+import gtPlusPlus.core.lib.CORE;
public class BaseItemColourable extends Item
{
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
index 7622838f68..4a1bafb251 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
@@ -5,17 +5,7 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.enums.TextureSet;
-import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.input.KeyboardUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@@ -25,6 +15,22 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gregtech.api.enums.TextureSet;
+import gregtech.api.util.GT_OreDictUnificator;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.state.MaterialState;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.sys.KeyboardUtils;
+import gtPlusPlus.xmod.thaumcraft.aspect.GTPP_Aspects;
+import gtPlusPlus.xmod.thaumcraft.util.ThaumcraftUtils;
+
public class BaseItemComponent extends Item{
public final Material componentMaterial;
@@ -49,6 +55,12 @@ public class BaseItemComponent extends Item{
this.componentColour = material.getRgbAsHex();
GameRegistry.registerItem(this, this.unlocalName);
GT_OreDictUnificator.registerOre(componentType.getOreDictName()+material.getUnlocalizedName(), ItemUtils.getSimpleStack(this));
+ if (LoadedMods.Thaumcraft) {
+ ThaumcraftUtils.addAspectToItem(ItemUtils.getSimpleStack(this), GTPP_Aspects.METALLUM, 1);
+ if (componentMaterial.isRadioactive) {
+ ThaumcraftUtils.addAspectToItem(ItemUtils.getSimpleStack(this), GTPP_Aspects.RADIO, 2);
+ }
+ }
}
//For Cell Generation
@@ -86,7 +98,7 @@ public class BaseItemComponent extends Item{
//return "gregtech" + ":" + "materialicons/"+metType+"/" + this.componentType.COMPONENT_NAME.toLowerCase();
}
- @Override
+ /*@Override
public String getItemStackDisplayName(final ItemStack p_77653_1_) {
if (this.componentType == ComponentTypes.SMALLGEAR){
@@ -97,7 +109,7 @@ public class BaseItemComponent extends Item{
return (this.componentMaterial.getLocalizedName()+this.componentType.DISPLAY_NAME);
}
return this.materialName+" Cell";
- }
+ }*/
public final String getMaterialName() {
return this.materialName;
@@ -224,6 +236,7 @@ public class BaseItemComponent extends Item{
BOLT("Bolt", " Bolt", "bolt"),
ROTOR("Rotor", " Rotor", "rotor"),
RING("Ring", " Ring", "ring"),
+ FOIL("Foil", " Foil", "foil"),
PLASMACELL("CellPlasma", " Plasma Cell", "cellPlasma"),
CELL("Cell", " Cell", "cell"),
NUGGET("Nugget", " Nugget", "nugget"),
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemDamageable.java b/src/Java/gtPlusPlus/core/item/base/BaseItemDamageable.java
index 8ae28fc343..4209ec0a59 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemDamageable.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemDamageable.java
@@ -5,8 +5,7 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
@@ -15,6 +14,9 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+
public class BaseItemDamageable extends Item {
private final EnumRarity rarity;
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemGeneric.java b/src/Java/gtPlusPlus/core/item/base/BaseItemGeneric.java
index 3c55f066da..970d5ec0c8 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemGeneric.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemGeneric.java
@@ -2,12 +2,13 @@ package gtPlusPlus.core.item.base;
import java.util.List;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.lib.CORE;
+
public class BaseItemGeneric extends Item
{
public BaseItemGeneric(final String unlocalizedName, final CreativeTabs c, final int stackSize, final int maxDmg)
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemLoot.java b/src/Java/gtPlusPlus/core/item/base/BaseItemLoot.java
index 1c92fd8455..3d9ff9fa48 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemLoot.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemLoot.java
@@ -2,17 +2,19 @@ package gtPlusPlus.core.item.base;
import java.util.List;
-import gregtech.api.enums.Materials;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Quality;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gregtech.api.enums.Materials;
+
+import gtPlusPlus.api.enums.Quality;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class BaseItemLoot extends Item{
private final String materialName;
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemTCShard.java b/src/Java/gtPlusPlus/core/item/base/BaseItemTCShard.java
index 7eff231e86..4f0db3e2ec 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemTCShard.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemTCShard.java
@@ -3,11 +3,7 @@ package gtPlusPlus.core.item.base;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@@ -15,6 +11,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gregtech.api.util.GT_OreDictUnificator;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class BaseItemTCShard extends Item{
public final String unlocalName;
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java b/src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java
new file mode 100644
index 0000000000..d5b44db9f5
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java
@@ -0,0 +1,327 @@
+package gtPlusPlus.core.item.base;
+
+import java.util.List;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+
+public class BaseItemTickable extends CoreItem {
+
+ public final String[] descriptionString;
+ public final int itemColour;
+ public final int maxTicks;
+ public final boolean twoRenderPasses;
+ public final boolean ticksInContainers;
+
+ public IIcon[] mIcon = new IIcon[2];
+
+ public BaseItemTickable(boolean twoPass, final String unlocalName, final int colour, final int maxTicks) {
+ this(false, twoPass, unlocalName, colour, maxTicks, new String[] {});
+ }
+
+ public BaseItemTickable(boolean containerTick, boolean twoPass, final String unlocalName, final int colour, final int maxTicks) {
+ this(containerTick, twoPass, unlocalName, colour, maxTicks, new String[] {});
+ }
+
+ public BaseItemTickable(boolean containerTick, boolean twoPass, final String unlocalName, final int colour, final int maxTicks, final String[] Description) {
+ super(unlocalName, AddToCreativeTab.tabMisc, 1, 999999999, Description, EnumRarity.epic, EnumChatFormatting.DARK_RED, true, null);
+ this.itemColour = colour;
+ this.descriptionString = Description;
+ this.maxTicks = maxTicks;
+ this.twoRenderPasses = twoPass;
+ this.ticksInContainers = containerTick;
+ //setGregtechItemList();
+ }
+
+ @Override
+ public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, final boolean p_77663_5_) {
+ if (world == null || iStack == null) {
+ return;
+ }
+ tickItemTag(world, iStack);
+ }
+
+ /*private final boolean setGregtechItemList() {
+ ItemList.Component_LavaFilter.set(this);
+ return ItemList.Component_LavaFilter.get(1) != null ? true : false;
+ }*/
+
+ /**
+ *
+ * Handle Custom Rendering
+ *
+ */
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public boolean requiresMultipleRenderPasses(){
+ return this.twoRenderPasses;
+ }
+
+ @Override
+ public int getColorFromItemStack(final ItemStack stack, final int renderPass) {
+ if (renderPass == 1 && this.twoRenderPasses){
+ return Utils.rgbtoHexValue(255, 255, 255);
+ }
+ return this.itemColour;
+ }
+
+ @Override
+ public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) {
+ if (this.twoRenderPasses) {
+ if(pass == 0) {
+ return this.mIcon[0];
+ }
+ return this.mIcon[1];
+ }
+ return this.mIcon[0];
+ }
+
+ @Override
+ public void registerIcons(final IIconRegister i) {
+
+ if (this.twoRenderPasses){
+ this.mIcon[0] = i.registerIcon(CORE.MODID + ":" + this.getUnlocalizedName());
+ this.mIcon[1] = i.registerIcon(CORE.MODID + ":" + this.getUnlocalizedName() + "_OVERLAY");
+ }
+ else {
+ this.mIcon[0] = i.registerIcon(CORE.MODID + ":" + this.getUnlocalizedName());
+ //this.overlay = i.registerIcon(getCorrectTextures() + "_OVERLAY");
+ }
+ }
+
+
+ private boolean createNBT(World world, ItemStack rStack){
+ final NBTTagCompound tagMain = new NBTTagCompound();
+ final NBTTagCompound tagNBT = new NBTTagCompound();
+ tagNBT.setLong("Tick", 0);
+ tagNBT.setLong("maxTick", this.maxTicks);
+ tagNBT.setBoolean("isActive", true);
+
+ //Try set world time
+ if (world != null) {
+ tagNBT.setLong("CreationDate", world.getTotalWorldTime());
+ }
+
+ tagMain.setTag("TickableItem", tagNBT);
+ rStack.setTagCompound(tagMain);
+ return true;
+ }
+
+ public final long getFilterDamage(World world, final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ return aNBT.getLong("Tick");
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return 0L;
+ }
+
+ public final boolean setFilterDamage(World world, final ItemStack aStack, final long aDamage) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ aNBT.setLong("Tick", aDamage);
+ return true;
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return false;
+ }
+
+ public final boolean getIsActive(World world, final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ return aNBT.getBoolean("isActive");
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return true;
+ }
+
+ public final boolean setIsActive(World world, final ItemStack aStack, final boolean active) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ aNBT.setBoolean("isActive", active);
+ return true;
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return false;
+ }
+
+ public final boolean getTicksInContainer(World world, final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ return aNBT.getBoolean("ticksInContainer");
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return false;
+ }
+
+ public final boolean setTicksInContainer(World world, final ItemStack aStack, final boolean active) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ aNBT.setBoolean("ticksInContainer", active);
+ return true;
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return false;
+ }
+
+ public final long getDifferenceInWorldTimeToCreationTime(World world, final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ return (world.getTotalWorldTime() - aNBT.getLong("CreationDate"));
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return 0L;
+ }
+
+ public final boolean setItemStackCreationTime(final ItemStack aStack, World world) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+ if (aNBT != null) {
+ aNBT.setLong("CreationDate", world.getTotalWorldTime());
+ return true;
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return false;
+ }
+
+ public final boolean tickItemTag(World world, ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ if (aNBT.hasKey("TickableItem")) {
+ aNBT = aNBT.getCompoundTag("TickableItem");
+
+ if (!aNBT.hasKey("CreationDate") && world != null) {
+ aNBT.setLong("CreationDate", world.getTotalWorldTime());
+ }
+
+ //Done Ticking
+ if (maxTicks-getFilterDamage(world, aStack) <= 0) {
+ setIsActive(world, aStack, false);
+ }
+ if (getIsActive(world, aStack)) {
+ if (aNBT != null) {
+
+ //if ((world.getTotalWorldTime()-))
+
+ // Just tick once
+ aNBT.setLong("Tick", getFilterDamage(world, aStack)+1);
+
+
+ return true;
+ }
+ }
+ }
+ }
+ else {
+ createNBT(world, aStack);
+ }
+ return false;
+ }
+
+ @Override
+ public double getDurabilityForDisplay(ItemStack stack) {
+ if (stack.getTagCompound() == null){
+ createNBT(null, stack);
+ }
+ double currentDamage = getFilterDamage(null, stack);
+ double durabilitypercent = currentDamage / maxTicks;
+ return durabilitypercent;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
+ World world = player.getEntityWorld();
+ if (this.descriptionString.length > 0) {
+ list.add(EnumChatFormatting.GRAY+this.descriptionString[0]);
+ }
+ EnumChatFormatting durability = EnumChatFormatting.GRAY;
+ if (maxTicks-getFilterDamage(world, stack) > (maxTicks*0.8)){
+ durability = EnumChatFormatting.GRAY;
+ }
+ else if (maxTicks-getFilterDamage(world, stack) > (maxTicks*0.6)){
+ durability = EnumChatFormatting.GREEN;
+ }
+ else if (maxTicks-getFilterDamage(world, stack) > (maxTicks*0.4)){
+ durability = EnumChatFormatting.YELLOW;
+ }
+ else if (maxTicks-getFilterDamage(world, stack) > (maxTicks*0.2)){
+ durability = EnumChatFormatting.GOLD;
+ }
+ else if (maxTicks-getFilterDamage(world, stack) > 0){
+ durability = EnumChatFormatting.RED;
+ }
+ list.add(durability+""+((maxTicks-getFilterDamage(world, stack))/20)+EnumChatFormatting.GRAY+" seconds until decay");
+
+ if (this.descriptionString.length > 1) {
+ for (int h=1;h<this.descriptionString.length;h++) {
+ list.add(EnumChatFormatting.GRAY+this.descriptionString[h]);
+ }
+ }
+
+ //super.addInformation(stack, player, list, bool);
+ }
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return false;
+ }
+
+
+}
+
+
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemWithCharge.java b/src/Java/gtPlusPlus/core/item/base/BaseItemWithCharge.java
index 33d7602b4e..d81112e0c6 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemWithCharge.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemWithCharge.java
@@ -2,8 +2,6 @@ package gtPlusPlus.core.item.base;
import java.util.List;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@@ -12,6 +10,9 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+
public class BaseItemWithCharge extends Item{
public int int_Charge = 0;
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java b/src/Java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java
index 4c9ad1e486..14597ae876 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java
@@ -2,11 +2,11 @@ package gtPlusPlus.core.item.base;
import java.util.List;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
+
+import gtPlusPlus.core.lib.CORE;
public class BaseItemWithDamageValue extends Item{
public BaseItemWithDamageValue(final String unlocalizedName) {
@@ -22,7 +22,6 @@ public class BaseItemWithDamageValue extends Item{
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
- list.add(EnumChatFormatting.GOLD+"");
super.addInformation(stack, aPlayer, list, bool);
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/item/base/BasicSpawnEgg.java b/src/Java/gtPlusPlus/core/item/base/BasicSpawnEgg.java
index 04bb1d59d8..57d42d721e 100644
--- a/src/Java/gtPlusPlus/core/item/base/BasicSpawnEgg.java
+++ b/src/Java/gtPlusPlus/core/item/base/BasicSpawnEgg.java
@@ -5,18 +5,22 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockLiquid;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.*;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemMonsterPlacer;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.*;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+
public class BasicSpawnEgg extends ItemMonsterPlacer
@@ -241,7 +245,7 @@ public class BasicSpawnEgg extends ItemMonsterPlacer
return this.colorSpots;
}
- public void setEntityToSpawnName(final String parEntityToSpawnName){
+ public final void setEntityToSpawnName(final String parEntityToSpawnName){
this.entityToSpawnName = parEntityToSpawnName;
this.entityToSpawnNameFull = this.entityMODID+"."+this.entityToSpawnName;
}
diff --git a/src/Java/gtPlusPlus/core/item/base/CoreItem.java b/src/Java/gtPlusPlus/core/item/base/CoreItem.java
index 3b0fa7b621..6c7f9cf6db 100644
--- a/src/Java/gtPlusPlus/core/item/base/CoreItem.java
+++ b/src/Java/gtPlusPlus/core/item/base/CoreItem.java
@@ -5,21 +5,25 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+
public class CoreItem extends Item
{
private final EnumRarity rarity;
private final EnumChatFormatting descColour;
- private final String itemDescription;
+ private final String[] itemDescription;
protected String itemName;
private final boolean hasEffect;
@@ -38,7 +42,7 @@ public class CoreItem extends Item
//0
/*
* Name, Tab - 64 Stack, 0 Dmg
- */
+ */
public CoreItem(final String unlocalizedName, final String displayName, final CreativeTabs creativeTab)
{
this(unlocalizedName, creativeTab, 64, 0); //Calls 3
@@ -51,7 +55,7 @@ public class CoreItem extends Item
*/
public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final ItemStack OverrideItem)
{
- this(unlocalizedName, creativeTab, 64, 0, "This item will be replaced by another when held by a player, it is old and should not be used in recipes.", EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
+ this(unlocalizedName, creativeTab, 64, 0, new String[] {"This item will be replaced by another when held by a player, it is old and should not be used in recipes."}, EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
}
//0.1
/*
@@ -59,7 +63,7 @@ public class CoreItem extends Item
*/
public CoreItem(final String unlocalizedName, final String displayName, final CreativeTabs creativeTab, final ItemStack OverrideItem)
{
- this(unlocalizedName, creativeTab, 64, 0, "This item will be replaced by another when held by a player, it is old and should not be used in recipes.", EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
+ this(unlocalizedName, creativeTab, 64, 0, new String[] {"This item will be replaced by another when held by a player, it is old and should not be used in recipes."}, EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
this.itemName = displayName;
}
@@ -75,7 +79,7 @@ public class CoreItem extends Item
/*
* Name, Tab, Stack, Description - 0 Dmg
*/
- public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final String description)
+ public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final String[] description)
{
this(unlocalizedName, creativeTab, stackSize, 0, description); //Calls 4
}
@@ -83,15 +87,21 @@ public class CoreItem extends Item
/*
* Name, Tab, Stack, Dmg - Description
*/
+ public CoreItem(String unlocalizedName, CreativeTabs creativeTab, int stackSize, String string) {
+ this(unlocalizedName, creativeTab, stackSize, new String[] {string});
+ }
public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg)
{
- this(unlocalizedName, creativeTab, stackSize, maxDmg, ""); //Calls 4
+ this(unlocalizedName, creativeTab, stackSize, maxDmg, new String[] {}); //Calls 4
}
//4 //Not Rare + basic tooltip
/*
* Name, Tab, Stack, Dmg, Description
*/
- public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String description)
+ public CoreItem(String unlocalizedName, CreativeTabs creativeTab, int stackSize, int maxDmg, String string) {
+ this(unlocalizedName, creativeTab, stackSize, maxDmg, new String[] {string});
+ }
+ public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String[] description)
{
this(unlocalizedName, creativeTab, stackSize, maxDmg, description, EnumRarity.common, EnumChatFormatting.GRAY, false, null); //Calls 4.5
}
@@ -99,7 +109,7 @@ public class CoreItem extends Item
/*
* Name, Tab, Stack, Dmg, Description, Text Colour - Common
*/
- public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String description, final EnumChatFormatting colour)
+ public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String[] description, final EnumChatFormatting colour)
{
this(unlocalizedName, creativeTab, stackSize, maxDmg, description, EnumRarity.common, colour, false, null); //Calls 5
}
@@ -108,7 +118,10 @@ public class CoreItem extends Item
/*
* Name, Tab, Stack, Dmg, Description, Rarity - Gray text
*/
- public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String description, final EnumRarity rarity)
+ public CoreItem(String unlocalizedName, CreativeTabs creativeTab, int stackSize, int maxDmg, String string, EnumRarity uncommon) {
+ this(unlocalizedName, creativeTab, stackSize, maxDmg, new String[] {string}, uncommon);
+ }
+ public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String[] description, final EnumRarity rarity)
{
this(unlocalizedName, creativeTab, stackSize, maxDmg, description, rarity, EnumChatFormatting.GRAY, false, null); //Calls 5
}
@@ -117,7 +130,7 @@ public class CoreItem extends Item
/*
* Name, Tab, Stack, Dmg, Description, Rarity, Text Colour, Effect
*/
- public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String description, final EnumRarity regRarity, final EnumChatFormatting colour, final boolean Effect, final ItemStack OverrideItem)
+ public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String[] description, final EnumRarity regRarity, final EnumChatFormatting colour, final boolean Effect, final ItemStack OverrideItem)
{
this.setUnlocalizedName(unlocalizedName);
this.setTextureName(CORE.MODID + ":" + unlocalizedName);
@@ -136,7 +149,7 @@ public class CoreItem extends Item
/*
* Name, Tab, Stack, Dmg, Description, Rarity, Text Colour, Effect
*/
- public CoreItem(final String unlocalizedName, final String displayName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String description, final EnumRarity regRarity, final EnumChatFormatting colour, final boolean Effect, final ItemStack OverrideItem)
+ public CoreItem(final String unlocalizedName, final String displayName, final CreativeTabs creativeTab, final int stackSize, final int maxDmg, final String[] description, final EnumRarity regRarity, final EnumChatFormatting colour, final boolean Effect, final ItemStack OverrideItem)
{
this.setUnlocalizedName(unlocalizedName);
this.itemName = displayName;
@@ -150,11 +163,16 @@ public class CoreItem extends Item
this.hasEffect = Effect;
this.turnsInto = OverrideItem;
GameRegistry.registerItem(this, unlocalizedName);
- }
+ }
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
+ if (this.itemDescription.length > 0) {
+ for (int u=0;u<this.itemDescription.length;u++) {
+ list.add(this.descColour+this.itemDescription[u]);
+ }
+ }
//list.add(this.descColour+this.itemDescription);
//super.addInformation(stack, aPlayer, list, bool);
}
@@ -194,11 +212,11 @@ public class CoreItem extends Item
}
}
- @Override
+/* @Override
public String getItemStackDisplayName(final ItemStack tItem) {
if ((this.itemName == null) || this.itemName.equals("")) {
return super.getItemStackDisplayName(tItem);
}
return this.itemName;
- }
+ }*/
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/item/base/cell/BaseItemCell.java b/src/Java/gtPlusPlus/core/item/base/cell/BaseItemCell.java
index 275e7bbb3a..688483b831 100644
--- a/src/Java/gtPlusPlus/core/item/base/cell/BaseItemCell.java
+++ b/src/Java/gtPlusPlus/core/item/base/cell/BaseItemCell.java
@@ -1,17 +1,15 @@
package gtPlusPlus.core.item.base.cell;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import ic2.core.Ic2Items;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidContainerRegistry;
@@ -21,7 +19,7 @@ public class BaseItemCell extends BaseItemComponent{
public BaseItemCell(final Material material) {
super(material, BaseItemComponent.ComponentTypes.CELL);
- this.fluidColour = (short[]) ((material == null) ? this.extraData : material.getRGBA());
+ this.fluidColour = (short[]) material.getRGBA();
//FluidContainerRegistry.registerFluidContainer(material.getFluid(1000), ItemUtils.getSimpleStack(this), Ic2Items.cell.copy());
}
diff --git a/src/Java/gtPlusPlus/core/item/base/cell/BaseItemPlasmaCell.java b/src/Java/gtPlusPlus/core/item/base/cell/BaseItemPlasmaCell.java
index fc9ebc67be..23d1d022fa 100644
--- a/src/Java/gtPlusPlus/core/item/base/cell/BaseItemPlasmaCell.java
+++ b/src/Java/gtPlusPlus/core/item/base/cell/BaseItemPlasmaCell.java
@@ -2,10 +2,7 @@ package gtPlusPlus.core.item.base.cell;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.item.base.BaseItemComponent;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
@@ -13,6 +10,11 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gtPlusPlus.core.item.base.BaseItemComponent;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.util.Utils;
+
public class BaseItemPlasmaCell extends BaseItemComponent{
private IIcon base;
@@ -24,7 +26,7 @@ public class BaseItemPlasmaCell extends BaseItemComponent{
public BaseItemPlasmaCell(final Material material) {
super(material, ComponentTypes.PLASMACELL);
- this.fluidColour = (short[]) ((material == null) ? this.extraData : material.getRGBA());
+ this.fluidColour = (short[]) material.getRGBA();
}
@Override
diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java
index e75d2a69e8..59d97c306d 100644
--- a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java
+++ b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java
@@ -5,20 +5,23 @@ import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class BaseItemDust extends Item{
@@ -97,7 +100,15 @@ public class BaseItemDust extends Item{
@Override
public String getItemStackDisplayName(final ItemStack iStack) {
- if (this.getUnlocalizedName().contains("DustTiny")){
+ String unlocal = super.getItemStackDisplayName(iStack);
+ if (!unlocal.toLowerCase().contains(".name")) {
+ return unlocal;
+ }
+ else {
+ return unlocal;
+ }
+
+ /*if (this.getUnlocalizedName().contains("DustTiny")){
this.name = "Tiny Pile of "+this.materialName + " Dust";
}
else if (this.getUnlocalizedName().contains("DustSmall")){
@@ -106,7 +117,7 @@ public class BaseItemDust extends Item{
else {
this.name = this.materialName + " Dust";
}
- return this.name;
+ return this.name;*/
}
protected final int sRadiation;
@@ -131,12 +142,12 @@ public class BaseItemDust extends Item{
if (stack.getDisplayName().equalsIgnoreCase("fluorite")){
list.add("Mined from Sandstone and Limestone.");
}
- if (this.sRadiation > 0){
- list.add(CORE.GT_Tooltip_Radioactive);
- }
if (this.dustInfo != null){
list.add(this.dustInfo.vChemicalFormula);
}
+ if (this.sRadiation > 0){
+ list.add(CORE.GT_Tooltip_Radioactive);
+ }
//}
diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustAbstract.java b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustAbstract.java
index 2062094159..8ee871e9c4 100644
--- a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustAbstract.java
+++ b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustAbstract.java
@@ -3,11 +3,13 @@ package gtPlusPlus.core.item.base.dusts;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.lib.CORE;
+
public abstract class BaseItemDustAbstract extends Item{
protected int colour = 0;
@@ -17,7 +19,7 @@ public abstract class BaseItemDustAbstract extends Item{
public BaseItemDustAbstract(final String unlocalizedName, final String materialName, final int colour, final String pileSize) {
this.setUnlocalizedName(unlocalizedName);
this.setMaxStackSize(64);
- if (pileSize.toLowerCase().equals("dust")){
+ if (pileSize.equalsIgnoreCase("dust")){
this.setTextureName(CORE.MODID + ":" + "dust");
}
else{
@@ -37,6 +39,6 @@ public abstract class BaseItemDustAbstract extends Item{
public abstract String getMaterialName();
@Override
- public abstract int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF);
+ public abstract int getColorFromItemStack(ItemStack stack, int hex);
}
diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustUnique.java b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustUnique.java
index 64155df7c4..df46dd2052 100644
--- a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustUnique.java
+++ b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustUnique.java
@@ -5,15 +5,18 @@ import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.StringUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.data.StringUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class BaseItemDustUnique extends Item{
diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemCentidust.java b/src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemCentidust.java
index aff5431e9d..c6aff85da1 100644
--- a/src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemCentidust.java
+++ b/src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemCentidust.java
@@ -3,14 +3,16 @@ package gtPlusPlus.core.item.base.dusts.decimal;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+
public class BaseItemCentidust extends Item{
final Material dustMaterial;
diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemDecidust.java b/src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemDecidust.java
index ce68c36d96..2d1b4a8d27 100644
--- a/src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemDecidust.java
+++ b/src/Java/gtPlusPlus/core/item/base/dusts/decimal/BaseItemDecidust.java
@@ -3,14 +3,16 @@ package gtPlusPlus.core.item.base.dusts.decimal;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+
public class BaseItemDecidust extends Item{
final Material dustMaterial;
diff --git a/src/Java/gtPlusPlus/core/item/base/foil/BaseItemFoil.java b/src/Java/gtPlusPlus/core/item/base/foil/BaseItemFoil.java
new file mode 100644
index 0000000000..3e2816bf52
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/base/foil/BaseItemFoil.java
@@ -0,0 +1,11 @@
+package gtPlusPlus.core.item.base.foil;
+
+import gtPlusPlus.core.item.base.BaseItemComponent;
+import gtPlusPlus.core.material.Material;
+
+public class BaseItemFoil extends BaseItemComponent{
+
+ public BaseItemFoil(final Material material) {
+ super(material, BaseItemComponent.ComponentTypes.FOIL);
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/item/base/foods/BaseItemFood.java b/src/Java/gtPlusPlus/core/item/base/foods/BaseItemFood.java
index 2ea6afb166..54aa90c03f 100644
--- a/src/Java/gtPlusPlus/core/item/base/foods/BaseItemFood.java
+++ b/src/Java/gtPlusPlus/core/item/base/foods/BaseItemFood.java
@@ -1,14 +1,16 @@
package gtPlusPlus.core.item.base.foods;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+
public class BaseItemFood extends ItemFood {
private final PotionEffect[] effects;
diff --git a/src/Java/gtPlusPlus/core/item/base/foods/BaseItemHotFood.java b/src/Java/gtPlusPlus/core/item/base/foods/BaseItemHotFood.java
index 5f737b47a0..528b9593e6 100644
--- a/src/Java/gtPlusPlus/core/item/base/foods/BaseItemHotFood.java
+++ b/src/Java/gtPlusPlus/core/item/base/foods/BaseItemHotFood.java
@@ -2,10 +2,6 @@ package gtPlusPlus.core.item.base.foods;
import java.util.List;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@@ -14,6 +10,11 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class BaseItemHotFood extends BaseItemFood{
protected String materialName;
diff --git a/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java b/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java
index 26b3ff2ce7..2ba52eda6b 100644
--- a/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java
+++ b/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java
@@ -1,11 +1,13 @@
package gtPlusPlus.core.item.base.ingots;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class BaseItemIngot extends BaseItemComponent{
diff --git a/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java b/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java
index 329fae509a..a6206e7e08 100644
--- a/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java
+++ b/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java
@@ -2,13 +2,7 @@ package gtPlusPlus.core.item.base.ingots;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.enums.GT_Values;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.item.base.BaseItemComponent;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
@@ -16,6 +10,15 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gregtech.api.enums.GT_Values;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.item.base.BaseItemComponent;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class BaseItemIngotHot extends BaseItemIngot{
private final ItemStack outputIngot;
diff --git a/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java b/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java
index 8534172bbb..6ad323333f 100644
--- a/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java
+++ b/src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java
@@ -1,18 +1,21 @@
package gtPlusPlus.core.item.base.ingots;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class BaseItemIngot_OLD extends Item{
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java
index 35be477618..8ccf435b46 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java
@@ -2,12 +2,13 @@ package gtPlusPlus.core.item.base.itemblock;
import java.util.List;
-import gtPlusPlus.api.interfaces.ITileTooltip;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.api.interfaces.ITileTooltip;
+
public class ItemBlockBasicTile extends ItemBlock{
private final int mID;
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTooltip.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTooltip.java
index d94bb218ea..f46af5e823 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTooltip.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTooltip.java
@@ -2,12 +2,13 @@ package gtPlusPlus.core.item.base.itemblock;
import java.util.List;
-import gtPlusPlus.api.interfaces.ITileTooltip;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.api.interfaces.ITileTooltip;
+
public class ItemBlockBasicTooltip extends ItemBlock{
protected final int mID;
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockEntityBase.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockEntityBase.java
index b13e6b22bc..0ca5197ee0 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockEntityBase.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockEntityBase.java
@@ -2,14 +2,15 @@ package gtPlusPlus.core.item.base.itemblock;
import java.util.List;
-import gtPlusPlus.core.block.general.BlockTankXpConverter;
-import gtPlusPlus.core.creative.AddToCreativeTab;
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 gtPlusPlus.core.block.general.BlockTankXpConverter;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+
public class ItemBlockEntityBase extends ItemBlock {
public ItemBlockEntityBase(final Block block) {
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockFluid.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockFluid.java
index f7da55cc2c..84fae41bb0 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockFluid.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockFluid.java
@@ -2,16 +2,17 @@ package gtPlusPlus.core.item.base.itemblock;
import java.util.List;
-import gtPlusPlus.core.fluids.BlockFluidBase;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.fluids.BlockFluidBase;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class ItemBlockFluid extends ItemBlock{
protected final int blockColour;
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java
index 80db3a908e..f9594822ab 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java
@@ -2,12 +2,6 @@ package gtPlusPlus.core.item.base.itemblock;
import java.util.List;
-import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.core.block.base.BlockBaseModular;
-import gtPlusPlus.core.block.base.BlockBaseOre;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@@ -15,6 +9,11 @@ import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gtPlusPlus.core.block.base.BlockBaseModular;
+import gtPlusPlus.core.block.base.BlockBaseOre;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+
public class ItemBlockGtBlock extends ItemBlock{
protected final int blockColour;
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtFrameBox.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtFrameBox.java
index 5196fb7134..74dd2f196c 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtFrameBox.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtFrameBox.java
@@ -1,11 +1,10 @@
package gtPlusPlus.core.item.base.itemblock;
-import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.core.block.base.BlockBaseModular;
-import gtPlusPlus.core.util.item.ItemUtils;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
+import gtPlusPlus.core.block.base.BlockBaseModular;
+
public class ItemBlockGtFrameBox extends ItemBlock{
protected int blockColour;
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java
index 9cf3f796df..1d48bbbbf9 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java
@@ -1,6 +1,7 @@
package gtPlusPlus.core.item.base.itemblock;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlockWithMetadata;
import net.minecraft.item.ItemStack;
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java
index 4ac7c7f5ff..99367c5ef5 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java
@@ -1,9 +1,7 @@
package gtPlusPlus.core.item.base.itemblock;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.tileentities.base.TileEntityBase;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import java.util.List;
+
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@@ -13,12 +11,38 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.interfaces.ITileTooltip;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.tileentities.base.TileEntityBase;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+
public class ItemBlockNBT extends ItemBlock {
+
+ protected final int mID;
+
public ItemBlockNBT(final Block block) {
super(block);
+ this.mID = ((ITileTooltip) block).getTooltipID();
+ }
+
+
+ @Override
+ public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
+
+ //if ()
+
+
+
+ if (this.mID == 0){ //blockDarkWorldPortalFrame
+ list.add("Assembled in the same shape as the Nether Portal.");
+ }
}
+
+
@Override
public void onCreated(ItemStack item, World world, EntityPlayer player) {
addNBT(player, item);
@@ -59,17 +83,13 @@ public class ItemBlockNBT extends ItemBlock {
@Override
public boolean placeBlockAt(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int side,
float hitX, float hitY, float hitZ, int aMeta) {
-
-
-
if (!(aWorld.setBlock(aX, aY, aZ, this.field_150939_a, 0, 3))) {
return false;
}
if (aWorld.getBlock(aX, aY, aZ) == this.field_150939_a) {
this.field_150939_a.onBlockPlacedBy(aWorld, aX, aY, aZ, aPlayer, aStack);
this.field_150939_a.onPostBlockPlaced(aWorld, aX, aY, aZ, aMeta);
- }
-
+ }
TileEntityBase tTileEntity = (TileEntityBase) aWorld.getTileEntity(aX, aY, aZ);
if (tTileEntity != null && aPlayer != null) {
if (tTileEntity.isServerSide()){
@@ -78,7 +98,6 @@ public class ItemBlockNBT extends ItemBlock {
tTileEntity.setOwnerInformation(aNBT.getString("mOwner"), aNBT.getString("mUUID"), aNBT.getBoolean("mOP"));
}
}
-
return true;
}
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java
index 7aae98ca22..91dcf97f5b 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java
@@ -2,13 +2,6 @@ package gtPlusPlus.core.item.base.itemblock;
import java.util.List;
-import gtPlusPlus.core.block.base.BlockBaseOre;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.material.ORES;
-import gtPlusPlus.core.material.nuclear.FLUORIDES;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.entity.EntityUtils;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@@ -16,6 +9,13 @@ import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gtPlusPlus.core.block.base.BlockBaseOre;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.nuclear.FLUORIDES;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+
public class ItemBlockOre extends ItemBlock{
private final BlockBaseOre mThisOre;
diff --git a/src/Java/gtPlusPlus/core/item/base/misc/BaseItemMisc.java b/src/Java/gtPlusPlus/core/item/base/misc/BaseItemMisc.java
index 96dd2c5a16..25070ad817 100644
--- a/src/Java/gtPlusPlus/core/item/base/misc/BaseItemMisc.java
+++ b/src/Java/gtPlusPlus/core/item/base/misc/BaseItemMisc.java
@@ -5,12 +5,7 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@@ -20,6 +15,14 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gregtech.api.util.GT_OreDictUnificator;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class BaseItemMisc extends Item{
public final String displayName;
diff --git a/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java b/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
index e2de72fa57..08517776ec 100644
--- a/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
+++ b/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
@@ -5,15 +5,7 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@@ -22,6 +14,19 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gregtech.api.util.GT_OreDictUnificator;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.state.MaterialState;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.thaumcraft.aspect.GTPP_Aspects;
+import gtPlusPlus.xmod.thaumcraft.util.ThaumcraftUtils;
+
public class BaseOreComponent extends Item{
@SideOnly(Side.CLIENT)
@@ -48,6 +53,13 @@ public class BaseOreComponent extends Item{
this.componentColour = material.getRgbAsHex();
GameRegistry.registerItem(this, this.unlocalName);
GT_OreDictUnificator.registerOre(componentType.getComponent()+material.getUnlocalizedName(), ItemUtils.getSimpleStack(this));
+ if (LoadedMods.Thaumcraft) {
+ ThaumcraftUtils.addAspectToItem(ItemUtils.getSimpleStack(this), GTPP_Aspects.METALLUM, 2);
+ if (componentMaterial.isRadioactive) {
+ ThaumcraftUtils.addAspectToItem(ItemUtils.getSimpleStack(this), GTPP_Aspects.RADIO, 4);
+ }
+ }
+
}
public String getCorrectTextures(){
@@ -57,10 +69,10 @@ public class BaseOreComponent extends Item{
return "gregtech" + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME;
}
- @Override
+ /*@Override
public String getItemStackDisplayName(final ItemStack p_77653_1_) {
return (this.componentType.getPrefix()+this.componentMaterial.getLocalizedName()+this.componentType.DISPLAY_NAME);
- }
+ }*/
public final String getMaterialName() {
return this.materialName;
@@ -69,9 +81,7 @@ public class BaseOreComponent extends Item{
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public final void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
-
- if ((this.materialName != null) && (this.materialName != "") && !this.materialName.equals("") && (this.componentMaterial != null)){
-
+ if (this.materialName != null && !this.materialName.equals("")){
if (this.componentMaterial != null){
if (!this.componentMaterial.vChemicalFormula.equals("??") && !this.componentMaterial.vChemicalFormula.equals("?") && this.componentMaterial.getState() != MaterialState.PURE_LIQUID) {
list.add(Utils.sanitizeStringKeepBrackets(this.componentMaterial.vChemicalFormula));
diff --git a/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java b/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java
index 231b593356..34d44cd43e 100644
--- a/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java
+++ b/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java
@@ -3,7 +3,7 @@ package gtPlusPlus.core.item.base.plates;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.materials.MaterialUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
public class BaseItemPlate extends BaseItemComponent{
diff --git a/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlateDouble.java b/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlateDouble.java
index c56889a5dd..373f84b7c5 100644
--- a/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlateDouble.java
+++ b/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlateDouble.java
@@ -1,8 +1,9 @@
package gtPlusPlus.core.item.base.plates;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.material.Material;
-import net.minecraft.item.ItemStack;
public class BaseItemPlateDouble extends BaseItemComponent{
diff --git a/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate_OLD.java b/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate_OLD.java
index 86f61c7251..ec3f449b0a 100644
--- a/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate_OLD.java
+++ b/src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate_OLD.java
@@ -3,19 +3,22 @@ package gtPlusPlus.core.item.base.plates;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.StringUtils;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gregtech.api.util.GT_OreDictUnificator;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.data.StringUtils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class BaseItemPlate_OLD extends Item{
protected final int colour;
diff --git a/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java b/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java
index 0259a6c6f3..f0a0f9f4ea 100644
--- a/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java
+++ b/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java
@@ -1,10 +1,12 @@
package gtPlusPlus.core.item.base.rods;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.material.Material;
-import net.minecraft.item.ItemStack;
public class BaseItemRod extends BaseItemComponent{
diff --git a/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java b/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java
index 1ac307d68c..0870683c46 100644
--- a/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java
+++ b/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java
@@ -1,11 +1,13 @@
package gtPlusPlus.core.item.base.rods;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class BaseItemRodLong extends BaseItemComponent{
diff --git a/src/Java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java b/src/Java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java
index 733a8aa9d7..af74c1d535 100644
--- a/src/Java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java
+++ b/src/Java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java
@@ -1,11 +1,13 @@
package gtPlusPlus.core.item.base.screws;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class BaseItemScrew extends BaseItemComponent{
diff --git a/src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java b/src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java
index ecaec4318f..2661d3a3b0 100644
--- a/src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java
+++ b/src/Java/gtPlusPlus/core/item/bauble/BaseBauble.java
@@ -7,17 +7,10 @@ import java.util.UUID;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
-import baubles.api.BaubleType;
-import baubles.api.IBauble;
-import baubles.common.container.InventoryBaubles;
-import baubles.common.lib.PlayerHandler;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils.BT;
-import gtPlusPlus.core.util.nbt.NBTUtils;
+
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
@@ -25,6 +18,15 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
+
+import baubles.api.BaubleType;
+import baubles.api.IBauble;
+import baubles.common.container.InventoryBaubles;
+import baubles.common.lib.PlayerHandler;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils.BT;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
@Optional.InterfaceList(value = { @Optional.Interface(iface = "baubles.api.IBauble", modid = "Baubles"),
diff --git a/src/Java/gtPlusPlus/core/item/bauble/HealthBoostBauble.java b/src/Java/gtPlusPlus/core/item/bauble/HealthBoostBauble.java
index 50c5a1823a..49ce7ad715 100644
--- a/src/Java/gtPlusPlus/core/item/bauble/HealthBoostBauble.java
+++ b/src/Java/gtPlusPlus/core/item/bauble/HealthBoostBauble.java
@@ -4,8 +4,6 @@ import java.util.List;
import com.google.common.collect.Multimap;
-import baubles.api.BaubleType;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
@@ -13,6 +11,9 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
+import baubles.api.BaubleType;
+import gtPlusPlus.core.lib.CORE;
+
public class HealthBoostBauble extends BaseBauble{
diff --git a/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java b/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java
index b7c2b6ae89..a8d216e1bc 100644
--- a/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java
+++ b/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java
@@ -6,15 +6,9 @@ import org.lwjgl.input.Keyboard;
import com.google.common.collect.Multimap;
-import baubles.api.BaubleType;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils.BT;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils.Modifiers;
-import gtPlusPlus.core.util.nbt.NBTUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
@@ -23,7 +17,17 @@ import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.util.*;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+
+import baubles.api.BaubleType;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils.BT;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils.Modifiers;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
public class ModularBauble extends BaseBauble {
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
index dcbbccf048..724558b9b7 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
@@ -1,18 +1,22 @@
package gtPlusPlus.core.item.chemistry;
-import gregtech.api.enums.*;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/core/item/effects/RarityEffect.java b/src/Java/gtPlusPlus/core/item/effects/RarityEffect.java
index b30f956b53..7cfd64a2e7 100644
--- a/src/Java/gtPlusPlus/core/item/effects/RarityEffect.java
+++ b/src/Java/gtPlusPlus/core/item/effects/RarityEffect.java
@@ -2,8 +2,11 @@ package gtPlusPlus.core.item.effects;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
/*
*
diff --git a/src/Java/gtPlusPlus/core/item/effects/RarityEpic.java b/src/Java/gtPlusPlus/core/item/effects/RarityEpic.java
index 25bdc71349..74ee5ab12c 100644
--- a/src/Java/gtPlusPlus/core/item/effects/RarityEpic.java
+++ b/src/Java/gtPlusPlus/core/item/effects/RarityEpic.java
@@ -2,8 +2,11 @@ package gtPlusPlus.core.item.effects;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
public class RarityEpic extends Item {
diff --git a/src/Java/gtPlusPlus/core/item/effects/RarityRare.java b/src/Java/gtPlusPlus/core/item/effects/RarityRare.java
index 7b5ba69efc..60d5a681b9 100644
--- a/src/Java/gtPlusPlus/core/item/effects/RarityRare.java
+++ b/src/Java/gtPlusPlus/core/item/effects/RarityRare.java
@@ -2,8 +2,11 @@ package gtPlusPlus.core.item.effects;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
public class RarityRare extends Item {
diff --git a/src/Java/gtPlusPlus/core/item/effects/RarityUncommon.java b/src/Java/gtPlusPlus/core/item/effects/RarityUncommon.java
index 82c5c55fff..1ce8eec5d8 100644
--- a/src/Java/gtPlusPlus/core/item/effects/RarityUncommon.java
+++ b/src/Java/gtPlusPlus/core/item/effects/RarityUncommon.java
@@ -2,7 +2,10 @@ package gtPlusPlus.core.item.effects;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.item.*;
+
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
public class RarityUncommon extends Item {
diff --git a/src/Java/gtPlusPlus/core/item/general/BaseItemGrindle.java b/src/Java/gtPlusPlus/core/item/general/BaseItemGrindle.java
index 66fd6968e4..50611c4d01 100644
--- a/src/Java/gtPlusPlus/core/item/general/BaseItemGrindle.java
+++ b/src/Java/gtPlusPlus/core/item/general/BaseItemGrindle.java
@@ -5,12 +5,7 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.util.GT_OreDictUnificator;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.handler.GuiHandler;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
@@ -18,6 +13,14 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gregtech.api.util.GT_OreDictUnificator;
+
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.handler.GuiHandler;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class BaseItemGrindle extends Item{
protected final String unlocalName;
diff --git a/src/Java/gtPlusPlus/core/item/general/BedLocator_Base.java b/src/Java/gtPlusPlus/core/item/general/BedLocator_Base.java
index 55efc50c4e..5aa2e4ae9e 100644
--- a/src/Java/gtPlusPlus/core/item/general/BedLocator_Base.java
+++ b/src/Java/gtPlusPlus/core/item/general/BedLocator_Base.java
@@ -2,8 +2,6 @@ package gtPlusPlus.core.item.general;
import java.util.List;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@@ -12,6 +10,9 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+
public class BedLocator_Base extends Item{
public int bed_X = 0;
diff --git a/src/Java/gtPlusPlus/core/item/general/BufferCore.java b/src/Java/gtPlusPlus/core/item/general/BufferCore.java
index a9f0f775ee..d3c7d5112f 100644
--- a/src/Java/gtPlusPlus/core/item/general/BufferCore.java
+++ b/src/Java/gtPlusPlus/core/item/general/BufferCore.java
@@ -4,21 +4,22 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.enums.GT_Values;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
import gtPlusPlus.core.item.base.BaseItemWithDamageValue;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
public class BufferCore extends BaseItemWithDamageValue{
public int coreTier = 0;
public BufferCore(final String unlocalizedName, final int i) {
- super(unlocalizedName);
+ super(unlocalizedName+i);
this.setTextureName(CORE.MODID + ":" + unlocalizedName);
this.setMaxStackSize(2);
this.coreTier = i;
@@ -26,7 +27,7 @@ public class BufferCore extends BaseItemWithDamageValue{
@Override
public String getItemStackDisplayName(final ItemStack stack) {
- return super.getItemStackDisplayName(stack)+" ["+GT_Values.VN[this.coreTier-1]+"].";
+ return super.getItemStackDisplayName(stack)/*+" ["+GT_Values.VN[this.coreTier-1]+"]."*/;
}
@Override
@@ -40,7 +41,6 @@ public class BufferCore extends BaseItemWithDamageValue{
@Override
public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
list.add(EnumChatFormatting.GRAY+"A key crafting component for making energy buffers.");
- super.addInformation(stack, aPlayer, list, bool);
}
public final int getCoreTier() {
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java b/src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java
index 4acb5fa69f..a354e63fe3 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java
@@ -2,9 +2,7 @@ package gtPlusPlus.core.item.general;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
@@ -14,6 +12,10 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+
public class ItemAirFilter extends Item {
public IIcon[] icons = new IIcon[1];
@@ -52,7 +54,12 @@ public class ItemAirFilter extends Item {
@Override
public String getItemStackDisplayName(final ItemStack tItem) {
- String itemName = "Air Filter";
+
+ if (tItem == null) {
+ return "Air Filter";
+ }
+
+ String itemName = tItem == null ? "Air Filter" : super.getItemStackDisplayName(tItem);
String suffixName = "";
if (tItem.getItemDamage() == 0){
suffixName = " [Tier 1]";
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemAreaClear.java b/src/Java/gtPlusPlus/core/item/general/ItemAreaClear.java
index fc92d5d82c..23b0144231 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemAreaClear.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemAreaClear.java
@@ -2,14 +2,6 @@ package gtPlusPlus.core.item.general;
import java.util.List;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.block.base.BlockBaseOre;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.CoreItem;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
@@ -22,12 +14,21 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.block.base.BlockBaseOre;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.CoreItem;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+
public class ItemAreaClear extends CoreItem {
public IIcon[] mIcon = new IIcon[1];
public ItemAreaClear() {
- super("itemDebugClearing", AddToCreativeTab.tabMachines, 1, 100, EnumChatFormatting.OBFUSCATED+"F A M C Y N A M E", EnumRarity.rare,
+ super("itemDebugClearing", AddToCreativeTab.tabMachines, 1, 100, new String[] {EnumChatFormatting.OBFUSCATED+"F A M C Y N A M E"}, EnumRarity.rare,
EnumChatFormatting.BOLD, false, null);
}
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java b/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java
index 6bb1e8d7bc..ca6c5e8c8c 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java
@@ -1,15 +1,16 @@
package gtPlusPlus.core.item.general;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
import gtPlusPlus.core.block.general.FirePit;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.CoreItem;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
public class ItemBasicFirestarter extends CoreItem {
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemBlueprint.java b/src/Java/gtPlusPlus/core/item/general/ItemBlueprint.java
index 720005f6ae..eded4e2585 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemBlueprint.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemBlueprint.java
@@ -3,13 +3,7 @@ package gtPlusPlus.core.item.general;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.interfaces.IItemBlueprint;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
@@ -20,6 +14,14 @@ import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.interfaces.IItemBlueprint;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+
public class ItemBlueprint extends Item implements IItemBlueprint{
public ItemBlueprint(final String unlocalizedName) {
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java b/src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java
index ad98df9c78..b54fc56563 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java
@@ -2,15 +2,9 @@ package gtPlusPlus.core.item.general;
import java.util.List;
-import baubles.api.BaubleType;
-import baubles.api.IBauble;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
-import ic2.api.item.*;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@@ -21,6 +15,16 @@ import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import baubles.api.BaubleType;
+import baubles.api.IBauble;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import ic2.api.item.ElectricItem;
+import ic2.api.item.IElectricItem;
+import ic2.api.item.IElectricItemManager;
+
@Optional.InterfaceList(value = {@Optional.Interface(iface = "baubles.api.IBauble", modid = "Baubles"), @Optional.Interface(iface = "baubles.api.BaubleType", modid = "Baubles")})
public class ItemCloakingDevice extends Item implements IElectricItem, IElectricItemManager, IBauble{
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemEmpty.java b/src/Java/gtPlusPlus/core/item/general/ItemEmpty.java
index 65c6ec6b97..c832d28bbd 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemEmpty.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemEmpty.java
@@ -1,8 +1,9 @@
package gtPlusPlus.core.item.general;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.CoreItem;
-import net.minecraft.item.ItemStack;
public class ItemEmpty extends CoreItem{
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemGemShards.java b/src/Java/gtPlusPlus/core/item/general/ItemGemShards.java
index d9f4509d7c..5181a32bc7 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemGemShards.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemGemShards.java
@@ -2,16 +2,14 @@ package gtPlusPlus.core.item.general;
import java.util.List;
-import gtPlusPlus.core.item.base.BaseItemColourable;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.world.World;
+
+import gtPlusPlus.core.item.base.BaseItemColourable;
+import gtPlusPlus.core.util.Utils;
public class ItemGemShards extends BaseItemColourable{
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemHalfCompleteCasings.java b/src/Java/gtPlusPlus/core/item/general/ItemHalfCompleteCasings.java
index 0463628e46..ad9abc8ab2 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemHalfCompleteCasings.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemHalfCompleteCasings.java
@@ -2,16 +2,14 @@ package gtPlusPlus.core.item.general;
import java.util.List;
-import gtPlusPlus.core.item.base.BaseItemColourable;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.world.World;
+
+import gtPlusPlus.core.item.base.BaseItemColourable;
+import gtPlusPlus.core.util.Utils;
public class ItemHalfCompleteCasings extends BaseItemColourable{
@@ -20,11 +18,6 @@ public class ItemHalfCompleteCasings extends BaseItemColourable{
super(unlocalizedName, creativeTab, stackSize, maxDmg, description, regRarity, colour, Effect, rgb);
}
- public ItemHalfCompleteCasings(String unlocalizedName, String displayName, CreativeTabs creativeTab, int stackSize,
- int maxDmg, String description, EnumRarity regRarity, EnumChatFormatting colour, boolean Effect, int rgb) {
- super(unlocalizedName, displayName, creativeTab, stackSize, maxDmg, description, regRarity, colour, Effect, rgb);
- }
-
@Override
public void getSubItems(Item item, CreativeTabs tab, List list) {
for (int i = 0; i < 4; i ++) {
@@ -34,22 +27,21 @@ public class ItemHalfCompleteCasings extends BaseItemColourable{
@Override
public String getItemStackDisplayName(final ItemStack tItem) {
- String prefix = "Half Complete Casing ";
+ String prefix = super.getItemStackDisplayName(tItem);
String casingType = "";
if (tItem.getItemDamage() == 0){
- casingType = "I";
+ casingType = " I";
}
else if (tItem.getItemDamage() == 1){
- casingType = "II";
+ casingType = " II";
}
else if (tItem.getItemDamage() == 2){
- casingType = "III";
+ casingType = " III";
}
else if (tItem.getItemDamage() == 3){
- casingType = "IV";
+ casingType = " IV";
}
- return (prefix+casingType);
-
+ return (prefix+casingType);
}
@Override
@@ -67,9 +59,5 @@ public class ItemHalfCompleteCasings extends BaseItemColourable{
return Utils.rgbtoHexValue(77, 175, 182);
}
}
-
-
-
-
}
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java b/src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java
index a3a8a98e6a..f458bce139 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java
@@ -2,17 +2,9 @@ package gtPlusPlus.core.item.general;
import java.util.List;
-import baubles.api.BaubleType;
-import baubles.api.IBauble;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import ic2.api.item.*;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@@ -21,6 +13,18 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import baubles.api.BaubleType;
+import baubles.api.IBauble;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import ic2.api.item.ElectricItem;
+import ic2.api.item.IElectricItem;
+import ic2.api.item.IElectricItemManager;
+
@Optional.InterfaceList(value = {@Optional.Interface(iface = "baubles.api.IBauble", modid = "Baubles"), @Optional.Interface(iface = "baubles.api.BaubleType", modid = "Baubles")})
public class ItemHealingDevice extends Item implements IElectricItem, IElectricItemManager, IBauble{
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java b/src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java
index 56463f4e8c..c34ad9e8d3 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java
@@ -2,10 +2,6 @@ package gtPlusPlus.core.item.general;
import java.util.List;
-import gregtech.api.enums.ItemList;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.CoreItem;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
@@ -14,12 +10,18 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
+import gregtech.api.enums.ItemList;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.CoreItem;
+import gtPlusPlus.core.lib.CORE;
+
public class ItemLavaFilter extends CoreItem {
public IIcon[] mIcon = new IIcon[1];
public ItemLavaFilter() {
- super("itemLavaFilter", AddToCreativeTab.tabMachines, 1, 100, "Lava Filter", EnumRarity.common,
+ super("itemLavaFilter", AddToCreativeTab.tabMachines, 1, 100, new String[] {"Lava Filter"}, EnumRarity.common,
EnumChatFormatting.BLACK, false, null);
setGregtechItemList();
}
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java b/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java
index e20271d4b6..7134df4a44 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java
@@ -2,15 +2,9 @@ package gtPlusPlus.core.item.general;
import java.util.List;
-import baubles.api.BaubleType;
-import baubles.api.IBauble;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.handler.events.CustomMovementHandler;
-import gtPlusPlus.core.handler.events.SneakManager;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -20,6 +14,14 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import baubles.api.BaubleType;
+import baubles.api.IBauble;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.handler.events.CustomMovementHandler;
+import gtPlusPlus.core.handler.events.SneakManager;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
@Optional.InterfaceList(value = {@Optional.Interface(iface = "baubles.api.IBauble", modid = "Baubles"), @Optional.Interface(iface = "baubles.api.BaubleType", modid = "Baubles")})
public class ItemSlowBuildingRing extends Item implements IBauble{
diff --git a/src/Java/gtPlusPlus/core/item/general/NuclearFuelRodBase.java b/src/Java/gtPlusPlus/core/item/general/NuclearFuelRodBase.java
index f4ad191f11..95f658407e 100644
--- a/src/Java/gtPlusPlus/core/item/general/NuclearFuelRodBase.java
+++ b/src/Java/gtPlusPlus/core/item/general/NuclearFuelRodBase.java
@@ -1,6 +1,7 @@
package gtPlusPlus.core.item.general;
import cpw.mods.fml.common.eventhandler.Event;
+
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
@@ -11,6 +12,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
+
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.FillBucketEvent;
diff --git a/src/Java/gtPlusPlus/core/item/general/RF2EU_Battery.java b/src/Java/gtPlusPlus/core/item/general/RF2EU_Battery.java
index 7d05a221b9..ea9f923d19 100644
--- a/src/Java/gtPlusPlus/core/item/general/RF2EU_Battery.java
+++ b/src/Java/gtPlusPlus/core/item/general/RF2EU_Battery.java
@@ -2,16 +2,11 @@ package gtPlusPlus.core.item.general;
import java.util.List;
-import cofh.energy.ItemEnergyContainer;
import cpw.mods.fml.common.IFuelHandler;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
-import ic2.api.item.*;
+
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -23,6 +18,15 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
+import cofh.energy.ItemEnergyContainer;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import ic2.api.item.ElectricItem;
+import ic2.api.item.IElectricItem;
+import ic2.api.item.IElectricItemManager;
+
public class RF2EU_Battery extends ItemEnergyContainer implements IElectricItem, IElectricItemManager, IFuelHandler{
public static double rfPerEU = 3.4;
diff --git a/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java b/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
index fe0405d175..7f6a52f135 100644
--- a/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
+++ b/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
@@ -9,15 +9,9 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.handler.BookHandler;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.nbt.NBTUtils;
+
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.client.gui.GuiScreenBook;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@@ -26,6 +20,14 @@ import net.minecraft.item.ItemWritableBook;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.handler.BookHandler;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
+
public class ItemBaseBook extends ItemWritableBook{
public ItemBaseBook(){
diff --git a/src/Java/gtPlusPlus/core/item/general/capture/ItemEntityCatcher.java b/src/Java/gtPlusPlus/core/item/general/capture/ItemEntityCatcher.java
index 1b8ab947e5..f8b63a7a19 100644
--- a/src/Java/gtPlusPlus/core/item/general/capture/ItemEntityCatcher.java
+++ b/src/Java/gtPlusPlus/core/item/general/capture/ItemEntityCatcher.java
@@ -4,14 +4,7 @@ import java.util.List;
import java.util.UUID;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.api.interfaces.IEntityCatcher;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.nbt.NBTUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+
import net.minecraft.entity.*;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@@ -20,6 +13,15 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.api.interfaces.IEntityCatcher;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+
public class ItemEntityCatcher extends Item implements IEntityCatcher {
// PlayerInteractEvent.EntityInteract;
@@ -182,7 +184,7 @@ public class ItemEntityCatcher extends Item implements IEntityCatcher {
public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_) {
if (hasEntity(p_77624_1_)){
String mName = NBTUtils.getString(p_77624_1_,"mEntityName");
- if (mName != null && !mName.equals("") && mName != ""){
+ if (mName != null && !mName.equals("")){
p_77624_3_.add(EnumChatFormatting.GRAY+"Contains a "+mName+".");
}
}
diff --git a/src/Java/gtPlusPlus/core/item/general/chassis/itemBoilerChassis.java b/src/Java/gtPlusPlus/core/item/general/chassis/ItemBoilerChassis.java
index 85c809a08b..86c52cc048 100644
--- a/src/Java/gtPlusPlus/core/item/general/chassis/itemBoilerChassis.java
+++ b/src/Java/gtPlusPlus/core/item/general/chassis/ItemBoilerChassis.java
@@ -2,20 +2,22 @@ package gtPlusPlus.core.item.general.chassis;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
-public class itemBoilerChassis extends Item {
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+
+public class ItemBoilerChassis extends Item {
public IIcon[] icons = new IIcon[1];
- public itemBoilerChassis() {
+ public ItemBoilerChassis() {
super();
this.setHasSubtypes(true);
String unlocalizedName = "itemBoilerChassis";
diff --git a/src/Java/gtPlusPlus/core/item/general/chassis/itemDehydratorCoil.java b/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java
index ab103ea9e8..be1fdfc491 100644
--- a/src/Java/gtPlusPlus/core/item/general/chassis/itemDehydratorCoil.java
+++ b/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java
@@ -3,20 +3,22 @@ package gtPlusPlus.core.item.general.chassis;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
-public class itemDehydratorCoil extends Item {
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+
+public class ItemDehydratorCoil extends Item {
- public IIcon[] icons = new IIcon[1];
+ public IIcon[] icons = new IIcon[4];
- public itemDehydratorCoil() {
+ public ItemDehydratorCoil() {
super();
this.setHasSubtypes(true);
String unlocalizedName = "itemDehydratorCoil";
@@ -27,12 +29,15 @@ public class itemDehydratorCoil extends Item {
@Override
public void registerIcons(IIconRegister reg) {
- this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "itemDehydratorCoil");
+ this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoil_0");
+ this.icons[1] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoil_1");
+ this.icons[2] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoil_2");
+ this.icons[3] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoil_3");
}
@Override
public IIcon getIconFromDamage(int meta) {
- return this.icons[0];
+ return this.icons[meta];
}
@Override
@@ -67,7 +72,7 @@ public class itemDehydratorCoil extends Item {
}
- @Override
+ /*@Override
public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) {
int meta = stack.getItemDamage();
if (meta == 0){
@@ -83,6 +88,6 @@ public class itemDehydratorCoil extends Item {
HEX_OxFFFFFF = Utils.rgbtoHexValue(255,150,50);
}
return HEX_OxFFFFFF;
- }
+ }*/
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/item/general/chassis/itemDehydratorCoilWire.java b/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java
index 679e358277..99d4a139dd 100644
--- a/src/Java/gtPlusPlus/core/item/general/chassis/itemDehydratorCoilWire.java
+++ b/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java
@@ -3,20 +3,22 @@ package gtPlusPlus.core.item.general.chassis;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
-public class itemDehydratorCoilWire extends Item {
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+
+public class ItemDehydratorCoilWire extends Item {
- public IIcon[] icons = new IIcon[1];
+ public IIcon[] icons = new IIcon[4];
- public itemDehydratorCoilWire() {
+ public ItemDehydratorCoilWire() {
super();
this.setHasSubtypes(true);
String unlocalizedName = "itemDehydratorCoilWire";
@@ -27,12 +29,15 @@ public class itemDehydratorCoilWire extends Item {
@Override
public void registerIcons(IIconRegister reg) {
- this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "itemDehydratorCoilWire");
+ this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoilWire_0");
+ this.icons[1] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoilWire_1");
+ this.icons[2] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoilWire_2");
+ this.icons[3] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoilWire_3");
}
@Override
public IIcon getIconFromDamage(int meta) {
- return this.icons[0];
+ return this.icons[meta];
}
@Override
@@ -67,7 +72,7 @@ public class itemDehydratorCoilWire extends Item {
}
- @Override
+/* @Override
public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) {
int meta = stack.getItemDamage();
if (meta == 0){
@@ -83,6 +88,6 @@ public class itemDehydratorCoilWire extends Item {
HEX_OxFFFFFF = Utils.rgbtoHexValue(255,150,50);
}
return HEX_OxFFFFFF;
- }
+ }*/
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/item/general/fuelrods/FuelRod_Base.java b/src/Java/gtPlusPlus/core/item/general/fuelrods/FuelRod_Base.java
index 5678058818..628fba9291 100644
--- a/src/Java/gtPlusPlus/core/item/general/fuelrods/FuelRod_Base.java
+++ b/src/Java/gtPlusPlus/core/item/general/fuelrods/FuelRod_Base.java
@@ -2,8 +2,6 @@ package gtPlusPlus.core.item.general.fuelrods;
import java.util.List;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@@ -12,6 +10,9 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+
public class FuelRod_Base extends Item{
public int fuelRemaining = 0;
diff --git a/src/Java/gtPlusPlus/core/item/general/throwables/ItemHydrofluoricAcidPotion.java b/src/Java/gtPlusPlus/core/item/general/throwables/ItemHydrofluoricAcidPotion.java
index 2a98a0a13f..57cf8986fa 100644
--- a/src/Java/gtPlusPlus/core/item/general/throwables/ItemHydrofluoricAcidPotion.java
+++ b/src/Java/gtPlusPlus/core/item/general/throwables/ItemHydrofluoricAcidPotion.java
@@ -1,18 +1,19 @@
package gtPlusPlus.core.item.general.throwables;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.entity.projectile.EntityHydrofluoricAcidPotion;
-import gtPlusPlus.core.item.base.CoreItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.entity.projectile.EntityHydrofluoricAcidPotion;
+import gtPlusPlus.core.item.base.CoreItem;
+
public class ItemHydrofluoricAcidPotion extends CoreItem {
public ItemHydrofluoricAcidPotion(String unlocalizedName, String displayName, String description) {
- super(unlocalizedName, displayName, AddToCreativeTab.tabMisc, 16, 0, description, EnumRarity.uncommon, EnumChatFormatting.GRAY, false, null);
+ super(unlocalizedName, displayName, AddToCreativeTab.tabMisc, 16, 0, new String[] {description}, EnumRarity.uncommon, EnumChatFormatting.GRAY, false, null);
}
@Override
diff --git a/src/Java/gtPlusPlus/core/item/general/throwables/ItemSulfuricAcidPotion.java b/src/Java/gtPlusPlus/core/item/general/throwables/ItemSulfuricAcidPotion.java
index dd5db807b6..27b35e48d1 100644
--- a/src/Java/gtPlusPlus/core/item/general/throwables/ItemSulfuricAcidPotion.java
+++ b/src/Java/gtPlusPlus/core/item/general/throwables/ItemSulfuricAcidPotion.java
@@ -1,18 +1,19 @@
package gtPlusPlus.core.item.general.throwables;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.entity.projectile.EntitySulfuricAcidPotion;
-import gtPlusPlus.core.item.base.CoreItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.entity.projectile.EntitySulfuricAcidPotion;
+import gtPlusPlus.core.item.base.CoreItem;
+
public class ItemSulfuricAcidPotion extends CoreItem {
public ItemSulfuricAcidPotion(String unlocalizedName, String displayName, String description) {
- super(unlocalizedName, displayName, AddToCreativeTab.tabMisc, 16, 0, description, EnumRarity.common, EnumChatFormatting.GRAY, false, null);
+ super(unlocalizedName, displayName, AddToCreativeTab.tabMisc, 16, 0, new String[] {description}, EnumRarity.common, EnumChatFormatting.GRAY, false, null);
}
@Override
diff --git a/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java b/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
index bc9fc1167e..77a06edac2 100644
--- a/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
+++ b/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
@@ -1,13 +1,15 @@
package gtPlusPlus.core.item.init;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
+
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.base.foods.BaseItemFood;
import gtPlusPlus.core.item.base.foods.BaseItemHotFood;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class ItemsFoods {
diff --git a/src/Java/gtPlusPlus/core/item/init/ItemsMultiTools.java b/src/Java/gtPlusPlus/core/item/init/ItemsMultiTools.java
index fc7381354a..9f87408b56 100644
--- a/src/Java/gtPlusPlus/core/item/init/ItemsMultiTools.java
+++ b/src/Java/gtPlusPlus/core/item/init/ItemsMultiTools.java
@@ -1,13 +1,14 @@
package gtPlusPlus.core.item.init;
import gregtech.api.enums.Materials;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class ItemsMultiTools {
diff --git a/src/Java/gtPlusPlus/core/item/materials/DustDecayable.java b/src/Java/gtPlusPlus/core/item/materials/DustDecayable.java
new file mode 100644
index 0000000000..8e19896b92
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/materials/DustDecayable.java
@@ -0,0 +1,82 @@
+package gtPlusPlus.core.item.materials;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+import gregtech.api.util.GT_OreDictUnificator;
+
+import gtPlusPlus.core.item.base.BaseItemTickable;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
+public class DustDecayable extends BaseItemTickable {
+
+ private final Item turnsIntoItem;
+ private final int radLevel;
+
+ public DustDecayable(String unlocal, int colour, int maxTicks, String[] desc1, Item turnsInto, int radLevel) {
+ super(true, true, unlocal, colour, maxTicks, desc1);
+ this.turnsIntoItem = turnsInto;
+ this.radLevel = radLevel;
+ GT_OreDictUnificator.registerOre(unlocal, ItemUtils.getSimpleStack(this));
+ }
+
+ @Override
+ public void registerIcons(IIconRegister reg) {
+ String gt = "gregtech" + ":" + "materialicons/"+"METALLIC"+"/" + "dust";
+ this.mIcon[0] = reg.registerIcon(gt);
+ String gt2 = "gregtech" + ":" + "materialicons/"+"METALLIC"+"/" + "dust" + "_OVERLAY";
+ this.mIcon[1] = reg.registerIcon(gt2);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
+ super.addInformation(stack, player, list, bool);
+ if (this.radLevel > 0) {
+ list.add(CORE.GT_Tooltip_Radioactive);
+ }
+ }
+
+ @Override
+ public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, final boolean p_77663_5_) {
+ if (world == null || iStack == null) {
+ return;
+ }
+
+ if (entityHolding instanceof EntityPlayer){
+ if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode){
+ EntityUtils.applyRadiationDamageToEntity(iStack.stackSize, this.radLevel, world, entityHolding);
+ }
+ }
+
+ if (!tickItemTag(world, iStack)) {
+ if (entityHolding instanceof EntityPlayer){
+ ItemStack replacement = ItemUtils.getSimpleStack(turnsIntoItem);
+ //Logger.INFO("Replacing "+iStack.getDisplayName()+" with "+replacement.getDisplayName()+".");
+ final ItemStack tempTransform = replacement;
+ if (iStack.stackSize == 64){
+ tempTransform.stackSize=64;
+ ((EntityPlayer) entityHolding).inventory.addItemStackToInventory((tempTransform));
+ for (int l=0;l<64;l++){
+ ((EntityPlayer) entityHolding).inventory.consumeInventoryItem(this);
+ }
+
+ }
+ else {
+ tempTransform.stackSize=1;
+ ((EntityPlayer) entityHolding).inventory.addItemStackToInventory((tempTransform));
+ ((EntityPlayer) entityHolding).inventory.consumeInventoryItem(this);
+ }
+ }
+ }
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/item/tool/misc/ConnectedBlockFinder.java b/src/Java/gtPlusPlus/core/item/tool/misc/ConnectedBlockFinder.java
new file mode 100644
index 0000000000..622a294dc2
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/tool/misc/ConnectedBlockFinder.java
@@ -0,0 +1,142 @@
+package gtPlusPlus.core.item.tool.misc;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.world.World;
+
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.BaseItemWithDamageValue;
+
+public class ConnectedBlockFinder extends BaseItemWithDamageValue{
+
+ public ConnectedBlockFinder() {
+ super("item.test.connector");
+ this.setTextureName("stick");
+ this.setMaxStackSize(1);
+ this.setMaxDamage(10000);
+ setCreativeTab(AddToCreativeTab.tabTools);
+ GameRegistry.registerItem(this, getUnlocalizedName());
+ }
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Override
+ public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
+ list.add(EnumChatFormatting.GRAY+"Finds connected blocks, turns them to Glass once found.");
+ super.addInformation(stack, aPlayer, list, bool);
+ }
+
+ @Override
+ public boolean doesContainerItemLeaveCraftingGrid(final ItemStack itemStack){
+ return false;
+ }
+
+ @Override
+ public boolean getShareTag(){
+ return true;
+ }
+
+ @Override
+ public boolean hasContainerItem(final ItemStack itemStack){
+ return true;
+ }
+ @Override
+ public ItemStack getContainerItem(final ItemStack itemStack){
+ return itemStack;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public EnumRarity getRarity(final ItemStack par1ItemStack){
+ return EnumRarity.uncommon;
+ }
+
+ @Override
+ public boolean hasEffect(final ItemStack par1ItemStack){
+ return false;
+ }
+
+
+ @Override
+ public boolean onItemUse(
+ ItemStack stack, EntityPlayer player, World world,
+ int x, int y, int z, int side,
+ float hitX, float hitY, float hitZ) {
+
+ BlockPos mStartPoint = new BlockPos(x,y,z);
+ Block mBlockType = world.getBlock(x, y, z);
+ int mBlockMeta = mBlockType.getDamageValue(world, x, y, z);
+
+ //Return if Air.
+ if (world.isAirBlock(x, y, z)) {
+ return false;
+ }
+
+ int breaker = 0;
+ Set<BlockPos> mTotalIndex = new HashSet<BlockPos>();
+
+ Set<BlockPos> mFirstSearch = new HashSet<BlockPos>();
+ Set<BlockPos> mSearch_A = new HashSet<BlockPos>();
+
+ Set<BlockPos> mSearch_B = new HashSet<BlockPos>();
+ Set<BlockPos> mSearch_C = new HashSet<BlockPos>();
+ Set<BlockPos> mSearch_D = new HashSet<BlockPos>();
+
+ mFirstSearch.add(mStartPoint);
+ mTotalIndex.add(mStartPoint);
+
+
+
+
+ for (BlockPos G : mSearch_D) {
+ if (!world.isAirBlock(G.xPos, G.yPos, G.zPos)) {
+ world.setBlock(G.xPos, G.yPos, G.zPos, Blocks.diamond_ore);
+ }
+ }
+
+
+
+ return super.onItemUse(stack, player, world, x, y, z, side, hitX, hitY, hitZ);
+ }
+
+ public Set<BlockPos> getValidNeighboursForSet(Set<BlockPos> set){
+ Set<BlockPos> results = set;
+ for (BlockPos F : set) {
+ results.addAll(F.getValidNeighboursAndSelf());
+ }
+ return results;
+ }
+
+ public Set<BlockPos> getExtraNeighboursForSet(Set<BlockPos> set){
+ Set<BlockPos> results = set;
+ for (BlockPos F : set) {
+ results.addAll(F.getValidNeighboursAndSelf());
+ }
+ return results;
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
+ // TODO Auto-generated method stub
+ return super.onItemRightClick(p_77659_1_, p_77659_2_, p_77659_3_);
+ }
+
+
+
+
+
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/item/tool/misc/SandstoneHammer.java b/src/Java/gtPlusPlus/core/item/tool/misc/SandstoneHammer.java
index b78f81aa98..555fc0f23f 100644
--- a/src/Java/gtPlusPlus/core/item/tool/misc/SandstoneHammer.java
+++ b/src/Java/gtPlusPlus/core/item/tool/misc/SandstoneHammer.java
@@ -4,13 +4,15 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.item.base.BaseItemWithDamageValue;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
+import gtPlusPlus.core.item.base.BaseItemWithDamageValue;
+import gtPlusPlus.core.lib.CORE;
+
public class SandstoneHammer extends BaseItemWithDamageValue{
/* (non-Javadoc)
diff --git a/src/Java/gtPlusPlus/core/item/tool/staballoy/MultiPickaxeBase.java b/src/Java/gtPlusPlus/core/item/tool/staballoy/MultiPickaxeBase.java
index 45e0bd8fe6..b546b492e5 100644
--- a/src/Java/gtPlusPlus/core/item/tool/staballoy/MultiPickaxeBase.java
+++ b/src/Java/gtPlusPlus/core/item/tool/staballoy/MultiPickaxeBase.java
@@ -5,21 +5,25 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+
public class MultiPickaxeBase extends StaballoyPickaxe{
/* (non-Javadoc)
@@ -44,7 +48,6 @@ public class MultiPickaxeBase extends StaballoyPickaxe{
this.setUnlocalizedName(Utils.sanitizeString(unlocalizedName));
//this.setTextureName(CORE.MODID + ":" + "itemPickaxe");
this.setTextureName("minecraft"+":"+"iron_pickaxe");
- this.FACING_HORIZONTAL=true;
this.setMaxStackSize(1);
if ((materialDurability*3) <= Integer.MAX_VALUE){
this.setMaxDamage((int) (materialDurability*3));
diff --git a/src/Java/gtPlusPlus/core/item/tool/staballoy/MultiSpadeBase.java b/src/Java/gtPlusPlus/core/item/tool/staballoy/MultiSpadeBase.java
index 175c212a6c..7b66ca5a82 100644
--- a/src/Java/gtPlusPlus/core/item/tool/staballoy/MultiSpadeBase.java
+++ b/src/Java/gtPlusPlus/core/item/tool/staballoy/MultiSpadeBase.java
@@ -3,14 +3,16 @@ package gtPlusPlus.core.item.tool.staballoy;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import net.minecraft.item.EnumRarity;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
public class MultiSpadeBase extends StaballoySpade{
@@ -34,18 +36,18 @@ public class MultiSpadeBase extends StaballoySpade{
this.setUnlocalizedName(Utils.sanitizeString(unlocalizedName));
//this.setTextureName(CORE.MODID + ":" + "itemShovel");
this.setTextureName("minecraft"+":"+"iron_shovel");
- this.FACING_HORIZONTAL=true;
this.setMaxStackSize(1);
this.setMaxDamage(materialDurability*3);
this.colour = colour;
this.materialName = material.name();
this.displayName = unlocalizedName;
this.setCreativeTab(AddToCreativeTab.tabTools);
- try {this.isValid = this.addRecipe();} catch (final Throwable e){}
+ try {
+ this.isValid = this.addRecipe();
+ }
+ catch (final Throwable e){}
if ((colour != 0) && this.isValid){
- if (GameRegistry.findItem(CORE.MODID, Utils.sanitizeString(unlocalizedName)) == null){
- GameRegistry.registerItem(this, Utils.sanitizeString(unlocalizedName));
- }
+ GameRegistry.registerItem(this, Utils.sanitizeString(unlocalizedName));
}
}
diff --git a/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyAxe.java b/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyAxe.java
index 7ec396a8b1..153a417d7b 100644
--- a/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyAxe.java
+++ b/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyAxe.java
@@ -4,16 +4,20 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.block.*;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.ItemAxe;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+import gtPlusPlus.core.lib.CORE;
+
public class StaballoyAxe extends ItemAxe{
public String mat;
diff --git a/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyPickaxe.java b/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyPickaxe.java
index d8b88c6c6d..3b5c022412 100644
--- a/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyPickaxe.java
+++ b/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyPickaxe.java
@@ -4,17 +4,24 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.player.UtilsMining;
+
import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
-import net.minecraft.item.*;
-import net.minecraft.util.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.ItemPickaxe;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.MiningUtils;
+
public class StaballoyPickaxe extends ItemPickaxe{
/* (non-Javadoc)
@@ -24,13 +31,117 @@ public class StaballoyPickaxe extends ItemPickaxe{
public double getDurabilityForDisplay(final ItemStack stack) {
return (double)stack.getItemDamageForDisplay() / (double)stack.getMaxDamage();
}
+
+ /**
+ * Creates an NBT tag for this item if it doesn't have one.
+ * This also set some default values.
+ * @param rStack
+ * @return
+ */
+
+ private static boolean createNBT(ItemStack rStack){
+ final NBTTagCompound tagMain = new NBTTagCompound();
+ final NBTTagCompound tagNBT = new NBTTagCompound();
+
+ tagNBT.setBoolean("FACING_HORIZONTAL", true);
+ tagNBT.setString("FACING", "north");
+ tagNBT.setString("lookingDirection", "");
+
+ tagMain.setTag("PickStats", tagNBT);
+ rStack.setTagCompound(tagMain);
+ return true;
+ }
+
+ /*
+ * Is the player facing horizontally?
+ */
+
+ public static final boolean isFacingHorizontal(final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ return aNBT.getBoolean("FACING_HORIZONTAL");
+ }
+ }
+ else {
+ createNBT(aStack);
+ }
+ return true;
+ }
+
+ public static final boolean setFacingHorizontal(final ItemStack aStack, final boolean aFacingHorizontal) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ aNBT.setBoolean("FACING_HORIZONTAL", aFacingHorizontal);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /*
+ * Handles the Direction the player is facing
+ */
+
+ public static final String getFacingDirection(final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ return aNBT.getString("FACING");
+ }
+ }
+ else {
+ createNBT(aStack);
+ }
+ return "north";
+ }
+
+ public static final boolean setFacingDirection(final ItemStack aStack, final String aFacingHorizontal) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ aNBT.setString("FACING", aFacingHorizontal);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /*
+ * The Looking Direction handlers
+ */
+
+ public static final String getLookingDirection(final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ return aNBT.getString("lookingDirection");
+ }
+ }
+ else {
+ createNBT(aStack);
+ }
+ return "";
+ }
- protected Boolean FACING_HORIZONTAL = true;
- protected String FACING = "north";
- protected EntityPlayer localPlayer;
- protected String lookingDirection;
- protected World localWorld;
- public ItemStack thisPickaxe = null;
+ public static final boolean setLookingDirection(final ItemStack aStack, final String aFacingHorizontal) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ aNBT.setString("lookingDirection", aFacingHorizontal);
+ return true;
+ }
+ }
+ return false;
+ }
+
protected int miningLevel;
/*
@@ -45,9 +156,6 @@ public class StaballoyPickaxe extends ItemPickaxe{
@Override
public ItemStack onItemRightClick(final ItemStack stack, final World world, final EntityPlayer aPlayer) {
- this.localPlayer = aPlayer;
- this.localWorld = world;
- this.thisPickaxe = stack;
return super.onItemRightClick(stack, world, aPlayer);
}
@@ -55,14 +163,11 @@ public class StaballoyPickaxe extends ItemPickaxe{
@Override
public boolean onBlockDestroyed(final ItemStack stack, final World world, final Block block, final int X, final int Y, final int Z, final EntityLivingBase entity) {
- //super.onBlockDestroyed(stack, world, block, X, Y, Z, entity);
- this.localWorld = world;
- this.thisPickaxe = stack;
- //checkFacing(world);
if (!world.isRemote){
- this.GetDestroyOrientation(block, this.lookingDirection, world, X, Y, Z, stack);
+ if (entity instanceof EntityPlayer) {
+ this.GetDestroyOrientation((EntityPlayer) entity, block, getLookingDirection(stack), world, X, Y, Z, stack);
+ }
}
-
return super.onBlockDestroyed(stack, world, block, X, Y, Z, entity);
}
@@ -101,7 +206,7 @@ public class StaballoyPickaxe extends ItemPickaxe{
if (!currentWorld.isRemote){
try {
correctTool = currentBlock.getHarvestTool(0);
- if (UtilsMining.getBlockType(currentBlock, currentWorld, xyz, this.miningLevel) || correctTool.equals("pickaxe") || correctTool.equals("null")){
+ if (MiningUtils.getBlockType(currentBlock, currentWorld, xyz, this.miningLevel) || correctTool.equals("pickaxe") || correctTool.equals("null")){
//Utils.LOG_WARNING(correctTool);
return true;}
} catch (final NullPointerException e){
@@ -110,8 +215,7 @@ public class StaballoyPickaxe extends ItemPickaxe{
return false;
}
- private void GetDestroyOrientation(final Block block, final String FACING, final World world, final int X, final int Y, final int Z, final ItemStack heldItem){
- this.localWorld = world;
+ private void GetDestroyOrientation(EntityPlayer entity, final Block block, final String FACING, final World world, final int X, final int Y, final int Z, final ItemStack heldItem){
float DURABILITY_LOSS = 0;
if (!world.isRemote){
@@ -183,7 +287,7 @@ public class StaballoyPickaxe extends ItemPickaxe{
else {
//setItemDamage(heldItem, durLeft);
Logger.WARNING(""+(durNow-durLeft));
- this.damageItem(heldItem, (durNow-durLeft)-1, this.localPlayer);
+ this.damageItem(heldItem, (durNow-durLeft)-1, entity);
}
@@ -211,7 +315,6 @@ public class StaballoyPickaxe extends ItemPickaxe{
//Should clear up blocks quicker if I chain it.
public final void removeBlockAndDropAsItem(final World world, final int X, final int Y, final int Z, final ItemStack heldItem){
- this.localWorld = world;
try {
final Block block = world.getBlock(X, Y, Z);
final float dur = this.calculateDurabilityLoss(world, X, Y, Z);
@@ -259,10 +362,9 @@ public class StaballoyPickaxe extends ItemPickaxe{
}
}
- public boolean checkFacing(final World world){
- this.localWorld = world;
- if (this.localPlayer != null){
- final int direction = MathHelper.floor_double((this.localPlayer.rotationYaw * 4F) / 360F + 0.5D) & 3;
+ public boolean checkFacing(final ItemStack aStack, final EntityPlayer aPlayer, final World world){
+ if (aPlayer != null){
+ final int direction = MathHelper.floor_double((aPlayer.rotationYaw * 4F) / 360F + 0.5D) & 3;
//Utils.LOG_WARNING("Player - F: "+direction);
//Utils.LOG_WARNING("Player - getLookVec(): "+localPlayer.getLookVec().yCoord);
@@ -270,7 +372,7 @@ public class StaballoyPickaxe extends ItemPickaxe{
localPlayer.getLookVec().yCoord;
}*/
- final MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, this.localPlayer, false);
+ final MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, aPlayer, false);
if (movingobjectposition != null){
final int sideHit = movingobjectposition.sideHit;
String playerStandingPosition = "";
@@ -280,41 +382,41 @@ public class StaballoyPickaxe extends ItemPickaxe{
if (sideHit == 0){
playerStandingPosition = "above";
- this.FACING_HORIZONTAL = false;
+ setFacingHorizontal(aStack, false);
}
else if (sideHit == 1){
playerStandingPosition = "below";
- this.FACING_HORIZONTAL = false;
+ setFacingHorizontal(aStack, false);
}
else if (sideHit == 2){
playerStandingPosition = "facingSouth";
- this.FACING_HORIZONTAL = true;
+ setFacingHorizontal(aStack, true);
}
else if (sideHit == 3){
playerStandingPosition = "facingNorth";
- this.FACING_HORIZONTAL = true;
+ setFacingHorizontal(aStack, true);
}
else if (sideHit == 4){
playerStandingPosition = "facingEast";
- this.FACING_HORIZONTAL = true;
+ setFacingHorizontal(aStack, true);
}
else if (sideHit == 5){
playerStandingPosition = "facingWest";
- this.FACING_HORIZONTAL = true;
+ setFacingHorizontal(aStack, true);
}
- this.lookingDirection = playerStandingPosition;
+ setLookingDirection(aStack, playerStandingPosition);
if (direction == 0){
- this.FACING = "south";
+ setFacingDirection(aStack, "south");
}
else if (direction == 1){
- this.FACING = "west";
+ setFacingDirection(aStack, "west");
}
else if (direction == 2){
- this.FACING = "north";
+ setFacingDirection(aStack, "north");
}
else if (direction == 3){
- this.FACING = "east";
+ setFacingDirection(aStack, "east");
}
}
@@ -327,7 +429,6 @@ public class StaballoyPickaxe extends ItemPickaxe{
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
- this.thisPickaxe = stack;
list.add(EnumChatFormatting.GRAY+"Mines a 3x3 at 100 durability per block mined.");
list.add(EnumChatFormatting.GRAY+"Durability: "+(stack.getMaxDamage()-stack.getItemDamage())+"/"+stack.getMaxDamage());
//super.addInformation(stack, aPlayer, list, bool);
@@ -347,9 +448,7 @@ public class StaballoyPickaxe extends ItemPickaxe{
@Override
public boolean onBlockStartBreak(final ItemStack itemstack, final int X, final int Y, final int Z, final EntityPlayer aPlayer) {
- this.thisPickaxe = itemstack;
- this.localPlayer = aPlayer;
- this.checkFacing(this.localPlayer.worldObj);
+ this.checkFacing(itemstack, aPlayer, aPlayer.getEntityWorld());
return super.onBlockStartBreak(itemstack, X, Y, Z, aPlayer);
}
@@ -357,7 +456,6 @@ public class StaballoyPickaxe extends ItemPickaxe{
super(material);
this.setUnlocalizedName(unlocalizedName);
this.setTextureName(CORE.MODID + ":" + unlocalizedName);
- this.FACING_HORIZONTAL=true;
this.setMaxStackSize(1);
this.setMaxDamage(3200);
this.miningLevel = 5;
diff --git a/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoySpade.java b/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoySpade.java
index 30c7fb7b7a..6265c9f0a3 100644
--- a/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoySpade.java
+++ b/src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoySpade.java
@@ -4,17 +4,24 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.player.UtilsMining;
+
import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
-import net.minecraft.item.*;
-import net.minecraft.util.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.ItemSpade;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.MiningUtils;
+
public class StaballoySpade extends ItemSpade{
/* (non-Javadoc)
@@ -27,12 +34,117 @@ public class StaballoySpade extends ItemSpade{
return 0;
}
- protected Boolean FACING_HORIZONTAL = true;
- protected String FACING = "north";
- protected EntityPlayer localPlayer;
- protected String lookingDirection;
- protected World localWorld;
- public ItemStack thisPickaxe = null;
+
+ /**
+ * Creates an NBT tag for this item if it doesn't have one.
+ * This also set some default values.
+ * @param rStack
+ * @return
+ */
+
+ private static boolean createNBT(ItemStack rStack){
+ final NBTTagCompound tagMain = new NBTTagCompound();
+ final NBTTagCompound tagNBT = new NBTTagCompound();
+
+ tagNBT.setBoolean("FACING_HORIZONTAL", true);
+ tagNBT.setString("FACING", "north");
+ tagNBT.setString("lookingDirection", "");
+
+ tagMain.setTag("PickStats", tagNBT);
+ rStack.setTagCompound(tagMain);
+ return true;
+ }
+
+ /*
+ * Is the player facing horizontally?
+ */
+
+ public static final boolean isFacingHorizontal(final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ return aNBT.getBoolean("FACING_HORIZONTAL");
+ }
+ }
+ else {
+ createNBT(aStack);
+ }
+ return true;
+ }
+
+ public static final boolean setFacingHorizontal(final ItemStack aStack, final boolean aFacingHorizontal) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ aNBT.setBoolean("FACING_HORIZONTAL", aFacingHorizontal);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /*
+ * Handles the Direction the player is facing
+ */
+
+ public static final String getFacingDirection(final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ return aNBT.getString("FACING");
+ }
+ }
+ else {
+ createNBT(aStack);
+ }
+ return "north";
+ }
+
+ public static final boolean setFacingDirection(final ItemStack aStack, final String aFacingHorizontal) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ aNBT.setString("FACING", aFacingHorizontal);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /*
+ * The Looking Direction handlers
+ */
+
+ public static final String getLookingDirection(final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ return aNBT.getString("lookingDirection");
+ }
+ }
+ else {
+ createNBT(aStack);
+ }
+ return "";
+ }
+
+ public static final boolean setLookingDirection(final ItemStack aStack, final String aFacingHorizontal) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("PickStats");
+ if (aNBT != null) {
+ aNBT.setString("lookingDirection", aFacingHorizontal);
+ return true;
+ }
+ }
+ return false;
+ }
+
private int miningLevel;
/*
@@ -47,9 +159,6 @@ public class StaballoySpade extends ItemSpade{
@Override
public ItemStack onItemRightClick(final ItemStack stack, final World world, final EntityPlayer aPlayer) {
- this.localPlayer = aPlayer;
- this.localWorld = world;
- this.thisPickaxe = stack;
return super.onItemRightClick(stack, world, aPlayer);
}
@@ -57,14 +166,11 @@ public class StaballoySpade extends ItemSpade{
@Override
public boolean onBlockDestroyed(final ItemStack stack, final World world, final Block block, final int X, final int Y, final int Z, final EntityLivingBase entity) {
- //super.onBlockDestroyed(stack, world, block, X, Y, Z, entity);
- this.localWorld = world;
- this.thisPickaxe = stack;
- //checkFacing(world);
if (!world.isRemote){
- this.GetDestroyOrientation(this.lookingDirection, world, X, Y, Z, stack);
+ if (entity instanceof EntityPlayer) {
+ this.GetDestroyOrientation((EntityPlayer) entity, getLookingDirection(stack), world, X, Y, Z, stack);
+ }
}
-
return super.onBlockDestroyed(stack, world, block, X, Y, Z, entity);
}
@@ -76,7 +182,7 @@ public class StaballoySpade extends ItemSpade{
//Utils.LOG_WARNING(correctTool);
Logger.WARNING("Tool for Block: "+correctTool+" | Current block: "+currentBlock.getLocalizedName());
- if (UtilsMining.getBlockType(currentBlock, currentWorld, xyz, this.miningLevel) || correctTool.equals("shovel")){
+ if (MiningUtils.getBlockType(currentBlock, currentWorld, xyz, this.miningLevel) || correctTool.equals("shovel")){
return true;}
} catch (final NullPointerException e){
return false;}
@@ -84,8 +190,7 @@ public class StaballoySpade extends ItemSpade{
return false;
}
- private void GetDestroyOrientation(final String FACING, final World world, final int X, final int Y, final int Z, final ItemStack heldItem){
- this.localWorld = world;
+ private void GetDestroyOrientation(EntityPlayer player, final String FACING, final World world, final int X, final int Y, final int Z, final ItemStack heldItem){
float DURABILITY_LOSS = 0;
if (!world.isRemote){
@@ -147,7 +252,7 @@ public class StaballoySpade extends ItemSpade{
else {
//setItemDamage(heldItem, durLeft);
Logger.WARNING(""+(durNow-durLeft));
- this.damageItem(heldItem, (durNow-durLeft)-1, this.localPlayer);
+ this.damageItem(heldItem, (durNow-durLeft)-1, player);
}
DURABILITY_LOSS = 0;
@@ -164,7 +269,6 @@ public class StaballoySpade extends ItemSpade{
//Should clear up blocks quicker if I chain it.
public int removeBlockAndDropAsItem(final World world, final int X, final int Y, final int Z, final ItemStack heldItem){
- this.localWorld = world;
Logger.WARNING("Trying to drop/remove a block.");
try {
final Block block = world.getBlock(X, Y, Z);
@@ -209,10 +313,9 @@ public class StaballoySpade extends ItemSpade{
}
}
- public boolean checkFacing(final World world){
- this.localWorld = world;
- if (this.localPlayer != null){
- final int direction = MathHelper.floor_double((this.localPlayer.rotationYaw * 4F) / 360F + 0.5D) & 3;
+ public boolean checkFacing(final ItemStack aStack, final EntityPlayer aPlayer, final World world){
+ if (aPlayer != null){
+ final int direction = MathHelper.floor_double((aPlayer.rotationYaw * 4F) / 360F + 0.5D) & 3;
//Utils.LOG_WARNING("Player - F: "+direction);
//Utils.LOG_WARNING("Player - getLookVec(): "+localPlayer.getLookVec().yCoord);
@@ -220,7 +323,7 @@ public class StaballoySpade extends ItemSpade{
localPlayer.getLookVec().yCoord;
}*/
- final MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, this.localPlayer, false);
+ final MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, aPlayer, false);
if (movingobjectposition != null){
final int sideHit = movingobjectposition.sideHit;
String playerStandingPosition = "";
@@ -230,41 +333,41 @@ public class StaballoySpade extends ItemSpade{
if (sideHit == 0){
playerStandingPosition = "above";
- this.FACING_HORIZONTAL = false;
+ setFacingHorizontal(aStack, false);
}
else if (sideHit == 1){
playerStandingPosition = "below";
- this.FACING_HORIZONTAL = false;
+ setFacingHorizontal(aStack, false);
}
else if (sideHit == 2){
playerStandingPosition = "facingSouth";
- this.FACING_HORIZONTAL = true;
+ setFacingHorizontal(aStack, true);
}
else if (sideHit == 3){
playerStandingPosition = "facingNorth";
- this.FACING_HORIZONTAL = true;
+ setFacingHorizontal(aStack, true);
}
else if (sideHit == 4){
playerStandingPosition = "facingEast";
- this.FACING_HORIZONTAL = true;
+ setFacingHorizontal(aStack, true);
}
else if (sideHit == 5){
playerStandingPosition = "facingWest";
- this.FACING_HORIZONTAL = true;
+ setFacingHorizontal(aStack, true);
}
- this.lookingDirection = playerStandingPosition;
+ setLookingDirection(aStack, playerStandingPosition);
if (direction == 0){
- this.FACING = "south";
+ setFacingDirection(aStack, "south");
}
else if (direction == 1){
- this.FACING = "west";
+ setFacingDirection(aStack, "west");
}
else if (direction == 2){
- this.FACING = "north";
+ setFacingDirection(aStack, "north");
}
else if (direction == 3){
- this.FACING = "east";
+ setFacingDirection(aStack, "east");
}
}
@@ -277,7 +380,6 @@ public class StaballoySpade extends ItemSpade{
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
- this.thisPickaxe = stack;
list.add(EnumChatFormatting.GOLD+"Spades a 3x3 area in the direction you are facing.");
super.addInformation(stack, aPlayer, list, bool);
}
@@ -296,16 +398,13 @@ public class StaballoySpade extends ItemSpade{
@Override
public boolean onBlockStartBreak(final ItemStack itemstack, final int X, final int Y, final int Z, final EntityPlayer aPlayer) {
- this.thisPickaxe = itemstack;
- this.localPlayer = aPlayer;
- this.checkFacing(this.localPlayer.worldObj);
+ this.checkFacing(itemstack, aPlayer, aPlayer.worldObj);
return super.onBlockStartBreak(itemstack, X, Y, Z, aPlayer);
}
public StaballoySpade(final String unlocalizedName, final ToolMaterial material) {
super(material);
this.setUnlocalizedName(unlocalizedName);
this.setTextureName(CORE.MODID + ":" + unlocalizedName);
- this.FACING_HORIZONTAL=true;
this.setMaxStackSize(1);
this.setMaxDamage(3200);
}
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java
index c43c8dd3e7..568d6badcc 100644
--- a/src/Java/gtPlusPlus/core/lib/CORE.java
+++ b/src/Java/gtPlusPlus/core/lib/CORE.java
@@ -5,21 +5,22 @@ import java.util.concurrent.ConcurrentHashMap;
import com.mojang.authlib.GameProfile;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
import gregtech.api.GregTech_API;
-import gtPlusPlus.api.objects.CSPRNG_DO_NOT_USE;
-import gtPlusPlus.api.objects.XSTR;
+
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.api.objects.random.XSTR;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.geo.GeoUtils;
-import gtPlusPlus.core.util.gregtech.recipehandlers.GregtechRecipe;
-import gtPlusPlus.core.util.networking.NetworkUtils;
+import gtPlusPlus.core.util.minecraft.gregtech.recipehandlers.GregtechRecipe;
+import gtPlusPlus.core.util.sys.GeoUtils;
+import gtPlusPlus.core.util.sys.NetworkUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator;
import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.config.Configuration;
public class CORE {
@@ -47,14 +48,14 @@ public class CORE {
public static final String name = "GT++";
public static final String MODID = "miscutils";
- public static final String VERSION = "1.7.0-prerelease-4";
+ public static final String VERSION = "1.7.0-prerelease-8-final";
public static String MASTER_VERSION = NetworkUtils.getContentFromURL("https://raw.githubusercontent.com/draknyte1/GTplusplus/master/Recommended.txt").toLowerCase();
public static String USER_COUNTRY = GeoUtils.determineUsersCountry();
public static boolean isModUpToDate = Utils.isModUpToDate();
//Tweakables
- public static int DARKBIOME_ID = 238;
- public static int DARKWORLD_ID = 227;
+ public static int EVERGLADESBIOME_ID = 238;
+ public static int EVERGLADES_ID = 227;
//GT Vars;
public static final int GREG_FIRST_ID = 760;
@@ -148,6 +149,7 @@ public class CORE {
public static boolean disableEnderIOIngotTooltips = false;
public static boolean MACHINE_INFO = true;
public static boolean showHiddenNEIItems = false;
+ public static boolean dumpItemAndBlockData = false;
//Tools
public static boolean enableSkookumChoochers = true;
@@ -185,6 +187,7 @@ public class CORE {
public static boolean enableMachine_Tesseracts = true;
public static boolean enableMachine_SimpleWasher = true;
public static boolean enableMachine_Pollution = true;
+ public static boolean enableMachine_ComponentAssemblers = false;
public static boolean enableCustom_Pipes = true;
public static boolean enableCustom_Cables = true;
@@ -210,6 +213,9 @@ public class CORE {
public static boolean enableMultiblock_ThermalBoiler = true;
public static boolean enableMultiblock_IndustrialCuttingMachine = true;
public static boolean enableMultiblock_IndustrialFishingPort = true;
+ public static boolean enableMultiblock_IndustrialExtrudingMachine = true;
+ public static boolean enableMultiblock_IndustrialMultiMachine = true;
+ public static boolean enableMultiblock_Cyclotron = true;
//Visuals
public static boolean enableTreeFarmerParticles = true;
@@ -219,6 +225,9 @@ public class CORE {
+
+
+
}
public static class Everglades{
diff --git a/src/Java/gtPlusPlus/core/lib/LoadedMods.java b/src/Java/gtPlusPlus/core/lib/LoadedMods.java
index 04ddd7b021..81cae14a6b 100644
--- a/src/Java/gtPlusPlus/core/lib/LoadedMods.java
+++ b/src/Java/gtPlusPlus/core/lib/LoadedMods.java
@@ -1,9 +1,9 @@
package gtPlusPlus.core.lib;
-import static gtPlusPlus.core.lib.CORE.BRC;
-import static gtPlusPlus.core.lib.CORE.GTNH;
+import static gtPlusPlus.core.lib.CORE.*;
import cpw.mods.fml.common.Loader;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE.ConfigSwitches;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechTextures;
@@ -49,6 +49,7 @@ public class LoadedMods {
public static boolean Mekanism = false;
public static boolean RedTech = false; //RedMage's Mod
public static boolean TecTech = false; //Technus' Mod
+ public static boolean TiCon = false;
@@ -91,6 +92,11 @@ public class LoadedMods {
Logger.INFO("Components enabled for: PlayerAPI");
totalMods++;
}
+ if (Loader.isModLoaded("TConstruct") == true){
+ TiCon = true;
+ Logger.INFO("Components enabled for: Tinkers Construct");
+ totalMods++;
+ }
if (Loader.isModLoaded("BuildCraft") == true){
BuildCraft = true;
Logger.INFO("Components enabled for: BuildCraft");
diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java
index 0b347b66fc..22dc73d274 100644
--- a/src/Java/gtPlusPlus/core/material/ALLOY.java
+++ b/src/Java/gtPlusPlus/core/material/ALLOY.java
@@ -1,8 +1,9 @@
package gtPlusPlus.core.material;
import gregtech.api.enums.Materials;
+
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.materials.MaterialUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
public final class ALLOY {
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java
index 8d5e3c2a76..cf4e5f780c 100644
--- a/src/Java/gtPlusPlus/core/material/ELEMENT.java
+++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java
@@ -1,11 +1,12 @@
package gtPlusPlus.core.material;
import gregtech.api.enums.Materials;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.StringUtils;
-import gtPlusPlus.core.util.materials.MaterialUtils;
+import gtPlusPlus.core.util.data.StringUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
public final class ELEMENT {
@@ -15,18 +16,16 @@ public final class ELEMENT {
Logger.MATERIALS("Initialising Base Elements.");
}
- public ELEMENT(){
-
+ public ELEMENT(){
//GTNH Trinium Handling
if (CORE.GTNH){
- TRINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.valueOf("Trinium"));
+ TRINIUM = MaterialUtils.generateMaterialFromGtENUM(MaterialUtils.getMaterialByName("Trinium"));
TRINIUM_REFINED = new Material("Refined Trinium", MaterialState.SOLID, new short[]{210, 255, 170}, 4304, 14057, 181, 133, false, "Ke", 0, new MaterialStack[]{new MaterialStack(TRINIUM, 1)});//Not a GT Inherited Material
}
else {
TRINIUM = new Material("Trinium", MaterialState.SOLID, new short[]{70, 110, 30}, 604, 4057, 181, 133, false, "Ke", 0, false);//Not a GT Inherited Material
TRINIUM_REFINED = new Material("Refined Trinium", MaterialState.SOLID, new short[]{210, 255, 170}, 4304, 14057, 181, 133, false, "Ke", 0, new MaterialStack[]{new MaterialStack(TRINIUM, 1)});//Not a GT Inherited Material
- }
-
+ }
}
public static ELEMENT getInstance(){
@@ -146,6 +145,7 @@ public final class ELEMENT {
public final Material AQUA = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedWater);
//Fictional
+ public final Material YELLORIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yellorium, new short[] {255, 242, 10});
public final Material NAQUADAH = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadah);
public final Material TRINIUM;
public final Material TRINIUM_REFINED;
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index eca3c595ec..fefe9f8c82 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -2,29 +2,30 @@ package gtPlusPlus.core.material;
import static gregtech.api.enums.GT_Values.M;
-import java.util.*;
-import java.util.Map.Entry;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import net.minecraft.block.Block;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import gregtech.api.enums.*;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.item.base.cell.BaseItemCell;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.StringUtils;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.ArrayUtils;
-import gtPlusPlus.core.util.array.AutoMap;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.materials.MaterialUtils;
+import gtPlusPlus.core.util.data.StringUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.xmod.thaumcraft.aspect.GTPP_Aspects;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
-import scala.xml.dtd.ELEMENTS;
public class Material {
@@ -71,6 +72,8 @@ public class Material {
public long vDurability;
public int vToolQuality;
public int vHarvestLevel;
+
+ private GTPP_Aspects[] vAspects;
public static Map<Integer, Materials> invalidMaterials = new HashMap<Integer, Materials>();
@@ -159,7 +162,7 @@ public class Material {
}
}
else {
- this.boilingPointC = this.calculateMeltingPoint();
+ this.boilingPointC = this.calculateBoilingPoint();
}
this.meltingPointK = (int) MathUtils.celsiusToKelvin(this.meltingPointC);
@@ -180,6 +183,7 @@ public class Material {
}
+ this.vAspects = null;
this.vMass = this.getMass();
@@ -561,6 +565,12 @@ public class Material {
}
public final ItemStack getDustImpure(final int stacksize){
return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustImpure"+this.unlocalizedName, stacksize);
+ }
+ public final boolean hasSolidForm() {
+ if (this.getDust(1) != null || this.getBlock(1) != null || this.getSmallDust(1) != null || this.getTinyDust(1) != null) {
+ return true;
+ }
+ return false;
}
final public ItemStack[] getMaterialComposites(){
@@ -666,7 +676,7 @@ public class Material {
}
}
}
- return null;
+ return new long[] {};
}
public final String getToolTip(final String chemSymbol, final long aMultiplier, final boolean aShowQuestionMarks) {
@@ -891,7 +901,7 @@ public class Material {
if (part != null){
int incrementor = part.getStackMaterial().getMeltingPointC();
meltingPoint += incrementor;
- Logger.INFO("Melting Point for "+this.getLocalizedName()+" increased to "+ incrementor);
+ Logger.INFO("Melting Point for "+this.getLocalizedName()+" increased by "+ incrementor);
}
else {
Logger.MATERIALS(this.getLocalizedName()+" has a really invalid composition.");
@@ -913,6 +923,7 @@ public class Material {
for (MaterialStack part : this.vMaterialInput){
if (part != null){
boilingPoint += part.getStackMaterial().getBoilingPointC();
+ Logger.INFO("Melting Point for "+this.getLocalizedName()+" increased by "+ part.getStackMaterial().getBoilingPointC());
}
else {
Logger.MATERIALS(this.getLocalizedName()+" has a really invalid composition.");
diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
index 6705f8f77f..01690fa233 100644
--- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
+++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java
@@ -1,5 +1,8 @@
package gtPlusPlus.core.material;
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.base.BasicBlock.BlockTypes;
import gtPlusPlus.core.block.base.BlockBaseModular;
@@ -10,11 +13,7 @@ import gtPlusPlus.core.item.base.gears.BaseItemGear;
import gtPlusPlus.core.item.base.ingots.BaseItemIngot;
import gtPlusPlus.core.item.base.ingots.BaseItemIngotHot;
import gtPlusPlus.core.item.base.nugget.BaseItemNugget;
-import gtPlusPlus.core.item.base.ore.BaseItemCentrifugedCrushedOre;
-import gtPlusPlus.core.item.base.ore.BaseItemCrushedOre;
-import gtPlusPlus.core.item.base.ore.BaseItemImpureDust;
-import gtPlusPlus.core.item.base.ore.BaseItemPurifiedCrushedOre;
-import gtPlusPlus.core.item.base.ore.BaseItemPurifiedDust;
+import gtPlusPlus.core.item.base.ore.*;
import gtPlusPlus.core.item.base.plates.BaseItemPlate;
import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble;
import gtPlusPlus.core.item.base.rings.BaseItemRing;
@@ -24,11 +23,9 @@ import gtPlusPlus.core.item.base.rotors.BaseItemRotor;
import gtPlusPlus.core.item.base.screws.BaseItemScrew;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.loaders.*;
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
public class MaterialGenerator {
@@ -230,14 +227,31 @@ public class MaterialGenerator {
}
}
- @SuppressWarnings("unused")
+
public static void generateOreMaterial(final Material matInfo){
+ generateOreMaterial(matInfo, true, true, true, matInfo.getRGBA());
+ }
+
+ @SuppressWarnings("unused")
+ public static void generateOreMaterial(final Material matInfo, boolean generateOre, boolean generateDust, boolean generateSmallTinyDusts, short[] customRGB){
try {
+
+ if (matInfo == null){
+ Logger.DEBUG_MATERIALS("Invalid Material while constructing null material.");
+ return;
+ }
+
final String unlocalizedName = matInfo.getUnlocalizedName();
final String materialName = matInfo.getLocalizedName();
- final short[] C = matInfo.getRGBA();
+ final short[] C = customRGB;
final Integer Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]);
+
+ if (Colour == null){
+ Logger.DEBUG_MATERIALS("Invalid Material while constructing "+materialName+".");
+ return;
+ }
+
int sRadiation = 0;
if (matInfo.vRadiationLevel > 0){
sRadiation = matInfo.vRadiationLevel;
@@ -246,15 +260,19 @@ public class MaterialGenerator {
Item temp;
Block tempBlock;
- if (matInfo == null || Colour == null){
- Logger.DEBUG_MATERIALS("Invalid Material while constructing "+materialName+".");
+
+ if (generateOre) {
+ tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue());
}
- tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue());
-
- temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", matInfo.vTier, sRadiation, false);
- temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", matInfo.vTier, sRadiation, false);
- temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", matInfo.vTier, sRadiation, false);
+ if (generateDust) {
+ temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", matInfo.vTier, sRadiation, false);
+ }
+ if (generateSmallTinyDusts) {
+ temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", matInfo.vTier, sRadiation, false);
+ temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", matInfo.vTier, sRadiation, false);
+ }
+
temp = new BaseItemCrushedOre(matInfo);
temp = new BaseItemCentrifugedCrushedOre(matInfo);
temp = new BaseItemPurifiedCrushedOre(matInfo);
@@ -264,7 +282,7 @@ public class MaterialGenerator {
RecipeGen_Ore.generateRecipes(matInfo);
} catch (final Throwable t){
- Logger.MATERIALS("[Error] "+matInfo.getLocalizedName()+" failed to generate.");
+ Logger.MATERIALS("[Error] "+(matInfo != null ? matInfo.getLocalizedName() : "Null Material")+" failed to generate.");
t.printStackTrace();
}
}
diff --git a/src/Java/gtPlusPlus/core/material/MaterialStack.java b/src/Java/gtPlusPlus/core/material/MaterialStack.java
index b0d37ac2d4..3c687749d4 100644
--- a/src/Java/gtPlusPlus/core/material/MaterialStack.java
+++ b/src/Java/gtPlusPlus/core/material/MaterialStack.java
@@ -3,10 +3,11 @@ package gtPlusPlus.core.material;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.item.ItemStack;
public class MaterialStack {
diff --git a/src/Java/gtPlusPlus/core/material/NONMATERIAL.java b/src/Java/gtPlusPlus/core/material/NONMATERIAL.java
index d43791a90f..f0a7716199 100644
--- a/src/Java/gtPlusPlus/core/material/NONMATERIAL.java
+++ b/src/Java/gtPlusPlus/core/material/NONMATERIAL.java
@@ -1,7 +1,8 @@
package gtPlusPlus.core.material;
import gregtech.api.enums.Materials;
-import gtPlusPlus.core.util.materials.MaterialUtils;
+
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
public class NONMATERIAL {
diff --git a/src/Java/gtPlusPlus/core/material/ORES.java b/src/Java/gtPlusPlus/core/material/ORES.java
index 2f0eb72fcc..39c86e1bfa 100644
--- a/src/Java/gtPlusPlus/core/material/ORES.java
+++ b/src/Java/gtPlusPlus/core/material/ORES.java
@@ -1,6 +1,7 @@
package gtPlusPlus.core.material;
import gregtech.api.enums.TextureSet;
+
import gtPlusPlus.core.material.state.MaterialState;
public final class ORES {
diff --git a/src/Java/gtPlusPlus/core/material/gregtech/CustomGTMaterials.java b/src/Java/gtPlusPlus/core/material/gregtech/CustomGTMaterials.java
index b497e0e3a3..20aebb80ed 100644
--- a/src/Java/gtPlusPlus/core/material/gregtech/CustomGTMaterials.java
+++ b/src/Java/gtPlusPlus/core/material/gregtech/CustomGTMaterials.java
@@ -1,20 +1,5 @@
package gtPlusPlus.core.material.gregtech;
-import static gregtech.api.enums.Materials.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import gregtech.api.enums.Dyes;
-import gregtech.api.enums.Element;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.TC_Aspects;
-import gregtech.api.enums.TC_Aspects.TC_AspectStack;
-import gregtech.api.enums.TextureSet;
-import gregtech.api.objects.MaterialStack;
-import gtPlusPlus.core.util.Utils;
-
public class CustomGTMaterials {
//public static Materials Fireclay = new MaterialBuilder(626, TextureSet.SET_ROUGH, "Fireclay").addDustItems().setRGB(173, 160, 155).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Brick, 1)).constructMaterial();
diff --git a/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java b/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
index 5f83074a0d..affe480a57 100644
--- a/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
+++ b/src/Java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
@@ -1,7 +1,10 @@
package gtPlusPlus.core.material.nuclear;
import gregtech.api.enums.Materials;
-import gtPlusPlus.core.material.*;
+
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
public class FLUORIDES {
@@ -22,8 +25,11 @@ public class FLUORIDES {
false, //Generate cells
//Material Stacks with Percentage of required elements.
new MaterialStack[]{
- new MaterialStack(ELEMENT.getInstance().CALCIUM, 1),
- new MaterialStack(ELEMENT.getInstance().FLUORINE, 2)
+ new MaterialStack(ELEMENT.getInstance().CALCIUM, 16),
+ new MaterialStack(ELEMENT.getInstance().FLUORINE, 32),
+ new MaterialStack(ELEMENT.getInstance().IRON, 4),
+ new MaterialStack(ELEMENT.getInstance().CARBON, 2),
+ new MaterialStack(ELEMENT.getInstance().COBALT, 2)
});
//ThF4
diff --git a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
index 436115dac6..0a922b7c8c 100644
--- a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
+++ b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
@@ -1,9 +1,12 @@
package gtPlusPlus.core.material.nuclear;
import gregtech.api.enums.Materials;
-import gtPlusPlus.core.material.*;
+
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.StringUtils;
+import gtPlusPlus.core.util.data.StringUtils;
public final class NUCLIDE {
@@ -17,6 +20,7 @@ public final class NUCLIDE {
public final Material URANIUM232 = new Material("Uranium 232", MaterialState.SOLID, new short[]{88, 220, 103, 0}, 1132, 4131, 92, 140, false, StringUtils.superscript("232U"), 4);//Not a GT Inherited Material
public final Material URANIUM233 = new Material("Uranium 233", MaterialState.SOLID, new short[]{73, 220, 83, 0}, 1132, 4131, 92, 141, false, StringUtils.superscript("233U"), 2);//Not a GT Inherited Material
public final Material THORIUM232 = new Material("Thorium 232", MaterialState.SOLID, new short[]{15, 60, 15, 0}, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, StringUtils.superscript("232Th"), 1, false);//Not a GT Inherited Material
+ public final Material PLUTONIUM239 = new Material("Plutonium-239", MaterialState.SOLID, Materials.Plutonium.mIconSet, Materials.Plutonium.mDurability, Materials.Plutonium.mRGBa, Materials.Plutonium.mMeltingPoint, Materials.Plutonium.mBlastFurnaceTemp, 94, 145, false, StringUtils.superscript("239Pu"), 4, true);//Not a GT Inherited Material
//RTG Fuels
public final Material PLUTONIUM238 = new Material("Plutonium-238", MaterialState.SOLID, Materials.Plutonium241.mIconSet, Materials.Plutonium241.mDurability, Materials.Plutonium241.mRGBa, Materials.Plutonium241.mMeltingPoint, Materials.Plutonium241.mBlastFurnaceTemp, 94, 144, false, StringUtils.superscript("238Pu"), 2, false);//Not a GT Inherited Material
diff --git a/src/Java/gtPlusPlus/core/players/FakeFarmer.java b/src/Java/gtPlusPlus/core/players/FakeFarmer.java
index 8d3e9199b3..ef9ee3c3e7 100644
--- a/src/Java/gtPlusPlus/core/players/FakeFarmer.java
+++ b/src/Java/gtPlusPlus/core/players/FakeFarmer.java
@@ -5,13 +5,16 @@ import java.util.UUID;
import com.mojang.authlib.GameProfile;
import cpw.mods.fml.common.FMLCommonHandler;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.C15PacketClientSettings;
import net.minecraft.server.management.ItemInWorldManager;
import net.minecraft.stats.StatBase;
-import net.minecraft.util.*;
+import net.minecraft.util.ChunkCoordinates;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.IChatComponent;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
diff --git a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
index 5ea7c3552c..d8f783be01 100644
--- a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
+++ b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
@@ -11,6 +11,12 @@ import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.particle.EntityFX;
+import net.minecraft.client.renderer.entity.RenderSnowball;
+import net.minecraft.entity.Entity;
+
import gtPlusPlus.GTplusplus;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.client.renderer.*;
@@ -28,13 +34,8 @@ import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE.ConfigSwitches;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.tileentities.general.TileEntityFirepit;
-import gtPlusPlus.core.util.particles.EntityParticleFXMysterious;
+import gtPlusPlus.core.util.minecraft.particles.EntityParticleFXMysterious;
import gtPlusPlus.xmod.gregtech.common.render.GTPP_CapeRenderer;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.particle.EntityFX;
-import net.minecraft.client.renderer.entity.RenderLightningBolt;
-import net.minecraft.client.renderer.entity.RenderSnowball;
-import net.minecraft.entity.Entity;
public class ClientProxy extends CommonProxy implements Runnable{
diff --git a/src/Java/gtPlusPlus/core/proxy/ServerProxy.java b/src/Java/gtPlusPlus/core/proxy/ServerProxy.java
index 6da767781f..8aeeb70191 100644
--- a/src/Java/gtPlusPlus/core/proxy/ServerProxy.java
+++ b/src/Java/gtPlusPlus/core/proxy/ServerProxy.java
@@ -1,6 +1,9 @@
package gtPlusPlus.core.proxy;
-import cpw.mods.fml.common.event.*;
+import cpw.mods.fml.common.event.FMLInitializationEvent;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+
import gtPlusPlus.core.common.CommonProxy;
public class ServerProxy extends CommonProxy{
diff --git a/src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java b/src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java
index 62c17817b6..b5fc9c3995 100644
--- a/src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java
+++ b/src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java
@@ -1,11 +1,13 @@
package gtPlusPlus.core.recipe;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class Gregtech_Recipe_Adder {
diff --git a/src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java b/src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java
index e4b8a302a8..065a0fe2f4 100644
--- a/src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java
+++ b/src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java
@@ -1,9 +1,10 @@
package gtPlusPlus.core.recipe;
import gregtech.api.enums.ItemList;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
public class LOADER_Machine_Components {
@@ -96,8 +97,8 @@ public class LOADER_Machine_Components {
CI.sensor_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32696, 1);
CI.sensor_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32697, 1);
- registerComponent_ULV();
- registerComponent_MAX();
+ registerComponentsULV();
+ registerComponentsMAX();
}
private static void registerGTStandardComponents(){
@@ -134,7 +135,7 @@ public class LOADER_Machine_Components {
CI.sensor_UV = GregtechItemList.Sensor_UV.get(1);
CI.sensor_MAX = GregtechItemList.Sensor_MAX.get(1);
- registerComponent_ULV();
+ registerComponentsULV();
}
private static void registerGTNHComponents(){
@@ -171,11 +172,11 @@ public class LOADER_Machine_Components {
CI.sensor_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32696, 1);
CI.sensor_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32697, 1);
- registerComponent_ULV();
- registerComponent_MAX();
+ registerComponentsULV();
+ registerComponentsMAX();
}
- private static boolean registerComponent_ULV(){
+ private static boolean registerComponentsULV(){
CI.electricMotor_ULV = GregtechItemList.Electric_Motor_ULV.get(1);
CI.electricPump_ULV = GregtechItemList.Electric_Pump_ULV.get(1);
@@ -188,7 +189,7 @@ public class LOADER_Machine_Components {
return true;
}
- private static boolean registerComponent_MAX(){
+ private static boolean registerComponentsMAX(){
//Max Tier Components Blood Never added... Useless, lol.
CI.electricMotor_MAX = GregtechItemList.Electric_Motor_MAX.get(1);
CI.electricPump_MAX = GregtechItemList.Electric_Pump_MAX.get(1);
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Extruder.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Extruder.java
new file mode 100644
index 0000000000..455beb2fd0
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Extruder.java
@@ -0,0 +1,47 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.*;
+import gregtech.api.interfaces.IOreRecipeRegistrator;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class RECIPES_Extruder implements IOreRecipeRegistrator {
+
+ public RECIPES_Extruder() {
+ OrePrefixes.ingot.add((IOreRecipeRegistrator) this);
+ OrePrefixes.dust.add((IOreRecipeRegistrator) this);
+ }
+
+ public void registerOre(final OrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName,
+ final String aModName, final ItemStack aStack) {
+ if (!CORE.GTNH && ((aMaterial == Materials.Glass || aMaterial == Materials.WroughtIron
+ || GT_OreDictUnificator.get(OrePrefixes.ingot, (Object) aMaterial, 1L) != null)
+ && !aMaterial.contains(SubTag.NO_SMELTING))) {
+ final long aMaterialMass = aMaterial.getMass();
+ final int tAmount = (int) (aPrefix.mMaterialAmount / 3628800L);
+ if (tAmount > 0 && tAmount <= 64 && aPrefix.mMaterialAmount % 3628800L == 0L) {
+ int tVoltageMultiplier = (aMaterial.mBlastFurnaceTemp >= 2800) ? 64 : 16;
+ if (aMaterial.contains(SubTag.NO_SMASHING)) {
+ tVoltageMultiplier /= 4;
+ } else if (aPrefix.name().startsWith(OrePrefixes.dust.name())) {
+ return;
+ }
+
+ GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}),
+ GregtechItemList.Shape_Extruder_SmallGear.get(0L, new Object[0]),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, (Object) aMaterial.mSmeltInto, (long) tAmount),
+ ((int) Math.max(aMaterialMass * 5L * tAmount, tAmount)/4), 8 * tVoltageMultiplier);
+ GT_Values.RA.addAlloySmelterRecipe(GT_Utility.copyAmount(2L, new Object[]{aStack}),
+ ItemList.Shape_Mold_Gear_Small.get(0L, new Object[0]),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, (Object) aMaterial.mSmeltInto, (long) tAmount),
+ ((int) Math.max(aMaterialMass * 10L * tAmount, tAmount)/4), 2 * tVoltageMultiplier);
+
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index bd53c4f38a..bba7175272 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -1,46 +1,40 @@
package gtPlusPlus.core.recipe;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
-import gregtech.api.enums.ConfigCategories;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.ItemList;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.OrePrefixes;
-import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Utility;
-import gregtech.api.util.HotFuel;
-import gregtech.api.util.ThermalFuel;
+import gregtech.api.enums.*;
+import gregtech.api.util.*;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public class RECIPES_GREGTECH {
- public static void run(){
+ public static void run() {
Logger.INFO("Loading Recipes through GregAPI for Industrial Multiblocks.");
execute();
}
- private static void execute(){
+ private static void execute() {
cokeOvenRecipes();
- //matterFabRecipes();
+ electrolyzerRecipes();
+ // matterFabRecipes();
assemblerRecipes();
fluidcannerRecipes();
distilleryRecipes();
@@ -67,14 +61,28 @@ public class RECIPES_GREGTECH {
addFuels();
}
+ private static void electrolyzerRecipes() {
+ GT_Values.RA.addElectrolyzerRecipe(
+ ItemUtils.getSimpleStack(ModItems.dustDecayedRadium226, 1),
+ null,
+ null,
+ FluidUtils.getFluidStack("radon", 500),
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ new int[]{},
+ 20*90,
+ 240);
+ }
+
private static void extruderRecipes() {
- //Osmium Credits
- if (GT_Values.RA.addExtruderRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("blockOsmium", 4),
- ItemList.Shape_Mold_Credit.get(0),
- ItemList.Credit_Greg_Osmium.get(0),
- (int) Math.max(Materials.Osmium.getMass() * 2L * 1, 1),
- 4 * Materials.Osmium.mDensityMultiplier)){
+ // Osmium Credits
+ if (GT_Values.RA.addExtruderRecipe(ItemUtils.getItemStackOfAmountFromOreDict("blockOsmium", 1),
+ ItemList.Shape_Mold_Credit.get(0), ItemList.Credit_Greg_Osmium.get(1),
+ (int) Math.max(Materials.Osmium.getMass() * 2L * 20, 1), 1024)) {
Logger.WARNING("Extruder Recipe: Osmium Credit - Success");
}
else {
@@ -84,623 +92,666 @@ public class RECIPES_GREGTECH {
private static void blastSmelterRecipes() {
- //Black Bronze
+ // Black Bronze
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(13),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(13),
ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSilver", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 3),
- },
- FluidUtils.getFluidStack("molten.blackbronze", 5*144),
- 0,
- MathUtils.findPercentageOfInt(200*20, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 3), },
+ FluidUtils.getFluidStack("molten.blackbronze", 5 * 144), 0, MathUtils.findPercentageOfInt(200 * 20, 80),
120);
- //Black Steel
+ // Black Steel
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(5),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(5),
ItemUtils.getItemStackOfAmountFromOreDict("dustNickel", 5),
ItemUtils.getItemStackOfAmountFromOreDict("dustSteel", 15),
ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSilver", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 3)
- },
- FluidUtils.getFluidStack("molten.blacksteel", 25*144),
- 0,
- MathUtils.findPercentageOfInt(60*20, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 3) },
+ FluidUtils.getFluidStack("molten.blacksteel", 25 * 144), 0, MathUtils.findPercentageOfInt(60 * 20, 80),
120);
- //Red Steel
+ // Red Steel
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(6),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(6),
ItemUtils.getItemStackOfAmountFromOreDict("dustSilver", 4),
ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 4),
ItemUtils.getItemStackOfAmountFromOreDict("dustZinc", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustBismuth", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSteel", 10),
- ItemUtils.getItemStackOfAmountFromOreDict("dustBlackSteel", 20)
- },
- FluidUtils.getFluidStack("molten.redsteel", 40*144),
- 0,
- MathUtils.findPercentageOfInt(65*20, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBlackSteel", 20) },
+ FluidUtils.getFluidStack("molten.redsteel", 40 * 144), 0, MathUtils.findPercentageOfInt(65 * 20, 80),
120);
- //Blue Steel
- CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(5),
- ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 12),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 18),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZinc", 5),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSteel", 30),
- ItemUtils.getItemStackOfAmountFromOreDict("dustBlackSteel", 60)
-
- },
- FluidUtils.getFluidStack("molten.bluesteel", 125*144),
- 0,
- MathUtils.findPercentageOfInt(70*20, 80),
- 120);
+ // Blue Steel
+ CORE.RA.addBlastSmelterRecipe(new ItemStack[] { ItemUtils.getGregtechCircuit(5),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 12),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 18),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZinc", 5),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSteel", 30),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBlackSteel", 60)
+
+ }, FluidUtils.getFluidStack("molten.bluesteel", 125 * 144), 0, MathUtils.findPercentageOfInt(70 * 20, 80), 120);
- //TungstenSteel
+ // TungstenSteel
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(2),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(2),
ItemUtils.getItemStackOfAmountFromOreDict("ingotTungsten", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("ingotSteel", 1)
- },
- FluidUtils.getFluidStack("molten.tungstensteel", 2*144),
- 0,
- MathUtils.findPercentageOfInt(300*20, 80),
- 120);
+ ItemUtils.getItemStackOfAmountFromOreDict("ingotSteel", 1) },
+ FluidUtils.getFluidStack("molten.tungstensteel", 2 * 144), 0,
+ MathUtils.findPercentageOfInt(300 * 20, 80), 120);
- //Stainless Steel
+ // Stainless Steel
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(14),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(14),
ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 6),
ItemUtils.getItemStackOfAmountFromOreDict("dustNickel", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustManganese", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 1)
- },
- FluidUtils.getFluidStack("molten.stainlesssteel", 9*144),
- 0,
- MathUtils.findPercentageOfInt(85*20, 80),
- 120);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 1) },
+ FluidUtils.getFluidStack("molten.stainlesssteel", 9 * 144), 0,
+ MathUtils.findPercentageOfInt(85 * 20, 80), 120);
- //Eglin
+ // Eglin
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(7),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(7),
ItemUtils.getItemStackOfAmountFromOreDict("dustNickel", 5),
ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 23),
ItemUtils.getItemStackOfAmountFromOreDict("dustAluminium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 3),
ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 3),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSilicon", 12)
- },
- FluidUtils.getFluidStack("molten.eglinsteel", 48*144),
- 0,
- MathUtils.findPercentageOfInt(30*20, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSilicon", 12) },
+ FluidUtils.getFluidStack("molten.eglinsteel", 48 * 144), 0, MathUtils.findPercentageOfInt(30 * 20, 80),
120);
if (!CORE.GTNH) {
- //HSS-G
+ // HSS-G
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(14),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(14),
ItemUtils.getItemStackOfAmountFromOreDict("dustTungstenSteel", 5),
ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustMolybdenum", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 1)
- },
- FluidUtils.getFluidStack("molten.hssg", 9 * 144),
- 0,
- MathUtils.findPercentageOfInt(450 * 20, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 1) },
+ FluidUtils.getFluidStack("molten.hssg", 9 * 144), 0, MathUtils.findPercentageOfInt(450 * 20, 80),
120);
- //HSS-G
+ // HSS-G
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(5),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(5),
ItemUtils.getItemStackOfAmountFromOreDict("dustTungsten", 5),
ItemUtils.getItemStackOfAmountFromOreDict("dustSteel", 5),
ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 2),
ItemUtils.getItemStackOfAmountFromOreDict("dustMolybdenum", 4),
- ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 2)
- },
- FluidUtils.getFluidStack("molten.hssg", 18 * 144),
- 0,
- MathUtils.findPercentageOfInt(900 * 20, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 2) },
+ FluidUtils.getFluidStack("molten.hssg", 18 * 144), 0, MathUtils.findPercentageOfInt(900 * 20, 80),
120);
- //HSS-E
+ // HSS-E
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(14),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(14),
ItemUtils.getItemStackOfAmountFromOreDict("dustHSSG", 6),
ItemUtils.getItemStackOfAmountFromOreDict("dustCobalt", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSilicon", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustManganese", 1)
- },
- FluidUtils.getFluidStack("molten.hsse", 9 * 144),
- 0,
- MathUtils.findPercentageOfInt(540 * 20, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustManganese", 1) },
+ FluidUtils.getFluidStack("molten.hsse", 9 * 144), 0, MathUtils.findPercentageOfInt(540 * 20, 80),
120);
- //HSS-S
+ // HSS-S
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(3),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(3),
ItemUtils.getItemStackOfAmountFromOreDict("dustHSSG", 6),
ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 2)
- },
- FluidUtils.getFluidStack("molten.hsss", 9 * 144),
- 0,
- MathUtils.findPercentageOfInt(810 * 20, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 2) },
+ FluidUtils.getFluidStack("molten.hsss", 9 * 144), 0, MathUtils.findPercentageOfInt(810 * 20, 80),
120);
- //Osmiridium
+ // Osmiridium
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(2),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(2),
ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 3),
- ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1)
- },
- Materials.Helium.getGas(1000),
- FluidUtils.getFluidStack("molten.osmiridium", 4 * 144),
- 0,
- MathUtils.findPercentageOfInt(500 * 20, 80),
- 1920);
-
- //Naq Alloy
+ ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1) },
+ Materials.Helium.getGas(1000), FluidUtils.getFluidStack("molten.osmiridium", 4 * 144), 0,
+ MathUtils.findPercentageOfInt(500 * 20, 80), 1920);
+
+ // Naq Alloy
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(2),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(2),
ItemUtils.getItemStackOfAmountFromOreDict("dustNaquadah", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustOsmiridium", 1)
- },
- Materials.Argon.getGas(1000),
- FluidUtils.getFluidStack("molten.naquadahalloy", 2 * 144),
- 0,
- MathUtils.findPercentageOfInt(500 * 20, 80),
- 30720);
-
- //Nickel-Zinc-Ferrite
+ ItemUtils.getItemStackOfAmountFromOreDict("dustOsmiridium", 1) },
+ Materials.Argon.getGas(1000), FluidUtils.getFluidStack("molten.naquadahalloy", 2 * 144), 0,
+ MathUtils.findPercentageOfInt(500 * 20, 80), 30720);
+
+ // Nickel-Zinc-Ferrite
if (Materials.get("NickelZincFerrite") != null) {
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustFerriteMixture", 6)
- },
- Materials.Oxygen.getGas(2000),
- FluidUtils.getFluidStack("molten.nickelzincferrite", 2 * 144),
- 0,
- MathUtils.findPercentageOfInt(600 * 20, 80),
- 120);
+ new ItemStack[] { ItemUtils.getGregtechCircuit(2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustFerriteMixture", 6) },
+ Materials.Oxygen.getGas(2000), FluidUtils.getFluidStack("molten.nickelzincferrite", 2 * 144), 0,
+ MathUtils.findPercentageOfInt(600 * 20, 80), 120);
}
- //Gallium-Arsenide
+ // Gallium-Arsenide
if (Materials.get("GalliumArsenide") != null) {
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(2),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(2),
ItemUtils.getItemStackOfAmountFromOreDict("dustGallium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustArsenic", 1)
- },
- FluidUtils.getFluidStack("molten.galliumarsenide", 2 * 144),
- 0,
- MathUtils.findPercentageOfInt(600 * 20, 80),
- 120);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustArsenic", 1) },
+ FluidUtils.getFluidStack("molten.galliumarsenide", 2 * 144), 0,
+ MathUtils.findPercentageOfInt(600 * 20, 80), 120);
}
- //TungstenCarbide
+ // TungstenCarbide
if (Materials.get("TungstenCarbide") != null) {
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(12),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(12),
ItemUtils.getItemStackOfAmountFromOreDict("dustTungsten", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1)
- },
- FluidUtils.getFluidStack("molten.tungstencarbide", 2 * 144),
- 0,
- MathUtils.findPercentageOfInt((int) Math.max(Materials.get("TungstenCarbide").getMass() / 40L, 1L) * Materials.get("TungstenCarbide").mBlastFurnaceTemp, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1) },
+ FluidUtils.getFluidStack("molten.tungstencarbide", 2 * 144), 0,
+ MathUtils.findPercentageOfInt(
+ (int) Math.max(Materials.get("TungstenCarbide").getMass() / 40L, 1L)
+ * Materials.get("TungstenCarbide").mBlastFurnaceTemp,
+ 80),
480);
}
-
- //Vanadium-Gallium
+ // Vanadium-Gallium
if (Materials.get("VanadiumGallium") != null) {
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(12),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(12),
ItemUtils.getItemStackOfAmountFromOreDict("dustGallium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 3)
- },
- FluidUtils.getFluidStack("molten.vanadiumgallium", 4 * 144),
- 0,
- MathUtils.findPercentageOfInt((int) Math.max(Materials.VanadiumGallium.getMass() / 40L, 1L) * Materials.VanadiumGallium.mBlastFurnaceTemp, 80),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 3) },
+ FluidUtils.getFluidStack("molten.vanadiumgallium", 4 * 144), 0,
+ MathUtils.findPercentageOfInt((int) Math.max(Materials.VanadiumGallium.getMass() / 40L, 1L)
+ * Materials.VanadiumGallium.mBlastFurnaceTemp, 80),
480);
}
- //EIO
- //Dark Steel
- if (ItemUtils.getItemStackOfAmountFromOreDict("dustElectricalSteel", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)) {
+ // EIO
+ // Dark Steel
+ if (ItemUtils.getItemStackOfAmountFromOreDict("dustElectricalSteel", 1) != ItemUtils
+ .getSimpleStack(ModItems.AAA_Broken)) {
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(2),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(2),
ItemUtils.getItemStackOfAmountFromOreDict("dustElectricalSteel", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustObsidian", 1)
- },
- FluidUtils.getFluidStack("molten.darksteel", 2 * 144),
- 0,
- MathUtils.findPercentageOfInt(200 * 20, 80),
- 120);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustObsidian", 1) },
+ FluidUtils.getFluidStack("molten.darksteel", 2 * 144), 0,
+ MathUtils.findPercentageOfInt(200 * 20, 80), 120);
}
- //Pulsating Iron
- if (ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)) {
+ // Pulsating Iron
+ if (ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1) != ItemUtils
+ .getSimpleStack(ModItems.AAA_Broken)) {
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(2),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(2),
ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1),
- ItemUtils.getSimpleStack(Items.ender_pearl)
- },
- FluidUtils.getFluidStack("molten.pulsatingiron", 2 * 144),
- 0,
- MathUtils.findPercentageOfInt(8 * 20, 80),
- 120);
+ ItemUtils.getSimpleStack(Items.ender_pearl) },
+ FluidUtils.getFluidStack("molten.pulsatingiron", 2 * 144), 0,
+ MathUtils.findPercentageOfInt(8 * 20, 80), 120);
}
- //Energetic Alloy
- if (ItemUtils.getItemStackOfAmountFromOreDict("dustEnergeticAlloy", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)) {
+ // Energetic Alloy
+ if (ItemUtils.getItemStackOfAmountFromOreDict("dustEnergeticAlloy", 1) != ItemUtils
+ .getSimpleStack(ModItems.AAA_Broken)) {
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(12),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(12),
ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1),
- ItemUtils.getSimpleStack(Items.glowstone_dust)
- },
+ ItemUtils.getSimpleStack(Items.glowstone_dust) },
FluidUtils.getFluidStack("molten.redstone", 144),
- FluidUtils.getFluidStack("molten.energeticalloy", 144),
- 0,
- MathUtils.findPercentageOfInt(9 * 20, 80),
- 120);
+ FluidUtils.getFluidStack("molten.energeticalloy", 144), 0,
+ MathUtils.findPercentageOfInt(9 * 20, 80), 120);
}
- //Vibrant Alloy
- if (ItemUtils.getItemStackOfAmountFromOreDict("dustVibrantAlloy", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)) {
+ // Vibrant Alloy
+ if (ItemUtils.getItemStackOfAmountFromOreDict("dustVibrantAlloy", 1) != ItemUtils
+ .getSimpleStack(ModItems.AAA_Broken)) {
CORE.RA.addBlastSmelterRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(12),
+ new ItemStack[] { ItemUtils.getGregtechCircuit(12),
ItemUtils.getItemStackOfAmountFromOreDict("dustEnergeticAlloy", 1),
- ItemUtils.getSimpleStack(Items.ender_pearl)
- },
- FluidUtils.getFluidStack("molten.vibrantalloy", 144),
- 0,
- MathUtils.findPercentageOfInt(16 * 20, 80),
- 480);
+ ItemUtils.getSimpleStack(Items.ender_pearl) },
+ FluidUtils.getFluidStack("molten.vibrantalloy", 144), 0,
+ MathUtils.findPercentageOfInt(16 * 20, 80), 480);
}
}
}
private static void fluidcannerRecipes() {
- //Sulfuric Acid
- GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle), ItemUtils.getSimpleStack(ModItems.itemSulfuricPotion), FluidUtils.getFluidStack("sulfuricacid", 250), null);
- GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemSulfuricPotion), ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("sulfuricacid", 250));
-
- //Hydrofluoric Acid
- GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle), ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion), FluidUtils.getFluidStack("hydrofluoricacid", 250), null);
- GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion), ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("hydrofluoricacid", 250));
+ // Sulfuric Acid
+ GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle),
+ ItemUtils.getSimpleStack(ModItems.itemSulfuricPotion), FluidUtils.getFluidStack("sulfuricacid", 250),
+ null);
+ GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemSulfuricPotion),
+ ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("sulfuricacid", 250));
+
+ // Hydrofluoric Acid
+ GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle),
+ ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
+ FluidUtils.getFluidStack("hydrofluoricacid", 250), null);
+ GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
+ ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("hydrofluoricacid", 250));
}
- private static void cokeOvenRecipes(){
+ private static void cokeOvenRecipes() {
Logger.INFO("Loading Recipes for Industrial Coking Oven.");
- //Wood to Charcoal
- AddGregtechRecipe.addCokeAndPyrolyseRecipes(
- GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 20L),
- 20,
- GT_ModHandler.getSteam(1000),
- GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 24L),
- FluidUtils.getFluidStack("fluid.coalgas", 1440),
- 60,
- 30);
-
- //Coal to Coke
- AddGregtechRecipe.addCokeAndPyrolyseRecipes(
- GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 16L),
- 22,
- GT_ModHandler.getSteam(1000),
- ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 10),
- FluidUtils.getFluidStack("fluid.coalgas", 2880),
- 30,
- 120);
-
- //Coke & Coal
- CORE.RA.addCokeOvenRecipe(
- GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L),
- ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 6),
- GT_ModHandler.getSteam(2000),
- FluidUtils.getFluidStack("fluid.coalgas", 5040),
- ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 14),
- 60*20,
- 240);
+ // Wood to Charcoal
+ AddGregtechRecipe.addCokeAndPyrolyseRecipes(GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 20L), 20,
+ GT_ModHandler.getSteam(1000), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 24L),
+ FluidUtils.getFluidStack("fluid.coalgas", 1440), 60, 30);
+ // Coal to Coke
+ AddGregtechRecipe.addCokeAndPyrolyseRecipes(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 16L), 22,
+ GT_ModHandler.getSteam(1000), ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 10),
+ FluidUtils.getFluidStack("fluid.coalgas", 2880), 30, 120);
+ // Coke & Coal
+ CORE.RA.addCokeOvenRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L),
+ ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 6), GT_ModHandler.getSteam(2000),
+ FluidUtils.getFluidStack("fluid.coalgas", 5040),
+ ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 14), 60 * 20, 240);
}
- private static void matterFabRecipes(){
+ private static void matterFabRecipes() {
Logger.INFO("Loading Recipes for Matter Fabricator.");
try {
- CORE.RA.addMatterFabricatorRecipe(
- Materials.UUAmplifier.getFluid(1L), //Fluid Input
- Materials.UUMatter.getFluid(1L), //Fluid Output
- 800, //Time in ticks
- 32); //EU
- }catch (final NullPointerException e){Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ CORE.RA.addMatterFabricatorRecipe(Materials.UUAmplifier.getFluid(1L), // Fluid
+ // Input
+ Materials.UUMatter.getFluid(1L), // Fluid Output
+ 800, // Time in ticks
+ 32); // EU
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
try {
- CORE.RA.addMatterFabricatorRecipe(
- null, //Fluid Input
- Materials.UUMatter.getFluid(1L), //Fluid Output
- 3200, //Time in ticks
- 32); //EU
- }catch (final NullPointerException e){Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ CORE.RA.addMatterFabricatorRecipe(null, // Fluid Input
+ Materials.UUMatter.getFluid(1L), // Fluid Output
+ 3200, // Time in ticks
+ 32); // EU
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
}
- private static void dehydratorRecipes(){
+ private static void dehydratorRecipes() {
Logger.INFO("Loading Recipes for Chemical Dehydrator.");
try {
- //Makes Lithium Carbonate
- CORE.RA.addDehydratorRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricLithium", 1), //Item Input
- FluidUtils.getFluidStack("sulfuriclithium", 440), //Fluid input (slot 1)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1),
+ // Makes Lithium Carbonate
+ CORE.RA.addDehydratorRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricLithium", 1), // Item
+ // Input
+ FluidUtils.getFluidStack("sulfuriclithium", 440), // Fluid
+ // input
+ // (slot
+ // 1)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 3),
ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSodium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 3)
- }, //Output Array of Items - Upto 9
- 30*20, //Time in ticks
- 30); //EU
- }catch (final NullPointerException e){Logger.INFO("[cellSulfuricLithium] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 3) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9
+ 30 * 20, // Time in ticks
+ 30); // EU
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[cellSulfuricLithium] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
try {
- ItemStack cells = ItemUtils.getItemStackWithMeta(LoadedMods.IndustrialCraft2, "IC2:itemCellEmpty", "Empty Fluid Cells", 0, 12);
+ ItemStack cells = ItemUtils.getItemStackWithMeta(LoadedMods.IndustrialCraft2, "IC2:itemCellEmpty",
+ "Empty Fluid Cells", 0, 12);
- if (cells == null){
+ if (cells == null) {
cells = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellEmpty", 12);
}
- final ItemStack[] input = {cells, ItemUtils.getItemStackOfAmountFromOreDict("dustLepidolite", 20)};
-
- CORE.RA.addDehydratorRecipe(
- input, //Item input (Array, up to 2)
- FluidUtils.getFluidStack("sulfuricacid", 10000), //Fluid input (slot 1)
- FluidUtils.getFluidStack("sulfuriclithium", 10000), //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustPotassium", 1),
+ final ItemStack[] input = { cells, ItemUtils.getItemStackOfAmountFromOreDict("dustLepidolite", 20) };
+
+ CORE.RA.addDehydratorRecipe(input, // Item input (Array, up to 2)
+ FluidUtils.getFluidStack("sulfuricacid", 10000), // Fluid
+ // input
+ // (slot
+ // 1)
+ FluidUtils.getFluidStack("sulfuriclithium", 10000), // Fluid
+ // output
+ // (slot
+ // 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPotassium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustAluminium", 4),
ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 10),
ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3), //LithiumCarbonate
- }, //Output Array of Items - Upto 9,
- new int[]{0},
- 75*20, //Time in ticks
- 1000); //EU
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3), // LithiumCarbonate
+ }, // Output Array of Items - Upto 9,
+ new int[] { 0 }, 75 * 20, // Time in ticks
+ 1000); // EU
- }catch (final NullPointerException e){Logger.INFO("[dustLepidolite] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[dustLepidolite] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
try {
- CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 10)
- }, //Item input (Array, up to 2)
- FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 1440), //Fluid input (slot 1)
- null, //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustUraniumTetrafluoride", 10),
- ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellEmpty", 10)
- }, //Output Array of Items - Upto 9,
- new int[]{0},
- 150*20, //Time in ticks
- 2000); //EU
-
- }catch (final NullPointerException e){Logger.INFO("[dustUraniumTetrafluoride] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ CORE.RA.addDehydratorRecipe(new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 10) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 1440), // Fluid
+ // input
+ // (slot
+ // 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUraniumTetrafluoride", 10),
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellEmpty", 10) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0 }, 150 * 20, // Time in ticks
+ 2000); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[dustUraniumTetrafluoride] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
try {
- CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 10)
- }, //Item input (Array, up to 2)
- FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1440), //Fluid input (slot 1)
- null, //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustUraniumHexafluoride", 10),
- ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellEmpty", 10)
- }, //Output Array of Items - Upto 9,
- new int[]{0},
- 300*20, //Time in ticks
- 4000); //EU
-
- }catch (final NullPointerException e){Logger.INFO("[dustUraniumHexafluoride] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
-
- //Raisins from Grapes
+ CORE.RA.addDehydratorRecipe(new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 10) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1440), // Fluid
+ // input
+ // (slot
+ // 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUraniumHexafluoride", 10),
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellEmpty", 10) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0 }, 300 * 20, // Time in ticks
+ 4000); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[dustUraniumHexafluoride] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+
+ // Raisins from Grapes
try {
- CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("cropGrape", 1)
- }, //Item input (Array, up to 2)
- null, //Fluid input (slot 1)
- null, //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("foodRaisins", 1)
- }, //Output Array of Items - Upto 9,
- new int[]{0},
- 10*20, //Time in ticks
- 8); //EU
-
- }catch (final NullPointerException e){Logger.INFO("[foodRaisins] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
-
- //Calcium Hydroxide
- if ((ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1).getItem() != ModItems.AAA_Broken) || LoadedMods.IHL){
+ CORE.RA.addDehydratorRecipe(new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cropGrape", 1) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ null, // Fluid input (slot 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("foodRaisins", 1) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0 }, 10 * 20, // Time in ticks
+ 8); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[foodRaisins] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+
+ // Calcium Hydroxide
+ if ((ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1).getItem() != ModItems.AAA_Broken)
+ || LoadedMods.IHL) {
try {
CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 10)
- }, //Item input (Array, up to 2)
- FluidUtils.getFluidStack("water", 10000), //Fluid input (slot 1)
- null, //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 20)
- }, //Output Array of Items - Upto 9,
- new int[]{0},
- 120*20, //Time in ticks
- 120); //EU
-
- }catch (final NullPointerException e){Logger.INFO("[dustCalciumHydroxide] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
-
- //2 LiOH + CaCO3
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 10) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ FluidUtils.getFluidStack("water", 10000), // Fluid input
+ // (slot 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 20) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0 }, 120 * 20, // Time in ticks
+ 120); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[dustCalciumHydroxide] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+
+ // 2 LiOH + CaCO3
try {
CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 5)
- }, //Item input (Array, up to 2)
- null, //Fluid input (slot 1)
- null, //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 3)
- }, //Output Array of Items - Upto 9,
- new int[]{0},
- 120*20, //Time in ticks
- 1000); //EU
-
- }catch (final NullPointerException e){Logger.INFO("[dustLi2CO3CaOH2] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
-
- //LiOH Liquid to Dust
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 5) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ null, // Fluid input (slot 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 3) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0 }, 120 * 20, // Time in ticks
+ 1000); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[dustLi2CO3CaOH2] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+
+ // LiOH Liquid to Dust
try {
- CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getGregtechCircuit(0)
- }, //Item input (Array, up to 2)
- FluidUtils.getFluidStack("lithiumhydroxide", 144), //Fluid input (slot 1)
- null, //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 1)
- }, //Output Array of Items - Upto 9,
- new int[]{0},
- 1*20, //Time in ticks
- 64); //EU
-
- }catch (final NullPointerException e){Logger.INFO("[dustLithiumHydroxide] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
-
- //Zirconium Chloride -> TetraFluoride
+ CORE.RA.addDehydratorRecipe(new ItemStack[] { ItemUtils.getGregtechCircuit(0) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ FluidUtils.getFluidStack("lithiumhydroxide", 144), // Fluid
+ // input
+ // (slot
+ // 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 1) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0 }, 1 * 20, // Time in ticks
+ 64); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[dustLithiumHydroxide] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+
+ // Zirconium Chloride -> TetraFluoride
try {
CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 9)
- }, //Item input (Array, up to 2)
- FluidUtils.getFluidStack("hydrofluoricacid", 9*144), //Fluid input (slot 1)
- null, //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogenChloride", 9),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZrF4", 9)
- }, //Output Array of Items - Upto 9,
- new int[]{0},
- 120*20, //Time in ticks
- 500); //EU
-
- }catch (final NullPointerException e){Logger.INFO("[dustZrF4] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
-
- //CaF2 + H2SO4 → CaSO4(solid) + 2 HF
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 9) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ FluidUtils.getFluidStack("hydrofluoricacid", 9 * 144), // Fluid
+ // input
+ // (slot
+ // 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogenChloride", 9),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZrF4", 9) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0 }, 120 * 20, // Time in ticks
+ 500); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[dustZrF4] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+
+ // CaF2 + H2SO4 → CaSO4(solid) + 2 HF
try {
CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustFluorite", 37),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 16)
- }, //Item input (Array, up to 2)
- FluidUtils.getFluidStack("sulfuricacid", 56*144), //Fluid input (slot 1)
- null, //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumSulfate", 30),
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustFluorite", 37),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 16) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ FluidUtils.getFluidStack("sulfuricacid", 56 * 144), // Fluid
+ // input
+ // (slot
+ // 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumSulfate", 30),
ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 16),
ItemUtils.getItemStackOfAmountFromOreDict("dustSilver", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 2),
ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 2)
- }, //Output Array of Items - Upto 9,
- new int[]{0, 0, 100, 100, 300, 200},
- 10*60*20, //Time in ticks
- 230); //EU
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 2) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0, 0, 100, 100, 300, 200 }, 10 * 60 * 20, // Time
+ // in
+ // ticks
+ 230); // EU
- }catch (final NullPointerException e){Logger.INFO("[dustFluorite] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[dustFluorite] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
- //Be(OH)2 + 2 (NH4)HF2 → (NH4)2BeF4 + 2 H2O
+ // Be(OH)2 + 2 (NH4)HF2 → (NH4)2BeF4 + 2 H2O
try {
CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("cellBerylliumHydroxide", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("cellAmmoniumBifluoride", 4)
- }, //Item input (Array, up to 2)
- null, //Fluid input (slot 1)
- FluidUtils.getFluidStack("ammoniumtetrafluoroberyllate", 6000), //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 4),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2)
- }, //Output Array of Items - Upto 9,
- new int[]{0, 0, 0},
- 32*20, //Time in ticks
- 64); //EU
-
-
- }catch (final NullPointerException e){Logger.INFO("[ammoniumtetrafluoroberyllate] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
-
- //(NH4)2BeF4 → 2 NH3 + 2 HF + BeF2
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellBerylliumHydroxide", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellAmmoniumBifluoride", 4) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ null, // Fluid input (slot 1)
+ FluidUtils.getFluidStack("ammoniumtetrafluoroberyllate", 6000), // Fluid
+ // output
+ // (slot
+ // 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0, 0, 0 }, 32 * 20, // Time in ticks
+ 64); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[ammoniumtetrafluoroberyllate] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+
+ // (NH4)2BeF4 → 2 NH3 + 2 HF + BeF2
try {
CORE.RA.addDehydratorRecipe(
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 5)
- }, //Item input (Array, up to 2)
- FluidUtils.getFluidStack("ammoniumtetrafluoroberyllate", 5000), //Fluid input (slot 1)
- null, //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 2),
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 5) }, // Item
+ // input
+ // (Array,
+ // up
+ // to
+ // 2)
+ FluidUtils.getFluidStack("ammoniumtetrafluoroberyllate", 5000), // Fluid
+ // input
+ // (slot
+ // 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 2),
ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("cellBerylliumFluoride", 1)
- }, //Output Array of Items - Upto 9,
- new int[]{0, 0, 0},
- 5*60*20, //Time in ticks
- 120); //EU
+ ItemUtils.getItemStackOfAmountFromOreDict("cellBerylliumFluoride", 1) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 0, 0, 0 }, 5 * 60 * 20, // Time in ticks
+ 120); // EU
- }catch (final NullPointerException e){Logger.INFO("[cellBerylliumFluoride] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[cellBerylliumFluoride] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
- //Process Waste Water
+ // Process Waste Water
try {
- CORE.RA.addDehydratorRecipe(
- null, //Item input (Array, up to 2)
- FluidUtils.getFluidStack("sludge", 1000), //Fluid input (slot 1)
- FluidUtils.getFluidStack("nitricacid", 10), //Fluid output (slot 2)
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustTinyIron", 1),
+ CORE.RA.addDehydratorRecipe(null, // Item input (Array, up to 2)
+ FluidUtils.getFluidStack("sludge", 1000), // Fluid input
+ // (slot 1)
+ FluidUtils.getFluidStack("nitricacid", 10), // Fluid
+ // output
+ // (slot 2)
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTinyIron", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustTinyCopper", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustTinyTin", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustTinyNickel", 1),
@@ -708,561 +759,634 @@ public class RECIPES_GREGTECH {
ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAluminium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustTinySilver", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustTinyGold", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustTinyIridium", 1)
- }, //Output Array of Items - Upto 9,
- new int[]{10, 5, 5, 4, 4, 3, 2, 2, 1},
- 2*20, //Time in ticks
- 500); //EU
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyIridium", 1) }, // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ new int[] { 10, 5, 5, 4, 4, 3, 2, 2, 1 }, 2 * 20, // Time
+ // in
+ // ticks
+ 500); // EU
- }catch (final NullPointerException e){Logger.INFO("[sludge] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("[sludge] FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
-
}
}
- private static void lftrRecipes(){
+ private static void lftrRecipes() {
try {
- }catch (final NullPointerException e){Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
try {
- //Fli2BeF4 + Thorium TetraFluoride = Uranium233
- CORE.RA.addLFTRRecipe(
- FluidUtils.getFluidStack("molten.LiFBeF2ThF4UF4".toLowerCase(), 144*4), //Fluid input (slot 1)
- FluidUtils.getFluidStack("molten.li2bef4", 1200), //Fluid output (slot 2)
- FluidUtils.getFluidStack("molten.uraniumhexafluoride", (1200+(144*4))), //Output Array of Items - Upto 9,
- 300*60*20, //Time in ticks
- 3500); //EU
-
- }catch (final NullPointerException e){Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ // Fli2BeF4 + Thorium TetraFluoride = Uranium233
+ CORE.RA.addLFTRRecipe(FluidUtils.getFluidStack("molten.LiFBeF2ThF4UF4".toLowerCase(), 144 * 4), // Fluid
+ // input
+ // (slot
+ // 1)
+ FluidUtils.getFluidStack("molten.li2bef4", 1200), // Fluid
+ // output
+ // (slot
+ // 2)
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", (1200 + (144 * 4))), // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ 300 * 60 * 20, // Time in ticks
+ 3500); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
try {
- //Fli2BeF4 + Uranium235 = 1x Uranium233
- CORE.RA.addLFTRRecipe(
- FluidUtils.getFluidStack("molten.LiFBeF2ZrF4U235".toLowerCase(), 144*16), //Fluid input (slot 1)
- FluidUtils.getFluidStack("molten.li2bef4", 144*12), //Fluid output (slot 2)
- FluidUtils.getFluidStack("molten.uraniumhexafluoride", 3*144), //Output Array of Items - Upto 9,
- 120*60*20, //Time in ticks
- 8000); //EU
- }catch (final NullPointerException e){Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ // Fli2BeF4 + Uranium235 = 1x Uranium233
+ CORE.RA.addLFTRRecipe(FluidUtils.getFluidStack("molten.LiFBeF2ZrF4U235".toLowerCase(), 144 * 16), // Fluid
+ // input
+ // (slot
+ // 1)
+ FluidUtils.getFluidStack("molten.li2bef4", 144 * 12), // Fluid
+ // output
+ // (slot
+ // 2)
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 3 * 144), // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ 120 * 60 * 20, // Time in ticks
+ 8000); // EU
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
try {
- //Fli2BeF4 + Uranium233 TetraFluoride = Uranium233
- CORE.RA.addLFTRRecipe(
- FluidUtils.getFluidStack("molten.LiFBeF2ZrF4UF4".toLowerCase(), 144*2), //Fluid input (slot 1)
- FluidUtils.getFluidStack("molten.li2bef4", 500), //Fluid output (slot 2)
- FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1288), //Output Array of Items - Upto 9,
- 420*60*20, //Time in ticks
- 4000); //EU
-
- }catch (final NullPointerException e){Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ // Fli2BeF4 + Uranium233 TetraFluoride = Uranium233
+ CORE.RA.addLFTRRecipe(FluidUtils.getFluidStack("molten.LiFBeF2ZrF4UF4".toLowerCase(), 144 * 2), // Fluid
+ // input
+ // (slot
+ // 1)
+ FluidUtils.getFluidStack("molten.li2bef4", 500), // Fluid
+ // output
+ // (slot
+ // 2)
+ FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1288), // Output
+ // Array
+ // of
+ // Items
+ // -
+ // Upto
+ // 9,
+ 420 * 60 * 20, // Time in ticks
+ 4000); // EU
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
}
- private static void fissionFuelRecipes(){
+ private static void fissionFuelRecipes() {
try {
final String salt_LiFBeF2ThF4UF4 = "LiFBeF2ThF4UF4".toLowerCase();
final String salt_LiFBeF2ZrF4U235 = "LiFBeF2ZrF4U235".toLowerCase();
final String salt_LiFBeF2ZrF4UF4 = "LiFBeF2ZrF4UF4".toLowerCase();
- final FluidStack LithiumFluoride = FluidUtils.getFluidStack("molten.lithiumfluoride", 100); //Re-usable FluidStacks
- final FluidStack BerylliumFluoride = FluidUtils.getFluidStack("molten.berylliumfluoride", 100); //Re-usable FluidStacks
- final FluidStack ThoriumFluoride = FluidUtils.getFluidStack("molten.thoriumtetrafluoride", 100); //Re-usable FluidStacks
- final FluidStack ZirconiumFluoride = FluidUtils.getFluidStack("molten.zirconiumtetrafluoride", 100); //Re-usable FluidStacks
- final FluidStack UraniumTetraFluoride = FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 100); //Re-usable FluidStacks
- final FluidStack Uranium235 = FluidUtils.getFluidStack("molten.uranium235", 1000); //Re-usable FluidStacks
-
- final FluidStack LiFBeF2ThF4UF4 = FluidUtils.getFluidStack("molten."+salt_LiFBeF2ThF4UF4, 100); //Re-usable FluidStacks
- final FluidStack LiFBeF2ZrF4U235 = FluidUtils.getFluidStack("molten."+salt_LiFBeF2ZrF4U235, 100); //Re-usable FluidStacks
- final FluidStack LiFBeF2ZrF4UF4 = FluidUtils.getFluidStack("molten."+salt_LiFBeF2ZrF4UF4, 100); //Re-usable FluidStacks
-
- //7LiF - BeF2 - ZrF4 - UF4 - 650C
- CORE.RA.addFissionFuel(
- FluidUtils.getFluidStack(LithiumFluoride, 6500), //Input A
- FluidUtils.getFluidStack(BerylliumFluoride, 2500), //Input B
- FluidUtils.getFluidStack(ZirconiumFluoride, 800), //Input C
- FluidUtils.getFluidStack(UraniumTetraFluoride, 700), //Input D
- null, null, null, null, null, //Extra 5 inputs
- FluidUtils.getFluidStack(LiFBeF2ZrF4UF4, 10000), //Output Fluid 1
- null, //Output Fluid 2
- 60*60*20, //Duration
+ final FluidStack LithiumFluoride = FluidUtils.getFluidStack("molten.lithiumfluoride", 100); // Re-usable
+ // FluidStacks
+ final FluidStack BerylliumFluoride = FluidUtils.getFluidStack("molten.berylliumfluoride", 100); // Re-usable
+ // FluidStacks
+ final FluidStack ThoriumFluoride = FluidUtils.getFluidStack("molten.thoriumtetrafluoride", 100); // Re-usable
+ // FluidStacks
+ final FluidStack ZirconiumFluoride = FluidUtils.getFluidStack("molten.zirconiumtetrafluoride", 100); // Re-usable
+ // FluidStacks
+ final FluidStack UraniumTetraFluoride = FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 100); // Re-usable
+ // FluidStacks
+ final FluidStack Uranium235 = FluidUtils.getFluidStack("molten.uranium235", 1000); // Re-usable
+ // FluidStacks
+
+ final FluidStack LiFBeF2ThF4UF4 = FluidUtils.getFluidStack("molten." + salt_LiFBeF2ThF4UF4, 100); // Re-usable
+ // FluidStacks
+ final FluidStack LiFBeF2ZrF4U235 = FluidUtils.getFluidStack("molten." + salt_LiFBeF2ZrF4U235, 100); // Re-usable
+ // FluidStacks
+ final FluidStack LiFBeF2ZrF4UF4 = FluidUtils.getFluidStack("molten." + salt_LiFBeF2ZrF4UF4, 100); // Re-usable
+ // FluidStacks
+
+ // 7LiF - BeF2 - ZrF4 - UF4 - 650C
+ CORE.RA.addFissionFuel(FluidUtils.getFluidStack(LithiumFluoride, 6500), // Input
+ // A
+ FluidUtils.getFluidStack(BerylliumFluoride, 2500), // Input
+ // B
+ FluidUtils.getFluidStack(ZirconiumFluoride, 800), // Input C
+ FluidUtils.getFluidStack(UraniumTetraFluoride, 700), // Input
+ // D
+ null, null, null, null, null, // Extra 5 inputs
+ FluidUtils.getFluidStack(LiFBeF2ZrF4UF4, 10000), // Output
+ // Fluid
+ // 1
+ null, // Output Fluid 2
+ 60 * 60 * 20, // Duration
500);
- //7LiF - BeF2 - ZrF4 - U235 - 590C
- CORE.RA.addFissionFuel(
- FluidUtils.getFluidStack(LithiumFluoride, 5500), //Input A
- FluidUtils.getFluidStack(BerylliumFluoride, 1500), //Input B
- FluidUtils.getFluidStack(ZirconiumFluoride, 600), //Input C
- FluidUtils.getFluidStack(Uranium235, 2400), //Input D
- null, null, null, null, null, //Extra 5 inputs
- FluidUtils.getFluidStack(LiFBeF2ZrF4U235, 10000), //Output Fluid 1
- null, //Output Fluid 2
- 45*60*20, //Duration
+ // 7LiF - BeF2 - ZrF4 - U235 - 590C
+ CORE.RA.addFissionFuel(FluidUtils.getFluidStack(LithiumFluoride, 5500), // Input
+ // A
+ FluidUtils.getFluidStack(BerylliumFluoride, 1500), // Input
+ // B
+ FluidUtils.getFluidStack(ZirconiumFluoride, 600), // Input C
+ FluidUtils.getFluidStack(Uranium235, 2400), // Input D
+ null, null, null, null, null, // Extra 5 inputs
+ FluidUtils.getFluidStack(LiFBeF2ZrF4U235, 10000), // Output
+ // Fluid
+ // 1
+ null, // Output Fluid 2
+ 45 * 60 * 20, // Duration
500);
- //7liF - BeF2 - ThF4 - UF4 - 566C
- CORE.RA.addFissionFuel(
- FluidUtils.getFluidStack(LithiumFluoride, 6200), //Input A
- FluidUtils.getFluidStack(BerylliumFluoride, 2800), //Input B
- FluidUtils.getFluidStack(ThoriumFluoride, 700), //Input C
- FluidUtils.getFluidStack(UraniumTetraFluoride, 700), //Input D
- null, null, null, null, null, //Extra 5 inputs
- FluidUtils.getFluidStack(LiFBeF2ThF4UF4, 10000), //Output Fluid 1
- null, //Output Fluid 2
- 60*60*20, //Duration
+ // 7liF - BeF2 - ThF4 - UF4 - 566C
+ CORE.RA.addFissionFuel(FluidUtils.getFluidStack(LithiumFluoride, 6200), // Input
+ // A
+ FluidUtils.getFluidStack(BerylliumFluoride, 2800), // Input
+ // B
+ FluidUtils.getFluidStack(ThoriumFluoride, 700), // Input C
+ FluidUtils.getFluidStack(UraniumTetraFluoride, 700), // Input
+ // D
+ null, null, null, null, null, // Extra 5 inputs
+ FluidUtils.getFluidStack(LiFBeF2ThF4UF4, 10000), // Output
+ // Fluid
+ // 1
+ null, // Output Fluid 2
+ 60 * 60 * 20, // Duration
500);
- }catch (final NullPointerException e){Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
}
- private static void assemblerRecipes(){
- //ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1)
- addAR(ItemUtils.getItemStackOfAmountFromOreDict("plateVanadium", 32), ItemUtils.getItemStackOfAmountFromOreDict("frameGtVanadiumSteel", 8), FluidUtils.getFluidStack("oxygen", 8000), ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 4), 16, 64);
- addAR(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 2), ItemUtils.getItemStackOfAmountFromOreDict("plateVanadiumGallium", 8), FluidUtils.getFluidStack("molten.tantalum", 144*4), ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 8), 32, 128);
- addAR(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 1), ItemUtils.getItemStackOfAmountFromOreDict("plateLead", 4), FluidUtils.getFluidStack("nitrogen", 1000), ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1), 1), 64, 256);
- addAR(ItemUtils.getItemStackOfAmountFromOreDict("plateIncoloy020", 16), ItemUtils.getItemStackOfAmountFromOreDict("frameGtIncoloyMA956", 4), null, GregtechItemList.Casing_Power_SubStation.get(4), 80, 128);
+ private static void assemblerRecipes() {
+ // ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1)
+ addAR(ItemUtils.getItemStackOfAmountFromOreDict("plateVanadium", 32),
+ ItemUtils.getItemStackOfAmountFromOreDict("frameGtVanadiumSteel", 8),
+ FluidUtils.getFluidStack("oxygen", 8000),
+ ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 4), 16, 64);
+ addAR(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateVanadiumGallium", 8),
+ FluidUtils.getFluidStack("molten.tantalum", 144 * 4),
+ ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 8), 32, 128);
+ addAR(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateLead", 4), FluidUtils.getFluidStack("nitrogen", 1000),
+ ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1), 1), 64, 256);
+ addAR(ItemUtils.getItemStackOfAmountFromOreDict("plateIncoloy020", 16),
+ ItemUtils.getItemStackOfAmountFromOreDict("frameGtIncoloyMA956", 4), null,
+ GregtechItemList.Casing_Power_SubStation.get(4), 80, 128);
}
- private static boolean addAR(final ItemStack inputA, final ItemStack inputB, final ItemStack outputA, final int seconds, final int voltage){
- //return GT_Values.RA.addAssemblerRecipe(inputA, inputB, outputA, seconds*20, voltage);
- return addAR(inputA, inputB, null, outputA, seconds*20, voltage);
+ private static boolean addAR(final ItemStack inputA, final ItemStack inputB, final ItemStack outputA,
+ final int seconds, final int voltage) {
+ // return GT_Values.RA.addAssemblerRecipe(inputA, inputB, outputA,
+ // seconds*20, voltage);
+ return addAR(inputA, inputB, null, outputA, seconds * 20, voltage);
}
- private static boolean addAR(final ItemStack inputA, final ItemStack inputB, final FluidStack inputFluidA, final ItemStack outputA, final int seconds, final int voltage){
- //return GT_Values.RA.addAssemblerRecipe(inputA, inputB, outputA, seconds*20, voltage);
- return GT_Values.RA.addAssemblerRecipe(inputA, inputB, inputFluidA, outputA, seconds*20, voltage);
+ private static boolean addAR(final ItemStack inputA, final ItemStack inputB, final FluidStack inputFluidA,
+ final ItemStack outputA, final int seconds, final int voltage) {
+ // return GT_Values.RA.addAssemblerRecipe(inputA, inputB, outputA,
+ // seconds*20, voltage);
+ return GT_Values.RA.addAssemblerRecipe(inputA, inputB, inputFluidA, outputA, seconds * 20, voltage);
}
- private static void distilleryRecipes(){
+ private static void distilleryRecipes() {
Logger.INFO("Registering Distillery/Distillation Tower Recipes.");
- GT_Values.RA.addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 4L, new Object[0]), FluidUtils.getFluidStack("air", 1000), FluidUtils.getFluidStack("helium", 1), 400, 30, false);
- GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("air", 20000), FluidUtils.getFluidStackArray("helium", 25), ItemUtils.getSimpleStack(ModItems.itemHydrogenBlob, 1), 200, 60);
+ GT_Values.RA.addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 4L, new Object[0]),
+ FluidUtils.getFluidStack("air", 1000), FluidUtils.getFluidStack("helium", 1), 400, 30, false);
+ GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("air", 20000),
+ FluidUtils.getFluidStackArray("helium", 25), ItemUtils.getSimpleStack(ModItems.itemHydrogenBlob, 1),
+ 200, 60);
- //Apatite Distillation
+ // Apatite Distillation
/*
- * so if you dissolve aparite in sulphuric acid
- * you'll get a mixture of SO2, H2O, HF and HCl
+ * so if you dissolve aparite in sulphuric acid you'll get a mixture of
+ * SO2, H2O, HF and HCl
*/
- final FluidStack[] apatiteOutput = {
- FluidUtils.getFluidStack("sulfurousacid", 3800),
- FluidUtils.getFluidStack("hydrogenchloride", 1000),
- FluidUtils.getFluidStack("hydrofluoricacid", 400)
- };
- GT_Values.RA.addDistillationTowerRecipe(
- FluidUtils.getFluidStack("sulfuricapatite", 5200),
- apatiteOutput,
- null,
- 45*20,
- 256);
-
- final FluidStack[] sulfurousacidOutput = {
- FluidUtils.getFluidStack("sulfurdioxide", 500),
- FluidUtils.getFluidStack("water", 500)
- };
- GT_Values.RA.addDistillationTowerRecipe(
- FluidUtils.getFluidStack("sulfurousacid", 1000),
- sulfurousacidOutput,
- null,
- 10*20,
- 60);
-
- final FluidStack[] sulfurdioxideOutput = {
- FluidUtils.getFluidStack("oxygen", 144*2)
- };
- GT_Values.RA.addDistillationTowerRecipe(
- FluidUtils.getFluidStack("sulfurdioxide", 144*3),
- sulfurdioxideOutput,
- ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 1),
- 5*20,
- 30);
+ final FluidStack[] apatiteOutput = { FluidUtils.getFluidStack("sulfurousacid", 3800),
+ FluidUtils.getFluidStack("hydrogenchloride", 1000), FluidUtils.getFluidStack("hydrofluoricacid", 400) };
+ GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("sulfuricapatite", 5200), apatiteOutput, null,
+ 45 * 20, 256);
+
+ final FluidStack[] sulfurousacidOutput = { FluidUtils.getFluidStack("sulfurdioxide", 500),
+ FluidUtils.getFluidStack("water", 500) };
+ GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("sulfurousacid", 1000), sulfurousacidOutput,
+ null, 10 * 20, 60);
+
+ final FluidStack[] sulfurdioxideOutput = { FluidUtils.getFluidStack("oxygen", 144 * 2) };
+ GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("sulfurdioxide", 144 * 3), sulfurdioxideOutput,
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 1), 5 * 20, 30);
}
- private static void addFuels(){
+ private static void addFuels() {
Logger.INFO("Registering New Fuels.");
GT_Values.RA.addFuel(ItemUtils.simpleMetaStack("EnderIO:bucketFire_water", 0, 1), null, 120, 0);
GT_Values.RA.addFuel(ItemUtils.simpleMetaStack("EnderIO:bucketRocket_fuel", 0, 1), null, 112, 0);
GT_Values.RA.addFuel(ItemUtils.simpleMetaStack("EnderIO:bucketHootch", 0, 1), null, 36, 0);
- HotFuel.addNewHotFuel(
- GT_ModHandler.getLava(83),
- GT_Values.NF,
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("nuggetCopper", 1),
+ HotFuel.addNewHotFuel(GT_ModHandler.getLava(83), GT_Values.NF,
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("nuggetCopper", 1),
ItemUtils.getItemStackOfAmountFromOreDict("nuggetTin", 1),
ItemUtils.getItemStackOfAmountFromOreDict("nuggetGold", 1),
ItemUtils.getItemStackOfAmountFromOreDict("nuggetSilver", 1),
ItemUtils.getItemStackOfAmountFromOreDict("nuggetTantalum", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTungstate", 1),
- ItemUtils.getSimpleStack(Blocks.obsidian)
- },
- new int[]{2000, 1000, 250, 250, 250, 250, 500},
- 0);
-
- HotFuel.addNewHotFuel(
- FluidUtils.getFluidStack("ic2pahoehoelava", 83),
- GT_Values.NF,
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("nuggetCopper", 1),
+ ItemUtils.getSimpleStack(Blocks.obsidian) },
+ new int[] { 2000, 1000, 250, 250, 250, 250, 500 }, 0);
+
+ HotFuel.addNewHotFuel(FluidUtils.getFluidStack("ic2pahoehoelava", 83), GT_Values.NF,
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("nuggetCopper", 1),
ItemUtils.getItemStackOfAmountFromOreDict("nuggetTin", 1),
ItemUtils.getItemStackOfAmountFromOreDict("nuggetElectrum", 1),
- ItemUtils.getSimpleStack(Blocks.obsidian)
- },
- new int[]{1000, 500, 125, 1850},
- 0);
-
- /*HotFuel.addNewHotFuel(
- FluidUtils.getFluidStack("ic2hotcoolant", 100),
- GT_Values.NF,
- new ItemStack[]{},
- new int[]{},
- 0);*/
+ ItemUtils.getSimpleStack(Blocks.obsidian) },
+ new int[] { 1000, 500, 125, 1850 }, 0);
+
+ /*
+ * HotFuel.addNewHotFuel( FluidUtils.getFluidStack("ic2hotcoolant",
+ * 100), GT_Values.NF, new ItemStack[]{}, new int[]{}, 0);
+ */
ThermalFuel.addSteamTurbineFuel(FluidUtils.getFluidStack("steam", 1024));
- //CORE.RA.addFuel(UtilsItems.simpleMetaStack("EnderIO:bucketRocket_fuel", 0, 1), null, 112, 0);
+ // CORE.RA.addFuel(UtilsItems.simpleMetaStack("EnderIO:bucketRocket_fuel",
+ // 0, 1), null, 112, 0);
GT_Values.RA.addFuel(ItemUtils.getSimpleStack(Items.lava_bucket), null, 32, 2);
GT_Values.RA.addFuel(ItemUtils.getIC2Cell(2), null, 32, 2);
GT_Values.RA.addFuel(ItemUtils.getIC2Cell(11), null, 24, 2);
- //System.exit(1);
+ // System.exit(1);
}
- private static void extractorRecipes(){
+ private static void extractorRecipes() {
Logger.INFO("Registering Extractor Recipes.");
- GT_ModHandler.addExtractionRecipe(GregtechItemList.Battery_RE_EV_Sodium.get(1L, new Object[0]), ItemList.Battery_Hull_HV.get(4L, new Object[0]));
- GT_ModHandler.addExtractionRecipe(GregtechItemList.Battery_RE_EV_Cadmium.get(1L, new Object[0]), ItemList.Battery_Hull_HV.get(4L, new Object[0]));
- GT_ModHandler.addExtractionRecipe(GregtechItemList.Battery_RE_EV_Lithium.get(1L, new Object[0]), ItemList.Battery_Hull_HV.get(4L, new Object[0]));
+ GT_ModHandler.addExtractionRecipe(GregtechItemList.Battery_RE_EV_Sodium.get(1L, new Object[0]),
+ ItemList.Battery_Hull_HV.get(4L, new Object[0]));
+ GT_ModHandler.addExtractionRecipe(GregtechItemList.Battery_RE_EV_Cadmium.get(1L, new Object[0]),
+ ItemList.Battery_Hull_HV.get(4L, new Object[0]));
+ GT_ModHandler.addExtractionRecipe(GregtechItemList.Battery_RE_EV_Lithium.get(1L, new Object[0]),
+ ItemList.Battery_Hull_HV.get(4L, new Object[0]));
}
- private static void fluidExtractorRecipes(){
- GT_Values.RA.addFluidExtractionRecipe(ItemUtils.getSimpleStack(Items.ender_pearl), null, FluidUtils.getFluidStack("ender", 250), 10000, 100, 30);
+ private static void fluidExtractorRecipes() {
+ GT_Values.RA.addFluidExtractionRecipe(ItemUtils.getSimpleStack(Items.ender_pearl), null,
+ FluidUtils.getFluidStack("ender", 250), 10000, 100, 30);
}
- private static void chemicalBathRecipes(){
+ private static void chemicalBathRecipes() {
final int[] chances = {};
- GT_Values.RA.addChemicalBathRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 12), FluidUtils.getFluidStack("chlorine", 2400),
+ GT_Values.RA.addChemicalBathRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 12),
+ FluidUtils.getFluidStack("chlorine", 2400),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3),
- chances,
- 30*20,
- 240);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3), chances, 30 * 20, 240);
- GT_Values.RA.addChemicalBathRecipe(
- FLUORIDES.FLUORITE.getCrushed(2),
- FluidUtils.getFluidStack("hydrogen", 2000),
- FLUORIDES.FLUORITE.getCrushedPurified(8),
- FLUORIDES.FLUORITE.getDustImpure(4),
- FLUORIDES.FLUORITE.getDustPurified(2),
- new int[]{10000, 5000, 1000},
- 30*20,
- 240);
+ GT_Values.RA.addChemicalBathRecipe(FLUORIDES.FLUORITE.getCrushed(2), FluidUtils.getFluidStack("hydrogen", 2000),
+ FLUORIDES.FLUORITE.getCrushedPurified(8), FLUORIDES.FLUORITE.getDustImpure(4),
+ FLUORIDES.FLUORITE.getDustPurified(2), new int[] { 10000, 5000, 1000 }, 30 * 20, 240);
- GT_Values.RA.addChemicalBathRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 10),
- FluidUtils.getFluidStack("hydrofluoricacid", 10*144),
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5),
- null,
- null,
- new int[]{},
- 90*20,
+ GT_Values.RA.addChemicalBathRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 10),
+ FluidUtils.getFluidStack("hydrofluoricacid", 10 * 144),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5), null, null, new int[] {}, 90 * 20,
500);
-
}
- private static void centrifugeRecipes(){
- GT_Values.RA.addCentrifugeRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustThorium", 8),
- GT_Values.NI,
- GT_Values.NF,
- GT_Values.NF,
- NUCLIDE.getInstance().THORIUM232.getDust(2),
+ private static void centrifugeRecipes() {
+ GT_Values.RA.addCentrifugeRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustThorium", 8), GT_Values.NI,
+ GT_Values.NF, GT_Values.NF, NUCLIDE.getInstance().THORIUM232.getDust(2),
ItemUtils.getItemStackOfAmountFromOreDict("dustSmallThorium", 20),
- NUCLIDE.getInstance().URANIUM232.getDust(1),
- GT_Values.NI,
- GT_Values.NI,
- GT_Values.NI,
- new int[]{0, 0, 10},
- 500*20,
- 2000);
+ NUCLIDE.getInstance().URANIUM232.getDust(1), GT_Values.NI, GT_Values.NI, GT_Values.NI,
+ new int[] { 0, 0, 10 }, 500 * 20, 2000);
}
- private static void mixerRecipes(){
- GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 1), null, null, null, FluidUtils.getFluidStack("oxygen", 288), FluidUtils.getFluidStack("sulfurdioxide", 432), null, 600, 60);
- GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4), ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1), null, null, FluidUtils.getFluidStack("hydrofluoricacid", 144*5), FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 144*5), null, 3000, 500);
- //GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 1), ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 1), null, null, FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 720), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 288), null, 5000, 2000);
- //GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSteel", 20), ItemUtils.getItemStackOfAmountFromOreDict("dustSilicon", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustNickel", 5), ItemUtils.getItemStackOfAmountFromOreDict("dustAluminium", 4), null, null, ItemUtils.getItemStackOfAmountFromOreDict("dustEglinSteel", 30), 1200, 60);
+ private static void mixerRecipes() {
+ GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 1), null, null, null,
+ FluidUtils.getFluidStack("oxygen", 288), FluidUtils.getFluidStack("sulfurdioxide", 432), null, 600, 60);
+ GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1), null, null,
+ FluidUtils.getFluidStack("hydrofluoricacid", 144 * 5),
+ FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 144 * 5), null, 3000, 500);
+ // GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine",
+ // 1), ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 1),
+ // null, null, FluidUtils.getFluidStack("molten.uraniumtetrafluoride",
+ // 720), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 288),
+ // null, 5000, 2000);
+ // GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSteel",
+ // 20), ItemUtils.getItemStackOfAmountFromOreDict("dustSilicon", 1),
+ // ItemUtils.getItemStackOfAmountFromOreDict("dustNickel", 5),
+ // ItemUtils.getItemStackOfAmountFromOreDict("dustAluminium", 4), null,
+ // null, ItemUtils.getItemStackOfAmountFromOreDict("dustEglinSteel",
+ // 30), 1200, 60);
}
- private static void chemicalReactorRecipes(){
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 5), //Input Stack 1
- ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), //Input Stack 2
- null, //Fluid Input
- null, //Fluid Output
- ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 10), //Output Stack
- 600*20
- );
-
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 5), //Input Stack 1
- null, //Input Stack 2
- FluidUtils.getFluidStack("hydrofluoricacid", 5*144), //Fluid Input
- FluidUtils.getFluidStack("water", 5*144), //Fluid Output
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5), //Output Stack
- 600*20
- );
-
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustApatite", 16),
- null,
- FluidUtils.getFluidStack("sulfuricacid", 144*32),
- FluidUtils.getFluidStack("sulfuricapatite", 144*4),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallSulfur", 1),
- 20*20);
+ private static void chemicalReactorRecipes() {
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 5), // Input
+ // Stack
+ // 1
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), // Input
+ // Stack
+ // 2
+ null, // Fluid Input
+ null, // Fluid Output
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 10), // Output
+ // Stack
+ 600 * 20);
+
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 5), // Input
+ // Stack
+ // 1
+ null, // Input Stack 2
+ FluidUtils.getFluidStack("hydrofluoricacid", 5 * 144), // Fluid
+ // Input
+ FluidUtils.getFluidStack("water", 5 * 144), // Fluid Output
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5), // Output
+ // Stack
+ 600 * 20);
+
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustApatite", 16), null,
+ FluidUtils.getFluidStack("sulfuricacid", 144 * 32),
+ FluidUtils.getFluidStack("sulfuricapatite", 144 * 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallSulfur", 1), 20 * 20);
+
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 1), null,
+ FluidUtils.getFluidStack("sulfuricacid", 144 * 8), FluidUtils.getFluidStack("sulfuriclithium", 144 * 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallLithium7", 1), 20 * 20);
+
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16), FluidUtils.getFluidStack("water", 1000),
+ FluidUtils.getFluidStack("lithiumhydroxide", 144 * 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1), 300 * 20);
+
+ // LFTR Fuel Related Compounds
+
+ if (CORE.GTNH) {
+ // Hydroxide
+ AddGregtechRecipe.addChemicalRecipeForBasicMachineOnly(
+ ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF,
+ FluidUtils.getFluidStack("hydroxide", 2000),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), GT_Values.NI, 8 * 20, 30);
+ // Beryllium Hydroxide
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustBeryllium", 7),
+ ItemUtils.getGregtechCircuit(3), FluidUtils.getFluidStack("hydroxide", 1000),
+ FluidUtils.getFluidStack("berylliumhydroxide", 2000), GT_Values.NI, 8 * 20);
+ // Ammonium Bifluoride
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1),
+ ItemUtils.getGregtechCircuit(3), FluidUtils.getFluidStack("ammonium", 1000),
+ FluidUtils.getFluidStack("ammoniumbifluoride", 2000),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1), 26 * 20);
+ // Ammonium
+ AddGregtechRecipe.addChemicalRecipeForBasicMachineOnly(
+ ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF,
+ FluidUtils.getFluidStack("ammonium", 2000),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), GT_Values.NI, 20 * 20, 30);
+ }
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 1),
- null,
- FluidUtils.getFluidStack("sulfuricacid", 144*8),
- FluidUtils.getFluidStack("sulfuriclithium", 144*2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallLithium7", 1),
- 20*20);
-
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16),
- FluidUtils.getFluidStack("water", 1000),
- FluidUtils.getFluidStack("lithiumhydroxide", 144*4),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1),
- 300*20);
-
-
-
- //LFTR Fuel Related Compounds
-
- //Hydroxide
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1),
- GT_Values.NF,
- FluidUtils.getFluidStack("hydroxide", 2000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2),
- 8*20);
- //Ammonia
if (!CORE.GTNH) {
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 3),
+ // Hydroxide
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF,
+ FluidUtils.getFluidStack("hydroxide", 2000),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), 8 * 20);
+ // Ammonia (moved to GTNH core mod)
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 3),
ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 0),
- FluidUtils.getFluidStack("nitrogen", 1000),
- FluidUtils.getFluidStack("ammonia", 1000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 3),
- 14 * 20);
- }//moved to GTNH core mod
- //Ammonium
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1),
- GT_Values.NF,
- FluidUtils.getFluidStack("ammonium", 2000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2),
- 20*20);
- //Ammonium Bifluoride
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1),
- GT_Values.NI,
- FluidUtils.getFluidStack("ammonium", 1000),
- FluidUtils.getFluidStack("ammoniumbifluoride", 2000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1),
- 26*20);
- //Beryllium Hydroxide
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustBeryllium", 7),
- GT_Values.NI,
- FluidUtils.getFluidStack("hydroxide", 1000),
- FluidUtils.getFluidStack("berylliumhydroxide", 2000),
- GT_Values.NI,
- 8*20);
+ FluidUtils.getFluidStack("nitrogen", 1000), FluidUtils.getFluidStack("ammonia", 1000),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 3), 14 * 20);
+ // Beryllium Hydroxide
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustBeryllium", 7), GT_Values.NI,
+ FluidUtils.getFluidStack("hydroxide", 1000), FluidUtils.getFluidStack("berylliumhydroxide", 2000),
+ GT_Values.NI, 8 * 20);
+ // Ammonium Bifluoride
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1),
+ GT_Values.NI, FluidUtils.getFluidStack("ammonium", 1000),
+ FluidUtils.getFluidStack("ammoniumbifluoride", 2000),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1), 26 * 20);
+ // Ammonium
+ GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF,
+ FluidUtils.getFluidStack("ammonium", 2000),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), 20 * 20);
+ }
}
- private static void blastFurnaceRecipes(){
- GT_Values.RA.addBlastRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustBerylliumFluoride", 1),
- GT_Values.NF, GT_Values.NF,
- ItemUtils.getItemStackOfAmountFromOreDict("dustLi2BeF4", 3),
- null,
- 60*20,
- 2000,
- 3000);
- GT_Values.RA.addBlastRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1),
- null,
- GT_Values.NF, GT_Values.NF,
- ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1),
- null,
- 60*20,
- 340,
- 300);
+ private static void blastFurnaceRecipes() {
+ GT_Values.RA.addBlastRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBerylliumFluoride", 1), GT_Values.NF, GT_Values.NF,
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLi2BeF4", 3), null, 60 * 20, 2000, 3000);
+ GT_Values.RA.addBlastRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1), null, GT_Values.NF,
+ GT_Values.NF, ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1), null, 60 * 20, 340, 300);
}
- private static void autoclaveRecipes(){
- GT_Values.RA.addAutoclaveRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 9),
- FluidUtils.getFluidStack("chlorine", 9*4*144),
- ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 9),
- 0,
- 120*20,
- 30);
+ private static void autoclaveRecipes() {
+ GT_Values.RA.addAutoclaveRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 9),
+ FluidUtils.getFluidStack("chlorine", 9 * 4 * 144),
+ ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 9), 0, 120 * 20, 30);
}
- private static void benderRecipes(){
+ private static void benderRecipes() {
- if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation){
- GT_Values.RA.addBenderRecipe(ItemUtils.getItemStackOfAmountFromOreDict("ingotVanadium", 1), ItemUtils.getItemStackOfAmountFromOreDict("plateVanadium", 1), 8, 16);
+ if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation) {
+ GT_Values.RA.addBenderRecipe(ItemUtils.getItemStackOfAmountFromOreDict("ingotVanadium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateVanadium", 1), 8, 16);
}
}
- private static void compressorRecipes(){
- GT_ModHandler.addCompressionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallClay", 4), ItemUtils.getItemStackOfAmountFromOreDict("plateClay", 1));
+ private static void compressorRecipes() {
+ GT_ModHandler.addCompressionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallClay", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateClay", 1));
}
- private static void macerationRecipes(){
- GT_ModHandler.addPulverisationRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1),
+ private static void macerationRecipes() {
+ GT_ModHandler.addPulverisationRecipe(ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1));
- /*GT_ModHandler.addPulverisationRecipe(
- FLUORIDES.FLUORITE.getOre(1),
- FLUORIDES.FLUORITE.getDust(4));*/
+ /*
+ * GT_ModHandler.addPulverisationRecipe( FLUORIDES.FLUORITE.getOre(1),
+ * FLUORIDES.FLUORITE.getDust(4));
+ */
- if (ItemUtils.simpleMetaStack("chisel:limestone", 0, 1) != null){
- GT_ModHandler.addPulverisationRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("limestone", 1),
+ if (ItemUtils.simpleMetaStack("chisel:limestone", 0, 1) != null) {
+ GT_ModHandler.addPulverisationRecipe(ItemUtils.getItemStackOfAmountFromOreDict("limestone", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustCalcite", 4));
}
}
- public static boolean addPulverisationRecipe(final ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, final ItemStack aOutput3) {
+ public static boolean addPulverisationRecipe(final ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2,
+ final ItemStack aOutput3) {
aOutput1 = GT_OreDictUnificator.get(true, aOutput1);
aOutput2 = GT_OreDictUnificator.get(true, aOutput2);
- if ((GT_Utility.isStackInvalid(aInput)) || (GT_Utility.isStackInvalid(aOutput1))){
+ if ((GT_Utility.isStackInvalid(aInput)) || (GT_Utility.isStackInvalid(aOutput1))) {
return false;
}
if (GT_Utility.getContainerItem(aInput, false) == null) {
if (GregTech_API.sRecipeFile.get(ConfigCategories.Machines.maceration, aInput, true)) {
- GT_Utility.addSimpleIC2MachineRecipe(aInput, GT_ModHandler.getMaceratorRecipeList(), null, new Object[] { aOutput1 });
+ GT_Utility.addSimpleIC2MachineRecipe(aInput, GT_ModHandler.getMaceratorRecipeList(), null,
+ new Object[] { aOutput1 });
}
- GT_Values.RA.addPulveriserRecipe(aInput, new ItemStack[] {
- aOutput1, aOutput2, aOutput3 },
- new int[] {10000, 10000, 10000},
- 400,
- 2);
+ GT_Values.RA.addPulveriserRecipe(aInput, new ItemStack[] { aOutput1, aOutput2, aOutput3 },
+ new int[] { 10000, 10000, 10000 }, 400, 2);
}
return true;
}
private static void cyclotronRecipes() {
- CORE.RA.addCyclotronRecipe(
- CI.getNumberedCircuit(0),
- FluidUtils.getFluidStack("molten.bismuth", 1),
- new ItemStack[]{GregtechItemList.Pellet_RTG_PO210.get(1)},
- null,
- new int[]{100},
- 20*300,
- 2040,
- 500*20);
+
+ //Polonium
+ CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.bismuth", 1),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) }, null, new int[] { 100 }, 20 * 300, 2040,
+ 500 * 20);
+
+ //Americium
+ CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.americium", 1),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) }, null, new int[] { 2500 }, 20 * 300, 1020,
+ 500 * 20); //PO Special Value
+
+ //Strontium u235
+ CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.uranium235", 10),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 570 }, 20 * 300, 1020,
+ 500 * 20); //PO Special Value
+
+ //Strontium u233
+ CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.uranium233", 10),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 660 }, 20 * 300, 1020,
+ 500 * 20); //PO Special Value
+
+ //Strontium pu239
+ CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.plutonium239", 10),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 220 }, 20 * 300, 1020,
+ 500 * 20); //PO Special Value
+
+ //Plutonium
+ CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.plutonium238", 1),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) }, null, new int[] { 780 }, 20 * 300, 1020,
+ 500 * 20); //PO Special Value
+
+
+ //Neptunium
+ CORE.RA.addCyclotronRecipe(new ItemStack[] {ELEMENT.getInstance().URANIUM238.getDust(1) }, FluidUtils.getFluidStack("deuterium", 400),
+ ItemUtils.getSimpleStack(ModItems.dustNeptunium238), null, new int[] { 500 }, 20 * 5, 500,
+ 500 * 20); //PO Special Value
+
+
}
private static void sifterRecipes() {
- //Zirconium
- GT_Values.RA.addSifterRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedTin", 1),
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
+ // Zirconium
+ GT_Values.RA.addSifterRecipe(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedTin", 1),
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZinc", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1)
- },
- new int[]{10000, 5000, 1500, 1000, 500, 500},
- 20*30,
- 60);
-
- //Zirconium
- GT_Values.RA.addSifterRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1),
- new ItemStack[]{
- ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) },
+ new int[] { 10000, 5000, 1500, 1000, 500, 500 }, 20 * 30, 60);
+
+ // Zirconium
+ GT_Values.RA.addSifterRecipe(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1),
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustTinyTin", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1)
- },
- new int[]{10000, 5000, 1500, 1000, 500, 500},
- 20*30,
- 60);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) },
+ new int[] { 10000, 5000, 1500, 1000, 500, 500 }, 20 * 30, 60);
+
+ // Radium
+ GT_Values.RA.addSifterRecipe(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUranium", 1),
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyLead", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
+ new int[] { 10000, 5000, 1000, 500, 500, 500 }, 20 * 30, 60);
+ // Radium
+ GT_Values.RA.addSifterRecipe(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUraninite", 1),
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUraninite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyUranium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
+ new int[] { 10000, 5000, 500, 250, 250, 250 }, 20 * 30, 60);
+ // Radium
+ GT_Values.RA.addSifterRecipe(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPitchblende", 1),
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPitchblende", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyLead", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
+ new int[] { 10000, 5000, 500, 250, 250, 250 }, 20 * 30, 60);
}
- private static void electroMagneticSeperatorRecipes(){
- //Zirconium
+ private static void electroMagneticSeperatorRecipes() {
+ // Zirconium
GT_Values.RA.addElectromagneticSeparatorRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSmallRutile", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1),
- new int[]{10000, 2500, 4000},
- 20*20,
- 24);
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1), new int[] { 10000, 2500, 4000 },
+ 20 * 20, 24);
- //Trinium
+ // Trinium
GT_Values.RA.addElectromagneticSeparatorRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedNaquadah", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustNaquadah", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSmallNaquadahEnriched", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1),
- new int[]{10000, 2500, 5000},
- 20*20,
- 24);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1), new int[] { 10000, 2500, 5000 },
+ 20 * 20, 24);
- //Trinium
+ // Trinium
GT_Values.RA.addElectromagneticSeparatorRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIridium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSmallOsmium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1),
- new int[]{10000, 2500, 5000},
- 20*20,
- 24);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1), new int[] { 10000, 2500, 5000 },
+ 20 * 20, 24);
- //Trinium
+ // Trinium
GT_Values.RA.addElectromagneticSeparatorRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedWulfenite", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustWulfenite", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1),
- new int[]{10000, 3000, 3000},
- 20*20,
- 24);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1), new int[] { 10000, 3000, 3000 },
+ 20 * 20, 24);
}
- private static void advancedMixerRecipes(){
- //HgBa2Ca2Cu3O8
- CORE.RA.addMixerRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellMercury", 1),
+ private static void advancedMixerRecipes() {
+ // HgBa2Ca2Cu3O8
+ CORE.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellMercury", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustBarium", 2),
ItemUtils.getItemStackOfAmountFromOreDict("dustCalcium", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 3),
- FluidUtils.getFluidStack("oxygen", 8000),
- null,
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1),
- ALLOY.HG1223.getDust(16),
- null,
- null,
- 30*20,
- 500);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 3), FluidUtils.getFluidStack("oxygen", 8000),
+ null, ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1), ALLOY.HG1223.getDust(16), null, null,
+ 30 * 20, 500);
}
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
index 714dc70cad..2588a88143 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
@@ -1,10 +1,19 @@
package gtPlusPlus.core.recipe;
-import static gtPlusPlus.core.util.item.ItemUtils.getSimpleStack;
+import static gtPlusPlus.core.util.minecraft.ItemUtils.getSimpleStack;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
@@ -12,14 +21,11 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import net.minecraftforge.oredict.OreDictionary;
public class RECIPES_General {
@@ -37,12 +43,11 @@ public class RECIPES_General {
static ItemStack OUTPUT_Workbench_Bronze = ItemUtils.getSimpleStack(Item.getItemFromBlock(ModBlocks.blockWorkbench));
static ItemStack RECIPE_HydrogenDust = ItemUtils.getSimpleStack(ModItems.itemHydrogenBlob);
- public static void RECIPES_LOAD(){
+ public static void loadRecipes(){
if (LoadedMods.Gregtech){
RECIPE_BasicCasingIC2 = ItemUtils.getItemStack("IC2:blockMachine", 1);
run();
addCompressedObsidian();
- addFluoriteFix();
}
}
@@ -104,6 +109,12 @@ public class RECIPES_General {
Logger.INFO("Added a recipe for Rainforest oak Saplings.");
}
+
+ // Try fix this ore
+ if (ModBlocks.blockOreFluorite != null){
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[]{ItemUtils.getSimpleStack(ModBlocks.blockOreFluorite)}, FLUORIDES.FLUORITE.getOre(1));
+ }
+
//Iron bars
final ItemStack ironBars;
if (CORE.GTNH) {
@@ -120,18 +131,23 @@ public class RECIPES_General {
ItemUtils.getSimpleStack(ModBlocks.blockFishTrap))){
Logger.INFO("Added a recipe for the Fish Trap.");
}
-
-
- String[] ironTypes = {"", "Wrought", "Pig", "Any"};
- for (int y=0;y<ironTypes.length;y++) {
- //Iron bars
- String ironRecipe = "stick"+ironTypes[y]+"Iron";
- if (RecipeUtils.recipeBuilder(
- null, CI.craftingToolWrench, null,
- ironRecipe, ironRecipe, ironRecipe,
- ironRecipe, ironRecipe, ironRecipe,
- ItemUtils.getItemStack("minecraft:iron_bars", 8))) {
- Logger.INFO("Re-added old GT recipe for Iron Bars.");
+
+ //Small Gear Extruder Shape
+ if (!CORE.GTNH) {
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_SmallGear.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Gear, Character.valueOf('X'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Steel)});
+
+
+ String[] ironTypes = {"", "Wrought", "Pig", "Any"};
+ for (int y=0;y<ironTypes.length;y++) {
+ //Iron bars
+ String ironRecipe = "stick"+ironTypes[y]+"Iron";
+ if (RecipeUtils.recipeBuilder(
+ null, CI.craftingToolWrench, null,
+ ironRecipe, ironRecipe, ironRecipe,
+ ironRecipe, ironRecipe, ironRecipe,
+ ItemUtils.getItemStack("minecraft:iron_bars", 8))) {
+ Logger.INFO("Re-added old GT recipe for Iron Bars.");
+ }
}
}
@@ -149,14 +165,14 @@ public class RECIPES_General {
CI.sensor_HV, CI.fieldGenerator_MV, CI.sensor_HV,
CI.craftingToolHammer_Hard, ItemList.Casing_SolidSteel.get(1), CI.craftingToolSolderingIron,
CI.emitter_HV, CI.fieldGenerator_MV, CI.emitter_HV,
- ItemUtils.getSimpleStack(Dimension_DarkWorld.blockPortalFrame, 2))){
+ ItemUtils.getSimpleStack(Dimension_Everglades.blockPortalFrame, 2))){
Logger.INFO("Added a recipe for the Toxic Everglades Portal frame");
}
-
+
//Alkalus Coin
if (RecipeUtils.recipeBuilder(
"gemExquisiteRuby", "gemFlawlessDiamond", "gemExquisiteDiamond",
- "gemFlawlessRuby", ItemList.Credit_Greg_Naquadah.get(1), "gemFlawlessSapphire",
+ "gemFlawlessRuby", ItemList.Credit_Greg_Osmium.get(1), "gemFlawlessSapphire",
"gemExquisiteEmerald", "gemFlawlessEmerald", "gemExquisiteSapphire",
ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk))){
Logger.INFO("Added a recipe for The Alkalus Disk.");
@@ -189,46 +205,25 @@ public class RECIPES_General {
getSimpleStack(Items.experience_bottle), ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 2, 1), getSimpleStack(Items.experience_bottle),
ItemUtils.getSimpleStack(ModBlocks.blockXpConverter, 1));
- //Alkalus Coin
- /*AddGregtechRecipe.addAssemblylineRecipe(
- ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk),
- 288000,
- new ItemStack[]{
- ItemUtils.getSimpleStack(gemShards[0], 10),
- ItemUtils.getSimpleStack(gemShards[1], 10),
- ItemUtils.getSimpleStack(gemShards[2], 10),
- ItemUtils.getSimpleStack(gemShards[3], 10),
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.NeodymiumMagnetic, 1L),
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16L),
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16L),
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16L),
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16L),
- GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NiobiumTitanium, 2L)},
- new FluidStack[]{
- Materials.Osmium.getMolten(144*32),
- Materials.Europium.getFluid(144*8)},
- ItemUtils.getSimpleStack(Dimension_DarkWorld.portalItem),
- 30*20*60,
- 100000);*/
+
+
+ // Rope/Fiber/Net
RecipeUtils.addShapelessGregtechRecipe(
new ItemStack[]{
ItemUtils.getItemStackOfAmountFromOreDictNoBroken(CI.craftingToolKnife, 1), ItemUtils.getSimpleStack(Items.reeds)},
ItemUtils.getSimpleStack(ModItems.itemFiber, 16)
);
-
RecipeUtils.addShapelessGregtechRecipe(
new ItemStack[]{
ItemUtils.getItemStackOfAmountFromOreDictNoBroken(CI.craftingToolKnife, 1), ItemUtils.getSimpleStack(Blocks.sapling)},
ItemUtils.getSimpleStack(ModItems.itemFiber, 32)
);
-
RecipeUtils.recipeBuilder(
null, ItemUtils.getSimpleStack(ModItems.itemFiber, 1), null,
ItemUtils.getSimpleStack(ModItems.itemFiber, 1), CI.craftingToolKnife, ItemUtils.getSimpleStack(ModItems.itemFiber, 1),
null, ItemUtils.getSimpleStack(ModItems.itemFiber, 1), null,
ItemUtils.getSimpleStack(ModItems.itemRope, 3));
-
RecipeUtils.recipeBuilder(
ItemUtils.getSimpleStack(ModItems.itemRope, 1), ItemUtils.getSimpleStack(ModItems.itemRope, 1), ItemUtils.getSimpleStack(ModItems.itemRope, 1),
ItemUtils.getSimpleStack(ModItems.itemRope, 1), ItemUtils.getSimpleStack(ModItems.itemRope, 1), ItemUtils.getSimpleStack(ModItems.itemRope, 1),
@@ -270,12 +265,6 @@ public class RECIPES_General {
return true;
}
- private static boolean addFluoriteFix(){
- if (ModBlocks.blockOreFluorite != null){
- return RecipeUtils.addShapelessGregtechRecipe(new ItemStack[]{ItemUtils.getSimpleStack(ModBlocks.blockOreFluorite)}, FLUORIDES.FLUORITE.getOre(1));
- }
- return false;
- }
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java
index e76e517808..76182e61d9 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java
@@ -1,16 +1,18 @@
package gtPlusPlus.core.recipe;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
import gregtech.api.interfaces.IOreRecipeRegistrator;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import net.minecraft.item.ItemStack;
public class RECIPES_LaserEngraver implements IOreRecipeRegistrator {
public RECIPES_LaserEngraver() {
@@ -124,7 +126,7 @@ public class RECIPES_LaserEngraver implements IOreRecipeRegistrator {
}
else if (aOreDictName.equals(OreDictNames.craftingLensOrange.toString())) {
- GT_Values.RA.addLaserEngraverRecipe(ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemUtils.getSimpleStack(Dimension_DarkWorld.portalItem), 360*60*20, 4096);
+ GT_Values.RA.addLaserEngraverRecipe(ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemUtils.getSimpleStack(Dimension_Everglades.portalItem), 360*60*20, 4096);
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java
index bf3bf2ac9a..0d377f74de 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java
@@ -1,107 +1,20 @@
package gtPlusPlus.core.recipe;
-import java.util.ArrayList;
-
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import gtPlusPlus.core.util.wrapper.var;
-import net.minecraft.item.ItemStack;
-
public class RECIPES_MTWRAPPER {
public static int MT_RECIPES_LOADED = 0;
public static int MT_RECIPES_FAILED = 0;
- static var chestWood = new var("minecraft:chest>");
- static var slabWood = new var("ore:slabWood>");
- static var gemNetherQuartz = new var("ore:gemNetherQuartz>");
- static var glass = new var("ore:blockGlass>");
- static var sensorDaylight = new var("minecraft:daylight_detector>");
- static var blazeRod = new var("minecraft:blaze_rod>");
- static var saw = new var("ore:craftingToolSaw>");
- static var logWood = new var("ore:logWood>");
- static var button = new var("minecraft:stone_button>");
- static var stoneBlock = new var("minecraft:stone>");
-
public static void run(){
- /*addShaped(button.getStack(2),
- null, stoneBlock, null,
- null, stoneBlock, null,
- null, null, null);*/
- /*addShaped(stoneStick.getStack(1),
- stoneBlock, null, null,
- stoneBlock, null, null,
- null, null, null);*/
- addShaped(chestWood.getStack(2),
- logWood, logWood, logWood,
- logWood, null, logWood,
- logWood, logWood, logWood);
- addShaped(chestWood.getStack(4),
- logWood, logWood, logWood,
- logWood, saw, logWood,
- logWood, logWood, logWood);
- //Recipe Fixes
- //remove(sensorDaylight);
- addShaped(sensorDaylight.getStack(1),
- glass, glass, glass,
- gemNetherQuartz, gemNetherQuartz, gemNetherQuartz,
- slabWood, slabWood, slabWood);
- /*addShaped(ironBars .getStack( 8),
- null, "<ore:craftingToolWrench>", null,
- "<ore:stickAnyIron>", "<ore:stickAnyIron>", "<ore:stickAnyIron>",
- "<ore:stickAnyIron>", "<ore:stickAnyIron>", "<ore:stickAnyIron>");*/
+
}
-
public static void addShaped(final Object item_Output,
final Object item_1, final Object item_2, final Object item_3,
final Object item_4, final Object item_5, final Object item_6,
final Object item_7, final Object item_8, final Object item_9){
- /*
- *
- * var item_1, var item_2, var item_3,
- var item_4, var item_5, var item_6,
- var item_7, var item_8, var item_9
- *
- *
- */
-
- final ItemStack outputItem = ItemUtils.getCorrectStacktype(item_Output, 1);
-
- final ArrayList<Object> validSlots = new ArrayList<>();
- String a,b,c,d,e,f,g,h,i;
- if (item_1 == null){ a = " ";} else { a = "1";validSlots.add('1');validSlots.add(item_1);}
- if (item_2 == null){ b = " ";} else { b = "2";validSlots.add('2');validSlots.add(item_2);}
- if (item_3 == null){ c = " ";} else { c = "3";validSlots.add('3');validSlots.add(item_3);}
- if (item_4 == null){ d = " ";} else { d = "4";validSlots.add('4');validSlots.add(item_4);}
- if (item_5 == null){ e = " ";} else { e = "5";validSlots.add('5');validSlots.add(item_5);}
- if (item_6 == null){ f = " ";} else { f = "6";validSlots.add('6');validSlots.add(item_6);}
- if (item_7 == null){ g = " ";} else { g = "7";validSlots.add('7');validSlots.add(item_7);}
- if (item_8 == null){ h = " ";} else { h = "8";validSlots.add('8');validSlots.add(item_8);}
- if (item_9 == null){ i = " ";} else { i = "9";validSlots.add('9');validSlots.add(item_9);}
-
- final String lineOne = a+b+c;
- final String lineTwo = d+e+f;
- final String lineThree = g+h+i;
- validSlots.add(0, lineOne);
- validSlots.add(1, lineTwo);
- validSlots.add(2, lineThree);
-
- try {
- RecipeUtils.recipeBuilder(validSlots.toArray(), outputItem.copy());
- MT_RECIPES_LOADED++;
- }
- catch(NullPointerException | ClassCastException k){
- k.getMessage();
- k.getClass();
- k.printStackTrace();
- k.getLocalizedMessage();
- Logger.WARNING("@@@: Invalid Recipe detected for: "+((var) item_Output).getsanitizedName());
- MT_RECIPES_FAILED++;
- }
}
public static void addShapeless(){
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java
index 6f72c9c03b..bebda1db2b 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java
@@ -2,10 +2,11 @@ package gtPlusPlus.core.recipe;
import gregtech.api.enums.*;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
public class RECIPES_MachineComponents {
@@ -93,7 +94,7 @@ public class RECIPES_MachineComponents {
public static String smallGearTier9 = "gearGtSmallOsmium";
public static String smallGearTier10 = "gearGtSmallNeutronium";
- public static final void RECIPES_LOAD(){
+ public static final void loadRecipes(){
Logger.INFO("Loading Recipes for the Various Circuits and Machine components.");
if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
run();
@@ -102,7 +103,7 @@ public class RECIPES_MachineComponents {
onlyULVComponents();
onlyMaxComponents();
}
- GregtechMachinePhase();
+ gregtechMachinePhase();
}
private static void run(){
@@ -381,7 +382,7 @@ public class RECIPES_MachineComponents {
CI.sensor_MAX);
}
- private static void GregtechMachinePhase(){
+ private static void gregtechMachinePhase(){
if (CORE.ConfigSwitches.enableCustomCircuits && !CORE.GTNH){
Logger.INFO("Adding Gregtech machine recipes for the circuits.");
GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Silicon, 1L), GregtechItemList.Circuit_Parts_Wiring_IV.get(4L, new Object[0]), GregtechItemList.Circuit_Board_IV.get(1L, new Object[0]), 32, 256);
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 28563bb8c2..d3eada8a75 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -1,7 +1,12 @@
package gtPlusPlus.core.recipe;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
@@ -9,14 +14,10 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-
-import static gtPlusPlus.core.lib.CORE.GTNH;
public class RECIPES_Machines {
@@ -84,6 +85,11 @@ public class RECIPES_Machines {
public static ItemStack RECIPE_LFTRController;
public static ItemStack RECIPE_LFTROuterCasing;
public static ItemStack RECIPE_LFTRInnerCasing;
+
+ //Cyclotron
+ public static ItemStack RECIPE_CyclotronController;
+ public static ItemStack RECIPE_CyclotronOuterCasing;
+ public static ItemStack RECIPE_CyclotronInnerCoil;
//Buffer Cores
@@ -144,6 +150,7 @@ public class RECIPES_Machines {
public static ItemStack EV_MACHINE_Macerator;
public static ItemStack EV_MACHINE_Cutter;
public static ItemStack EV_MACHINE_MassFabricator;
+ public static ItemStack EV_MACHINE_Extruder;
//Cables
@@ -185,7 +192,7 @@ public class RECIPES_Machines {
- public static final void RECIPES_LOAD(){
+ public static final void loadRecipes(){
run();
Logger.INFO("Loading Recipes for the Various machine blocks.");
}
@@ -216,6 +223,7 @@ public class RECIPES_Machines {
EV_MACHINE_MassFabricator= ItemList.Machine_EV_Massfab.get(1);
EV_MACHINE_Centrifuge= ItemList.Machine_EV_Centrifuge.get(1);
EV_MACHINE_Cutter = ItemList.Machine_EV_Cutter.get(1);
+ EV_MACHINE_Extruder = ItemList.Machine_EV_Extruder.get(1);
}
@@ -1021,6 +1029,36 @@ public class RECIPES_Machines {
}
+
+
+ //Cyclotron
+ if (CORE.ConfigSwitches.enableMultiblock_Cyclotron){
+ RECIPE_CyclotronController = GregtechItemList.COMET_Cyclotron.get(1);
+ RECIPE_CyclotronOuterCasing = GregtechItemList.Casing_Cyclotron_External.get(Casing_Amount);
+ RECIPE_CyclotronInnerCoil = GregtechItemList.Casing_Cyclotron_Coil.get(1);
+
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("plateIncoloyMA956", 8),
+ ItemUtils.getItemStackOfAmountFromOreDict("frameGtIncoloy020", 1),
+ FluidUtils.getFluidStack("molten.hg1223", 32),
+ RECIPE_CyclotronOuterCasing,
+ 30 * 20,
+ 500);
+
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("plateIncoloyDS", 16),
+ ItemList.Field_Generator_HV.get(1),
+ FluidUtils.getFluidStack("molten.hg1223", 144),
+ RECIPE_CyclotronInnerCoil,
+ 90 * 20,
+ 1000);
+
+ RecipeUtils.recipeBuilder(
+ "plateIncoloy020", CI.getTieredCircuit(6), "plateIncoloy020",
+ RECIPE_CyclotronInnerCoil, CI.machineHull_IV, RECIPE_CyclotronInnerCoil,
+ "plateIncoloy020", "gearGtIncoloyMA956", "plateIncoloy020",
+ RECIPE_CyclotronController);
+ }
if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation){
RecipeUtils.recipeBuilder(
@@ -1101,6 +1139,22 @@ public class RECIPES_Machines {
GregtechItemList.Industrial_CuttingFactoryController.get(1));
}
+ //EV_MACHINE_Extruder
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialExtrudingMachine){
+ ItemStack plate = ALLOY.INCONEL_690.getPlate(1);
+ RecipeUtils.recipeBuilder(
+ plate, CI.craftingToolHammer_Hard, plate,
+ "plateTalonite", "frameGtStaballoy", "plateTalonite",
+ plate, CI.craftingToolWrench, plate,
+ GregtechItemList.Casing_Extruder.get(Casing_Amount));
+
+ RecipeUtils.recipeBuilder(
+ plate,CI.getTieredCircuit(4),plate,
+ CI.electricPiston_EV, EV_MACHINE_Extruder, CI.electricPiston_EV,
+ plate,CI.getTieredCircuit(4),plate,
+ GregtechItemList.Industrial_Extruder.get(1));
+ }
+
if (CORE.ConfigSwitches.enableMultiblock_IndustrialFishingPort){
ItemStack plate = ALLOY.INCONEL_792.getPlate(1);
RecipeUtils.recipeBuilder(
@@ -1116,6 +1170,29 @@ public class RECIPES_Machines {
GregtechItemList.Industrial_FishingPond.get(1));
}
+
+
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialMultiMachine){
+ ItemStack plate = ALLOY.STABALLOY.getPlate(1);
+ ItemStack o_Compressor = ItemList.Machine_HV_Compressor.get(1);
+ ItemStack o_Lathe = ItemList.Machine_HV_Lathe.get(1);
+ ItemStack o_Electromagnet = ItemList.Machine_HV_Polarizer.get(1);
+ ItemStack o_Fermenter = ItemList.Machine_HV_Fermenter.get(1);
+ ItemStack o_Distillery = ItemList.Machine_HV_Distillery.get(1);
+ ItemStack o_Extractor = ItemList.Machine_HV_Extractor.get(1);
+ RecipeUtils.recipeBuilder(
+ plate, CI.craftingToolHammer_Hard, plate,
+ "plateStainlessSteel", "frameGtZirconiumCarbide", "plateStainlessSteel",
+ plate, CI.craftingToolWrench, plate,
+ GregtechItemList.Casing_Multi_Use.get(Casing_Amount));
+
+ RecipeUtils.recipeBuilder(
+ o_Compressor, o_Lathe, o_Electromagnet,
+ plate, ItemUtils.getSimpleStack(ModBlocks.blockProjectTable), plate,
+ o_Fermenter, o_Distillery, o_Extractor,
+ GregtechItemList.Industrial_MultiMachine.get(1));
+ }
//Wireless Chargers
RecipeUtils.addShapedGregtechRecipe(
CI.emitter_LV, CI.circuitTier1, CI.emitter_LV,
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java
index 32a34d553d..ddce7aec5b 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java
@@ -1,20 +1,24 @@
package gtPlusPlus.core.recipe;
-import codechicken.nei.api.API;
import cpw.mods.fml.common.Loader;
+
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
import gregtech.api.interfaces.IOreRecipeRegistrator;
-import gregtech.api.util.*;
-import gregtech.common.GT_Proxy;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+import codechicken.nei.api.API;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import net.minecraft.item.ItemStack;
public class RECIPES_Old_Circuits implements IOreRecipeRegistrator {
public RECIPES_Old_Circuits() {
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java
index 55cc086121..7ffdcf295b 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java
@@ -1,8 +1,9 @@
package gtPlusPlus.core.recipe;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
-import net.minecraft.item.ItemStack;
public class RECIPES_Shapeless {
@@ -19,7 +20,7 @@ public class RECIPES_Shapeless {
static String circuitUltimate = "circuitUltimate";
static ItemStack gearboxCasing_Tier_1;
- public static final void RECIPES_LOAD(){
+ public static final void loadRecipes(){
//run();
Logger.INFO("Loading Shapeless Recipes.");
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Tools.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Tools.java
index b45e2ba92f..10cefdf0c4 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Tools.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Tools.java
@@ -1,14 +1,15 @@
package gtPlusPlus.core.recipe;
-import gtPlusPlus.core.item.ModItems;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import net.minecraftforge.oredict.OreDictionary;
public class RECIPES_Tools {
@@ -125,7 +126,7 @@ public class RECIPES_Tools {
public static String plateDoubleNiChrome = "plateDoubleNichrome";
public static String plateIridiumAlloy = "plateAlloyIridium";
- public static final void RECIPES_LOAD(){
+ public static final void loadRecipes(){
run();
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPE_Batteries.java b/src/Java/gtPlusPlus/core/recipe/RECIPE_Batteries.java
index dcdd865bf9..5476ef0e8d 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPE_Batteries.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPE_Batteries.java
@@ -1,12 +1,14 @@
package gtPlusPlus.core.recipe;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.ItemList;
+
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import net.minecraft.item.ItemStack;
public class RECIPE_Batteries {
@@ -18,7 +20,7 @@ public class RECIPE_Batteries {
static ItemStack GT_Battery_Lithium = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32538, 1);
static ItemStack machineTransformer_EV;
- public static void RECIPES_LOAD(){
+ public static void loadRecipes(){
if (LoadedMods.Gregtech){
machineTransformer_EV = ItemList.Transformer_EV_HV.get(1);
diff --git a/src/Java/gtPlusPlus/core/recipe/ShapedRecipeObject.java b/src/Java/gtPlusPlus/core/recipe/ShapedRecipeObject.java
index 61c1f463fc..0d25d2bec9 100644
--- a/src/Java/gtPlusPlus/core/recipe/ShapedRecipeObject.java
+++ b/src/Java/gtPlusPlus/core/recipe/ShapedRecipeObject.java
@@ -1,9 +1,10 @@
package gtPlusPlus.core.recipe;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+
public class ShapedRecipeObject {
public Object object_A;
diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java
index 03bf3a6020..3074c3a4fe 100644
--- a/src/Java/gtPlusPlus/core/recipe/common/CI.java
+++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java
@@ -1,7 +1,14 @@
package gtPlusPlus.core.recipe.common;
-import gregtech.api.enums.*;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
@@ -9,18 +16,15 @@ import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.recipe.LOADER_Machine_Components;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import ic2.core.Ic2Items;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
public class CI {
//null
public static ItemStack _NULL = ItemUtils.getSimpleStack(ModItems.AAA_Broken);
-
+
//bits
public static long bits = GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE
| GT_ModHandler.RecipeBits.BUFFERED;
@@ -154,7 +158,7 @@ public class CI {
public static String[] component_Plate;
public static String[] component_Rod;
public static String[] component_Ingot;
-
+
//Crafting Tools
public static String craftingToolWrench = "craftingToolWrench";
public static String craftingToolHammer_Hard = "craftingToolHardHammer";
@@ -163,9 +167,10 @@ public class CI {
public static String craftingToolFile = "craftingToolFile";
public static String craftingToolKnife = "craftingToolKnife";
public static String craftingToolCrowbar = "craftingToolCrowbar";
+ public static String craftingToolSaw = "craftingToolSaw";
public static String craftingToolWireCutter = "craftingToolWirecutter";
public static String craftingToolSolderingIron = "craftingToolSolderingIron";
-
+
//Explosives
public static ItemStack explosivePowderKeg;
public static ItemStack explosiveTNT;
@@ -228,7 +233,7 @@ public class CI {
circuitTier7 = getTieredCircuit(7);
circuitTier8 = getTieredCircuit(8);
circuitTier9 = getTieredCircuit(9);
-
+
}
public static Object getTieredCircuit(int tier){
@@ -268,15 +273,15 @@ public class CI {
}
}
else {
- return getTieredCircuitOreDictName(tier);
+ return getTieredCircuitOreDictName((CORE.GTNH && tier >= 6 ? tier - 1 : tier));
}
return _NULL;
}
-
+
public static ItemStack[] getAllCircuitsOfTier(int tier){
return ItemUtils.getStackOfAllOreDictGroup(getTieredCircuitOreDictName(tier));
}
-
+
public static String getTieredCircuitOreDictName(int tier){
if (tier == 0){
return "circuitPrimitive";
@@ -389,7 +394,7 @@ public class CI {
return ItemList.Tool_DataOrb.get(1);
}
}
-
+
public static final ItemStack getTieredMachineHull(int tier){
if (tier == 0){
return machineHull_ULV;
@@ -422,7 +427,7 @@ public class CI {
return machineHull_MAX;
}
}
-
+
public static final ItemStack getTieredMachineCasing(int tier){
if (tier == 0){
return machineCasing_ULV;
@@ -455,50 +460,51 @@ public class CI {
return machineCasing_MAX;
}
}
-
+
public static void init() {
//Set Explosives
- if (ItemList.valueOf("Block_Powderbarrel") != null){
- explosivePowderKeg = ItemList.valueOf("Block_Powderbarrel").get(1);
- }
- else {
- explosivePowderKeg = ItemUtils.getSimpleStack(Items.gunpowder);
+ try {
+ if (ItemList.valueOf("Block_Powderbarrel") != null){
+ explosivePowderKeg = ItemList.valueOf("Block_Powderbarrel").get(1).copy();
+ }
+ } catch (java.lang.IllegalArgumentException Y) {
+ explosivePowderKeg = ItemUtils.getSimpleStack(Items.gunpowder).copy();
}
- explosiveTNT = ItemUtils.getSimpleStack(Blocks.tnt);
+ explosiveTNT = ItemUtils.getSimpleStack(Blocks.tnt).copy();
explosiveITNT = Ic2Items.industrialTnt.copy();
-
+
//Machine Casings
- machineCasing_ULV = ItemList.Casing_ULV.get(1);
- machineCasing_LV = ItemList.Casing_LV.get(1);
- machineCasing_MV = ItemList.Casing_MV.get(1);
- machineCasing_HV = ItemList.Casing_HV.get(1);
- machineCasing_EV = ItemList.Casing_EV.get(1);
- machineCasing_IV = ItemList.Casing_IV.get(1);
- machineCasing_LuV = ItemList.Casing_LuV.get(1);
- machineCasing_ZPM = ItemList.Casing_ZPM.get(1);
- machineCasing_UV = ItemList.Casing_UV.get(1);
- machineCasing_MAX = ItemList.Casing_MAX.get(1);
-
- //Machine Hulls
- machineHull_ULV = ItemList.Hull_ULV.get(1);
- machineHull_LV = ItemList.Hull_LV.get(1);
- machineHull_MV = ItemList.Hull_MV.get(1);
- machineHull_HV = ItemList.Hull_HV.get(1);
- machineHull_EV = ItemList.Hull_EV.get(1);
- machineHull_IV = ItemList.Hull_IV.get(1);
- machineHull_LuV = ItemList.Hull_LuV.get(1);
- machineHull_ZPM = ItemList.Hull_ZPM.get(1);
- machineHull_UV = ItemList.Hull_UV.get(1);
- machineHull_MAX = ItemList.Hull_MAX.get(1);
-
- //Gear box Casings
- gearboxCasing_Tier_1 = ItemList.Casing_Gearbox_Bronze.get(1);
- gearboxCasing_Tier_2 = ItemList.Casing_Gearbox_Steel.get(1);
- gearboxCasing_Tier_3 = ItemList.Casing_Gearbox_Titanium.get(1);
- gearboxCasing_Tier_4 = ItemList.Casing_Gearbox_TungstenSteel.get(1);
-
- //Machine Components
- LOADER_Machine_Components.initialise();
+ machineCasing_ULV = ItemList.Casing_ULV.get(1);
+ machineCasing_LV = ItemList.Casing_LV.get(1);
+ machineCasing_MV = ItemList.Casing_MV.get(1);
+ machineCasing_HV = ItemList.Casing_HV.get(1);
+ machineCasing_EV = ItemList.Casing_EV.get(1);
+ machineCasing_IV = ItemList.Casing_IV.get(1);
+ machineCasing_LuV = ItemList.Casing_LuV.get(1);
+ machineCasing_ZPM = ItemList.Casing_ZPM.get(1);
+ machineCasing_UV = ItemList.Casing_UV.get(1);
+ machineCasing_MAX = ItemList.Casing_MAX.get(1);
+
+ //Machine Hulls
+ machineHull_ULV = ItemList.Hull_ULV.get(1);
+ machineHull_LV = ItemList.Hull_LV.get(1);
+ machineHull_MV = ItemList.Hull_MV.get(1);
+ machineHull_HV = ItemList.Hull_HV.get(1);
+ machineHull_EV = ItemList.Hull_EV.get(1);
+ machineHull_IV = ItemList.Hull_IV.get(1);
+ machineHull_LuV = ItemList.Hull_LuV.get(1);
+ machineHull_ZPM = ItemList.Hull_ZPM.get(1);
+ machineHull_UV = ItemList.Hull_UV.get(1);
+ machineHull_MAX = ItemList.Hull_MAX.get(1);
+
+ //Gear box Casings
+ gearboxCasing_Tier_1 = ItemList.Casing_Gearbox_Bronze.get(1);
+ gearboxCasing_Tier_2 = ItemList.Casing_Gearbox_Steel.get(1);
+ gearboxCasing_Tier_3 = ItemList.Casing_Gearbox_Titanium.get(1);
+ gearboxCasing_Tier_4 = ItemList.Casing_Gearbox_TungstenSteel.get(1);
+
+ //Machine Components
+ LOADER_Machine_Components.initialise();
}
}
diff --git a/src/Java/gtPlusPlus/core/slots/SlotBlueprint.java b/src/Java/gtPlusPlus/core/slots/SlotBlueprint.java
index 603021237a..532f2f0822 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotBlueprint.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotBlueprint.java
@@ -1,11 +1,12 @@
package gtPlusPlus.core.slots;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.interfaces.IItemBlueprint;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.interfaces.IItemBlueprint;
+
public class SlotBlueprint extends Slot {
public SlotBlueprint(final IInventory inventory, final int x, final int y, final int z) {
diff --git a/src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java b/src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java
index af7c7c9c59..94b0b9ecc7 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java
@@ -1,12 +1,13 @@
package gtPlusPlus.core.slots;
-import gregtech.api.enums.OrePrefixes;
-import gregtech.api.items.GT_MetaGenerated_Tool;
-import gregtech.common.items.GT_MetaGenerated_Item_02;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.common.items.GT_MetaGenerated_Item_02;
+
public class SlotBuzzSaw extends Slot {
public SAWTOOL currentTool = SAWTOOL.NONE;
diff --git a/src/Java/gtPlusPlus/core/slots/SlotCrafting.java b/src/Java/gtPlusPlus/core/slots/SlotCrafting.java
index 4ad26d6093..42b7b585e2 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotCrafting.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotCrafting.java
@@ -1,6 +1,7 @@
package gtPlusPlus.core.slots;
import cpw.mods.fml.common.FMLCommonHandler;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -8,6 +9,7 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.*;
import net.minecraft.stats.AchievementList;
+
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
diff --git a/src/Java/gtPlusPlus/core/slots/SlotCraftingNoCollect.java b/src/Java/gtPlusPlus/core/slots/SlotCraftingNoCollect.java
index 286eff9612..3608c3724c 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotCraftingNoCollect.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotCraftingNoCollect.java
@@ -1,6 +1,7 @@
package gtPlusPlus.core.slots;
import cpw.mods.fml.common.FMLCommonHandler;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
diff --git a/src/Java/gtPlusPlus/core/slots/SlotDataStick.java b/src/Java/gtPlusPlus/core/slots/SlotDataStick.java
index 26a7261f91..66bc4d4b5d 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotDataStick.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotDataStick.java
@@ -1,12 +1,14 @@
package gtPlusPlus.core.slots;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.ItemList;
import gregtech.common.items.GT_MetaGenerated_Item_01;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
public class SlotDataStick extends Slot {
diff --git a/src/Java/gtPlusPlus/core/slots/SlotElectric.java b/src/Java/gtPlusPlus/core/slots/SlotElectric.java
index 6b11cf5264..a747432a74 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotElectric.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotElectric.java
@@ -1,13 +1,15 @@
package gtPlusPlus.core.slots;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.items.GT_MetaGenerated_Tool;
+
import ic2.api.info.Info;
import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
public class SlotElectric extends Slot {
diff --git a/src/Java/gtPlusPlus/core/slots/SlotFrame.java b/src/Java/gtPlusPlus/core/slots/SlotFrame.java
index 590a68fbb7..4168ded5bc 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotFrame.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotFrame.java
@@ -1,10 +1,11 @@
package gtPlusPlus.core.slots;
-import forestry.api.apiculture.IHiveFrame;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import forestry.api.apiculture.IHiveFrame;
+
public class SlotFrame extends Slot {
public SlotFrame(final IInventory inventory, final int x, final int y, final int z) {
diff --git a/src/Java/gtPlusPlus/core/slots/SlotFuelRod.java b/src/Java/gtPlusPlus/core/slots/SlotFuelRod.java
index 94a8b8ce0a..b50b679665 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotFuelRod.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotFuelRod.java
@@ -1,11 +1,13 @@
package gtPlusPlus.core.slots;
-import gregtech.api.enums.ItemList;
-import ic2.core.Ic2Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gregtech.api.enums.ItemList;
+
+import ic2.core.Ic2Items;
+
public class SlotFuelRod extends Slot {
public SlotFuelRod(final IInventory inventory, final int index, final int x, final int y) {
diff --git a/src/Java/gtPlusPlus/core/slots/SlotGtTool.java b/src/Java/gtPlusPlus/core/slots/SlotGtTool.java
index e70ae728c9..54e25362db 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotGtTool.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotGtTool.java
@@ -1,11 +1,13 @@
package gtPlusPlus.core.slots;
-import gregtech.api.items.GT_MetaGenerated_Tool;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+
+import gtPlusPlus.api.objects.Logger;
+
public class SlotGtTool extends Slot {
public SlotGtTool(final IInventory inventory, final int x, final int y, final int z) {
diff --git a/src/Java/gtPlusPlus/core/slots/SlotGtToolElectric.java b/src/Java/gtPlusPlus/core/slots/SlotGtToolElectric.java
index 1e488a0e46..c0e3340769 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotGtToolElectric.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotGtToolElectric.java
@@ -1,13 +1,15 @@
package gtPlusPlus.core.slots;
+import net.minecraft.init.Items;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.items.GT_MetaGenerated_Tool;
+
import gtPlusPlus.api.objects.Logger;
import ic2.api.info.Info;
import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem;
-import net.minecraft.init.Items;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
public class SlotGtToolElectric extends SlotGtTool {
public int tier;
diff --git a/src/Java/gtPlusPlus/core/slots/SlotItemBackpackInv.java b/src/Java/gtPlusPlus/core/slots/SlotItemBackpackInv.java
index bc74e65844..3aa551f966 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotItemBackpackInv.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotItemBackpackInv.java
@@ -1,10 +1,11 @@
package gtPlusPlus.core.slots;
-import gtPlusPlus.core.item.base.BaseItemBackpack;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.item.base.BaseItemBackpack;
+
public class SlotItemBackpackInv extends Slot {
public SlotItemBackpackInv(final IInventory inv, final int index, final int xPos, final int yPos) {
super(inv, index, xPos, yPos);
diff --git a/src/Java/gtPlusPlus/core/slots/SlotModularBauble.java b/src/Java/gtPlusPlus/core/slots/SlotModularBauble.java
index 88735aaa55..4aef5bc877 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotModularBauble.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotModularBauble.java
@@ -1,10 +1,11 @@
package gtPlusPlus.core.slots;
-import gtPlusPlus.core.item.bauble.ModularBauble;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.item.bauble.ModularBauble;
+
public class SlotModularBauble extends Slot {
public SlotModularBauble(final IInventory inventory, final int slot, final int x, final int y) {
diff --git a/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java b/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java
index 85de0df60e..dae62f0415 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java
@@ -1,19 +1,19 @@
package gtPlusPlus.core.slots;
-import static gtPlusPlus.core.tileentities.machines.TileEntityModularityTable.mValidUpgradeList;
-import static gtPlusPlus.core.tileentities.machines.TileEntityModularityTable.mValidUpgradeListFormChange;
+import static gtPlusPlus.core.tileentities.machines.TileEntityModularityTable.*;
import java.util.Iterator;
import java.util.Map.Entry;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils.BT;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils.Modifiers;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils.BT;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils.Modifiers;
+
public class SlotModularBaubleUpgrades extends Slot {
public SlotModularBaubleUpgrades(final IInventory inventory, final int slot, final int x, final int y) {
diff --git a/src/Java/gtPlusPlus/core/slots/SlotOutput.java b/src/Java/gtPlusPlus/core/slots/SlotOutput.java
index 018df63a4c..f22e0645f5 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotOutput.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotOutput.java
@@ -1,10 +1,12 @@
package gtPlusPlus.core.slots;
import cpw.mods.fml.common.FMLCommonHandler;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
+
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
diff --git a/src/Java/gtPlusPlus/core/slots/SlotRTG.java b/src/Java/gtPlusPlus/core/slots/SlotRTG.java
index 66d41a147c..181052cc57 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotRTG.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotRTG.java
@@ -1,10 +1,11 @@
package gtPlusPlus.core.slots;
-import ic2.core.Ic2Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import ic2.core.Ic2Items;
+
public class SlotRTG extends Slot {
public SlotRTG(final IInventory inventory, final int x, final int y, final int z) {
diff --git a/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java b/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java
index a45e2218b8..af778e261a 100644
--- a/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java
+++ b/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java
@@ -1,18 +1,11 @@
package gtPlusPlus.core.tileentities;
import cpw.mods.fml.common.registry.GameRegistry;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.tileentities.general.TileEntityFirepit;
-import gtPlusPlus.core.tileentities.general.TileEntityFishTrap;
-import gtPlusPlus.core.tileentities.general.TileEntityHeliumGenerator;
-import gtPlusPlus.core.tileentities.general.TileEntityInfiniteFluid;
-import gtPlusPlus.core.tileentities.general.TileEntityXpConverter;
-import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable;
-import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable;
-import gtPlusPlus.core.tileentities.machines.TileEntityTradeTable;
-import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
-import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
+import gtPlusPlus.core.tileentities.general.*;
+import gtPlusPlus.core.tileentities.machines.*;
import gtPlusPlus.xmod.thaumcraft.common.tile.TCTileEntities;
public class ModTileEntities {
diff --git a/src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java b/src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java
index 81dfb1acf4..90c37e140a 100644
--- a/src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java
+++ b/src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java
@@ -2,13 +2,14 @@ package gtPlusPlus.core.tileentities.base;
import java.util.UUID;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
+import gtPlusPlus.api.objects.Logger;
+
public abstract class TileEntityBase extends TileEntity implements ISidedInventory {
private String customName;
@@ -16,7 +17,6 @@ public abstract class TileEntityBase extends TileEntity implements ISidedInvento
public String mOwnerUUID = "null";
private boolean mIsOwnerOP = false;
- @SuppressWarnings("static-method")
public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag){
if(!nbt.hasKey(tag))
{
@@ -82,7 +82,6 @@ public abstract class TileEntityBase extends TileEntity implements ISidedInvento
}
public boolean onPreTick(){
-
return true;
}
@@ -105,8 +104,7 @@ public abstract class TileEntityBase extends TileEntity implements ISidedInvento
public boolean processRecipe(){
return true;
- }
-
+ }
@Override
public boolean canUpdate() {
@@ -130,8 +128,7 @@ public abstract class TileEntityBase extends TileEntity implements ISidedInvento
public void setOwnerInformation(String mName, String mUUID, boolean mOP){
if (isServerSide()){
- if (this.mOwnerName.equals("null") || this.mOwnerUUID.equals("null")
- || this.mOwnerName == null || this.mOwnerUUID == null){
+ if (this.mOwnerName == null || this.mOwnerUUID == null || this.mOwnerName.equals("null") || this.mOwnerUUID.equals("null")){
this.mOwnerName = mName;
this.mOwnerUUID = mUUID;
this.mIsOwnerOP = mOP;
@@ -141,10 +138,7 @@ public abstract class TileEntityBase extends TileEntity implements ISidedInvento
public boolean isServerSide(){
if (this.hasWorldObj()){
- if (this.getWorldObj().isRemote){
- return false;
- }
- else {
+ if (!this.getWorldObj().isRemote){
return true;
}
}
@@ -161,7 +155,7 @@ public abstract class TileEntityBase extends TileEntity implements ISidedInvento
@Override
public String getInventoryName() {
- return this.hasCustomInventoryName() ? this.customName : "container.fishrap";
+ return this.hasCustomInventoryName() ? this.customName : "container.tileentity.name";
}
@Override
diff --git a/src/Java/gtPlusPlus/core/tileentities/base/TilePoweredGT.java b/src/Java/gtPlusPlus/core/tileentities/base/TilePoweredGT.java
new file mode 100644
index 0000000000..e607dac40d
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/tileentities/base/TilePoweredGT.java
@@ -0,0 +1,1167 @@
+package gtPlusPlus.core.tileentities.base;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.network.Packet;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.net.GT_Packet;
+import gregtech.api.net.GT_Packet_Block_Event;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.interfaces.IGregtechPower;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import net.minecraftforge.common.util.ForgeDirection;
+
+public abstract class TilePoweredGT extends TileEntityBase implements IGregtechPower {
+
+ public static AutoMap<TilePoweredGT> mPoweredEntities = new AutoMap<TilePoweredGT>();
+
+ //Base Tile Fields
+ public boolean ignoreUnloadedChunks;
+ public boolean isDead;
+ //Meta Tile Fields
+ private long mAcceptedAmperes;
+
+ private boolean[] mActiveEUInputs;
+ private boolean[] mActiveEUOutputs;
+ protected int[] mAverageEUInput;
+ protected int mAverageEUInputIndex;
+ protected int[] mAverageEUOutput;
+ protected int mAverageEUOutputIndex;
+ private final TileEntity[] mBufferedTileEntities;
+ private byte mFacing = 0;
+ private boolean mHasEnoughEnergy;
+ private boolean mNeedsUpdate;
+ private boolean mNeedsBlockUpdate;
+ private boolean mRunningThroughTick;
+ private boolean mSendClientData;
+ protected boolean mReleaseEnergy;
+ private long mTickTimer;
+ protected long mStoredEnergy;
+ protected long mStoredSteam;
+
+ public TilePoweredGT() {
+ super();
+ this.mBufferedTileEntities = new TileEntity[6];
+ this.ignoreUnloadedChunks = true;
+ this.isDead = false;
+ mPoweredEntities.put(this);
+ }
+
+ @Override
+ public boolean acceptsRotationalEnergy(byte p0) {
+ return false;
+ }
+
+ private boolean canAccessData() {
+ return this.isInvalid() ? false : true;
+ }
+
+ private final void clearNullMarkersFromTileEntityBuffer() {
+ for (int i = 0; i < this.mBufferedTileEntities.length; ++i) {
+ if (this.mBufferedTileEntities[i] == this) {
+ this.mBufferedTileEntities[i] = null;
+ }
+ }
+ }
+
+ protected final void clearTileEntityBuffer() {
+ for (int i = 0; i < this.mBufferedTileEntities.length; ++i) {
+ this.mBufferedTileEntities[i] = null;
+ }
+ }
+
+ private boolean crossedChunkBorder(final int aX, final int aZ) {
+ return aX >> 4 != this.xCoord >> 4 || aZ >> 4 != this.zCoord >> 4;
+ }
+
+ @Override
+ public boolean decreaseStoredEnergyUnits(final long aEnergy, final boolean aIgnoreTooLessEnergy) {
+ return this.canAccessData() && (this.mHasEnoughEnergy = (this.decreaseStoredEU(aEnergy, aIgnoreTooLessEnergy)
+ || this.decreaseStoredSteam(aEnergy, false)
+ || (aIgnoreTooLessEnergy && this.decreaseStoredSteam(aEnergy, true))));
+ }
+
+ public boolean decreaseStoredEU(final long aEnergy, final boolean aIgnoreTooLessEnergy) {
+ if (!this.canAccessData()) {
+ return false;
+ }
+ if (this.getEUVar() - aEnergy < 0L && !aIgnoreTooLessEnergy) {
+ return false;
+ }
+ this.setStoredEU(this.getEUVar() - aEnergy);
+ if (this.getEUVar() < 0L) {
+ this.setStoredEU(0L);
+ return false;
+ }
+ return true;
+ }
+
+ public boolean decreaseStoredSteam(final long aEnergy, final boolean aIgnoreTooLessEnergy) {
+ if (!this.canAccessData()) {
+ return false;
+ }
+ if (this.getSteamVar() - aEnergy < 0L && !aIgnoreTooLessEnergy) {
+ return false;
+ }
+ this.setStoredSteam(this.getSteamVar() - aEnergy);
+ if (this.getSteamVar() < 0L) {
+ this.setStoredSteam(0L);
+ return false;
+ }
+ return true;
+ }
+
+ public void doExplosion(final long aExplosionPower) {
+ final float tStrength = (aExplosionPower < GT_Values.V[0])
+ ? 1.0f
+ : ((aExplosionPower < GT_Values.V[1])
+ ? 2.0f
+ : ((aExplosionPower < GT_Values.V[2])
+ ? 3.0f
+ : ((aExplosionPower < GT_Values.V[3])
+ ? 4.0f
+ : ((aExplosionPower < GT_Values.V[4])
+ ? 5.0f
+ : ((aExplosionPower < GT_Values.V[4] * 2L)
+ ? 6.0f
+ : ((aExplosionPower < GT_Values.V[5])
+ ? 7.0f
+ : ((aExplosionPower < GT_Values.V[6])
+ ? 8.0f
+ : ((aExplosionPower < GT_Values.V[7])
+ ? 9.0f
+ : 10.0f))))))));
+ final int tX = this.getXCoord();
+ final int tY = this.getYCoord();
+ final int tZ = this.getZCoord();
+ final World tWorld = this.getWorld();
+ GT_Utility.sendSoundToPlayers(tWorld, (String) GregTech_API.sSoundList.get(209), 1.0f, -1.0f, tX, tY, tZ);
+ tWorld.setBlock(tX, tY, tZ, Blocks.air);
+ if (GregTech_API.sMachineExplosions) {
+ tWorld.createExplosion((Entity) null, tX + 0.5, tY + 0.5, tZ + 0.5, tStrength, true);
+ }
+ }
+
+ public boolean drainEnergyUnits(final byte aSide, final long aVoltage, final long aAmperage) {
+ if (!this.canAccessData() || !this.isElectric() || !this.outputsEnergyTo(aSide)
+ || this.getStoredEU() - aVoltage * aAmperage < this.getMinimumStoredEU()) {
+ return false;
+ }
+ if (this.decreaseStoredEU(aVoltage * aAmperage, false)) {
+ final int[] mAverageEUOutput = this.mAverageEUOutput;
+ final int mAverageEUOutputIndex = this.mAverageEUOutputIndex;
+ mAverageEUOutput[mAverageEUOutputIndex] += (int) (aVoltage * aAmperage);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public final boolean getAir(final int aX, final int aY, final int aZ) {
+ return (this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ))
+ || GT_Utility.isBlockAir(this.worldObj, aX, aY, aZ);
+ }
+
+ @Override
+ public final boolean getAirAtSide(final byte aSide) {
+ return this.getAirAtSideAndDistance(aSide, 1);
+ }
+
+ @Override
+ public final boolean getAirAtSideAndDistance(final byte aSide, final int aDistance) {
+ return this.getAir(this.getOffsetX(aSide, aDistance), this.getOffsetY(aSide, aDistance),
+ this.getOffsetZ(aSide, aDistance));
+ }
+
+ @Override
+ public final boolean getAirOffset(final int aX, final int aY, final int aZ) {
+ return this.getAir(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ);
+ }
+
+ @Override
+ public long getAverageElectricInput() {
+ int rEU = 0;
+ for (int i = 0; i < this.mAverageEUInput.length; ++i) {
+ if (i != this.mAverageEUInputIndex) {
+ rEU += this.mAverageEUInput[i];
+ }
+ }
+ return rEU / (this.mAverageEUInput.length - 1);
+ }
+
+ public long getAverageElectricOutput() {
+ int rEU = 0;
+ for (int i = 0; i < this.mAverageEUOutput.length; ++i) {
+ if (i != this.mAverageEUOutputIndex) {
+ rEU += this.mAverageEUOutput[i];
+ }
+ }
+ return rEU / (this.mAverageEUOutput.length - 1);
+ }
+
+ @Override
+ public byte getBackFacing() {
+ return GT_Utility.getOppositeSide((int) this.mFacing);
+ }
+
+ @Override
+ public final Block getBlock(final int aX, final int aY, final int aZ) {
+ if (this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ)) {
+ return Blocks.air;
+ }
+ return this.worldObj.getBlock(aX, aY, aZ);
+ }
+
+
+ @Override
+ public final Block getBlockAtSide(final byte aSide) {
+ return this.getBlockAtSideAndDistance(aSide, 1);
+ }
+
+ @Override
+ public final Block getBlockAtSideAndDistance(final byte aSide, final int aDistance) {
+ return this.getBlock(this.getOffsetX(aSide, aDistance), this.getOffsetY(aSide, aDistance),
+ this.getOffsetZ(aSide, aDistance));
+ }
+
+ @Override
+ public final Block getBlockOffset(final int aX, final int aY, final int aZ) {
+ return this.getBlock(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ);
+ }
+
+ @Override
+ public String[] getDescription() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+
+
+
+
+
+
+ @Override
+ public long getEUCapacity() {
+ if (this.canAccessData()) {
+ return this.maxEUStore();
+ }
+ return 0L;
+ }
+
+ public long getEUVar() {
+ return mStoredEnergy;
+ }
+
+ @Override
+ public byte getFrontFacing() {
+ return this.mFacing;
+ }
+
+ @Override
+ public final IGregTechTileEntity getIGregTechTileEntity(final int aX, final int aY, final int aZ) {
+ final TileEntity tTileEntity = this.getTileEntity(aX, aY, aZ);
+ if (tTileEntity instanceof IGregTechTileEntity) {
+ return (IGregTechTileEntity) tTileEntity;
+ }
+ return null;
+ }
+
+ @Override
+ public final IGregTechTileEntity getIGregTechTileEntityAtSide(final byte aSide) {
+ final TileEntity tTileEntity = this.getTileEntityAtSide(aSide);
+ if (tTileEntity instanceof IGregTechTileEntity) {
+ return (IGregTechTileEntity) tTileEntity;
+ }
+ return null;
+ }
+
+ @Override
+ public final IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(final byte aSide, final int aDistance) {
+ final TileEntity tTileEntity = this.getTileEntityAtSideAndDistance(aSide, aDistance);
+ if (tTileEntity instanceof IGregTechTileEntity) {
+ return (IGregTechTileEntity) tTileEntity;
+ }
+ return null;
+ }
+
+ @Override
+ public final IGregTechTileEntity getIGregTechTileEntityOffset(final int aX, final int aY, final int aZ) {
+ final TileEntity tTileEntity = this.getTileEntityOffset(aX, aY, aZ);
+ if (tTileEntity instanceof IGregTechTileEntity) {
+ return (IGregTechTileEntity) tTileEntity;
+ }
+ return null;
+ }
+
+ @Override
+ public final IInventory getIInventory(final int aX, final int aY, final int aZ) {
+ final TileEntity tTileEntity = this.getTileEntity(aX, aY, aZ);
+ if (tTileEntity instanceof IInventory) {
+ return (IInventory) tTileEntity;
+ }
+ return null;
+ }
+
+ @Override
+ public final IInventory getIInventoryAtSide(final byte aSide) {
+ final TileEntity tTileEntity = this.getTileEntityAtSide(aSide);
+ if (tTileEntity instanceof IInventory) {
+ return (IInventory) tTileEntity;
+ }
+ return null;
+ }
+
+ @Override
+ public final IInventory getIInventoryAtSideAndDistance(final byte aSide, final int aDistance) {
+ final TileEntity tTileEntity = this.getTileEntityAtSideAndDistance(aSide, aDistance);
+ if (tTileEntity instanceof IInventory) {
+ return (IInventory) tTileEntity;
+ }
+ return null;
+ }
+
+ @Override
+ public final IInventory getIInventoryOffset(final int aX, final int aY, final int aZ) {
+ final TileEntity tTileEntity = this.getTileEntityOffset(aX, aY, aZ);
+ if (tTileEntity instanceof IInventory) {
+ return (IInventory) tTileEntity;
+ }
+ return null;
+ }
+
+ @Override
+ public String[] getInfoData() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public long getInputAmperage() {
+ if (this.canAccessData() && this.isElectric()) {
+ return this.maxAmperesIn();
+ }
+ return 0L;
+ }
+
+ public long getInputTier() {
+ return GT_Utility.getTier(this.getInputVoltage());
+ }
+
+ @Override
+ public long getInputVoltage() {
+ if (this.canAccessData() && this.isElectric()) {
+ return this.maxEUInput();
+ }
+ return 2147483647L;
+ }
+
+ private long getMinimumStoredEU() {
+ return 0;
+ }
+
+ @Override
+ public final int getOffsetX(final byte aSide, final int aMultiplier) {
+ return this.xCoord + ForgeDirection.getOrientation((int) aSide).offsetX * aMultiplier;
+ }
+
+ public final short getOffsetY(final byte aSide, final int aMultiplier) {
+ return (short) (this.yCoord + ForgeDirection.getOrientation((int) aSide).offsetY * aMultiplier);
+ }
+
+ public final int getOffsetZ(final byte aSide, final int aMultiplier) {
+ return this.zCoord + ForgeDirection.getOrientation((int) aSide).offsetZ * aMultiplier;
+ }
+
+ @Override
+ public long getOutputAmperage() {
+ if (this.canAccessData() && this.isElectric()) {
+ return this.maxAmperesOut();
+ }
+ return 0L;
+ }
+
+ public long getOutputTier() {
+ return GT_Utility.getTier(this.getOutputVoltage());
+ }
+
+ @Override
+ public long getOutputVoltage() {
+ if (this.canAccessData() && this.isElectric() && this.isEnetOutput()) {
+ return this.maxEUOutput();
+ }
+ return 0L;
+ }
+
+ @Override
+ public int getRandomNumber(int p0) {
+ return CORE.RANDOM.nextInt();
+ }
+
+ @Override
+ public long getSteamCapacity() {
+ if (this.canAccessData()) {
+ return this.maxSteamStore();
+ }
+ return 0L;
+ }
+
+ public long getSteamVar() {
+ return mStoredSteam;
+ }
+
+ @Override
+ public long getStoredEU() {
+ if (this.canAccessData()) {
+ return Math.min(this.getEUVar(), this.getEUCapacity());
+ }
+ return 0L;
+ }
+
+
+
+
+
+
+
+
+
+ @Override
+ public long getStoredSteam() {
+ if (this.canAccessData()) {
+ return Math.min(this.getSteamVar(), this.getSteamCapacity());
+ }
+ return 0L;
+ }
+
+ @Override
+ public final TileEntity getTileEntity(final int aX, final int aY, final int aZ) {
+ if (this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ)) {
+ return null;
+ }
+ return this.worldObj.getTileEntity(aX, aY, aZ);
+ }
+
+ public final TileEntity getTileEntityAtSide(final byte aSide) {
+ if (aSide < 0 || aSide >= 6 || this.mBufferedTileEntities[aSide] == this) {
+ return null;
+ }
+ final int tX = this.getOffsetX(aSide, 1);
+ final int tY = this.getOffsetY(aSide, 1);
+ final int tZ = this.getOffsetZ(aSide, 1);
+ if (this.crossedChunkBorder(tX, tZ)) {
+ this.mBufferedTileEntities[aSide] = null;
+ if (this.ignoreUnloadedChunks && !this.worldObj.blockExists(tX, tY, tZ)) {
+ return null;
+ }
+ }
+ if (this.mBufferedTileEntities[aSide] == null) {
+ this.mBufferedTileEntities[aSide] = this.worldObj.getTileEntity(tX, tY, tZ);
+ if (this.mBufferedTileEntities[aSide] == null) {
+ this.mBufferedTileEntities[aSide] = this;
+ return null;
+ }
+ return this.mBufferedTileEntities[aSide];
+ } else {
+ if (this.mBufferedTileEntities[aSide].isInvalid()) {
+ this.mBufferedTileEntities[aSide] = null;
+ return this.getTileEntityAtSide(aSide);
+ }
+ if (this.mBufferedTileEntities[aSide].xCoord == tX && this.mBufferedTileEntities[aSide].yCoord == tY
+ && this.mBufferedTileEntities[aSide].zCoord == tZ) {
+ return this.mBufferedTileEntities[aSide];
+ }
+ return null;
+ }
+ }
+
+ @Override
+ public final TileEntity getTileEntityAtSideAndDistance(final byte aSide, final int aDistance) {
+ if (aDistance == 1) {
+ return this.getTileEntityAtSide(aSide);
+ }
+ return this.getTileEntity(this.getOffsetX(aSide, aDistance), this.getOffsetY(aSide, aDistance),
+ this.getOffsetZ(aSide, aDistance));
+ }
+
+
+
+
+
+
+
+
+
+
+ @Override
+ public final TileEntity getTileEntityOffset(final int aX, final int aY, final int aZ) {
+ return this.getTileEntity(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ);
+ }
+
+ @Override
+ public long getUniversalEnergyCapacity() {
+ return 0;
+ }
+
+ @Override
+ public long getUniversalEnergyStored() {
+ return 0;
+ }
+
+ @Override
+ public World getWorld() {
+ return this.getWorldObj();
+ }
+
+
+
+
+
+
+ @Override
+ public int getXCoord() {
+ return this.xCoord;
+ }
+
+
+
+
+
+ @Override
+ public short getYCoord() {
+ return (short) this.yCoord;
+ }
+
+ @Override
+ public int getZCoord() {
+ return this.zCoord;
+ }
+
+ public boolean hasEnoughEnergy() {
+ return (this.getStoredEU() > 0 ? (mHasEnoughEnergy = true) : (mHasEnoughEnergy = false));
+ }
+
+
+
+
+ @Override
+ public boolean increaseStoredEnergyUnits(final long aEnergy, final boolean aIgnoreTooMuchEnergy) {
+ if (!this.canAccessData()) {
+ return false;
+ }
+ if (this.getStoredEU() < this.getEUCapacity() || aIgnoreTooMuchEnergy) {
+ this.setStoredEU(this.getEUVar() + aEnergy);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean increaseStoredSteam(final long aEnergy, final boolean aIgnoreTooMuchEnergy) {
+ if (!this.canAccessData()) {
+ return false;
+ }
+ if (this.getSteamVar() < this.getSteamCapacity() || aIgnoreTooMuchEnergy) {
+ this.setStoredSteam(this.getSteamVar() + aEnergy);
+ return true;
+ }
+ return false;
+ }
+
+ public long injectEnergyUnits(final byte aSide, final long aVoltage, long aAmperage) {
+ if (!this.canAccessData() || !this.isElectric() || !this.inputEnergyFrom(aSide)
+ || aAmperage <= 0L || aVoltage <= 0L || this.getStoredEU() >= this.getEUCapacity()
+ || this.maxAmperesIn() <= this.mAcceptedAmperes) {
+ return 0L;
+ }
+ if (aVoltage > this.getInputVoltage()) {
+ this.doExplosion(aVoltage);
+ return 0L;
+ }
+ if (this.increaseStoredEnergyUnits(aVoltage
+ * (aAmperage = Math.min(aAmperage, Math.min(this.maxAmperesIn() - this.mAcceptedAmperes,
+ 1L + (this.getEUCapacity() - this.getStoredEU()) / aVoltage))),
+ true)) {
+ final int[] mAverageEUInput = this.mAverageEUInput;
+ final int mAverageEUInputIndex = this.mAverageEUInputIndex;
+ mAverageEUInput[mAverageEUInputIndex] += (int) (aVoltage * aAmperage);
+ this.mAcceptedAmperes += aAmperage;
+ return aAmperage;
+ }
+ return 0L;
+ }
+
+ @Override
+ public boolean injectRotationalEnergy(byte p0, long p1, long p2) {
+ return false;
+ }
+
+ @Override
+ public boolean inputEnergyFrom(final byte aSide) {
+ if (aSide == 6) {
+ return true;
+ }
+ if (this.isServerSide()) {
+ return aSide >= 0 && aSide < 6 && this.mActiveEUInputs[aSide] && !this.mReleaseEnergy;
+ }
+ return this.isEnergyInputSide(aSide);
+ }
+
+
+ public final boolean isClientSide() {
+ return this.worldObj.isRemote;
+ }
+
+ @Override
+ public boolean isDead() {
+ return this.isDead;
+ }
+
+ private boolean isElectric() {
+ return true;
+ }
+
+ private boolean isEnergyInputSide(final byte aSide) {
+ if (aSide >= 0 && aSide < 6) {
+ if (this.isInvalid() || this.mReleaseEnergy) {
+ return false;
+ }
+ if (this.canAccessData() && this.isElectric() && this.isEnetInput()) {
+ return this.isInputFacing(aSide);
+ }
+ }
+ return false;
+ }
+
+ private boolean isEnergyOutputSide(final byte aSide) {
+ if (aSide >= 0 && aSide < 6) {
+ if (this.isInvalid() || this.mReleaseEnergy) {
+ return this.mReleaseEnergy;
+ }
+ if (this.canAccessData() && this.isElectric() && this.isEnetOutput()) {
+ return this.isOutputFacing(aSide);
+ }
+ }
+ return false;
+ }
+
+ public boolean isEnetInput() {
+ return false;
+ }
+
+ public boolean isEnetOutput() {
+ return false;
+ }
+
+ @Override
+ public boolean isGivingInformation() {
+ return this.canAccessData() && this.isGivingInformation();
+ }
+
+ public boolean isInputFacing(final byte aSide) {
+ return false;
+ }
+
+
+
+
+ @Override
+ public boolean isInvalidTileEntity() {
+ return isDead() ? true : false;
+ }
+
+ public boolean isOutputFacing(final byte aSide) {
+ return false;
+ }
+
+ public final boolean isServerSide() {
+ return !this.worldObj.isRemote;
+ }
+
+ public boolean isUniversalEnergyStored(final long aEnergyAmount) {
+ return this.getUniversalEnergyStored() >= aEnergyAmount || (this.mHasEnoughEnergy = false);
+ }
+
+ @Override
+ public boolean isValidFacing(final byte aSide) {
+ return this.canAccessData();
+ }
+
+ public long maxAmperesIn() {
+ return 1L;
+ }
+
+ public long maxAmperesOut() {
+ return 1L;
+ }
+
+ public long maxEUInput() {
+ return 0L;
+ }
+
+ public long maxEUOutput() {
+ return 0L;
+ }
+
+ public long maxEUStore() {
+ return 0L;
+ }
+
+ public long maxSteamStore() {
+ return 256000L;
+ }
+
+ public final void onAdjacentBlockChange(final int aX, final int aY, final int aZ) {
+ this.clearNullMarkersFromTileEntityBuffer();
+ }
+
+ @Override
+ public boolean outputsEnergyTo(final byte aSide) {
+ if (aSide == 6) {
+ return true;
+ }
+ if (this.isServerSide()) {
+ if (aSide < 0 || aSide >= 6 || !this.mActiveEUOutputs[aSide]) {
+ if (!this.mReleaseEnergy) {
+ return false;
+ }
+ }
+ return true;
+ }
+ return this.isEnergyOutputSide(aSide);
+ }
+
+ public final void sendBlockEvent(final byte aID, final byte aValue) {
+ GT_Values.NW.sendPacketToAllPlayersInRange(this.worldObj,
+ (GT_Packet) new GT_Packet_Block_Event(this.xCoord, (short) this.yCoord, this.zCoord, aID, aValue),
+ this.xCoord, this.zCoord);
+ }
+
+ public void setEUVar(final long aEnergy) {
+ mStoredEnergy = aEnergy;
+ }
+
+ @Override
+ public void setFrontFacing(byte aFacing) {
+ if (this.isValidFacing(aFacing)) {
+ this.mFacing = aFacing;
+ //this.onFacingChange();
+ //this.onMachineBlockUpdate();
+ }
+ }
+
+ public void setSteamVar(final long aSteam) {
+ mStoredSteam = aSteam;
+ }
+
+ public boolean setStoredEU(long aEnergy) {
+ if (!this.canAccessData()) {
+ return false;
+ }
+ if (aEnergy < 0L) {
+ aEnergy = 0L;
+ }
+ this.setEUVar(aEnergy);
+ return true;
+ }
+
+ public boolean setStoredSteam(long aEnergy) {
+ if (!this.canAccessData()) {
+ return false;
+ }
+ if (aEnergy < 0L) {
+ aEnergy = 0L;
+ }
+ this.setSteamVar(aEnergy);
+ return true;
+ }
+
+ @Override
+ public void writeToNBT(NBTTagCompound nbt) {
+ // TODO Auto-generated method stub
+ super.writeToNBT(nbt);
+ }
+
+ @Override
+ public void readFromNBT(NBTTagCompound nbt) {
+ // TODO Auto-generated method stub
+ super.readFromNBT(nbt);
+ }
+
+
+
+
+ @Override
+ public boolean onPreTick() {
+ return onPreTick(this, this.mTickTimer);
+ }
+
+ @Override
+ public boolean onTick() {
+ return onTick(this, this.mTickTimer);
+ }
+
+ @Override
+ public boolean onPostTick() {
+ return onPostTick(this, this.mTickTimer);
+ }
+
+ @Override
+ public boolean onPreTick(TilePoweredGT tilePoweredGT, long mTickTimer2) {
+ return super.onPreTick();
+ }
+
+ @Override
+ public boolean onTick(TilePoweredGT iGregTechTileEntity, long mTickTimer2) {
+ return super.onTick();
+ }
+
+ @Override
+ public boolean onPostTick(TilePoweredGT iGregTechTileEntity, long mTickTimer2) {
+ return super.onPostTick();
+ }
+
+ @Override
+ public void markDirty() {
+ super.markDirty();
+ }
+
+ @Override
+ public boolean receiveClientEvent(int p_145842_1_, int p_145842_2_) {
+ // TODO Auto-generated method stub
+ return super.receiveClientEvent(p_145842_1_, p_145842_2_);
+ }
+
+ @Override
+ public void onChunkUnload() {
+ this.clearNullMarkersFromTileEntityBuffer();
+ super.onChunkUnload();
+ this.isDead = true;
+ }
+
+
+ public void updateEntity() {
+ super.updateEntity();
+ this.isDead = false;
+
+ this.mRunningThroughTick = true;
+ long tTime = System.currentTimeMillis();
+ int tCode = 0;
+ final boolean aSideServer = this.isServerSide();
+ final boolean aSideClient = this.isClientSide();
+ /*try {
+ for (tCode = 0; this.hasValidMetaTileEntity() && tCode >= 0; tCode = -1) {
+ Label_1743 : {
+ switch (tCode) {
+ case 0 : {
+ ++tCode;
+ if (this.mTickTimer++ != 0L) {
+ break Label_1743;
+ }
+ this.oX = this.xCoord;
+ this.oY = this.yCoord;
+ this.oZ = this.zCoord;
+
+ this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord,
+ (TileEntity) this);
+ this.onFirstTick(this);
+ if (!this.hasValidMetaTileEntity()) {
+ this.mRunningThroughTick = false;
+ return;
+ }
+ break Label_1743;
+ }
+ case 1 : {
+ ++tCode;
+ if (!aSideClient) {
+ break Label_1743;
+ }
+ if (this.mNeedsUpdate) {
+ this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
+ this.mNeedsUpdate = false;
+ }
+ break Label_1743;
+ }
+ case 2 :
+ case 3 :
+ case 4 :
+ case 5 :
+ case 6 :
+ case 7 : {
+ if (aSideServer && this.mTickTimer > 10L) {
+ for (byte i = (byte) (tCode - 2); i < 6; ++i) {
+
+ }
+ }
+ }
+ case 8 : {
+ tCode = 9;
+ if (aSideServer) {
+ if (++this.mAverageEUInputIndex >= this.mAverageEUInput.length) {
+ this.mAverageEUInputIndex = 0;
+ }
+ if (++this.mAverageEUOutputIndex >= this.mAverageEUOutput.length) {
+ this.mAverageEUOutputIndex = 0;
+ }
+ this.mAverageEUInput[this.mAverageEUInputIndex] = 0;
+ this.mAverageEUOutput[this.mAverageEUOutputIndex] = 0;
+ }
+ }
+ case 9 : {
+ ++tCode;
+ this.onPreTick(this, this.mTickTimer);
+ if (!this.hasValidMetaTileEntity()) {
+ this.mRunningThroughTick = false;
+ return;
+ }
+ }
+ case 10 : {
+ ++tCode;
+ if (!aSideServer) {
+ break Label_1743;
+ }
+
+ if (this.xCoord != this.oX || this.yCoord != this.oY || this.zCoord != this.oZ) {
+ this.oX = this.xCoord;
+ this.oY = this.yCoord;
+ this.oZ = this.zCoord;
+ this.issueClientUpdate();
+ this.clearTileEntityBuffer();
+ }
+ if (this.mFacing != this.oFacing) {
+ this.oFacing = this.mFacing;
+ this.issueBlockUpdate();
+ }
+ if (this.mTickTimer > 20L && this.isElectric()) {
+ this.mAcceptedAmperes = 0L;
+ if (this.getOutputVoltage() != this.oOutput) {
+ this.oOutput = this.getOutputVoltage();
+ }
+ if (this.isEnetOutput() || this.isEnetInput()) {
+ for (byte i = 0; i < 6; ++i) {
+ boolean temp = this.isEnergyInputSide(i);
+ if (temp != this.mActiveEUInputs[i]) {
+ this.mActiveEUInputs[i] = temp;
+ }
+ temp = this.isEnergyOutputSide(i);
+ if (temp != this.mActiveEUOutputs[i]) {
+ this.mActiveEUOutputs[i] = temp;
+ }
+ }
+ }
+ if (this.isEnetOutput() && this.oOutput > 0L) {
+ final long tOutputVoltage = Math.max(this.oOutput,
+ this.oOutput + (1 << GT_Utility.getTier(this.oOutput)));
+ final long tUsableAmperage = Math.min(this.getOutputAmperage(),
+ (this.getStoredEU() - this.getMinimumStoredEU())
+ / tOutputVoltage);
+ if (tUsableAmperage > 0L) {
+ final long tEU = tOutputVoltage * IEnergyConnected.Util.emitEnergyToNetwork(
+ this.oOutput, tUsableAmperage, (IEnergyConnected) this);
+ final int[] mAverageEUOutput = this.mAverageEUOutput;
+ final int mAverageEUOutputIndex = this.mAverageEUOutputIndex;
+ mAverageEUOutput[mAverageEUOutputIndex] += (int) tEU;
+ this.decreaseStoredEU(tEU, true);
+ }
+ }
+ if (this.getEUCapacity() > 0L) {
+ if (GregTech_API.sMachineFireExplosions && this.getRandomNumber(1000) == 0) {
+ final Block tBlock = this.getBlockAtSide((byte) this.getRandomNumber(6));
+ if (tBlock instanceof BlockFire) {
+ this.doEnergyExplosion();
+ }
+ }
+ if (!this.hasValidMetaTileEntity()) {
+ this.mRunningThroughTick = false;
+ return;
+ }
+ }
+ }
+ if (!this.hasValidMetaTileEntity()) {
+ this.mRunningThroughTick = false;
+ return;
+ }
+ break Label_1743;
+ }
+ case 13 : {
+ ++tCode;
+ this.updateStatus();
+ if (!this.hasValidMetaTileEntity()) {
+ this.mRunningThroughTick = false;
+ return;
+ }
+ }
+ case 14 : {
+ ++tCode;
+ this.onPostTick((IGregTechTileEntity) this, this.mTickTimer);
+ if (!this.hasValidMetaTileEntity()) {
+ this.mRunningThroughTick = false;
+ return;
+ }
+ }
+ case 15 : {
+ ++tCode;
+ if (!aSideServer) {
+ break;
+ }
+ if (this.mTickTimer % 10L == 0L && this.mSendClientData) {
+ final IGT_NetworkHandler nw = GT_Values.NW;
+ final World worldObj = this.worldObj;
+ final int xCoord = this.xCoord;
+ final short n = (short) this.yCoord;
+ final int zCoord = this.zCoord;
+ final short mid = this.mID;
+ final int n2 = this.mCoverSides[0];
+ final int n3 = this.mCoverSides[1];
+ final int n4 = this.mCoverSides[2];
+ final int n5 = this.mCoverSides[3];
+ final int n6 = this.mCoverSides[4];
+ final int n7 = this.mCoverSides[5];
+ final byte oTextureData = (byte) ((this.mFacing & 0x7) | (this.mActive ? 8 : 0)
+ | (this.mRedstone ? 16 : 0) | (this.mLockUpgrade ? 32 : 0));
+ this.oTextureData = oTextureData;
+ final byte oTexturePage = (byte) ((this.hasValidMetaTileEntity()
+ && this.mMetaTileEntity instanceof GT_MetaTileEntity_Hatch)
+ ? ((GT_MetaTileEntity_Hatch) this.mMetaTileEntity).getTexturePage()
+ : 0);
+ this.oTexturePage = oTexturePage;
+ final byte oUpdateData = (byte) (this.hasValidMetaTileEntity()
+ ? this.mMetaTileEntity.getUpdateData()
+ : 0);
+ this.oUpdateData = oUpdateData;
+ final byte oRedstoneData = (byte) (((this.mSidedRedstone[0] > 0) ? 1 : 0)
+ | ((this.mSidedRedstone[1] > 0) ? 2 : 0)
+ | ((this.mSidedRedstone[2] > 0) ? 4 : 0)
+ | ((this.mSidedRedstone[3] > 0) ? 8 : 0)
+ | ((this.mSidedRedstone[4] > 0) ? 16 : 0)
+ | ((this.mSidedRedstone[5] > 0) ? 32 : 0));
+ this.oRedstoneData = oRedstoneData;
+ final byte mColor = this.mColor;
+ this.oColor = mColor;
+ nw.sendPacketToAllPlayersInRange(worldObj,
+ (GT_Packet) new GT_Packet_TileEntity(xCoord, n, zCoord, mid, n2, n3, n4, n5, n6,
+ n7, oTextureData, oTexturePage, oUpdateData, oRedstoneData, mColor),
+ this.xCoord, this.zCoord);
+ this.mSendClientData = false;
+ }
+ if (this.mTickTimer > 10L) {
+ byte tData = (byte) ((this.mFacing & 0x7) | (this.mActive ? 8 : 0)
+ | (this.mRedstone ? 16 : 0) | (this.mLockUpgrade ? 32 : 0));
+ if (tData != this.oTextureData) {
+ this.sendBlockEvent((byte) 0, this.oTextureData = tData);
+ }
+ tData = this.mMetaTileEntity.getUpdateData();
+ if (tData != this.oUpdateData) {
+ this.sendBlockEvent((byte) 1, this.oUpdateData = tData);
+ }
+ if (this.mMetaTileEntity instanceof GT_MetaTileEntity_Hatch) {
+ tData = ((GT_MetaTileEntity_Hatch) this.mMetaTileEntity).getTexturePage();
+ if (tData != this.oTexturePage) {
+ final byte b = 1;
+ final byte oTexturePage2 = tData;
+ this.oTexturePage = oTexturePage2;
+ this.sendBlockEvent(b, (byte) (oTexturePage2 | 0x80));
+ }
+ }
+ if (this.mColor != this.oColor) {
+ this.sendBlockEvent((byte) 2, this.oColor = this.mColor);
+ }
+ tData = (byte) (((this.mSidedRedstone[0] > 0) ? 1 : 0)
+ | ((this.mSidedRedstone[1] > 0) ? 2 : 0)
+ | ((this.mSidedRedstone[2] > 0) ? 4 : 0)
+ | ((this.mSidedRedstone[3] > 0) ? 8 : 0)
+ | ((this.mSidedRedstone[4] > 0) ? 16 : 0)
+ | ((this.mSidedRedstone[5] > 0) ? 32 : 0));
+ if (tData != this.oRedstoneData) {
+ this.sendBlockEvent((byte) 3, this.oRedstoneData = tData);
+ }
+ if (this.mLightValue != this.oLightValue) {
+ this.worldObj.setLightValue(EnumSkyBlock.Block, this.xCoord, this.yCoord,
+ this.zCoord, (int) this.mLightValue);
+ this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord, this.yCoord,
+ this.zCoord);
+ this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord + 1, this.yCoord,
+ this.zCoord);
+ this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord - 1, this.yCoord,
+ this.zCoord);
+ this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord, this.yCoord + 1,
+ this.zCoord);
+ this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord, this.yCoord - 1,
+ this.zCoord);
+ this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord, this.yCoord,
+ this.zCoord + 1);
+ this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord, this.yCoord,
+ this.zCoord - 1);
+ this.issueTextureUpdate();
+ this.sendBlockEvent((byte) 7, this.oLightValue = this.mLightValue);
+ }
+ }
+ if (this.mNeedsBlockUpdate) {
+ this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord,
+ this.getBlockOffset(0, 0, 0));
+ this.mNeedsBlockUpdate = false;
+ break;
+ }
+ break;
+ }
+ }
+ }
+ }
+ } catch (Throwable e) {
+ e.printStackTrace(GT_Log.err);
+ }
+ if (aSideServer && this.hasValidMetaTileEntity()) {
+ tTime = System.currentTimeMillis() - tTime;
+ if (this.mTimeStatistics.length > 0) {
+ this.mTimeStatistics[this.mTimeStatisticsIndex = (this.mTimeStatisticsIndex + 1)
+ % this.mTimeStatistics.length] = (int) tTime;
+ }
+ if (tTime > 0L && tTime > GregTech_API.MILLISECOND_THRESHOLD_UNTIL_LAG_WARNING && this.mTickTimer > 1000L
+ && this.getMetaTileEntity().doTickProfilingMessageDuringThisTick()
+ && this.mLagWarningCount++ < 10) {
+ System.out.println("WARNING: Possible Lag Source at [" + this.xCoord + ", " + this.yCoord + ", "
+ + this.zCoord + "] in Dimension " + this.worldObj.provider.dimensionId + " with " + tTime
+ + "ms caused by an instance of " + this.getMetaTileEntity().getClass());
+ }
+ }
+ final boolean mWorkUpdate = false;
+ this.mRunningThroughTick = mWorkUpdate;
+ this.mInventoryChanged = mWorkUpdate;
+ this.mWorkUpdate = mWorkUpdate;*/
+ }
+
+ private void onFirstTick(TilePoweredGT tilePoweredGT) {
+ // TODO Auto-generated method stub
+
+ }
+
+ private boolean hasValidMetaTileEntity() {
+ return Utils.invertBoolean(isDead());
+ }
+
+ public void issueBlockUpdate() {
+ this.mNeedsBlockUpdate = true;
+ }
+
+ public void issueClientUpdate() {
+ this.mSendClientData = true;
+ }
+
+ public Packet getDescriptionPacket() {
+ this.issueClientUpdate();
+ return null;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java
index fea313917d..cafbbbe196 100644
--- a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java
+++ b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java
@@ -2,13 +2,6 @@ package gtPlusPlus.core.tileentities.general;
import java.util.Random;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.inventories.InventoryFishTrap;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
@@ -17,6 +10,15 @@ import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
+
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.inventories.InventoryFishTrap;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.common.FishingHooks;
public class TileEntityFishTrap extends TileEntity implements ISidedInventory {
@@ -243,13 +245,13 @@ public class TileEntityFishTrap extends TileEntity implements ISidedInventory {
calculateTickrate = 0;
}
else if ((this.waterSides > 2) && (this.waterSides < 4)) {
- calculateTickrate = 3600;
+ calculateTickrate = 4800;
}
else if ((this.waterSides >= 4) && (this.waterSides < 6)) {
- calculateTickrate = 2400;
+ calculateTickrate = 3600;
}
else if (this.waterSides == 6) {
- calculateTickrate = 1200;
+ calculateTickrate = 2400;
}
this.baseTickRate = calculateTickrate;
}
@@ -387,7 +389,7 @@ public class TileEntityFishTrap extends TileEntity implements ISidedInventory {
@Override
public String getInventoryName() {
- return this.hasCustomInventoryName() ? this.customName : "container.fishrap";
+ return this.hasCustomInventoryName() ? this.customName : "container.fishtrap";
}
@Override
diff --git a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityHeliumGenerator.java b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityHeliumGenerator.java
index 913f24f1b5..8a2d9d9f51 100644
--- a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityHeliumGenerator.java
+++ b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityHeliumGenerator.java
@@ -1,15 +1,16 @@
package gtPlusPlus.core.tileentities.general;
-import gregtech.api.enums.GT_Values;
-import gtPlusPlus.core.inventories.InventoryHeliumGenerator;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
+import gregtech.api.enums.GT_Values;
+
+import gtPlusPlus.core.inventories.InventoryHeliumGenerator;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class TileEntityHeliumGenerator extends TileEntity{
private int tickCount = 0;
diff --git a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityInfiniteFluid.java b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityInfiniteFluid.java
index 329bbd73b8..9ddf2065bc 100644
--- a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityInfiniteFluid.java
+++ b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityInfiniteFluid.java
@@ -5,6 +5,7 @@ import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
+
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.*;
diff --git a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityReverter.java b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityReverter.java
index 7f5c0ed8da..6e18834786 100644
--- a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityReverter.java
+++ b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityReverter.java
@@ -2,11 +2,12 @@ package gtPlusPlus.core.tileentities.general;
import java.util.Random;
-import gtPlusPlus.core.block.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.tileentity.TileEntity;
+import gtPlusPlus.core.block.ModBlocks;
+
public class TileEntityReverter extends TileEntity
diff --git a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityXpConverter.java b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityXpConverter.java
index d94f4704d9..403d331151 100644
--- a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityXpConverter.java
+++ b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityXpConverter.java
@@ -2,22 +2,18 @@ package gtPlusPlus.core.tileentities.general;
import org.lwjgl.input.Keyboard;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.enchanting.EnchantingUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.minecraft.EnchantingUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidEvent;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTank;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
+import net.minecraftforge.fluids.*;
public class TileEntityXpConverter extends TileEntity implements IFluidHandler {
diff --git a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java
index 252b92984e..1d6170f492 100644
--- a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java
+++ b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java
@@ -1,25 +1,29 @@
package gtPlusPlus.core.tileentities.machines;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
import java.util.Map.Entry;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.inventory.ISidedInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.ItemList;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.container.Container_ModularityTable;
import gtPlusPlus.core.inventories.modulartable.InventoryModularMain;
import gtPlusPlus.core.inventories.modulartable.InventoryModularOutput;
import gtPlusPlus.core.item.bauble.ModularBauble;
import gtPlusPlus.core.tileentities.base.TileEntityBase;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils.BT;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils.Modifiers;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Items;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils.BT;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils.Modifiers;
public class TileEntityModularityTable extends TileEntityBase implements ISidedInventory{
diff --git a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityProjectTable.java b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityProjectTable.java
index d76b66b4cd..503c955b84 100644
--- a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityProjectTable.java
+++ b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityProjectTable.java
@@ -3,32 +3,33 @@ package gtPlusPlus.core.tileentities.machines;
import java.util.List;
import java.util.Vector;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.InventoryCrafting;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+
import gregtech.api.enums.ItemList;
import gregtech.common.items.GT_MetaGenerated_Item_01;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.container.Container_ProjectTable;
import gtPlusPlus.core.inventories.projecttable.InventoryProjectMain;
import gtPlusPlus.core.inventories.projecttable.InventoryProjectOutput;
-import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.bauble.ModularBauble;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils.BT;
-import gtPlusPlus.core.util.nbt.ModularArmourUtils.Modifiers;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils.BT;
+import gtPlusPlus.core.util.minecraft.ModularArmourUtils.Modifiers;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems;
-import gtPlusPlus.core.util.nbt.NBTUtils;
import ic2.api.network.INetworkDataProvider;
import ic2.api.network.INetworkUpdateListener;
import ic2.api.tile.IWrenchable;
import ic2.core.IC2;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Items;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.InventoryCrafting;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
public class TileEntityProjectTable extends TileEntity implements INetworkDataProvider, INetworkUpdateListener, IWrenchable{
diff --git a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java
index 712ee1d5cc..d766d0d02e 100644
--- a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java
+++ b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java
@@ -1,13 +1,14 @@
package gtPlusPlus.core.tileentities.machines;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gtPlusPlus.core.container.Container_TradeTable;
import gtPlusPlus.core.inventories.tradetable.InventoryTradeMain;
import gtPlusPlus.core.inventories.tradetable.InventoryTradeOutput;
import gtPlusPlus.core.tileentities.base.TileEntityBase;
-import gtPlusPlus.core.util.nbt.NBTUtils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
public class TileEntityTradeTable extends TileEntityBase {
@@ -115,7 +116,7 @@ public class TileEntityTradeTable extends TileEntityBase {
@Override
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
- return null;
+ return new int[] {};
}
@Override
diff --git a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbench.java b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbench.java
index 0657b6d886..776a0b2b25 100644
--- a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbench.java
+++ b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbench.java
@@ -3,11 +3,6 @@ package gtPlusPlus.core.tileentities.machines;
import java.util.List;
import java.util.Vector;
-import gtPlusPlus.core.inventories.*;
-import ic2.api.network.INetworkDataProvider;
-import ic2.api.network.INetworkUpdateListener;
-import ic2.api.tile.IWrenchable;
-import ic2.core.IC2;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.InventoryCraftResult;
@@ -16,6 +11,14 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
+import gtPlusPlus.core.inventories.InventoryWorkbenchChest;
+import gtPlusPlus.core.inventories.InventoryWorkbenchHoloSlots;
+import gtPlusPlus.core.inventories.InventoryWorkbenchTools;
+import ic2.api.network.INetworkDataProvider;
+import ic2.api.network.INetworkUpdateListener;
+import ic2.api.tile.IWrenchable;
+import ic2.core.IC2;
+
public class TileEntityWorkbench extends TileEntity implements INetworkDataProvider, INetworkUpdateListener, IWrenchable{
//Credit to NovaViper in http://www.minecraftforge.net/forum/index.php?topic=26439.0 - Helped me restructure my Inventory system and now the crafting matrix works better.
diff --git a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbenchAdvanced.java b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbenchAdvanced.java
index fdf89e523b..34d4b99201 100644
--- a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbenchAdvanced.java
+++ b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityWorkbenchAdvanced.java
@@ -3,6 +3,14 @@ package gtPlusPlus.core.tileentities.machines;
import java.util.List;
import java.util.Vector;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.InventoryCraftResult;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+
import gtPlusPlus.core.inventories.*;
import ic2.api.energy.event.EnergyTileLoadEvent;
import ic2.api.energy.event.EnergyTileUnloadEvent;
@@ -11,13 +19,6 @@ import ic2.api.network.INetworkDataProvider;
import ic2.api.network.INetworkUpdateListener;
import ic2.api.tile.IWrenchable;
import ic2.core.IC2;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.InventoryCraftResult;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.ForgeDirection;
diff --git a/src/Java/gtPlusPlus/core/util/BaseHandler.java b/src/Java/gtPlusPlus/core/util/BaseHandler.java
deleted file mode 100644
index 9457dc363f..0000000000
--- a/src/Java/gtPlusPlus/core/util/BaseHandler.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package gtPlusPlus.core.util;
-
-public abstract class BaseHandler {
-
- public abstract void preInit();
-
- public abstract void init();
-
- public abstract void postInit();
-
-}
diff --git a/src/Java/gtPlusPlus/core/util/ClassUtils.java b/src/Java/gtPlusPlus/core/util/ClassUtils.java
deleted file mode 100644
index 8f55fca299..0000000000
--- a/src/Java/gtPlusPlus/core/util/ClassUtils.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package gtPlusPlus.core.util;
-
-import java.lang.reflect.*;
-
-public class ClassUtils {
-
- /*
- * @ if (isPresent("com.optionaldependency.DependencyClass")) { // This
- * block will never execute when the dependency is not present // There is
- * therefore no more risk of code throwing NoClassDefFoundException.
- * executeCodeLinkingToDependency(); }
- */
- public static boolean isPresent(final String className) {
- try {
- Class.forName(className);
- return true;
- } catch (final Throwable ex) {
- // Class or one of its dependencies is not present...
- return false;
- }
- }
-
- @SuppressWarnings("rawtypes")
- public static Method getMethodViaReflection(final Class<?> lookupClass, final String methodName,
- final boolean invoke) throws Exception {
- final Class<? extends Class> lookup = lookupClass.getClass();
- final Method m = lookup.getDeclaredMethod(methodName);
- m.setAccessible(true);// Abracadabra
- if (invoke) {
- m.invoke(lookup);// now its OK
- }
- return m;
- }
-
- public static Class<?> getNonPublicClass(final String className) {
- Class<?> c = null;
- try {
- c = Class.forName(className);
- } catch (final ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- // full package name --------^^^^^^^^^^
- // or simpler without Class.forName:
- // Class<package1.A> c = package1.A.class;
-
- if (null != c) {
- // In our case we need to use
- Constructor<?> constructor = null;
- try {
- constructor = c.getDeclaredConstructor();
- } catch (NoSuchMethodException | SecurityException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- // note: getConstructor() can return only public constructors
- // so we needed to search for any Declared constructor
-
- // now we need to make this constructor accessible
- if (null != constructor) {
- constructor.setAccessible(true);// ABRACADABRA!
-
- try {
- final Object o = constructor.newInstance();
- return (Class<?>) o;
- } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
- | InvocationTargetException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- return null;
- }
-
-}
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index 0909e4bf2d..79e946c45d 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -2,29 +2,33 @@ package gtPlusPlus.core.util;
import java.awt.Color;
import java.awt.Graphics;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.ObjectOutput;
-import java.io.ObjectOutputStream;
+import java.io.*;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Timer;
-import java.util.TimerTask;
+import java.util.*;
import javax.xml.bind.DatatypeConverter;
import org.apache.commons.lang3.EnumUtils;
import cpw.mods.fml.common.FMLCommonHandler;
+
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.entity.Entity;
+import net.minecraft.item.Item.ToolMaterial;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.nbt.NBTTagString;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.IChatComponent;
+import net.minecraft.world.World;
+
import gregtech.GT_Mod;
import gregtech.api.enums.Materials;
import gregtech.api.enums.TC_Aspects;
@@ -32,32 +36,22 @@ import gregtech.api.enums.TC_Aspects.TC_AspectStack;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.GTplusplus;
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.nbt.NBTUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.core.util.sys.SystemUtils;
import ic2.core.Ic2Items;
import ic2.core.init.InternalName;
import ic2.core.item.resources.ItemCell;
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.Item.ToolMaterial;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.nbt.NBTTagString;
-import net.minecraft.server.MinecraftServer;
-import net.minecraft.util.ChatComponentText;
-import net.minecraft.util.IChatComponent;
-import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.fluids.FluidContainerRegistry;
@@ -573,34 +567,6 @@ public class Utils {
}
- public static int calculateVoltageTier(final long Voltage) {
- int V;
- if (Voltage == 8) {
- V = 0;
- } else if (Voltage == 32) {
- V = 1;
- } else if (Voltage == 128) {
- V = 2;
- } else if (Voltage == 512) {
- V = 3;
- } else if (Voltage == 2048) {
- V = 4;
- } else if (Voltage == 8196) {
- V = 5;
- } else if (Voltage == 32768) {
- V = 6;
- } else if (Voltage == 131072) {
- V = 7;
- } else if (Voltage == 524288) {
- V = 8;
- } else if (Voltage == Integer.MAX_VALUE) {
- V = 9;
- } else {
- V = -1;
- }
- return V;
- }
-
public static String[] parseVersion(final String version) {
return parseVersion(version, "//.");
}
diff --git a/src/Java/gtPlusPlus/core/util/UtilsChatFormatting.java b/src/Java/gtPlusPlus/core/util/UtilsChatFormatting.java
deleted file mode 100644
index a7945311d6..0000000000
--- a/src/Java/gtPlusPlus/core/util/UtilsChatFormatting.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package gtPlusPlus.core.util;
-
-import java.util.*;
-import java.util.regex.Pattern;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public enum UtilsChatFormatting {
- BLACK('0'), DARK_BLUE('1'), DARK_GREEN('2'), DARK_AQUA('3'), DARK_RED('4'), DARK_PURPLE('5'), GOLD('6'), GRAY(
- '7'), DARK_GRAY('8'), BLUE('9'), GREEN('a'), AQUA('b'), RED('c'), LIGHT_PURPLE('d'), YELLOW('e'), WHITE(
- 'f'), OBFUSCATED('k', true), BOLD('l',
- true), STRIKETHROUGH('m', true), UNDERLINE('n', true), ITALIC('o', true), RESET('r');
- /**
- * Maps a formatting code (e.g., 'f') to its corresponding enum value (e.g.,
- * WHITE).
- */
- private static final Map<Character, UtilsChatFormatting> formattingCodeMapping = new HashMap<>();
- /**
- * Maps a name (e.g., 'underline') to its corresponding enum value (e.g.,
- * UNDERLINE).
- */
- private static final Map<String, UtilsChatFormatting> nameMapping = new HashMap<>();
- /**
- * Matches formatting codes that indicate that the client should treat the
- * following text as bold, recolored, obfuscated, etc.
- */
- private static final Pattern formattingCodePattern = Pattern
- .compile("(?i)" + String.valueOf('\u00a7') + "[0-9A-FK-OR]");
- /** The formatting code that produces this format. */
- private final char formattingCode;
- private final boolean fancyStyling;
- /**
- * The control string (section sign + formatting code) that can be inserted
- * into client-side text to display subsequent text in this format.
- */
- private final String controlString;
-
- private UtilsChatFormatting(final char p_i1336_3_) {
- this(p_i1336_3_, false);
- }
-
- private UtilsChatFormatting(final char p_i1337_3_, final boolean p_i1337_4_) {
- this.formattingCode = p_i1337_3_;
- this.fancyStyling = p_i1337_4_;
- this.controlString = "\u00a7" + p_i1337_3_;
- }
-
- /**
- * Gets the formatting code that produces this format.
- */
- public char getFormattingCode() {
- return this.formattingCode;
- }
-
- /**
- * False if this is just changing the color or resetting; true otherwise.
- */
- public boolean isFancyStyling() {
- return this.fancyStyling;
- }
-
- /**
- * Checks if typo is a color.
- */
- public boolean isColor() {
- return !this.fancyStyling && (this != RESET);
- }
-
- /**
- * Gets the friendly name of this value.
- */
- public String getFriendlyName() {
- return this.name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return this.controlString;
- }
-
- /**
- * Returns a copy of the given string, with formatting codes stripped away.
- */
- @SideOnly(Side.CLIENT)
- public static String getTextWithoutFormattingCodes(final String p_110646_0_) {
- return p_110646_0_ == null ? null : formattingCodePattern.matcher(p_110646_0_).replaceAll("");
- }
-
- /**
- * Gets a value by its friendly name; null if the given name does not map to
- * a defined value.
- */
- public static UtilsChatFormatting getValueByName(final String p_96300_0_) {
- return p_96300_0_ == null ? null : (UtilsChatFormatting) nameMapping.get(p_96300_0_.toLowerCase());
- }
-
- /**
- * Gets all the valid values. Args: @param par0: Whether or not to include
- * color values. @param par1: Whether or not to include fancy-styling values
- * (anything that isn't a color value or the "reset" value).
- */
- public static Collection<String> getValidValues(final boolean p_96296_0_, final boolean p_96296_1_) {
- final ArrayList<String> arraylist = new ArrayList<>();
- final UtilsChatFormatting[] aenumchatformatting = values();
- final int i = aenumchatformatting.length;
-
- for (int j = 0; j < i; ++j) {
- final UtilsChatFormatting enumchatformatting = aenumchatformatting[j];
-
- if ((!enumchatformatting.isColor() || p_96296_0_) && (!enumchatformatting.isFancyStyling() || p_96296_1_)) {
- arraylist.add(enumchatformatting.getFriendlyName());
- }
- }
-
- return arraylist;
- }
-
- static {
- final UtilsChatFormatting[] var0 = values();
- final int var1 = var0.length;
-
- for (int var2 = 0; var2 < var1; ++var2) {
- final UtilsChatFormatting var3 = var0[var2];
- formattingCodeMapping.put(Character.valueOf(var3.getFormattingCode()), var3);
- nameMapping.put(var3.getFriendlyName(), var3);
- }
- }
-} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/util/UtilsRarity.java b/src/Java/gtPlusPlus/core/util/UtilsRarity.java
deleted file mode 100644
index 54f4ba8c07..0000000000
--- a/src/Java/gtPlusPlus/core/util/UtilsRarity.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package gtPlusPlus.core.util;
-
-import net.minecraft.util.EnumChatFormatting;
-
-public enum UtilsRarity {
- T1_poor(EnumChatFormatting.GRAY, "Poor"), T2_normal(EnumChatFormatting.WHITE, "Common"), T3_uncommon(
- EnumChatFormatting.GREEN,
- "Uncommon"), T4_magic(EnumChatFormatting.BLUE, "Magic"), T5_rare(EnumChatFormatting.LIGHT_PURPLE,
- "Rare"), T6_epic(EnumChatFormatting.YELLOW, "Epic"), T8_unique(EnumChatFormatting.GOLD, "Unique");
-
- public final EnumChatFormatting rarityColor;
- public final String rarityName;
-
- private UtilsRarity(final EnumChatFormatting rarity, final String name) {
- this.rarityColor = rarity;
- this.rarityName = name;
- }
-} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/util/UtilsText.java b/src/Java/gtPlusPlus/core/util/UtilsText.java
deleted file mode 100644
index 0db7dd35a2..0000000000
--- a/src/Java/gtPlusPlus/core/util/UtilsText.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package gtPlusPlus.core.util;
-
-public enum UtilsText {
-
- blue('1'), green('2'), teal('3'), maroon('4'), purple('5'), orange('6'), lightGray('7'), darkGray('8'), lightBlue(
- '9'), black('0'), lime('a'), aqua('b'), red('c'), pink('d'), yellow('e'), white('f');
-
- private char colourValue;
-
- private UtilsText(final char value) {
- this.colourValue = value;
- }
-
- public String colour() {
- return "�" + this.colourValue;
- }
-
-}
diff --git a/src/Java/gtPlusPlus/core/util/array/BlockPos.java b/src/Java/gtPlusPlus/core/util/array/BlockPos.java
deleted file mode 100644
index b625ebec54..0000000000
--- a/src/Java/gtPlusPlus/core/util/array/BlockPos.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package gtPlusPlus.core.util.array;
-
-public class BlockPos {
-
- public final int xPos;
- public final int yPos;
- public final int zPos;
- public final int dim;
-
- public BlockPos(int x, int y, int z){
- this(x, y, z, 0);
- }
-
- public BlockPos(int x, int y, int z, int dim){
- this.xPos = x;
- this.yPos = y;
- this.zPos = z;
- this.dim = dim;
- }
-
- public String getLocationString() {
- return "[X: "+this.xPos+"][Y: "+this.yPos+"][Z: "+this.zPos+"]";
- }
-
-}
diff --git a/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java b/src/Java/gtPlusPlus/core/util/data/ArrayUtils.java
index fbab888cbf..a60f44d95d 100644
--- a/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java
+++ b/src/Java/gtPlusPlus/core/util/data/ArrayUtils.java
@@ -1,11 +1,8 @@
-package gtPlusPlus.core.util.array;
+package gtPlusPlus.core.util.data;
-import net.minecraft.item.ItemStack;
+import java.util.*;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
+import net.minecraft.item.ItemStack;
public class ArrayUtils {
@@ -30,5 +27,17 @@ public class ArrayUtils {
list.removeAll(Collections.singleton((ItemStack)null));
return list.toArray(new ItemStack[list.size()]);
}
+
+ @SuppressWarnings("unchecked")
+ public static <T> Set<T> combineSetData(Set<T> S, Set<T> J) {
+ Set<T> mData = new HashSet<T>();
+ T[] array1 = (T[]) S.toArray();
+ Collections.addAll(mData, array1);
+ T[] array2 = (T[]) J.toArray();
+ Collections.addAll(mData, array2);
+ return mData;
+ }
+
+
}
diff --git a/src/Java/gtPlusPlus/core/util/data/EnumUtils.java b/src/Java/gtPlusPlus/core/util/data/EnumUtils.java
new file mode 100644
index 0000000000..9c96b61876
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/util/data/EnumUtils.java
@@ -0,0 +1,48 @@
+package gtPlusPlus.core.util.data;
+
+import com.google.common.base.Enums;
+import com.google.common.base.Optional;
+
+public class EnumUtils {
+
+ /**
+ * Returns the value of an Enum if it exists.
+ * If value is not found, case-insensitive search will occur.
+ * If value still not found, an IllegalArgumentException is thrown.
+ **/
+ public static <T extends Enum<T>> T getValue(Class<T> enumeration, String name) {
+ Optional<T> j = Enums.getIfPresent(enumeration, name);
+ T VALUE = j.get();
+ if (j.get() == null) {
+ VALUE = valueOfIgnoreCase(enumeration, name);
+ }
+ return VALUE;
+ }
+
+ /**
+ * Finds the value of the given enumeration by name, case-insensitive.
+ * Throws an IllegalArgumentException if no match is found.
+ **/
+ private static <T extends Enum<T>> T valueOfIgnoreCase(Class<T> enumeration, String name) {
+
+ for (T enumValue : enumeration.getEnumConstants()) {
+ if (enumValue.name().equalsIgnoreCase(name)) {
+ return enumValue;
+ }
+ }
+
+ throw new IllegalArgumentException(String.format(
+ "There is no value with name '%s' in Enum %s",
+ name, enumeration.getName()
+ ));
+ }
+
+ public static Object getValue(Class class1, String materialName, boolean bool) {
+ if (Enum.class.isInstance(class1)){
+ return getValue(class1, materialName);
+ }
+ return null;
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/util/data/LocaleUtils.java b/src/Java/gtPlusPlus/core/util/data/LocaleUtils.java
new file mode 100644
index 0000000000..d1a35a661b
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/util/data/LocaleUtils.java
@@ -0,0 +1,90 @@
+package gtPlusPlus.core.util.data;
+
+import java.io.*;
+
+import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.ModContainer;
+import cpw.mods.fml.common.registry.GameData;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
+public class LocaleUtils {
+
+ public static boolean generateFakeLocaleFile() {
+ for (ModContainer modcontainer : Loader.instance().getModList()){
+ if (modcontainer.getModId().toLowerCase().equals("miscutils")) {
+ String S = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
+ writeToFile(S);
+ dumpItemsAndBlocksForModContainer(modcontainer);
+ }
+ }
+ return true;
+ }
+
+ public static boolean dumpItemsAndBlocksForModContainer(ModContainer mod) {
+ writeToFile("Dumping Items from "+mod.getModId()+".");
+ for (Object C : GameData.getItemRegistry()) {
+
+ try {
+
+ if (C != null) {
+ if (C instanceof Item) {
+ Item R = (Item) C;
+ ItemStack IS = ItemUtils.getSimpleStack(R);
+ String modid = ItemUtils.getModId(IS);
+ if (modid.equals("miscutils") || modid.equals("ToxicEverglades")) {
+ String S = "["+modid+"] "+IS.getUnlocalizedName()+".name=";
+ writeToFile(S);
+ }
+ }
+ }
+
+ }
+ catch (Throwable T) {}
+
+ }
+ writeToFile("Dumping Blocks from "+mod.getModId()+".");
+ for (Object B : GameData.getBlockRegistry()) {
+
+ try {
+
+ if (B != null) {
+ if (B instanceof Block) {
+ Block R = (Block) B;
+ ItemStack IS = ItemUtils.getSimpleStack(R);
+ String modid = ItemUtils.getModId(IS);
+ if (modid.equals("miscutils") || modid.equals("ToxicEverglades")) {
+ String S = "["+modid+"] "+IS.getUnlocalizedName()+".name=";
+ writeToFile(S);
+ }
+ }
+ }
+
+ }
+ catch (Throwable T) {}
+
+ }
+
+
+ return true;
+ }
+
+ public static void writeToFile(String S) {
+ try {
+ File F = new File(Utils.getMcDir(), "config/GTplusplus/en_US.lang");
+ BufferedWriter writer;
+ writer = new BufferedWriter(new FileWriter(F, true));
+ writer.write(S);
+ writer.newLine();
+ writer.close();
+ }
+ catch (IOException e) {}
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/util/LoggingUtils.java b/src/Java/gtPlusPlus/core/util/data/LoggingUtils.java
index 6aae8e52ec..8415ab32fe 100644
--- a/src/Java/gtPlusPlus/core/util/LoggingUtils.java
+++ b/src/Java/gtPlusPlus/core/util/data/LoggingUtils.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util;
+package gtPlusPlus.core.util.data;
import java.io.*;
import java.util.Date;
diff --git a/src/Java/gtPlusPlus/core/util/StringUtils.java b/src/Java/gtPlusPlus/core/util/data/StringUtils.java
index a4679d36a1..3ad5f3bb8b 100644
--- a/src/Java/gtPlusPlus/core/util/StringUtils.java
+++ b/src/Java/gtPlusPlus/core/util/data/StringUtils.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util;
+package gtPlusPlus.core.util.data;
public class StringUtils {
@@ -94,4 +94,20 @@ public class StringUtils {
return false;
}
+ //Can call this Enum for formatting.
+ public static enum TextUtils {
+ blue('1'), green('2'), teal('3'), maroon('4'), purple('5'), orange('6'), lightGray('7'), darkGray('8'), lightBlue(
+ '9'), black('0'), lime('a'), aqua('b'), red('c'), pink('d'), yellow('e'), white('f');
+
+ private char colourValue;
+ private TextUtils(final char value) {
+ this.colourValue = value;
+ }
+ public String colour() {
+ return getFormatter() + this.colourValue;
+ }
+ private String getFormatter() {
+ return "\u00A7"; // Returns §.
+ }
+ }
}
diff --git a/src/Java/gtPlusPlus/core/util/uuid/UUIDUtils.java b/src/Java/gtPlusPlus/core/util/data/UUIDUtils.java
index 13eaff5bc8..d6b32314b1 100644
--- a/src/Java/gtPlusPlus/core/util/uuid/UUIDUtils.java
+++ b/src/Java/gtPlusPlus/core/util/data/UUIDUtils.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.uuid;
+package gtPlusPlus.core.util.data;
import java.nio.ByteBuffer;
import java.util.UUID;
diff --git a/src/Java/gtPlusPlus/core/util/debug/DEBUG_ITEM_ShapeSpawner.java b/src/Java/gtPlusPlus/core/util/debug/DEBUG_ITEM_ShapeSpawner.java
index 35c8f5caad..a40b025dfc 100644
--- a/src/Java/gtPlusPlus/core/util/debug/DEBUG_ITEM_ShapeSpawner.java
+++ b/src/Java/gtPlusPlus/core/util/debug/DEBUG_ITEM_ShapeSpawner.java
@@ -5,14 +5,16 @@ import static net.minecraftforge.event.entity.player.PlayerInteractEvent.Action.
import java.util.List;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.BaseItemGeneric;
+
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.BaseItemGeneric;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
public class DEBUG_ITEM_ShapeSpawner extends BaseItemGeneric{
diff --git a/src/Java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java b/src/Java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java
index d31fb10b84..2e46b171f9 100644
--- a/src/Java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java
+++ b/src/Java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java
@@ -4,9 +4,16 @@ import static gregtech.api.enums.GT_Values.V;
import java.util.ArrayList;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.gui.GT_Container_MultiMachine;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -15,13 +22,12 @@ import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.util.GT_Utility;
import gregtech.common.items.GT_MetaGenerated_Tool_01;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
+
import net.minecraftforge.fluids.FluidStack;
public abstract class DEBUG_MULTIBLOCK_ShapeSpawner extends MetaTileEntity {
diff --git a/src/Java/gtPlusPlus/core/util/debug/DEBUG_ScreenOverlay.java b/src/Java/gtPlusPlus/core/util/debug/DEBUG_ScreenOverlay.java
index 8c1336374c..1c6a8e9278 100644
--- a/src/Java/gtPlusPlus/core/util/debug/DEBUG_ScreenOverlay.java
+++ b/src/Java/gtPlusPlus/core/util/debug/DEBUG_ScreenOverlay.java
@@ -1,9 +1,13 @@
package gtPlusPlus.core.util.debug;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+
import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.*;
+import net.minecraft.client.gui.FontRenderer;
+import net.minecraft.client.gui.Gui;
+import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.item.Item;
+
import net.minecraftforge.client.event.RenderGameOverlayEvent;
public class DEBUG_ScreenOverlay extends Gui {
diff --git a/src/Java/gtPlusPlus/core/util/debug/DEBUG_TimerThread.java b/src/Java/gtPlusPlus/core/util/debug/DEBUG_TimerThread.java
index 778809b486..50d12871cb 100644
--- a/src/Java/gtPlusPlus/core/util/debug/DEBUG_TimerThread.java
+++ b/src/Java/gtPlusPlus/core/util/debug/DEBUG_TimerThread.java
@@ -2,11 +2,12 @@ package gtPlusPlus.core.util.debug;
import java.util.concurrent.TimeUnit;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
+
+import gtPlusPlus.api.objects.Logger;
import net.minecraftforge.common.util.ForgeDirection;
public class DEBUG_TimerThread implements Runnable {
diff --git a/src/Java/gtPlusPlus/core/util/math/MathUtils.java b/src/Java/gtPlusPlus/core/util/math/MathUtils.java
index 313d1059ca..3632499d8f 100644
--- a/src/Java/gtPlusPlus/core/util/math/MathUtils.java
+++ b/src/Java/gtPlusPlus/core/util/math/MathUtils.java
@@ -4,7 +4,7 @@ import java.util.Map;
import java.util.Random;
import gregtech.api.enums.GT_Values;
-import gtPlusPlus.api.objects.CSPRNG_DO_NOT_USE;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
@@ -27,14 +27,11 @@ public class MathUtils {
public static int randInt(final int min, final int max) {
// nextInt is normally exclusive of the top value,
// so add 1 to make it inclusive
- final int randomNum = rand.nextInt((max - min) + 1) + min;
-
- return randomNum;
+ return rand.nextInt((max - min) + 1) + min;
}
public static double getChanceOfXOverYRuns(final double x, final double y){
- final double z = (1-Math.pow((1-x), y));
- return z;
+ return (1-Math.pow((1-x), y));
}
@@ -51,9 +48,7 @@ public class MathUtils {
public static long randLong(final long min, final long max) {
// nextInt is normally exclusive of the top value,
// so add 1 to make it inclusive
- final long randomNum = MathUtils.nextLong(rand,(max - min) + 1) + min;
-
- return randomNum;
+ return MathUtils.nextLong(rand,(max - min) + 1) + min;
}
private static long nextLong(final Random rng, final long n) {
// error checking and 2^x checking removed for simplicity.
@@ -79,8 +74,7 @@ public class MathUtils {
public static double randDouble(final double min, final double max) {
// nextInt is normally exclusive of the top value,
// so add 1 to make it inclusive
- final double randomNum = MathUtils.nextDouble(rand,(max - min) + 1) + min;
- return randomNum;
+ return MathUtils.nextDouble(rand,(max - min) + 1) + min;
}
private static double nextDouble(final Random rng, final double n) {
@@ -106,8 +100,7 @@ public class MathUtils {
public static float randFloat(final float min, final float max) {
// nextInt is normally exclusive of the top value,
// so add 1 to make it inclusive
- final float randomNum = MathUtils.nextFloat(rand,(max - min) + 1) + min;
- return randomNum;
+ return MathUtils.nextFloat(rand,(max - min) + 1) + min;
}
private static float nextFloat(final Random rng, final float n) {
@@ -131,9 +124,7 @@ public class MathUtils {
* @return double between min and max, inclusive.
*/
public static double findPercentage(final double current, final double max){
- final double c = (current / max) * 100;
- final double roundOff = Math.round(c * 100.00) / 100.00;
- return roundOff;
+ return Math.round(((current / max) * 100) * 100.00) / 100.00;
}
public static int findPercentageOfInt(long input, float percentage){
@@ -284,8 +275,7 @@ public class MathUtils {
* @return hexInteger between min and max, inclusive.
*/
public static int generateRandomHexValue(final int min, final int max){
- final int result = getHexNumberFromInt(randInt(min, max));
- return result;
+ return getHexNumberFromInt(randInt(min, max));
}
@@ -327,7 +317,7 @@ public class MathUtils {
if (outputArray.length > 0) {
return outputArray;
}
- return null;
+ return new long[] {};
}
private static long gcd(long a, long b){
@@ -349,12 +339,8 @@ public class MathUtils {
}
final public static int getRgbAsHex(final short[] RGBA){
-
final int returnValue = Utils.rgbtoHexValue(RGBA[0], RGBA[1], RGBA[2]);
- if (returnValue == 0){
- return 0;
- }
- return Utils.rgbtoHexValue(RGBA[0], RGBA[1], RGBA[2]);
+ return (returnValue == 0) ? 0 : returnValue;
}
diff --git a/src/Java/gtPlusPlus/core/util/enchanting/EnchantingUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/EnchantingUtils.java
index 288ca2e2cc..2f273d5f7f 100644
--- a/src/Java/gtPlusPlus/core/util/enchanting/EnchantingUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/EnchantingUtils.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.enchanting;
+package gtPlusPlus.core.util.minecraft;
import gtPlusPlus.api.objects.Logger;
import net.minecraftforge.fluids.FluidRegistry;
diff --git a/src/Java/gtPlusPlus/core/util/entity/EntityUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java
index 79c643a95d..10d14d3d34 100644
--- a/src/Java/gtPlusPlus/core/util/entity/EntityUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java
@@ -1,14 +1,10 @@
-package gtPlusPlus.core.util.entity;
+package gtPlusPlus.core.util.minecraft;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import cpw.mods.fml.common.registry.EntityRegistry;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import ic2.core.IC2Potion;
-import ic2.core.item.armor.ItemArmorHazmat;
+
import net.minecraft.block.Block;
import net.minecraft.entity.*;
import net.minecraft.entity.player.EntityPlayer;
@@ -17,6 +13,12 @@ import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import ic2.core.IC2Potion;
+import ic2.core.item.armor.ItemArmorHazmat;
+
public class EntityUtils {
public static void setEntityOnFire(final Entity entity, final int length){
@@ -84,12 +86,12 @@ public class EntityUtils {
/**
* Static Version of the method used in {@code doFireDamage(entity, int)} to save memory.
*/
- private static volatile Method dealFireDamage;
+ private volatile static Method dealFireDamage = null;
/**
* Reflective Call to do Fire Damage to an entity (Does not set entity on fire though)
*/
- public static boolean doFireDamage(Entity entity, int amount){
+ public synchronized static boolean doFireDamage(Entity entity, int amount){
if (dealFireDamage == null){
try {
dealFireDamage = Entity.class.getDeclaredMethod("dealFireDamage", int.class);
diff --git a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
index 8a99edac5f..b5a53cce36 100644
--- a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
@@ -1,10 +1,16 @@
-package gtPlusPlus.core.util.fluid;
+package gtPlusPlus.core.util.minecraft;
+
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import gregtech.api.enums.Dyes;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.util.GT_LanguageManager;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.FluidGT6;
import gtPlusPlus.core.fluids.GenericFluid;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.item.base.cell.BaseItemCell;
@@ -12,17 +18,8 @@ import gtPlusPlus.core.item.base.cell.BaseItemPlasmaCell;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.enchanting.EnchantingUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidContainerRegistry;
-import net.minecraftforge.fluids.FluidRegistry;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.IFluidContainerItem;
+import net.minecraftforge.fluids.*;
public class FluidUtils {
diff --git a/src/Java/gtPlusPlus/core/util/inventory/InventoryUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/InventoryUtils.java
index 779f9b14c1..0d4394d773 100644
--- a/src/Java/gtPlusPlus/core/util/inventory/InventoryUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/InventoryUtils.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.inventory;
+package gtPlusPlus.core.util.minecraft;
import java.util.Random;
diff --git a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
index 367539b49d..5eaf84d107 100644
--- a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
@@ -1,15 +1,23 @@
-package gtPlusPlus.core.util.item;
+package gtPlusPlus.core.util.minecraft;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.Item.ToolMaterial;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.base.BasicSpawnEgg;
import gtPlusPlus.core.item.base.dusts.BaseItemDust;
@@ -23,15 +31,8 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.materials.MaterialUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import gtPlusPlus.core.util.wrapper.var;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration;
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.Item.ToolMaterial;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
@@ -41,10 +42,10 @@ public class ItemUtils {
return getSimpleStack(x, 1);
}
public static ItemStack getSimpleStack(final Block x){
- return getSimpleStack(Item.getItemFromBlock(x), 1);
+ return simpleMetaStack(Item.getItemFromBlock(x), 0, 1);
}
- public static ItemStack getSimpleStack(final Block x, final int i){
- return getSimpleStack(Item.getItemFromBlock(x), i);
+ public static ItemStack getSimpleStack(final Block x, int meta){
+ return simpleMetaStack(Item.getItemFromBlock(x), meta, 1);
}
public static ItemStack getSimpleStack(final Item x, final int i){
try {
@@ -225,9 +226,6 @@ public class ItemUtils {
else if (item_Input instanceof ItemStack){
return (ItemStack) item_Input;
}
- if (item_Input instanceof var){
- return ((var) item_Input).getStack(stackSize);
- }
return null;
}
@@ -259,24 +257,50 @@ public class ItemUtils {
}
public static ItemStack getItemStackOfAmountFromOreDict(final String oredictName, final int amount){
-
String mTemp = oredictName;
-
//Banned Materials and replacements for GT5.8 compat.
if (oredictName.toLowerCase().contains("rutile")){
- mTemp.replace("Rutile", "Titanium");
+ mTemp = oredictName.replace("Rutile", "Titanium");
}
if (oredictName.toLowerCase().contains("vanadiumsteel")){
- mTemp.replace("VanadiumSteel", "StainlessSteel");
+ mTemp = oredictName.replace("VanadiumSteel", "StainlessSteel");
+ }
+ //Use Cache
+ if (mOreDictCache.containsKey(mTemp) && mOreDictCache.get(mTemp) != null && mOreDictCache.get(mTemp).getItem() != ModItems.AAA_Broken) {
+ //Logger.INFO("[ODC] Returning mOreDictCache value.");
+ return getCachedValue(mTemp, amount);
}
-
- final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(mTemp);
- if (!oreDictList.isEmpty()){
- final ItemStack returnValue = oreDictList.get(0).copy();
- returnValue.stackSize = amount;
- return returnValue;
+ else if (mDustCache.containsKey(oredictName) && mDustCache.get(mTemp) != null && mOreDictCache.get(mTemp).getItem() != ModItems.AAA_Broken) {
+ //Logger.INFO("[ODC] Returning mDustCache value.");
+ return getSimpleStack(mDustCache.get(oredictName), amount);
+ }
+ else {
+ //Logger.INFO("[ODC] Setting mOreDictCache value.");
+ final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(mTemp);
+ if (!oreDictList.isEmpty()){
+ final ItemStack returnValue = oreDictList.get(0).copy();
+ returnValue.stackSize = amount;
+ if (returnValue.getItem() != ModItems.AAA_Broken) {
+ setCachedValue(mTemp, returnValue);
+ }
+ //Logger.INFO("[ODC] Setting and Returning mOreDictCache value.");
+ return returnValue;
+ }
+ setCachedValue(oredictName, getSimpleStack(ModItems.AAA_Broken));
+ //Logger.INFO("[ODC] Returning AAA_Broken.");
+ return getSimpleStack(ModItems.AAA_Broken, amount);
}
- return getSimpleStack(ModItems.AAA_Broken, amount);
+
+ }
+
+ private static Map<String, ItemStack> mOreDictCache = new HashMap();
+
+ private static ItemStack getCachedValue(String string, int amount) {
+ return getSimpleStack(mOreDictCache.get(string), amount);
+ }
+
+ private static void setCachedValue(String string, ItemStack stack) {
+ mOreDictCache.put(string, stack);
}
public static ItemStack getItemStackOfAmountFromOreDictNoBroken(final String oredictName, final int amount){
@@ -286,7 +310,17 @@ public class ItemUtils {
Logger.WARNING("Looking up: "+oredictName+" - from method: "+ReflectionUtils.getMethodName(3));
Logger.WARNING("Looking up: "+oredictName+" - from method: "+ReflectionUtils.getMethodName(4));
Logger.WARNING("Looking up: "+oredictName+" - from method: "+ReflectionUtils.getMethodName(5));
+ }
+
+ //Use Cache
+ if (mDustCache.containsKey(oredictName)) {
+ return getSimpleStack(mDustCache.get(oredictName), amount);
+ }
+ if (mOreDictCache.containsKey(oredictName)) {
+ return getCachedValue(oredictName, amount);
}
+
+
try{
//Adds a check to grab dusts using GT methodology if possible.
@@ -296,6 +330,7 @@ public class ItemUtils {
final Materials m = Materials.get(MaterialName);
returnValue = getGregtechDust(m, amount);
if (returnValue != null){
+ setCachedValue(oredictName, returnValue);
return returnValue;
}
}
@@ -304,6 +339,7 @@ public class ItemUtils {
returnValue = getItemStackOfAmountFromOreDict(oredictName, amount);
if (returnValue != null){
if ((returnValue.getItem().getClass() != ModItems.AAA_Broken.getClass()) || (returnValue.getItem() != ModItems.AAA_Broken)){
+ setCachedValue(oredictName, returnValue);
return returnValue.copy();
}
}
@@ -619,36 +655,58 @@ public class ItemUtils {
return outputs;
}
- private static String getModId(final Item item) {
+ private static Map<Item, String> mModidCache = new HashMap<Item, String>();
+
+ private static String getModId(final Item item) {
+ if (mModidCache.containsKey(item)) {
+ return mModidCache.get(item);
+ }
+ String value = "";
try {
final GameRegistry.UniqueIdentifier id = GameRegistry.findUniqueIdentifierFor(item);
- final String modname = (id.modId == null ? id.name : id.modId);
- return (id == null) || id.modId.equals("") ? "minecraft" : modname;
+ if (id != null) {
+ final String modname = (id.modId == null ? id.name : id.modId);
+ value = ((id == null) || id.modId.equals("")) ? "minecraft" : modname;
+ }
} catch (final Throwable t){
try {
final UniqueIdentifier t2 = GameRegistry.findUniqueIdentifierFor(Block.getBlockFromItem(item));
- final String modname = (t2.modId == null ? t2.name : t2.modId);
- return (t2 == null) || t2.modId.equals("") ? "minecraft" : modname;
+ if (t2 != null) {
+ final String modname = (t2.modId == null ? t2.name : t2.modId);
+ value = ((t2 == null) || t2.modId.equals("")) ? "minecraft" : modname;
+ }
}
catch (final Throwable t3){
- return "bad modid";
+ value = "bad modid";
}
}
+ if (!mModidCache.containsKey(item)) {
+ return mModidCache.put(item, value);
+ }
+ return value;
}
public static String getModId(final ItemStack key) {
return getModId(key.getItem());
}
+ private static Map<String, ItemStack> mDustCache = new HashMap<String, ItemStack>();
+
//Take 2 - GT/GT++ Dusts
public static ItemStack getGregtechDust(final String oredictName, final int amount){
+
+ if (mDustCache.containsKey(oredictName)) {
+ return getSimpleStack(mDustCache.get(oredictName), amount);
+ }
+
final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(oredictName);
if (!oreDictList.isEmpty()){
ItemStack returnvalue;
for (int xrc=0;xrc<oreDictList.size();xrc++){
final String modid = getModId(oreDictList.get(xrc).getItem());
- if (modid.equals("gregtech") || modid.equals(CORE.MODID)){
+ if (modid != null && (modid.equals("gregtech") || modid.equals(CORE.MODID))){
returnvalue = oreDictList.get(xrc).copy();
+ mDustCache.put(oredictName, returnvalue);
returnvalue.stackSize = amount;
return returnvalue;
}
@@ -659,13 +717,19 @@ public class ItemUtils {
//Anything But Tinkers Dust
public static ItemStack getNonTinkersDust(final String oredictName, final int amount){
+
+ if (mDustCache.containsKey(oredictName)) {
+ return getSimpleStack(mDustCache.get(oredictName), amount);
+ }
+
final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(oredictName);
if (!oreDictList.isEmpty()){
ItemStack returnvalue;
for (int xrc=0;xrc<oreDictList.size();xrc++){
final String modid = getModId(oreDictList.get(xrc).getItem());
- if (!modid.equals("tconstruct")){
+ if (modid != null && !modid.equals("tconstruct")){
returnvalue = oreDictList.get(xrc).copy();
+ mDustCache.put(oredictName, returnvalue);
returnvalue.stackSize = amount;
return returnvalue;
}
@@ -688,7 +752,7 @@ public class ItemUtils {
//Utils.LOG_INFO("[Component Maker] Found "+mItemName+".");
return (gregstack);
}
-
+
public static ItemStack getOrePrefixStack(OrePrefixes mPrefix, Material mMat, int mAmount) {
diff --git a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
index 5cd7532f0f..f8e777dd35 100644
--- a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.materials;
+package gtPlusPlus.core.util.minecraft;
import java.util.List;
import java.util.Map;
@@ -8,13 +8,17 @@ import java.util.stream.Collectors;
import org.apache.commons.lang3.reflect.FieldUtils;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.StringUtils;
import gtPlusPlus.core.util.Utils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.data.EnumUtils;
+import gtPlusPlus.core.util.data.StringUtils;
import net.minecraftforge.oredict.OreDictionary;
public class MaterialUtils {
@@ -39,10 +43,15 @@ public class MaterialUtils {
return null;
}
+
public static Material generateMaterialFromGtENUM(final Materials material){
+ return generateMaterialFromGtENUM(material, null);
+ }
+
+ public static Material generateMaterialFromGtENUM(final Materials material, short[] customRGB){
@SuppressWarnings("deprecation")
String name = material.name();
- final short[] rgba = material.mRGBa;
+ final short[] rgba = (customRGB == null ? material.mRGBa : customRGB);
final int melting = material.mMeltingPoint;
final int boiling = material.mBlastFurnaceTemp;
final long protons = material.getProtons();
@@ -172,60 +181,21 @@ public class MaterialUtils {
}
}
-
- /*
- * That's shown, many times, in the EnumHelper code, all the add functions just wrap the addEnum function.
- You need the target enum class, and 2 arrays, 1 holding the types for the constructor arguments,
- and the other holding the constructor argument values (the things being passed to the constructor)
-
- The 'decompiled' Boolean should be set to true if the class you're adding to has been decompiled/recompiled again.
- (it adds a 2nd enum arguments that need to be accounted for, but isn't actually useful to you)
-
- *
- *new Class[{int.class, TextureSet.class, float.class, int.class,
- int.class, int.class, int.class, int.class, int.class, int.class,
- String.class, int.class, int.class, int.class, int.class, boolean.class,
- boolean.class, int.class, int.class, int.class, Dyes.class, int.class,
- List.class , List.class}],
- */
-
-
-
- /*public static Materials GenerateGtMaterialForSingleUse(MaterialInfo s){
-
- Materials yourName = EnumHelper.addEnum(
-
- Materials.class, s.name(),
-
-
-
- new Object[0]
-
- );
- try
- {
-
-
-
- Class<? extends ItemCell> clz = item.getClass();
- Method methode = clz.getDeclaredMethod("addCell", int.class, InternalName.class, Block[].class);
- methode.setAccessible(true);
- ItemStack temp = (ItemStack) methode.invoke(item, cellID++, yourName, new Block[0]);
-
-
-
-
-
-
- return Materials.Abyssal;
+ public static Materials getMaterialByName(String materialName) {
+
+ if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ return (Materials) EnumUtils.getValue(gregtech.api.enums.Materials.class, materialName, false);
}
- catch(Exception e){
- e.printStackTrace();
+ else {
+ for (Materials m : Materials.values()) {
+ if (MaterialUtils.getMaterialName(m).toLowerCase().equals(materialName.toLowerCase())) {
+ return m;
+ }
+ }
+ return null;
}
- return null;
- }*/
-
-
+ }
+
@SuppressWarnings("deprecation")
public static String getMaterialName(Materials mat){
String mName;
@@ -235,7 +205,7 @@ public class MaterialUtils {
catch (IllegalArgumentException | IllegalAccessException e) {
mName = mat.name();
}
- if (mName == null || mName.equals("") || mName == ""){
+ if (mName == null || mName.equals("")){
mName = mat.name();
}
return mName;
diff --git a/src/Java/gtPlusPlus/core/util/player/UtilsMining.java b/src/Java/gtPlusPlus/core/util/minecraft/MiningUtils.java
index 4f0402a18e..2a1de61b54 100644
--- a/src/Java/gtPlusPlus/core/util/player/UtilsMining.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/MiningUtils.java
@@ -1,12 +1,13 @@
-package gtPlusPlus.core.util.player;
+package gtPlusPlus.core.util.minecraft;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
-public class UtilsMining {
+import gtPlusPlus.api.objects.Logger;
+
+public class MiningUtils {
private static boolean durabilityDamage = false;
private static ItemStack stack;
diff --git a/src/Java/gtPlusPlus/core/util/nbt/ModularArmourUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ModularArmourUtils.java
index 2e8e29c372..e3ffb5c410 100644
--- a/src/Java/gtPlusPlus/core/util/nbt/ModularArmourUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ModularArmourUtils.java
@@ -1,12 +1,14 @@
-package gtPlusPlus.core.util.nbt;
+package gtPlusPlus.core.util.minecraft;
-import baubles.api.BaubleType;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.array.Pair;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import gregtech.api.util.GT_Utility;
+
+import baubles.api.BaubleType;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
+
public class ModularArmourUtils {
public static ItemStack addComponent(ItemStack tArmour, ItemStack[] tComponents) {
diff --git a/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/NBTUtils.java
index 58d47eb0fa..524e7ab7f3 100644
--- a/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/NBTUtils.java
@@ -1,19 +1,20 @@
-package gtPlusPlus.core.util.nbt;
+package gtPlusPlus.core.util.minecraft;
import static gtPlusPlus.core.item.ModItems.ZZZ_Empty;
import java.util.Map;
+import net.minecraft.entity.Entity;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
public class NBTUtils {
diff --git a/src/Java/gtPlusPlus/core/util/player/PlayerUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
index 32488f074d..7dd127203e 100644
--- a/src/Java/gtPlusPlus/core/util/player/PlayerUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
@@ -1,10 +1,10 @@
-package gtPlusPlus.core.util.player;
+package gtPlusPlus.core.util.minecraft;
import java.util.*;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
@@ -13,6 +13,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.World;
+import gtPlusPlus.core.util.Utils;
+
public class PlayerUtils {
public static void messagePlayer(final EntityPlayer P, final String S){
diff --git a/src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
index cdb8255231..78d6f94d21 100644
--- a/src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
@@ -1,21 +1,26 @@
-package gtPlusPlus.core.util.recipe;
+package gtPlusPlus.core.util.minecraft;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
+import net.minecraft.item.crafting.IRecipe;
+
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.handler.COMPAT_HANDLER;
import gtPlusPlus.core.handler.Recipes.LateRegistrationHandler;
import gtPlusPlus.core.handler.Recipes.RegistrationHandler;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.shapeless.ShapelessUtils;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.CraftingManager;
-import net.minecraft.item.crafting.IRecipe;
-import net.minecraftforge.oredict.*;
+import net.minecraftforge.oredict.OreDictionary;
+import net.minecraftforge.oredict.ShapedOreRecipe;
+import net.minecraftforge.oredict.ShapelessOreRecipe;
public class RecipeUtils {
diff --git a/src/Java/gtPlusPlus/core/util/recipe/shapeless/ShapelessUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ShapelessUtils.java
index 29ca257134..3caa9d4e4f 100644
--- a/src/Java/gtPlusPlus/core/util/recipe/shapeless/ShapelessUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ShapelessUtils.java
@@ -1,14 +1,15 @@
-package gtPlusPlus.core.util.recipe.shapeless;
+package gtPlusPlus.core.util.minecraft;
import java.util.ArrayList;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.ShapelessRecipes;
+import gtPlusPlus.api.objects.Logger;
+
public class ShapelessUtils {
diff --git a/src/Java/gtPlusPlus/core/util/PollutionUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java
index d68a25a844..8ecdab4bbc 100644
--- a/src/Java/gtPlusPlus/core/util/PollutionUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java
@@ -1,10 +1,13 @@
-package gtPlusPlus.core.util;
+package gtPlusPlus.core.util.minecraft.gregtech;
-import java.lang.reflect.*;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import gregtech.GT_Mod;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.common.GT_Proxy;
+
import gtPlusPlus.core.util.reflect.ReflectionUtils;
public class PollutionUtils {
diff --git a/src/Java/gtPlusPlus/core/util/gregtech/material/MaterialBuilder.java b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/material/MaterialBuilder.java
index 64c2751cde..44c0f66732 100644
--- a/src/Java/gtPlusPlus/core/util/gregtech/material/MaterialBuilder.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/material/MaterialBuilder.java
@@ -1,14 +1,4 @@
-package gtPlusPlus.core.util.gregtech.material;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import gregtech.api.enums.Dyes;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.TC_Aspects;
-import gregtech.api.enums.TextureSet;
-import gregtech.api.objects.MaterialStack;
+package gtPlusPlus.core.util.minecraft.gregtech.material;
public class MaterialBuilder {
/*public static final int DIESEL = 0, GAS = 1, THERMAL = 2, SEMIFLUID = 3, PLASMA = 4, MAGIC = 5;
diff --git a/src/Java/gtPlusPlus/core/util/gregtech/recipehandlers/GregtechRecipe.java b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/recipehandlers/GregtechRecipe.java
index 9bc5ee804d..afba320fe7 100644
--- a/src/Java/gtPlusPlus/core/util/gregtech/recipehandlers/GregtechRecipe.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/recipehandlers/GregtechRecipe.java
@@ -1,11 +1,13 @@
-package gtPlusPlus.core.util.gregtech.recipehandlers;
+package gtPlusPlus.core.util.minecraft.gregtech.recipehandlers;
import java.lang.reflect.Method;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.item.ItemStack;
public final class GregtechRecipe {
@@ -47,7 +49,7 @@ class LibProxy1 extends LibraryProxy {
@Override
public boolean addSmeltingAndAlloySmeltingRecipe(final ItemStack aInput, final ItemStack aOutput) {
try {
- Logger.INFO("Trying with Gt 5.7/5.8 Method.");
+ //Logger.INFO("Trying with Gt 5.7/5.8 Method.");
return (boolean) this.m1.invoke(null, aInput, aOutput);
} catch (final Exception e) {
throw new RuntimeException(e);
@@ -65,7 +67,7 @@ class LibProxy2 extends LibraryProxy {
@Override
public boolean addSmeltingAndAlloySmeltingRecipe(final ItemStack aInput, final ItemStack aOutput) {
try {
- Logger.INFO("Trying with Gt 5.9 Method.");
+ //Logger.INFO("Trying with Gt 5.9 Method.");
return (boolean) this.m2.invoke(null, aInput, aOutput, true);
} catch (final Exception e) {
throw new RuntimeException(e);
diff --git a/src/Java/gtPlusPlus/core/util/particles/BlockBreakParticles.java b/src/Java/gtPlusPlus/core/util/minecraft/particles/BlockBreakParticles.java
index a1a46b39f4..9046a57120 100644
--- a/src/Java/gtPlusPlus/core/util/particles/BlockBreakParticles.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/particles/BlockBreakParticles.java
@@ -1,9 +1,10 @@
-package gtPlusPlus.core.util.particles;
+package gtPlusPlus.core.util.minecraft.particles;
-import gtPlusPlus.xmod.forestry.HANDLER_FR;
import net.minecraft.block.Block;
import net.minecraft.world.World;
+import gtPlusPlus.xmod.forestry.HANDLER_FR;
+
public class BlockBreakParticles {
public BlockBreakParticles(final World world, final int x, final int y, final int z, final Block block){
diff --git a/src/Java/gtPlusPlus/core/util/particles/EntityParticleFXMysterious.java b/src/Java/gtPlusPlus/core/util/minecraft/particles/EntityParticleFXMysterious.java
index 97103b636b..d996cf705a 100644
--- a/src/Java/gtPlusPlus/core/util/particles/EntityParticleFXMysterious.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/particles/EntityParticleFXMysterious.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.particles;
+package gtPlusPlus.core.util.minecraft.particles;
import net.minecraft.client.particle.EntityAuraFX;
import net.minecraft.world.World;
diff --git a/src/Java/gtPlusPlus/core/util/player/PlayerCache.java b/src/Java/gtPlusPlus/core/util/player/PlayerCache.java
index 5d4581910c..753124dcd7 100644
--- a/src/Java/gtPlusPlus/core/util/player/PlayerCache.java
+++ b/src/Java/gtPlusPlus/core/util/player/PlayerCache.java
@@ -3,11 +3,12 @@ package gtPlusPlus.core.util.player;
import java.io.*;
import java.util.*;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.server.MinecraftServer;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+
public class PlayerCache {
private static final File cache = new File("PlayerCache.dat");
diff --git a/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java b/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java
index 04a59e7f7d..fcb8c42197 100644
--- a/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java
+++ b/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java
@@ -2,15 +2,15 @@ package gtPlusPlus.core.util.reflect;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.lang.reflect.Parameter;
+
+import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
+
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
public final class AddGregtechRecipe {
@@ -78,7 +78,7 @@ public final class AddGregtechRecipe {
FluidStack[] aFluidInputs,
ItemStack aOutput,
int aDuration, int aEUt){
-/*
+ /*
try {
IGT_RecipeAdder IGT_RecipeAdder = GT_Values.RA;
if (IGT_RecipeAdder != null){
@@ -95,7 +95,7 @@ public final class AddGregtechRecipe {
}
//Utils.LOG_INFO("===============================================");
}
-
+
try {
Method testRA = GT_Values.RA.getClass().getMethod("addAssemblylineRecipe", GT_Values.RA.getClass(), aResearchItem.getClass(), int.class, aInputs.getClass(), aFluidInputs.getClass(), aOutput.getClass(), int.class, int.class);
testRA.invoke(aResearchItem, aResearchTime, aInputs, aFluidInputs, aOutput, aDuration, aEUt);
@@ -103,7 +103,7 @@ public final class AddGregtechRecipe {
catch (Throwable masndj){
masndj.printStackTrace();
}
-
+
Method addRecipe = classRA.getDeclaredMethod(
"addAssemblylineRecipe",
@@ -125,7 +125,7 @@ public final class AddGregtechRecipe {
return false;
}
Utils.LOG_INFO("[Assembly Line] - Failed to add recipe. Research: "+aResearchItem.getDisplayName()+" | Result: "+aOutput.getDisplayName());
- */return false;
+ */return false;
}
public static boolean addCircuitAssemblerRecipe(
@@ -203,4 +203,37 @@ public final class AddGregtechRecipe {
return false;
}
+
+ public static boolean addChemicalRecipeForBasicMachineOnly(final ItemStack p0, final ItemStack p1, final FluidStack p2, final FluidStack p3, final ItemStack p4, final ItemStack p5, final int p6, final int p7){
+
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ try {
+ IGT_RecipeAdder IGT_RecipeAdder = GT_Values.RA;
+ if (IGT_RecipeAdder != null){
+ Class<? extends IGT_RecipeAdder> classRA = IGT_RecipeAdder.getClass();
+ //final ItemStack p0, final ItemStack p1, final FluidStack p2, final FluidStack p3, final ItemStack p4, final ItemStack p5, final int p6, final int p7
+ Method addRecipe = classRA.getMethod("addChemicalRecipeForBasicMachineOnly", ItemStack.class, ItemStack.class, FluidStack.class, FluidStack.class, ItemStack.class, ItemStack.class, int.class, int.class);
+ if (addRecipe != null){
+ return (boolean) addRecipe.invoke(IGT_RecipeAdder, p0, p1, p2, p3, p4, p5, p6, p7);
+ }
+ }
+ }
+ catch (SecurityException | NoSuchMethodException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+
+ }
+ }
+
+ return GT_Values.RA.addChemicalRecipe(
+ p0,
+ p1,
+ p2,
+ p3,
+ p4,
+ p6);
+
+ }
+
+
+
+
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
index a0968fd5c1..882d16c232 100644
--- a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
+++ b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
@@ -7,17 +7,20 @@ import java.util.Scanner;
import org.apache.commons.lang3.reflect.FieldUtils;
+import net.minecraft.client.Minecraft;
+
import gregtech.GT_Mod;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.client.Minecraft;
public class ReflectionUtils {
- public static Field getField(final Class clazz, final String fieldName) throws NoSuchFieldException {
+ public static Field getField(final Class<?> clazz, final String fieldName) throws NoSuchFieldException {
try {
Field k = clazz.getDeclaredField(fieldName);
makeAccessible(k);
+ Logger.REFLECTION("Got Field from Class. "+fieldName+" did exist within "+clazz.getCanonicalName()+".");
return k;
} catch (final NoSuchFieldException e) {
final Class<?> superClass = clazz.getSuperclass();
@@ -172,10 +175,10 @@ public class ReflectionUtils {
public static boolean invoke(Object objectInstance, String methodName, Class[] parameters, Object[] values){
if (objectInstance == null || methodName == null || parameters == null || values == null){
- Logger.REFLECTION("Null value when trying to Dynamically invoke "+methodName+" on an object of type: "+objectInstance.getClass().getName());
+ //Logger.REFLECTION("Null value when trying to Dynamically invoke "+methodName+" on an object of type: "+objectInstance.getClass().getName());
return false;
}
- Class mLocalClass = (objectInstance instanceof Class ? (Class) objectInstance : objectInstance.getClass());
+ Class<?> mLocalClass = (objectInstance instanceof Class ? (Class<?>) objectInstance : objectInstance.getClass());
Logger.REFLECTION("Trying to invoke "+methodName+" on an instance of "+mLocalClass.getCanonicalName()+".");
try {
Method mInvokingMethod = mLocalClass.getDeclaredMethod(methodName, parameters);
@@ -200,7 +203,125 @@ public class ReflectionUtils {
Logger.REFLECTION("Invoke failed or did something wrong.");
return false;
}
+
+ public static boolean invokeVoid(Object objectInstance, String methodName, Class[] parameters, Object[] values){
+ if (objectInstance == null || methodName == null || parameters == null || values == null){
+ return false;
+ }
+ Class<?> mLocalClass = (objectInstance instanceof Class ? (Class<?>) objectInstance : objectInstance.getClass());
+ Logger.REFLECTION("Trying to invoke "+methodName+" on an instance of "+mLocalClass.getCanonicalName()+".");
+ try {
+ Method mInvokingMethod = mLocalClass.getDeclaredMethod(methodName, parameters);
+ if (mInvokingMethod != null){
+ Logger.REFLECTION(methodName+" was not null.");
+ mInvokingMethod.invoke(objectInstance, values);
+ Logger.REFLECTION("Successfully invoked "+methodName+".");
+ return true;
+ }
+ else {
+ Logger.REFLECTION(methodName+" is null.");
+ }
+ }
+ catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+ Logger.REFLECTION("Failed to Dynamically invoke "+methodName+" on an object of type: "+mLocalClass.getName());
+ }
+ Logger.REFLECTION("Invoke failed or did something wrong.");
+ return false;
+ }
+
+ public static Object invokeNonBool(Object objectInstance, String methodName, Class[] parameters, Object[] values){
+ if (objectInstance == null || methodName == null || parameters == null || values == null){
+ return false;
+ }
+ Class<?> mLocalClass = (objectInstance instanceof Class ? (Class<?>) objectInstance : objectInstance.getClass());
+ Logger.REFLECTION("Trying to invoke "+methodName+" on an instance of "+mLocalClass.getCanonicalName()+".");
+ try {
+ Method mInvokingMethod = mLocalClass.getDeclaredMethod(methodName, parameters);
+ if (mInvokingMethod != null){
+ Logger.REFLECTION(methodName+" was not null.");
+ return mInvokingMethod.invoke(objectInstance, values);
+ }
+ else {
+ Logger.REFLECTION(methodName+" is null.");
+ }
+ }
+ catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+ Logger.REFLECTION("Failed to Dynamically invoke "+methodName+" on an object of type: "+mLocalClass.getName());
+ }
+
+ Logger.REFLECTION("Invoke failed or did something wrong.");
+ return null;
+ }
+
+ /*
+ * @ if (isPresent("com.optionaldependency.DependencyClass")) { // This
+ * block will never execute when the dependency is not present // There is
+ * therefore no more risk of code throwing NoClassDefFoundException.
+ * executeCodeLinkingToDependency(); }
+ */
+ public static boolean isPresent(final String className) {
+ try {
+ Class.forName(className);
+ return true;
+ } catch (final Throwable ex) {
+ // Class or one of its dependencies is not present...
+ return false;
+ }
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static Method getMethodViaReflection(final Class<?> lookupClass, final String methodName,
+ final boolean invoke) throws Exception {
+ final Class<? extends Class> lookup = lookupClass.getClass();
+ final Method m = lookup.getDeclaredMethod(methodName);
+ m.setAccessible(true);// Abracadabra
+ if (invoke) {
+ m.invoke(lookup);// now its OK
+ }
+ return m;
+ }
+
+ public static Class<?> getNonPublicClass(final String className) {
+ Class<?> c = null;
+ try {
+ c = Class.forName(className);
+ } catch (final ClassNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ // full package name --------^^^^^^^^^^
+ // or simpler without Class.forName:
+ // Class<package1.A> c = package1.A.class;
+
+ if (null != c) {
+ // In our case we need to use
+ Constructor<?> constructor = null;
+ try {
+ constructor = c.getDeclaredConstructor();
+ } catch (NoSuchMethodException | SecurityException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ // note: getConstructor() can return only public constructors
+ // so we needed to search for any Declared constructor
+
+ // now we need to make this constructor accessible
+ if (null != constructor) {
+ constructor.setAccessible(true);// ABRACADABRA!
+
+ try {
+ final Object o = constructor.newInstance();
+ return (Class<?>) o;
+ } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
+ | InvocationTargetException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }
+ return null;
+ }
}
diff --git a/src/Java/gtPlusPlus/core/util/geo/GeoUtils.java b/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java
index 84528e0cd5..6ec6662a44 100644
--- a/src/Java/gtPlusPlus/core/util/geo/GeoUtils.java
+++ b/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java
@@ -1,16 +1,19 @@
-package gtPlusPlus.core.util.geo;
+package gtPlusPlus.core.util.sys;
-import java.io.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.net.*;
import org.apache.http.client.utils.URIBuilder;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.networking.NetworkUtils;
+import gtPlusPlus.core.lib.CORE;
public class GeoUtils {
public static String determineUsersCountry(){
+ if (!CORE.DEBUG && !CORE.DEVENV) {
try {
if (NetworkUtils.checkNetworkIsAvailableWithValidInterface()){
return getUsersCountry();
@@ -22,6 +25,10 @@ public class GeoUtils {
Logger.INFO("Failed to initialise GeoUtils.");
return "Failed.";
}
+ }
+ else {
+ return "Debug/Dev";
+ }
}
private static String getUsersIPAddress() {
diff --git a/src/Java/gtPlusPlus/core/util/input/KeyboardUtils.java b/src/Java/gtPlusPlus/core/util/sys/KeyboardUtils.java
index 3b5dc3b5d8..ba834e345e 100644
--- a/src/Java/gtPlusPlus/core/util/input/KeyboardUtils.java
+++ b/src/Java/gtPlusPlus/core/util/sys/KeyboardUtils.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util.input;
+package gtPlusPlus.core.util.sys;
import org.lwjgl.input.Keyboard;
diff --git a/src/Java/gtPlusPlus/core/util/Log.java b/src/Java/gtPlusPlus/core/util/sys/Log.java
index fe06fcb271..fcd4f34c1b 100644
--- a/src/Java/gtPlusPlus/core/util/Log.java
+++ b/src/Java/gtPlusPlus/core/util/sys/Log.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util;
+package gtPlusPlus.core.util.sys;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/src/Java/gtPlusPlus/core/util/networking/NetworkUtils.java b/src/Java/gtPlusPlus/core/util/sys/NetworkUtils.java
index ce2888ef29..f1417e8a2d 100644
--- a/src/Java/gtPlusPlus/core/util/networking/NetworkUtils.java
+++ b/src/Java/gtPlusPlus/core/util/sys/NetworkUtils.java
@@ -1,6 +1,8 @@
-package gtPlusPlus.core.util.networking;
+package gtPlusPlus.core.util.sys;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
import java.net.*;
import java.util.Enumeration;
diff --git a/src/Java/gtPlusPlus/core/util/SystemUtils.java b/src/Java/gtPlusPlus/core/util/sys/SystemUtils.java
index 45fc25caf6..efcfaf8d04 100644
--- a/src/Java/gtPlusPlus/core/util/SystemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/sys/SystemUtils.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.util;
+package gtPlusPlus.core.util.sys;
public class SystemUtils {
diff --git a/src/Java/gtPlusPlus/core/util/wrapper/var.java b/src/Java/gtPlusPlus/core/util/wrapper/var.java
deleted file mode 100644
index 06de3cde73..0000000000
--- a/src/Java/gtPlusPlus/core/util/wrapper/var.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package gtPlusPlus.core.util.wrapper;
-
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
-
-public class var{
-
- private ItemStack temp = null;
- private final String sanitizedName;
- private final String fqrn;
-
- public var(String o){
- final String t = this.sanitize('<', o);
- final String t2 = this.sanitize('>', t);
- this.sanitizedName = t2;
- o = this.sanitize('"', t2);
- this.fqrn = o;
- }
-
- private String sanitize(final char token, String input){
- for (int i=0;i<input.length();i++) {
- if (input.charAt(i) == token) {
- input = input.replace(input.charAt(i), ' ');
- Logger.WARNING("MATCH FOUND");
- }
- input = input.replaceAll(" ", "");
- }
- final String output = input;
- return output;
- }
-
- public String getFQRN(){
- final String s = this.fqrn;
- return s;
- }
-
- public String getsanitizedName(){
- final String s = this.sanitizedName;
- return s;
- }
-
- private ItemStack getOreDictStack(final int stackSize){
- final ItemStack v = ItemUtils.getItemStack(this.sanitizedName, stackSize);
- return v;
- }
-
- public ItemStack getStack(final int stackSize){
- final String oreDict = "ore:";
- if (this.fqrn.toLowerCase().contains(oreDict.toLowerCase())){
- final ItemStack v = this.getOreDictStack(stackSize);
- return v;
- }
- final String[] fqrnSplit = this.fqrn.split(":");
- String meta = "0";
- try {
- if(fqrnSplit[2] != null){meta = fqrnSplit[2];}
- this.temp = ItemUtils.getItemStackWithMeta(LoadedMods.MiscUtils, this.fqrn, fqrnSplit[1], Integer.parseInt(meta), stackSize);
- }
- catch (final ArrayIndexOutOfBoundsException a){
- this.temp = ItemUtils.getItemStackWithMeta(LoadedMods.MiscUtils, this.fqrn, fqrnSplit[1], Integer.parseInt(meta), stackSize);
- }
- return this.temp;
- }
-
-} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/api/damage/BaseCustomDamageSource.java b/src/Java/gtPlusPlus/core/world/damage/BaseCustomDamageSource.java
index 24348988d6..3778beacfb 100644
--- a/src/Java/gtPlusPlus/api/damage/BaseCustomDamageSource.java
+++ b/src/Java/gtPlusPlus/core/world/damage/BaseCustomDamageSource.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.api.damage;
+package gtPlusPlus.core.world.damage;
import net.minecraft.entity.Entity;
import net.minecraft.util.EntityDamageSourceIndirect;
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/world/DarkWorldPortalPosition.java b/src/Java/gtPlusPlus/core/world/darkworld/world/DarkWorldPortalPosition.java
deleted file mode 100644
index 9dcfb8cd2c..0000000000
--- a/src/Java/gtPlusPlus/core/world/darkworld/world/DarkWorldPortalPosition.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package gtPlusPlus.core.world.darkworld.world;
-
-import net.minecraft.util.ChunkCoordinates;
-
-public class DarkWorldPortalPosition extends ChunkCoordinates {
- public long field_85087_d;
- final TeleporterDimensionMod field_85088_e;
-
- public DarkWorldPortalPosition(TeleporterDimensionMod darkworldTeleporter, int par2, int par3, int par4, long par5) {
- super(par2, par3, par4);
- this.field_85088_e = darkworldTeleporter;
- this.field_85087_d = par5;
- }
-} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/world/explosions/MiningExplosion.java b/src/Java/gtPlusPlus/core/world/explosions/MiningExplosion.java
index 50fa08f55f..792e47085e 100644
--- a/src/Java/gtPlusPlus/core/world/explosions/MiningExplosion.java
+++ b/src/Java/gtPlusPlus/core/world/explosions/MiningExplosion.java
@@ -2,9 +2,6 @@ package gtPlusPlus.core.world.explosions;
import java.util.*;
-import gtPlusPlus.api.objects.XSTR;
-import gtPlusPlus.core.entity.EntityPrimedMiningExplosive;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.enchantment.EnchantmentProtection;
@@ -13,23 +10,19 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.util.*;
-import net.minecraft.world.*;
+import net.minecraft.world.ChunkPosition;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+
+import gtPlusPlus.api.objects.random.XSTR;
+import gtPlusPlus.core.entity.EntityPrimedMiningExplosive;
+import gtPlusPlus.core.util.math.MathUtils;
public class MiningExplosion extends Explosion {
- /** whether or not the explosion sets fire to blocks around it */
- public boolean isFlaming = false;
- /** whether or not this explosion spawns smoke particles */
- public boolean isSmoking = true;
private final int field_77289_h = 16;
private final Random explosionRNG = new XSTR();
private final World worldObj;
- public double explosionX;
- public double explosionY;
- public double explosionZ;
- public Entity exploder;
- public float explosionSize;
- /** A list of ChunkPositions of blocks affected by this explosion */
- public List<ChunkPosition> affectedBlockPositions = new ArrayList<>();
+
private final Map<Entity, Vec3> field_77288_k = new HashMap<>();
public MiningExplosion(final World worldObj, final Entity entityObj, final double x, final double y, final double z, final float size)
{
diff --git a/src/Java/gtPlusPlus/GTplusplus_Secondary.java b/src/Java/gtPlusPlus/everglades/GTplusplus_Everglades.java
index 8b06a2371a..9174442a43 100644
--- a/src/Java/gtPlusPlus/GTplusplus_Secondary.java
+++ b/src/Java/gtPlusPlus/everglades/GTplusplus_Everglades.java
@@ -1,4 +1,4 @@
-package gtPlusPlus;
+package gtPlusPlus.everglades;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -9,33 +9,36 @@ import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.lib.CORE.*;
+import gtPlusPlus.core.lib.CORE.Everglades;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.ORES;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
-import gtPlusPlus.core.world.darkworld.biome.Biome_DarkWorld;
-import gtPlusPlus.core.world.darkworld.block.DarkWorldContentLoader;
-import gtPlusPlus.core.world.darkworld.gen.gt.WorldGen_GT_Base;
-import gtPlusPlus.core.world.darkworld.gen.gt.WorldGen_Ores;
+import gtPlusPlus.everglades.biome.Biome_Everglades;
+import gtPlusPlus.everglades.block.DarkWorldContentLoader;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+import gtPlusPlus.everglades.gen.gt.WorldGen_GT_Base;
+import gtPlusPlus.everglades.gen.gt.WorldGen_Ores;
import gtPlusPlus.xmod.gregtech.HANDLER_GT;
import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.config.Configuration;
@MCVersion(value = "1.7.10")
-@Mod(modid = Everglades.MODID, name = Everglades.NAME, version = Everglades.VERSION, dependencies = "required-after:Forge; after:dreamcraft; after:IC2; after:ihl; required-after:gregtech; required-after:miscutils;")
-public class GTplusplus_Secondary implements ActionListener {
+@Mod(modid = Everglades.MODID, name = Everglades.NAME, version = Everglades.VERSION, dependencies = "required-after:Forge; after:dreamcraft; after:IC2; after:ihl; required-after:gregtech; after:miscutils;")
+public class GTplusplus_Everglades implements ActionListener {
//Mod Instance
@Mod.Instance(Everglades.MODID)
- public static GTplusplus_Secondary instance;
+ public static GTplusplus_Everglades instance;
// Dark World Handler
- protected static volatile Biome_DarkWorld DarkWorld_Biome;
- protected static volatile Dimension_DarkWorld DarkWorld_Dimension;
- public static int globalDarkWorldPortalSpawnTimer = 0;
+ protected static volatile Biome_Everglades Everglades_Biome;
+ protected static volatile Dimension_Everglades Everglades_Dimension;
+ public static int globalEvergladesPortalSpawnTimer = 0;
// Pre-Init
@Mod.EventHandler
@@ -45,13 +48,13 @@ public class GTplusplus_Secondary implements ActionListener {
//Setup
setVars(event);
- setDarkBiome(new Biome_DarkWorld());
- DarkWorld_Dimension = new Dimension_DarkWorld();
+ setEvergladesBiome(new Biome_Everglades());
+ Everglades_Dimension = new Dimension_Everglades();
// Load Dark World
- getDarkBiome().instance = instance;
- DarkWorld_Dimension.instance = instance;
- getDarkBiome().preInit(event);
+ getEvergladesBiome().instance = instance;
+ Everglades_Dimension.instance = instance;
+ getEvergladesBiome().preInit(event);
//Load/Set Custom Ore Gen
HANDLER_GT.sCustomWorldgenFile = new GTPP_Config(new Configuration(new File(new File(event.getModConfigurationDirectory(), "GTplusplus"), "WorldGeneration.cfg")));
@@ -62,14 +65,14 @@ public class GTplusplus_Secondary implements ActionListener {
public void load(final FMLInitializationEvent e) {
Logger.INFO("Begin resource allocation for " + Everglades.MODID + " V" +Everglades.VERSION);
- //Load Dark World and Biome
+ //Load World and Biome
GameRegistry.registerWorldGenerator(new WorldGen_GT_Base(), Short.MAX_VALUE);
- getDarkBiome().load();
- DarkWorld_Dimension.load();
+ getEvergladesBiome().load();
+ Everglades_Dimension.load();
}
- public static void GenerateOreMaterials() {
+ public static synchronized void GenerateOreMaterials() {
MaterialGenerator.generateOreMaterial(ORES.CROCROITE);
MaterialGenerator.generateOreMaterial(ORES.GEIKIELITE);
MaterialGenerator.generateOreMaterial(ORES.NICHROMITE);
@@ -100,15 +103,20 @@ public class GTplusplus_Secondary implements ActionListener {
MaterialGenerator.generateOreMaterial(ORES.CERITE);
MaterialGenerator.generateOreMaterial(ORES.FLUORCAPHITE);
MaterialGenerator.generateOreMaterial(ORES.FLORENCITE);
- MaterialGenerator.generateOreMaterial(ORES.CRYOLITE);
+ MaterialGenerator.generateOreMaterial(ORES.CRYOLITE);
+
+ //Custom Ores
+ if (LoadedMods.Big_Reactors) {
+ MaterialGenerator.generateOreMaterial(ELEMENT.getInstance().YELLORIUM, false, false, true, new short[] {255, 242, 10});
+ }
}
- void setVars(FMLPreInitializationEvent event){
+ protected synchronized void setVars(FMLPreInitializationEvent event){
//Init WorldGen config.
HANDLER_GT.sCustomWorldgenFile = new GTPP_Config(new Configuration(new File(new File(event.getModConfigurationDirectory(), "GTplusplus"), "WorldGeneration.cfg")));
- if (DimensionManager.isDimensionRegistered(Dimension_DarkWorld.DIMID)){
- Dimension_DarkWorld.DIMID = DimensionManager.getNextFreeDimId();
+ if (DimensionManager.isDimensionRegistered(Dimension_Everglades.DIMID)){
+ Dimension_Everglades.DIMID = DimensionManager.getNextFreeDimId();
}
/*
@@ -126,7 +134,7 @@ public class GTplusplus_Secondary implements ActionListener {
@EventHandler
public void serverLoad(FMLServerStartingEvent event) {
- getDarkBiome().serverLoad(event);
+ getEvergladesBiome().serverLoad(event);
}
/*@Override
@@ -159,15 +167,15 @@ public class GTplusplus_Secondary implements ActionListener {
@EventHandler
public static void postInit(final FMLPostInitializationEvent e) {
- Logger.INFO("Finished loading Toxic Everglades plugin for GT++.");
+ Logger.INFO("Finished loading Everglades plugin for GT++.");
}
- public static synchronized Biome_DarkWorld getDarkBiome() {
- return DarkWorld_Biome;
+ public static synchronized Biome_Everglades getEvergladesBiome() {
+ return Everglades_Biome;
}
- public static synchronized void setDarkBiome(Biome_DarkWorld darkWorld_Biome) {
- DarkWorld_Biome = darkWorld_Biome;
+ public static synchronized void setEvergladesBiome(Biome_Everglades darkWorld_Biome) {
+ Everglades_Biome = darkWorld_Biome;
}
@Override
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/biome/BiomeGenerator_Custom.java b/src/Java/gtPlusPlus/everglades/biome/BiomeGenerator_Custom.java
index 74a67dfc5e..83dedc376a 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/biome/BiomeGenerator_Custom.java
+++ b/src/Java/gtPlusPlus/everglades/biome/BiomeGenerator_Custom.java
@@ -1,13 +1,10 @@
-package gtPlusPlus.core.world.darkworld.biome;
+package gtPlusPlus.everglades.biome;
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.*;
import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.*;
import java.util.Random;
-import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.world.darkworld.gen.WorldGenDeadLilly;
-import gtPlusPlus.core.world.darkworld.gen.WorldGenMinable_Custom;
import net.minecraft.block.BlockFlower;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
@@ -15,85 +12,19 @@ import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeDecorator;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.gen.feature.*;
+
+import gtPlusPlus.everglades.gen.WorldGenDeadLilly;
+import gtPlusPlus.everglades.gen.WorldGenMinable_Custom;
import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.event.terraingen.*;
+import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
+import net.minecraftforge.event.terraingen.OreGenEvent;
+import net.minecraftforge.event.terraingen.TerrainGen;
public class BiomeGenerator_Custom extends BiomeDecorator {
/** The world the BiomeDecorator is currently decorating */
public World currentWorld;
/** The Biome Decorator's random number generator. */
- public Random randomGenerator;
- /** The X-coordinate of the chunk currently being decorated */
- public int chunk_X;
- /** The Z-coordinate of the chunk currently being decorated */
- public int chunk_Z;
- /** The clay generator. */
- public WorldGenerator clayGen = new WorldGenClay(4);
- /** The sand generator. */
- public WorldGenerator sandGen;
- /** The gravel generator. */
- public WorldGenerator gravelAsSandGen;
- /** The dirt generator. */
- public WorldGenerator dirtGen;
- public WorldGenerator gravelGen;
- public WorldGenerator coalGen;
- public WorldGenerator ironGen;
- /** Field that holds gold WorldGenMinable */
- public WorldGenerator goldGen;
- /** Field that holds redstone WorldGenMinable */
- public WorldGenerator redstoneGen;
- /** Field that holds diamond WorldGenMinable */
- public WorldGenerator diamondGen;
- /** Field that holds Lapis WorldGenMinable */
- public WorldGenerator lapisGen;
- public WorldGenFlowers yellowFlowerGen;
- /** Field that holds mushroomBrown WorldGenFlowers */
- public WorldGenerator mushroomBrownGen;
- /** Field that holds mushroomRed WorldGenFlowers */
- public WorldGenerator mushroomRedGen;
- /** Field that holds big mushroom generator */
- public WorldGenerator bigMushroomGen;
- /** Field that holds WorldGenReed */
- public WorldGenerator reedGen;
- /** Field that holds WorldGenCactus */
- public WorldGenerator cactusGen;
- /** The water lily generation! */
- public WorldGenerator waterlilyGen;
- /** Amount of waterlilys per chunk. */
- public int waterlilyPerChunk;
- /** The number of trees to attempt to generate per chunk. Up to 10 in forests, none in deserts. */
- public int treesPerChunk;
- /**
- * The number of yellow flower patches to generate per chunk. The game generates much less than this number, since
- * it attempts to generate them at a random altitude.
- */
- public int flowersPerChunk;
- /** The amount of tall grass to generate per chunk. */
- public int grassPerChunk;
- /** The number of dead bushes to generate per chunk. Used in deserts and swamps. */
- public int deadBushPerChunk;
- /**
- * The number of extra mushroom patches per chunk. It generates 1/4 this number in brown mushroom patches, and 1/8
- * this number in red mushroom patches. These mushrooms go beyond the default base number of mushrooms.
- */
- public int mushroomsPerChunk;
- /** The number of reeds to generate per chunk. Reeds won't generate if the randomly selected placement is unsuitable. */
- public int reedsPerChunk;
- /** The number of cactus plants to generate per chunk. Cacti only work on sand. */
- public int cactiPerChunk;
- /** The number of sand patches to generate per chunk. Sand patches only generate when part of it is underwater. */
- public int sandPerChunk;
- /**
- * The number of sand patches to generate per chunk. Sand patches only generate when part of it is underwater. There
- * appear to be two separate fields for this.
- */
- public int sandPerChunk2;
- /** The number of clay patches to generate per chunk. Only generates when part of it is underwater. */
- public int clayPerChunk;
- /** Amount of big mushrooms per chunk */
- public int bigMushroomsPerChunk;
- /** True if decorator should generate surface lava & water */
- public boolean generateLakes;
+ public Random randomGenerator;
public WorldGenerator fluoriteGen;
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java b/src/Java/gtPlusPlus/everglades/biome/Biome_Everglades.java
index 92f3f43d95..aadbfeb495 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/biome/Biome_DarkWorld.java
+++ b/src/Java/gtPlusPlus/everglades/biome/Biome_Everglades.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.world.darkworld.biome;
+package gtPlusPlus.everglades.biome;
import java.lang.reflect.Field;
import java.util.Random;
@@ -7,28 +7,30 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.entity.monster.EntitySickBlaze;
-import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
+
import net.minecraft.entity.monster.EntityPigZombie;
import net.minecraft.entity.passive.EntityBat;
import net.minecraft.entity.passive.EntitySquid;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.entity.monster.EntitySickBlaze;
+import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.common.BiomeManager;
-public class Biome_DarkWorld {
+public class Biome_Everglades {
- public static BiomeGenDarkWorld biome = new BiomeGenDarkWorld();
+ public static BiomeGenEverglades biome = new BiomeGenEverglades();
public Object instance;
- public Biome_DarkWorld() {
+ public Biome_Everglades() {
}
public void load() {
@@ -55,17 +57,17 @@ public class Biome_DarkWorld {
public void preInit(FMLPreInitializationEvent event) {
}
- static class BiomeGenDarkWorld extends BiomeGenBase {
+ static class BiomeGenEverglades extends BiomeGenBase {
@SuppressWarnings("unchecked")
- public BiomeGenDarkWorld() {
- super(CORE.DARKBIOME_ID);
+ public BiomeGenEverglades() {
+ super(CORE.EVERGLADESBIOME_ID);
this.setBiomeID();
this.theBiomeDecorator = new BiomeGenerator_Custom();
this.theBiomeDecorator.treesPerChunk = 10;
- Logger.INFO("Dark World Temperature Category: "+getTempCategory());
- this.setBiomeName("Dark World");
- this.topBlock = Dimension_DarkWorld.blockTopLayer;
- this.fillerBlock = Dimension_DarkWorld.blockSecondLayer;
+ //Logger.INFO("Dark World Temperature Category: "+getTempCategory());
+ this.setBiomeName("Toxic Everglades");
+ this.topBlock = Dimension_Everglades.blockTopLayer;
+ this.fillerBlock = Dimension_Everglades.blockSecondLayer;
this.enableRain = true;
this.enableSnow = false;
this.rainfall = 0.7F;
@@ -97,9 +99,9 @@ public class Biome_DarkWorld {
Field mClone = mInternalBiomeList;
mTempList = (BiomeGenBase[]) mInternalBiomeList.get(null);
if (mTempList != null){
- mTempList[CORE.DARKBIOME_ID] = this;
+ mTempList[CORE.EVERGLADESBIOME_ID] = this;
mInternalBiomeList.set(null, mTempList);
- if (mClone != mInternalBiomeList && mClone.hashCode() != mInternalBiomeList.hashCode()){
+ if (mTempList != mInternalBiomeList.get(null)){
ReflectionUtils.setFinalStatic(mInternalBiomeList, mTempList);
Logger.REFLECTION("Set Biome ID for Dark World Biome internally in 'biomeList' field from "+BiomeGenBase.class.getCanonicalName()+".");
return true;
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/biome/GenLayerBiomes.java b/src/Java/gtPlusPlus/everglades/biome/GenLayerBiomes.java
index f7176f86fb..b69a8ea555 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/biome/GenLayerBiomes.java
+++ b/src/Java/gtPlusPlus/everglades/biome/GenLayerBiomes.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.world.darkworld.biome;
+package gtPlusPlus.everglades.biome;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.gen.layer.GenLayer;
@@ -6,7 +6,7 @@ import net.minecraft.world.gen.layer.IntCache;
public class GenLayerBiomes extends GenLayer {
- protected BiomeGenBase[] allowedBiomes = { Biome_DarkWorld.biome, };
+ protected BiomeGenBase[] allowedBiomes = { Biome_Everglades.biome, };
public GenLayerBiomes(long seed) {
super(seed);
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/biome/GenLayerDarkWorld.java b/src/Java/gtPlusPlus/everglades/biome/GenLayerEverglades.java
index 481b16c6ee..8034921dce 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/biome/GenLayerDarkWorld.java
+++ b/src/Java/gtPlusPlus/everglades/biome/GenLayerEverglades.java
@@ -1,11 +1,13 @@
-package gtPlusPlus.core.world.darkworld.biome;
+package gtPlusPlus.everglades.biome;
import net.minecraft.world.WorldType;
-import net.minecraft.world.gen.layer.*;
+import net.minecraft.world.gen.layer.GenLayer;
+import net.minecraft.world.gen.layer.GenLayerVoronoiZoom;
+import net.minecraft.world.gen.layer.GenLayerZoom;
-public class GenLayerDarkWorld extends GenLayer {
+public class GenLayerEverglades extends GenLayer {
- public GenLayerDarkWorld(long seed) {
+ public GenLayerEverglades(long seed) {
super(seed);
}
@@ -25,6 +27,6 @@ public class GenLayerDarkWorld extends GenLayer {
@Override
public int[] getInts(int p_75904_1_, int p_75904_2_, int p_75904_3_, int p_75904_4_) {
- return null;
+ return new int[] {};
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldGround.java b/src/Java/gtPlusPlus/everglades/block/BlockDarkWorldGround.java
index ccfb1b0595..f68c97b3c5 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldGround.java
+++ b/src/Java/gtPlusPlus/everglades/block/BlockDarkWorldGround.java
@@ -1,13 +1,15 @@
-package gtPlusPlus.core.world.darkworld.block;
+package gtPlusPlus.everglades.block;
import cpw.mods.fml.common.registry.LanguageRegistry;
+
+import net.minecraft.block.BlockGrass;
+
import gtPlusPlus.api.interfaces.ITileTooltip;
import gtPlusPlus.core.creative.AddToCreativeTab;
-import net.minecraft.block.BlockGrass;
-public class blockDarkWorldGround extends BlockGrass implements ITileTooltip{
+public class BlockDarkWorldGround extends BlockGrass implements ITileTooltip{
- public blockDarkWorldGround() {
+ public BlockDarkWorldGround() {
this.setCreativeTab(AddToCreativeTab.tabBOP);
this.setBlockName("blockDarkWorldGround");
this.setHardness(1.0F);
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPollutedDirt.java b/src/Java/gtPlusPlus/everglades/block/BlockDarkWorldPollutedDirt.java
index 0404e6f083..a1fcc588b5 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPollutedDirt.java
+++ b/src/Java/gtPlusPlus/everglades/block/BlockDarkWorldPollutedDirt.java
@@ -1,24 +1,26 @@
-package gtPlusPlus.core.world.darkworld.block;
+package gtPlusPlus.everglades.block;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.interfaces.ITileTooltip;
-import gtPlusPlus.core.creative.AddToCreativeTab;
+
import net.minecraft.block.BlockDirt;
import net.minecraft.world.ColorizerGrass;
import net.minecraft.world.IBlockAccess;
-public class blockDarkWorldPollutedDirt extends BlockDirt implements ITileTooltip{
+import gtPlusPlus.api.interfaces.ITileTooltip;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+
+public class BlockDarkWorldPollutedDirt extends BlockDirt implements ITileTooltip{
- public blockDarkWorldPollutedDirt() {
+ public BlockDarkWorldPollutedDirt() {
this.setCreativeTab(AddToCreativeTab.tabBOP);
this.setBlockName("blockDarkWorldGround2");
this.setHardness(0.5F);
this.setBlockTextureName("minecraft" + ":" + "dirt");
LanguageRegistry.addName(this, "Polluted Soil");
}
-
+
@Override
@SideOnly(Side.CLIENT)
public int getBlockColor()
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortalFrame.java b/src/Java/gtPlusPlus/everglades/block/BlockDarkWorldPortalFrame.java
index ef6f2b0c7d..09dea46ab1 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortalFrame.java
+++ b/src/Java/gtPlusPlus/everglades/block/BlockDarkWorldPortalFrame.java
@@ -1,15 +1,17 @@
-package gtPlusPlus.core.world.darkworld.block;
+package gtPlusPlus.everglades.block;
import cpw.mods.fml.common.registry.LanguageRegistry;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+
import gtPlusPlus.api.interfaces.ITileTooltip;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-public class blockDarkWorldPortalFrame extends Block implements ITileTooltip{
+public class BlockDarkWorldPortalFrame extends Block implements ITileTooltip{
- public blockDarkWorldPortalFrame() {
+ public BlockDarkWorldPortalFrame() {
super(Material.iron);
this.setCreativeTab(AddToCreativeTab.tabBOP);
this.setBlockName("blockDarkWorldPortalFrame");
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldSludgeFluid.java b/src/Java/gtPlusPlus/everglades/block/BlockDarkWorldSludgeFluid.java
index c3c9beddc8..3c0445c86d 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldSludgeFluid.java
+++ b/src/Java/gtPlusPlus/everglades/block/BlockDarkWorldSludgeFluid.java
@@ -1,9 +1,12 @@
-package gtPlusPlus.core.world.darkworld.block;
+package gtPlusPlus.everglades.block;
+
+import net.minecraft.block.material.MapColor;
+import net.minecraft.block.material.Material;
+import net.minecraft.block.material.MaterialLiquid;
-import net.minecraft.block.material.*;
import net.minecraftforge.fluids.Fluid;
-public class blockDarkWorldSludgeFluid extends Fluid {
+public class BlockDarkWorldSludgeFluid extends Fluid {
public static final Material SLUDGE = new MaterialLiquid(MapColor.dirtColor);
@@ -15,11 +18,11 @@ public class blockDarkWorldSludgeFluid extends Fluid {
protected static Material material = SLUDGE;
- public blockDarkWorldSludgeFluid(String fluidName, int rgbColour) {
+ public BlockDarkWorldSludgeFluid(String fluidName, int rgbColour) {
this(fluidName, rgbColour, null);
}
- public blockDarkWorldSludgeFluid(String fluidName, int rgbColour, Float overlayAlpha) {
+ public BlockDarkWorldSludgeFluid(String fluidName, int rgbColour, Float overlayAlpha) {
super(fluidName);
setColor(rgbColour);
if (overlayAlpha != null){
@@ -36,7 +39,7 @@ public class blockDarkWorldSludgeFluid extends Fluid {
return mapColor;
}
- public blockDarkWorldSludgeFluid setColor(int parColor)
+ public BlockDarkWorldSludgeFluid setColor(int parColor)
{
mapColor = parColor;
return this;
@@ -47,7 +50,7 @@ public class blockDarkWorldSludgeFluid extends Fluid {
return overlayAlpha;
}
- public blockDarkWorldSludgeFluid setAlpha(float parOverlayAlpha)
+ public BlockDarkWorldSludgeFluid setAlpha(float parOverlayAlpha)
{
overlayAlpha = parOverlayAlpha;
return this;
@@ -77,7 +80,7 @@ public class blockDarkWorldSludgeFluid extends Fluid {
return fillSound;
}*/
- public blockDarkWorldSludgeFluid setMaterial(Material parMaterial)
+ public BlockDarkWorldSludgeFluid setMaterial(Material parMaterial)
{
material = parMaterial;
return this;
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortal.java b/src/Java/gtPlusPlus/everglades/block/BlockEvergladesPortal.java
index eab52a4183..e64968888d 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/block/blockDarkWorldPortal.java
+++ b/src/Java/gtPlusPlus/everglades/block/BlockEvergladesPortal.java
@@ -1,15 +1,10 @@
-package gtPlusPlus.core.world.darkworld.block;
+package gtPlusPlus.everglades.block;
import java.util.Random;
-import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.interfaces.ITileTooltip;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
-import gtPlusPlus.core.world.darkworld.world.TeleporterDimensionMod;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockBreakable;
import net.minecraft.block.material.Material;
@@ -24,18 +19,25 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-public class blockDarkWorldPortal extends BlockBreakable implements ITileTooltip{
+import gtPlusPlus.api.interfaces.ITileTooltip;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+import gtPlusPlus.everglades.world.TeleporterDimensionMod;
+
+public class BlockEvergladesPortal extends BlockBreakable implements ITileTooltip{
IIcon gor = null, dol = null, st1 = null, st2 = null, st3 = null, st4 = null;
- public blockDarkWorldPortal() {
+ public BlockEvergladesPortal() {
super("portal", Material.portal, false);
this.setTickRandomly(true);
this.setHardness(-1.0F);
this.setLightLevel(0.75F);
this.setCreativeTab(CreativeTabs.tabBlock);
this.setBlockName("blockDarkWorldPortal");
- LanguageRegistry.addName(this, "A Glimpse of the Toxic Everglades");
-
+
}
@SideOnly(Side.CLIENT)
@@ -80,24 +82,22 @@ public class blockDarkWorldPortal extends BlockBreakable implements ITileTooltip
* Ticks the block if it's been scheduled
*/
@Override
- public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) {
- super.updateTick(par1World, par2, par3, par4, par5Random);
- /*if (par1World.provider.isSurfaceWorld()) {
- int l;
- for (l = par3; !World.doesBlockHaveSolidTopSurface(par1World, par2, l, par4) && l > 0; --l) {
- ;
- }
- if (l > 0 && !par1World.isBlockNormalCubeDefault(par2, l + 1, par4, true)) {
- Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 65, par2 + 0.5D, l + 1.1D, par4 + 0.5D);
- if (entity != null && globalDarkWorldPortalSpawnTimer >= 100000) {
- globalDarkWorldPortalSpawnTimer = 0;
- if (MathUtils.randInt(0, 100)>=95){
- entity.timeUntilPortal = entity.getPortalCooldown();
- }
- }
+ public void updateTick(World par1World, int x, int y, int z, Random par5Random) {
+ super.updateTick(par1World, x, y, z, par5Random);
+
+ int blockCount = 0;
+ BlockPos portal = new BlockPos(x, y, z, par1World.provider.dimensionId);
+
+ for (BlockPos side : portal.getSurroundingBlocks()) {
+ Block b = side.getBlockAtPos();
+ if (b == Dimension_Everglades.blockPortalFrame || b == Dimension_Everglades.portalBlock) {
+ blockCount++;
}
- }
- globalDarkWorldPortalSpawnTimer++;*/
+ }
+ if (blockCount < 4) {
+ par1World.setBlockToAir(x, y, z);
+ }
+
}
/**
@@ -155,12 +155,12 @@ public class blockDarkWorldPortal extends BlockBreakable implements ITileTooltip
public boolean tryToCreatePortal(World par1World, int par2, int par3, int par4) {
byte b0 = 0;
byte b1 = 0;
- if (par1World.getBlock(par2 - 1, par3, par4) == Dimension_DarkWorld.blockPortalFrame
- || par1World.getBlock(par2 + 1, par3, par4) == Dimension_DarkWorld.blockPortalFrame) {
+ if (par1World.getBlock(par2 - 1, par3, par4) == Dimension_Everglades.blockPortalFrame
+ || par1World.getBlock(par2 + 1, par3, par4) == Dimension_Everglades.blockPortalFrame) {
b0 = 1;
}
- if (par1World.getBlock(par2, par3, par4 - 1) == Dimension_DarkWorld.blockPortalFrame
- || par1World.getBlock(par2, par3, par4 + 1) == Dimension_DarkWorld.blockPortalFrame) {
+ if (par1World.getBlock(par2, par3, par4 - 1) == Dimension_Everglades.blockPortalFrame
+ || par1World.getBlock(par2, par3, par4 + 1) == Dimension_Everglades.blockPortalFrame) {
b1 = 1;
}
if (b0 == b1) {
@@ -178,7 +178,7 @@ public class blockDarkWorldPortal extends BlockBreakable implements ITileTooltip
if (l != -1 && l != 2 || i1 != -1 && i1 != 3) {
Block j1 = par1World.getBlock(par2 + b0 * l, par3 + i1, par4 + b1 * l);
if (flag) {
- if (j1 != Dimension_DarkWorld.blockPortalFrame) {
+ if (j1 != Dimension_Everglades.blockPortalFrame) {
return false;
}
}
@@ -203,44 +203,74 @@ public class blockDarkWorldPortal extends BlockBreakable implements ITileTooltip
* which neighbor changed (coordinates passed are their own) Args: x, y,
* z, neighbor blockID
*/
- public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) {
+ public void onNeighborBlockChange(BlockPos pos) {
+ int x = pos.xPos, y = pos.yPos, z = pos.zPos;
+ Logger.INFO("Trigger");
+ int blockCount = 0;
+ BlockPos portal = pos;
+ World par1World = portal.world;
+ for (BlockPos side : portal.getSurroundingBlocks()) {
+ Block b = side.getBlockAtPos();
+ if (b == Dimension_Everglades.blockPortalFrame || b == Dimension_Everglades.portalBlock) {
+ blockCount++;
+ }
+ }
+ if (blockCount < 4) {
+ par1World.setBlockToAir(x, y, z);
+ par1World.scheduleBlockUpdate(x, y, z, portal.getBlockAtPos(), 0);
+ }
+
+
+
byte b0 = 0;
byte b1 = 1;
- if (par1World.getBlock(par2 - 1, par3, par4) == this || par1World.getBlock(par2 + 1, par3, par4) == this) {
+ if (par1World.getBlock(x - 1, y, z) == this || par1World.getBlock(x + 1, y, z) == this) {
b0 = 1;
b1 = 0;
}
int i1;
- for (i1 = par3; par1World.getBlock(par2, i1 - 1, par4) == this; --i1) {
+ for (i1 = y; par1World.getBlock(x, i1 - 1, z) == this; --i1) {
;
}
- if (par1World.getBlock(par2, i1 - 1, par4) != Dimension_DarkWorld.blockPortalFrame) {
- par1World.setBlockToAir(par2, par3, par4);
+ if (par1World.getBlock(x, i1 - 1, z) != Dimension_Everglades.blockPortalFrame) {
+ par1World.setBlockToAir(x, y, z);
} else {
int j1;
- for (j1 = 1; j1 < 4 && par1World.getBlock(par2, i1 + j1, par4) == this; ++j1) {
+ for (j1 = 1; j1 < 4 && par1World.getBlock(x, i1 + j1, z) == this; ++j1) {
;
}
- if (j1 == 3 && par1World.getBlock(par2, i1 + j1, par4) == Dimension_DarkWorld.blockPortalFrame) {
- boolean flag = par1World.getBlock(par2 - 1, par3, par4) == this || par1World.getBlock(par2 + 1, par3, par4) == this;
- boolean flag1 = par1World.getBlock(par2, par3, par4 - 1) == this || par1World.getBlock(par2, par3, par4 + 1) == this;
+ if (j1 == 3 && par1World.getBlock(x, i1 + j1, z) == Dimension_Everglades.blockPortalFrame) {
+ boolean flag = par1World.getBlock(x - 1, y, z) == this || par1World.getBlock(x + 1, y, z) == this;
+ boolean flag1 = par1World.getBlock(x, y, z - 1) == this || par1World.getBlock(x, y, z + 1) == this;
if (flag && flag1) {
- par1World.setBlockToAir(par2, par3, par4);
+ par1World.setBlockToAir(x, y, z);
} else {
- if ((par1World.getBlock(par2 + b0, par3, par4 + b1) != Dimension_DarkWorld.blockPortalFrame || par1World
- .getBlock(par2 - b0, par3, par4 - b1) != this)
- && (par1World.getBlock(par2 - b0, par3, par4 - b1) != Dimension_DarkWorld.blockPortalFrame || par1World.getBlock(par2 + b0, par3,
- par4 + b1) != this)) {
- par1World.setBlockToAir(par2, par3, par4);
+ if ((par1World.getBlock(x + b0, y, z + b1) != Dimension_Everglades.blockPortalFrame || par1World
+ .getBlock(x - b0, y, z - b1) != this)
+ && (par1World.getBlock(x - b0, y, z - b1) != Dimension_Everglades.blockPortalFrame || par1World.getBlock(x + b0, y,
+ z + b1) != this)) {
+ par1World.setBlockToAir(x, y, z);
}
}
} else {
- par1World.setBlockToAir(par2, par3, par4);
+ par1World.setBlockToAir(x, y, z);
}
}
}
@Override
+ public void onNeighborBlockChange(World world, int x, int y, int z, Block block) {
+ onNeighborBlockChange(new BlockPos(x, y, z, world.provider.dimensionId));
+ super.onNeighborBlockChange(world, x, y, z, block);
+ }
+
+ /*@Override
+ public void onNeighborChange(IBlockAccess world, int x, int y, int z, int tileX, int tileY, int tileZ) {
+ onNeighborBlockChange(new BlockPos(x, y, z, world.));
+ super.onNeighborChange(world, x, y, z, tileX, tileY, tileZ);
+ }*/
+
+ @Override
@SideOnly(Side.CLIENT)
/**
* Returns true if the given side of this block type should be rendered, if the adjacent block is at the given
@@ -278,10 +308,10 @@ public class blockDarkWorldPortal extends BlockBreakable implements ITileTooltip
EntityPlayerMP thePlayer = (EntityPlayerMP) par5Entity;
if (thePlayer.timeUntilPortal > 0) {
thePlayer.timeUntilPortal = 100;
- } else if (thePlayer.dimension != Dimension_DarkWorld.DIMID) {
+ } else if (thePlayer.dimension != Dimension_Everglades.DIMID) {
thePlayer.timeUntilPortal = 100;
- thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, Dimension_DarkWorld.DIMID,
- new TeleporterDimensionMod(thePlayer.mcServer.worldServerForDimension(Dimension_DarkWorld.DIMID)));
+ thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, Dimension_Everglades.DIMID,
+ new TeleporterDimensionMod(thePlayer.mcServer.worldServerForDimension(Dimension_Everglades.DIMID)));
} else {
thePlayer.timeUntilPortal = 100;
thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, 0,
@@ -329,9 +359,9 @@ public class blockDarkWorldPortal extends BlockBreakable implements ITileTooltip
}
par1World.spawnParticle("reddust", d0+0.1D, d1, d2, d3, d4, d5);
par1World.spawnParticle("smoke", d0, d1+0.1D, d2, 0, 0, 0);
-
+
Random R = new Random();
-
+
if (R.nextInt(10) == 0){
par1World.spawnParticle("largesmoke", d0, d1, d2, 0, 0+0.2D, 0);
}
@@ -348,7 +378,7 @@ public class blockDarkWorldPortal extends BlockBreakable implements ITileTooltip
public int idPicked(World par1World, int par2, int par3, int par4) {
return 0;
}
-
+
@Override
public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4){
return Utils.rgbtoHexValue(0, 255, 0);
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/DarkWorldContentLoader.java b/src/Java/gtPlusPlus/everglades/block/DarkWorldContentLoader.java
index 1908eeb11e..9d0e425e3a 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/block/DarkWorldContentLoader.java
+++ b/src/Java/gtPlusPlus/everglades/block/DarkWorldContentLoader.java
@@ -1,20 +1,21 @@
-package gtPlusPlus.core.world.darkworld.block;
+package gtPlusPlus.everglades.block;
-import static gtPlusPlus.core.world.darkworld.Dimension_DarkWorld.*;
+import static gtPlusPlus.everglades.dimension.Dimension_Everglades.*;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.init.Blocks;
+
import gtPlusPlus.core.block.base.BlockBaseFluid;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTooltip;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.world.darkworld.item.ItemBlockToxicEverglades;
-import gtPlusPlus.core.world.darkworld.item.itemDarkWorldPortalTrigger;
-import net.minecraft.init.Blocks;
+import gtPlusPlus.everglades.item.ItemBlockToxicEverglades;
+import gtPlusPlus.everglades.item.ItemEvergladesPortalTrigger;
import net.minecraftforge.fluids.FluidRegistry;
public class DarkWorldContentLoader {
//Static Vars
- public static blockDarkWorldSludgeFluid SLUDGE;
+ public static BlockDarkWorldSludgeFluid SLUDGE;
public synchronized static void run() {
@@ -26,7 +27,7 @@ public class DarkWorldContentLoader {
public synchronized static boolean initMisc(){
//Fluids
- SLUDGE = (blockDarkWorldSludgeFluid) new blockDarkWorldSludgeFluid(
+ SLUDGE = (BlockDarkWorldSludgeFluid) new BlockDarkWorldSludgeFluid(
"sludge",
Utils.rgbtoHexValue(30, 130, 30))
.setDensity(1800)
@@ -40,7 +41,7 @@ public class DarkWorldContentLoader {
}
public synchronized static boolean initItems(){
- portalItem = (itemDarkWorldPortalTrigger) (new itemDarkWorldPortalTrigger().setUnlocalizedName("everglades.trigger"));
+ portalItem = (ItemEvergladesPortalTrigger) (new ItemEvergladesPortalTrigger().setUnlocalizedName("everglades.trigger"));
GameRegistry.registerItem(portalItem, "everglades.trigger");
return true;
}
@@ -48,11 +49,11 @@ public class DarkWorldContentLoader {
public synchronized static boolean initBlocks(){
//Create Block Instances
- blockFluidLakes = new BlockBaseFluid("Sludge", SLUDGE, blockDarkWorldSludgeFluid.SLUDGE).setLightLevel(2f).setLightOpacity(1).setBlockName("fluidSludge");
- portalBlock = new blockDarkWorldPortal();
- blockTopLayer = new blockDarkWorldGround();
- blockSecondLayer = new blockDarkWorldPollutedDirt();
- blockPortalFrame = new blockDarkWorldPortalFrame();
+ blockFluidLakes = new BlockBaseFluid("Sludge", SLUDGE, BlockDarkWorldSludgeFluid.SLUDGE).setLightLevel(2f).setLightOpacity(1).setBlockName("fluidSludge");
+ portalBlock = new BlockEvergladesPortal();
+ blockTopLayer = new BlockDarkWorldGround();
+ blockSecondLayer = new BlockDarkWorldPollutedDirt();
+ blockPortalFrame = new BlockDarkWorldPortalFrame();
//Registry
GameRegistry.registerBlock(portalBlock, ItemBlockToxicEverglades.class, "dimensionDarkWorld_portal");
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/chunk/ChunkProviderModded.java b/src/Java/gtPlusPlus/everglades/chunk/ChunkProviderModded.java
index 82b21d7c0d..0ff265a4ae 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/chunk/ChunkProviderModded.java
+++ b/src/Java/gtPlusPlus/everglades/chunk/ChunkProviderModded.java
@@ -1,10 +1,8 @@
-package gtPlusPlus.core.world.darkworld.chunk;
+package gtPlusPlus.everglades.chunk;
import java.util.List;
import java.util.Random;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
import net.minecraft.block.Block;
import net.minecraft.block.BlockFalling;
import net.minecraft.entity.EnumCreatureType;
@@ -17,9 +15,16 @@ import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.*;
import net.minecraft.world.gen.feature.WorldGenLakes;
-import net.minecraft.world.gen.structure.*;
+import net.minecraft.world.gen.structure.MapGenMineshaft;
+import net.minecraft.world.gen.structure.MapGenScatteredFeature;
+import net.minecraft.world.gen.structure.MapGenVillage;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.event.terraingen.*;
+import net.minecraftforge.event.terraingen.ChunkProviderEvent;
+import net.minecraftforge.event.terraingen.PopulateChunkEvent;
+import net.minecraftforge.event.terraingen.TerrainGen;
public class ChunkProviderModded implements IChunkProvider {
private Random rand;
@@ -168,11 +173,11 @@ public class ChunkProviderModded implements IChunkProvider {
for (int k3 = 0; k3 < 4; ++k3) {
if ((d15 += d16) > 0.0D) {
- p_147424_3_[j3 += short1] = Dimension_DarkWorld.blockMainFiller;
+ p_147424_3_[j3 += short1] = Dimension_Everglades.blockMainFiller;
}
else if (k2 * 8 + l2 < b0) {
try {
- p_147424_3_[j3 += short1] = Dimension_DarkWorld.blockFluidLakes; //River Fluid .
+ p_147424_3_[j3 += short1] = Dimension_Everglades.blockFluidLakes; //River Fluid .
}
catch (Throwable t){
p_147424_3_[j3 += short1] = Blocks.water; //River Fluid Fallback
@@ -392,7 +397,7 @@ public class ChunkProviderModded implements IChunkProvider {
l1 = this.rand.nextInt(256);
i2 = l + this.rand.nextInt(16) + 8;
try {
- (new WorldGenLakes(Dimension_DarkWorld.blockFluidLakes)).generate(this.worldObj, this.rand, k1, l1, i2);
+ (new WorldGenLakes(Dimension_Everglades.blockFluidLakes)).generate(this.worldObj, this.rand, k1, l1, i2);
} catch (NullPointerException n){
n.getStackTrace();
(new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, k1, l1, i2);
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java b/src/Java/gtPlusPlus/everglades/dimension/Dimension_Everglades.java
index 6ad9a60a5a..33b36a9ae0 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java
+++ b/src/Java/gtPlusPlus/everglades/dimension/Dimension_Everglades.java
@@ -1,19 +1,20 @@
-package gtPlusPlus.core.world.darkworld;
+package gtPlusPlus.everglades.dimension;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.world.darkworld.block.blockDarkWorldPortal;
-import gtPlusPlus.core.world.darkworld.item.itemDarkWorldPortalTrigger;
-import gtPlusPlus.core.world.darkworld.world.WorldProviderMod;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
+
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.everglades.block.BlockEvergladesPortal;
+import gtPlusPlus.everglades.item.ItemEvergladesPortalTrigger;
+import gtPlusPlus.everglades.world.WorldProviderMod;
import net.minecraftforge.common.DimensionManager;
-public class Dimension_DarkWorld {
+public class Dimension_Everglades {
public Object instance;
- public static int DIMID = CORE.DARKWORLD_ID;
- public static blockDarkWorldPortal portalBlock;
- public static itemDarkWorldPortalTrigger portalItem;
+ public static int DIMID = CORE.EVERGLADES_ID;
+ public static BlockEvergladesPortal portalBlock;
+ public static ItemEvergladesPortalTrigger portalItem;
public static Block blockTopLayer;
public static Block blockSecondLayer;
public static Block blockMainFiller = Blocks.stone;
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/gen/WorldGenDeadLilly.java b/src/Java/gtPlusPlus/everglades/gen/WorldGenDeadLilly.java
index 22c3b5a090..0314f71eec 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/gen/WorldGenDeadLilly.java
+++ b/src/Java/gtPlusPlus/everglades/gen/WorldGenDeadLilly.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.world.darkworld.gen;
+package gtPlusPlus.everglades.gen;
import java.util.Random;
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/gen/WorldGenMinable_Custom.java b/src/Java/gtPlusPlus/everglades/gen/WorldGenMinable_Custom.java
index 58937c8a40..303f7353f0 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/gen/WorldGenMinable_Custom.java
+++ b/src/Java/gtPlusPlus/everglades/gen/WorldGenMinable_Custom.java
@@ -1,16 +1,17 @@
-package gtPlusPlus.core.world.darkworld.gen;
+package gtPlusPlus.everglades.gen;
import static gtPlusPlus.core.lib.CORE.PI;
import java.util.Random;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenMinable;
+import gtPlusPlus.api.objects.Logger;
+
public class WorldGenMinable_Custom extends WorldGenMinable
{
/** The block to generate. */
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT.java b/src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT.java
index db926e7c6c..2035cfe096 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT.java
+++ b/src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT.java
@@ -1,14 +1,15 @@
-package gtPlusPlus.core.world.darkworld.gen.gt;
-
-import gtPlusPlus.xmod.gregtech.HANDLER_GT;
+package gtPlusPlus.everglades.gen.gt;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;
+
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
+import gtPlusPlus.xmod.gregtech.HANDLER_GT;
+
public abstract class WorldGen_GT {
public final String mWorldGenName;
public final boolean mEnabled;
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Base.java b/src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Base.java
index 6be899e5de..5b7b34ae0f 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Base.java
+++ b/src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Base.java
@@ -1,21 +1,23 @@
-package gtPlusPlus.core.world.darkworld.gen.gt;
+package gtPlusPlus.everglades.gen.gt;
import java.util.*;
import cpw.mods.fml.common.IWorldGenerator;
-import cpw.mods.fml.common.registry.GameRegistry;
-import gregtech.api.util.GT_Log;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.api.objects.XSTR;
-import gtPlusPlus.core.material.ELEMENT;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
-import gtPlusPlus.xmod.gregtech.HANDLER_GT;
+
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
+import gregtech.api.util.GT_Log;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.random.XSTR;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+import gtPlusPlus.xmod.gregtech.HANDLER_GT;
+
public class WorldGen_GT_Base implements IWorldGenerator {
/**
@@ -71,14 +73,14 @@ public class WorldGen_GT_Base implements IWorldGenerator {
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator,
IChunkProvider chunkProvider) {
- if (world.provider.dimensionId == Dimension_DarkWorld.DIMID) {
+ if (world.provider.dimensionId == Dimension_Everglades.DIMID) {
generateSafely(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
}
}
public synchronized void generateSafely(Random random, int chunkX, int chunkZ, World world,
IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
- int xDim = Dimension_DarkWorld.DIMID;
+ int xDim = Dimension_Everglades.DIMID;
switch (world.provider.dimensionId) {
case -1: // Nether
// generateNether(world, random, chunkX * 16, chunkZ * 16);
@@ -94,19 +96,19 @@ public class WorldGen_GT_Base implements IWorldGenerator {
break;
}
else {
- generateDarkWorld(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
+ generateEverglades(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
break;
}
}
}
- private synchronized void generateDarkWorld(Random aRandom, int aX, int aZ, World aWorld,
+ private synchronized void generateEverglades(Random aRandom, int aX, int aZ, World aWorld,
IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
Logger.WORLD("Trying to Generate Dimension.");
synchronized (listLock) {
Logger.WORLD("Locked List addition.");
if (WorldGen_GT_Base.mList.add(new WorldGenContainer(new XSTR(Math.abs(aRandom.nextInt()) + 1), aX, aZ,
- Dimension_DarkWorld.DIMID,
+ Dimension_Everglades.DIMID,
aWorld, aChunkGenerator, aChunkProvider,
aWorld.getBiomeGenForCoords(aX * 16 + 8, aZ * 16 + 8).biomeName))){
Logger.WORLD("Locked List addition. Success.");
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Ore_Layer.java b/src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Ore_Layer.java
index 3cf0657e35..fe4897fd0d 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Ore_Layer.java
+++ b/src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Ore_Layer.java
@@ -1,30 +1,31 @@
-package gtPlusPlus.core.world.darkworld.gen.gt;
+package gtPlusPlus.everglades.gen.gt;
-import static gtPlusPlus.core.world.darkworld.gen.gt.WorldGen_GT_Base.debugWorldGen;
+import static gtPlusPlus.everglades.gen.gt.WorldGen_GT_Base.debugWorldGen;
+import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
+import java.util.*;
+
+import net.minecraft.block.Block;
+import net.minecraft.init.Blocks;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.IChunkProvider;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Log;
import gregtech.common.blocks.GT_Block_Ores;
import gregtech.common.blocks.GT_TileEntity_Ores;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
import gtPlusPlus.xmod.gregtech.HANDLER_GT;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraft.world.chunk.IChunkProvider;
public class WorldGen_GT_Ore_Layer
extends WorldGen_GT {
@@ -44,6 +45,8 @@ extends WorldGen_GT {
public final Material mBetween;
public final Material mSporadic;
+ public static boolean mUpdated = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK;
+ public static final Block mStoneTypes;
//public final String mBiome;
public final String mRestrictBiome;
@@ -61,6 +64,22 @@ extends WorldGen_GT {
//public final boolean mMars;
//public final boolean mAsteroid;
public final String aTextWorldgen = "worldgen.";
+
+ static {
+ if (mUpdated) {
+ Object tempBlock = null;
+ try {
+ Field temp = ReflectionUtils.getField(GregTech_API.class, "sBlockStones");
+ tempBlock = temp.get(null);
+ }
+ catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {}
+ mStoneTypes = (Block) tempBlock;
+ }
+ else {
+ mStoneTypes = null;
+ }
+ }
+
public WorldGen_GT_Ore_Layer(String aName, int aMinY, int aMaxY, int aWeight, int aDensity, int aSize, Material aPrimary, Material aSecondary, Material aBetween, Material aSporadic) {
this(aName, true, aMinY, aMaxY, aWeight, aDensity, aSize, false, false, false, false, false, false, aPrimary, aSecondary, aBetween, aSporadic);
@@ -137,7 +156,7 @@ extends WorldGen_GT {
Logger.WORLD("[World Generation Debug] Special Empty Vein placed.");
return ORE_PLACED;
}
- if (aDimensionType != Dimension_DarkWorld.DIMID) {
+ if (aDimensionType != Dimension_Everglades.DIMID) {
/* // Debug code, but spams log
if (debugWorldGen) {
GT_Log.out.println(
@@ -163,13 +182,13 @@ extends WorldGen_GT {
if (wX >= eX) { //No overlap between orevein and this chunk exists in X
Block tBlock = aWorld.getBlock(aChunkX + 8, tMinY, aChunkZ + 8);
if (tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Blocks.stone) ||
- tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Dimension_DarkWorld.blockSecondLayer) ||
- tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Dimension_DarkWorld.blockMainFiller) ||
- tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Dimension_DarkWorld.blockSecondaryFiller) ||
+ tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Dimension_Everglades.blockSecondLayer) ||
+ tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Dimension_Everglades.blockMainFiller) ||
+ tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Dimension_Everglades.blockSecondaryFiller) ||
tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Blocks.netherrack) ||
tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Blocks.end_stone) ||
tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, GregTech_API.sBlockGranites) ||
- tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, GregTech_API.sBlockStones) ) {
+ (mUpdated && tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, mStoneTypes)) ) {
// Didn't reach, but could have placed. Save orevein for future use.
return NO_OVERLAP;
} else {
@@ -189,7 +208,7 @@ extends WorldGen_GT {
tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Blocks.netherrack) ||
tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, Blocks.end_stone) ||
tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, GregTech_API.sBlockGranites) ||
- tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, GregTech_API.sBlockStones) ) {
+ (mUpdated && tBlock.isReplaceableOreGen(aWorld, aChunkX+8, tMinY, aChunkZ + 8, mStoneTypes)) ) {
// Didn't reach, but could have placed. Save orevein for future use.
return NO_OVERLAP;
} else {
@@ -437,10 +456,10 @@ extends WorldGen_GT {
tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.sand) ||
tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.dirt) ||
tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, GregTech_API.sBlockGranites) ||
- tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, GregTech_API.sBlockStones) ||
- tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Dimension_DarkWorld.blockSecondLayer) ||
- tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Dimension_DarkWorld.blockMainFiller) ||
- tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Dimension_DarkWorld.blockSecondaryFiller) ||
+ (mUpdated && tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, mStoneTypes)) ||
+ tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Dimension_Everglades.blockSecondLayer) ||
+ tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Dimension_Everglades.blockMainFiller) ||
+ tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Dimension_Everglades.blockSecondaryFiller) ||
tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.sandstone)) {
if (aWorld.setBlock(aX, aY, aZ, tOreBlock, 0, 3)){
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_Ores.java b/src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_Ores.java
index 4b099ee4cf..3b9108149a 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_Ores.java
+++ b/src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_Ores.java
@@ -1,18 +1,18 @@
-package gtPlusPlus.core.world.darkworld.gen.gt;
+package gtPlusPlus.everglades.gen.gt;
import java.util.Hashtable;
+import net.minecraft.block.Block;
+
import gregtech.api.enums.Materials;
-import gregtech.api.enums.OrePrefixes;
-import gtPlusPlus.api.objects.MaterialHelper;
+
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.ORES;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.materials.MaterialUtils;
-import gtPlusPlus.core.world.darkworld.object.BoxedQuad;
-import net.minecraft.block.Block;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.everglades.object.BoxedQuad;
public class WorldGen_Ores {
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/item/ItemBlockToxicEverglades.java b/src/Java/gtPlusPlus/everglades/item/ItemBlockToxicEverglades.java
index 6f3a713058..ce4182c598 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/item/ItemBlockToxicEverglades.java
+++ b/src/Java/gtPlusPlus/everglades/item/ItemBlockToxicEverglades.java
@@ -1,14 +1,14 @@
-package gtPlusPlus.core.world.darkworld.item;
+package gtPlusPlus.everglades.item;
import java.util.List;
-import gtPlusPlus.api.interfaces.ITileTooltip;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTooltip;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.api.interfaces.ITileTooltip;
+
public class ItemBlockToxicEverglades extends ItemBlock {
protected final int mID;
@@ -21,6 +21,7 @@ public class ItemBlockToxicEverglades extends ItemBlock {
@Override
public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
if (this.mID == 0){ //blockDarkWorldPortalFrame
+ list.add("Use this to access the Toxic Everglades.");
list.add("Assembled in the same shape as the Nether Portal.");
}
else if (this.mID == 1){ //blockDarkWorldPortal
@@ -30,7 +31,10 @@ public class ItemBlockToxicEverglades extends ItemBlock {
list.add("Will burn very quickly if it happens to catch fire.");
}
else if (this.mID == 3){ //blockDarkWorldPollutedDirt
- list.add("Maybe you can do something with this?.");
+ list.add("Maybe you can do something with this?.");
+ if (stack.getItemDamage() > 0) {
+ list.add("This smells worse than a bean fart...");
+ }
}
}
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/item/itemDarkWorldPortalTrigger.java b/src/Java/gtPlusPlus/everglades/item/ItemEvergladesPortalTrigger.java
index fa85cbe4a3..3119de19b9 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/item/itemDarkWorldPortalTrigger.java
+++ b/src/Java/gtPlusPlus/everglades/item/ItemEvergladesPortalTrigger.java
@@ -1,21 +1,24 @@
-package gtPlusPlus.core.world.darkworld.item;
+package gtPlusPlus.everglades.item;
import java.util.List;
-import gtPlusPlus.core.block.ModBlocks;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
-public class itemDarkWorldPortalTrigger extends Item {
- public itemDarkWorldPortalTrigger() {
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+
+public class ItemEvergladesPortalTrigger extends Item {
+ public ItemEvergladesPortalTrigger() {
super();
this.maxStackSize = 1;
setMaxDamage(64);
@@ -83,7 +86,7 @@ public class itemDarkWorldPortalTrigger extends Item {
Block i1 = par3World.getBlock(par4, par5, par6);
if (i1 == Blocks.air) {
par3World.playSoundEffect(par4 + 0.5D, par5 + 0.5D, par6 + 0.5D, "fire.ignite", 1.0F, itemRand.nextFloat() * 0.4F + 0.8F);
- if (Dimension_DarkWorld.portalBlock.tryToCreatePortal(par3World, par4, par5, par6)){
+ if (Dimension_Everglades.portalBlock.tryToCreatePortal(par3World, par4, par5, par6)){
//Make a Portal
}
else {
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/object/BoxedQuad.java b/src/Java/gtPlusPlus/everglades/object/BoxedQuad.java
index d3c400896b..d0fbc4247b 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/object/BoxedQuad.java
+++ b/src/Java/gtPlusPlus/everglades/object/BoxedQuad.java
@@ -1,8 +1,9 @@
-package gtPlusPlus.core.world.darkworld.object;
+package gtPlusPlus.everglades.object;
-import gtPlusPlus.core.util.array.Pair;
import net.minecraft.block.Block;
+import gtPlusPlus.api.objects.data.Pair;
+
public class BoxedQuad<K,V,C,R> {
private final Pair<Block, Integer> key;
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/world/CustomWorldType.java b/src/Java/gtPlusPlus/everglades/world/CustomWorldType.java
index eb9c284543..5a5344ca65 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/world/CustomWorldType.java
+++ b/src/Java/gtPlusPlus/everglades/world/CustomWorldType.java
@@ -1,4 +1,4 @@
-package gtPlusPlus.core.world.darkworld.world;
+package gtPlusPlus.everglades.world;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
diff --git a/src/Java/gtPlusPlus/everglades/world/EvergladesPortalPosition.java b/src/Java/gtPlusPlus/everglades/world/EvergladesPortalPosition.java
new file mode 100644
index 0000000000..227d32502b
--- /dev/null
+++ b/src/Java/gtPlusPlus/everglades/world/EvergladesPortalPosition.java
@@ -0,0 +1,14 @@
+package gtPlusPlus.everglades.world;
+
+import net.minecraft.util.ChunkCoordinates;
+
+public class EvergladesPortalPosition extends ChunkCoordinates {
+ public long field_85087_d;
+ final TeleporterDimensionMod field_85088_e;
+
+ public EvergladesPortalPosition(TeleporterDimensionMod gladesTeleporter, int par2, int par3, int par4, long par5) {
+ super(par2, par3, par4);
+ this.field_85088_e = gladesTeleporter;
+ this.field_85087_d = par5;
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/world/TeleporterDimensionMod.java b/src/Java/gtPlusPlus/everglades/world/TeleporterDimensionMod.java
index c53f90f07d..e67a882638 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/world/TeleporterDimensionMod.java
+++ b/src/Java/gtPlusPlus/everglades/world/TeleporterDimensionMod.java
@@ -1,12 +1,15 @@
-package gtPlusPlus.core.world.darkworld.world;
+package gtPlusPlus.everglades.world;
import java.util.*;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
import net.minecraft.entity.Entity;
import net.minecraft.init.Blocks;
import net.minecraft.util.*;
-import net.minecraft.world.*;
+import net.minecraft.world.ChunkCoordIntPair;
+import net.minecraft.world.Teleporter;
+import net.minecraft.world.WorldServer;
+
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
public class TeleporterDimensionMod extends Teleporter {
@@ -57,7 +60,7 @@ public class TeleporterDimensionMod extends Teleporter {
int l1 = j + j1;
int i2 = k + i1 * b1 - l * b0;
boolean flag = j1 < 0;
- this.worldServerInstance.setBlock(k1, l1, i2, flag ? Dimension_DarkWorld.blockPortalFrame : Blocks.air);
+ this.worldServerInstance.setBlock(k1, l1, i2, flag ? Dimension_Everglades.blockPortalFrame : Blocks.air);
}
}
}
@@ -102,8 +105,8 @@ public class TeleporterDimensionMod extends Teleporter {
double d5 = l1 + 0.5D - par1Entity.posZ;
for (int i2 = this.worldServerInstance.getActualHeight() - 1; i2 >= 0; --i2) {
- if (this.worldServerInstance.getBlock(l3, i2, l1) == Dimension_DarkWorld.portalBlock) {
- while (this.worldServerInstance.getBlock(l3, i2 - 1, l1) == Dimension_DarkWorld.portalBlock) {
+ if (this.worldServerInstance.getBlock(l3, i2, l1) == Dimension_Everglades.portalBlock) {
+ while (this.worldServerInstance.getBlock(l3, i2 - 1, l1) == Dimension_Everglades.portalBlock) {
--i2;
}
@@ -134,19 +137,19 @@ public class TeleporterDimensionMod extends Teleporter {
d7 = k + 0.5D;
int i4 = -1;
- if (this.worldServerInstance.getBlock(i - 1, j, k) == Dimension_DarkWorld.portalBlock) {
+ if (this.worldServerInstance.getBlock(i - 1, j, k) == Dimension_Everglades.portalBlock) {
i4 = 2;
}
- if (this.worldServerInstance.getBlock(i + 1, j, k) == Dimension_DarkWorld.portalBlock) {
+ if (this.worldServerInstance.getBlock(i + 1, j, k) == Dimension_Everglades.portalBlock) {
i4 = 0;
}
- if (this.worldServerInstance.getBlock(i, j, k - 1) == Dimension_DarkWorld.portalBlock) {
+ if (this.worldServerInstance.getBlock(i, j, k - 1) == Dimension_Everglades.portalBlock) {
i4 = 3;
}
- if (this.worldServerInstance.getBlock(i, j, k + 1) == Dimension_DarkWorld.portalBlock) {
+ if (this.worldServerInstance.getBlock(i, j, k + 1) == Dimension_Everglades.portalBlock) {
i4 = 1;
}
@@ -399,7 +402,7 @@ public class TeleporterDimensionMod extends Teleporter {
i4 = j2 + k3;
j4 = k2 + (j3 - 1) * l2 - i3 * l5;
flag = k3 < 0;
- this.worldServerInstance.setBlock(l3, i4, j4, flag ? Dimension_DarkWorld.blockPortalFrame : Blocks.air);
+ this.worldServerInstance.setBlock(l3, i4, j4, flag ? Dimension_Everglades.blockPortalFrame : Blocks.air);
}
}
}
@@ -412,7 +415,7 @@ public class TeleporterDimensionMod extends Teleporter {
i4 = j2 + k3;
j4 = k2 + (j3 - 1) * l2;
flag = j3 == 0 || j3 == 3 || k3 == -1 || k3 == 3;
- this.worldServerInstance.setBlock(l3, i4, j4, flag ? Dimension_DarkWorld.blockPortalFrame : Dimension_DarkWorld.portalBlock, 0, 2);
+ this.worldServerInstance.setBlock(l3, i4, j4, flag ? Dimension_Everglades.blockPortalFrame : Dimension_Everglades.portalBlock, 0, 2);
}
}
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/world/WorldChunkManagerCustom.java b/src/Java/gtPlusPlus/everglades/world/WorldChunkManagerCustom.java
index 9365beacf4..fc1b2ac425 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/world/WorldChunkManagerCustom.java
+++ b/src/Java/gtPlusPlus/everglades/world/WorldChunkManagerCustom.java
@@ -1,18 +1,26 @@
-package gtPlusPlus.core.world.darkworld.world;
+package gtPlusPlus.everglades.world;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.world.darkworld.biome.GenLayerDarkWorld;
+
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.util.ReportedException;
-import net.minecraft.world.*;
-import net.minecraft.world.biome.*;
+import net.minecraft.world.ChunkPosition;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldType;
+import net.minecraft.world.biome.BiomeCache;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraft.world.biome.WorldChunkManager;
import net.minecraft.world.gen.layer.GenLayer;
import net.minecraft.world.gen.layer.IntCache;
+import gtPlusPlus.everglades.biome.GenLayerEverglades;
+
public class WorldChunkManagerCustom extends WorldChunkManager {
private GenLayer genBiomes;
@@ -33,7 +41,7 @@ public class WorldChunkManagerCustom extends WorldChunkManager {
public WorldChunkManagerCustom(long seed, WorldType worldType) {
this();
// i changed this to my GenLayerDarkWorld
- GenLayer[] agenlayer = GenLayerDarkWorld.makeTheWorld(seed, worldType);
+ GenLayer[] agenlayer = GenLayerEverglades.makeTheWorld(seed, worldType);
agenlayer = getModdedBiomeGenerators(worldType, seed, agenlayer);
this.genBiomes = agenlayer[0];
diff --git a/src/Java/gtPlusPlus/core/world/darkworld/world/WorldProviderMod.java b/src/Java/gtPlusPlus/everglades/world/WorldProviderMod.java
index fd0f7a9b74..b5945bcd21 100644
--- a/src/Java/gtPlusPlus/core/world/darkworld/world/WorldProviderMod.java
+++ b/src/Java/gtPlusPlus/everglades/world/WorldProviderMod.java
@@ -1,14 +1,16 @@
-package gtPlusPlus.core.world.darkworld.world;
+package gtPlusPlus.everglades.world;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
-import gtPlusPlus.core.world.darkworld.chunk.ChunkProviderModded;
+
import net.minecraft.util.Vec3;
import net.minecraft.world.WorldProvider;
import net.minecraft.world.WorldType;
import net.minecraft.world.chunk.IChunkProvider;
+import gtPlusPlus.everglades.chunk.ChunkProviderModded;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+
public class WorldProviderMod extends WorldProvider {
@Override
@@ -16,7 +18,7 @@ public class WorldProviderMod extends WorldProvider {
this.worldChunkMgr = new WorldChunkManagerCustom(this.worldObj.getSeed(), WorldType.AMPLIFIED);
this.isHellWorld = false;
this.hasNoSky = false;
- this.dimensionId = Dimension_DarkWorld.DIMID;
+ this.dimensionId = Dimension_Everglades.DIMID;
}
@Override
diff --git a/src/Java/gtPlusPlus/nei/GT_NEI_DefaultHandler.java b/src/Java/gtPlusPlus/nei/GT_NEI_DefaultHandler.java
index 717fe3aaef..f1b689b65c 100644
--- a/src/Java/gtPlusPlus/nei/GT_NEI_DefaultHandler.java
+++ b/src/Java/gtPlusPlus/nei/GT_NEI_DefaultHandler.java
@@ -2,24 +2,31 @@ package gtPlusPlus.nei;
import java.awt.Point;
import java.awt.Rectangle;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
import org.lwjgl.opengl.GL11;
-import codechicken.lib.gui.GuiDraw;
-import codechicken.nei.PositionedStack;
-import codechicken.nei.guihook.*;
-import codechicken.nei.recipe.*;
import cpw.mods.fml.common.event.FMLInterModComms;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.gui.GT_GUIContainer_BasicMachine;
import gregtech.api.objects.ItemData;
import gregtech.api.util.*;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
+
+import codechicken.lib.gui.GuiDraw;
+import codechicken.nei.PositionedStack;
+import codechicken.nei.guihook.GuiContainerManager;
+import codechicken.nei.guihook.IContainerInputHandler;
+import codechicken.nei.guihook.IContainerTooltipHandler;
+import codechicken.nei.recipe.*;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/nei/NEI_GT_Config.java b/src/Java/gtPlusPlus/nei/NEI_GT_Config.java
index 7d695b10be..586860c923 100644
--- a/src/Java/gtPlusPlus/nei/NEI_GT_Config.java
+++ b/src/Java/gtPlusPlus/nei/NEI_GT_Config.java
@@ -1,8 +1,9 @@
package gtPlusPlus.nei;
-import codechicken.nei.api.IConfigureNEI;
import gregtech.api.util.CustomRecipeMap;
+import codechicken.nei.api.IConfigureNEI;
+
public class NEI_GT_Config
implements IConfigureNEI {
public static boolean sIsAdded = true;
diff --git a/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java b/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java
index 909c9c3c50..fed07135fb 100644
--- a/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java
+++ b/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java
@@ -1,24 +1,26 @@
package gtPlusPlus.plugin.fishing;
import gtPlusPlus.api.interfaces.IPlugin;
+import gtPlusPlus.plugin.manager.Core_Manager;
public class Core_Fishing implements IPlugin {
+ Core_Fishing() {
+ Core_Manager.registerPlugin(this);
+ }
+
@Override
public boolean preInit() {
- // TODO Auto-generated method stub
return true;
}
@Override
public boolean init() {
- // TODO Auto-generated method stub
return true;
}
@Override
public boolean postInit() {
- // TODO Auto-generated method stub
return true;
}
diff --git a/src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java b/src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java
index 8ec03e500a..d96d8d8cfd 100644
--- a/src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java
+++ b/src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java
@@ -1,10 +1,10 @@
package gtPlusPlus.plugin.fishing.item;
+import java.util.List;
+
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.plugin.fishing.misc.BaseFishTypes;
-import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
@@ -17,6 +17,8 @@ import net.minecraft.potion.PotionHelper;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gtPlusPlus.plugin.fishing.misc.BaseFishTypes;
+
public class BaseFish extends ItemFood
{
private final boolean isCooked;
diff --git a/src/Java/gtPlusPlus/plugin/fishing/misc/BaseFishTypes.java b/src/Java/gtPlusPlus/plugin/fishing/misc/BaseFishTypes.java
index 56d5e218af..ea8d04b5d3 100644
--- a/src/Java/gtPlusPlus/plugin/fishing/misc/BaseFishTypes.java
+++ b/src/Java/gtPlusPlus/plugin/fishing/misc/BaseFishTypes.java
@@ -5,11 +5,13 @@ import com.google.common.collect.Maps;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.plugin.fishing.item.BaseFish;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
+import gtPlusPlus.plugin.fishing.item.BaseFish;
+
public enum BaseFishTypes{
COD(0, "cod", 2, 0.1F, 5, 0.6F),
diff --git a/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java b/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java
index 2fc6102779..de8d8bc408 100644
--- a/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java
+++ b/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java
@@ -2,12 +2,13 @@ package gtPlusPlus.plugin.manager;
import gtPlusPlus.api.interfaces.IPlugin;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.array.AutoMap;
+import gtPlusPlus.api.objects.data.AutoMap;
public class Core_Manager {
public static AutoMap<IPlugin> mPlugins = new AutoMap<IPlugin>();
public static void registerPlugin(IPlugin plug) {
+ Logger.INFO("[Plugin] " + "Registered "+plug.getPluginName()+".");
mPlugins.put(plug);
}
public static boolean preInit() {
diff --git a/src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java b/src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java
index b6f6dfccdc..f33c0a029d 100644
--- a/src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java
+++ b/src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java
@@ -3,14 +3,22 @@ package gtPlusPlus.preloader;
import org.apache.logging.log4j.Level;
import cpw.mods.fml.relauncher.FMLRelaunchLog;
+
+import net.minecraft.item.ItemStack;
+
import gregtech.common.items.GT_MetaGenerated_Item_01;
+
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class Preloader_GT_OreDict {
public static boolean shouldPreventRegistration(final String string, final ItemStack bannedItem) {
+
+ if (bannedItem == null || (!CORE_Preloader.enableOldGTcircuits && !LoadedMods.Mekanism)) {
+ return false;
+ }
+
try {
if (CORE_Preloader.enableOldGTcircuits){
if ((bannedItem != null) && ItemUtils.getModId(bannedItem).toLowerCase().equals("gregtech")){
@@ -55,7 +63,7 @@ public class Preloader_GT_OreDict {
if (isInstanceOf(MekCircuit, bannedItem.getItem())) {
for (int r=0;r<4;r++){
if (bannedItem.getItemDamage() == r){
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism.");
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing %s from the OreDictionary to balance Mekanism.", bannedItem.getDisplayName());
return true;
}
}
@@ -66,7 +74,7 @@ public class Preloader_GT_OreDict {
final Class<?> MekIngot = Class.forName("mekanism.common.item.ItemIngot");
if (isInstanceOf(MekIngot, bannedItem.getItem())) {
if (bannedItem.getItemDamage() == 1){
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism.");
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing %s from the OreDictionary to balance Mekanism.", bannedItem.getDisplayName());
return true;
}
}
@@ -76,7 +84,7 @@ public class Preloader_GT_OreDict {
final Class<?> MekIngot = Class.forName("mekanism.common.item.ItemDirtyDust");
if (isInstanceOf(MekIngot, bannedItem.getItem())) {
if (bannedItem.getItemDamage() == 2){
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism.");
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing %s from the OreDictionary to balance Mekanism.", bannedItem.getDisplayName());
return true;
}
}
@@ -86,7 +94,7 @@ public class Preloader_GT_OreDict {
final Class<?> MekIngot = Class.forName("mekanism.common.item.ItemDust");
if (isInstanceOf(MekIngot, bannedItem.getItem())) {
if (bannedItem.getItemDamage() == 2){
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism.");
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing %s from the OreDictionary to balance Mekanism.", bannedItem.getDisplayName());
return true;
}
}
@@ -96,7 +104,7 @@ public class Preloader_GT_OreDict {
final Class<?> MekIngot = Class.forName("mekanism.common.item.ItemCrystal");
if (isInstanceOf(MekIngot, bannedItem.getItem())) {
if (bannedItem.getItemDamage() == 2){
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism.");
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing %s from the OreDictionary to balance Mekanism.", bannedItem.getDisplayName());
return true;
}
}
@@ -106,7 +114,7 @@ public class Preloader_GT_OreDict {
final Class<?> MekIngot = Class.forName("mekanism.common.item.ItemShard");
if (isInstanceOf(MekIngot, bannedItem.getItem())) {
if (bannedItem.getItemDamage() == 2){
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism.");
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing %s from the OreDictionary to balance Mekanism.", bannedItem.getDisplayName());
return true;
}
}
@@ -116,7 +124,7 @@ public class Preloader_GT_OreDict {
final Class<?> MekIngot = Class.forName("mekanism.common.item.ItemClump");
if (isInstanceOf(MekIngot, bannedItem.getItem())) {
if (bannedItem.getItemDamage() == 2){
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism.");
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing %s from the OreDictionary to balance Mekanism.", bannedItem.getDisplayName());
return true;
}
}
@@ -126,7 +134,7 @@ public class Preloader_GT_OreDict {
final Class<?> MekOre = Class.forName("mekanism.common.item.ItemBlockOre");
if (isInstanceOf(MekOre, bannedItem.getItem()) || (bannedItem == ItemUtils.simpleMetaStack("Mekanism:OreBlock", 0, 1))) {
if (bannedItem.getItemDamage() == 0){
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism.");
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing %s from the OreDictionary to balance Mekanism.", bannedItem.getDisplayName());
return true;
}
}
@@ -134,11 +142,11 @@ public class Preloader_GT_OreDict {
}
} catch (final Throwable e) {
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "A mod tried to register an invalid item with the OreDictonary.");
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "A mod tried to register an invalid item with the OreDictionary.");
if (bannedItem != null){
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Please report this issue to the authors of "+ItemUtils.getModId(bannedItem));
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Please report this issue to the authors of %s", ItemUtils.getModId(bannedItem));
}
- FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, e.getMessage());
+ FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "%s", e.getMessage());
}
return false;
}
diff --git a/src/Java/gtPlusPlus/preloader/asm/Modify_OreDict.java b/src/Java/gtPlusPlus/preloader/asm/Modify_OreDict.java
deleted file mode 100644
index b4a8bf5c00..0000000000
--- a/src/Java/gtPlusPlus/preloader/asm/Modify_OreDict.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package gtPlusPlus.preloader.asm;
-
-import java.lang.reflect.Field;
-import java.util.*;
-
-import com.google.common.collect.Lists;
-
-import cpw.mods.fml.common.FMLLog;
-import cpw.mods.fml.common.Loader;
-import cpw.mods.fml.common.registry.GameData;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.oredict.OreDictionary;
-
-@SuppressWarnings("unchecked")
-public class Modify_OreDict extends OreDictionary{
-
- static Field stack;
- static Field id;
-
- private static Map<Integer, List<Integer>> stackToId; // Calculated from 128 * 0.75
- private static List<ArrayList<ItemStack>> idToStack; //ToDo: Unqualify to List when possible {1.8}
-
-
- static {
- try {
- stack = ReflectionUtils.getField(OreDictionary.class, "stackToId");
- id = ReflectionUtils.getField(OreDictionary.class, "idToStack");
- stackToId = (Map<Integer, List<Integer>>) stack.get(OreDictionary.class);
- idToStack = (List<ArrayList<ItemStack>>) stack.get(OreDictionary.class);
- }
- catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {}
- }
-
- //Utils.LOG_INFO("O-"+(byte) nameField.get(clazz) + " | "+newValue);
-
- /**
- * Registers a ore item into the dictionary.
- * Raises the registerOre function in all registered handlers.
- *
- * @param name The name of the ore
- * @param id The ID of the ore
- * @param ore The ore's ItemStack
- */
- private static void registerOreImpl(String name, ItemStack ore)
- {
- if (name == null || name.isEmpty() || "Unknown".equals(name)) return; //prevent bad IDs.
- if (ore == null || ore.getItem() == null)
- {
- FMLLog.bigWarning("Invalid registration attempt for an Ore Dictionary item with name %s has occurred. The registration has been denied to prevent crashes. The mod responsible for the registration needs to correct this.", name);
- return; //prevent bad ItemStacks.
- }
-
- int oreID = getOreID(name);
- // HACK: use the registry name's ID. It is unique and it knows about substitutions. Fallback to a -1 value (what Item.getIDForItem would have returned) in the case where the registry is not aware of the item yet
- // IT should be noted that -1 will fail the gate further down, if an entry already exists with value -1 for this name. This is what is broken and being warned about.
- // APPARENTLY it's quite common to do this. OreDictionary should be considered alongside Recipes - you can't make them properly until you've registered with the game.
- String registryName = ore.getItem().delegate.name();
- int hash;
- if (registryName == null)
- {
- FMLLog.bigWarning("A broken ore dictionary registration with name %s has occurred. It adds an item (type: %s) which is currently unknown to the game registry. This dictionary item can only support a single value when"
- + " registered with ores like this, and NO I am not going to turn this spam off. Just register your ore dictionary entries after the GameRegistry.\n"
- + "TO USERS: YES this is a BUG in the mod "+Loader.instance().activeModContainer().getName()+" report it to them!", name, ore.getItem().getClass());
- hash = -1;
- }
- else
- {
- hash = GameData.getItemRegistry().getId(registryName);
- }
- if (ore.getItemDamage() != WILDCARD_VALUE)
- {
- hash |= ((ore.getItemDamage() + 1) << 16); // +1 so 0 is significant
- }
-
- //Add things to the baked version, and prevent duplicates
- List<Integer> ids = stackToId.get(hash);
- if (ids != null && ids.contains(oreID)) return;
- if (ids == null)
- {
- ids = Lists.newArrayList();
- stackToId.put(hash, ids);
- }
- ids.add(oreID);
-
- //Add to the unbaked version
- ore = ore.copy();
- idToStack.get(oreID).add(ore);
- MinecraftForge.EVENT_BUS.post(new OreRegisterEvent(name, ore));
- }
-
-}
diff --git a/src/Java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java b/src/Java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java
index f5421e7fdd..c175d921b1 100644
--- a/src/Java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java
+++ b/src/Java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java
@@ -7,10 +7,13 @@ import java.util.List;
import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;
-import cpw.mods.fml.common.*;
+import cpw.mods.fml.common.DummyModContainer;
+import cpw.mods.fml.common.LoadController;
import cpw.mods.fml.common.Mod.EventHandler;
+import cpw.mods.fml.common.ModMetadata;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.versioning.ArtifactVersion;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.preloader.CORE_Preloader;
import net.minecraftforge.common.config.Configuration;
diff --git a/src/Java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java b/src/Java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java
index 68aab74a0a..b208c2f8f0 100644
--- a/src/Java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java
+++ b/src/Java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java
@@ -5,6 +5,7 @@ import java.util.Map;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.SortingIndex;
+
import gtPlusPlus.preloader.asm.transformers.Preloader_Transformer_Handler;
@SortingIndex(10097)
diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java
index 535d1f778b..cba11d4e29 100644
--- a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java
+++ b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java
@@ -5,9 +5,12 @@ import static org.objectweb.asm.Opcodes.*;
import java.io.File;
import org.apache.logging.log4j.Level;
-import org.objectweb.asm.*;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.Label;
+import org.objectweb.asm.MethodVisitor;
import cpw.mods.fml.relauncher.FMLRelaunchLog;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.preloader.CORE_Preloader;
@@ -15,7 +18,7 @@ import net.minecraftforge.common.config.Configuration;
public class Preloader_ClassTransformer {
- public boolean getConfig(){
+ public static boolean getConfig(){
final Configuration config = new Configuration( new File(Utils.getMcDir(), "config/GTplusplus/GTplusplus.cfg"));
if (config != null){
config.load();
diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java
index c6edd94238..ebe1813e15 100644
--- a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java
+++ b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java
@@ -3,38 +3,38 @@ package gtPlusPlus.preloader.asm.transformers;
import static org.objectweb.asm.Opcodes.*;
import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
+import java.util.*;
import org.apache.logging.log4j.Level;
-import org.objectweb.asm.*;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.FieldVisitor;
+import org.objectweb.asm.MethodVisitor;
import cpw.mods.fml.relauncher.FMLRelaunchLog;
-import gregtech.api.GregTech_API;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.BaseMetaTileEntity;
-import gregtech.api.metatileentity.MetaTileEntity;
-import gregtech.common.blocks.GT_Block_Machines;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.api.objects.XSTR;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.nbt.NBTUtils;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
+import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.BaseMetaTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.common.blocks.GT_Block_Machines;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.api.objects.random.XSTR;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+
public class Preloader_ClassTransformer2 {
/**
diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
index 9163b54709..9222014092 100644
--- a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
+++ b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
@@ -5,21 +5,26 @@ import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassWriter;
import cpw.mods.fml.relauncher.FMLRelaunchLog;
+
+import net.minecraft.launchwrapper.IClassTransformer;
+
import gtPlusPlus.preloader.asm.transformers.Preloader_ClassTransformer.OreDictionaryVisitor;
import gtPlusPlus.preloader.asm.transformers.Preloader_ClassTransformer2.GT_MetaTile_Visitor;
-import net.minecraft.launchwrapper.IClassTransformer;
public class Preloader_Transformer_Handler implements IClassTransformer {
private final boolean mEnabled = false;
public byte[] transform(String name, String transformedName, byte[] basicClass) {
+
+
if(transformedName.equals("net.minecraftforge.oredict.OreDictionary")) {
FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Transforming %s", transformedName);
ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
new ClassReader(basicClass).accept(new OreDictionaryVisitor(classWriter), 0);
return classWriter.toByteArray();
- }
+ }
+
if (mEnabled) {
if(transformedName.equals("gregtech.api.metatileentity.BaseMetaTileEntity")) {
FMLRelaunchLog.log("[GT++ ASM] NBTFixer", Level.INFO, "Transforming %s", transformedName);
diff --git a/src/Java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java b/src/Java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java
index 3ee719be4d..b152be46b1 100644
--- a/src/Java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java
+++ b/src/Java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java
@@ -1,6 +1,13 @@
package gtPlusPlus.xmod.bop;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
public class HANDLER_BiomesOPlenty {
@@ -22,7 +29,12 @@ public class HANDLER_BiomesOPlenty {
public static void postInit(){
if (LoadedMods.BiomesOPlenty){
-
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] {ItemUtils.getSimpleStack(BOP_Block_Registrator.log_Rainforest)}, ItemUtils.getSimpleStack(Item.getItemFromBlock(Blocks.planks), 2));
+ RecipeUtils.recipeBuilder(
+ CI.craftingToolSaw, null, null,
+ ItemUtils.getSimpleStack(BOP_Block_Registrator.log_Rainforest), null, null,
+ null, null, null,
+ ItemUtils.getSimpleStack(Item.getItemFromBlock(Blocks.planks), 4));
}
}
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java b/src/Java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java
index 6626076eeb..99d2d56936 100644
--- a/src/Java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java
@@ -1,8 +1,11 @@
package gtPlusPlus.xmod.bop.blocks;
-import gtPlusPlus.xmod.bop.blocks.rainforest.*;
import net.minecraft.block.Block;
+import gtPlusPlus.xmod.bop.blocks.rainforest.LeavesRainforestTree;
+import gtPlusPlus.xmod.bop.blocks.rainforest.LogRainforestTree;
+import gtPlusPlus.xmod.bop.blocks.rainforest.SaplingRainforestTree;
+
public class BOP_Block_Registrator {
public static Block log_Rainforest;
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java b/src/Java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java
index 93a8d1febb..7a40ab154d 100644
--- a/src/Java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java
@@ -7,19 +7,23 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.block.BlockLeaves;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
-import net.minecraft.item.*;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class LeavesBase extends BlockLeaves {
protected IIcon[][] leafTextures = new IIcon[2][];
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java b/src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java
index 20b791edce..976361a01b 100644
--- a/src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java
@@ -6,17 +6,21 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.block.BlockLog;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
-import net.minecraft.item.*;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public abstract class LogBase extends BlockLog
{
public String[] treeType = new String[] {};
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java b/src/Java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java
index 727b36638e..1aab5133dc 100644
--- a/src/Java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java
@@ -7,21 +7,27 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockSapling;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
-import net.minecraft.item.*;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
-import net.minecraft.world.gen.feature.*;
+import net.minecraft.world.gen.feature.WorldGenBigTree;
+import net.minecraft.world.gen.feature.WorldGenTrees;
+import net.minecraft.world.gen.feature.WorldGenerator;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class SaplingBase extends BlockSapling
{
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java
index 2fcbd966ee..39e434243a 100644
--- a/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java
@@ -2,13 +2,14 @@ package gtPlusPlus.xmod.bop.blocks.rainforest;
import java.util.Random;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
-import gtPlusPlus.xmod.bop.blocks.base.LeavesBase;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
+import gtPlusPlus.xmod.bop.blocks.base.LeavesBase;
+
public class LeavesRainforestTree extends LeavesBase {
public LeavesRainforestTree(){
diff --git a/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java
index 26accd283e..73b916d383 100644
--- a/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java
+++ b/src/Java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java
@@ -2,14 +2,17 @@ package gtPlusPlus.xmod.bop.blocks.rainforest;
import java.util.Random;
+import net.minecraft.block.Block;
+import net.minecraft.init.Blocks;
+import net.minecraft.world.World;
+import net.minecraft.world.gen.feature.WorldGenBigTree;
+import net.minecraft.world.gen.feature.WorldGenTrees;
+import net.minecraft.world.gen.feature.WorldGenerator;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
import gtPlusPlus.xmod.bop.blocks.base.SaplingBase;
import gtPlusPlus.xmod.bop.world.features.trees.WorldGenRainForestTree_Ex;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.feature.*;
public class SaplingRainforestTree extends SaplingBase {
diff --git a/src/Java/gtPlusPlus/xmod/bop/creative/MiscUtilsBOPTab.java b/src/Java/gtPlusPlus/xmod/bop/creative/MiscUtilsBOPTab.java
index 054d82ffa7..f7a9ea3d41 100644
--- a/src/Java/gtPlusPlus/xmod/bop/creative/MiscUtilsBOPTab.java
+++ b/src/Java/gtPlusPlus/xmod/bop/creative/MiscUtilsBOPTab.java
@@ -1,9 +1,10 @@
package gtPlusPlus.xmod.bop.creative;
-import gtPlusPlus.core.item.ModItems;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
+import gtPlusPlus.core.item.ModItems;
+
public class MiscUtilsBOPTab extends CreativeTabs {
public MiscUtilsBOPTab(final String lable) {
diff --git a/src/Java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenRainForestTree_Ex.java b/src/Java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenRainForestTree_Ex.java
index 2357fe4ea6..fa29f99655 100644
--- a/src/Java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenRainForestTree_Ex.java
+++ b/src/Java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenRainForestTree_Ex.java
@@ -2,12 +2,13 @@ package gtPlusPlus.xmod.bop.world.features.trees;
import java.util.Random;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.block.Block;
import net.minecraft.block.BlockSapling;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
+
+import gtPlusPlus.api.objects.Logger;
import net.minecraftforge.common.util.ForgeDirection;
public class WorldGenRainForestTree_Ex extends WorldGenAbstractTree{
diff --git a/src/Java/gtPlusPlus/xmod/Computronics/HANDLER_Computronics.java b/src/Java/gtPlusPlus/xmod/computronics/HANDLER_Computronics.java
index 5362f13437..11a991a579 100644
--- a/src/Java/gtPlusPlus/xmod/Computronics/HANDLER_Computronics.java
+++ b/src/Java/gtPlusPlus/xmod/computronics/HANDLER_Computronics.java
@@ -1,8 +1,9 @@
-package gtPlusPlus.xmod.Computronics;
+package gtPlusPlus.xmod.computronics;
import gregtech.GT_Mod;
import gregtech.api.enums.*;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.core.lib.LoadedMods;
public class HANDLER_Computronics {
diff --git a/src/Java/gtPlusPlus/xmod/eio/handler/HandlerTooltip_EIO.java b/src/Java/gtPlusPlus/xmod/eio/handler/HandlerTooltip_EIO.java
index 915140df2c..1066bea75a 100644
--- a/src/Java/gtPlusPlus/xmod/eio/handler/HandlerTooltip_EIO.java
+++ b/src/Java/gtPlusPlus/xmod/eio/handler/HandlerTooltip_EIO.java
@@ -5,30 +5,33 @@ import static gtPlusPlus.core.lib.CORE.ConfigSwitches.disableEnderIOIngotTooltip
import java.lang.reflect.Field;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.Materials;
+
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.eio.material.MaterialEIO;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
public class HandlerTooltip_EIO {
- Item mIngot;
- ItemStack mPulsatingIron;
- ItemStack mConductiveIron;
- ItemStack mRedstoneAlloy;
- ItemStack mElectricalSteel;
- ItemStack mEnergeticAlloy;
- ItemStack mVibrantAlloy;
- ItemStack mSoularium;
- ItemStack mDarkIron;
+ private static volatile Item mIngot;
+ private static volatile ItemStack mPulsatingIron;
+ private static volatile ItemStack mConductiveIron;
+ private static volatile ItemStack mRedstoneAlloy;
+ private static volatile ItemStack mElectricalSteel;
+ private static volatile ItemStack mEnergeticAlloy;
+ private static volatile ItemStack mVibrantAlloy;
+ private static volatile ItemStack mSoularium;
+ private static volatile ItemStack mDarkIron;
@SubscribeEvent
public void onItemTooltip(ItemTooltipEvent event){
//Is EIO loaded?
- if (disableEnderIOIngotTooltips && LoadedMods.EnderIO){
+ if (!disableEnderIOIngotTooltips && LoadedMods.EnderIO){
//Is the EIO Ingot Item null?
//If it is, reflect in.
@@ -90,8 +93,8 @@ public class HandlerTooltip_EIO {
//If stacks match, add a tooltip.
- if (this.mIngot != null){
- if (event.itemStack.getItem() == this.mIngot){
+ if (mIngot != null){
+ if (event.itemStack.getItem() == mIngot){
if (event.itemStack.getItemDamage() == 0){
event.toolTip.add(MaterialEIO.ELECTRICAL_STEEL.vChemicalFormula);
}
diff --git a/src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java b/src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java
index dbc0589fd2..1343bdc8af 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java
@@ -4,12 +4,14 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import cpw.mods.fml.common.Optional;
+
+import net.minecraft.block.Block;
+import net.minecraft.world.World;
+
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.forestry.bees.items.FR_ItemRegistry;
import gtPlusPlus.xmod.forestry.bees.recipe.FR_Gregtech_Recipes;
-import net.minecraft.block.Block;
-import net.minecraft.world.World;
public class HANDLER_FR {
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/blocks/FR_BlockRegistry.java b/src/Java/gtPlusPlus/xmod/forestry/bees/blocks/FR_BlockRegistry.java
index f896dcd05c..fa36732cb6 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/blocks/FR_BlockRegistry.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/blocks/FR_BlockRegistry.java
@@ -1,11 +1,13 @@
package gtPlusPlus.xmod.forestry.bees.blocks;
import cpw.mods.fml.common.registry.GameRegistry;
-import forestry.core.utils.StringUtil;
-import forestry.plugins.PluginManager;
+
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
+
+import forestry.core.utils.StringUtil;
+import forestry.plugins.PluginManager;
import net.minecraftforge.oredict.OreDictionary;
public abstract class FR_BlockRegistry {
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/custom/CustomCombs.java b/src/Java/gtPlusPlus/xmod/forestry/bees/custom/CustomCombs.java
index 11f6e71b8d..b4d6e4c2fc 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/custom/CustomCombs.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/custom/CustomCombs.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.forestry.bees.custom;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_LanguageManager;
+
import gtPlusPlus.core.util.Utils;
public enum CustomCombs {
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bee_Definition.java b/src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bee_Definition.java
index 7e3738d9fb..3dbe10af59 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bee_Definition.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bee_Definition.java
@@ -7,6 +7,8 @@ import java.util.Locale;
import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.commons.lang3.text.WordUtils;
+import net.minecraft.item.ItemStack;
+
import forestry.api.apiculture.*;
import forestry.api.core.EnumHumidity;
import forestry.api.core.EnumTemperature;
@@ -17,9 +19,8 @@ import forestry.core.genetics.alleles.AlleleHelper;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.BiomeDictionary.Type;
public enum GTPP_Bee_Definition implements IBeeDefinition {
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java b/src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java
index 37e479efd2..e2a67197d3 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java
@@ -1,25 +1,30 @@
package gtPlusPlus.xmod.forestry.bees.custom;
-import java.lang.reflect.*;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import org.apache.commons.lang3.reflect.FieldUtils;
import cpw.mods.fml.common.Loader;
-import forestry.api.genetics.AlleleManager;
-import forestry.api.genetics.IAllele;
+
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
import gregtech.GT_Mod;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
+
+import forestry.api.genetics.AlleleManager;
+import forestry.api.genetics.IAllele;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.base.ingots.BaseItemIngot_OLD;
import gtPlusPlus.core.item.base.misc.BaseItemMisc;
import gtPlusPlus.core.item.base.misc.BaseItemMisc.MiscTypes;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public class GTPP_Bees {
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java b/src/Java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java
index d95993f2d2..a33ea101c2 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java
@@ -10,20 +10,23 @@ import com.google.common.collect.ImmutableMap;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import forestry.api.core.Tabs;
-import forestry.api.recipes.RecipeManagers;
-import gregtech.GT_Mod;
-import gregtech.api.enums.*;
-import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
+import gregtech.GT_Mod;
+import gregtech.api.enums.*;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+import forestry.api.core.Tabs;
+import forestry.api.recipes.RecipeManagers;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
public class ItemCustomComb extends Item {
@SideOnly(Side.CLIENT)
private IIcon secondIcon;
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/gui/ContainerBeeHouse.java b/src/Java/gtPlusPlus/xmod/forestry/bees/gui/ContainerBeeHouse.java
index 91ab60f8bb..4aa9de8220 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/gui/ContainerBeeHouse.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/gui/ContainerBeeHouse.java
@@ -11,6 +11,7 @@
package gtPlusPlus.xmod.forestry.bees.gui;
import net.minecraft.entity.player.InventoryPlayer;
+
import forestry.apiculture.gui.ContainerBeeHelper;
import forestry.apiculture.gui.IContainerBeeHousing;
import forestry.apiculture.tiles.TileBeeHousingBase;
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/gui/GuiBeeHouse.java b/src/Java/gtPlusPlus/xmod/forestry/bees/gui/GuiBeeHouse.java
index b510b7a4d6..89a2f121d9 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/gui/GuiBeeHouse.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/gui/GuiBeeHouse.java
@@ -11,6 +11,7 @@
package gtPlusPlus.xmod.forestry.bees.gui;
import net.minecraft.inventory.Container;
+
import forestry.apiculture.gui.IContainerBeeHousing;
import forestry.apiculture.gui.IGuiBeeHousingInventory;
import forestry.core.config.Constants;
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/inventory/InventoryDenseBeeHouse.java b/src/Java/gtPlusPlus/xmod/forestry/bees/inventory/InventoryDenseBeeHouse.java
index 5cb1d06982..47c380fdfe 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/inventory/InventoryDenseBeeHouse.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/inventory/InventoryDenseBeeHouse.java
@@ -13,13 +13,14 @@ package gtPlusPlus.xmod.forestry.bees.inventory;
import java.util.ArrayList;
import java.util.Collection;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
import forestry.api.apiculture.*;
import forestry.apiculture.InventoryBeeHousing;
import forestry.apiculture.inventory.IApiaryInventory;
import forestry.core.access.IAccessHandler;
import forestry.core.utils.SlotUtil;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
public class InventoryDenseBeeHouse extends InventoryBeeHousing implements IApiaryInventory {
public static final int SLOT_FRAMES_1 = 9;
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/items/FR_ItemRegistry.java b/src/Java/gtPlusPlus/xmod/forestry/bees/items/FR_ItemRegistry.java
index baa49ef826..5cab7d99b9 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/items/FR_ItemRegistry.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/items/FR_ItemRegistry.java
@@ -11,10 +11,15 @@
package gtPlusPlus.xmod.forestry.bees.items;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.WeightedRandomChestContent;
+
import forestry.core.utils.StringUtil;
+import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
-import net.minecraft.item.*;
-import net.minecraft.util.WeightedRandomChestContent;
import net.minecraftforge.common.ChestGenHooks;
public class FR_ItemRegistry {
@@ -48,8 +53,15 @@ public class FR_ItemRegistry {
//frameProven = registerItem(new FR_ItemHiveFrame(720, 0.3f), "frameProven");
//Magic Bee like Frames
+
+ if (!CORE.GTNH) {
+ hiveFrameVoid = new MB_ItemFrame(MB_FrameType.VOID, EnumRarity.rare, "Makes your bee die in the blink of an eye.");
+ }
+ else {
+ hiveFrameVoid = new MB_ItemFrame(MB_FrameType.USELESS, EnumRarity.common, "No more cheaty frames for GTNH players.");
+ }
+
hiveFrameAccelerated = new MB_ItemFrame(MB_FrameType.ACCELERATED, "Longevity for bees isn't very common, especially if they're working harder.");
- hiveFrameVoid = new MB_ItemFrame(MB_FrameType.VOID, EnumRarity.rare, "Makes your bee die in the blink of an eye.");
hiveFrameMutagenic = new MB_ItemFrame(MB_FrameType.MUTAGENIC, EnumRarity.epic, "Evolution of the fittest, finest and fastest.");
hiveFrameBusy = new MB_ItemFrame(MB_FrameType.BUSY, "Your bee will work harder and longer than you expected.");
ChestGenHooks.addItem(ChestGenHooks.STRONGHOLD_CORRIDOR, new WeightedRandomChestContent(new ItemStack(hiveFrameVoid), 1, 1, 14));
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_FrameType.java b/src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_FrameType.java
index f49d9379a9..36d4073c50 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_FrameType.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_FrameType.java
@@ -18,7 +18,8 @@ public enum MB_FrameType implements IBeeModifier
ACCELERATED("Accelerated", 175, 1f, 1.2f, 0.9f, 1.8f, 1f),
VOID("Void", 20, 1f, 1f, 0.0001f, 10f, 1f),
MUTAGENIC("Mutagenic", 3, 1f, 5f, 0.0001f, 10f, 1f),
- BUSY("Busy", 2000, 1f, 0f, 3f, 4f, 1f);
+ BUSY("Busy", 2000, 1f, 0f, 3f, 4f, 1f),
+ USELESS("Useless", 100, 1f, 0f, 1f, 1f, 1f);
private final String frameName;
public final int maxDamage;
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_ItemFrame.java b/src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_ItemFrame.java
index 6e9a2006d0..f57caff45b 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_ItemFrame.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/items/MB_ItemFrame.java
@@ -5,14 +5,18 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import forestry.api.apiculture.*;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
+import forestry.api.apiculture.*;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+
public class MB_ItemFrame extends Item implements IHiveFrame
{
private final MB_FrameType type;
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/recipe/FR_Gregtech_Recipes.java b/src/Java/gtPlusPlus/xmod/forestry/bees/recipe/FR_Gregtech_Recipes.java
index f97c556f6a..30b7099de8 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/recipe/FR_Gregtech_Recipes.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/recipe/FR_Gregtech_Recipes.java
@@ -1,13 +1,15 @@
package gtPlusPlus.xmod.forestry.bees.recipe;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import gtPlusPlus.xmod.forestry.bees.items.FR_ItemRegistry;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import gtPlusPlus.xmod.forestry.bees.items.FR_ItemRegistry;
+
public class FR_Gregtech_Recipes {
private static String rod_Electrum = "stickElectrum";
@@ -49,13 +51,18 @@ public class FR_Gregtech_Recipes {
rod_LongUranium, foil_Uranium235, rod_LongUranium,
rod_Uranium, rod_Uranium, rod_Uranium,
hiveFrameMutagenic);
-
- RecipeUtils.addShapedGregtechRecipe(
- "stickLongThaumium", "stickThaumium", "stickLongThaumium",
- "stickLongThaumium", ItemUtils.getSimpleStack(Items.ender_pearl), "stickLongThaumium",
- "stickThaumium", "stickThaumium", "stickThaumium",
- hiveFrameVoid);
-
+ if (!CORE.GTNH) {
+ RecipeUtils.addShapedGregtechRecipe(
+ "stickLongThaumium", "stickThaumium", "stickLongThaumium",
+ "stickLongThaumium", ItemUtils.getSimpleStack(Items.ender_pearl), "stickLongThaumium",
+ "stickThaumium", "stickThaumium", "stickThaumium",
+ hiveFrameVoid);
+ }
+ else {
+ if (LoadedMods.MagicBees) {
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] {hiveFrameVoid}, ItemUtils.getCorrectStacktype("MagicBees:frameOblivion", 1));
+ }
+ }
RecipeUtils.addShapedGregtechRecipe(
"stickLongBlueSteel", "stickBlueSteel", "stickLongBlueSteel",
"stickLongBlueSteel", ItemUtils.getSimpleStack(Items.nether_star), "stickLongBlueSteel",
diff --git a/src/Java/gtPlusPlus/xmod/forestry/bees/tileentities/TileDenseBeeHouse.java b/src/Java/gtPlusPlus/xmod/forestry/bees/tileentities/TileDenseBeeHouse.java
index d121c920b2..9b3424ef08 100644
--- a/src/Java/gtPlusPlus/xmod/forestry/bees/tileentities/TileDenseBeeHouse.java
+++ b/src/Java/gtPlusPlus/xmod/forestry/bees/tileentities/TileDenseBeeHouse.java
@@ -10,23 +10,15 @@
******************************************************************************/
package gtPlusPlus.xmod.forestry.bees.tileentities;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
+
+import cpw.mods.fml.common.Optional;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.util.ForgeDirection;
-
-import cpw.mods.fml.common.Optional;
-
-import forestry.api.apiculture.IBeeHousingInventory;
-import forestry.api.apiculture.IBeeListener;
-import forestry.api.apiculture.IBeeModifier;
-import forestry.api.apiculture.IHiveFrame;
+import buildcraft.api.statements.ITriggerExternal;
+import forestry.api.apiculture.*;
import forestry.apiculture.ApiaryBeeListener;
import forestry.apiculture.ApiaryBeeModifier;
import forestry.apiculture.IApiary;
@@ -36,7 +28,7 @@ import forestry.apiculture.tiles.TileBeeHousingBase;
import forestry.apiculture.trigger.ApicultureTriggers;
import gtPlusPlus.xmod.forestry.bees.gui.ContainerBeeHouse;
import gtPlusPlus.xmod.forestry.bees.gui.GuiBeeHouse;
-import buildcraft.api.statements.ITriggerExternal;
+import net.minecraftforge.common.util.ForgeDirection;
public class TileDenseBeeHouse extends TileBeeHousingBase implements IApiary {
private final IBeeModifier beeModifier = new ApiaryBeeModifier();
diff --git a/src/Java/gtPlusPlus/xmod/forestry/trees/TreefarmManager.java b/src/Java/gtPlusPlus/xmod/forestry/trees/TreefarmManager.java
deleted file mode 100644
index 155feae83c..0000000000
--- a/src/Java/gtPlusPlus/xmod/forestry/trees/TreefarmManager.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package gtPlusPlus.xmod.forestry.trees;
-
-import cpw.mods.fml.common.Optional;
-import gregtech.api.enums.OrePrefixes;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAir;
-import net.minecraft.block.material.Material;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-
-public class TreefarmManager {
-
- public static boolean isHumusLoaded = false;
- public static boolean isForestryLogsLoaded = false;
- public static boolean isForestryFenceLoaded = false;
- public static boolean isForestrySaplingsLoaded = false;
- public static boolean isForestryLeavesLoaded = false;
- public static Block blockHumus;
-
- public static boolean isForestryValid(){
- if (!LoadedMods.Forestry){
- return false;
- }
- if (ReflectionUtils.doesClassExist("forestry.core.blocks.BlockSoil")){
- isHumusLoaded = true;
- }
- if (ReflectionUtils.doesClassExist("forestry.arboriculture.blocks.BlockLog")){
- isForestryLogsLoaded = true;
- }
- if (ReflectionUtils.doesClassExist("forestry.arboriculture.blocks.BlockArbFence")){
- isForestryFenceLoaded = true;
- }
- if (ReflectionUtils.doesClassExist("forestry.arboriculture.blocks.BlockSapling")){
- isForestrySaplingsLoaded = true;
- }
- if (ReflectionUtils.doesClassExist("forestry.arboriculture.blocks.BlockForestryLeaves")){
- isForestryLeavesLoaded = true;
- }
- return true;
- }
-
- @Optional.Method(modid = "Forestry")
- public static Block getHumus(){
- if(blockHumus != null){
- return blockHumus;
- }
- else if (ReflectionUtils.doesClassExist("forestry.core.blocks.BlockSoil")){
- try {
- final Class<?> humusClass = Class.forName("forestry.core.blocks.BlockSoil");
- final ItemStack humusStack = ItemUtils.getCorrectStacktype("Forestry:soil", 1);
- if (humusClass != null){
- blockHumus = Block.getBlockFromItem(humusStack.getItem());
- return Block.getBlockFromItem(humusStack.getItem());
- }
- } catch (final ClassNotFoundException e) {}
- }
- return null;
- }
-
- public static boolean isWoodLog(final Block log){
- final String tTool = log.getHarvestTool(0);
-
- if ((log == Blocks.log) || (log == Blocks.log2)){
- return true;
- }
-
- //Forestry/General Compat
- if (log.getClass().getName().toLowerCase().contains("blocklog")){
- return true;
- }
-
- //IC2 Rubber Tree Compat
- if (log.getClass().getName().toLowerCase().contains("rubwood") || log.getClass().getName().toLowerCase().contains("rubleaves")){
- return true;
- }
-
- return (OrePrefixes.log.contains(new ItemStack(log, 1))&& ((tTool != null) && (tTool.equals("axe")))) || (log.getMaterial() != Material.wood) ? false : (OrePrefixes.fence.contains(new ItemStack(log, 1)) ? false : true);
- }
-
- public static boolean isLeaves(final Block log){
- if (log.getUnlocalizedName().toLowerCase().contains("leaf")){
- return true;
- }
- if (log.getUnlocalizedName().toLowerCase().contains("leaves")){
- return true;
- }
- if (log.getLocalizedName().toLowerCase().contains("leaf")){
- return true;
- }
- if (log.getLocalizedName().toLowerCase().contains("leaves")){
- return true;
- }
- return OrePrefixes.leaves.contains(new ItemStack(log, 1)) || (log.getMaterial() == Material.leaves);
- }
-
- public static boolean isSapling(final Block log){
- if (log != null){
- if (OrePrefixes.sapling.contains(new ItemStack(log, 1))){
- Logger.WARNING(""+log.getLocalizedName());
- }
- if (log.getLocalizedName().toLowerCase().contains("sapling")){
- Logger.WARNING(""+log.getLocalizedName());
- return true;
- }
- }
- return OrePrefixes.sapling.contains(new ItemStack(log, 1));
- }
-
- public static boolean isDirtBlock(final Block dirt){
- return (dirt == Blocks.dirt ? true : (dirt == Blocks.grass ? true : (getHumus() == null ? false : (dirt == blockHumus ? true : false))));
- }
-
- public static boolean isFenceBlock(final Block fence){
- return (fence == Blocks.fence ? true : (fence == Blocks.fence_gate ? true : (fence == Blocks.nether_brick_fence ? true : (OrePrefixes.fence.contains(new ItemStack(fence, 1)) ? true : false))));
- }
-
- public static boolean isAirBlock(final Block air){
-
- if (air.getLocalizedName().toLowerCase().contains("air")){
- return true;
- }
-
- if (air.getClass().getName().toLowerCase().contains("residual") || air.getClass().getName().toLowerCase().contains("heat")){
- return true;
- }
-
- //Utils.LOG_INFO("Found "+air.getLocalizedName());
-
- return (air == Blocks.air ? true : (air instanceof BlockAir ? true : false));
- }
-
- /*public static boolean isSaplingBlock(Block sapling){
- return (sapling == Blocks.sapling ? true : (sapling == Blocks.))
- }*/
-
-}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
index 9945665705..01a72a5587 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
@@ -4,18 +4,21 @@ import java.util.ArrayList;
import java.util.List;
import gregtech.api.util.GT_Config;
+
import gtPlusPlus.core.handler.COMPAT_HANDLER;
import gtPlusPlus.core.handler.OldCircuitHandler;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.CORE.ConfigSwitches;
-import gtPlusPlus.core.world.darkworld.gen.gt.WorldGen_GT;
+import gtPlusPlus.everglades.gen.gt.WorldGen_GT;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config;
import gtPlusPlus.xmod.gregtech.api.world.GTPP_Worldgen;
import gtPlusPlus.xmod.gregtech.common.blocks.fluid.GregtechFluidHandler;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
-import gtPlusPlus.xmod.gregtech.loaders.*;
+import gtPlusPlus.xmod.gregtech.loaders.Gregtech_Blocks;
+import gtPlusPlus.xmod.gregtech.loaders.ProcessingToolHeadChoocher;
+import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_BlastSmelterGT_Ex;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechConduits;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechNitroDieselFix;
@@ -44,14 +47,15 @@ public class HANDLER_GT {
public static void init(){
- //Load General Blocks and set up some Basic Meta Tile Entitie states
+ //Load General Blocks and set up some Basic Meta Tile Entity states
Gregtech_Blocks.run();
+ //Add Custom Pipes, Wires and Cables.
+ GregtechConduits.run();
+
//Register Tile Entities
COMPAT_HANDLER.registerGregtechMachines();
- //Add Custom Pipes, Wires and Cables.
- GregtechConduits.run();
//Only loads if the config option is true (default: true)
if (CORE.ConfigSwitches.enableSkookumChoochers){
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java
index f62db49f48..2a8802b6f4 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java
@@ -1,13 +1,15 @@
package gtPlusPlus.xmod.gregtech.api.enums;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.interfaces.ITexture;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
public class CustomGtTextures {
public enum ItemIcons implements IIconContainer, Runnable {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
index 1a9dbffa0b..9c3abb8625 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
@@ -2,12 +2,16 @@ package gtPlusPlus.xmod.gregtech.api.enums;
import static gregtech.api.enums.GT_Values.W;
-import gregtech.api.util.*;
-import gtPlusPlus.xmod.gregtech.api.interfaces.GregtechItemContainer;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.xmod.gregtech.api.interfaces.GregtechItemContainer;
import net.minecraftforge.fluids.Fluid;
/**
@@ -83,8 +87,9 @@ public enum GregtechItemList implements GregtechItemContainer {
//Unused Machine Coils
Casing_Coil_U1, Casing_Coil_U2, Casing_Coil_BlastSmelter, Casing_BlastSmelter,
- //Windmill Shaft Shape for Extruder
+ //Shapes for Extruder
Shape_Extruder_WindmillShaft,
+ Shape_Extruder_SmallGear,
//Batteries
Battery_RE_EV_Sodium, Battery_RE_EV_Cadmium, Battery_RE_EV_Lithium,
@@ -287,7 +292,20 @@ public enum GregtechItemList implements GregtechItemContainer {
Casing_FishPond, Industrial_FishingPond,
//Chunkloader
- GT_Chunkloader_HV, GT_Chunkloader_EV, GT_Chunkloader_IV,
+ GT_Chunkloader_HV, GT_Chunkloader_EV, GT_Chunkloader_IV,
+
+ //Large Extruder
+ Industrial_Extruder, Casing_Extruder,
+
+ //Multi-Machine
+ Industrial_MultiMachine, Casing_Multi_Use,
+
+ //Bedrock Mining Platforms
+ BedrockMiner_MKI, BedrockMiner_MKII, BedrockMiner_MKIII, Casing_BedrockMiner,
+
+ //Buffer Dynamos
+ Hatch_Buffer_Dynamo_ULV, Hatch_Buffer_Dynamo_LV, Hatch_Buffer_Dynamo_MV, Hatch_Buffer_Dynamo_HV, Hatch_Buffer_Dynamo_EV,
+ Hatch_Buffer_Dynamo_IV, Hatch_Buffer_Dynamo_LuV, Hatch_Buffer_Dynamo_ZPM, Hatch_Buffer_Dynamo_UV, Hatch_Buffer_Dynamo_MAX,
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java
index aa22dac95d..b611ce083c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java
@@ -5,18 +5,24 @@ import static gtPlusPlus.core.util.Utils.getTcAspectStack;
import java.util.*;
+import net.minecraft.enchantment.Enchantment;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
import gregtech.api.enums.TC_Aspects.TC_AspectStack;
-import gregtech.api.interfaces.*;
+import gregtech.api.interfaces.IColorModulationContainer;
+import gregtech.api.interfaces.ICondition;
+import gregtech.api.interfaces.ISubTagContainer;
import gregtech.api.objects.GT_FluidStack;
import gregtech.api.objects.MaterialStack;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_Config;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_OreRecipeRegistrator;
import gtPlusPlus.xmod.gregtech.api.objects.GregtechItemData;
import gtPlusPlus.xmod.gregtech.api.objects.GregtechMaterialStack;
-import net.minecraft.enchantment.Enchantment;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechTextures.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechTextures.java
index 1fc8f6bb69..d2554de225 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechTextures.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechTextures.java
@@ -1,12 +1,13 @@
package gtPlusPlus.xmod.gregtech.api.enums;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_IconContainer;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_Texture;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
public class GregtechTextures {
public enum BlockIcons implements Interface_IconContainer, Runnable {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_AdvancedBoiler.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_AdvancedBoiler.java
index e480ffbfef..344be4430d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_AdvancedBoiler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_AdvancedBoiler.java
@@ -4,13 +4,16 @@ import java.util.Iterator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.gui.GT_ContainerMetaTile_Machine;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_Boiler_Base;
+
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
+import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_Boiler_Base;
+
public class CONTAINER_AdvancedBoiler
extends GT_ContainerMetaTile_Machine {
private int mSteamCapacity = 0;//FB: UR - UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR
@@ -49,6 +52,12 @@ public class CONTAINER_AdvancedBoiler
if ((this.mTileEntity.isClientSide()) || (this.mTileEntity.getMetaTileEntity() == null)) {
return;
}
+
+ if (this.mSteamCapacity <= 0) {
+ this.mSteamCapacity = (int) ((GT_MetaTileEntity_Boiler_Base) this.mTileEntity.getMetaTileEntity()).maxSteamStore();
+
+ }
+
this.maxStorage = ((GT_MetaTileEntity_Boiler_Base) this.mTileEntity.getMetaTileEntity()).getCapacity();
this.mTemperature = ((GT_MetaTileEntity_Boiler_Base) this.mTileEntity.getMetaTileEntity()).mTemperature;
this.mProcessingEnergy = ((GT_MetaTileEntity_Boiler_Base) this.mTileEntity.getMetaTileEntity()).mProcessingEnergy;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_DeluxeTank.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_DeluxeTank.java
index 50eaad7d0e..a4508781aa 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_DeluxeTank.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_DeluxeTank.java
@@ -4,13 +4,18 @@ import java.util.Iterator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.gui.*;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_DeluxeTank;
+
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
+import gregtech.api.gui.GT_Container_BasicTank;
+import gregtech.api.gui.GT_Slot_Output;
+import gregtech.api.gui.GT_Slot_Render;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_DeluxeTank;
+
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
* <p/>
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IndustrialCentrifuge.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IndustrialCentrifuge.java
index efacb9f30e..df8df2f775 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IndustrialCentrifuge.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IndustrialCentrifuge.java
@@ -1,10 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui;
-import gregtech.api.gui.GT_ContainerMetaTile_Machine;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot;
+import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
* <p/>
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IronBlastFurnace.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IronBlastFurnace.java
index 89cc70c61a..78150aedbe 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IronBlastFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_IronBlastFurnace.java
@@ -1,10 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.Slot;
+
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
import gregtech.api.gui.GT_Slot_Output;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
public class CONTAINER_IronBlastFurnace extends GT_ContainerMetaTile_Machine {
public CONTAINER_IronBlastFurnace(final InventoryPlayer aInventoryPlayer, final IGregTechTileEntity aTileEntity) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MatterFab.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MatterFab.java
index c38485a7ee..24520a6109 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MatterFab.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MatterFab.java
@@ -1,9 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_MassFabricator;
-import net.minecraft.entity.player.InventoryPlayer;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MultiMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MultiMachine.java
index bac513d304..bdf19454ce 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MultiMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_MultiMachine.java
@@ -1,8 +1,9 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import net.minecraft.entity.player.InventoryPlayer;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SafeBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SafeBlock.java
index d1eaa14991..9a84ba66ab 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SafeBlock.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SafeBlock.java
@@ -2,15 +2,17 @@ package gtPlusPlus.xmod.gregtech.api.gui;
import java.util.UUID;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
import gregtech.api.gui.GT_Slot_Holo;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.util.player.PlayerCache;
import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GregtechMetaSafeBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
public class CONTAINER_SafeBlock
extends GT_ContainerMetaTile_Machine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SolarGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SolarGenerator.java
index 27825b7d80..356f1a89ae 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SolarGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SolarGenerator.java
@@ -4,11 +4,14 @@ import java.util.Iterator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.ICrafting;
+
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntitySolarGenerator;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.ICrafting;
public class CONTAINER_SolarGenerator
extends GT_ContainerMetaTile_Machine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SteamCondenser.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SteamCondenser.java
index 87316c1203..3211d53d08 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SteamCondenser.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SteamCondenser.java
@@ -4,13 +4,16 @@ import java.util.Iterator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.gui.GT_ContainerMetaTile_Machine;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechMetaBoilerBase;
+
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
+import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechMetaBoilerBase;
+
public class CONTAINER_SteamCondenser extends GT_ContainerMetaTile_Machine
{
public CONTAINER_SteamCondenser(final InventoryPlayer aInventoryPlayer, final IGregTechTileEntity aTileEntity, final int aSteamCapacity)
@@ -44,7 +47,7 @@ public class CONTAINER_SteamCondenser extends GT_ContainerMetaTile_Machine
public int mSteamAmount = 0;
public int mProcessingEnergy = 0;
public int mTemperature = 2;
- private final int mSteamCapacity;
+ public int mSteamCapacity;
public long mTickingTime = ((GregtechMetaBoilerBase)this.mTileEntity.getMetaTileEntity()).RI;
@Override
@@ -55,6 +58,7 @@ public class CONTAINER_SteamCondenser extends GT_ContainerMetaTile_Machine
return;
}
this.mTemperature = ((GregtechMetaBoilerBase)this.mTileEntity.getMetaTileEntity()).mTemperature;
+ this.mSteamCapacity = (int) ((GregtechMetaBoilerBase)this.mTileEntity.getMetaTileEntity()).maxSteamStore();
this.mProcessingEnergy = ((GregtechMetaBoilerBase)this.mTileEntity.getMetaTileEntity()).mProcessingEnergy;
this.mSteamAmount = (((GregtechMetaBoilerBase)this.mTileEntity.getMetaTileEntity()).mSteam == null ? 0 : ((GregtechMetaBoilerBase)this.mTileEntity.getMetaTileEntity()).mSteam.amount);
this.mWaterAmount = (((GregtechMetaBoilerBase)this.mTileEntity.getMetaTileEntity()).mFluid == null ? 0 : ((GregtechMetaBoilerBase)this.mTileEntity.getMetaTileEntity()).mFluid.amount);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SuperChest.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SuperChest.java
index 8caf8fe575..3d63f43b5c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SuperChest.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_SuperChest.java
@@ -1,17 +1,20 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import java.util.Iterator;
+
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.Slot;
+
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
import gregtech.api.gui.GT_Slot_Output;
import gregtech.api.gui.GT_Slot_Render;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GT_MetaTileEntity_TieredChest;
-import java.util.Iterator;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.Slot;
+import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GT_MetaTileEntity_TieredChest;
public class CONTAINER_SuperChest extends GT_ContainerMetaTile_Machine {
public int mContent = 0;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java
index 82bc38aa9a..3303674dee 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java
@@ -2,12 +2,14 @@ package gtPlusPlus.xmod.gregtech.api.gui;
import java.util.List;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.ICrafting;
+
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.slots.SlotBuzzSaw;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntityTreeFarm;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.ICrafting;
public class CONTAINER_TreeFarmer extends GT_ContainerMetaTile_Machine {
@@ -58,7 +60,7 @@ public class CONTAINER_TreeFarmer extends GT_ContainerMetaTile_Machine {
super.detectAndSendChanges();
for(final ICrafting crafting : (List<ICrafting>)this.crafters) {
crafting.sendProgressBarUpdate(this, 100, (int) ((GregtechMetaTileEntityTreeFarm) this.mTileEntity.getMetaTileEntity()).maxEUStore());
- crafting.sendProgressBarUpdate(this, 101, (int) ((GregtechMetaTileEntityTreeFarm) this.mTileEntity.getMetaTileEntity()).getStoredInternalPower());
+ crafting.sendProgressBarUpdate(this, 101, (int) ((GregtechMetaTileEntityTreeFarm) this.mTileEntity.getMetaTileEntity()).getEUVar());
if (((GregtechMetaTileEntityTreeFarm) this.mTileEntity.getMetaTileEntity()).isCorrectMachinePart(this.mTileEntity.getStackInSlot(1))){
this.mTileEntity.markDirty();
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_AdvancedBoiler.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_AdvancedBoiler.java
index fd3cf76c83..f7b37aed49 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_AdvancedBoiler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_AdvancedBoiler.java
@@ -1,8 +1,9 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_AdvancedBoiler
extends GT_GUIContainerMetaTile_Machine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_DeluxeTank.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_DeluxeTank.java
index 99faba0e2b..c6d8d4ef7e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_DeluxeTank.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_DeluxeTank.java
@@ -2,11 +2,12 @@ package gtPlusPlus.xmod.gregtech.api.gui;
import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
-import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.StatCollector;
+import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
public class GUI_DeluxeTank extends GT_GUIContainerMetaTile_Machine {
private final String mName;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IndustrialCentrifuge.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IndustrialCentrifuge.java
index fcb53db533..2e1f76f362 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IndustrialCentrifuge.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IndustrialCentrifuge.java
@@ -1,10 +1,12 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_IndustrialCentrifuge extends GT_GUIContainerMetaTile_Machine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IronBlastFurnace.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IronBlastFurnace.java
index a93d9ecf5f..b44ad916b7 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IronBlastFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_IronBlastFurnace.java
@@ -1,9 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_IronBlastFurnace
extends GT_GUIContainerMetaTile_Machine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MatterFab.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MatterFab.java
index 952f8978f6..95bde9fd9f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MatterFab.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MatterFab.java
@@ -1,10 +1,12 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.InventoryPlayer;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java
index c927d814f8..425fe6d01f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java
@@ -1,10 +1,12 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.InventoryPlayer;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SafeBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SafeBlock.java
index 77d0656f60..c18d58b4b6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SafeBlock.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SafeBlock.java
@@ -1,9 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_SafeBlock
extends GT_GUIContainerMetaTile_Machine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SolarGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SolarGenerator.java
index 419c86da7d..912e7ded18 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SolarGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SolarGenerator.java
@@ -1,8 +1,9 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_SolarGenerator
extends GT_GUIContainerMetaTile_Machine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SteamCondenser.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SteamCondenser.java
index a4a98a0644..f472fc9edb 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SteamCondenser.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SteamCondenser.java
@@ -1,9 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_SteamCondenser extends GT_GUIContainerMetaTile_Machine
{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SuperChest.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SuperChest.java
index 259f589950..d324c50dd0 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SuperChest.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_SuperChest.java
@@ -1,10 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.util.StatCollector;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.util.GT_Utility;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.util.StatCollector;
public class GUI_SuperChest extends GT_GUIContainerMetaTile_Machine {
private final String mName;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java
index 565c378179..d00a30673f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java
@@ -1,10 +1,12 @@
package gtPlusPlus.xmod.gregtech.api.gui;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_TreeFarmer extends GT_GUIContainerMetaTile_Machine {
@@ -24,9 +26,9 @@ public class GUI_TreeFarmer extends GT_GUIContainerMetaTile_Machine {
this.maxPower = ((CONTAINER_TreeFarmer)this.mContainer).maxEU;
this.storedPower = ((CONTAINER_TreeFarmer)this.mContainer).storedEU;
if (((CONTAINER_TreeFarmer) this.mContainer).mDisplayErrorCode == 0) {
- this.fontRendererObj.drawString("Current Power Stored: "+this.storedPower+"EU", 10, 52, 16448255);
- this.fontRendererObj.drawString("Max Power Storage: "+this.maxPower+"EU", 10, 60, 16448255);
- this.fontRendererObj.drawString("Current operations left: "+(this.storedPower/32), 10, 68, 16448255);
+ this.fontRendererObj.drawString("Current Power: "+this.storedPower+"EU", 8, 52, 16448255);
+ this.fontRendererObj.drawString("Max Power: "+this.maxPower+"EU", 8, 60, 16448255);
+ this.fontRendererObj.drawString("Current operations left: "+(this.storedPower/32), 8, 68, 16448255);
}
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java
index 194f5b88b0..788fff4031 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java
@@ -4,15 +4,17 @@ import java.util.Iterator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.gui.*;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import gregtech.api.gui.*;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
* <p/>
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java
index a9784864ca..edc1ad4c8b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java
@@ -3,10 +3,12 @@ package gtPlusPlus.xmod.gregtech.api.gui.basic;
import java.util.ArrayList;
import java.util.List;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_PollutionCleaner extends GT_GUIContainerMetaTile_Machine {
public final String mName;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_2by2.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_2by2.java
index 60106825a0..1d396811c1 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_2by2.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_2by2.java
@@ -1,10 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui.hatches;
-import gregtech.api.gui.GT_ContainerMetaTile_Machine;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot;
+import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
public class CONTAINER_2by2 extends GT_ContainerMetaTile_Machine {
public CONTAINER_2by2(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_4by4.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_4by4.java
index 0c011f164b..8efe60a06e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_4by4.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/CONTAINER_4by4.java
@@ -1,10 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui.hatches;
-import gregtech.api.gui.GT_ContainerMetaTile_Machine;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot;
+import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
public class CONTAINER_4by4 extends GT_ContainerMetaTile_Machine {
public CONTAINER_4by4(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_2by2.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_2by2.java
index b78d8454c3..b427a632f7 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_2by2.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_2by2.java
@@ -1,11 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui.hatches;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import net.minecraft.entity.player.InventoryPlayer;
-
import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
public class GUI_2by2 extends GT_GUIContainerMetaTile_Machine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_4by4.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_4by4.java
index 4cd599110c..aced4342b3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_4by4.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/GUI_4by4.java
@@ -1,11 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui.hatches;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import net.minecraft.entity.player.InventoryPlayer;
-
import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
public class GUI_4by4 extends GT_GUIContainerMetaTile_Machine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_2by2.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_2by2.java
index d2ca190658..00d022c481 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_2by2.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_2by2.java
@@ -1,9 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui.hatches.charge;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.slots.SlotElectric;
import gtPlusPlus.xmod.gregtech.api.gui.hatches.CONTAINER_2by2;
-import net.minecraft.entity.player.InventoryPlayer;
public class CONTAINER_Electric_2by2 extends CONTAINER_2by2{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_4by4.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_4by4.java
index bb70df0558..1f833eb3cb 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_4by4.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/CONTAINER_Electric_4by4.java
@@ -1,9 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.gui.hatches.charge;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.core.slots.SlotElectric;
import gtPlusPlus.xmod.gregtech.api.gui.hatches.CONTAINER_4by4;
-import net.minecraft.entity.player.InventoryPlayer;
public class CONTAINER_Electric_4by4 extends CONTAINER_4by4{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_2by2.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_2by2.java
index 2e365277ea..9be7104bbc 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_2by2.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_2by2.java
@@ -2,9 +2,11 @@ package gtPlusPlus.xmod.gregtech.api.gui.hatches.charge;
import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.xmod.gregtech.api.gui.hatches.GUI_2by2;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_Electric_2by2 extends GUI_2by2{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_4by4.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_4by4.java
index a09ab7d7aa..ed3fce5e2c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_4by4.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/hatches/charge/GUI_Electric_4by4.java
@@ -2,9 +2,11 @@ package gtPlusPlus.xmod.gregtech.api.gui.hatches.charge;
import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.xmod.gregtech.api.gui.hatches.GUI_4by4;
-import net.minecraft.entity.player.InventoryPlayer;
public class GUI_Electric_4by4 extends GUI_4by4{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
index 396250dbf7..249141c7f8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java
@@ -1,6 +1,7 @@
package gtPlusPlus.xmod.gregtech.api.interfaces.internal;
import net.minecraft.item.ItemStack;
+
import net.minecraftforge.fluids.FluidStack;
public interface IGregtech_RecipeAdder {
@@ -121,6 +122,9 @@ public interface IGregtech_RecipeAdder {
public boolean addCyclotronRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs,
FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue);
+ boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, FluidStack aFluidOutput,
+ int[] aChances, int aDuration, int aEUt, int aSpecialValue);
+
public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4,
FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java
index def74a30c5..e874258a7a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java
@@ -2,8 +2,6 @@ package gtPlusPlus.xmod.gregtech.api.interfaces.internal;
import java.util.List;
-import gregtech.api.enums.SubTag;
-import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaItem_Base;
import net.minecraft.dispenser.IBlockSource;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -13,6 +11,10 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gregtech.api.enums.SubTag;
+
+import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaItem_Base;
+
public interface Interface_ItemBehaviour<E extends Item> {
public boolean onLeftClickEntity(E aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java
index 0aa93e9f21..c997f14c9e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java
@@ -1,9 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.interfaces.internal;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.Materials;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
-import net.minecraft.item.ItemStack;
public interface Interface_OreRecipeRegistrator {
/**
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java
index 9fd2ca580c..6037424d1f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java
@@ -1,8 +1,10 @@
package gtPlusPlus.xmod.gregtech.api.interfaces.internal;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.OrePrefixes;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
-import net.minecraft.item.ItemStack;
public interface Interface_OreRecipeRegistrator_GT {
/**
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java
index fa5ff66310..ca167e4c7f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java
@@ -2,10 +2,6 @@ package gtPlusPlus.xmod.gregtech.api.interfaces.internal;
import java.util.List;
-import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.interfaces.IToolStats;
-import gregtech.api.items.GT_MetaGenerated_Tool;
-import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.Entity;
@@ -13,6 +9,12 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
+
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.interfaces.IToolStats;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+
+import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool;
import net.minecraftforge.event.world.BlockEvent;
/**
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_Generic_Item.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_Generic_Item.java
index b0b0cd953d..43998577c9 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_Generic_Item.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_Generic_Item.java
@@ -5,12 +5,7 @@ import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.enums.SubTag;
-import gregtech.api.interfaces.IProjectileItem;
-import gregtech.api.util.*;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
+
import net.minecraft.block.BlockDispenser;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.dispenser.*;
@@ -24,6 +19,16 @@ import net.minecraft.util.EnumFacing;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import gregtech.api.enums.SubTag;
+import gregtech.api.interfaces.IProjectileItem;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+
/**
* Extended by most Items, also used as a fallback Item, to prevent the accidental deletion when Errors occur.
*/
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem.java
index 0fdcd27638..12b90c9a6c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem.java
@@ -6,22 +6,31 @@ import java.util.*;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.EnumAction;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.enums.SubTag;
import gregtech.api.enums.TC_Aspects.TC_AspectStack;
-import gregtech.api.interfaces.*;
+import gregtech.api.interfaces.IFoodStat;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.interfaces.IItemContainer;
import gregtech.api.objects.ItemData;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ItemBehaviour;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.World;
public abstract class Gregtech_MetaItem extends Gregtech_MetaItem_Base {
/**
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_Base.java
index e71e7c3b5c..ec1c90186a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_Base.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_Base.java
@@ -1,15 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.items;
-import static gregtech.api.enums.GT_Values.D1;
-import static gregtech.api.enums.GT_Values.V;
+import static gregtech.api.enums.GT_Values.*;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
-import gregtech.api.enums.SubTag;
-import gregtech.api.util.*;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ItemBehaviour;
-import ic2.api.item.*;
import net.minecraft.dispenser.IBlockSource;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -21,6 +17,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
+
+import gregtech.api.enums.SubTag;
+import gregtech.api.util.*;
+
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ItemBehaviour;
+import ic2.api.item.*;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java
index f06b69a07d..ef92f9919d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java
@@ -5,17 +5,24 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
-import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.util.*;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
+
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
+
/**
* @author Gregorius Techneticies
* <p/>
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaTool.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaTool.java
index 16123ce70d..ae84afb056 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaTool.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaTool.java
@@ -1,24 +1,18 @@
package gtPlusPlus.xmod.gregtech.api.items;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import java.util.Map.Entry;
-import buildcraft.api.tools.IToolWrench;
import cpw.mods.fml.common.Optional;
-import gregtech.api.enchants.Enchantment_Radioactivity;
-import gregtech.api.enums.Materials;
-import gregtech.api.interfaces.IDamagableItem;
-import gregtech.api.interfaces.IToolStats;
-import gregtech.api.items.GT_MetaGenerated_Tool;
-import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ToolStats;
-import mods.railcraft.api.core.items.IToolCrowbar;
+
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
-import net.minecraft.entity.*;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
@@ -29,6 +23,19 @@ import net.minecraft.stats.StatList;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
+
+import gregtech.api.enchants.Enchantment_Radioactivity;
+import gregtech.api.enums.Materials;
+import gregtech.api.interfaces.IDamagableItem;
+import gregtech.api.interfaces.IToolStats;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
+
+import buildcraft.api.tools.IToolWrench;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ToolStats;
+import mods.railcraft.api.core.items.IToolCrowbar;
import net.minecraftforge.event.world.BlockEvent;
/**
@@ -232,7 +239,7 @@ public abstract class Gregtech_MetaTool extends GT_MetaGenerated_Tool implements
return new Long[]{aNBT.getLong("MaxCharge"), aNBT.getLong("Voltage"), aNBT.getLong("Tier"), aNBT.getLong("SpecialData")};
}
}
- return null;
+ return new Long[] {};
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/tools/GT_MetaGenTool.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/tools/GT_MetaGenTool.java
index a980a299d5..6f4202fdd8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/tools/GT_MetaGenTool.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/tools/GT_MetaGenTool.java
@@ -1,20 +1,16 @@
package gtPlusPlus.xmod.gregtech.api.items.tools;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import java.util.Map.Entry;
-import gregtech.api.GregTech_API;
-import gregtech.api.enchants.Enchantment_Radioactivity;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.TC_Aspects.TC_AspectStack;
-import gregtech.api.interfaces.IToolStats;
-import gregtech.api.items.GT_MetaGenerated_Tool;
-import gregtech.api.util.*;
-import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ToolStats;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
-import net.minecraft.entity.*;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
@@ -24,6 +20,16 @@ import net.minecraft.stats.AchievementList;
import net.minecraft.stats.StatList;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enchants.Enchantment_Radioactivity;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.TC_Aspects.TC_AspectStack;
+import gregtech.api.interfaces.IToolStats;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.*;
+
+import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ToolStats;
import net.minecraftforge.event.world.BlockEvent;
/**
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Base.java
index f343890671..cefd72332b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Base.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Base.java
@@ -2,11 +2,10 @@ package gtPlusPlus.xmod.gregtech.api.items.types;
import java.util.List;
-import gregtech.api.enums.SubTag;
-import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ItemBehaviour;
-import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaItem_Base;
import net.minecraft.block.BlockDispenser;
-import net.minecraft.dispenser.*;
+import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
+import net.minecraft.dispenser.IBlockSource;
+import net.minecraft.dispenser.IPosition;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@@ -15,6 +14,11 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
+import gregtech.api.enums.SubTag;
+
+import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ItemBehaviour;
+import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaItem_Base;
+
public class ToolType_Base implements Interface_ItemBehaviour<Gregtech_MetaItem_Base> {
@Override
public boolean onLeftClickEntity(final Gregtech_MetaItem_Base aItem, final ItemStack aStack, final EntityPlayer aPlayer, final Entity aEntity) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_HardHammer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_HardHammer.java
index 783a0ec63d..d4f5a87006 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_HardHammer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_HardHammer.java
@@ -3,6 +3,13 @@ package gtPlusPlus.xmod.gregtech.api.items.types;
import java.util.List;
import java.util.Random;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.items.GT_MetaBase_Item;
@@ -11,12 +18,7 @@ import gregtech.api.objects.ItemData;
import gregtech.api.util.*;
import gregtech.common.blocks.GT_Block_Ores;
import gregtech.common.blocks.GT_TileEntity_Ores;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
+
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.IFluidBlock;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Wrench.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Wrench.java
index cb1f4a2ffa..d0ef6a535c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Wrench.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/types/ToolType_Wrench.java
@@ -3,11 +3,6 @@ package gtPlusPlus.xmod.gregtech.api.items.types;
import java.util.Arrays;
import java.util.List;
-import gregtech.api.GregTech_API;
-import gregtech.api.items.GT_MetaBase_Item;
-import gregtech.api.items.GT_MetaGenerated_Tool;
-import gregtech.api.util.*;
-import ic2.api.tile.IWrenchable;
import net.minecraft.block.Block;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
@@ -15,6 +10,15 @@ import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.items.GT_MetaBase_Item;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
+
+import ic2.api.tile.IWrenchable;
import net.minecraftforge.common.util.ForgeDirection;
public class ToolType_Wrench
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeMachine.java
index df886220c2..79238240d2 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeMachine.java
@@ -1,6 +1,15 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
-import gregtech.GT_Mod;
+import static gregtech.api.enums.GT_Values.V;
+
+import java.util.Arrays;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
@@ -14,22 +23,14 @@ import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.api.objects.XSTR;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
+import gtPlusPlus.api.objects.random.XSTR;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidHandler;
-import java.util.Arrays;
-
-import static gregtech.api.enums.GT_Values.V;
-
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
* <p/>
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeTank.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeTank.java
index b5e7d7d64c..1e367d4f15 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeTank.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_DeluxeTank.java
@@ -1,16 +1,18 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.ItemList;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_DeluxeTank;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_DeluxeTank;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fluids.FluidStack;
/**
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java
new file mode 100644
index 0000000000..a50b5e125b
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java
@@ -0,0 +1,63 @@
+package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
+
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo;
+
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
+
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.interfaces.ITexture;
+
+public class GT_MetaTileEntity_Hatch_DynamoBuffer extends GT_MetaTileEntity_Hatch_Dynamo {
+ public GT_MetaTileEntity_Hatch_DynamoBuffer(final int aID, final String aName, final String aNameRegional,
+ final int aTier) {
+ super(aID, aName, aNameRegional, aTier);
+ }
+
+ public GT_MetaTileEntity_Hatch_DynamoBuffer(final String aName, final int aTier, final String aDescription,
+ final ITexture[][][] aTextures) {
+ super(aName, aTier, aDescription, aTextures);
+ }
+
+ public GT_MetaTileEntity_Hatch_DynamoBuffer(final String aName, final int aTier, final String[] aDescription,
+ final ITexture[][][] aTextures) {
+ super(aName, aTier, aDescription, aTextures);
+ }
+
+ public ITexture[] getTexturesActive(final ITexture aBaseTexture) {
+ return new ITexture[]{aBaseTexture, TexturesGtBlock.OVERLAYS_ENERGY_OUT_MULTI_BUFFER[this.mTier]};
+ }
+
+ public ITexture[] getTexturesInactive(final ITexture aBaseTexture) {
+ return new ITexture[]{aBaseTexture, TexturesGtBlock.OVERLAYS_ENERGY_OUT_MULTI_BUFFER[this.mTier]};
+ }
+
+ public long getMinimumStoredEU() {
+ return 0L;
+ }
+
+ public long maxEUStore() {
+ return 512L + GT_Values.V[this.mTier + 1] * 2048L;
+ }
+
+ public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
+ return (MetaTileEntity) new GT_MetaTileEntity_Hatch_DynamoBuffer(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
+ }
+
+ @Override
+ public String[] getDescription() {
+ String[] g = new String[]{"Generating electric Energy from Multiblocks", "Stores "+maxEUStore()+"EU", "Puts out up to 4 Amps", "Does not accept more than "+this.maxEUOutput()+"EU/t as input", "Large Turbines only supply 1A to this, other Multiblocks can inject more amps"};
+ return g;
+ }
+
+ @Override
+ public long maxAmperesIn() {
+ return 4;
+ }
+
+ @Override
+ public long maxAmperesOut() {
+ return 4;
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java
index 8b5a1e520b..e3eb5e7549 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java
@@ -2,6 +2,10 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
import static gregtech.api.enums.GT_Values.V;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -11,12 +15,10 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.*;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_Hatch_InputBattery
extends
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java
index 29d32d4d9d..cda5336a7a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java
@@ -2,6 +2,10 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
import static gregtech.api.enums.GT_Values.V;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
@@ -9,13 +13,10 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
-import gtPlusPlus.api.objects.Logger;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.*;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_Hatch_OutputBattery
extends
@@ -205,7 +206,6 @@ GT_MetaTileEntity_Hatch {
if (aBaseMetaTileEntity.getMetaTileEntity() instanceof MetaTileEntity) {
MetaTileEntity mMetaTileEntity = (MetaTileEntity) aBaseMetaTileEntity.getMetaTileEntity();
if (mMetaTileEntity.dechargerSlotCount() > 0 && mMetaTileEntity.getEUVar() < aBaseMetaTileEntity.getEUCapacity()) {
- Logger.INFO("3");
for (int i = mMetaTileEntity.dechargerSlotStartIndex(), k = mMetaTileEntity.dechargerSlotCount() + i; i < k; i++) {
if (mMetaTileEntity.mInventory[i] != null && mMetaTileEntity.getEUVar() < aBaseMetaTileEntity.getEUCapacity()) {
aBaseMetaTileEntity.increaseStoredEnergyUnits(GT_ModHandler.dischargeElectricItem(mMetaTileEntity.mInventory[i], (int) Math.min(V[mTier] * 15, aBaseMetaTileEntity.getEUCapacity() - aBaseMetaTileEntity.getStoredEU()), (int) Math.min(Integer.MAX_VALUE, mMetaTileEntity.getInputTier()), true, false, false), true);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java
index 0fea343b02..d4c5a51dba 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java
@@ -1,5 +1,7 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
+import net.minecraft.util.EnumChatFormatting;
+
import gregtech.api.enums.Dyes;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
@@ -8,9 +10,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
-import net.minecraft.util.EnumChatFormatting;
public class GregtechMetaPipeEntityFluid extends GT_MetaPipeEntity_Fluid {
public final GT_Materials mMaterial;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java
index 1561228041..c69ecec114 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java
@@ -1,9 +1,11 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
-import gregtech.api.enums.Dyes;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.TextureSet;
-import gregtech.api.enums.Textures;
+import static gregtech.api.enums.GT_Values.VN;
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
+import net.minecraft.util.EnumChatFormatting;
+
+import gregtech.api.enums.*;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.metatileentity.IMetaTileEntityCable;
@@ -11,13 +13,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
-import gtPlusPlus.core.lib.CORE;
-import net.minecraft.util.EnumChatFormatting;
-import static gregtech.api.enums.GT_Values.VN;
-import static gtPlusPlus.core.lib.CORE.GTNH;
-
-import gregtech.api.enums.Dyes;
+import gtPlusPlus.core.lib.CORE;
public class GregtechMetaPipeEntity_Cable extends GT_MetaPipeEntity_Cable implements IMetaTileEntityCable {
private static Textures.BlockIcons INSULATION_MEDIUM_PLUS;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java
index 8e16b68edd..4a496c5002 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java
@@ -1,13 +1,15 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.machines.GregtechMetaTreeFarmerBase;
-import net.minecraft.nbt.NBTTagCompound;
public class GregtechMetaTreeFarmerStructural
extends GregtechMetaTreeFarmerBase {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaPipeEntityBase_Cable.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaPipeEntityBase_Cable.java
index 220e6eb4dc..7ace35e97e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaPipeEntityBase_Cable.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaPipeEntityBase_Cable.java
@@ -6,31 +6,37 @@ import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
-import cofh.energy.IEnergyReceiver;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.world.World;
+
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.TextureSet;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.metatileentity.IMetaTileEntityCable;
-import gregtech.api.interfaces.tileentity.*;
+import gregtech.api.interfaces.tileentity.IColoredTileEntity;
+import gregtech.api.interfaces.tileentity.IEnergyConnected;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.BaseMetaPipeEntity;
import gregtech.api.metatileentity.MetaPipeEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Proxy;
+
+import cofh.energy.IEnergyReceiver;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import ic2.api.energy.tile.IEnergySink;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class GregtechMetaPipeEntityBase_Cable extends MetaPipeEntity implements IMetaTileEntityCable {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java
index 645cee84e3..4140617fcf 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java
@@ -4,18 +4,19 @@ import static gregtech.api.enums.GT_Values.GT;
import gregtech.api.interfaces.ITexture;
import gregtech.api.metatileentity.MetaTileEntity;
+
import gtPlusPlus.core.lib.CORE;
public abstract class GregtechMetaTileEntity extends MetaTileEntity {
/**
* Value between [0 - 9] to describe the Tier of this Machine.
*/
- public final byte mTier;
+ protected byte mTier;
/**
* A simple Description.
*/
- public final String mDescription;
+ protected final String mDescription;
/**
* Contains all Textures used by this Block.
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java
index 83affb9740..df7e8cf373 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java
@@ -1,15 +1,17 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Transformer;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.nbt.NBTTagCompound;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Transformer;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
public class GregtechMetaTransformerHiAmp extends GT_MetaTileEntity_Transformer {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
index 22248814ce..098c5d03bc 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
@@ -1,14 +1,22 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base;
-import java.lang.reflect.*;
+import static gtPlusPlus.core.util.data.ArrayUtils.removeNulls;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.concurrent.TimeUnit;
-import gregtech.api.util.GT_Utility;
-import net.minecraftforge.fluids.FluidStack;
import org.apache.commons.lang3.ArrayUtils;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.Materials;
import gregtech.api.gui.GT_Container_MultiMachine;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
@@ -18,6 +26,8 @@ import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.recipe.common.CI;
@@ -26,12 +36,7 @@ import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBattery;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBattery;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
-import static gtPlusPlus.core.util.array.ArrayUtils.removeNulls;
+import net.minecraftforge.fluids.FluidStack;
public abstract class GregtechMeta_MultiBlockBase
extends
@@ -39,6 +44,7 @@ GT_MetaTileEntity_MultiBlockBase {
public GT_Recipe mLastRecipe;
private boolean mInternalCircuit = false;
+ protected long mTotalRunTime = 0;
public ArrayList<GT_MetaTileEntity_Hatch_InputBattery> mChargeHatches = new ArrayList<GT_MetaTileEntity_Hatch_InputBattery>();
public ArrayList<GT_MetaTileEntity_Hatch_OutputBattery> mDischargeHatches = new ArrayList<GT_MetaTileEntity_Hatch_OutputBattery>();
@@ -59,7 +65,7 @@ GT_MetaTileEntity_MultiBlockBase {
.getMetaTileEntity() == aMetaTileEntity)
&& !aMetaTileEntity.getBaseMetaTileEntity().isDead();
}
-
+
public abstract boolean hasSlotInGUI();
@Override
@@ -83,11 +89,27 @@ GT_MetaTileEntity_MultiBlockBase {
}
@Override
- public String[] getInfoData() {
- return new String[]{"Progress:", (this.mProgresstime / 20) + "secs",
- (this.mMaxProgresstime / 20) + "secs", "Efficiency:",
- (this.mEfficiency / 100.0F) + "%", "Problems:",
- "" + (this.getIdealStatus() - this.getRepairStatus())};
+ public String[] getInfoData() {
+
+ long seconds = (this.mTotalRunTime/20);
+ int weeks = (int) (TimeUnit.SECONDS.toDays(seconds) / 7);
+ int days = (int) (TimeUnit.SECONDS.toDays(seconds) - 7 * weeks);
+ long hours = TimeUnit.SECONDS.toHours(seconds) - TimeUnit.DAYS.toHours(days) - TimeUnit.DAYS.toHours(7*weeks);
+ long minutes = TimeUnit.SECONDS.toMinutes(seconds) - (TimeUnit.SECONDS.toHours(seconds) * 60);
+ long second = TimeUnit.SECONDS.toSeconds(seconds) - (TimeUnit.SECONDS.toMinutes(seconds) *60);
+
+ String[] g = {
+ "Progress: " + (this.mProgresstime / 20) +" / "+ (this.mMaxProgresstime / 20) + " secs",
+ "Efficiency: "+(this.mEfficiency / 100.0F) + "%",
+ "Problems: " + "" + (this.getIdealStatus() - this.getRepairStatus()),
+ "Total Time Since Built: " + ""+weeks+" Weeks, " + ""+days+" Days, ",
+ ""+hours+" Hours, " + ""+minutes+" Minutes, " + ""+second+" Seconds.",
+ "Total Time in ticks: "+this.mTotalRunTime};
+
+ return g;
+
+
+
}
@Override
@@ -128,7 +150,7 @@ GT_MetaTileEntity_MultiBlockBase {
// Gendustry custom comb with a billion centrifuge outputs? Do it anyway.
return true;
}
-
+
// Count slots available in output buses
ArrayList<ItemStack> tBusStacks = new ArrayList<>();
@@ -150,6 +172,7 @@ GT_MetaTileEntity_MultiBlockBase {
int slotsNeeded = aRecipe.mOutputs.length;
for (final ItemStack tRecipeOutput: aRecipe.mOutputs) {
+ if (tRecipeOutput == null) continue;
int amount = tRecipeOutput.stackSize * aParallelRecipes;
for (final ItemStack tBusStack : tBusStacks) {
if (GT_Utility.areStacksEqual(tBusStack, tRecipeOutput)) {
@@ -165,6 +188,7 @@ GT_MetaTileEntity_MultiBlockBase {
// For each output fluid, make sure an output hatch can accept it.
for (FluidStack tRecipeFluid: aRecipe.mFluidOutputs) {
+ if (tRecipeFluid == null) continue;
boolean tCanBufferFluid = false;
int tRecipeAmount = tRecipeFluid.amount;
for (final GT_MetaTileEntity_Hatch_Output tHatch : this.mOutputHatches) {
@@ -225,10 +249,12 @@ GT_MetaTileEntity_MultiBlockBase {
this.mLastRecipe = tRecipe;
if (tRecipe == null) {
+ Logger.WARNING("BAD RETURN - 1");
return false;
}
if (!this.canBufferOutputs(tRecipe, aMaxParallelRecipes)) {
+ Logger.WARNING("BAD RETURN - 2");
return false;
}
@@ -238,15 +264,23 @@ GT_MetaTileEntity_MultiBlockBase {
int parallelRecipes = 0;
+ Logger.WARNING("parallelRecipes: "+parallelRecipes);
+ Logger.WARNING("aMaxParallelRecipes: "+aMaxParallelRecipes);
+ Logger.WARNING("tTotalEUt: "+tTotalEUt);
+ Logger.WARNING("tVoltage: "+tVoltage);
+ Logger.WARNING("tRecipeEUt: "+tRecipeEUt);
// Count recipes to do in parallel, consuming input items and fluids and considering input voltage limits
for (; parallelRecipes < aMaxParallelRecipes && tTotalEUt < (tVoltage - tRecipeEUt); parallelRecipes++) {
if (!tRecipe.isRecipeInputEqual(true, aFluidInputs, aItemInputs)) {
+ Logger.WARNING("Broke at "+parallelRecipes+".");
break;
}
+ Logger.WARNING("Bumped EU from "+tTotalEUt+" to "+(tTotalEUt+tRecipeEUt)+".");
tTotalEUt += tRecipeEUt;
}
if (parallelRecipes == 0) {
+ Logger.WARNING("BAD RETURN - 3");
return false;
}
@@ -343,6 +377,7 @@ GT_MetaTileEntity_MultiBlockBase {
// Play sounds (GT++ addition - GT multiblocks play no sounds)
startProcess();
+ Logger.WARNING("GOOD RETURN - 1");
return true;
}
@@ -353,16 +388,16 @@ GT_MetaTileEntity_MultiBlockBase {
GT_Recipe cloneRecipe = null;
baseRecipe = tRecipe.copy();
- if ((cloneRecipe != baseRecipe) || (cloneRecipe == null)) {
+ if ((baseRecipe != null) && ((cloneRecipe != baseRecipe) || (cloneRecipe == null))) {
cloneRecipe = baseRecipe.copy();
Logger.WARNING("Setting Recipe");
}
- if ((cloneTime != baseRecipe.mDuration) || (cloneTime == 0)) {
+ if ((baseRecipe != null) && ((cloneTime != baseRecipe.mDuration) || (cloneTime == 0))) {
cloneTime = baseRecipe.mDuration;
Logger.WARNING("Setting Time");
}
- if (cloneRecipe.mDuration > 0) {
+ if ((cloneRecipe != null) && cloneRecipe.mDuration > 0) {
final int originalTime = cloneRecipe.mDuration;
final int tempTime = MathUtils.findPercentageOfInt(cloneRecipe.mDuration,
(100 - percentage));
@@ -385,9 +420,20 @@ GT_MetaTileEntity_MultiBlockBase {
@Override
public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity,
final long aTick) {
+
+ //Time Counter
+ if (aBaseMetaTileEntity.isServerSide()){
+ this.mTotalRunTime++;
+ }
+
+ if (aBaseMetaTileEntity.isServerSide()) {
+ if (mUpdate == 0 || this.mStartUpCheck == 0) {
+ this.mChargeHatches.clear();
+ this.mDischargeHatches.clear();
+ }
+ }
+
super.onPostTick(aBaseMetaTileEntity, aTick);
- //this.mChargeHatches.clear();
- //this.mDischargeHatches.clear();
}
@Override
@@ -408,7 +454,7 @@ GT_MetaTileEntity_MultiBlockBase {
}
super.explodeMultiblock();
}
-
+
protected int getGUICircuit(ItemStack[] t) {
Item g = CI.getNumberedCircuit(0).getItem();
ItemStack guiSlot = this.mInventory[1];
@@ -420,12 +466,12 @@ GT_MetaTileEntity_MultiBlockBase {
else {
this.mInternalCircuit = false;
}
-
+
if (!this.mInternalCircuit) {
for (ItemStack j : t) {
if (j.getItem() == g) {
- mMode = j.getItemDamage();
- break;
+ mMode = j.getItemDamage();
+ break;
}
}
}
@@ -468,17 +514,20 @@ GT_MetaTileEntity_MultiBlockBase {
}
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBattery) {
+ Logger.REFLECTION("Found GT_MetaTileEntity_Hatch_InputBattery");
updateTexture(aTileEntity, aBaseCasingIndex);
return this.mChargeHatches.add(
(GT_MetaTileEntity_Hatch_InputBattery) aMetaTileEntity);
}
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBattery) {
+ Logger.REFLECTION("Found GT_MetaTileEntity_Hatch_OutputBattery");
updateTexture(aTileEntity, aBaseCasingIndex);
return this.mDischargeHatches.add(
(GT_MetaTileEntity_Hatch_OutputBattery) aMetaTileEntity);
}
if (LoadedMods.TecTech){
- if (isThisHatchMultiDynamo()) {
+ if (isThisHatchMultiDynamo(aMetaTileEntity)) {
+ Logger.REFLECTION("Found isThisHatchMultiDynamo");
updateTexture(aTileEntity, aBaseCasingIndex);
return this.mMultiDynamoHatches.add(
(GT_MetaTileEntity_Hatch) aMetaTileEntity);
@@ -559,21 +608,47 @@ GT_MetaTileEntity_MultiBlockBase {
*/
public boolean updateTexture(final IGregTechTileEntity aTileEntity, int aCasingID){
- try {
+ try { //gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch.updateTexture(int)
+
+ final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
+ if (aMetaTileEntity == null) {
+ return false;
+ }
Method mProper = Class.forName("gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch").getDeclaredMethod("updateTexture", int.class);
if (mProper != null){
- if (aTileEntity instanceof GT_MetaTileEntity_Hatch){
+ if (GT_MetaTileEntity_Hatch.class.isInstance(aMetaTileEntity)){
mProper.setAccessible(true);
- mProper.invoke(this, aCasingID);
+ mProper.invoke(aMetaTileEntity, aCasingID);
+ Logger.REFLECTION("Good Method Call for updateTexture.");
return true;
- }
+ }
+
}
else {
- return false;
+ Logger.REFLECTION("Bad Method Call for updateTexture.");
+ if (GT_MetaTileEntity_Hatch.class.isInstance(aMetaTileEntity)){
+ if (aCasingID <= Byte.MAX_VALUE) {
+ ((GT_MetaTileEntity_Hatch) aTileEntity.getMetaTileEntity()).mMachineBlock = (byte) aCasingID;
+ Logger.REFLECTION("Good Method Call for updateTexture. Used fallback method of setting mMachineBlock as casing id was <= 128.");
+ return true;
+ }
+ else {
+ Logger.REFLECTION("updateTexture returning false. 1.2");
+ }
+ }
+ else {
+ Logger.REFLECTION("updateTexture returning false. 1.3");
+ }
}
+ Logger.REFLECTION("updateTexture returning false. 1");
+ return false;
}
- catch (NoSuchMethodException | SecurityException | ClassNotFoundException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {}
- return false;
+ catch (NoSuchMethodException | SecurityException | ClassNotFoundException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {Logger.REFLECTION("updateTexture returning false.");
+ Logger.REFLECTION("updateTexture returning false. 2");
+ e.printStackTrace();
+ return false;
+ }
+
}
@@ -593,7 +668,7 @@ GT_MetaTileEntity_MultiBlockBase {
* This is the array Used to Store the Tectech Multi-Amp hatches.
*/
- public ArrayList<GT_MetaTileEntity_Hatch> mMultiDynamoHatches = new ArrayList();
+ public ArrayList<GT_MetaTileEntity_Hatch> mMultiDynamoHatches = new ArrayList<GT_MetaTileEntity_Hatch>();
/**
* TecTech Multi-Amp Dynamo Support
@@ -611,19 +686,19 @@ GT_MetaTileEntity_MultiBlockBase {
if (aMetaTileEntity == null) {
return false;
}
- if (isThisHatchMultiDynamo()) {
+ if (isThisHatchMultiDynamo(aTileEntity)) {
updateTexture(aTileEntity, aBaseCasingIndex);
return this.mMultiDynamoHatches.add((GT_MetaTileEntity_Hatch) aMetaTileEntity);
}
return false;
}
- public boolean isThisHatchMultiDynamo(){
+ public boolean isThisHatchMultiDynamo(Object aMetaTileEntity){
Class mDynamoClass;
try {
mDynamoClass = Class.forName("com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti");
if (mDynamoClass != null){
- if (mDynamoClass.isInstance(this)){
+ if (mDynamoClass.isInstance(aMetaTileEntity)){
return true;
}
}
@@ -635,7 +710,7 @@ GT_MetaTileEntity_MultiBlockBase {
@Override
public boolean addDynamoToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) {
if (LoadedMods.TecTech){
- if (isThisHatchMultiDynamo()) {
+ if (isThisHatchMultiDynamo(aTileEntity)) {
addMultiAmpDynamoToMachineList(aTileEntity, aBaseCasingIndex);
}
@@ -652,4 +727,16 @@ GT_MetaTileEntity_MultiBlockBase {
return 0;
}
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ aNBT.setLong("mTotalRunTime", this.mTotalRunTime);
+ super.saveNBTData(aNBT);
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ this.mTotalRunTime = aNBT.getLong("mTotalRunTime");
+ super.loadNBTData(aNBT);
+ }
+
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechDoubleFuelGeneratorBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechDoubleFuelGeneratorBase.java
index c499b38ce8..f6dc8547cc 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechDoubleFuelGeneratorBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechDoubleFuelGeneratorBase.java
@@ -4,18 +4,20 @@ import static gregtech.api.enums.GT_Values.V;
import java.util.Collection;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_DeluxeTank;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public abstract class GregtechDoubleFuelGeneratorBase extends GT_MetaTileEntity_DeluxeTank {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaBoilerBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaBoilerBase.java
index f458f73cb9..8ae735af95 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaBoilerBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaBoilerBase.java
@@ -1,5 +1,10 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
@@ -7,12 +12,11 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidHandler;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaSolarGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaSolarGenerator.java
index c00ae258a3..e692530963 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaSolarGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaSolarGenerator.java
@@ -2,12 +2,13 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generat
import static gregtech.api.enums.GT_Values.V;
+import net.minecraft.entity.player.EntityPlayer;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.util.GT_Utility;
-import net.minecraft.entity.player.EntityPlayer;
public abstract class GregtechMetaSolarGenerator extends GT_MetaTileEntity_BasicTank {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java
index 160710b9eb..fad65535ad 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java
@@ -4,6 +4,10 @@ import static gregtech.api.enums.GT_Values.V;
import java.util.Collection;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -11,10 +15,8 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_BasicTank {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaSafeBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaSafeBlockBase.java
index 058063a45f..9f331496b7 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaSafeBlockBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaSafeBlockBase.java
@@ -4,18 +4,20 @@ import static gregtech.api.enums.GT_Values.V;
import java.util.UUID;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.core.util.player.PlayerCache;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
public abstract class GregtechMetaSafeBlockBase extends GT_MetaTileEntity_TieredMachineBlock {
public boolean bOutput = false, bRedstoneIfFull = false, bInvert = false, bUnbreakable = false;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaTreeFarmerBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaTreeFarmerBase.java
index 45c2cd7303..df838f012a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaTreeFarmerBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaTreeFarmerBase.java
@@ -1,13 +1,15 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.machines;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
public abstract class GregtechMetaTreeFarmerBase extends GT_MetaTileEntity_TieredMachineBlock {
public boolean bOutput = false, bRedstoneIfFull = false, bInvert = false, bUnbreakable = false;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechFluid.java b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechFluid.java
index 6c229b5055..9cc0e3a315 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechFluid.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechFluid.java
@@ -1,6 +1,7 @@
package gtPlusPlus.xmod.gregtech.api.objects;
import gregtech.api.GregTech_API;
+
import gtPlusPlus.core.lib.CORE;
import net.minecraftforge.fluids.Fluid;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechItemData.java b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechItemData.java
index fb35c0ac21..eb5939caca 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechItemData.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechItemData.java
@@ -2,10 +2,12 @@ package gtPlusPlus.xmod.gregtech.api.objects;
import java.util.*;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.objects.GT_ArrayList;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
-import net.minecraft.item.ItemStack;
public class GregtechItemData {
private static final GregtechMaterialStack[] EMPTY_GT_MaterialStack_ARRAY = new GregtechMaterialStack[0];
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/recipe/ProcessingSkookumChoocherToolRecipes.java b/src/Java/gtPlusPlus/xmod/gregtech/api/recipe/ProcessingSkookumChoocherToolRecipes.java
index d5f846fc53..976f21c329 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/recipe/ProcessingSkookumChoocherToolRecipes.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/recipe/ProcessingSkookumChoocherToolRecipes.java
@@ -1,10 +1,14 @@
package gtPlusPlus.xmod.gregtech.api.recipe;
-import gregtech.api.enums.*;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.ToolDictNames;
import gregtech.api.interfaces.IOreRecipeRegistrator;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
-import net.minecraft.item.ItemStack;
public class ProcessingSkookumChoocherToolRecipes implements IOreRecipeRegistrator {
public ProcessingSkookumChoocherToolRecipes() {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/util/GTPP_Config.java b/src/Java/gtPlusPlus/xmod/gregtech/api/util/GTPP_Config.java
index 5a5ddd9d53..dcdc1220d0 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/util/GTPP_Config.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/util/GTPP_Config.java
@@ -1,14 +1,16 @@
package gtPlusPlus.xmod.gregtech.api.util;
+import static gregtech.api.enums.GT_Values.E;
+
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
-import net.minecraft.item.ItemStack;
+
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
-import static gregtech.api.enums.GT_Values.E;
-
public class GTPP_Config implements Runnable {
public static boolean troll = false;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java b/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java
index 18d5c06f72..28249ebfb5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechOreDictUnificator.java
@@ -6,18 +6,24 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
import gregtech.api.objects.GT_HashSet;
import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Proxy.OreDictEventContainer;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.objects.GregtechItemData;
import gtPlusPlus.xmod.gregtech.api.objects.GregtechMaterialStack;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
/**
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechRecipeRegistrator.java b/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechRecipeRegistrator.java
index fe82fbd148..be718974d9 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechRecipeRegistrator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/util/GregtechRecipeRegistrator.java
@@ -2,7 +2,13 @@ package gtPlusPlus.xmod.gregtech.api.util;
import static gregtech.api.enums.GT_Values.*;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
@@ -10,14 +16,12 @@ import gregtech.api.enums.TC_Aspects.TC_AspectStack;
import gregtech.api.interfaces.internal.IThaumcraftCompat;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.objects.GregtechItemData;
import gtPlusPlus.xmod.gregtech.api.objects.GregtechMaterialStack;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
/**
* Class for Automatic Recipe registering.
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen.java b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen.java
index 6b627bd8a8..795fd18826 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen.java
@@ -1,8 +1,5 @@
package gtPlusPlus.xmod.gregtech.api.world;
-import net.minecraft.world.World;
-import net.minecraft.world.chunk.IChunkProvider;
-
import static gtPlusPlus.xmod.gregtech.HANDLER_GT.sCustomWorldgenFile;
import java.util.List;
@@ -10,6 +7,9 @@ import java.util.Map;
import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.IChunkProvider;
+
public abstract class GTPP_Worldgen{
public final String mWorldGenName;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Boulder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Boulder.java
index 80bf3ca691..c8a7b5119d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Boulder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Boulder.java
@@ -1,14 +1,14 @@
package gtPlusPlus.xmod.gregtech.api.world;
+import java.util.Collection;
+import java.util.Random;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
-import java.util.Collection;
-import java.util.Random;
-
public class GTPP_Worldgen_Boulder extends GTPP_Worldgen_Ore {
public GTPP_Worldgen_Boulder(String aName, boolean aDefault, Block aBlock, int aBlockMeta, int aDimensionType, int aAmount, int aSize, int aProbability, int aMinY, int aMaxY, Collection<String> aBiomeList, boolean aAllowToGenerateinVoid) {
super(aName, aDefault, aBlock, aBlockMeta, aDimensionType, aAmount, aSize, aProbability, aMinY, aMaxY, aBiomeList, aAllowToGenerateinVoid);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_GT_Ore_Layer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_GT_Ore_Layer.java
index d5ac473543..7cd215aa4e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_GT_Ore_Layer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_GT_Ore_Layer.java
@@ -7,16 +7,18 @@ import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Random;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.IChunkProvider;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.common.blocks.GT_TileEntity_Ores;
import gregtech.loaders.misc.GT_Achievements;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraft.world.chunk.IChunkProvider;
public class GTPP_Worldgen_GT_Ore_Layer
extends GTPP_Worldgen {
@@ -68,18 +70,18 @@ extends GTPP_Worldgen {
this.mWeight = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "RandomWeight", aWeight));
this.mDensity = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Density", aDensity));
this.mSize = ((short) Math.max(1, sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Size", aSize)));
- /* this.mPrimaryMeta = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "OrePrimaryLayer", aPrimary.mMetaItemSubID));
- this.mSecondaryMeta = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "OreSecondaryLayer", aSecondary.mMetaItemSubID));
- this.mBetweenMeta = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "OreSporadiclyInbetween", aBetween.mMetaItemSubID));
- this.mSporadicMeta = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "OreSporaticlyAround", aSporadic.mMetaItemSubID));
+ /*this.mPrimaryMeta = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "OrePrimaryLayer", aPrimary.mMetaItemSubID));
+ this.mSecondaryMeta = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "OreSecondaryLayer", aSecondary.mMetaItemSubID));
+ this.mBetweenMeta = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "OreSporadiclyInbetween", aBetween.mMetaItemSubID));
+ this.mSporadicMeta = ((short) sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "OreSporaticlyAround", aSporadic.mMetaItemSubID));
*/this.mRestrictBiome = sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "RestrictToBiomeName", "None");
if (this.mEnabled) {
- GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mPrimaryMeta % 1000)], aMinY, aMaxY, aWeight, false, false, false);
+ /* GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mPrimaryMeta % 1000)], aMinY, aMaxY, aWeight, false, false, false);
GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mSecondaryMeta % 1000)], aMinY, aMaxY, aWeight, false, false, false);
GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mBetweenMeta % 1000)], aMinY, aMaxY, aWeight, false, false, false);
GT_Achievements.registerOre(GregTech_API.sGeneratedMaterials[(mSporadicMeta % 1000)], aMinY, aMaxY, aWeight, false, false, false);
- sWeight += this.mWeight;
+ */ sWeight += this.mWeight;
}
}
@@ -141,20 +143,25 @@ extends GTPP_Worldgen {
}
}
- if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
- try {
- return (boolean) mSetOre.invoke(world, x, y, z, secondarymeta, bool);
- }
- catch (IllegalArgumentException | IllegalAccessException | InvocationTargetException t) {
- return false;
+ if (mSetOre != null) {
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
+ try {
+ return (boolean) mSetOre.invoke(world, x, y, z, secondarymeta, bool);
+ }
+ catch (IllegalArgumentException | IllegalAccessException | InvocationTargetException t) {
+ return false;
+ }
+ }
+ else {
+ try {
+ return (boolean) mSetOre.invoke(world, x, y, z, secondarymeta);
+ }
+ catch (IllegalArgumentException | IllegalAccessException | InvocationTargetException t) {
+ return false;}
}
}
else {
- try {
- return (boolean) mSetOre.invoke(world, x, y, z, secondarymeta);
- }
- catch (IllegalArgumentException | IllegalAccessException | InvocationTargetException t) {
- return false;}
+ return false;
}
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore.java
index 8f68cb2179..2d7f817060 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore.java
@@ -1,13 +1,14 @@
package gtPlusPlus.xmod.gregtech.api.world;
-import gtPlusPlus.xmod.gregtech.HANDLER_GT;
-import net.minecraft.block.Block;
-
import static gtPlusPlus.xmod.gregtech.HANDLER_GT.sCustomWorldgenFile;
import java.util.ArrayList;
import java.util.Collection;
+import net.minecraft.block.Block;
+
+import gtPlusPlus.xmod.gregtech.HANDLER_GT;
+
public abstract class GTPP_Worldgen_Ore extends GTPP_Worldgen {
public final int mBlockMeta, mAmount, mSize, mMinY, mMaxY, mProbability, mDimensionType;
public final Block mBlock;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore_Normal.java b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore_Normal.java
index 78d414fc4b..9d7eb5a020 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore_Normal.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/world/GTPP_Worldgen_Ore_Normal.java
@@ -1,14 +1,14 @@
package gtPlusPlus.xmod.gregtech.api.world;
+import java.util.Collection;
+import java.util.Random;
+
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
-import java.util.Collection;
-import java.util.Random;
-
public class GTPP_Worldgen_Ore_Normal extends GTPP_Worldgen_Ore {
public GTPP_Worldgen_Ore_Normal(String aName, boolean aDefault, Block aBlock, int aBlockMeta, int aDimensionType, int aAmount, int aSize, int aProbability, int aMinY, int aMaxY, Collection<String> aBiomeList, boolean aAllowToGenerateinVoid) {
super(aName, aDefault, aBlock, aBlockMeta, aDimensionType, aAmount, aSize, aProbability, aMinY, aMaxY, aBiomeList, aAllowToGenerateinVoid);
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java b/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java
index 6de9fa1259..df4f34f117 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java
@@ -5,9 +5,12 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+
import gregtech.api.GregTech_API;
+
import gtPlusPlus.api.objects.Logger;
-import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraftforge.oredict.OreDictionary;
public class Meta_GT_Proxy {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java
index 852fd6c72b..cd4c3fe7d2 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java
@@ -2,15 +2,18 @@ package gtPlusPlus.xmod.gregtech.common.blocks;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
import gregtech.api.enums.TAE;
import gregtech.api.objects.GT_CopiedBlockTexture;
import gregtech.api.util.GT_LanguageManager;
import gregtech.common.blocks.GT_Material_Casings;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.CasingTextureHandler;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
public class GregtechMetaCasingBlocks
extends GregtechMetaCasingBlocksAbstract {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java
index f6857c3ca9..2f64b943b7 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java
@@ -1,13 +1,15 @@
package gtPlusPlus.xmod.gregtech.common.blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
import gregtech.api.enums.TAE;
import gregtech.api.objects.GT_CopiedBlockTexture;
import gregtech.api.util.GT_LanguageManager;
import gregtech.common.blocks.GT_Material_Casings;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.CasingTextureHandler2;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
public class GregtechMetaCasingBlocks2
extends GregtechMetaCasingBlocksAbstract {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java
index 37f7f2cb16..0204b08b2e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java
@@ -1,14 +1,15 @@
package gtPlusPlus.xmod.gregtech.common.blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
import gregtech.api.enums.TAE;
import gregtech.api.objects.GT_CopiedBlockTexture;
import gregtech.api.util.GT_LanguageManager;
import gregtech.common.blocks.GT_Material_Casings;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import gtPlusPlus.xmod.gregtech.common.blocks.textures.CasingTextureHandler2;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.CasingTextureHandler3;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
public class GregtechMetaCasingBlocks3
extends GregtechMetaCasingBlocksAbstract {
@@ -21,9 +22,9 @@ extends GregtechMetaCasingBlocksAbstract {
TAE.registerTextures(new GT_CopiedBlockTexture(this, 6, i));
}
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Aquatic Casing");
- GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Placeholder");
- GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Placeholder");
- GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Placeholder");
+ GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Inconel Reinforced Casing");
+ GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Multi-Use Casing");
+ GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Trinium Plated Mining Platform Casing");
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".4.name", "Placeholder");
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", "Placeholder");
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", "Placeholder");
@@ -37,9 +38,9 @@ extends GregtechMetaCasingBlocksAbstract {
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".14.name", "Placeholder");
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".15.name", "Placeholder");
GregtechItemList.Casing_FishPond.set(new ItemStack(this, 1, 0));
- //GregtechItemList.Casing_Refinery_External.set(new ItemStack(this, 1, 1));
- //GregtechItemList.Casing_Refinery_Structural.set(new ItemStack(this, 1, 2));
- //GregtechItemList.Casing_Refinery_Internal.set(new ItemStack(this, 1, 3));
+ GregtechItemList.Casing_Extruder.set(new ItemStack(this, 1, 1));
+ GregtechItemList.Casing_Multi_Use.set(new ItemStack(this, 1, 2));
+ GregtechItemList.Casing_BedrockMiner.set(new ItemStack(this, 1, 3));
//GregtechItemList.Casing_WashPlant.set(new ItemStack(this, 1, 4));
//GregtechItemList.Casing_Sifter.set(new ItemStack(this, 1, 5));
//GregtechItemList.Casing_SifterGrate.set(new ItemStack(this, 1, 6));
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksAbstract.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksAbstract.java
index df4cee95a1..ea59eb50ba 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksAbstract.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksAbstract.java
@@ -5,10 +5,7 @@ import java.util.Random;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.GregTech_API;
-import gregtech.api.util.GT_LanguageManager;
-import gregtech.common.blocks.GT_Block_Casings_Abstract;
-import gtPlusPlus.core.creative.AddToCreativeTab;
+
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -16,11 +13,19 @@ import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.init.Blocks;
-import net.minecraft.item.*;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gregtech.api.GregTech_API;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.common.blocks.GT_Block_Casings_Abstract;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+
public abstract class GregtechMetaCasingBlocksAbstract
extends GT_Block_Casings_Abstract {
public GregtechMetaCasingBlocksAbstract(final Class<? extends ItemBlock> aItemClass, final String aName, final Material aMaterial) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaItemCasingsAbstract.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaItemCasingsAbstract.java
index 78906a6c36..62e0f0acdf 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaItemCasingsAbstract.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaItemCasingsAbstract.java
@@ -2,12 +2,13 @@ package gtPlusPlus.xmod.gregtech.common.blocks;
import java.util.List;
-import gregtech.api.util.GT_LanguageManager;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
+import gregtech.api.util.GT_LanguageManager;
+
public abstract class GregtechMetaItemCasingsAbstract
extends ItemBlock {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java
index 89b7b728b6..7cf473a687 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java
@@ -1,18 +1,17 @@
package gtPlusPlus.xmod.gregtech.common.blocks.fluid;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.ItemList;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.item.base.cell.BaseItemCell;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
public class GregtechFluidHandler {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java
index 1ddf68bf94..a4d682bdae 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java
@@ -1,10 +1,12 @@
package gtPlusPlus.xmod.gregtech.common.blocks.textures;
-import gregtech.api.enums.Textures;
-import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
+import gregtech.api.enums.Textures;
+
+import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks;
+
public class CasingTextureHandler {
//private static final TexturesGregtech59 gregtech59 = new TexturesGregtech59();
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java
index d3bf4dfe51..96f13dbd5f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java
@@ -1,68 +1,76 @@
package gtPlusPlus.xmod.gregtech.common.blocks.textures;
-import gregtech.api.enums.Textures;
import net.minecraft.util.IIcon;
+import gregtech.api.enums.Textures;
+
public class CasingTextureHandler2 {
public static IIcon getIcon(final int aSide, final int aMeta) { //Texture ID's. case 0 == ID[57]
if ((aMeta >= 0) && (aMeta < 16)) {
switch (aMeta) {
- //Centrifuge
- case 0:
- return TexturesGtBlock.Casing_Material_RedSteel.getIcon();
- //Coke Oven Frame
- case 1:
- return TexturesGtBlock.Casing_Material_HastelloyX.getIcon();
- //Coke Oven Casing Tier 1
- case 2:
- return TexturesGtBlock.Casing_Material_HastelloyN.getIcon();
- //Coke Oven Casing Tier 2
- case 3:
- return TexturesGtBlock.Casing_Material_Fluid_IncoloyDS.getIcon();
- //Material Press Casings
- case 4:
- return TexturesGtBlock.Casing_Material_Grisium.getIcon();
- //Sifter Structural
- case 5:
- return TexturesGtBlock.Casing_Machine_Metal_Panel_A.getIcon();
- //Sifter Sieve
- case 6:
- return TexturesGtBlock.Casing_Machine_Metal_Grate_A.getIcon();
-
- //Vanadium Radox Battery
- case 7:
- return TexturesGtBlock.Overlay_Machine_Cyber_B.getIcon();
- //Power Sub-Station Casing
- case 8:
- return TexturesGtBlock.Casing_Machine_Metal_Sheet_A.getIcon();
- //Cyclotron Coil
- case 9:
- return TexturesGtBlock.Overlay_Machine_Cyber_A.getIcon();
- //Cyclotron External Casing
- case 10:
- return Textures.BlockIcons.MACHINE_CASING_RADIATIONPROOF.getIcon();
- //Multitank Exterior Casing
- case 11:
- return TexturesGtBlock.Casing_Material_Tantalloy61.getIcon();
- //Reactor Casing I
- case 12:
- return TexturesGtBlock.Casing_Machine_Simple_Top.getIcon();
- //Reactor Casing II
- case 13:
- if (aSide <2) {
- return TexturesGtBlock.TEXTURE_TECH_A.getIcon();
- }
- else {
- return TexturesGtBlock.TEXTURE_TECH_B.getIcon();
- }
- case 14:
- return TexturesGtBlock.Casing_Material_RedSteel.getIcon();
- case 15:
- return TexturesGtBlock.Casing_Machine_Farm_Manager.getIcon(); //Tree Farmer Textures
+ //Centrifuge
+ case 0:
+ return TexturesGtBlock.Casing_Material_RedSteel.getIcon();
+ //Coke Oven Frame
+ case 1:
+ return TexturesGtBlock.Casing_Material_HastelloyX.getIcon();
+ //Coke Oven Casing Tier 1
+ case 2:
+ return TexturesGtBlock.Casing_Material_HastelloyN.getIcon();
+ //Coke Oven Casing Tier 2
+ case 3:
+ return TexturesGtBlock.Casing_Material_Fluid_IncoloyDS.getIcon();
+ //Material Press Casings
+ case 4:
+ return TexturesGtBlock.Casing_Material_Grisium.getIcon();
+ //Sifter Structural
+ case 5:
+ return TexturesGtBlock.Casing_Machine_Metal_Panel_A.getIcon();
+ //Sifter Sieve
+ case 6:
+ return TexturesGtBlock.Casing_Machine_Metal_Grate_A.getIcon();
- default:
- return TexturesGtBlock.Overlay_UU_Matter.getIcon();
+ //Vanadium Radox Battery
+ case 7:
+ return TexturesGtBlock.Overlay_Machine_Cyber_B.getIcon();
+ //Power Sub-Station Casing
+ case 8:
+ return TexturesGtBlock.Casing_Machine_Metal_Sheet_A.getIcon();
+ //Cyclotron Coil
+ case 9:
+ return TexturesGtBlock.Overlay_Machine_Cyber_A.getIcon();
+ //Cyclotron External Casing
+ case 10:
+ return Textures.BlockIcons.MACHINE_CASING_RADIATIONPROOF.getIcon();
+ //Multitank Exterior Casing
+ case 11:
+ return TexturesGtBlock.Casing_Material_Tantalloy61.getIcon();
+ //Reactor Casing I
+ case 12:
+ return TexturesGtBlock.Casing_Machine_Simple_Top.getIcon();
+ //Reactor Casing II
+ case 13:
+ if (aSide <2) {
+ return TexturesGtBlock.TEXTURE_TECH_A.getIcon();
+ }
+ else {
+ return TexturesGtBlock.TEXTURE_TECH_B.getIcon();
+ }
+ case 14:
+ return TexturesGtBlock.Casing_Material_RedSteel.getIcon();
+ case 15:
+ if (aSide <2) {
+ if (aSide == 1) {
+ return TexturesGtBlock.Casing_Machine_Podzol.getIcon();
+ }
+ return TexturesGtBlock.Casing_Machine_Acacia_Log.getIcon();
+ }
+ else {
+ return TexturesGtBlock.Casing_Machine_Farm_Manager.getIcon();
+ }
+ default:
+ return TexturesGtBlock.Overlay_UU_Matter.getIcon();
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java
index 1bd59724fb..51fb289b61 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java
@@ -1,6 +1,5 @@
package gtPlusPlus.xmod.gregtech.common.blocks.textures;
-import gregtech.api.enums.Textures;
import net.minecraft.util.IIcon;
public class CasingTextureHandler3 {
@@ -13,13 +12,13 @@ public class CasingTextureHandler3 {
return TexturesGtBlock.TEXTURE_METAL_PANEL_B.getIcon();
//Coke Oven Frame
case 1:
- return TexturesGtBlock._PlaceHolder.getIcon();
+ return TexturesGtBlock.TEXTURE_METAL_PANEL_D.getIcon();
//Coke Oven Casing Tier 1
case 2:
- return TexturesGtBlock._PlaceHolder.getIcon();
+ return TexturesGtBlock.TEXTURE_METAL_PANEL_C.getIcon();
//Coke Oven Casing Tier 2
case 3:
- return TexturesGtBlock._PlaceHolder.getIcon();
+ return TexturesGtBlock.Casing_Staballoy_Firebox.getIcon();
//Material Press Casings
case 4:
return TexturesGtBlock._PlaceHolder.getIcon();
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java
index fe31836899..edf9033d3a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java
@@ -1,14 +1,16 @@
package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.CustomIcon;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialCentrifuge;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
public class TexturesCentrifugeMultiblock {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech58.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech58.java
index 03684d4775..93043c1f47 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech58.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech58.java
@@ -1,13 +1,15 @@
package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialCentrifuge;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
public class TexturesGregtech58 {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech59.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech59.java
index 60ecef1ecd..6b8771c350 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech59.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGregtech59.java
@@ -1,13 +1,15 @@
package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialCentrifuge;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
public class TexturesGregtech59 {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
index dfe7d15bb7..a93cff61b2 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
@@ -1,12 +1,16 @@
package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
public class TexturesGtBlock {
@@ -56,11 +60,38 @@ public class TexturesGtBlock {
* Right?
*/
+
//PlaceHolder Texture
private static final CustomIcon Internal_PlaceHolder = new CustomIcon("TileEntities/_PlaceHolder");
public static final CustomIcon _PlaceHolder = Internal_PlaceHolder;
+ //Energy overlays
+ public static final CustomIcon OVERLAY_ENERGY_OUT_BUFFER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_BUFFER");
+ public static final CustomIcon OVERLAY_ENERGY_OUT_MULTI_BUFFER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER");
+
+ //Overlay Arrays
+ public static ITexture[] OVERLAYS_ENERGY_OUT_MULTI_BUFFER= new ITexture[]{
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{220, 220, 220, 0}),
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{220, 220, 220, 0}),
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{255, 100, 0, 0}),
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{255, 255, 30, 0}),
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{128, 128, 128, 0}),
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{240, 240, 245, 0}),
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{240, 240, 245, 0}),
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{240, 240, 245, 0}),
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{240, 240, 245, 0}),
+ new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
+ new short[]{240, 240, 245, 0})};
//Controllers
private static final CustomIcon Internal_Casing_Fusion_Simple_Front = new CustomIcon("TileEntities/MACHINE_CASING_FUSION_FRONT");
@@ -235,10 +266,15 @@ public class TexturesGtBlock {
//Metroid related
public static final CustomIcon TEXTURE_METAL_PANEL_A = new CustomIcon("metro/TEXTURE_METAL_PANEL_A");
public static final CustomIcon TEXTURE_METAL_PANEL_B = new CustomIcon("metro/TEXTURE_METAL_PANEL_B");
+ public static final CustomIcon TEXTURE_METAL_PANEL_C = new CustomIcon("metro/TEXTURE_METAL_PANEL_C");
+ public static final CustomIcon TEXTURE_METAL_PANEL_D = new CustomIcon("metro/TEXTURE_METAL_PANEL_D");
+ public static final CustomIcon TEXTURE_METAL_PANEL_E = new CustomIcon("metro/TEXTURE_METAL_PANEL_E");
+ public static final CustomIcon TEXTURE_MAGIC_PANEL_A = new CustomIcon("metro/TEXTURE_MAGIC_A");
public static final CustomIcon TEXTURE_ORGANIC_PANEL_A = new CustomIcon("metro/TEXTURE_ORGANIC_PANEL_A");
public static final CustomIcon TEXTURE_STONE_BIRD_A = new CustomIcon("metro/TEXTURE_STONE_BIRD_A");
public static final CustomIcon TEXTURE_STONE_BIRD_A_LEFT = new CustomIcon("metro/TEXTURE_STONE_BIRD_A_LEFT");
public static final CustomIcon TEXTURE_STONE_BIRD_A_RIGHT = new CustomIcon("metro/TEXTURE_STONE_BIRD_A_RIGHT");
+ public static final CustomIcon TEXTURE_STONE_RED_A = new CustomIcon("metro/TEXTURE_STONE_RED_A");
public static final CustomIcon TEXTURE_STONE_BLUE_A = new CustomIcon("metro/TEXTURE_STONE_BLUE_A");
public static final CustomIcon TEXTURE_STONE_GREEN_A = new CustomIcon("metro/TEXTURE_STONE_GREEN_A");
public static final CustomIcon TEXTURE_STONE_TABLET_A = new CustomIcon("metro/TEXTURE_STONE_TABLET_A");
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java
index db3812ad92..92f65935b4 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java
@@ -1,12 +1,14 @@
package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
public final class TexturesGtTools {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java
index 210603ec0d..45282efb67 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java
@@ -1,25 +1,32 @@
package gtPlusPlus.xmod.gregtech.common.helpers;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
import cpw.mods.fml.common.eventhandler.EventPriority;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_ModHandler;
-import gregtech.common.items.*;
+import gregtech.common.items.GT_MetaGenerated_Item_01;
+import gregtech.common.items.GT_MetaGenerated_Item_02;
+import gregtech.common.items.GT_MetaGenerated_Tool_01;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.array.Pair;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.nbt.NBTUtils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaWirelessCharger;
import ic2.api.info.Info;
import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
public class ChargingHelper {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/CraftingHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/CraftingHelper.java
index 6a69c9f61a..e385af1812 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/CraftingHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/CraftingHelper.java
@@ -1,14 +1,14 @@
package gtPlusPlus.xmod.gregtech.common.helpers;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldServer;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.common.helpers.autocrafter.AC_Helper_Container;
import gtPlusPlus.xmod.gregtech.common.helpers.autocrafter.AC_Helper_Utils;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GT4Entity_AutoCrafter;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.inventory.Container;
-import net.minecraft.world.World;
-import net.minecraft.world.WorldServer;
import net.minecraftforge.common.util.FakePlayerFactory;
public class CraftingHelper{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
index d023307820..9d7750d834 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
@@ -2,28 +2,56 @@ package gtPlusPlus.xmod.gregtech.common.helpers;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableTreeFarmerParticles;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+
+import com.google.common.collect.Lists;
+
+import gnu.trove.set.hash.THashSet;
+
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.eventhandler.Event.Result;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.IGrowable;
+import net.minecraft.block.material.Material;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.network.play.server.S23PacketBlockChange;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.world.ChunkPosition;
+import net.minecraft.world.World;
+
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.common.items.GT_MetaGenerated_Item_02;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.players.FakeFarmer;
import gtPlusPlus.core.slots.SlotBuzzSaw.SAWTOOL;
-import gtPlusPlus.core.util.fluid.FluidUtils;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.particles.BlockBreakParticles;
-import gtPlusPlus.xmod.forestry.trees.TreefarmManager;
-import net.minecraft.block.Block;
-import net.minecraft.block.IGrowable;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.particles.BlockBreakParticles;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.BonemealEvent;
+import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fluids.FluidStack;
public class TreeFarmHelper {
@@ -199,7 +227,7 @@ public class TreeFarmHelper {
}
- if (TreefarmManager.isLeaves(testBlock) || TreefarmManager.isWoodLog(testBlock)){
+ if (isLeaves(testBlock) || isWoodLog(testBlock)){
Logger.WARNING("1:"+testBlock.getUnlocalizedName());
int posiX, posiY, posiZ;
posiX = aBaseMetaTileEntity.getXCoord()+xDir+i;
@@ -232,7 +260,7 @@ public class TreeFarmHelper {
//Utils.LOG_WARNING("Found "+aStack.getDisplayName()+" in the GUI slot.");
if ((aStack.getItem() instanceof GT_MetaGenerated_Item_02) || (aStack.getItem() instanceof GT_MetaGenerated_Tool)){
if (OrePrefixes.craftingTool.contains(aStack)){
- if (aStack.getDisplayName().toLowerCase().contains("saw") || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.10")){
+ if (aStack.getDisplayName().toLowerCase().contains("saw") || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01")){
if (aStack.getItemDamage() == 10){
return SAWTOOL.SAW;
}
@@ -258,4 +286,723 @@ public class TreeFarmHelper {
return SAWTOOL.NONE;
}
+ public static boolean isHumusLoaded = false;
+ public static boolean isForestryLogsLoaded = false;
+ public static boolean isForestryFenceLoaded = false;
+ public static boolean isForestrySaplingsLoaded = false;
+ public static boolean isForestryLeavesLoaded = false;
+ public static Block blockHumus;
+
+ public static boolean isForestryValid(){
+ if (!LoadedMods.Forestry){
+ return false;
+ }
+ if (ReflectionUtils.doesClassExist("forestry.core.blocks.BlockSoil")){
+ isHumusLoaded = true;
+ }
+ if (ReflectionUtils.doesClassExist("forestry.arboriculture.blocks.BlockLog")){
+ isForestryLogsLoaded = true;
+ }
+ if (ReflectionUtils.doesClassExist("forestry.arboriculture.blocks.BlockArbFence")){
+ isForestryFenceLoaded = true;
+ }
+ if (ReflectionUtils.doesClassExist("forestry.arboriculture.blocks.BlockSapling")){
+ isForestrySaplingsLoaded = true;
+ }
+ if (ReflectionUtils.doesClassExist("forestry.arboriculture.blocks.BlockForestryLeaves")){
+ isForestryLeavesLoaded = true;
+ }
+ return true;
+ }
+
+ @Optional.Method(modid = "Forestry")
+ public static Block getHumus(){
+ if(blockHumus != null){
+ return blockHumus;
+ }
+ else if (ReflectionUtils.doesClassExist("forestry.core.blocks.BlockSoil")){
+ try {
+ final Class<?> humusClass = Class.forName("forestry.core.blocks.BlockSoil");
+ final ItemStack humusStack = ItemUtils.getCorrectStacktype("Forestry:soil", 1);
+ if (humusClass != null){
+ blockHumus = Block.getBlockFromItem(humusStack.getItem());
+ return Block.getBlockFromItem(humusStack.getItem());
+ }
+ } catch (final ClassNotFoundException e) {}
+ }
+ return null;
+ }
+
+ public static boolean isWoodLog(final Block log){
+ final String tTool = log.getHarvestTool(0);
+
+ if ((log == Blocks.log) || (log == Blocks.log2)){
+ return true;
+ }
+
+ //Forestry/General Compat
+ if (log.getClass().getName().toLowerCase().contains("blocklog")){
+ return true;
+ }
+
+ //IC2 Rubber Tree Compat
+ if (log.getClass().getName().toLowerCase().contains("rubwood") || log.getClass().getName().toLowerCase().contains("rubleaves")){
+ return true;
+ }
+
+ return (OrePrefixes.log.contains(new ItemStack(log, 1))&& ((tTool != null) && (tTool.equals("axe")))) || (log.getMaterial() != Material.wood) ? false : (OrePrefixes.fence.contains(new ItemStack(log, 1)) ? false : true);
+ }
+
+ public static boolean isLeaves(final Block log){
+ if (log.getUnlocalizedName().toLowerCase().contains("leaf")){
+ return true;
+ }
+ if (log.getUnlocalizedName().toLowerCase().contains("leaves")){
+ return true;
+ }
+ if (log.getLocalizedName().toLowerCase().contains("leaf")){
+ return true;
+ }
+ if (log.getLocalizedName().toLowerCase().contains("leaves")){
+ return true;
+ }
+ return OrePrefixes.leaves.contains(new ItemStack(log, 1)) || log.getMaterial() == Material.leaves || OrePrefixes.treeLeaves.contains(new ItemStack(log, 1)) || log.getMaterial() == Material.vine || OrePrefixes.mushroom.contains(new ItemStack(log, 1)) || log.getMaterial() == Material.cactus;
+ }
+
+ public static boolean isSapling(final Block log){
+ if (log != null){
+ if (OrePrefixes.sapling.contains(new ItemStack(log, 1))){
+ Logger.WARNING(""+log.getLocalizedName());
+ }
+ if (log.getLocalizedName().toLowerCase().contains("sapling")){
+ Logger.WARNING(""+log.getLocalizedName());
+ return true;
+ }
+ }
+ return OrePrefixes.sapling.contains(new ItemStack(log, 1));
+ }
+
+ public static boolean isDirtBlock(final Block dirt){
+ return (dirt == Blocks.dirt ? true : (dirt == Blocks.grass ? true : (getHumus() == null ? false : (dirt == blockHumus ? true : false))));
+ }
+
+ public static boolean isFenceBlock(final Block fence){
+ return (fence == Blocks.fence ? true : (fence == Blocks.fence_gate ? true : (fence == Blocks.nether_brick_fence ? true : (OrePrefixes.fence.contains(new ItemStack(fence, 1)) ? true : false))));
+ }
+
+ public static boolean isAirBlock(final Block air){
+ if (air.getLocalizedName().toLowerCase().contains("air")){
+ return true;
+ }
+ if (air.getClass().getName().toLowerCase().contains("residual") || air.getClass().getName().toLowerCase().contains("heat")){
+ return true;
+ }
+ return (air == Blocks.air ? true : (air instanceof BlockAir ? true : false));
+ }
+
+ /*public static boolean isSaplingBlock(Block sapling){
+ return (sapling == Blocks.sapling ? true : (sapling == Blocks.))
+ }*/
+
+ public static BlockPos checkForLogsInGrowArea(final IGregTechTileEntity aBaseMetaTileEntity) {
+ final int xDir = net.minecraftforge.common.util.ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 7;
+ final int zDir = net.minecraftforge.common.util.ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 7;
+ for (int i = -7; i <= 7; i++) {
+ for (int j = -7; j <= 7; j++) {
+ for (int h = 0; h <= 1; h++) {
+ //Farm Floor inner 14x14
+ if (((i != -7) && (i != 7)) && ((j != -7) && (j != 7))) {
+ if (h == 1) {
+ if (TreeFarmHelper.isWoodLog(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j))) {
+ Logger.INFO("Found a Log");
+ return new BlockPos(aBaseMetaTileEntity.getXCoord()+xDir + i, aBaseMetaTileEntity.getYCoord()+h, aBaseMetaTileEntity.getZCoord()+zDir + j);
+ }
+ }
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ public static ItemStack[] findTreeFromBase(World world, BlockPos h) {
+ int HARD_LIMIT = 10000;
+ int mCount = 0;
+ Logger.INFO("Finding Rest of Tree.");
+ BlockPos mFirstSpot = h;
+ Set<BlockPos> mSearchedSpaces = new HashSet<BlockPos>();
+ Set<BlockPos> mTreeSet = getConnectedBlocks(world, mFirstSpot, mSearchedSpaces);
+ Set<Set<BlockPos>> mTreeSet2 = new HashSet<Set<BlockPos>>();
+ Set<BlockPos> mFinalTree = new HashSet<BlockPos>();
+ Iterator<BlockPos> it = mTreeSet.iterator();
+
+
+ Logger.INFO("Running first iteration.");
+ while(it.hasNext()){
+ BlockPos G = it.next();
+ mSearchedSpaces.add(G);
+ mTreeSet2.add(getConnectedBlocks(world, G, mSearchedSpaces));
+ mCount++;
+ Logger.INFO("First Search: "+G.getLocationString());
+ if (mCount > HARD_LIMIT) {
+ break;
+ }
+ }
+
+ mCount = 0;
+ Iterator<Set<BlockPos>> it2 = mTreeSet2.iterator();
+ Iterator<BlockPos> it3;
+ Logger.INFO("Running second iteration.");
+ while(it2.hasNext()){
+ Set<BlockPos> G = it2.next();
+ it3 = G.iterator();
+ while(it3.hasNext()){
+ BlockPos G2 = it3.next();
+ mSearchedSpaces.add(G2);
+ mFinalTree.add(G2);
+ mCount++;
+ Logger.INFO("Second Search: "+G2.getLocationString());
+ if (mCount > HARD_LIMIT) {
+ break;
+ }
+ }
+ if (mCount > HARD_LIMIT) {
+ break;
+ }
+ }
+
+
+ if (mFinalTree.size() > 0) {
+ Logger.INFO("Queuing "+mFinalTree.size()+" to Harvest Manager.");
+ TreeCutter harvestManager = new TreeCutter(world);
+
+ Iterator<BlockPos> ith = mFinalTree.iterator();
+ while(ith.hasNext()){
+ BlockPos G = ith.next();
+ harvestManager.queue(G);
+ mCount++;
+ Logger.INFO("Queued: "+G.getLocationString());
+ if (mCount > HARD_LIMIT) {
+ break;
+ }
+ }
+
+ if (harvestManager.isValid) {
+ ItemStack[] loot = harvestManager.getDrops();
+ if (loot.length > 0) {
+ //Logger.INFO("Returning Drops from harvestManager Queue.");
+ return loot;
+ }
+ }
+ }
+ return new ItemStack[] {};
+ }
+
+
+ public static Set<BlockPos> getConnectedBlocks(World W, BlockPos P, Set<BlockPos> checkedSpaces) {
+ int HARD_LIMIT = 1000;
+ int mCount = 0;
+ Logger.INFO("Finding blocks connected to "+P.getLocationString()+".");
+ Set<BlockPos> mCheckedSpaces = checkedSpaces;
+ Set<BlockPos> mStartSearch = searchSixFaces(W, P, mCheckedSpaces, false);
+ Set<BlockPos> mSecondSearch = new HashSet<BlockPos>();
+ Set<BlockPos> mThirdSearch = new HashSet<BlockPos>();
+ Iterator<BlockPos> it = mStartSearch.iterator();
+ while(it.hasNext()){
+ Logger.INFO("Running first iteration. [II]");
+ BlockPos G = it.next();
+ mCheckedSpaces.add(G);
+ Set<BlockPos> mBranchSearch = searchSixFaces(W, G, mCheckedSpaces, true);
+ Iterator<BlockPos> it2 = mBranchSearch.iterator();
+ while(it2.hasNext()){
+ Logger.INFO("Running second iteration. [II]");
+ BlockPos G2 = it2.next();
+ mCheckedSpaces.add(G2);
+ mSecondSearch.add(G2);
+ mCount++;
+ if (mCount > HARD_LIMIT) {
+ break;
+ }
+ }
+ if (mCount > HARD_LIMIT) {
+ break;
+ }
+ }
+ mCount = 0;
+ Iterator<BlockPos> itx = mSecondSearch.iterator();
+ while(itx.hasNext()){
+ BlockPos G = itx.next();
+ mCheckedSpaces.add(G);
+ Set<BlockPos> mBranchSearch = searchSixFaces(W, G, mCheckedSpaces, true);
+ Iterator<BlockPos> it2 = mBranchSearch.iterator();
+ while(it2.hasNext()){
+ BlockPos G2 = it2.next();
+ mCheckedSpaces.add(G2);
+ mThirdSearch.add(G2);
+ mCount++;
+ if (mCount > HARD_LIMIT) {
+ break;
+ }
+ }
+ if (mCount > HARD_LIMIT) {
+ break;
+ }
+ }
+ return mThirdSearch;
+ }
+
+ public static Set<BlockPos> searchSixFaces(World W, BlockPos P, Set<BlockPos> checkedSpaces, boolean checkLeaves) {
+ Set<BlockPos> mConnected = new HashSet<BlockPos>();
+ int x = P.xPos;
+ int y = P.yPos;
+ int z = P.zPos;
+ if (checkLeaves) {
+ if (isWoodLog(W.getBlock(x-1, y, z)) || isLeaves(W.getBlock(x-1, y, z))) {
+ BlockPos L = new BlockPos(x-1, y, z);
+ if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ }
+ }
+ if (isWoodLog(W.getBlock(x+1, y, z)) || isLeaves(W.getBlock(x+1, y, z))) {
+ BlockPos L = new BlockPos(x+1, y, z);
+ if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ }
+ }
+ if (isWoodLog(W.getBlock(x, y-1, z)) || isLeaves(W.getBlock(x, y-1, z))) {
+ BlockPos L = new BlockPos(x, y-1, z);
+ if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ }
+ }
+ if (isWoodLog(W.getBlock(x, y+1, z)) || isLeaves(W.getBlock(x, y+1, z))) {
+ BlockPos L = new BlockPos(x, y+1, z);
+ if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ }
+ }
+ if (isWoodLog(W.getBlock(x, y, z-1)) || isLeaves(W.getBlock(x, y, z-1))) {
+ BlockPos L = new BlockPos(x, y, z-1);
+ if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ }
+ }
+ if (isWoodLog(W.getBlock(x, y, z+1)) || isLeaves(W.getBlock(x, y, z+1))) {
+ BlockPos L = new BlockPos(x, y, z+1);
+ if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ }
+ }
+ }
+ else {
+ if (isWoodLog(W.getBlock(x-1, y, z))) {
+ BlockPos L = new BlockPos(x-1, y, z);
+ //if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ //}
+ }
+ if (isWoodLog(W.getBlock(x+1, y, z))) {
+ BlockPos L = new BlockPos(x+1, y, z);
+ //if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ //}
+ }
+ if (isWoodLog(W.getBlock(x, y-1, z))) {
+ BlockPos L = new BlockPos(x, y-1, z);
+ //if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ //}
+ }
+ if (isWoodLog(W.getBlock(x, y+1, z))) {
+ BlockPos L = new BlockPos(x, y+1, z);
+ //if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ //}
+ }
+ if (isWoodLog(W.getBlock(x, y, z-1))) {
+ BlockPos L = new BlockPos(x, y, z-1);
+ //if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ //}
+ }
+ if (isWoodLog(W.getBlock(x, y, z+1))) {
+ BlockPos L = new BlockPos(x, y, z+1);
+ //if (!checkedSpaces.contains(L)) {
+ mConnected.add(L);
+ Logger.INFO("Found Connected. [III]");
+ //}
+ }
+ }
+ return mConnected;
+ }
+
+
+
+
+
+ /**
+ * Tree Cutting
+ */
+
+ public static class TreeCutter {
+
+ private final World mWorld;
+ private Map<String, BlockPos> mQueue = new ConcurrentHashMap<String, BlockPos>();
+ private AutoMap<ItemStack[]> mDrops = new AutoMap<ItemStack[]>();
+ private boolean isValid = true;
+
+ public TreeCutter(World world) {
+ this.mWorld = world;
+ }
+
+ public boolean queue(BlockPos pos) {
+ if (isValid && pos != null) {
+ //Logger.INFO("Queued: "+pos.getLocationString());
+ String hash = Utils.calculateChecksumMD5(pos);
+ if (hash != null && !mQueue.containsKey(hash)) {
+ mQueue.put(hash, pos);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean emptyQueue() {
+ if (isValid) {
+ Logger.INFO("Emptying Queue.");
+ if (this.mQueue.size() > 0) {
+ int totalRemoved = 0;
+ for (BlockPos h : mQueue.values()) {
+ final Block block = mWorld.getBlock(h.xPos, h.yPos, h.zPos);
+ if (block != null) {
+ final int dropMeta = mWorld.getBlockMetadata(h.xPos, h.yPos, h.zPos);
+ final ArrayList<ItemStack> blockDrops = block.getDrops(mWorld, h.xPos, h.yPos, h.zPos, dropMeta, 0);
+ final ItemStack[] drops = ItemUtils.getBlockDrops(blockDrops);
+ mDrops.put(drops);
+ //Remove drop that was added to the bus.
+ mWorld.setBlockToAir(h.xPos, h.yPos, h.zPos);
+ //new BlockBreakParticles(mWorld, h.xPos, h.yPos, h.zPos, block);
+ totalRemoved++;
+ }
+ }
+ if (totalRemoved > 0 && mDrops.size() > 0) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public ItemStack[] getDrops() {
+ //If Queue is successfully cleared and drops are created, let us continue.
+ if (isValid && emptyQueue()) {
+ AutoMap<ItemStack> mCollective = new AutoMap<ItemStack>();
+ //Iterate ALL of the arrays, add output to a collective.
+ for (ItemStack[] i : this.mDrops) {
+ //Array is not null.
+ if (i != null) {
+ //Iterate this array.
+ for (int d=0;d<i.length;d++) {
+ //Put Output into collective if valid
+ if (i[d] != null && i[d].stackSize > 0) {
+ mCollective.put(i[d]);
+ }
+ }
+ }
+ }
+ //Build an ItemStack array.
+ ItemStack[] drops = new ItemStack[mCollective.size()];
+ for (int m=0;m<drops.length;m++) {
+ drops[m] = mCollective.get(m);
+ }
+ //Return drops array if it's valid.
+ if (drops.length > 0) {
+ isValid = false;
+ return drops;
+ }
+ }
+ //Invalid or no drops, return empty array.
+ isValid = false;
+ return new ItemStack[] {};
+ }
+
+ }
+
+
+ /**
+ * Farm AI
+ */
+ private static EntityPlayerMP farmerAI;
+ public EntityPlayerMP getFakePlayer(World world) {
+ return farmerAI = checkFakePlayer(world);
+ }
+
+ public static EntityPlayerMP checkFakePlayer(World world) {
+ if (farmerAI == null) {
+ return new FakeFarmer(MinecraftServer.getServer().worldServerForDimension(world.provider.dimensionId));
+ }
+ return farmerAI;
+ }
+
+ public static boolean onBlockStartBreak (int x, int y, int z, World world){
+ final Block wood = world.getBlock(x, y, z);
+ if (wood == null){
+ return false;
+ }
+ if (wood.isWood(world, x, y, z) || wood.getMaterial() == Material.sponge)
+ if(detectTree(world, x,y,z)) {
+ TreeChopTask chopper = new TreeChopTask(new ChunkPosition(x, y, z), checkFakePlayer(world), 128);
+ FMLCommonHandler.instance().bus().register(chopper);
+ // custom block breaking code, don't call vanilla code
+ return true;
+ }
+ //return onBlockStartBreak(stack, x, y, z, player);
+ return false;
+ }
+
+ public static boolean detectTree(World world, int pX, int pY, int pZ) {
+ ChunkPosition pos = null;
+ Stack<ChunkPosition> candidates = new Stack<>();
+ candidates.add(new ChunkPosition(pX, pY, pZ));
+
+ while (!candidates.isEmpty()) {
+ ChunkPosition candidate = candidates.pop();
+ int curX = candidate.chunkPosX, curY = candidate.chunkPosY, curZ = candidate.chunkPosZ;
+
+ Block block = world.getBlock(curX, curY, curZ);
+ if ((pos == null || candidate.chunkPosY > pos.chunkPosY) && block.isWood(world, curX, curY, curZ)) {
+ pos = new ChunkPosition(curX, candidate.chunkPosY + 1, curZ);
+ // go up
+ while (world.getBlock(curX, pos.chunkPosY, curZ).isWood(world, curX, pos.chunkPosY, curZ)) {
+ pos = new ChunkPosition(curX, pos.chunkPosY + 1, curZ);
+ }
+ // check if we still have a way diagonally up
+ candidates.add(new ChunkPosition(curX + 1, pos.chunkPosY + 1, curZ ));
+ candidates.add(new ChunkPosition(curX , pos.chunkPosY + 1, curZ + 1));
+ candidates.add(new ChunkPosition(curX - 1, pos.chunkPosY + 1, curZ ));
+ candidates.add(new ChunkPosition(curX , pos.chunkPosY + 1, curZ - 1));
+ }
+ }
+
+ // not even one match, so there were no logs.
+ if (pos == null) {
+ return false;
+ }
+
+ // check if there were enough leaves around the last position
+ // pos now contains the block above the topmost log
+ // we want at least 5 leaves in the surrounding 26 blocks
+ int d = 3;
+ int leaves = 0;
+ for (int offX = 0; offX < d; offX++) {
+ for (int offY = 0; offY < d; offY++) {
+ for (int offZ = 0; offZ < d; offZ++) {
+ int xPos = pos.chunkPosX -1 + offX, yPos = pos.chunkPosY - 1 + offY, zPos = pos.chunkPosZ - 1 + offZ;
+ Block leaf = world.getBlock(xPos, yPos, zPos);
+ if (leaf != null && leaf.isLeaves(world, xPos, yPos, zPos)) {
+ if (++leaves >= 5) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+
+ // not enough leaves. sorreh
+ return false;
+ }
+
+ public static class TreeChopTask {
+
+ public final World world;
+ public final EntityPlayer player;
+ public final int blocksPerTick;
+
+ public Queue<ChunkPosition> blocks = Lists.newLinkedList();
+ public Set<ChunkPosition> visited = new THashSet<>();
+
+ public TreeChopTask(ChunkPosition start, EntityPlayer player, int blocksPerTick) {
+ this.world = player.getEntityWorld();
+ this.player = player;
+ this.blocksPerTick = blocksPerTick;
+
+ this.blocks.add(start);
+ }
+
+ private void queueCoordinate(int x, int y, int z) {
+ ChunkPosition pos = new ChunkPosition(x, y, z);
+ if (!visited.contains(pos)) {
+ blocks.add(pos);
+ }
+ }
+
+ @SubscribeEvent
+ public void onWorldTick(TickEvent.WorldTickEvent event) {
+ if (event.side.isClient()) {
+ finish();
+ return;
+ }
+ // only if same dimension
+ if (event.world.provider.dimensionId != world.provider.dimensionId) {
+ return;
+ }
+
+ // setup
+ int left = blocksPerTick;
+ //NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
+
+ // continue running
+ ChunkPosition pos;
+ while (left > 0) {
+ // completely done or can't do our job anymore?!
+ if (blocks.isEmpty()/* || tags.getBoolean("Broken")*/) {
+ finish();
+ return;
+ }
+
+ pos = blocks.remove();
+ if (!visited.add(pos)) {
+ continue;
+ }
+ int x = pos.chunkPosX, y = pos.chunkPosY, z = pos.chunkPosZ;
+
+ Block block = world.getBlock(x, y, z);
+ int meta = world.getBlockMetadata(x, y, z);
+
+ // can we harvest the block and is effective?
+ if (!block.isWood(world, x, y, z) || !isWoodLog(block)) {
+ continue;
+ }
+
+ // save its neighbors
+ queueCoordinate(x + 1, y, z );
+ queueCoordinate(x, y, z + 1);
+ queueCoordinate(x - 1, y, z );
+ queueCoordinate(x, y, z - 1);
+
+ // also add the layer above.. stupid acacia trees
+ for (int offX = 0; offX < 3; offX++) {
+ for (int offZ = 0; offZ < 3; offZ++) {
+ queueCoordinate(x - 1 + offX, y + 1, z - 1 + offZ);
+ }
+ }
+
+ // break it, wooo!
+ breakExtraBlock(player.worldObj, x, y, z, 0, player, x, y, z);
+ left--;
+ }
+ }
+
+ private void finish() {
+ // goodbye cruel world
+ FMLCommonHandler.instance().bus().unregister(this);
+ }
+ }
+
+
+ public static void breakExtraBlock(World world, int x, int y, int z, int sidehit, EntityPlayer playerEntity, int refX, int refY, int refZ) {
+ // prevent calling that stuff for air blocks, could lead to unexpected behaviour since it fires events
+ if (world.isAirBlock(x, y, z))
+ return;
+
+ // what?
+ if(!(playerEntity instanceof EntityPlayerMP))
+ return;
+ EntityPlayerMP player = (EntityPlayerMP) playerEntity;
+
+ // check if the block can be broken, since extra block breaks shouldn't instantly break stuff like obsidian
+ // or precious ores you can't harvest while mining stone
+ Block block = world.getBlock(x, y, z);
+ int meta = world.getBlockMetadata(x, y, z);
+
+ // only effective materials
+ if (!isWoodLog(block))
+ return;
+
+ Block refBlock = world.getBlock(refX, refY, refZ);
+ float refStrength = ForgeHooks.blockStrength(refBlock, player, world, refX, refY, refZ);
+ float strength = ForgeHooks.blockStrength(block, player, world, x,y,z);
+
+ // only harvestable blocks that aren't impossibly slow to harvest
+ if (!ForgeHooks.canHarvestBlock(block, player, meta) || refStrength/strength > 10f)
+ return;
+
+ // send the blockbreak event
+ BlockEvent.BreakEvent event = ForgeHooks.onBlockBreakEvent(world, player.theItemInWorldManager.getGameType(), player, x,y,z);
+ if(event.isCanceled())
+ return;
+
+ if (player.capabilities.isCreativeMode) {
+ block.onBlockHarvested(world, x, y, z, meta, player);
+ if (block.removedByPlayer(world, player, x, y, z, false))
+ block.onBlockDestroyedByPlayer(world, x, y, z, meta);
+
+ // send update to client
+ if (!world.isRemote) {
+ player.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world));
+ }
+ return;
+ }
+
+ // callback to the tool the player uses. Called on both sides. This damages the tool n stuff.
+ player.getCurrentEquippedItem().func_150999_a(world, block, x, y, z, player);
+
+ // server sided handling
+ if (!world.isRemote) {
+ // serverside we reproduce ItemInWorldManager.tryHarvestBlock
+
+ // ItemInWorldManager.removeBlock
+ block.onBlockHarvested(world, x,y,z, meta, player);
+
+ if(block.removedByPlayer(world, player, x,y,z, true)) // boolean is if block can be harvested, checked above
+ {
+ block.onBlockDestroyedByPlayer( world, x,y,z, meta);
+ block.harvestBlock(world, player, x,y,z, meta);
+ block.dropXpOnBlockBreak(world, x,y,z, event.getExpToDrop());
+ }
+
+ // always send block update to client
+ player.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world));
+ }
+ // client sided handling
+ else {
+ //PlayerControllerMP pcmp = Minecraft.getMinecraft().playerController;
+ // clientside we do a "this clock has been clicked on long enough to be broken" call. This should not send any new packets
+ // the code above, executed on the server, sends a block-updates that give us the correct state of the block we destroy.
+
+ // following code can be found in PlayerControllerMP.onPlayerDestroyBlock
+ world.playAuxSFX(2001, x, y, z, Block.getIdFromBlock(block) + (meta << 12));
+ if(block.removedByPlayer(world, player, x,y,z, true))
+ {
+ block.onBlockDestroyedByPlayer(world, x,y,z, meta);
+ }
+ // callback to the tool
+ ItemStack itemstack = player.getCurrentEquippedItem();
+ if (itemstack != null)
+ {
+ itemstack.func_150999_a(world, block, x, y, z, player);
+
+ if (itemstack.stackSize == 0)
+ {
+ player.destroyCurrentEquippedItem();
+ }
+ }
+
+ // send an update to the server, so we get an update back
+ //if(PHConstruct.extraBlockUpdates)
+ //Minecraft.getMinecraft().getNetHandler().addToSendQueue(new C07PacketPlayerDigging(2, x,y,z, Minecraft.getMinecraft().objectMouseOver.sideHit));
+ }
+ }
+
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Container.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Container.java
index b9a4d861b3..29dabaf084 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Container.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Container.java
@@ -1,6 +1,5 @@
package gtPlusPlus.xmod.gregtech.common.helpers.autocrafter;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.*;
@@ -8,6 +7,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.world.World;
+import gtPlusPlus.api.objects.Logger;
+
public class AC_Helper_Container extends Container
{
/** The crafting matrix inventory (3x3). */
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Utils.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Utils.java
index 84cf6067d1..eb1649056e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Utils.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/autocrafter/AC_Helper_Utils.java
@@ -1,20 +1,10 @@
package gtPlusPlus.xmod.gregtech.common.helpers.autocrafter;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
+import java.util.*;
import java.util.Map.Entry;
-import java.util.Set;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GT4Entity_AutoCrafter;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.inventory.Container;
-import net.minecraft.world.World;
-import net.minecraft.world.WorldServer;
-import net.minecraftforge.common.util.FakePlayerFactory;
public class AC_Helper_Utils {
@@ -49,7 +39,7 @@ public class AC_Helper_Utils {
public final static boolean removeCrafter(GT4Entity_AutoCrafter AC) {
if (!sAutocrafterMap.isEmpty()){
if (sAutocrafterMap.containsValue(AC)){
- sAutocrafterMap.remove(AC);
+ sAutocrafterMap.remove(getIDByCrafter(AC));
return true;
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java
index cbf6445559..a3a116fea6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java
@@ -1,19 +1,15 @@
package gtPlusPlus.xmod.gregtech.common.helpers.tesseract;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
+import static gtPlusPlus.core.lib.CORE.*;
+
+import java.util.*;
import java.util.Map.Entry;
-import static gtPlusPlus.core.lib.CORE.sTesseractGeneratorOwnershipMap;
-import static gtPlusPlus.core.lib.CORE.sTesseractTerminalOwnershipMap;
+import net.minecraft.entity.player.EntityPlayer;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator;
import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal;
-import net.minecraft.entity.player.EntityPlayer;
public class TesseractHelper {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java
index eb17de8d37..aa3403301a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java
@@ -2,30 +2,30 @@ package gtPlusPlus.xmod.gregtech.common.items;
import static gtPlusPlus.core.util.Utils.getTcAspectStack;
-import codechicken.nei.api.API;
-import cpw.mods.fml.common.Loader;
+import net.minecraft.item.EnumAction;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
import gregtech.api.interfaces.ITexture;
import gregtech.api.objects.*;
import gregtech.api.util.*;
-import gregtech.common.covers.*;
+import gregtech.common.covers.GT_Cover_Arm;
+import gregtech.common.covers.GT_Cover_Conveyor;
+import gregtech.common.covers.GT_Cover_Pump;
import gregtech.common.items.behaviors.Behaviour_DataOrb;
import gregtech.common.items.behaviors.Behaviour_DataStick;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.recipe.RECIPES_Old_Circuits;
-import gtPlusPlus.core.util.StringUtils;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.data.StringUtils;
import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaItem_X32;
-import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntity_RTG;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.ItemStack;
public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 {
public MetaGeneratedGregtechItems INSTANCE;
@@ -159,6 +159,10 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 {
//Extruder Shape
GregtechItemList.Shape_Extruder_WindmillShaft.set(this.addItem(tLastID = 40, "Extruder Shape (Shaft)", "Extruder Shape for making Windmill Shafts", new Object[0]));
+
+ //GTNH Already adds this.
+ if (!CORE.GTNH)
+ GregtechItemList.Shape_Extruder_SmallGear.set(this.addItem(221, "Extruder Shape (Small Gear)", "Extruder Shape for making small gears", new Object[0]));
//Batteries
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java
index 5ddb67b6d3..b20de51fe3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java
@@ -4,6 +4,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.TC_Aspects;
import gregtech.api.enums.ToolDictNames;
import gregtech.api.items.GT_MetaGenerated_Tool;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechToolDictNames;
import gtPlusPlus.xmod.gregtech.common.tools.TOOL_Gregtech_Choocher;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java
index 7335ce1bf7..c74a31055d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java
@@ -2,13 +2,14 @@ package gtPlusPlus.xmod.gregtech.common.items.behaviours;
import java.util.List;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
import gregtech.api.items.GT_MetaBase_Item;
import gregtech.api.util.GT_LanguageManager;
import gregtech.common.items.behaviors.Behaviour_None;
import gregtech.common.items.behaviors.Behaviour_Wrench;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
public class Behaviour_Choocher
extends Behaviour_None {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Prospecting_Ex.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Prospecting_Ex.java
index bd4b6d0154..f320bfc77d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Prospecting_Ex.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Prospecting_Ex.java
@@ -2,21 +2,25 @@ package gtPlusPlus.xmod.gregtech.common.items.behaviours;
import java.util.Random;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.items.GT_MetaBase_Item;
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.objects.ItemData;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
import gregtech.common.blocks.GT_Block_Ores;
import gregtech.common.blocks.GT_TileEntity_Ores;
import gregtech.common.items.behaviors.Behaviour_Prospecting;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
+
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.IFluidBlock;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java
index c8d0cc1009..feb06714c5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java
@@ -1,8 +1,9 @@
package gtPlusPlus.xmod.gregtech.common.render;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.util.GT_Log;
-import gregtech.api.util.GT_Utility;
+import java.util.Collection;
+
+import org.lwjgl.opengl.GL11;
+
import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderManager;
@@ -10,10 +11,12 @@ import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.potion.Potion;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.event.RenderPlayerEvent;
-import org.lwjgl.opengl.GL11;
-import java.util.Collection;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_Utility;
+
+import net.minecraftforge.client.event.RenderPlayerEvent;
public class GTPP_CapeRenderer
extends RenderPlayer {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java
index 0208fcbd49..8f7539f268 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java
@@ -1,38 +1,41 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.automation;
-import static gtPlusPlus.core.lib.CORE.sTesseractGeneratorOwnershipMap;
-import static gtPlusPlus.core.lib.CORE.sTesseractTerminalOwnershipMap;
+import static gtPlusPlus.core.lib.CORE.*;
import java.util.UUID;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.ISidedInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.world.World;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
-import gregtech.api.interfaces.tileentity.*;
+import gregtech.api.interfaces.tileentity.IDigitalChest;
+import gregtech.api.interfaces.tileentity.IGregTechDeviceInformation;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import gtPlusPlus.xmod.gregtech.common.helpers.tesseract.TesseractHelper;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.*;
public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_BasicTank {
- public static int TESSERACT_ENERGY_COST_DIMENSIONAL = 2048;
- public static int TESSERACT_ENERGY_COST = 512;
+ public static int TESSERACT_ENERGY_COST_DIMENSIONAL = 512;
+ public static int TESSERACT_ENERGY_COST = 128;
public byte isWorking = 0;
public int oFrequency = 0;
public int mNeededEnergy = 0;
@@ -165,8 +168,12 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi
@Override
public void onConfigLoad(final GT_Config aConfig) {
- TESSERACT_ENERGY_COST = 512;
- TESSERACT_ENERGY_COST_DIMENSIONAL = 2048;
+ int J = 1;
+ if (CORE.GTNH) {
+ J = 4;
+ }
+ TESSERACT_ENERGY_COST = 128*J;
+ TESSERACT_ENERGY_COST_DIMENSIONAL = 512*J;
}
@Override
@@ -330,7 +337,7 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi
&& ((tTileEntity instanceof IDigitalChest))) {
return ((IDigitalChest) tTileEntity).getStoredItemData();
}
- return null;
+ return new ItemStack[] {};
}
@Override
@@ -531,8 +538,15 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi
if (!this.getBaseMetaTileEntity().isAllowedToWork()) {
return false;
}
- this.mNeededEnergy += (aTerminal.getBaseMetaTileEntity().getWorld() == this.getBaseMetaTileEntity().getWorld()
+ int J = (aTerminal.getBaseMetaTileEntity().getWorld() == this.getBaseMetaTileEntity().getWorld()
? TESSERACT_ENERGY_COST : TESSERACT_ENERGY_COST_DIMENSIONAL);
+
+ if (CORE.GTNH) {
+ J *= 4;
+ }
+
+ this.mNeededEnergy += J;
+
return true;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java
index eb3c5270ba..f5cc4a0cd5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java
@@ -2,6 +2,12 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.automation;
import java.util.UUID;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.world.World;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -10,23 +16,23 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import gtPlusPlus.xmod.gregtech.common.helpers.tesseract.TesseractHelper;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.*;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTankInfo;
public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_BasicTank {
public int mFrequency = 0;
public UUID mOwner;
public boolean mDidWork = false;
public static boolean sInterDimensionalTesseractAllowed = true;
+ private static int TESSERACT_ENERGY_COST = 128;
+ private static int TESSERACT_ENERGY_COST_DIMENSIONAL = 512;
public GT_MetaTileEntity_TesseractTerminal(final int aID, final String aName, final String aNameRegional,
final int aTier) {
@@ -75,12 +81,12 @@ public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_Basic
@Override
public long getMinimumStoredEU() {
- return this.getBaseMetaTileEntity().getEUCapacity() / 2;
+ return (this.getBaseMetaTileEntity().getEUCapacity() / 100);
}
@Override
public long maxEUInput() {
- return 128;
+ return TESSERACT_ENERGY_COST_DIMENSIONAL;
}
@Override
@@ -90,7 +96,7 @@ public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_Basic
@Override
public long maxEUStore() {
- return 512 * 32;
+ return TESSERACT_ENERGY_COST_DIMENSIONAL * 8 * 32;
}
@Override
@@ -128,6 +134,14 @@ public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_Basic
@Override
public void onConfigLoad(final GT_Config aConfig) {
sInterDimensionalTesseractAllowed = true;
+ if (CORE.GTNH) {
+ TESSERACT_ENERGY_COST = 512;
+ TESSERACT_ENERGY_COST_DIMENSIONAL = 2048;
+ }
+ else {
+ TESSERACT_ENERGY_COST = 128;
+ TESSERACT_ENERGY_COST_DIMENSIONAL = 512;
+ }
}
@Override
@@ -481,7 +495,10 @@ public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_Basic
public String[] getDescription() {
return new String[] { this.mDescription,
"Accesses Tesseract Generators remotely",
- "Connect with pipes to extract items",
+ "Connect with pipes to extract items or fluids",
+ "Outputs from the back face",
+ "Consumes "+TESSERACT_ENERGY_COST+"EU/t for same dimension transfers",
+ "Consumes "+TESSERACT_ENERGY_COST_DIMENSIONAL+"EU/t for cross dimensional transfers",
CORE.GT_Tooltip };
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java
index 4363e57ad3..0ec3ce53b2 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java
@@ -1,20 +1,27 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.generators;
import cpw.mods.fml.common.registry.GameRegistry;
-import gregtech.api.enums.*;
+
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntityFurnace;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
import gregtech.common.tileentities.boilers.GT_MetaTileEntity_Boiler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_AdvancedBoiler;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_AdvancedBoiler;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidHandler;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_HV.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_HV.java
index b02d1adb03..dfbd254897 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_HV.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_HV.java
@@ -5,6 +5,7 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
public class GT_MetaTileEntity_Boiler_HV
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_LV.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_LV.java
index 1820c302f7..e2b9046c68 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_LV.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_LV.java
@@ -5,6 +5,7 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
public class GT_MetaTileEntity_Boiler_LV
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_MV.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_MV.java
index 1aa7e0d700..7ef781da17 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_MV.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_MV.java
@@ -5,6 +5,7 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
public class GT_MetaTileEntity_Boiler_MV
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Solar.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Solar.java
index 3c90bf6836..5868efa8ba 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Solar.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Solar.java
@@ -1,5 +1,8 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.generators;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.Dyes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -10,8 +13,7 @@ import gregtech.api.util.GT_ModHandler;
import gregtech.common.gui.GT_Container_Boiler;
import gregtech.common.gui.GT_GUIContainer_Boiler;
import gregtech.common.tileentities.boilers.GT_MetaTileEntity_Boiler;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.nbt.NBTTagCompound;
+
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidHandler;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java
index 1ff07b06e1..55fbbfd9da 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java
@@ -1,16 +1,23 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.generators;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_SemiFluidGenerator extends GT_MetaTileEntity_BasicGenerator{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityDoubleFuelGeneratorBase.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityDoubleFuelGeneratorBase.java
index 6ba0cb0d76..2ddb2f90f0 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityDoubleFuelGeneratorBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityDoubleFuelGeneratorBase.java
@@ -1,17 +1,22 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.generators;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechRocketFuelGeneratorBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.item.ItemStack;
public class GregtechMetaTileEntityDoubleFuelGeneratorBase
extends GregtechRocketFuelGeneratorBase {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java
index 681756cd67..27a576da8a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java
@@ -1,8 +1,14 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.generators;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
@@ -10,10 +16,9 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenera
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
public class GregtechMetaTileEntityGeothermalGenerator
extends GT_MetaTileEntity_BasicGenerator
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java
index c1fd45bdd6..3afd6e838b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java
@@ -1,18 +1,23 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.generators;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechRocketFuelGeneratorBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.item.ItemStack;
public class GregtechMetaTileEntityRocketFuelGenerator
extends GregtechRocketFuelGeneratorBase {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntitySolarGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntitySolarGenerator.java
index 2f1daa4bdf..de33069904 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntitySolarGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntitySolarGenerator.java
@@ -2,6 +2,8 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.generators;
import static gregtech.api.enums.GT_Values.V;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.Textures;
@@ -9,11 +11,11 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_SolarGenerator;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_SolarGenerator;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechMetaSolarGenerator;
-import net.minecraft.entity.player.InventoryPlayer;
public class GregtechMetaTileEntitySolarGenerator extends GregtechMetaSolarGenerator {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java
index fd17c1d663..006d4b612c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java
@@ -1,22 +1,26 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.generators;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.PollutionUtils;
import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
import net.minecraftforge.fluids.FluidStack;
public class GregtechMetaTileEntity_RTG extends GT_MetaTileEntity_BasicGenerator {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java
index ab3e9dbdd2..46cb903e0b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java
@@ -2,23 +2,32 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.generators.creative;
import static gregtech.api.enums.GT_Values.V;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+
+import org.apache.commons.lang3.reflect.FieldUtils;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Textures;
-import gregtech.api.gui.*;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.items.GT_MetaBase_Item;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTileEntity;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.CustomIcon;
import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GregtechMetaEnergyBuffer;
-import ic2.api.item.IElectricItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.EnumChatFormatting;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
@@ -42,7 +51,7 @@ public class GregtechMetaCreativeEnergyBuffer extends GregtechMetaEnergyBuffer {
@Override
public String[] getDescription() {
- return new String[] {this.mDescription, CORE.GT_Tooltip};
+ return new String[] {this.mDescription, "Use Screwdriver to change voltage", CORE.GT_Tooltip};
}
/*
@@ -50,14 +59,16 @@ public class GregtechMetaCreativeEnergyBuffer extends GregtechMetaEnergyBuffer {
*/
@Override
public ITexture[][][] getTextureSet(final ITexture[] aTextures) {
+ CustomIcon g = TexturesGtBlock.Casing_Material_RedSteel;
+ CustomIcon h = TexturesGtBlock.Casing_Material_Grisium;
+ CustomIcon k;
+ boolean j = MathUtils.isNumberEven(this.mTier);
final ITexture[][][] rTextures = new ITexture[2][17][];
+ k = j ? g : h;
for (byte i = -1; i < 16; i++) {
- rTextures[0][i + 1] = new ITexture[] { new GT_RenderedTexture(
- Textures.BlockIcons.MACHINE_CASING_MAGIC_FRONT) };
+ rTextures[0][i + 1] = new ITexture[] { new GT_RenderedTexture(k) };
rTextures[1][i + 1] = new ITexture[] {
- new GT_RenderedTexture(
- Textures.BlockIcons.MACHINE_CASING_MAGIC_FRONT),
- this.mInventory.length > 4 ? Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier]
+ new GT_RenderedTexture(k), this.mInventory.length > 4 ? Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier]
: Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
}
return rTextures;
@@ -145,7 +156,7 @@ public class GregtechMetaCreativeEnergyBuffer extends GregtechMetaEnergyBuffer {
String[] infoData = super.getInfoData();
return new String[] {
infoData[0],
- "THIS IS A CREATIVE ITEM - FOR TESTING",
+ "THIS IS A CREATIVE ITEM - FOR TESTING | Tier: "+this.mTier,
infoData[1],
infoData[2]
};
@@ -155,4 +166,57 @@ public class GregtechMetaCreativeEnergyBuffer extends GregtechMetaEnergyBuffer {
public boolean isGivingInformation() {
return true;
}
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ aNBT.setByte("mTier", this.mTier);
+ super.saveNBTData(aNBT);
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ this.mTier = aNBT.getByte("mTier");
+ }
+
+ @Override
+ public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ if (this.mTier < 9) {
+ this.mTier++;
+ }
+ else {
+ this.mTier = 0;
+ }
+ this.markDirty();
+ try {
+ Field field = ReflectionUtils.getField(this.getClass(), "mTextures");
+ field.setAccessible(true);
+ Field modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+ ITexture[][][] V = getTextureSet(null);
+ if (V != null) {
+ Logger.REFLECTION("Got Valid Textures.");
+ if (this.getBaseMetaTileEntity().isClientSide()) {
+ Logger.REFLECTION("Clientside Call.");
+ Logger.REFLECTION("Refreshing Textures on buffer.");
+ field.set(this, V);
+ Logger.REFLECTION("Refreshed Textures on buffer.");
+ }
+ else {
+ Logger.REFLECTION("Serverside Call.");
+ }
+ }
+ else {
+ Logger.REFLECTION("Bad mTextures setter.");
+ }
+ }
+ catch (Throwable t) {
+ //Bad refresh.
+ t.printStackTrace();
+ Logger.REFLECTION("Bad mTextures setter.");
+ }
+ PlayerUtils.messagePlayer(aPlayer, "Now running at "+GT_Values.VOLTAGE_NAMES[this.mTier]+". ["+MathUtils.isNumberEven(this.mTier)+"]");
+ super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ);
+ }
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_WorldAccelerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_WorldAccelerator.java
index da3b8aa551..e75106382a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_WorldAccelerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_WorldAccelerator.java
@@ -2,10 +2,21 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic;
import static gregtech.api.enums.GT_Values.V;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
import gregtech.api.enums.Textures;
import gregtech.api.enums.Textures.BlockIcons.CustomIcon;
import gregtech.api.interfaces.ITexture;
@@ -13,16 +24,10 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.player.PlayerUtils;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import net.minecraftforge.common.util.ForgeDirection;
public class GT_MetaTileEntity_WorldAccelerator extends GT_MetaTileEntity_TieredMachineBlock {
@@ -83,7 +88,7 @@ public class GT_MetaTileEntity_WorldAccelerator extends GT_MetaTileEntity_Tiered
@Override
public ITexture[][][] getTextureSet(ITexture[] pTextures) {
- return null;
+ return new ITexture[0][0][0];
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java
index b99ce19031..22cffe3ebd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java
@@ -2,6 +2,10 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic;
import static gregtech.api.enums.GT_Values.V;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -12,17 +16,15 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
import gregtech.common.items.GT_MetaGenerated_Tool_01;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.general.ItemAirFilter;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.PollutionUtils;
import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
import gtPlusPlus.xmod.gregtech.api.gui.basic.CONTAINER_PollutionCleaner;
import gtPlusPlus.xmod.gregtech.api.gui.basic.GUI_PollutionCleaner;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_BasicMachine {
@@ -264,7 +266,7 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi
if (damageValue <= 1){
if (this.mOptimalAirFlow > 0){
- damageValue = (this.mOptimalAirFlow/10/2);
+ damageValue = (this.mOptimalAirFlow/10/8);
}
else {
return false;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaCondensor.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaCondensor.java
index 6d4e4d0135..3e94cef7bb 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaCondensor.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaCondensor.java
@@ -1,5 +1,7 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.enums.Dyes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -7,13 +9,13 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_SteamCondenser;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_SteamCondenser;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechMetaBoilerBase;
-import net.minecraft.entity.player.InventoryPlayer;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidHandler;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java
index d6286fb409..82565bb1d9 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java
@@ -1,22 +1,24 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.PollutionUtils;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTileEntity;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
public class GregtechMetaPollutionCreator extends GregtechMetaTileEntity {
@@ -236,7 +238,7 @@ public class GregtechMetaPollutionCreator extends GregtechMetaTileEntity {
@Override
public int[] getAccessibleSlotsFromSide(final int p_94128_1_) {
- return null;
+ return new int[] {};
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java
index 2346d309c0..213a04c693 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java
@@ -1,22 +1,24 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.PollutionUtils;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTileEntity;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
public class GregtechMetaPollutionDetector extends GregtechMetaTileEntity {
@@ -229,7 +231,7 @@ public class GregtechMetaPollutionDetector extends GregtechMetaTileEntity {
@Override
public int[] getAccessibleSlotsFromSide(final int p_94128_1_) {
- return null;
+ return new int[] {};
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java
index 7bdc5ae2f2..034c2da487 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java
@@ -1,34 +1,38 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic;
import static gregtech.api.enums.GT_Values.V;
-import static gtPlusPlus.api.objects.ChunkManager.mChunkLoaderManagerMap;
+import static gtPlusPlus.api.objects.minecraft.ChunkManager.mChunkLoaderManagerMap;
+
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
+
import com.google.common.collect.MapMaker;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.ChunkCoordIntPair;
+import net.minecraft.world.MinecraftException;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.GTplusplus;
import gtPlusPlus.api.interfaces.IChunkLoader;
-import gtPlusPlus.api.objects.ChunkManager;
-import gtPlusPlus.api.objects.DimChunkPos;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.array.Triplet;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.ChunkCoordIntPair;
-import net.minecraft.world.MinecraftException;
-import net.minecraft.world.World;
-import net.minecraft.world.chunk.Chunk;
+import gtPlusPlus.api.objects.data.Triplet;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.api.objects.minecraft.ChunkManager;
+import gtPlusPlus.api.objects.minecraft.DimChunkPos;
import net.minecraftforge.common.ForgeChunkManager;
import net.minecraftforge.common.ForgeChunkManager.Ticket;
import net.minecraftforge.common.ForgeChunkManager.Type;
@@ -179,7 +183,7 @@ public class GregtechMetaTileEntityChunkLoader extends GT_MetaTileEntity_TieredM
@Override
public ITexture[][][] getTextureSet(final ITexture[] aTextures) {
- return null;
+ return new ITexture[0][0][0];
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java
index dbc8fb4227..0786d46fc4 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java
@@ -1,5 +1,7 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -8,8 +10,8 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachin
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public class GregtechMetaTileEntity_BasicWasher extends GT_MetaTileEntity_BasicMachine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java
index 3527fbdd24..faeaf1d605 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java
@@ -3,6 +3,11 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic;
import java.util.ArrayList;
import java.util.Random;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Textures;
@@ -10,16 +15,15 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_DeluxeMachine;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
@@ -187,7 +191,10 @@ public class GregtechMetaTileEntity_CompactFusionReactor extends GT_MetaTileEnti
FluidStack[] tFluids = tFluidList.toArray(new FluidStack[tFluidList.size()]);
GT_Recipe tRecipe = getRecipeList().findRecipe(this.getBaseMetaTileEntity(), this.mLastRecipe, false,
GT_Values.V[8], tFluids, new ItemStack[] {});
- if ((tRecipe == null && !mRunningOnLoad) || (maxEUStore() < tRecipe.mSpecialValue)) {
+ if (tRecipe == null) {
+ return false;
+ }
+ if ((tRecipe == null && !mRunningOnLoad) || (tRecipe != null && maxEUStore() < tRecipe.mSpecialValue)) {
this.mLastRecipe = null;
Logger.INFO("Just plain bad.");
return false;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java
index fe3ad4163a..7ccee3f4b4 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java
@@ -3,6 +3,11 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic;
import java.util.ArrayList;
import java.util.Random;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Textures;
@@ -10,16 +15,15 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_DeluxeMachine;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
@@ -187,7 +191,12 @@ public class GregtechMetaTileEntity_PocketFusion extends GT_MetaTileEntity_Delux
FluidStack[] tFluids = tFluidList.toArray(new FluidStack[tFluidList.size()]);
GT_Recipe tRecipe = getRecipeList().findRecipe(this.getBaseMetaTileEntity(), this.mLastRecipe, false,
GT_Values.V[8], tFluids, new ItemStack[] {});
- if ((tRecipe == null && !mRunningOnLoad) || (maxEUStore() < tRecipe.mSpecialValue)) {
+
+ if (tRecipe == null) {
+ return false;
+ }
+
+ if ((tRecipe == null && !mRunningOnLoad) || (tRecipe != null && maxEUStore() < tRecipe.mSpecialValue)) {
this.mLastRecipe = null;
Logger.INFO("Just plain bad.");
return false;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java
index 7f70712ee9..37d47469cf 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java
@@ -4,6 +4,12 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -11,19 +17,14 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.array.BlockPos;
-import gtPlusPlus.core.util.entity.EntityUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTileEntity;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import gtPlusPlus.xmod.gregtech.common.helpers.ChargingHelper;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity {
@@ -267,7 +268,7 @@ public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity {
@Override
public int[] getAccessibleSlotsFromSide(final int p_94128_1_) {
- return null;
+ return new int[] {};
}
@Override
@@ -447,11 +448,12 @@ public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity {
}
public double getDistanceBetweenTwoPositions(BlockPos objectA, BlockPos objectB){
- int[] objectArray1 = new int[]{objectA.xPos, objectA.yPos, objectA.zPos};
- int[] objectArray2 = new int[]{objectB.xPos, objectB.yPos, objectB.zPos};
if (objectA == null || objectB == null){
return 0f;
}
+ int[] objectArray1 = new int[]{objectA.xPos, objectA.yPos, objectA.zPos};
+ int[] objectArray2 = new int[]{objectB.xPos, objectB.yPos, objectB.zPos};
+
final double distance = Math.sqrt(
(objectArray2[0]-objectArray1[0])*(objectArray2[0]-objectArray1[0])
+(objectArray2[1]-objectArray1[1])*(objectArray2[1]-objectArray1[1])
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_AutoCrafter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_AutoCrafter.java
index 777310ef0f..e3b15a32fc 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_AutoCrafter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_AutoCrafter.java
@@ -3,7 +3,13 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.ArrayList;
import java.util.List;
-import gregtech.api.enums.*;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.TAE;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
@@ -13,19 +19,16 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockB
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.array.ArrayUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.nbt.NBTUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.xmod.gregtech.common.helpers.CraftingHelper;
import gtPlusPlus.xmod.gregtech.common.helpers.autocrafter.AC_Helper_Utils;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_ThermalBoiler.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_ThermalBoiler.java
index 98f3d92980..93d679992b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_ThermalBoiler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GT4Entity_ThermalBoiler.java
@@ -1,5 +1,8 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -7,12 +10,11 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.*;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.general.ItemLavaFilter;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public class GT4Entity_ThermalBoiler
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_NuclearReactor.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_NuclearReactor.java
index c95a91a724..41b8e6dec5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_NuclearReactor.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_NuclearReactor.java
@@ -3,7 +3,12 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.ArrayList;
import java.util.Collection;
-import gregtech.api.enums.*;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.TAE;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -13,17 +18,16 @@ import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
-import gtPlusPlus.core.util.fluid.FluidUtils;
import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
@@ -69,6 +73,7 @@ public class GregtechMTE_NuclearReactor extends GT_MetaTileEntity_MultiBlockBase
"Outputs U233 every 10 seconds, on average",
"Input Fluorine and Helium for bonus byproducts",
"Input Li2BeF4 and a molten salt as fuel.",
+ "LiFBeF2ThF4UF4, LiFBeF2ZrF4UF4 or LiFBeF2ZrF4U235",
CORE.GT_Tooltip};
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_TeslaTower.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_TeslaTower.java
index b2b6b83d0b..620953d0ec 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_TeslaTower.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_TeslaTower.java
@@ -1,12 +1,17 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
-import static gregtech.api.enums.GT_Values.VN;
-import static gregtech.api.enums.GT_Values.W;
+import static gregtech.api.enums.GT_Values.*;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
@@ -18,23 +23,16 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.entity.EntityTeslaTowerLightning;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.materials.MaterialUtils;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.block.Block;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class GregtechMTE_TeslaTower extends GregtechMeta_MultiBlockBase {
@@ -92,7 +90,7 @@ public class GregtechMTE_TeslaTower extends GregtechMeta_MultiBlockBase {
"1x " + VN[getMinTier()] + "+ Energy Hatch (Any bottom layer casing)"};
}
- private void initFields() {
+ private final void initFields() {
casingBlock = ModBlocks.blockCasings2Misc;
casingMeta = getCasingBlockItem().get(0).getItemDamage();
int frameId = 4096 + getFrameMaterial().mMetaItemSubID;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityAnimalFarm.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityAnimalFarm.java
index da83b3c3d1..bd99d5bcdd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityAnimalFarm.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityAnimalFarm.java
@@ -1,397 +1,83 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
-import java.lang.reflect.Field;
+import net.minecraft.item.ItemStack;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
-import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.GT_Recipe;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.xmod.forestry.trees.TreefarmManager;
-import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-
-public class GregtechMetaTileEntityAnimalFarm extends GT_MetaTileEntity_MultiBlockBase {
-
-
- private static final ITexture[] FACING_SIDE = {new GT_RenderedTexture(TexturesGtBlock.Casing_Material_Tumbaga)};
- private static final ITexture[] FACING_FRONT = {new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBLASTFURNACE)};
- private static final ITexture[] FACING_ACTIVE = {new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBLASTFURNACE_ACTIVE)};
-
- //public ArrayList<GT_MetaTileEntity_TieredMachineBlock> mCasings = new ArrayList();
+public abstract class GregtechMetaTileEntityAnimalFarm extends GT_MetaTileEntity_MultiBlockBase {
- private final boolean running = false;
- private boolean p1, p2, p3, p4, p5, p6;
- public ItemStack mOutputItem1;
- public ItemStack mOutputItem2;
- private Block Humus;
- private final boolean isForestryLoaded = TreefarmManager.isForestryValid();
-
- public GregtechMetaTileEntityAnimalFarm(final int aID, final String aName, final String aNameRegional) {
- super(aID, aName, aNameRegional);
- }
-
- public GregtechMetaTileEntityAnimalFarm(final String aName) {
+ public GregtechMetaTileEntityAnimalFarm(String aName) {
super(aName);
+ // TODO Auto-generated constructor stub
}
-
- @Override
- public String[] getDescription() {
- return new String[]{
- "Controller Block for the Animal Farmer",
- "How to get your first logs without an axe.",
- "Max Size(WxHxD): 9x1x9 (Controller, with upto 4 dirt out each direction on a flat plane.)",
- "Dirt for the rest! [D = Dirt, X = Controller]"
- };
- }
-
- @Override
- public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing, final byte aColorIndex, final boolean aActive, final boolean aRedstone) {
- if (aSide == 1) {
- return new ITexture[]{new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Acacia_Log), new GT_RenderedTexture(aActive ? TexturesGtBlock.Overlay_Machine_Vent_Fast : TexturesGtBlock.Overlay_Machine_Vent)};
- }
- return new ITexture[]{new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Farm_Manager)};
+
+ public GregtechMetaTileEntityAnimalFarm(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ // TODO Auto-generated constructor stub
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity p0) {
+ // TODO Auto-generated method stub
return null;
}
@Override
- public boolean isTeleporterCompatible() {
- return false;
- }
-
- @Override
- public boolean isFacingValid(final byte aFacing) {
- return aFacing > 1;
- }
-
- @Override
- public boolean isAccessAllowed(final EntityPlayer aPlayer) {
- return true;
- }
-
- @Override
- public boolean allowCoverOnSide(final byte aSide, final GT_ItemStack aCoverID) {
- return (GregTech_API.getCoverBehavior(aCoverID.toStack()).isSimpleCover()) && (super.allowCoverOnSide(aSide, aCoverID));
- }
-
- @Override
- public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
- return new GregtechMetaTileEntityAnimalFarm(this.mName);
+ public String[] getDescription() {
+ // TODO Auto-generated method stub
+ return null;
}
@Override
- public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) {
- if (aBaseMetaTileEntity.isClientSide()) {
- return true;
- }
-
- return true;
+ public ITexture[] getTexture(IGregTechTileEntity p0, byte p1, byte p2, byte p3, boolean p4, boolean p5) {
+ // TODO Auto-generated method stub
+ return null;
}
@Override
- public boolean isCorrectMachinePart(final ItemStack aStack) {
- return true;
+ public boolean isCorrectMachinePart(ItemStack p0) {
+ // TODO Auto-generated method stub
+ return false;
}
@Override
- public boolean checkRecipe(final ItemStack aStack) {
- Logger.INFO("Working");
- /*if (!checkRecursiveBlocks()) {
- this.mEfficiency = 0;
- this.mEfficiencyIncrease = 0;
- this.mMaxProgresstime = 0;
- running = false;
- return false;
- }
-
- if (mEfficiency == 0) {
- this.mEfficiency = 10000;
- this.mEfficiencyIncrease = 10000;
- this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
- //GT_Pollution.addPollution(new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), mMaxProgresstime*5);
- return true;
- }*/
- this.mEfficiency = 0;
- this.mEfficiencyIncrease = 0;
- this.mMaxProgresstime = 0;
+ public boolean checkRecipe(ItemStack p0) {
+ // TODO Auto-generated method stub
return false;
}
-
- private Block getHumus(){
- if (!LoadedMods.Forestry){
- return null;
- }
- return TreefarmManager.getHumus();
- }
-
@Override
- public boolean checkMachine(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
-
- //this.mCasings.clear();
- Logger.INFO("Step 1");
- final int xDir = net.minecraftforge.common.util.ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 7;
- final int zDir = net.minecraftforge.common.util.ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 7;
-
- for (int i = -7; i <= 7; i++) {
- Logger.INFO("Step 2");
- for (int j = -7; j <= 7; j++) {
- Logger.INFO("Step 3");
- for (int h = 0; h <= 1; h++) {
- Logger.INFO("Step 4");
-
- final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
-
- //Farm Floor inner 14x14
- if (((i != -7) && (i != 7)) && ((j != -7) && (j != 7))) {
- Logger.INFO("Step 5 - H:"+h);
- // Farm Dirt Floor and Inner Air/Log space.
- if (h == 0) {
- //Dirt Floor
- if (!TreefarmManager.isDirtBlock(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j))) {
- Logger.INFO("Dirt like block missing from inner 14x14.");
- Logger.INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- aBaseMetaTileEntity.getWorld().setBlock(
- (aBaseMetaTileEntity.getXCoord()+(xDir+i)),
- (aBaseMetaTileEntity.getYCoord()+(h)),
- (aBaseMetaTileEntity.getZCoord()+(zDir+j)),
- Blocks.melon_block);
- return false;
- }
- }
- // Inside fenced area, mostly air or trees or saplings
- else if (h == 1){
- //Farm Inner 14x14
- /*if (!TreefarmManager.isWoodLog(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j)) || !TreefarmManager.isAirBlock(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j)) || !aBaseMetaTileEntity.getAirOffset(xDir+i, h, zDir+j)) {
- Utils.LOG_INFO("Wood like block missing from inner 14x14, layer 2."); //TODO
- Utils.LOG_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- Utils.LOG_INFO("Found at x:"+(xDir+i)+" y:"+h+" z:"+(zDir+j));
- //return false;
- }*/
- }
-
- }
- //Dealt with inner 5x5, now deal with the exterior.
- else {
- Logger.INFO("Step 6 - H:"+h);
- //Deal with all 4 sides (Fenced area)
- if (h == 1) {
- if (!TreefarmManager.isFenceBlock(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j))) {
- Logger.INFO("Fence/Gate missing from outside the second layer.");
- Logger.INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- return false;
- }
- }
- //Deal with Bottom edges (Add Hatches/Busses first, othercheck make sure it's dirt) //TODO change the casings to not dirt~
- else if (h == 0) {
-
- try {
- this.addCasingToCasingList(tTileEntity);
- } catch (final Throwable t){}
-
- if ((!this.addMaintenanceToMachineList(tTileEntity, 77)) && (!this.addInputToMachineList(tTileEntity, 77)) && (!this.addOutputToMachineList(tTileEntity, 77)) && (!this.addEnergyInputToMachineList(tTileEntity, 77))) {
- if (((xDir + i) != 0) || ((zDir + j) != 0)) {//no controller
-
- if (!(aBaseMetaTileEntity.getMetaTileID() != 752)) {
- Logger.INFO("Fark Keeper Casings Missing from one of the edges on the bottom edge. x:"+(xDir+i)+" y:"+h+" z:"+(zDir+j)+" | "+aBaseMetaTileEntity.getClass());
- Logger.INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- return false;
- }
- Logger.INFO("Found a farm keeper.");
- }
- }
- }
- Logger.INFO("Step a");
-
- }
- Logger.INFO("Step b");
- }
- Logger.INFO("Step c");
- }
- Logger.INFO("Step d");
- }
- Logger.INFO("Step 7");
-
- //Must have at least one energy hatch.
- if (this.mEnergyHatches != null) {
- for (int i = 0; i < this.mEnergyHatches.size(); i++) {
- if (this.mEnergyHatches.get(i).mTier < 2){
- Logger.INFO("You require at LEAST MV tier Energy Hatches.");
- Logger.INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getXCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getYCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getZCoord());
- return false;
- }
- }
- }
- //Must have at least one output hatch.
- if (this.mOutputHatches != null) {
- for (int i = 0; i < this.mOutputHatches.size(); i++) {
-
- if ((this.mOutputHatches.get(i).mTier < 2) && (this.mOutputHatches.get(i).getBaseMetaTileEntity() instanceof GregtechMTE_NuclearReactor)){
- Logger.INFO("You require at LEAST MV tier Output Hatches.");
- Logger.INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getXCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getYCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getZCoord());
- Logger.INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getInventoryName());
- return false;
- }
- }
- }
- //Must have at least one input hatch.
- if (this.mInputHatches != null) {
- for (int i = 0; i < this.mInputHatches.size(); i++) {
- if (this.mInputHatches.get(i).mTier < 2){
- Logger.INFO("You require at LEAST MV tier Input Hatches.");
- Logger.INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getXCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getYCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getZCoord());
- Logger.INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getInventoryName());
- return false;
- }
- }
- }
- this.mSolderingTool = true;
- //turnCasingActive(true);
- Logger.INFO("Multiblock Formed.");
- return true;
+ public boolean checkMachine(IGregTechTileEntity p0, ItemStack p1) {
+ // TODO Auto-generated method stub
+ return false;
}
@Override
- public int getMaxEfficiency(final ItemStack aStack) {
- return 10000;
+ public int getMaxEfficiency(ItemStack p0) {
+ // TODO Auto-generated method stub
+ return 0;
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
+ public int getPollutionPerTick(ItemStack p0) {
+ // TODO Auto-generated method stub
return 0;
}
@Override
- public int getDamageToComponent(final ItemStack aStack) {
+ public int getDamageToComponent(ItemStack p0) {
+ // TODO Auto-generated method stub
return 0;
}
- public int getAmountOfOutputs() {
- return 1;
- }
-
@Override
- public boolean explodesOnComponentBreak(final ItemStack aStack) {
- return false;
- }
-
- public boolean addCasingToCasingList(final IGregTechTileEntity aTileEntity) {
- if (aTileEntity == null) {
- return false;
- }
- final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
- if (aMetaTileEntity == null) {
- return false;
- }
- if (aMetaTileEntity instanceof GT_MetaTileEntity_TieredMachineBlock) {
- //return this.mCasings.add((GT_MetaTileEntity_TieredMachineBlock) aMetaTileEntity);
- }
+ public boolean explodesOnComponentBreak(ItemStack p0) {
+ // TODO Auto-generated method stub
return false;
}
- private GT_MetaTileEntity_TieredMachineBlock changeTextureswithReflection(final GT_MetaTileEntity_TieredMachineBlock casing, final ITexture[][][] textureSet){
- final GT_MetaTileEntity_TieredMachineBlock cv = casing;
- //System.out.println("Before: "+cv.mTextures.hashCode());
- //Get declared field from class
- Field f;
- try {
- final Field[] x = cv.getClass().getFields();
- for (int i =0; i<x.length;i++){
- //Utils.LOG_INFO(x[i].getName());
- }
- try {
- //Try get the field variable
- f = cv.getClass().getField("mTextures");
- // set the accessiblity of the field to true, this will enable you to change the value
- f.setAccessible(true);
- //change the field value
- f.set(cv, textureSet);
- //Verify change in texture set
- //System.out.println("After: "+cv.mTextures.hashCode());
- return cv;
- } catch (final NoSuchFieldException e) {
- Logger.INFO("Could not find mTextures.");
- return casing;
- }
- } catch (SecurityException | IllegalArgumentException | IllegalAccessException e) {
- // TODO Auto-generated catch block
- //e.printStackTrace();
- return casing;
- }
- }
-
-
- public ITexture[][][] getTextureSet() {
- final ITexture[][][] rTextures = new ITexture[10][17][];
- for (byte i = -1; i < 16; i++) {
- rTextures[0][i + 1] = this.getFront(i);
- rTextures[1][i + 1] = this.getBack(i);
- rTextures[2][i + 1] = this.getBottom(i);
- rTextures[3][i + 1] = this.getTop(i);
- rTextures[4][i + 1] = this.getSides(i);
- rTextures[5][i + 1] = this.getFrontActive(i);
- rTextures[6][i + 1] = this.getBackActive(i);
- rTextures[7][i + 1] = this.getBottomActive(i);
- rTextures[8][i + 1] = this.getTopActive(i);
- rTextures[9][i + 1] = this.getSidesActive(i);
- }
- return rTextures;
- }
-
- public ITexture[] getFront(final byte aColor) {
- return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][aColor + 1]};
- }
-
- public ITexture[] getBack(final byte aColor) {
- return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][aColor + 1]};
- }
-
- public ITexture[] getBottom(final byte aColor) {
- return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][aColor + 1]};
- }
-
- public ITexture[] getTop(final byte aColor) {
- return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][aColor + 1]};
- }
-
- public ITexture[] getSides(final byte aColor) {
- return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][aColor + 1]};
- }
-
- public ITexture[] getFrontActive(final byte aColor) {
- return this.getFront(aColor);
- }
-
- public ITexture[] getBackActive(final byte aColor) {
- return this.getBack(aColor);
- }
-
- public ITexture[] getBottomActive(final byte aColor) {
- return this.getBottom(aColor);
- }
-
- public ITexture[] getTopActive(final byte aColor) {
- return this.getTop(aColor);
- }
-
- public ITexture[] getSidesActive(final byte aColor) {
- return this.getSides(aColor);
- }
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityGeneratorArray.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityGeneratorArray.java
index 0654f431d7..c4de3a4c58 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityGeneratorArray.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityGeneratorArray.java
@@ -2,6 +2,9 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.*;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
@@ -11,18 +14,15 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.fluid.FluidUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
public class GregtechMetaTileEntityGeneratorArray extends GregtechMeta_MultiBlockBase {
- GT_Recipe mLastRecipe;
-
public GregtechMetaTileEntityGeneratorArray(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java
index a6323726c3..7288805d43 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java
@@ -1,37 +1,40 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.TAE;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.players.FakeFarmer;
+import gtPlusPlus.core.slots.SlotBuzzSaw.SAWTOOL;
import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_TreeFarmer;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_TreeFarmer;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.*;
-import net.minecraft.item.ItemStack;
-import net.minecraft.server.MinecraftServer;
+import gtPlusPlus.xmod.gregtech.common.helpers.TreeFarmHelper;
public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase {
public final static int TEX_INDEX = 31;
-
- /**
- * Farm AI
- */
-
- private EntityPlayerMP farmerAI;
+ protected boolean mIsCurrentlyWorking = false;
+
+
- public EntityPlayerMP getFakePlayer() {
- return this.farmerAI;
- }
-
public GregtechMetaTileEntityTreeFarm(final int aID, final String aName, final String aNameRegional) {
super(aID, aName, aNameRegional);
@@ -41,6 +44,10 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
super(aName);
}
+ public boolean isCurrentlyWorking() {
+ return this.mIsCurrentlyWorking;
+ }
+
@Override
public String[] getDescription() {
return new String[]{
@@ -66,9 +73,33 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
}
@Override
+ public boolean drainEnergyInput(final long aEU) {
+ if (aEU <= 0L) {
+ return true;
+ }
+
+ //Special Override, so that this function uses internally stored power first.
+ if (this.getEUVar() >= aEU) {
+ this.setEUVar(this.getEUVar()-aEU);
+ return true;
+ }
+
+ for (final GT_MetaTileEntity_Hatch_Energy tHatch : this.mEnergyHatches) {
+ if (isValidMetaTileEntity((MetaTileEntity) tHatch)
+ && tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(aEU, false)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing, final byte aColorIndex, final boolean aActive, final boolean aRedstone) {
+ if (aSide == 0) {
+ return new ITexture[]{new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Acacia_Log)};
+ }
if (aSide == 1) {
- return new ITexture[]{new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Acacia_Log), new GT_RenderedTexture(true ? TexturesGtBlock.Overlay_Machine_Vent_Fast : TexturesGtBlock.Overlay_Machine_Vent)};
+ return new ITexture[]{new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Acacia_Log), new GT_RenderedTexture(isCurrentlyWorking() ? TexturesGtBlock.Overlay_Machine_Vent_Fast : TexturesGtBlock.Overlay_Machine_Vent)};
}
return new ITexture[]{new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Farm_Manager)};
}
@@ -78,6 +109,18 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
return null;
}
+
+ @Override
+ public void loadNBTData(NBTTagCompound arg0) {
+ super.loadNBTData(arg0);
+ }
+
+
+ @Override
+ public void saveNBTData(NBTTagCompound arg0) {
+ super.saveNBTData(arg0);
+ }
+
@Override
public boolean isAccessAllowed(final EntityPlayer aPlayer) {
return true;
@@ -118,9 +161,18 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
return true;
}
- @Override
- public boolean onRunningTick(final ItemStack aStack) {
- return super.onRunningTick(aStack);
+ public Block getCasingBlock() {
+ return ModBlocks.blockCasings2Misc;
+ }
+
+
+ public byte getCasingMeta() {
+ return 15;
+ }
+
+
+ public byte getCasingTextureIndex() {
+ return (byte) TAE.GTPP_INDEX(31);
}
@Override
@@ -130,34 +182,201 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
@Override
+ public boolean isGivingInformation() {
+ return true;
+ }
+
+ @Override
+ public String[] getInfoData() {
+ String[] mSuper = super.getInfoData();
+ String[] mDesc = new String[mSuper.length+1];
+ mDesc[0] = "Yggdrasil"; // Machine name
+ for (int i=0;i<mSuper.length;i++) {
+ mDesc[i+1] = mSuper[i];
+ }
+ return mDesc;
+ };
+
+ @Override
public boolean explodesOnComponentBreak(ItemStack p0) {
return false;
}
+ @Override
+ public boolean onRunningTick(final ItemStack aStack) {
+ //Logger.INFO("s");
+
+ return super.onRunningTick(aStack);
+ }
@Override
public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) {
- //super.onPostTick(aBaseMetaTileEntity, aTick);
- if (aBaseMetaTileEntity.isServerSide()) {
- //Set Forestry Fake player Sapling Planter
- if (this.farmerAI == null) {
- this.farmerAI = new FakeFarmer(MinecraftServer.getServer().worldServerForDimension(this.getBaseMetaTileEntity().getWorld().provider.dimensionId));
+ //Do Main Multi Logic first
+ super.onPostTick(aBaseMetaTileEntity, aTick);
+
+ //Do Tree Farm logic next on server side, once per second
+ if (aBaseMetaTileEntity.isServerSide() && (aTick % 20 == 0)) {
+
+ //Simple Repairs for a simple machine
+ if (isCurrentlyWorking()) {
+ this.mSolderingTool = true;
+ }
+
+ if (this.getBaseMetaTileEntity().isServerSide()) {
+ if (this.mEnergyHatches.size() > 0) {
+ for (GT_MetaTileEntity_Hatch_Energy j : this.mEnergyHatches) {
+ //Logger.INFO(""+j.getInputTier());
+ if (this.getEUVar() <= (this.maxEUStore()-GT_Values.V[(int) j.getInputTier()])) {
+ this.setEUVar(this.getEUVar()+GT_Values.V[(int) j.getInputTier()]);
+ j.setEUVar(j.getEUVar()-GT_Values.V[(int) j.getInputTier()]);
+ }
+ else if (this.getEUVar() > (this.maxEUStore()-GT_Values.V[(int) j.getInputTier()])) {
+ long diff = (this.maxEUStore()-this.getEUVar());
+ this.setEUVar(this.getEUVar()+diff);
+ j.setEUVar(j.getEUVar()-diff);
+ }
+ }
+ }
}
-
+
+
+ //Try Work
+ if (this.drainEnergyInput(32)) {
+ BlockPos t;
+ if ((t = TreeFarmHelper.checkForLogsInGrowArea(this.getBaseMetaTileEntity())) != null) {
+ //Logger.INFO("Lets try find new logs/branches.");
+ TreeFarmHelper.findTreeFromBase(this.getBaseMetaTileEntity().getWorld(), t);
+ }
+ }
+
}
- //Client Side - do nothing
}
@Override
- public boolean checkRecipe(ItemStack p0) {
+ public boolean checkRecipe(ItemStack p0) {
+ mIsCurrentlyWorking = (isCorrectMachinePart(p0) && this.getEUVar() > 0);
+ if (isCurrentlyWorking()) {
+ return true;
+ }
return false;
}
@Override
- public boolean checkMachine(IGregTechTileEntity p0, ItemStack p1) {
- return false;
+ public boolean isCorrectMachinePart(final ItemStack aStack) {
+ boolean isValid = false;
+ final SAWTOOL currentInputItem = TreeFarmHelper.isCorrectMachinePart(aStack);
+ if (currentInputItem != SAWTOOL.NONE){
+ isValid = true;
+ }
+ return isValid;
+ }
+
+ @Override
+ public boolean checkMachine(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
+ Logger.WARNING("Step 1");
+ final int xDir = net.minecraftforge.common.util.ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 7;
+ final int zDir = net.minecraftforge.common.util.ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 7;
+
+ for (int i = -7; i <= 7; i++) {
+ Logger.WARNING("Step 2");
+ for (int j = -7; j <= 7; j++) {
+ Logger.WARNING("Step 3");
+ for (int h = 0; h <= 1; h++) {
+ Logger.WARNING("Step 4");
+ final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
+ //Farm Floor inner 14x14
+ if (((i != -7) && (i != 7)) && ((j != -7) && (j != 7))) {
+ Logger.WARNING("Step 5 - H:"+h);
+ // Farm Dirt Floor and Inner Air/Log space.
+ if (h == 0) {
+ //Dirt Floor
+ if (!TreeFarmHelper.isDirtBlock(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j))) {
+ Logger.MACHINE_INFO("Dirt like block missing from inner 14x14.");
+ Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ return false;
+ }
+ }
+ }
+ //Dealt with inner 5x5, now deal with the exterior.
+ else {
+ Logger.WARNING("Step 6 - H:"+h);
+ //Deal with all 4 sides (Fenced area)
+ if (h == 1) {
+ if (!TreeFarmHelper.isFenceBlock(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j))) {
+ Logger.MACHINE_INFO("Fence/Gate missing from outside the second layer.");
+ Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ return false;
+ }
+ }
+ //Deal with Bottom edges (Add Hatches/Busses first, othercheck make sure it's dirt) //TODO change the casings to not dirt~?
+ else if (h == 0) {
+ if (tTileEntity != null)
+ if ((!this.addMaintenanceToMachineList(tTileEntity, TAE.GTPP_INDEX(TEX_INDEX))) && (!this.addInputToMachineList(tTileEntity, TAE.GTPP_INDEX(TEX_INDEX))) && (!this.addOutputToMachineList(tTileEntity, TAE.GTPP_INDEX(TEX_INDEX))) && (!this.addEnergyInputToMachineList(tTileEntity, TAE.GTPP_INDEX(TEX_INDEX)))) {
+ if (((xDir + i) != 0) || ((zDir + j) != 0)) {//no controller
+
+ if (tTileEntity.getMetaTileID() != 752) {
+ Logger.MACHINE_INFO("Farm Keeper Casings Missing from one of the edges on the bottom edge. x:"+(xDir+i)+" y:"+h+" z:"+(zDir+j)+" | "+aBaseMetaTileEntity.getClass());
+ Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName()+" "+tTileEntity.getMetaTileID());
+ return false;
+ }
+ Logger.WARNING("Found a farm keeper.");
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ //Must have at least one energy hatch.
+ if (this.mEnergyHatches != null) {
+ for (int i = 0; i < this.mEnergyHatches.size(); i++) {
+ if (this.mEnergyHatches.get(i).mTier < 1){
+ Logger.MACHINE_INFO("You require at LEAST MV tier Energy Hatches.");
+ Logger.MACHINE_INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getXCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getYCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getZCoord());
+ return false;
+ }
+ }
+ }
+ //Must have at least one output hatch.
+ if (this.mOutputHatches != null) {
+ for (int i = 0; i < this.mOutputHatches.size(); i++) {
+
+ if (this.mOutputHatches.get(i).mTier < 1){
+ Logger.MACHINE_INFO("You require at LEAST MV tier Output Hatches.");
+ Logger.MACHINE_INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getXCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getYCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getZCoord());
+ Logger.MACHINE_INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getInventoryName());
+ return false;
+ }
+ }
+ }
+ //Must have at least one input hatch.
+ if (this.mInputHatches != null) {
+ for (int i = 0; i < this.mInputHatches.size(); i++) {
+ if (this.mInputHatches.get(i).mTier < 1){
+ Logger.MACHINE_INFO("You require at LEAST MV tier Input Hatches.");
+ Logger.MACHINE_INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getXCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getYCoord()+","+this.mOutputHatches.get(i).getBaseMetaTileEntity().getZCoord());
+ Logger.MACHINE_INFO(this.mOutputHatches.get(i).getBaseMetaTileEntity().getInventoryName());
+ return false;
+ }
+ }
+ }
+ Logger.MACHINE_INFO("Multiblock Formed.");
+ return true;
+ }
+
+
+ @Override
+ public int getPollutionPerTick(ItemStack arg0) {
+ return 0;
+ }
+
+
+ @Override
+ public void onServerStart() {
+ super.onServerStart();
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java
index 19387265a4..2f11af09cf 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java
@@ -3,6 +3,10 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.ArrayList;
import java.util.Arrays;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
@@ -14,14 +18,12 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_CatalyticReactor.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_CatalyticReactor.java
index 9c031f81d2..384d611e18 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_CatalyticReactor.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_CatalyticReactor.java
@@ -2,6 +2,10 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.ArrayList;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
@@ -12,11 +16,9 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockB
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Cyclotron.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Cyclotron.java
index 55cfeffe6c..5f4cc026d5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Cyclotron.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Cyclotron.java
@@ -2,8 +2,15 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.ArrayList;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.GT_Mod;
-import gregtech.api.enums.*;
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.TAE;
+import gregtech.api.enums.Textures;
import gregtech.api.gui.GT_Container_MultiMachine;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.interfaces.ITexture;
@@ -12,17 +19,16 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.Recipe_GT;
import gregtech.common.gui.GT_GUIContainer_FusionReactor;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
@@ -85,7 +91,7 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
@Override
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
- //Utils.LOG_INFO("Checking form of Cyclotron.");
+ Logger.INFO("Checking form of Cyclotron.");
int xCenter = getBaseMetaTileEntity().getXCoord() + ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetX * 5;
int yCenter = getBaseMetaTileEntity().getYCoord();
int zCenter = getBaseMetaTileEntity().getZCoord() + ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetZ * 5;
@@ -118,25 +124,32 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
&& (addIfInjector(xCenter - 1, yCenter - 1, zCenter - 6, aBaseMetaTileEntity)) && (addIfInjector(xCenter - 1, yCenter - 1, zCenter + 6, aBaseMetaTileEntity))
&& (addIfInjector(xCenter - 6, yCenter - 1, zCenter + 1, aBaseMetaTileEntity)) && (addIfInjector(xCenter + 6, yCenter - 1, zCenter + 1, aBaseMetaTileEntity))
&& (addIfInjector(xCenter - 6, yCenter - 1, zCenter - 1, aBaseMetaTileEntity)) && (addIfInjector(xCenter + 6, yCenter - 1, zCenter - 1, aBaseMetaTileEntity))
- && (this.mEnergyHatches.size() >= 1) && (this.mOutputBusses.size() >= 1) && (this.mInputHatches.size() >= 2)) {
+ && (this.mEnergyHatches.size() >= 1) && (this.mOutputBusses.size() >= 1) && (this.mInputHatches.size() >= 1) && (this.mInputBusses.size() >= 1)) {
int mEnergyHatches_sS = this.mEnergyHatches.size();
for (int i = 0; i < mEnergyHatches_sS; i++) {
if (this.mEnergyHatches.get(i).mTier < tier()){
- // Utils.LOG_INFO("bad energy hatch");
+ Logger.INFO("bad energy hatch");
return false;
}
}
int mOutputHatches_sS = this.mOutputBusses.size();
for (int i = 0; i < mOutputHatches_sS; i++) {
if (this.mOutputBusses.get(i).mTier < tier()){
- // Utils.LOG_INFO("bad output hatch");
+ Logger.INFO("bad output hatch");
return false;
}
}
int mInputHatches_sS = this.mInputHatches.size();
for (int i = 0; i < mInputHatches_sS; i++) {
if (this.mInputHatches.get(i).mTier < tier()){
- // Utils.LOG_INFO("bad input hatch");
+ Logger.INFO("bad input hatch");
+ return false;
+ }
+ }
+ int mInputBusses_sS = this.mInputBusses.size();
+ for (int i = 0; i < mInputBusses_sS; i++) {
+ if (this.mInputBusses.get(i).mTier < tier()){
+ Logger.INFO("bad input hatch");
return false;
}
}
@@ -146,11 +159,11 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
mHardHammer = true;
mSolderingTool = true;
mCrowbar = true;
- //Utils.LOG_INFO("Built Cyclotron.");
+ Logger.INFO("Built Cyclotron.");
turnCasingActive(true);
return true;
}
- //Utils.LOG_INFO("Failed building Cyclotron.");
+ Logger.INFO("Failed building Cyclotron.");
return false;
}
@@ -244,7 +257,8 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
"------------------------------------------------------------",
"Consists of the same layout as a Fusion Reactor",
"Cyclotron Machine Casings around Cyclotron Coil Blocks",
- "2-16 Input Busses",
+ "1-16 Input Hatches",
+ "1-16 Input Busses",
"1-16 Output Busses",
"1-16 Energy Hatches",
"All Hatches must be IV or better",
@@ -283,7 +297,7 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas
@Override
public boolean checkRecipe(ItemStack aStack) {
- //Utils.LOG_INFO("Recipe Check.");
+ //Logger.INFO("Recipe Check.");
ArrayList<ItemStack> tItemList = getStoredInputs();
ItemStack[] tItemInputs = tItemList.toArray(new ItemStack[tItemList.size()]);
ArrayList<FluidStack> tInputList = getStoredFluids();
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCentrifuge.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCentrifuge.java
index 1546bf39ab..9502624a25 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCentrifuge.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCentrifuge.java
@@ -1,5 +1,9 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -9,15 +13,14 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.CustomIcon;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
public class GregtechMetaTileEntity_IndustrialCentrifuge
@@ -47,7 +50,9 @@ extends GregtechMeta_MultiBlockBase {
public String[] getDescription() {
return new String[]{
"Controller Block for the Industrial Centrifuge",
- "40% faster than using single block machines of the same voltage",
+ "125% faster than using single block machines of the same voltage",
+ "Only uses 90% of the eu/t normally required",
+ "Processes six items per voltage tier",
"Size: 3x3x3 (Hollow)",
"Controller (Front Center) [Orange]",
"1x Maintenance Hatch (Rear Center) [Green]",
@@ -63,7 +68,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing, final byte aColorIndex, final boolean aActive, final boolean aRedstone) {
- return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][aColorIndex + 1], aFacing == aSide ? aActive ? frontFaceActive : frontFace : Textures.BlockIcons.CASING_BLOCKS[TAE.GTPP_INDEX(0)]};
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[TAE.GTPP_INDEX(0)], aFacing == aSide ? aActive ? frontFaceActive : frontFace : Textures.BlockIcons.CASING_BLOCKS[TAE.GTPP_INDEX(0)]};
}
@Override
@@ -88,7 +93,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
- return checkRecipeGeneric(4, 100, 40);
+ return checkRecipeGeneric(6* GT_Utility.getTier(this.getMaxInputVoltage()), 90, 125);
}
public Block getCasingBlock() {
@@ -126,7 +131,7 @@ extends GregtechMeta_MultiBlockBase {
final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
//Utils.LOG_WARNING("X:"+tTileEntity.getXCoord()+" Y:"+tTileEntity.getYCoord()+" Z:"+tTileEntity.getZCoord());
- if ((!this.addMaintenanceToMachineList(tTileEntity, 57)) && (!this.addInputToMachineList(tTileEntity, 57)) && (!this.addOutputToMachineList(tTileEntity, 57)) && (!this.addEnergyInputToMachineList(tTileEntity, 57))) {
+ if ((!this.addMaintenanceToMachineList(tTileEntity, getCasingTextureIndex())) && (!this.addInputToMachineList(tTileEntity, getCasingTextureIndex())) && (!this.addOutputToMachineList(tTileEntity, getCasingTextureIndex())) && (!this.addEnergyInputToMachineList(tTileEntity, getCasingTextureIndex()))) {
//Maintenance Hatch
if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCokeOven.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCokeOven.java
index e1a02d9cec..b2d8785d37 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCokeOven.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCokeOven.java
@@ -1,5 +1,9 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
@@ -7,13 +11,14 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
public class GregtechMetaTileEntity_IndustrialCokeOven
@@ -37,6 +42,7 @@ extends GregtechMeta_MultiBlockBase {
public String[] getDescription() {
return new String[]{"Processes Logs and Coal into Charcoal and Coal Coke.",
"Controller Block for the Industrial Coke Oven",
+ "Gain 4% speed bonus per voltage tier increased",
"Process 12x materials with Heat Resistant Casings",
"Or 24x materials with Heat Proof Casings",
"Size: 3x3x3 (Hollow)",
@@ -94,7 +100,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
- return checkRecipeGeneric(this.mLevel * 12, 100, 0);
+ return checkRecipeGeneric(this.mLevel * 12, (100-(GT_Utility.getTier(this.getMaxInputVoltage())*4)), 0);
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java
index 76c6490480..2ddc097ae7 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java
@@ -1,5 +1,9 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -9,15 +13,13 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
public class GregtechMetaTileEntity_IndustrialCuttingMachine
extends GregtechMeta_MultiBlockBase {
@@ -62,7 +64,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean hasSlotInGUI() {
- return true;
+ return false;
}
@Override
@@ -82,7 +84,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
- return checkRecipeGeneric((4*Utils.calculateVoltageTier(this.getMaxInputVoltage())), 75, 200);
+ return checkRecipeGeneric((4* GT_Utility.getTier(this.getMaxInputVoltage())), 75, 200);
}
@Override
@@ -137,8 +139,8 @@ extends GregtechMeta_MultiBlockBase {
}
}
}
- if ((this.mOutputHatches.size() != 0) || (this.mInputHatches.size() < 0)) {
- Logger.INFO("Use Busses, Not Hatches for Input/Output.");
+ if ((this.mOutputHatches.size() != 0)) {
+ Logger.INFO("Use Busses, Not Hatches for Output.");
return false;
}
if ((this.mInputBusses.size() != 2) || (this.mOutputBusses.size() != 2)) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialElectrolyzer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialElectrolyzer.java
index 32513a05ce..f6001b2abd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialElectrolyzer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialElectrolyzer.java
@@ -1,5 +1,9 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -7,13 +11,12 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
public class GregtechMetaTileEntity_IndustrialElectrolyzer
@@ -34,7 +37,9 @@ extends GregtechMeta_MultiBlockBase {
@Override
public String[] getDescription() {
return new String[]{"Controller Block for the Industrial Electrolyzer",
- "40% faster than using single block machines of the same voltage",
+ "180% faster than using single block machines of the same voltage",
+ "Only uses 90% of the eu/t normally required",
+ "Processes two items per voltage tier",
"Size: 3x3x3 (Hollow)",
"Controller (front centered)",
"1x Input Bus (anywhere)",
@@ -78,7 +83,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
- return checkRecipeGeneric(2, 100, 40);
+ return checkRecipeGeneric(2* GT_Utility.getTier(this.getMaxInputVoltage()), 90, 180);
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialExtruder.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialExtruder.java
new file mode 100644
index 0000000000..7f8a954921
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialExtruder.java
@@ -0,0 +1,244 @@
+package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+
+import java.util.ArrayList;
+
+import gregtech.api.util.GT_Utility;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.TAE;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
+import net.minecraftforge.fluids.FluidStack;
+
+public class GregtechMetaTileEntity_IndustrialExtruder
+extends GregtechMeta_MultiBlockBase {
+
+ public GregtechMetaTileEntity_IndustrialExtruder(final int aID, final String aName, final String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ public GregtechMetaTileEntity_IndustrialExtruder(final String aName) {
+ super(aName);
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
+ return new GregtechMetaTileEntity_IndustrialExtruder(this.mName);
+ }
+
+ @Override
+ public String[] getDescription() {
+ return new String[]{"Controller Block for the Material Extruder",
+ "250% faster than using single block machines of the same voltage",
+ "Processes four items per voltage tier",
+ "Extrusion Shape for recipe goes in the Input Bus",
+ "Each Input Bus can have a different shape!",
+ "You can use several input busses per multiblock",
+ "Size: 3x3x5 [WxHxL] (Hollow)",
+ "Controller (front centered)",
+ "Busses & Hatches cannot replace edge casings",
+ "1x Input Bus (anywhere)",
+ "1x Output Bus (anywhere)",
+ "1x Energy Hatch (anywhere)",
+ "1x Muffler Hatch (anywhere)",
+ "1x Maintenance Hatch (Back Center)",
+ "Inconel Reinforced Casings for the rest (28 at least!)",
+ CORE.GT_Tooltip};
+ }
+
+ @Override
+ public String getSound() {
+ return GregTech_API.sSoundList.get(Integer.valueOf(203));
+ }
+
+ @Override
+ public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing, final byte aColorIndex, final boolean aActive, final boolean aRedstone) {
+ if (aSide == aFacing) {
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[TAE.GTPP_INDEX(33)], new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_VACUUM_FREEZER_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_VACUUM_FREEZER)};
+ }
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[TAE.GTPP_INDEX(33)]};
+ }
+
+ @Override
+ public boolean hasSlotInGUI() {
+ return false;
+ }
+
+ @Override
+ public Object getClientGUI(final int aID, final InventoryPlayer aPlayerInventory, final IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GUI_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), "WireFactory.png");
+ }
+
+ @Override
+ public GT_Recipe.GT_Recipe_Map getRecipeMap() {
+ return GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
+ }
+
+ @Override
+ public boolean isFacingValid(final byte aFacing) {
+ return aFacing > 1;
+ }
+
+ @Override
+ public boolean checkRecipe(final ItemStack aStack) {
+ for (GT_MetaTileEntity_Hatch_InputBus tBus : mInputBusses) {
+ ArrayList<ItemStack> tBusItems = new ArrayList<ItemStack>();
+ tBus.mRecipeMap = getRecipeMap();
+ if (isValidMetaTileEntity(tBus)) {
+ for (int i = tBus.getBaseMetaTileEntity().getSizeInventory() - 1; i >= 0; i--) {
+ if (tBus.getBaseMetaTileEntity().getStackInSlot(i) != null)
+ tBusItems.add(tBus.getBaseMetaTileEntity().getStackInSlot(i));
+ }
+ }
+ ItemStack[] inputs = new ItemStack[tBusItems.size()];
+ int slot = 0;
+ for (ItemStack g : tBusItems) {
+ inputs[slot++] = g;
+ }
+ if (inputs.length > 0) {
+ int para = (4* GT_Utility.getTier(this.getMaxInputVoltage()));
+ Logger.WARNING("Recipe. ["+inputs.length+"]["+para+"]");
+ if (checkRecipeGeneric(inputs, new FluidStack[]{}, para, 100, 250, 10000)) {
+ Logger.WARNING("Recipe 2.");
+ return true;
+ }
+ }
+
+ }
+ return false;
+ }
+
+ @Override
+ public void startProcess() {
+ this.sendLoopStart((byte) 1);
+ }
+
+ @Override
+ public boolean checkMachine(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
+ final byte tSide = this.getBaseMetaTileEntity().getBackFacing();
+ if ((this.getBaseMetaTileEntity().getAirAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 1)) && (this.getBaseMetaTileEntity().getAirAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 2) && (this.getBaseMetaTileEntity().getAirAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 3)))) {
+ int tAirCount = 0;
+ for (byte i = -1; i < 2; i = (byte) (i + 1)) {
+ for (byte j = -1; j < 2; j = (byte) (j + 1)) {
+ for (byte k = -1; k < 2; k = (byte) (k + 1)) {
+ if (this.getBaseMetaTileEntity().getAirOffset(i, j, k)) {
+ tAirCount++;
+ }
+ }
+ }
+ }
+ if (tAirCount != 10) {
+ Logger.WARNING("False 1");
+ return false;
+ }
+ for (byte i = 2; i < 6; i = (byte) (i + 1)) {
+ IGregTechTileEntity tTileEntity;
+ if ((null != (tTileEntity = this.getBaseMetaTileEntity().getIGregTechTileEntityAtSideAndDistance(i, 2))) &&
+ (tTileEntity.getFrontFacing() == this.getBaseMetaTileEntity().getFrontFacing()) && (tTileEntity.getMetaTileEntity() != null) &&
+ ((tTileEntity.getMetaTileEntity() instanceof GregtechMetaTileEntity_IndustrialWireMill))) {
+ //Utils.LOG_INFO("False 1");
+ return false;
+ }
+ }
+ final int tX = this.getBaseMetaTileEntity().getXCoord();
+ final int tY = this.getBaseMetaTileEntity().getYCoord();
+ final int tZ = this.getBaseMetaTileEntity().getZCoord();
+ for (byte i = -1; i < 2; i = (byte) (i + 1)) {
+ for (byte j = -1; j < 2; j = (byte) (j + 1)) {
+ if ((i != 0) || (j != 0)) {
+ for (byte k = 0; k < 5; k = (byte) (k + 1)) {
+ if (((i == 0) || (j == 0)) && ((k == 1) || (k == 2) || (k == 3))) {
+ if ((this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingBlock()) && (this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingMeta())) {
+ }
+ else if (!this.addToMachineList(this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)), getCasingTextureIndex()) && (!this.addEnergyInputToMachineList(this.getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)), getCasingTextureIndex()))) {
+ Logger.WARNING("False 2");
+ return false;
+ }
+ }
+ else if ((this.getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingBlock()) && (this.getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == this.getCasingMeta())) {
+ }
+ else {
+ Logger.WARNING("False 3");
+ return false;
+ }
+ }
+ }
+ }
+ }
+ if ((this.mInputBusses.size() == 0) || (this.mOutputBusses.size() == 0)) {
+ Logger.WARNING("Incorrect amount of Input & Output busses.");
+ return false;
+ }
+ this.mMaintenanceHatches.clear();
+ final IGregTechTileEntity tTileEntity = this.getBaseMetaTileEntity().getIGregTechTileEntityAtSideAndDistance(this.getBaseMetaTileEntity().getBackFacing(), 4);
+ if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) {
+ if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Maintenance)) {
+ this.mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) tTileEntity.getMetaTileEntity());
+ ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = this.getCasingTextureIndex();
+ } else {
+ Logger.WARNING("Maintenance hatch must be in the middle block on the back.");
+ return false;
+ }
+ }
+ if ((this.mMaintenanceHatches.size() != 1)) {
+ Logger.WARNING("Incorrect amount of Maintenance hatches.");
+ return false;
+ }
+ } else {
+ Logger.WARNING("False 5");
+ return false;
+ }
+ Logger.WARNING("True");
+ return true;
+ }
+
+ @Override
+ public int getMaxEfficiency(final ItemStack aStack) {
+ return 10000;
+ }
+
+ @Override
+ public int getPollutionPerTick(final ItemStack aStack) {
+ return 0;
+ }
+
+ @Override
+ public int getAmountOfOutputs() {
+ return 1;
+ }
+
+ @Override
+ public boolean explodesOnComponentBreak(final ItemStack aStack) {
+ return false;
+ }
+
+ public Block getCasingBlock() {
+ return ModBlocks.blockCasings3Misc;
+ }
+
+
+ public byte getCasingMeta() {
+ return 1;
+ }
+
+ public byte getCasingTextureIndex() {
+ return (byte) TAE.GTPP_INDEX(33);
+ }
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java
index 98dc3140bb..0ac1c9c28e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java
@@ -1,11 +1,18 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
-import static gtPlusPlus.core.util.array.ArrayUtils.removeNulls;
+import static gtPlusPlus.core.util.data.ArrayUtils.removeNulls;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.WeightedRandomFishable;
+
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
@@ -16,24 +23,19 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.FishPondFakeRecipe;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.array.AutoMap;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import ic2.core.init.BlocksItems;
import ic2.core.init.InternalName;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.WeightedRandomFishable;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java
index 13df329082..feac4c7974 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java
@@ -2,6 +2,10 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.Random;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
@@ -12,15 +16,13 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Outpu
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
public class GregtechMetaTileEntity_IndustrialMacerator
@@ -55,6 +57,7 @@ extends GregtechMeta_MultiBlockBase {
"5x Output Bus (Any casing besides bottom layer)",
"1x Maintenance Hatch (Any casing)",
"1x Energy Hatch (Any casing)",
+ "1x Muffler Hatch (Any casing)",
"Maceration Stack Casings for the rest (26 at least!)",
CORE.GT_Tooltip};
}
@@ -130,7 +133,7 @@ extends GregtechMeta_MultiBlockBase {
if (!((i == 0) && (j == 0) && ((h > 0) && (h < 5))))//((h > 0)&&(h<5)) || (((xDir + i != 0) || (zDir + j != 0)) && ((i != 0) || (j != 0)))
{
final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
- if ((!this.addMaintenanceToMachineList(tTileEntity, TAE.GTPP_INDEX(7))) && (!this.addInputToMachineList(tTileEntity, TAE.GTPP_INDEX(7))) && (!this.addOutputToMachineList(tTileEntity, TAE.GTPP_INDEX(7))) && (!this.addEnergyInputToMachineList(tTileEntity, TAE.GTPP_INDEX(7))) && (!this.ignoreController(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j)))) {
+ if ((!this.addMaintenanceToMachineList(tTileEntity, TAE.GTPP_INDEX(7))) &&(!this.addMufflerToMachineList(tTileEntity, TAE.GTPP_INDEX(7))) && (!this.addInputToMachineList(tTileEntity, TAE.GTPP_INDEX(7))) && (!this.addOutputToMachineList(tTileEntity, TAE.GTPP_INDEX(7))) && (!this.addEnergyInputToMachineList(tTileEntity, TAE.GTPP_INDEX(7))) && (!this.ignoreController(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j)))) {
if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasingsMisc) {
Logger.INFO("Returned False 1");
return false;
@@ -145,7 +148,7 @@ extends GregtechMeta_MultiBlockBase {
}
}
}
- if ((this.mOutputHatches.size() != 0) || (this.mInputBusses.size() != 1) || (this.mOutputBusses.size() != 5)) {
+ if ((this.mOutputHatches.size() != 0) ||(this.mMufflerHatches.size() == 0) || (this.mInputBusses.size() != 1) || (this.mOutputBusses.size() != 5)) {
Logger.INFO("Returned False 3");
return false;
}
@@ -168,7 +171,7 @@ extends GregtechMeta_MultiBlockBase {
for (int i = 0; i < tmpHatches.length; i++) {
this.mOutputBusses.add(tmpHatches[i]);
}
- return tAmount >= 26;
+ return tAmount >= 24;
}
public boolean ignoreController(final Block tTileEntity) {
@@ -185,7 +188,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public int getPollutionPerTick(final ItemStack aStack) {
- return 0;
+ return 100;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMultiMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMultiMachine.java
new file mode 100644
index 0000000000..c08602b6f4
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMultiMachine.java
@@ -0,0 +1,828 @@
+package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+
+import static gtPlusPlus.core.util.data.ArrayUtils.removeNulls;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.lang3.ArrayUtils;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.*;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.items.behaviors.Behaviour_DataOrb;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.FluidStack;
+
+public class GregtechMetaTileEntity_IndustrialMultiMachine
+extends GregtechMeta_MultiBlockBase {
+
+ protected int mInternalMode = 0;
+ protected GT_Recipe[] mLastRecipeExtended = new GT_Recipe[9];
+ private static final int MODE_COMPRESSOR = 0;
+ private static final int MODE_LATHE = 1;
+ private static final int MODE_MAGNETIC = 2;
+ private static final int MODE_FERMENTER = 3;
+ private static final int MODE_DISTILL = 4;
+ private static final int MODE_EXTRACTOR = 5;
+ private static final int MODE_LASER = 6;
+ private static final int MODE_AUTOCLAVE = 7;
+ private static final int MODE_REPLICATOR = 8;
+ private static final int[][] MODE_MAP = new int[][] {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};
+
+
+ public GregtechMetaTileEntity_IndustrialMultiMachine(final int aID, final String aName, final String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ public GregtechMetaTileEntity_IndustrialMultiMachine(final String aName) {
+ super(aName);
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
+ return new GregtechMetaTileEntity_IndustrialMultiMachine(this.mName);
+ }
+
+ @Override
+ public String[] getDescription() {
+ return new String[]{"Controller Block for the Industrial Multi-Machine",
+ "250% faster than using single block machines of the same voltage",
+ "Only uses 80% of the eu/t normally required",
+ "Processes two items per voltage tier",
+ "Size: 3x3x3 (Hollow)",
+ "Controller (front centered)",
+ "Read Multi-Machine Manual for extra information",
+ CORE.GT_Tooltip};
+ }
+
+ @Override
+ public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing, final byte aColorIndex, final boolean aActive, final boolean aRedstone) {
+ if (aSide == aFacing) {
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[getTextureIndex()], new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_VACUUM_FREEZER_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_VACUUM_FREEZER)};
+ }
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[getTextureIndex()]};
+ }
+
+ @Override
+ public boolean hasSlotInGUI() {
+ return false;
+ }
+
+ @Override
+ public Object getClientGUI(final int aID, final InventoryPlayer aPlayerInventory, final IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GUI_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), "IndustrialElectrolyzer.png");
+ }
+
+ @Override
+ public boolean isFacingValid(final byte aFacing) {
+ return aFacing > 1;
+ }
+
+ @Override
+ public boolean checkRecipe(final ItemStack aStack) {
+ ArrayList<FluidStack> tFluids = getStoredFluids();
+ //Logger.INFO("1");
+ for (GT_MetaTileEntity_Hatch_InputBus tBus : mInputBusses) {
+ ArrayList<ItemStack> tBusItems = new ArrayList<ItemStack>();
+ tBus.mRecipeMap = getRecipeMap();
+ //Logger.INFO("2");
+ if (isValidMetaTileEntity(tBus)) {
+ //Logger.INFO("3");
+ for (int i = tBus.getBaseMetaTileEntity().getSizeInventory() - 1; i >= 0; i--) {
+ if (tBus.getBaseMetaTileEntity().getStackInSlot(i) != null)
+ tBusItems.add(tBus.getBaseMetaTileEntity().getStackInSlot(i));
+ }
+ }
+
+ Object[] tempArray = tFluids.toArray(new FluidStack[] {});
+ FluidStack[] properArray;
+ properArray = ((tempArray != null && tempArray.length > 0) ? (FluidStack[]) tempArray : new FluidStack[] {});
+
+ //Logger.INFO("4");
+ if (checkRecipeGeneric(tBusItems.toArray(new ItemStack[]{}), properArray,
+ (2*GT_Utility.getTier(this.getMaxInputVoltage())), 80, 250, 10000)) return true;
+ }
+ return false;
+
+ //return checkRecipeGeneric(2*GT_Utility.getTier(this.getMaxInputVoltage()), 90, 180);
+ }
+
+ @Override
+ public boolean checkMachine(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
+ final int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
+ return false;
+ }
+ int tAmount = 0;
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ for (int h = -1; h < 2; h++) {
+ if ((h != 0) || ((((xDir + i) != 0) || ((zDir + j) != 0)) && ((i != 0) || (j != 0)))) {
+ final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
+ if ((!this.addMaintenanceToMachineList(tTileEntity, getTextureIndex())) && (!this.addMufflerToMachineList(tTileEntity, getTextureIndex())) && (!this.addInputToMachineList(tTileEntity, getTextureIndex())) && (!this.addOutputToMachineList(tTileEntity, getTextureIndex())) && (!this.addEnergyInputToMachineList(tTileEntity, getTextureIndex()))) {
+ final Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ final byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+ if (((tBlock != ModBlocks.blockCasings3Misc) || (tMeta != 2))) {
+ return false;
+ }
+ tAmount++;
+ }
+ }
+ }
+ }
+ }
+ return tAmount >= 8;
+ }
+
+ @Override
+ public int getMaxEfficiency(final ItemStack aStack) {
+ return 10000;
+ }
+
+ @Override
+ public int getPollutionPerTick(final ItemStack aStack) {
+ return 50;
+ }
+
+ public int getTextureIndex() {
+ return TAE.getIndexFromPage(2, 2);
+ }
+
+ @Override
+ public int getAmountOfOutputs() {
+ return 1;
+ }
+
+ @Override
+ public boolean explodesOnComponentBreak(final ItemStack aStack) {
+ return false;
+ }
+
+ private ItemStack getCircuit(ItemStack[] t) {
+ for (ItemStack j : t) {
+ if (j.getItem() == CI.getNumberedCircuit(0).getItem()) {
+ if (j.getItemDamage() >= 20 && j.getItemDamage() <= 22) {
+ return j;
+ }
+ }
+ }
+ return null;
+ }
+
+ private final int getCircuitID(ItemStack circuit) {
+ int H = circuit.getItemDamage();
+ int T = (H == 20 ? 0 : (H == 21 ? 1 : (H == 22 ? 2 : -1)));
+ return MODE_MAP[this.mInternalMode][T];
+ }
+
+ @Override
+ public GT_Recipe.GT_Recipe_Map getRecipeMap() {
+ return null;
+ }
+
+ private final GT_Recipe.GT_Recipe_Map getRecipeMap(ItemStack circuit) {
+ return getRecipeMap(getCircuitID(circuit));
+ }
+
+ private static final GT_Recipe.GT_Recipe_Map getRecipeMap(int aMode) {
+ if (aMode == MODE_COMPRESSOR) {
+ return GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+ }
+ else if (aMode == MODE_LATHE) {
+ return GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+ }
+ else if (aMode == MODE_MAGNETIC) {
+ return GT_Recipe.GT_Recipe_Map.sPolarizerRecipes;
+ }
+ else if (aMode == MODE_FERMENTER) {
+ return GT_Recipe.GT_Recipe_Map.sFermentingRecipes;
+ }
+ else if (aMode == MODE_DISTILL) {
+ return GT_Recipe.GT_Recipe_Map.sDistilleryRecipes;
+ }
+ else if (aMode == MODE_EXTRACTOR) {
+ return GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
+ }
+ else if (aMode == MODE_LASER) {
+ return GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
+ }
+ else if (aMode == MODE_AUTOCLAVE) {
+ return GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes;
+ }
+ else if (aMode == MODE_REPLICATOR) {
+ return null;
+ }
+ else {
+ return null;
+ }
+ }
+
+ private final AutoMap<ItemStack> mReplicatorOutputMap = new AutoMap<ItemStack>();
+
+ @Override
+ public boolean checkRecipeGeneric(
+ ItemStack[] aItemInputs, FluidStack[] aFluidInputs,
+ int aMaxParallelRecipes, int aEUPercent,
+ int aSpeedBonusPercent, int aOutputChanceRoll) {
+
+ // Based on the Processing Array. A bit overkill, but very flexible.
+
+ // Get Circuit info for this recipe.
+ ItemStack tCircuit = getCircuit(aItemInputs);
+ int tCircuitID = getCircuitID(tCircuit);
+
+ Logger.INFO("Mode: "+tCircuitID);
+
+ // Time to Defer to Special Handling if it's in replicator mode.
+ if (tCircuitID == MODE_REPLICATOR) {
+ return checkReplicatorRecipe(aItemInputs, aFluidInputs, aMaxParallelRecipes, aEUPercent, aSpeedBonusPercent, aOutputChanceRoll);
+ }
+
+ // Reset outputs and progress stats
+ this.mEUt = 0;
+ this.mMaxProgresstime = 0;
+ this.mOutputItems = new ItemStack[]{};
+ this.mOutputFluids = new FluidStack[]{};
+
+
+
+ long tVoltage = getMaxInputVoltage();
+ byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
+
+
+
+ GT_Recipe tRecipe = this.getRecipeMap(tCircuit).findRecipe(
+ getBaseMetaTileEntity(), this.mLastRecipeExtended[tCircuitID], false,
+ gregtech.api.enums.GT_Values.V[tTier], aFluidInputs, aItemInputs);
+
+ // Remember last recipe - an optimization for findRecipe()
+ //this.mLastRecipe = tRecipe; //Let's not do this, it's bad.
+ //Instead, how about I use a array for types?
+ this.mLastRecipeExtended[tCircuitID] = tRecipe;
+
+ if (tRecipe == null) {
+ Logger.INFO("BAD RETURN - 1|"+tCircuitID);
+
+ if (aItemInputs.length > 0) {
+ Logger.INFO("Input Items: "+ItemUtils.getArrayStackNames(aItemInputs));
+ }
+ if (aFluidInputs.length > 0) {
+ Logger.INFO("Input Fluids: "+ItemUtils.getFluidArrayStackNames(aFluidInputs));
+ }
+ return false;
+ }
+
+ if (!this.canBufferOutputs(tRecipe, aMaxParallelRecipes)) {
+ Logger.INFO("BAD RETURN - 2|"+tCircuitID);
+ return false;
+ }
+
+ // EU discount
+ float tRecipeEUt = (tRecipe.mEUt * aEUPercent) / 100.0f;
+ float tTotalEUt = 0.0f;
+
+ int parallelRecipes = 0;
+
+ Logger.WARNING("parallelRecipes: "+parallelRecipes);
+ Logger.WARNING("aMaxParallelRecipes: "+aMaxParallelRecipes);
+ Logger.WARNING("tTotalEUt: "+tTotalEUt);
+ Logger.WARNING("tVoltage: "+tVoltage);
+ Logger.WARNING("tRecipeEUt: "+tRecipeEUt);
+ // Count recipes to do in parallel, consuming input items and fluids and considering input voltage limits
+ for (; parallelRecipes < aMaxParallelRecipes && tTotalEUt < (tVoltage - tRecipeEUt); parallelRecipes++) {
+ if (!tRecipe.isRecipeInputEqual(true, aFluidInputs, aItemInputs)) {
+ Logger.WARNING("Broke at "+parallelRecipes+".");
+ break;
+ }
+ Logger.WARNING("Bumped EU from "+tTotalEUt+" to "+(tTotalEUt+tRecipeEUt)+".");
+ tTotalEUt += tRecipeEUt;
+ }
+
+ if (parallelRecipes == 0) {
+ Logger.INFO("BAD RETURN - 3|"+tCircuitID);
+ return false;
+ }
+
+ // -- Try not to fail after this point - inputs have already been consumed! --
+
+
+ // Convert speed bonus to duration multiplier
+ // e.g. 100% speed bonus = 200% speed = 100%/200% = 50% recipe duration.
+ aSpeedBonusPercent = Math.max(-99, aSpeedBonusPercent);
+ float tTimeFactor = 100.0f / (100.0f + aSpeedBonusPercent);
+ this.mMaxProgresstime = (int)(tRecipe.mDuration * tTimeFactor);
+
+ this.mEUt = (int)Math.ceil(tTotalEUt);
+
+ this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
+ this.mEfficiencyIncrease = 10000;
+
+ // Overclock
+ if (this.mEUt <= 16) {
+ this.mEUt = (this.mEUt * (1 << tTier - 1) * (1 << tTier - 1));
+ this.mMaxProgresstime = (this.mMaxProgresstime / (1 << tTier - 1));
+ } else {
+ while (this.mEUt <= gregtech.api.enums.GT_Values.V[(tTier - 1)]) {
+ this.mEUt *= 4;
+ this.mMaxProgresstime /= 2;
+ }
+ }
+
+ if (this.mEUt > 0) {
+ this.mEUt = (-this.mEUt);
+ }
+
+ this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
+
+ // Collect fluid outputs
+ FluidStack[] tOutputFluids = new FluidStack[tRecipe.mFluidOutputs.length];
+ for (int h = 0; h < tRecipe.mFluidOutputs.length; h++) {
+ if (tRecipe.getFluidOutput(h) != null) {
+ tOutputFluids[h] = tRecipe.getFluidOutput(h).copy();
+ tOutputFluids[h].amount *= parallelRecipes;
+ }
+ }
+
+ // Collect output item types
+ ItemStack[] tOutputItems = new ItemStack[tRecipe.mOutputs.length];
+ for (int h = 0; h < tRecipe.mOutputs.length; h++) {
+ if (tRecipe.getOutput(h) != null) {
+ tOutputItems[h] = tRecipe.getOutput(h).copy();
+ tOutputItems[h].stackSize = 0;
+ }
+ }
+
+ // Set output item stack sizes (taking output chance into account)
+ for (int f = 0; f < tOutputItems.length; f++) {
+ if (tRecipe.mOutputs[f] != null && tOutputItems[f] != null) {
+ for (int g = 0; g < parallelRecipes; g++) {
+ if (getBaseMetaTileEntity().getRandomNumber(aOutputChanceRoll) < tRecipe.getOutputChance(f))
+ tOutputItems[f].stackSize += tRecipe.mOutputs[f].stackSize;
+ }
+ }
+ }
+
+ tOutputItems = removeNulls(tOutputItems);
+
+ // Sanitize item stack size, splitting any stacks greater than max stack size
+ List<ItemStack> splitStacks = new ArrayList<ItemStack>();
+ for (ItemStack tItem : tOutputItems) {
+ while (tItem.getMaxStackSize() < tItem.stackSize) {
+ ItemStack tmp = tItem.copy();
+ tmp.stackSize = tmp.getMaxStackSize();
+ tItem.stackSize = tItem.stackSize - tItem.getMaxStackSize();
+ splitStacks.add(tmp);
+ }
+ }
+
+ if (splitStacks.size() > 0) {
+ ItemStack[] tmp = new ItemStack[splitStacks.size()];
+ tmp = splitStacks.toArray(tmp);
+ tOutputItems = ArrayUtils.addAll(tOutputItems, tmp);
+ }
+
+ // Strip empty stacks
+ List<ItemStack> tSList = new ArrayList<ItemStack>();
+ for (ItemStack tS : tOutputItems) {
+ if (tS.stackSize > 0) tSList.add(tS);
+ }
+ tOutputItems = tSList.toArray(new ItemStack[tSList.size()]);
+
+ // Commit outputs
+ this.mOutputItems = tOutputItems;
+ this.mOutputFluids = tOutputFluids;
+ updateSlots();
+
+ // Play sounds (GT++ addition - GT multiblocks play no sounds)
+ startProcess();
+
+ Logger.INFO("GOOD RETURN - 1|"+tCircuitID);
+ return true;
+ }
+
+ private FluidStack mReplicatorFluidOutput;
+ //Replicator handling
+ public boolean checkReplicatorRecipe(
+ ItemStack[] aItemInputs, FluidStack[] aFluidInputs,
+ int aMaxParallelRecipes, int aEUPercent,
+ int aSpeedBonusPercent, int aOutputChanceRoll) {
+
+ // Based on the Processing Array. A bit overkill, but very flexible.
+ // Reset outputs and progress stats
+ this.mEUt = 0;
+ this.mMaxProgresstime = 0;
+ this.mOutputItems = new ItemStack[]{};
+ this.mOutputFluids = new FluidStack[]{};
+ this.mReplicatorOutputMap.clear();
+
+ long tVoltage = getMaxInputVoltage();
+ byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
+
+ if (canBufferOutputs(aItemInputs, aMaxParallelRecipes)) {
+ Logger.WARNING("BAD RETURN - 2.0");
+ return false;
+ }
+
+ ItemStack tDataOrb = null;
+ ItemStack tCellStack = null;
+ ItemStack tReplicatedItem;
+ FluidStack tOutputFluid = null;
+ FluidStack tInputFluid = null;
+ final Materials tMaterial = Element.get(Behaviour_DataOrb.getDataName(tDataOrb)).mLinkedMaterials.get(0);
+ final long tMass = tMaterial.getMass();
+
+ // Find First Data Orb with Scan Data
+ for (ItemStack I : aItemInputs) {
+ if (ItemList.Tool_DataOrb.isStackEqual((Object) I, false, true) && Behaviour_DataOrb.getDataTitle(I).equals("Elemental-Scan")) {
+ tDataOrb = I.copy();
+ break;
+ }
+ }
+
+ // Find First empty cell stack
+ for (ItemStack I : aItemInputs) {
+ if (ItemList.Cell_Empty.isStackEqual((Object) I)) {
+ tCellStack = I.copy();
+ break;
+ }
+ }
+
+ // Find UUM
+ for (FluidStack F : aFluidInputs) {
+ if (F != null && F.isFluidEqual(Materials.UUMatter.getFluid(1L))) {
+ final FluidStack tFluid = F;
+ if (tFluid.amount >= tMass && tMass > 0L) {
+ tInputFluid = tFluid;
+ }
+ }
+ }
+
+ // No Data Orb or UUM found?
+ if (tDataOrb == null || tInputFluid == null) {
+ return false;
+ }
+ // Temp Values
+ int tEUt = (int) GT_Values.V[(int) this.getInputTier()];
+ int tMaxProgresstime = (int) (tMass * 512L / (1 << tTier - 1));
+ float tRecipeEUt = (tEUt * aEUPercent) / 100.0f;
+ float tTotalEUt = 0.0f;
+ int parallelRecipes = 0;
+ ItemStack[] expectedInputs = {tDataOrb};
+ FluidStack[] expectedFluidInputs = {Materials.UUMatter.getFluid(tMass)};
+
+ /**
+ * Magic
+ */
+
+ int COST_UUM = 0;
+ int COST_CELLS = 0;
+
+ // Determine Output Item & Cost.
+ if ((tReplicatedItem = GT_OreDictUnificator.get(OrePrefixes.dust, (Object) tMaterial, 1L)) == null) {
+ if ((tReplicatedItem = GT_OreDictUnificator.get(OrePrefixes.cell, (Object) tMaterial, 1L)) != null) {
+ if ((tOutputFluid = GT_Utility.getFluidForFilledItem(tReplicatedItem, true)) == null) {
+ if (ItemList.Cell_Empty.isStackEqual((Object) tCellStack) && this.canBufferOutputs(new ItemStack[]{tReplicatedItem}, 1)) {
+ COST_CELLS = 1;
+ COST_UUM = (int) tMass;
+ }
+ } else {
+ tReplicatedItem = null;
+ if (this.getDrainableStack() == null || (this.getDrainableStack().isFluidEqual(tOutputFluid) && this.getDrainableStack().amount < 16000)) {
+ COST_UUM = (int) tMass;
+ }
+ }
+ }
+ } else if (this.canBufferOutputs(new ItemStack[]{tReplicatedItem}, 1)) {
+ COST_UUM = (int) tMass;
+ }
+
+ // Costs no UUM and no valid outputs? Let's bail gracefully before we consume inputs.
+ if (COST_UUM <= 0 || (tReplicatedItem == null && tOutputFluid == null)) {
+ return false;
+ }
+
+ // Count recipes to do in parallel, consuming input items and fluids and considering input voltage limits
+ for (; parallelRecipes < aMaxParallelRecipes && tTotalEUt < (tVoltage - tRecipeEUt); parallelRecipes++) {
+ if (!isRecipeInputEqual(true, aFluidInputs, aItemInputs, expectedFluidInputs, expectedInputs)) {
+ Logger.WARNING("Broke at "+parallelRecipes+"..0");
+ break;
+ }
+ Logger.WARNING("Bumped EU from "+tTotalEUt+" to "+(tTotalEUt+tRecipeEUt)+"..0");
+ tTotalEUt += tRecipeEUt;
+ }
+
+ if (parallelRecipes == 0) {
+ Logger.WARNING("BAD RETURN - 3.0");
+ return false;
+ }
+
+ // Set Vars to Parralel amount
+ COST_CELLS *= parallelRecipes;
+
+ // Requires a cell? Ok, let's use some.
+ if (COST_CELLS > 0) {
+ this.depleteInput(ItemUtils.getEmptyCell(COST_CELLS));
+ }
+
+ // Build an output map, for simplicity.
+ for (int r=0;r<parallelRecipes;r++) {
+ this.mReplicatorOutputMap.put(ItemUtils.getSimpleStack(tReplicatedItem, 1));
+ }
+
+ // -- Try not to fail after this point - inputs have already been consumed! --
+ ItemStack[] mBuiltOutput = this.mReplicatorOutputMap.toArray();
+
+ // Convert speed bonus to duration multiplier
+ // e.g. 100% speed bonus = 200% speed = 100%/200% = 50% recipe duration.
+ aSpeedBonusPercent = Math.max(-99, aSpeedBonusPercent);
+ float tTimeFactor = 100.0f / (100.0f + aSpeedBonusPercent);
+ this.mMaxProgresstime = (int)(tMaxProgresstime * tTimeFactor);
+
+ this.mEUt = (int)Math.ceil(tTotalEUt);
+
+ this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
+ this.mEfficiencyIncrease = 10000;
+
+ // Overclock
+ if (this.mEUt <= 16) {
+ this.mEUt = (this.mEUt * (1 << tTier - 1) * (1 << tTier - 1));
+ this.mMaxProgresstime = (this.mMaxProgresstime / (1 << tTier - 1));
+ } else {
+ while (this.mEUt <= gregtech.api.enums.GT_Values.V[(tTier - 1)]) {
+ this.mEUt *= 4;
+ this.mMaxProgresstime /= 2;
+ }
+ }
+
+ if (this.mEUt > 0) {
+ this.mEUt = (-this.mEUt);
+ }
+
+ this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
+
+ // Collect output item types
+ ItemStack[] tOutputItems = new ItemStack[1];
+ for (int h = 0; h < 1; h++) {
+ if (mBuiltOutput[h] != null) {
+ tOutputItems[h] = mBuiltOutput[h].copy();
+ tOutputItems[h].stackSize = 0;
+ }
+ }
+
+ // Set output item stack sizes (taking output chance into account)
+ for (int f = 0; f < tOutputItems.length; f++) {
+ if (mBuiltOutput[f] != null && tOutputItems[f] != null) {
+ for (int g = 0; g < parallelRecipes; g++) {
+ tOutputItems[f].stackSize += mBuiltOutput[f].stackSize;
+ }
+ }
+ }
+
+ tOutputItems = removeNulls(tOutputItems);
+
+ // Sanitize item stack size, splitting any stacks greater than max stack size
+ List<ItemStack> splitStacks = new ArrayList<ItemStack>();
+ for (ItemStack tItem : tOutputItems) {
+ while (tItem.getMaxStackSize() < tItem.stackSize) {
+ ItemStack tmp = tItem.copy();
+ tmp.stackSize = tmp.getMaxStackSize();
+ tItem.stackSize = tItem.stackSize - tItem.getMaxStackSize();
+ splitStacks.add(tmp);
+ }
+ }
+
+ if (splitStacks.size() > 0) {
+ ItemStack[] tmp = new ItemStack[splitStacks.size()];
+ tmp = splitStacks.toArray(tmp);
+ tOutputItems = ArrayUtils.addAll(tOutputItems, tmp);
+ }
+
+ // Strip empty stacks
+ List<ItemStack> tSList = new ArrayList<ItemStack>();
+ for (ItemStack tS : tOutputItems) {
+ if (tS.stackSize > 0) tSList.add(tS);
+ }
+ tOutputItems = tSList.toArray(new ItemStack[tSList.size()]);
+
+ // Commit outputs
+ this.mOutputItems = tOutputItems;
+ //this.mOutputFluids = tOutputFluids;
+ updateSlots();
+
+ // Play sounds (GT++ addition - GT multiblocks play no sounds)
+ startProcess();
+
+ Logger.WARNING("GOOD RETURN - 1.0");
+ return true;
+ }
+
+
+ //Special Space Checking
+ private boolean canBufferOutputs(ItemStack[] aInputs, int aParallelRecipes) {
+ // Count slots available in output buses
+ ArrayList<ItemStack> tBusStacks = new ArrayList<>();
+
+ int tEmptySlots = 0;
+ for (final GT_MetaTileEntity_Hatch_OutputBus tBus : this.mOutputBusses) {
+ if (!isValidMetaTileEntity(tBus)) {
+ continue;
+ }
+ final IInventory tBusInv = tBus.getBaseMetaTileEntity();
+ for (int i = 0; i < tBusInv.getSizeInventory(); i++) {
+ if (tBus.getStackInSlot(i) == null) {
+ tEmptySlots++;
+ }
+ else {
+ tBusStacks.add(tBus.getStackInSlot(i));
+ }
+ }
+ }
+
+ int slotsNeeded = aInputs.length;
+ for (final ItemStack tRecipeOutput: aInputs) {
+ if (tRecipeOutput == null) continue;
+ int amount = tRecipeOutput.stackSize * aParallelRecipes;
+ for (final ItemStack tBusStack : tBusStacks) {
+ if (GT_Utility.areStacksEqual(tBusStack, tRecipeOutput)) {
+ if (tBusStack.stackSize + amount <= tBusStack.getMaxStackSize()) {
+ slotsNeeded--;
+ break;
+ }
+ }
+ }
+ }
+ // Enough open slots?
+ if (tEmptySlots < slotsNeeded) return false;
+ return true;
+
+ }
+
+ public FluidStack getDrainableStack() {
+ return this.mReplicatorFluidOutput;
+ }
+
+ public FluidStack setDrainableStack(final FluidStack aFluid) {
+ return this.mReplicatorFluidOutput = aFluid;
+ }
+
+ public boolean isRecipeInputEqual(final boolean aDecreaseStacksizeBySuccess,
+ final FluidStack[] aFluidInputs,
+ final ItemStack[] aInputs,
+ final FluidStack[] mFluidInputs,
+ final ItemStack[] mInputs) {
+ return this.isRecipeInputEqual(aDecreaseStacksizeBySuccess, false, aFluidInputs, aInputs, mFluidInputs, mInputs);
+ }
+
+ public boolean isRecipeInputEqual(
+ final boolean aDecreaseStacksizeBySuccess,
+ final boolean aDontCheckStackSizes,
+ final FluidStack[] aFluidInputs,
+ final ItemStack[] aInputs,
+ final FluidStack[] aExpectedFluidInputs,
+ final ItemStack[] mExpectedInputs) {
+ if (aExpectedFluidInputs.length > 0 && aFluidInputs == null) {
+ return false;
+ }
+ for (final FluidStack tFluid : aExpectedFluidInputs) {
+ if (tFluid != null) {
+ boolean temp = true;
+ int amt = tFluid.amount;
+ for (final FluidStack aFluid : aFluidInputs) {
+ if (aFluid != null && aFluid.isFluidEqual(tFluid)) {
+ if (aDontCheckStackSizes) {
+ temp = false;
+ break;
+ }
+ amt -= aFluid.amount;
+ if (amt < 1) {
+ temp = false;
+ break;
+ }
+ }
+ }
+ if (temp) {
+ return false;
+ }
+ }
+ }
+ if (mExpectedInputs.length > 0 && aInputs == null) {
+ return false;
+ }
+ for (final ItemStack tStack : mExpectedInputs) {
+ if (tStack != null) {
+ int amt = tStack.stackSize;
+ boolean temp = true;
+ for (final ItemStack aStack : aInputs) {
+ if (GT_Utility.areUnificationsEqual(aStack, tStack, true)
+ || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) {
+ if (aDontCheckStackSizes) {
+ temp = false;
+ break;
+ }
+ amt -= aStack.stackSize;
+ if (amt < 1) {
+ temp = false;
+ break;
+ }
+ }
+ }
+ if (temp) {
+ return false;
+ }
+ }
+ }
+ if (aDecreaseStacksizeBySuccess) {
+ if (aFluidInputs != null) {
+ for (final FluidStack tFluid : aExpectedFluidInputs) {
+ if (tFluid != null) {
+ int amt = tFluid.amount;
+ for (final FluidStack aFluid2 : aFluidInputs) {
+ if (aFluid2 != null && aFluid2.isFluidEqual(tFluid)) {
+ if (aDontCheckStackSizes) {
+ final FluidStack fluidStack = aFluid2;
+ fluidStack.amount -= amt;
+ break;
+ }
+ if (aFluid2.amount >= amt) {
+ final FluidStack fluidStack2 = aFluid2;
+ fluidStack2.amount -= amt;
+ amt = 0;
+ break;
+ }
+ amt -= aFluid2.amount;
+ aFluid2.amount = 0;
+ }
+ }
+ }
+ }
+ }
+ if (aInputs != null) {
+ for (final ItemStack tStack : mExpectedInputs) {
+ if (tStack != null) {
+ int amt = tStack.stackSize;
+ for (final ItemStack aStack2 : aInputs) {
+ if (GT_Utility.areUnificationsEqual(aStack2, tStack, true) || GT_Utility
+ .areUnificationsEqual(GT_OreDictUnificator.get(false, aStack2), tStack, true)) {
+ if (aDontCheckStackSizes) {
+ final ItemStack itemStack = aStack2;
+ itemStack.stackSize -= amt;
+ break;
+ }
+ if (aStack2.stackSize >= amt) {
+ final ItemStack itemStack2 = aStack2;
+ itemStack2.stackSize -= amt;
+ amt = 0;
+ break;
+ }
+ amt -= aStack2.stackSize;
+ aStack2.stackSize = 0;
+ }
+ }
+ }
+ }
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ if (mInternalMode < 1) {
+ mInternalMode++;
+ }
+ else {
+ mInternalMode = 0;
+ }
+ String mModeString = (mInternalMode == 0 ? "Metal" : mInternalMode == 1 ? "Fluid" : mInternalMode == 2 ? "Misc." : "null");
+ PlayerUtils.messagePlayer(aPlayer, "Multi-Machine is now in "+mModeString+" mode.");
+ super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ);
+ }
+
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialPlatePress.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialPlatePress.java
index 357f600471..dc57bd5e3f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialPlatePress.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialPlatePress.java
@@ -1,5 +1,12 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import java.util.ArrayList;
+
+import gregtech.api.util.GT_Utility;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
@@ -9,19 +16,15 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
-import java.util.ArrayList;
-
public class GregtechMetaTileEntity_IndustrialPlatePress
extends GregtechMeta_MultiBlockBase {
@@ -41,7 +44,8 @@ extends GregtechMeta_MultiBlockBase {
@Override
public String[] getDescription() {
return new String[]{"Controller Block for the Material Press",
- "50% faster than using single block machines of the same voltage",
+ "500% faster than using single block machines of the same voltage",
+ "Processes four items per voltage tier",
"Circuit for recipe goes in the Input Bus",
"Each Input Bus can have a different Circuit!",
"Size: 3x3x3 (Hollow)",
@@ -101,7 +105,7 @@ extends GregtechMeta_MultiBlockBase {
}
if (checkRecipeGeneric(tBusItems.toArray(new ItemStack[]{}), new FluidStack[]{},
- 2, 100, 50, 10000)) return true;
+ (4* GT_Utility.getTier(this.getMaxInputVoltage())), 100, 500, 10000)) return true;
}
return false;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java
index 519c2c3f31..42499fd62d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java
@@ -1,5 +1,11 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import java.util.Random;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
@@ -9,19 +15,15 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
-import java.util.Random;
-
public class GregtechMetaTileEntity_IndustrialSifter
extends GregtechMeta_MultiBlockBase {
private boolean controller;
@@ -44,7 +46,8 @@ extends GregtechMeta_MultiBlockBase {
return new String[]{
"Controller Block for the Industrial Sifter",
"400% faster than single-block machines of the same voltage",
- "Processes two items per voltage tier",
+ "Only uses 75% of the eu/t normally required",
+ "Processes four items per voltage tier",
"Increased output chances on % outputs",
"Size[WxHxL]: 5x3x5",
"Controller (Center Bottom)",
@@ -111,7 +114,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
- return checkRecipeGeneric((2*Utils.calculateVoltageTier(this.getMaxInputVoltage())), 100, 400, 8800);
+ return checkRecipeGeneric((4* GT_Utility.getTier(this.getMaxInputVoltage())), 75, 400, 8800);
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSinter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSinter.java
index ecabdbe343..b68874bd30 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSinter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSinter.java
@@ -2,6 +2,11 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.ArrayList;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -13,14 +18,11 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockB
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
public class GregtechMetaTileEntity_IndustrialSinter
extends GT_MetaTileEntity_MultiBlockBase {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java
index 2add242006..2d0b22af77 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java
@@ -1,5 +1,9 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
@@ -8,14 +12,13 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
public class GregtechMetaTileEntity_IndustrialThermalCentrifuge
@@ -37,7 +40,9 @@ extends GregtechMeta_MultiBlockBase {
public String[] getDescription() {
return new String[]{
"Controller Block for the Industrial Thermal Centrifuge",
- "60% faster than using single block machines of the same voltage",
+ "150% faster than using single block machines of the same voltage",
+ "Only uses 80% of the eu/t normally required",
+ "Processes eight items per voltage tier",
"Size: 3x2x3 [WxHxL]", "Controller (front centered, top layer)",
"1x Input Bus (Any bottom layer casing)",
"1x Output Bus (Any bottom layer casing)",
@@ -81,7 +86,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
- return checkRecipeGeneric(2, 100, 60);
+ return checkRecipeGeneric((8* GT_Utility.getTier(this.getMaxInputVoltage())), 80, 150);
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java
index f70437475d..b47ae47574 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java
@@ -1,6 +1,10 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
-import gregtech.api.enums.GT_Values;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -9,21 +13,18 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.fluid.FluidUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.world.darkworld.block.DarkWorldContentLoader;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.everglades.block.DarkWorldContentLoader;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import ic2.core.init.BlocksItems;
import ic2.core.init.InternalName;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
@@ -48,8 +49,8 @@ extends GregtechMeta_MultiBlockBase {
public String[] getDescription() {
return new String[]{
"Controller Block for the Industrial Ore Washing Plant",
- "80% faster than using single block machines of the same voltage",
- "Processes one item per voltage tier",
+ "400% faster than using single block machines of the same voltage",
+ "Processes four item per voltage tier",
"Chance to output Sludge per process",
"Size: 7x3x5 [WxHxL] (open)",
"X X",
@@ -96,7 +97,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
if (checkForWater()) {
- if (checkRecipeGeneric((1*Utils.calculateVoltageTier(this.getMaxInputVoltage())), 100, 80)) {
+ if (checkRecipeGeneric((4* GT_Utility.getTier(this.getMaxInputVoltage())), 100, 400)) {
return addSludge();
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWireMill.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWireMill.java
index 7d85324fa1..e32828d90b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWireMill.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWireMill.java
@@ -1,5 +1,9 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
@@ -10,14 +14,13 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
public class GregtechMetaTileEntity_IndustrialWireMill
extends GregtechMeta_MultiBlockBase {
@@ -38,8 +41,10 @@ extends GregtechMeta_MultiBlockBase {
public String[] getDescription() {
return new String[]{
"Controller Block for the Industrial Wire Factory",
- "60% faster than using single block machines of the same voltage",
- "Size: 3x5x3 [WxLxH] (Hollow)", "Controller (front centered)",
+ "200% faster than using single block machines of the same voltage",
+ "Only uses 75% of the eu/t normally required",
+ "Processes four items per voltage tier",
+ "Size: 3x3x5 [WxHxL] (Hollow)", "Controller (front centered)",
"2x Input Bus (side centered)",
"2x Output Bus (side centered)",
"1x Energy Hatch (top or bottom centered)",
@@ -84,7 +89,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
- return checkRecipeGeneric(2, 100, 60);
+ return checkRecipeGeneric((4* GT_Utility.getTier(this.getMaxInputVoltage())), 75, 200);
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IronBlastFurnace.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IronBlastFurnace.java
index a8faeb9efa..c92f39f2ee 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IronBlastFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IronBlastFurnace.java
@@ -1,5 +1,12 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
@@ -11,17 +18,12 @@ import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_IronBlastFurnace;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_IronBlastFurnace;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
public class GregtechMetaTileEntity_IronBlastFurnace
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MassFabricator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MassFabricator.java
index a64057f3cc..eb08e372ea 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MassFabricator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MassFabricator.java
@@ -1,6 +1,6 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
-import static gtPlusPlus.core.util.array.ArrayUtils.removeNulls;
+import static gtPlusPlus.core.util.data.ArrayUtils.removeNulls;
import java.util.ArrayList;
import java.util.List;
@@ -9,41 +9,35 @@ import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.lang3.ArrayUtils;
-import gregtech.api.enums.ConfigCategories;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.TAE;
-import gregtech.api.enums.Textures;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+import gregtech.api.enums.*;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.GT_Config;
-import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.*;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
-import gregtech.api.util.GT_Utility;
-import gregtech.api.util.Recipe_GT;
-import gtPlusPlus.api.objects.GenericStack;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.data.Triplet;
+import gtPlusPlus.api.objects.minecraft.GenericStack;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.AutoMap;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.array.Triplet;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MatterFab;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
@@ -190,7 +184,7 @@ public class GregtechMetaTileEntity_MassFabricator extends GregtechMeta_MultiBlo
}
}
- return checkRecipeGeneric(tItemInputs, tFluidInputs, 1, 500, 75, 100);
+ return checkRecipeGeneric(tItemInputs, tFluidInputs, 1, 75, 500, 100);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MultiTank.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MultiTank.java
index 7176db5d97..b2c5deb552 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MultiTank.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MultiTank.java
@@ -3,7 +3,15 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.ArrayList;
import java.util.Arrays;
-import gregtech.api.enums.*;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.TAE;
+import gregtech.api.enums.Textures;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -13,18 +21,14 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.fluid.FluidUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_PowerSubStationController.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_PowerSubStationController.java
index ed5d46527a..e8cc24dff6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_PowerSubStationController.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_PowerSubStationController.java
@@ -3,6 +3,14 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.TAE;
@@ -10,35 +18,38 @@ import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.implementations.*;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Config;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBattery;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBattery;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.ForgeDirection;
public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMeta_MultiBlockBase {
- private static boolean controller;
protected int mAverageEuUsage = 0;
protected long mTotalEnergyAdded = 0;
protected long mTotalEnergyConsumed = 0;
protected long mTotalEnergyLost = 0;
- protected long mTotalRunTime = 0;
-
+ protected boolean mIsOutputtingPower = false;
+
+ private final int ENERGY_TAX = 2;
+
//TecTech Support
- public ArrayList<GT_MetaTileEntity_Hatch> mAllDynamoHatches = new ArrayList();
+ public ArrayList<GT_MetaTileEntity_Hatch> mAllDynamoHatches = new ArrayList<GT_MetaTileEntity_Hatch>();
public GregtechMetaTileEntity_PowerSubStationController(final int aID, final String aName, final String aNameRegional) {
super(aID, aName, aNameRegional);
@@ -52,23 +63,15 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
public String[] getDescription() {
return new String[]{
"Controller Block for the Power Sub-Station",
- "Stores quite a lot of power",
- "Consumes 1% of the average voltage of all energy type hatches",
- "Energy consumed goes to cooling the Vanadium Redox power storage",
- "Size(WxHxD): 5x4x5, Controller (Bottom, Centre)",
- "--------------------------------------------------------------------------",
- "Bottom layer is made up of Sub-Station external casings (5x1x5)",
- "The inner 3x2x3 area on the next two layers is made up of Vanadium Redox Power Cells",
- "in total, you require 18x VR Power Cells",
- "A single layer of Sub-Station casings goes around the outside of this 3x2x3",
- "On top, another layer of Sub-Station casings",
+ "Consumes " + this.ENERGY_TAX + "% of the average voltage of all energy type hatches",
+ "Power can be Input/Extracted from the rear face at any time, change with screwdriver",
+ "Size(WxHxD): External 5x4x5, Sub-Station Casings, Controller (Bottom, Centre)",
+ "Size(WxHxD): Internal 3x2x3, Vanadium Redox Batteries",
"Hatches can be placed nearly anywhere",
- "Minimum 1x Energy Input Hatch",
- "Minimum 1x Energy Dynamo Hatch",
- "1x Charge Bus",
- "1x Discharge Bus",
+ "(Dis) Charging Hatches are valid",
+ "1x Energy Input Hatch (Minimum)",
+ "1x Energy Dynamo Hatch (Minimum)",
"1x Maintenance hatch",
- "--------------------------------------------------------------------------",
CORE.GT_Tooltip};
}
@@ -78,6 +81,10 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[TAE.GTPP_INDEX(24)],
new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_DISASSEMBLER_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_DISASSEMBLER)};
}
+ if (aSide == this.getBaseMetaTileEntity().getBackFacing()) {
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[TAE.GTPP_INDEX(24)],
+ mIsOutputtingPower ? Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[(int) this.getOutputTier()] : Textures.BlockIcons.OVERLAYS_ENERGY_IN_MULTI[(int) this.getInputTier()]};
+ }
return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[TAE.GTPP_INDEX(23)]};
}
@@ -92,31 +99,20 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
}
@Override
- public void onConfigLoad(final GT_Config aConfig) {
- super.onConfigLoad(aConfig);
- }
-
- @Override
- public boolean checkRecipe(final ItemStack aStack) {
-
-
-
- return false;
- }
-
- @Override
public boolean checkMachine(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
- Logger.MACHINE_INFO("Checking structure for Industrial Power Sub-Station.");
+ Logger.INFO("Checking structure for Industrial Power Sub-Station.");
final int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 2;
final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 2;
/*if (!aBaseMetaTileEntity.getAirOffset(xDir, 1, zDir)) {
- Utils.LOG_MACHINE_INFO("Don't know why this exists?");
+ Utils.LOG_INFO("Don't know why this exists?");
return false;
}*/
+ this.mMultiDynamoHatches.clear();
+ this.mAllDynamoHatches.clear();
+
int tAmount = 0;
- controller = false;
for (int i = -2; i < 3; i++) {
for (int j = -2; j < 3; j++) {
for (int h = 0; h < 4; h++) {
@@ -129,47 +125,46 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
// Station Floor & Roof (Inner 5x5) + Mufflers, Dynamos and Fluid outputs.
if ((h == 0 || h == 3) || (h == 2 || h == 1)) {
- if (h == 2 || h == 1){
+ if (h == 2 || h == 1) {
//If not a hatch, continue, else add hatch and continue.
if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.MACHINE_INFO("Station Casing(s) Missing from one of the top layers inner 3x3.");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casing(s) Missing from one of the top layers inner 3x3.");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 7) {
- Logger.MACHINE_INFO("Station Casing(s) Missing from one of the top layers inner 3x3. Wrong Meta for Casing. Found:"+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName()+" with meta:"+aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j));
+ Logger.INFO("Station Casing(s) Missing from one of the top layers inner 3x3. Wrong Meta for Casing. Found:" + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName() + " with meta:" + aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j));
return false;
}
- }
- else {
- if (h==0){
+ } else {
+ if (h == 0) {
if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(24))) {
if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.MACHINE_INFO("Station Casing(s) Missing from one of the bottom layers inner 3x3.");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casing(s) Missing from one of the bottom layers inner 3x3.");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 8) {
- Logger.MACHINE_INFO("Station Casing(s) Missing from one of the bottom layers inner 3x3. Wrong Meta for Casing. Found:"+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName()+" with meta:"+aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j));
+ Logger.INFO("Station Casing(s) Missing from one of the bottom layers inner 3x3. Wrong Meta for Casing. Found:" + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName() + " with meta:" + aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j));
return false;
}
tAmount++;
}
}
- if (h==3){
+ if (h == 3) {
if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(24))) {
if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.MACHINE_INFO("Station Casing(s) Missing from one of the top layers inner 3x3.");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casing(s) Missing from one of the top layers inner 3x3.");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 8) {
- Logger.MACHINE_INFO("Station Casing(s) Missing from one of the top layers inner 3x3. Wrong Meta for Casing. Found:"+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName()+" with meta:"+aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j));
+ Logger.INFO("Station Casing(s) Missing from one of the top layers inner 3x3. Wrong Meta for Casing. Found:" + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName() + " with meta:" + aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j));
return false;
}
tAmount++;
}
- }
+ }
}
}
}
@@ -179,46 +174,44 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
//Deal with all 4 sides (Station walls)
if ((h == 1) || (h == 2) || (h == 3)) {
- if (h == 3){
+ if (h == 3) {
if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(24))) {
if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.MACHINE_INFO("Station Casings Missing from somewhere in the top layer edge. 3");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casings Missing from somewhere in the top layer edge. 3");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 8) {
- Logger.MACHINE_INFO("Station Casings Missing from somewhere in the top layer edge. 3");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casings Missing from somewhere in the top layer edge. 3");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
tAmount++;
}
- }
- else if (h == 2){
+ } else if (h == 2) {
if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(24))) {
if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.MACHINE_INFO("Station Casings Missing from somewhere in the top layer edge. 2");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casings Missing from somewhere in the top layer edge. 2");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 8) {
- Logger.MACHINE_INFO("Station Casings Missing from somewhere in the top layer edge. 2");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casings Missing from somewhere in the top layer edge. 2");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
tAmount++;
}
- }
- else {
+ } else {
if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(24))) {
if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.MACHINE_INFO("Station Casings Missing from somewhere in the second layer. 1");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casings Missing from somewhere in the second layer. 1");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 8) {
- Logger.MACHINE_INFO("Station Casings Missing from somewhere in the second layer. 1");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casings Missing from somewhere in the second layer. 1");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
tAmount++;
@@ -232,19 +225,18 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
if (((xDir + i) != 0) || ((zDir + j) != 0)) {//no controller
if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
- Logger.MACHINE_INFO("Station Casing(s) Missing from one of the edges on the top layer.");
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Logger.INFO("Station Casing(s) Missing from one of the edges on the top layer.");
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 8) {
- Logger.MACHINE_INFO("Station Casing(s) Missing from one of the edges on the top layer. "+h);
- Logger.MACHINE_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- if (h ==0){
- if (tTileEntity instanceof GregtechMetaTileEntity_PowerSubStationController){
+ Logger.INFO("Station Casing(s) Missing from one of the edges on the top layer. " + h);
+ Logger.INFO("Instead, found " + aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ if (h == 0) {
+ if (tTileEntity instanceof GregtechMetaTileEntity_PowerSubStationController) {
}
- }
- else {
+ } else {
return false;
}
}
@@ -256,87 +248,61 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
}
}
}
-
+
/**
* TecTech Support, this allows adding Multi-Amp dynamos.
*/
- if (this.mDynamoHatches.size() > 0){
- for (GT_MetaTileEntity_Hatch_Dynamo o : this.mDynamoHatches){
+ if (this.mDynamoHatches.size() > 0) {
+ for (GT_MetaTileEntity_Hatch_Dynamo o : this.mDynamoHatches) {
mAllDynamoHatches.add(o);
}
}
- if (LoadedMods.TecTech && this.mMultiDynamoHatches.size() > 0){
- for (GT_MetaTileEntity_Hatch o : this.mMultiDynamoHatches){
+ if (LoadedMods.TecTech && this.mMultiDynamoHatches.size() > 0) {
+ for (GT_MetaTileEntity_Hatch o : this.mMultiDynamoHatches) {
mAllDynamoHatches.add(o);
}
- }
-
-
- if ((this.mChargeHatches.size() < 1) || (this.mDischargeHatches.size() < 1)
- || (this.mMaintenanceHatches.size() != 1) || (this.mEnergyHatches.size() < 1)
+ }
+
+
+ if ((this.mMaintenanceHatches.size() != 1) || (this.mEnergyHatches.size() < 1)
|| (this.mAllDynamoHatches.size() < 1)) {
- Logger.MACHINE_INFO("Returned False 3");
- Logger.MACHINE_INFO("Charge Buses: "+this.mChargeHatches.size()+" | expected: 1 | "+(this.mChargeHatches.size() != 1));
- Logger.MACHINE_INFO("Discharge Buses: "+this.mDischargeHatches.size()+" | expected: 1 | "+(this.mDischargeHatches.size() != 1));
- Logger.MACHINE_INFO("Energy Hatches: "+this.mEnergyHatches.size()+" | expected: >= 1 | "+(this.mEnergyHatches.size() < 1));
- Logger.MACHINE_INFO("Dynamo Hatches: "+this.mAllDynamoHatches.size()+" | expected: >= 1 | "+(this.mAllDynamoHatches.size() < 1));
- Logger.MACHINE_INFO("Maint. Hatches: "+this.mMaintenanceHatches.size()+" | expected: 1 | "+(this.mMaintenanceHatches.size() != 1));
+ Logger.INFO("Returned False 3");
+ Logger.INFO("Charge Buses: " + this.mChargeHatches.size() + " | expected: >= 1 | " + (this.mChargeHatches.size() >= 1));
+ Logger.INFO("Discharge Buses: " + this.mDischargeHatches.size() + " | expected: >= 1 | " + (this.mDischargeHatches.size() >= 1));
+ Logger.INFO("Energy Hatches: " + this.mEnergyHatches.size() + " | expected: >= 1 | " + (this.mEnergyHatches.size() < 1));
+ Logger.INFO("Dynamo Hatches: " + this.mAllDynamoHatches.size() + " | expected: >= 1 | " + (this.mAllDynamoHatches.size() < 1));
+ Logger.INFO("Maint. Hatches: " + this.mMaintenanceHatches.size() + " | expected: 1 | " + (this.mMaintenanceHatches.size() != 1));
return false;
}
//mAverageEuUsage
int tempAvg = 0;
int hatchCount = 0;
- for (GT_MetaTileEntity_Hatch_Energy re : this.mEnergyHatches){
- tempAvg += re.getInputTier();
+ for (GT_MetaTileEntity_Hatch_Energy re : this.mEnergyHatches) {
+ tempAvg += re.maxEUInput();
hatchCount++;
}
- for (GT_MetaTileEntity_Hatch re : this.mAllDynamoHatches){
- tempAvg += re.getOutputTier();
+ for (GT_MetaTileEntity_Hatch re : this.mAllDynamoHatches) {
+ tempAvg += re.maxEUOutput();
hatchCount++;
}
- if (hatchCount > 0){
- this.mAverageEuUsage = (tempAvg/hatchCount);
+ if (hatchCount > 0) {
+ this.mAverageEuUsage = (tempAvg / hatchCount);
+ } else {
+ this.mAverageEuUsage = 0;
}
- Logger.INFO("Structure Built? "+""+tAmount+" | "+(tAmount>=35));
+ Logger.INFO("Structure Built? " + "" + tAmount + " | " + (tAmount >= 35));
return tAmount >= 35;
}
- public boolean ignoreController(final Block tTileEntity) {
- if (!controller && (tTileEntity == GregTech_API.sBlockMachines)) {
- return true;
- }
- return false;
- }
-
- @Override
- public boolean isCorrectMachinePart(final ItemStack aStack) {
- return true;
- }
-
@Override
public int getMaxEfficiency(final ItemStack aStack) {
return 10000;
}
@Override
- public int getPollutionPerTick(final ItemStack aStack) {
- return 0;
- }
-
- @Override
- public int getDamageToComponent(final ItemStack aStack) {
- return 0;
- }
-
- @Override
- public int getAmountOfOutputs() {
- return 1;
- }
-
- @Override
public boolean explodesOnComponentBreak(final ItemStack aStack) {
return false;
}
@@ -349,15 +315,12 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
//NBT Power Storage handling
long mPowerStorageBuffer = 0;
int mPowerStorageMultiplier = 32;
- long mActualStoredEU = 0;
-
//mTotalEnergyAdded
@Override
public void saveNBTData(NBTTagCompound aNBT) {
aNBT.setLong("mPowerStorageBuffer", this.mPowerStorageBuffer);
aNBT.setInteger("mPowerStorageMultiplier", this.mPowerStorageMultiplier);
- aNBT.setLong("mActualStoredEU", this.mActualStoredEU);
aNBT.setInteger("mAverageEuUsage", this.mAverageEuUsage);
//Usage Stats
@@ -365,6 +328,7 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
aNBT.setLong("mTotalEnergyLost", this.mTotalEnergyLost);
aNBT.setLong("mTotalEnergyConsumed", this.mTotalEnergyConsumed);
aNBT.setLong("mTotalRunTime", this.mTotalRunTime);
+ aNBT.setBoolean("mIsOutputtingPower", this.mIsOutputtingPower);
super.saveNBTData(aNBT);
}
@@ -372,7 +336,6 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
public void loadNBTData(NBTTagCompound aNBT) {
this.mPowerStorageBuffer = aNBT.getLong("mPowerStorageBuffer");
this.mPowerStorageMultiplier = aNBT.getInteger("mPowerStorageMultiplier");
- this.mActualStoredEU = aNBT.getLong("mActualStoredEU");
this.mAverageEuUsage = aNBT.getInteger("mAverageEuUsage");
//Usage Stats
@@ -381,145 +344,94 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
this.mTotalEnergyConsumed = aNBT.getLong("mTotalEnergyConsumed");
this.mTotalRunTime = aNBT.getLong("mTotalRunTime");
+ this.mIsOutputtingPower = aNBT.getBoolean("mIsOutputtingPower");
+
super.loadNBTData(aNBT);
}
@Override
- public int maxProgresstime() {
- return super.maxProgresstime();
+ public boolean checkRecipe(final ItemStack aStack) {
+ this.mProgresstime = 1;
+ this.mMaxProgresstime = 1;
+ this.mEUt = 0;
+ this.mEfficiencyIncrease = 10000;
+ return true;
}
- @Override
- public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
- this.mActualStoredEU = this.getEUVar();
-
- if (this.mActualStoredEU < 0){
- this.mActualStoredEU = 0;
- }
- if (this.getEUVar() < 0){
- this.setEUVar(0);
- }
+ private void drawEnergyFromHatch(MetaTileEntity aHatch) {
+ if (!isValidMetaTileEntity(aHatch)) return;
- if (aBaseMetaTileEntity.isServerSide()){
- this.mTotalRunTime++;
- }
+ long stored = aHatch.getEUVar();
+ long voltage = aHatch.maxEUInput() * aHatch.maxAmperesIn();
+
+ if (voltage > stored) return;
- //Handle Progress Time
- if (this.mActualStoredEU >= 0 && this.getBaseMetaTileEntity().isAllowedToWork()){
- this.mProgresstime = 20;
- this.mMaxProgresstime = 40;
- //Use 10% of average EU determined by adding in/output voltage of all hatches and averaging.
- int mDecrease = MathUtils.roundToClosestInt(mAverageEuUsage);
- this.mTotalEnergyLost+=mDecrease;
- this.setEUVar(this.getEUVar()-mDecrease);
- //this.getBaseMetaTileEntity().decreaseStoredEnergyUnits(mDecrease, false);
+ if (this.getBaseMetaTileEntity().increaseStoredEnergyUnits(voltage, false)) {
+ aHatch.setEUVar((stored - voltage));
+ this.mTotalEnergyAdded += voltage;
}
- else {
- this.mProgresstime = 0;
- this.mMaxProgresstime = 0;
+ }
+
+ private void addEnergyToHatch(MetaTileEntity aHatch) {
+ if (!isValidMetaTileEntity(aHatch)) return;
+
+ long voltage = aHatch.maxEUOutput() * aHatch.maxAmperesOut();
+
+ if (aHatch.getEUVar() > aHatch.maxEUStore() - voltage) return;
+
+ if (this.getBaseMetaTileEntity().decreaseStoredEnergyUnits(voltage, false)) {
+ aHatch.getBaseMetaTileEntity().increaseStoredEnergyUnits(voltage, false);
+ this.mTotalEnergyConsumed+=voltage;
}
- //Do work
- if (this.getBaseMetaTileEntity().isAllowedToWork()){
+ }
- //Input Power
- if (this.mActualStoredEU < this.maxEUStore() && mMaxProgresstime > 0){
- if (this.getBaseMetaTileEntity().isAllowedToWork()){
- this.getBaseMetaTileEntity().enableWorking();
- }
- for (GT_MetaTileEntity_Hatch_OutputBattery energy : this.mDischargeHatches){
- long stored = energy.getEUVar();
- long voltage = energy.maxEUInput();
- if (stored > 0){
- energy.setEUVar((stored-voltage));
- this.mTotalEnergyAdded+=voltage;
- if (this.getBaseMetaTileEntity().increaseStoredEnergyUnits(voltage, false)){
- //Utils.LOG_INFO("Draining Discharge Hatch #1");
- }
- }
- }
- for (GT_MetaTileEntity_Hatch_Energy energy : this.mEnergyHatches){
- long stored = energy.getEUVar();
- long voltage = energy.maxEUInput();
- if (stored > 0){
- energy.setEUVar((stored-voltage));
- this.mTotalEnergyAdded+=voltage;
- this.getBaseMetaTileEntity().increaseStoredEnergyUnits(voltage, false);
- }
- }
- }
- else {
+ private long computeEnergyTax() {
+ float mTax = mAverageEuUsage * (ENERGY_TAX / 100f);
- }
+ // Increase tax up to 2x if machine is not fully repaired
+ mTax = mTax * (1f + (10000f - mEfficiency) / 10000f);
- //Output Power
- if (this.mActualStoredEU > 0){
- addEnergyOutput(1);
- }
- }
- super.onPostTick(aBaseMetaTileEntity, aTick);
+ return MathUtils.roundToClosestInt(mTax);
}
@Override
public boolean onRunningTick(ItemStack aStack) {
- return super.onRunningTick(aStack);
- }
+ // First, Pay Tax
+ long mDecrease = computeEnergyTax();
+ this.mTotalEnergyLost += Math.min(mDecrease, this.getEUVar());
+ this.setEUVar(Math.max(0, this.getEUVar() - mDecrease));
- @Override
- public boolean drainEnergyInput(long aEU) {
- if (aEU <= 0L)
- return true;
- long nStoredPower = this.getEUVar();
+ // Input Power
for (GT_MetaTileEntity_Hatch_OutputBattery tHatch : this.mDischargeHatches) {
- if ((isValidMetaTileEntity(tHatch)) && (tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(aEU, false))){
- if (this.mActualStoredEU<this.maxEUStore()){
-
- }
- Logger.INFO("Draining Discharge Hatch #2");
- }
+ drawEnergyFromHatch(tHatch);
}
for (GT_MetaTileEntity_Hatch_Energy tHatch : this.mEnergyHatches) {
- if ((isValidMetaTileEntity(tHatch)) && (tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(aEU, false))){
- if (this.mActualStoredEU<this.maxEUStore()){
- //this.getBaseMetaTileEntity().increaseStoredEnergyUnits(aEU, false);
- }
- }
- }
- long nNewStoredPower = this.getEUVar();
- if (nNewStoredPower < nStoredPower){
- Logger.ERROR("Used "+(nStoredPower-nNewStoredPower)+"eu.");
- return true;
+ drawEnergyFromHatch(tHatch);
}
- return false;
- }
-
- @Override
- public boolean addEnergyOutput(long aEU) {
- if (aEU <= 0L)
- return true;
- long nStoredPower = this.getEUVar();
- int hatchCount = 0;
+ // Output Power
for (GT_MetaTileEntity_Hatch_InputBattery tHatch : this.mChargeHatches) {
- if ((isValidMetaTileEntity(tHatch)) && (tHatch.getBaseMetaTileEntity().increaseStoredEnergyUnits(tHatch.maxEUInput(), false))) {
- this.setEUVar(this.getEUVar()-(tHatch.maxEUInput()));
- this.mTotalEnergyConsumed+=(tHatch.maxEUInput());
- }
- hatchCount++;
+ addEnergyToHatch(tHatch);
}
for (GT_MetaTileEntity_Hatch tHatch : this.mAllDynamoHatches) {
- if ((isValidMetaTileEntity(tHatch)) && (tHatch.getBaseMetaTileEntity().increaseStoredEnergyUnits(GT_Values.V[(int) tHatch.getOutputTier()], false))) {
- this.setEUVar(this.getEUVar()-(GT_Values.V[(int) tHatch.getOutputTier()]));
- this.mTotalEnergyConsumed+=(GT_Values.V[(int) tHatch.getOutputTier()]);
- }
- hatchCount++;
+ addEnergyToHatch(tHatch);
}
- long nNewStoredPower = this.getEUVar();
- if (nNewStoredPower < nStoredPower){
- Logger.ERROR("Used "+(nStoredPower-nNewStoredPower)+"eu.");
- return true;
- }
- return false;
+
+ return true;
+
+ }
+
+ @Override
+ public boolean drainEnergyInput(long aEU) {
+ // Not applicable to this machine
+ return true;
+ }
+
+ @Override
+ public boolean addEnergyOutput(long aEU) {
+ // Not applicable to this machine
+ return true;
}
@Override
@@ -534,7 +446,6 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
@Override
public String[] getInfoData() {
-
long seconds = (this.mTotalRunTime/20);
int weeks = (int) (TimeUnit.SECONDS.toDays(seconds) / 7);
@@ -543,21 +454,31 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
long minutes = TimeUnit.SECONDS.toMinutes(seconds) - (TimeUnit.SECONDS.toHours(seconds) * 60);
long second = TimeUnit.SECONDS.toSeconds(seconds) - (TimeUnit.SECONDS.toMinutes(seconds) *60);
+ String mode;
+ if (mIsOutputtingPower) {
+ mode = EnumChatFormatting.GOLD + "Output" + EnumChatFormatting.RESET;
+ } else {
+ mode = EnumChatFormatting.BLUE + "Input" + EnumChatFormatting.RESET;
+ }
return new String[]{
"Ergon Energy - District Sub-Station",
- "EU Required: "+this.mAverageEuUsage+"EU/t",
+ "Stored EU:" + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(this.getEUVar()) + EnumChatFormatting.RESET,
+ "Capacity: " + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(this.maxEUStore()) + EnumChatFormatting.RESET,
+ "Running Costs: " + EnumChatFormatting.RED + GT_Utility.formatNumbers(this.computeEnergyTax()) + EnumChatFormatting.RESET + " EU/t",
+ "Controller Mode: " + mode,
"Stats for Nerds",
- "Total Input: "+this.mTotalEnergyAdded+"EU",
- "Total Output: "+this.mTotalEnergyConsumed+"EU",
- "Total Wasted: "+this.mTotalEnergyLost+"EU",
+ "Total Input: " + EnumChatFormatting.BLUE + GT_Utility.formatNumbers(this.mTotalEnergyAdded) + EnumChatFormatting.RESET + " EU",
+ "Total Output: " + EnumChatFormatting.GOLD + GT_Utility.formatNumbers(this.mTotalEnergyConsumed) + EnumChatFormatting.RESET + " EU",
+ "Total Costs: " + EnumChatFormatting.RED + GT_Utility.formatNumbers(this.mTotalEnergyLost) + EnumChatFormatting.RESET + " EU",
- "Total Time Since Build: ",
+ "Total Time Since Built: ",
""+weeks+" Weeks.",
""+days+" Days.",
""+hours+" Hours.",
""+minutes+" Minutes.",
""+second+" Seconds.",
- "Total Time in ticks: "+this.mTotalRunTime};
+ "Total Time in ticks: "+this.mTotalRunTime
+ };
};
@@ -566,4 +487,78 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
return true;
}
+ @Override
+ public void explodeMultiblock() {
+ // TODO Auto-generated method stub
+ super.explodeMultiblock();
+ }
+
+ @Override
+ public void doExplosion(long aExplosionPower) {
+ // TODO Auto-generated method stub
+ super.doExplosion(aExplosionPower);
+ }
+
+ @Override
+ public long getMaxInputVoltage() {
+ return 32768;
+ }
+
+ @Override
+ public boolean isElectric() {
+ return true;
+ }
+
+ @Override
+ public boolean isEnetInput() {
+ return !mIsOutputtingPower;
+ }
+
+ @Override
+ public boolean isEnetOutput() {
+ return mIsOutputtingPower;
+ }
+
+ @Override
+ public boolean isInputFacing(byte aSide) {
+ return (aSide == this.getBaseMetaTileEntity().getBackFacing() && !mIsOutputtingPower);
+ }
+
+ @Override
+ public boolean isOutputFacing(byte aSide) {
+ return (aSide == this.getBaseMetaTileEntity().getBackFacing() && mIsOutputtingPower);
+ }
+
+ @Override
+ public long maxAmperesIn() {
+ return 32;
+ }
+
+ @Override
+ public long maxAmperesOut() {
+ return 32;
+ }
+
+ @Override
+ public long maxEUInput() {
+ return 32768;
+ }
+
+ @Override
+ public long maxEUOutput() {
+ return 32768;
+ }
+
+ @Override
+ public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ mIsOutputtingPower = Utils.invertBoolean(mIsOutputtingPower);
+ if (mIsOutputtingPower) {
+ PlayerUtils.messagePlayer(aPlayer, "Sub-Station is now outputting power from the controller.");
+ }
+ else {
+ PlayerUtils.messagePlayer(aPlayer, "Sub-Station is now inputting power into the controller.");
+ }
+ super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ);
+ }
+
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Refinery.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Refinery.java
index 6661812aac..a30e6ab6eb 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Refinery.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_Refinery.java
@@ -2,19 +2,25 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi;
import java.util.ArrayList;
-import gregtech.api.enums.*;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.TAE;
+import gregtech.api.enums.Textures;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.*;
+import gregtech.api.util.CustomRecipeMap;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform1.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform1.java
new file mode 100644
index 0000000000..bbc8ebbb81
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform1.java
@@ -0,0 +1,47 @@
+package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.bedrock;
+
+import gregtech.api.enums.TAE;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class GregtechMetaTileEntity_BedrockMiningPlatform1 extends GregtechMetaTileEntity_BedrockMiningPlatformBase {
+ public GregtechMetaTileEntity_BedrockMiningPlatform1(final int aID, final String aName, final String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ public GregtechMetaTileEntity_BedrockMiningPlatform1(final String aName) {
+ super(aName);
+ }
+
+ public String[] getDescription() {
+ return this.getDescriptionInternal("I");
+ }
+
+ public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
+ return (IMetaTileEntity) new GregtechMetaTileEntity_BedrockMiningPlatform1(this.mName);
+ }
+
+ protected Material getFrameMaterial() {
+ return ALLOY.INCONEL_690;
+ }
+
+ protected int getCasingTextureIndex() {
+ return TAE.getIndexFromPage(0, 14);
+ }
+
+ protected int getRadiusInChunks() {
+ return 9;
+ }
+
+ protected int getMinTier() {
+ return 5;
+ }
+
+ protected int getBaseProgressTime() {
+ return (int) (420*(this.mProductionModifier/100));
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform2.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform2.java
new file mode 100644
index 0000000000..9e6b2fd4f4
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform2.java
@@ -0,0 +1,48 @@
+package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.bedrock;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.ItemList;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.nuclear.NUCLIDE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class GregtechMetaTileEntity_BedrockMiningPlatform2 extends GregtechMetaTileEntity_BedrockMiningPlatformBase {
+ public GregtechMetaTileEntity_BedrockMiningPlatform2(final int aID, final String aName, final String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ public GregtechMetaTileEntity_BedrockMiningPlatform2(final String aName) {
+ super(aName);
+ }
+
+ public String[] getDescription() {
+ return this.getDescriptionInternal("II");
+ }
+
+ public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
+ return (IMetaTileEntity) new GregtechMetaTileEntity_BedrockMiningPlatform2(this.mName);
+ }
+
+ protected Material getFrameMaterial() {
+ return NUCLIDE.getInstance().AMERICIUM241;
+ }
+
+ protected int getCasingTextureIndex() {
+ return 62;
+ }
+
+ protected int getRadiusInChunks() {
+ return 9;
+ }
+
+ protected int getMinTier() {
+ return 5;
+ }
+
+ protected int getBaseProgressTime() {
+ return 480;
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java
new file mode 100644
index 0000000000..e55db9d1ab
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java
@@ -0,0 +1,593 @@
+package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.bedrock;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.ChunkPosition;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Textures;
+import gregtech.api.gui.GT_GUIContainer_MultiMachine;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import net.minecraftforge.common.util.ForgeDirection;
+
+public abstract class GregtechMetaTileEntity_BedrockMiningPlatformBase extends GT_MetaTileEntity_MultiBlockBase {
+
+ private static final ItemStack miningPipe;
+ private static final ItemStack miningPipeTip;
+ private static final Block miningPipeBlock;
+ private static final Block miningPipeTipBlock;
+
+ private final ArrayList<ChunkPosition> oreBlockPositions;
+ protected double mProductionModifier = 100;
+
+ private Block casingBlock;
+ private int casingMeta;
+ // private int frameMeta;
+ private int casingTextureIndex;
+
+ private ForgeDirection back;
+
+ private int xDrill;
+ private int yDrill;
+ private int zDrill;
+
+ private int[] xCenter = new int[5];
+ private int[] zCenter = new int[5];
+ private int[] yHead = new int[5];
+ private boolean[] isPickingPipes = new boolean[5];
+
+ public GregtechMetaTileEntity_BedrockMiningPlatformBase(final int aID, final String aName,
+ final String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ this.oreBlockPositions = new ArrayList<ChunkPosition>();
+ this.initFields();
+ }
+
+ public GregtechMetaTileEntity_BedrockMiningPlatformBase(final String aName) {
+ super(aName);
+ this.oreBlockPositions = new ArrayList<ChunkPosition>();
+ this.initFields();
+ }
+
+ private void initFields() {
+ this.casingBlock = this.getCasingBlockItem().getBlock();
+ this.casingMeta = this.getCasingBlockItem().get(0L, new Object[0]).getItemDamage();
+ /*
+ * final int frameId = 4096 + this.getFrameMaterial().mMetaItemSubID;
+ * this.frameMeta = ((GregTech_API.METATILEENTITIES[frameId] != null) ?
+ * GregTech_API.METATILEENTITIES[frameId].getTileEntityBaseType() :
+ * 32767);
+ */
+ this.casingTextureIndex = this.getCasingTextureIndex();
+
+ for (int g = 0; g < 5; g++) {
+ this.isPickingPipes[g] = false;
+ }
+ }
+
+ public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing,
+ final byte aColorIndex, final boolean aActive, final boolean aRedstone) {
+ if (aSide == aFacing) {
+ return new ITexture[] { Textures.BlockIcons.CASING_BLOCKS[this.casingTextureIndex],
+ new GT_RenderedTexture(
+ (IIconContainer) (aActive ? Textures.BlockIcons.OVERLAY_FRONT_ORE_DRILL_ACTIVE
+ : Textures.BlockIcons.OVERLAY_FRONT_ORE_DRILL)) };
+ }
+ return new ITexture[] { Textures.BlockIcons.CASING_BLOCKS[this.casingTextureIndex] };
+ }
+
+ public Object getClientGUI(final int aID, final InventoryPlayer aPlayerInventory,
+ final IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(),
+ "OreDrillingPlant.png");
+ }
+
+ public void saveNBTData(final NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ aNBT.setDouble("mProductionModifier", mProductionModifier);
+ for (int g = 0; g < 5; g++) {
+ aNBT.setBoolean("isPickingPipes" + g, this.isPickingPipes[g]);
+ }
+ }
+
+ public void loadNBTData(final NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ this.mProductionModifier = aNBT.getDouble("mProductionModifier");
+ for (int g = 0; g < 5; g++) {
+ this.isPickingPipes[g] = aNBT.getBoolean("isPickingPipes" + g);
+ }
+ }
+
+ public boolean checkRecipe(final ItemStack aStack) {
+ this.setElectricityStats();
+
+ boolean[] didWork = new boolean[5];
+
+ final int oldYHead = this.yHead[0];
+ if (!this.checkPipesAndSetYHead() || !this.isEnergyEnough()) {
+ this.stopMachine();
+ return false;
+ }
+ if (this.yHead[0] != oldYHead) {
+ this.oreBlockPositions.clear();
+ }
+
+ for (int g = 0; g < 5; g++) {
+ if (this.isPickingPipes[g]) {
+ if (this.tryPickPipe(g)) {
+ this.mOutputItems = new ItemStack[] { GT_Utility.copyAmount(1L,
+ new Object[] { GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipe }) };
+ didWork[g] = true;
+ continue;
+ }
+ this.isPickingPipes[g] = false;
+ this.stopMachine();
+ didWork[g] = false;
+ }
+ else {
+ this.putMiningPipesFromInputsInController();
+
+ if (!this.tryConsumeDrillingFluid()) {
+ return false;
+ }
+
+ if (this.oreBlockPositions.isEmpty()) {
+ // Hit bedrock Either retract pipe or Dig!
+ if (!this.tryLowerPipe(g)) {
+ // Mining Head is too high, we best retract.
+ if (!mMiningHeads.isEmpty() && mMiningHeads.containsKey(g) && mMiningHeads.get(g).yPos >= 6) {
+ for (int r = 0; r < 5; r++) {
+ this.isPickingPipes[r] = true;
+ }
+ didWork[g] = this.isPickingPipes[g];
+ }
+ // Full Power!
+ else {
+ didWork[g] = true;
+ }
+ }
+ }
+ }
+ }
+
+ // Fail recipe handling if one pipe didn't handle properly, to try again
+ // next run.
+ for (boolean y : didWork) {
+ if (!y) {
+ Logger.INFO("[Bedrock Miner] Fail [x]");
+ return false;
+ }
+ }
+ // Logger.INFO("[Bedrock Miner] Success? [x]");
+ return true;
+ }
+
+ private boolean isEnergyEnough() {
+ long requiredEnergy = 512L + this.getMaxInputVoltage() * 4L;
+ for (final GT_MetaTileEntity_Hatch_Energy energyHatch : this.mEnergyHatches) {
+ requiredEnergy -= energyHatch.getEUVar();
+ if (requiredEnergy <= 0L) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean tryPickPipe(int pipe) {
+ if (this.yHead[pipe] == this.yDrill) {
+ return false;
+ }
+ boolean didWork[] = new boolean[3];
+ didWork[0] = this.checkBlockAndMeta(this.xCenter[pipe], this.yHead[pipe] + 1, this.zCenter[pipe],
+ GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipeBlock, 32767);
+ if (didWork[0]) {
+ didWork[1] = this.getBaseMetaTileEntity().getWorld().setBlock(this.xCenter[pipe], this.yHead[pipe] + 1,
+ this.zCenter[pipe], GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipeTipBlock);
+ }
+ if (didWork[1]) {
+ mMiningHeads.put(pipe, new BlockPos(this.xCenter[pipe], this.yHead[pipe] + 1, this.zCenter[pipe],
+ this.getBaseMetaTileEntity().getWorld()));
+ didWork[2] = this.getBaseMetaTileEntity().getWorld().setBlockToAir(this.xCenter[pipe], this.yHead[pipe],
+ this.zCenter[pipe]);
+ }
+
+ if (didWork[0] && didWork[1] && didWork[2]) {
+ return true;
+ }
+ return false;
+ }
+
+ private void setElectricityStats() {
+ this.mEfficiency = this.getCurrentEfficiency((ItemStack) null);
+ this.mEfficiencyIncrease = 10000;
+ final int overclock = 1 << GT_Utility.getTier(this.getMaxInputVoltage()) - 1;
+ this.mEUt = -12 * overclock * overclock;
+ int mCombinedAvgTime = 0;
+ for (int g = 0; g < 5; g++) {
+ mCombinedAvgTime += (this.isPickingPipes[g] ? 80 : this.getBaseProgressTime()) / overclock;
+ }
+ this.mMaxProgresstime = (mCombinedAvgTime / 5);
+ }
+
+ /*
+ * private ItemStack[] getOutputByDrops(final ArrayList<ItemStack>
+ * oreBlockDrops) { final long voltage = this.getMaxInputVoltage(); final
+ * ArrayList<ItemStack> outputItems = new ArrayList<ItemStack>(); while
+ * (!oreBlockDrops.isEmpty()) { final ItemStack currentItem =
+ * oreBlockDrops.remove(0).copy(); if
+ * (!this.doUseMaceratorRecipe(currentItem)) {
+ * this.multiplyStackSize(currentItem); outputItems.add(currentItem); } else
+ * { final GT_Recipe tRecipe =
+ * GT_Recipe.GT_Recipe_Map.sMaceratorRecipes.findRecipe(
+ * (IHasWorldObjectAndCoords) this.getBaseMetaTileEntity(), false, voltage,
+ * (FluidStack[]) null, new ItemStack[]{currentItem}); if (tRecipe == null)
+ * { outputItems.add(currentItem); } else { for (int i = 0; i <
+ * tRecipe.mOutputs.length; ++i) { final ItemStack recipeOutput =
+ * tRecipe.mOutputs[i].copy(); if
+ * (this.getBaseMetaTileEntity().getRandomNumber(10000) <
+ * tRecipe.getOutputChance(i)) { this.multiplyStackSize(recipeOutput); }
+ * outputItems.add(recipeOutput); } } } } return outputItems.toArray(new
+ * ItemStack[0]); }
+ */
+
+ /*
+ * private boolean doUseMaceratorRecipe(final ItemStack currentItem) { final
+ * ItemData itemData = GT_OreDictUnificator.getItemData(currentItem); return
+ * itemData == null || (itemData.mPrefix != OrePrefixes.crushed &&
+ * itemData.mPrefix != OrePrefixes.dustImpure && itemData.mPrefix !=
+ * OrePrefixes.dust && itemData.mMaterial.mMaterial != Materials.Oilsands);
+ * } private void multiplyStackSize(final ItemStack itemStack) {
+ * itemStack.stackSize *= this.getBaseMetaTileEntity().getRandomNumber(4) +
+ * 1; } private ArrayList<ItemStack> getBlockDrops(final Block oreBlock,
+ * final int posX, final int posY, final int posZ) { final int blockMeta =
+ * this.getBaseMetaTileEntity().getMetaID(posX, posY, posZ); if
+ * (oreBlock.canSilkHarvest(this.getBaseMetaTileEntity().getWorld(),
+ * (EntityPlayer) null, posX, posY, posZ, blockMeta)) { return new
+ * ArrayList<ItemStack>() { { this.add(new ItemStack(oreBlock, 1,
+ * blockMeta)); } }; } return (ArrayList<ItemStack>)
+ * oreBlock.getDrops(this.getBaseMetaTileEntity().getWorld(), posX, posY,
+ * posZ, blockMeta, 1); }
+ */
+
+ private boolean tryConsumeDrillingFluid() {
+ boolean consumed = false;
+ boolean g = (this.getBaseMetaTileEntity().getWorld().getTotalWorldTime() % 2 == 0);
+ consumed = (g ? tryConsumePyrotheum() : tryConsumeCryotheum());
+ if (consumed) {
+ increaseProduction(g ? 2 : 1);
+ }
+ else {
+ lowerProduction(g ? 5 : 3);
+ }
+ return consumed;
+ }
+
+ private boolean tryConsumePyrotheum() {
+ return this.depleteInput(FluidUtils.getFluidStack("pyrotheum", 2));
+ }
+
+ private boolean tryConsumeCryotheum() {
+ return this.depleteInput(FluidUtils.getFluidStack("cryotheum", 4));
+ }
+
+ private boolean lowerProduction(int reduce) {
+ if ((mProductionModifier - reduce) >= 10) {
+ this.mProductionModifier -= reduce;
+ return true;
+ }
+ else {
+ this.mProductionModifier = 10;
+ return false;
+ }
+ }
+
+ private boolean increaseProduction(int increase) {
+ if ((mProductionModifier + increase) <= 150) {
+ this.mProductionModifier += increase;
+ return true;
+ }
+ else {
+ this.mProductionModifier = 150;
+ return false;
+ }
+ }
+
+ private void putMiningPipesFromInputsInController() {
+ final int maxPipes = GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipe.getMaxStackSize();
+ if (this.isHasMiningPipes(maxPipes)) {
+ return;
+ }
+ ItemStack pipes = this.getStackInSlot(1);
+ for (final ItemStack storedItem : this.getStoredInputs()) {
+ if (!storedItem.isItemEqual(GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipe)) {
+ continue;
+ }
+ if (pipes == null) {
+ this.setInventorySlotContents(1,
+ GT_Utility.copy(new Object[] { GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipe }));
+ pipes = this.getStackInSlot(1);
+ }
+ if (pipes.stackSize == maxPipes) {
+ break;
+ }
+ final int needPipes = maxPipes - pipes.stackSize;
+ final int transferPipes = (storedItem.stackSize < needPipes) ? storedItem.stackSize : needPipes;
+ final ItemStack itemStack = pipes;
+ itemStack.stackSize += transferPipes;
+ final ItemStack itemStack2 = storedItem;
+ itemStack2.stackSize -= transferPipes;
+ }
+ this.updateSlots();
+ }
+
+ /*
+ * private void fillMineListIfEmpty() { if
+ * (!this.oreBlockPositions.isEmpty()) { return; }
+ * this.tryAddOreBlockToMineList(this.xCenter, this.yHead - 1,
+ * this.zCenter); if (this.yHead == this.yDrill) { return; } for (int radius
+ * = this.getRadiusInChunks() << 4, xOff = -radius; xOff <= radius; ++xOff)
+ * { for (int zOff = -radius; zOff <= radius; ++zOff) {
+ * this.tryAddOreBlockToMineList(this.xDrill + xOff, this.yHead, this.zDrill
+ * + zOff); } } } private void tryAddOreBlockToMineList(final int x, final
+ * int y, final int z) { final Block block =
+ * this.getBaseMetaTileEntity().getBlock(x, y, z); final int blockMeta =
+ * this.getBaseMetaTileEntity().getMetaID(x, y, z); final ChunkPosition
+ * blockPos = new ChunkPosition(x, y, z); if
+ * (this.oreBlockPositions.contains(blockPos)) { return; } if (block
+ * instanceof GT_Block_Ores_Abstract) { final TileEntity tTileEntity =
+ * this.getBaseMetaTileEntity().getTileEntity(x, y, z); if (tTileEntity !=
+ * null && tTileEntity instanceof GT_TileEntity_Ores &&
+ * ((GT_TileEntity_Ores) tTileEntity).mNatural) {
+ * this.oreBlockPositions.add(blockPos); } } else { final ItemData
+ * association = GT_OreDictUnificator.getAssociation(new ItemStack(block, 1,
+ * blockMeta)); if (association != null &&
+ * association.mPrefix.toString().startsWith("ore")) {
+ * this.oreBlockPositions.add(blockPos); } } }
+ */
+
+ private HashMap<Integer, BlockPos> mMiningHeads = new HashMap<Integer, BlockPos>();
+
+ private boolean tryLowerPipe(int pipe) {
+ if (!this.isHasMiningPipes()) {
+ Logger.INFO("[Bedrock Miner] No Pipes to Lower.");
+ return false;
+ }
+ boolean didWork[] = new boolean[3];
+
+ if (this.checkBlockAndMeta(this.xCenter[pipe], this.yHead[pipe] - 1, this.zCenter[pipe], Blocks.bedrock,
+ 32767)) {
+ // Logger.INFO("[Bedrock Miner] Pipe "+pipe+" is at Bedrock.");
+ return false;
+ }
+ didWork[0] = this.getBaseMetaTileEntity().getWorld().setBlock(this.xCenter[pipe], this.yHead[pipe] - 1,
+ this.zCenter[pipe], GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipeTipBlock);
+ if (didWork[0]) {
+ mMiningHeads.put(pipe, new BlockPos(this.xCenter[pipe], this.yHead[pipe] - 1, this.zCenter[pipe],
+ this.getBaseMetaTileEntity().getWorld()));
+ }
+
+ didWork[1] = (this.yHead[pipe] != this.yDrill);
+ Logger.INFO("A: " + this.yHead[pipe] + " | B: " + this.yDrill);
+
+ if (didWork[1]) {
+ didWork[2] = this.getBaseMetaTileEntity().getWorld().setBlock(this.xCenter[pipe], this.yHead[pipe],
+ this.zCenter[pipe], GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipeBlock);
+ }
+
+ if (didWork[0] && didWork[1] && didWork[2]) {
+ this.getBaseMetaTileEntity().decrStackSize(1, 1);
+ Logger.INFO("[Bedrock Miner] Lowered Pipe " + pipe + ".");
+ return true;
+ }
+
+ Logger.INFO("[Bedrock Miner] Issue when lowering Pipe " + pipe + ". 1: " + didWork[0] + " | 2: " + didWork[1]
+ + " | 3: " + didWork[2]);
+ return false;
+ }
+
+ private boolean isHasMiningPipes() {
+ return this.isHasMiningPipes(1);
+ }
+
+ private boolean isHasMiningPipes(final int minCount) {
+ final ItemStack pipe = this.getStackInSlot(1);
+ return pipe != null && pipe.stackSize > minCount - 1
+ && pipe.isItemEqual(GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipe);
+ }
+
+ public boolean checkMachine(final IGregTechTileEntity aBaseMetaTileEntity, final ItemStack aStack) {
+ this.updateCoordinates();
+ for (int xOff = -1 + this.back.offsetX; xOff <= 1 + this.back.offsetX; ++xOff) {
+ for (int zOff = -1 + this.back.offsetZ; zOff <= 1 + this.back.offsetZ; ++zOff) {
+ if (xOff != 0 || zOff != 0) {
+ final Block tBlock = aBaseMetaTileEntity.getBlockOffset(xOff, 0, zOff);
+ final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xOff, 0,
+ zOff);
+ if (!this.checkCasingBlock(xOff, 0, zOff)
+ && !this.addMaintenanceToMachineList(tTileEntity, this.casingTextureIndex)
+ && !this.addInputToMachineList(tTileEntity, this.casingTextureIndex)
+ && !this.addOutputToMachineList(tTileEntity, this.casingTextureIndex)
+ && !this.addEnergyInputToMachineList(tTileEntity, this.casingTextureIndex)) {
+ Logger.INFO("[Bedrock Miner] Found bad blosck in Structure.");
+ if (tBlock != null) {
+ //Logger.INFO("[Bedrock Miner] Found "+(new ItemStack(tBlock, tBlock.getDamageValue(aBaseMetaTileEntity.getWorld(), xOff, 0, zOff))).getDisplayName()+", expected "+this.getCasingBlockItem().get(0L, new Object[0]).getDisplayName());
+ }
+ return false;
+ }
+ }
+ }
+ }
+ if (this.mMaintenanceHatches.isEmpty() || this.mInputHatches.isEmpty() || this.mOutputBusses.isEmpty()
+ || this.mEnergyHatches.isEmpty()) {
+ Logger.INFO("[Bedrock Miner] Missing Hatches/Busses.");
+ return false;
+ }
+ if (GT_Utility.getTier(this.getMaxInputVoltage()) < this.getMinTier()) {
+ Logger.INFO("[Bedrock Miner] getMaxInputVoltage() < getMinTier().");
+ return false;
+ }
+ for (int yOff = 1; yOff < 4; ++yOff) {
+ if (!this.checkCasingBlock(this.back.offsetX, yOff, this.back.offsetZ)
+ || !this.checkFrameBlock(this.back.offsetX + 1, yOff, this.back.offsetZ)
+ || !this.checkFrameBlock(this.back.offsetX - 1, yOff, this.back.offsetZ)
+ || !this.checkFrameBlock(this.back.offsetX, yOff, this.back.offsetZ + 1)
+ || !this.checkFrameBlock(this.back.offsetX, yOff, this.back.offsetZ - 1)
+ || !this.checkFrameBlock(this.back.offsetX, yOff + 3, this.back.offsetZ)) {
+ Logger.INFO("[Bedrock Miner] Missing Frames? yOff = " + yOff);
+ return false;
+ }
+ }
+ Logger.INFO("[Bedrock Miner] Built.");
+ return true;
+ }
+
+ private void updateCoordinates() {
+ this.xDrill = this.getBaseMetaTileEntity().getXCoord();
+ this.yDrill = this.getBaseMetaTileEntity().getYCoord();
+ this.zDrill = this.getBaseMetaTileEntity().getZCoord();
+ this.back = ForgeDirection.getOrientation((int) this.getBaseMetaTileEntity().getBackFacing());
+
+ // Middle
+ this.xCenter[0] = this.xDrill + this.back.offsetX;
+ this.zCenter[0] = this.zDrill + this.back.offsetZ;
+
+ this.xCenter[1] = xCenter[0] + 1;
+ this.zCenter[1] = zCenter[0];
+
+ this.xCenter[2] = xCenter[0] - 1;
+ this.zCenter[2] = zCenter[0];
+
+ this.xCenter[3] = xCenter[0];
+ this.zCenter[3] = zCenter[0] + 1;
+
+ this.xCenter[4] = xCenter[0];
+ this.zCenter[4] = zCenter[0] - 1;
+
+ }
+
+ private boolean checkPipesAndSetYHead() {
+ for (int g = 0; g < 5; g++) {
+ this.yHead[g] = this.yDrill - 1;
+ // Logger.INFO("[Bedrock Miner] Set yHead["+g+"] to
+ // "+this.yHead[g]+".");
+ while (this.checkBlockAndMeta(this.xCenter[g], this.yHead[g], this.zCenter[g],
+ GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipeBlock, 32767)) {
+ --this.yHead[g];
+ }
+ if (this.checkBlockAndMeta(this.xCenter[g], this.yHead[g], this.zCenter[g],
+ GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipeTipBlock, 32767)
+ || ++this.yHead[g] == this.yDrill) {
+ continue;
+ }
+ this.getBaseMetaTileEntity().getWorld().setBlock(this.xCenter[g], this.yHead[g], this.zCenter[g],
+ GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipeTipBlock);
+
+ }
+ return true;
+ }
+
+ private boolean checkCasingBlock(final int xOff, final int yOff, final int zOff) {
+ return this.checkBlockAndMetaOffset(xOff, yOff, zOff, this.casingBlock, this.casingMeta);
+ }
+
+ private boolean checkFrameBlock(final int xOff, final int yOff, final int zOff) {
+ return this.checkBlockAndMetaOffset(xOff, yOff, zOff,
+ Block.getBlockFromItem(this.getFrameMaterial().getFrameBox(1).getItem()), 0);
+ }
+
+ private boolean checkBlockAndMetaOffset(final int xOff, final int yOff, final int zOff, final Block block,
+ final int meta) {
+ return this.checkBlockAndMeta(this.xDrill + xOff, this.yDrill + yOff, this.zDrill + zOff, block, meta);
+ }
+
+ private boolean checkBlockAndMeta(final int x, final int y, final int z, final Block block, final int meta) {
+ Logger.INFO("Found "+this.getBaseMetaTileEntity().getBlock(x, y, z).getLocalizedName()+":"+this.getBaseMetaTileEntity().getMetaID(x, y, z)+" | Expected: "+block.getUnlocalizedName()+":"+meta);
+ return (this.getBaseMetaTileEntity().getMetaID(x, y, z) == meta) && this.getBaseMetaTileEntity().getBlock(x, y, z) == block;
+ }
+
+ public boolean isCorrectMachinePart(final ItemStack aStack) {
+ return true;
+ }
+
+ public int getMaxEfficiency(final ItemStack aStack) {
+ return 10000;
+ }
+
+ public int getPollutionPerTick(final ItemStack aStack) {
+ return 0;
+ }
+
+ public int getDamageToComponent(final ItemStack aStack) {
+ return 0;
+ }
+
+ public boolean explodesOnComponentBreak(final ItemStack aStack) {
+ return false;
+ }
+
+ protected GregtechItemList getCasingBlockItem() {
+ return GregtechItemList.Casing_BedrockMiner;
+ }
+
+ protected abstract Material getFrameMaterial();
+
+ protected abstract int getCasingTextureIndex();
+
+ protected abstract int getRadiusInChunks();
+
+ protected abstract int getMinTier();
+
+ protected abstract int getBaseProgressTime();
+
+ protected String[] getDescriptionInternal(final String tierSuffix) {
+ final String casings = this.getCasingBlockItem().get(0L, new Object[0]).getDisplayName();
+ return new String[] {
+ "Controller Block for the Experimental Deep Earth Drilling Platform - MK "
+ + ((tierSuffix != null) ? tierSuffix : ""),
+ "Size(WxHxD): 3x7x3, Controller (Front middle bottom)", "3x1x3 Base of " + casings,
+ "1x3x1 " + casings + " pillar (Center of base)",
+ "1x3x1 " + this.getFrameMaterial().getLocalizedName() + " Frame Boxes (Each pillar side and on top)",
+ "2x Input Hatch (Any bottom layer casing)",
+ "1x Input Bus for mining pipes (Any bottom layer casing; not necessary)",
+ "1x Output Bus (Any bottom layer casing)", "1x Maintenance Hatch (Any bottom layer casing)",
+ "1x " + GT_Values.VN[this.getMinTier()] + "+ Energy Hatch (Any bottom layer casing)",
+ "Radius is " + (this.getRadiusInChunks() << 4) + " blocks",
+ "Every tick, this machine altenates betweem consumption of Pyrotheum & Cryotheum",
+ "Pyrotheum is used to bore through the Mantle of the world",
+ "Cryotheum is used to keep the internal components cool", CORE.GT_Tooltip };
+ }
+
+ static {
+ miningPipe = GT_ModHandler.getIC2Item("miningPipe", 0L);
+ miningPipeTip = GT_ModHandler.getIC2Item("miningPipeTip", 0L);
+ // miningPipeBlock =
+ // GT_Utility.getBlockFromStack(GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipe);
+ // miningPipeTipBlock =
+ // GT_Utility.getBlockFromStack(GregtechMetaTileEntity_BedrockMiningPlatformBase.miningPipeTip);
+ miningPipeBlock = ModBlocks.blockFakeMiningPipe;
+ miningPipeTipBlock = ModBlocks.blockFakeMiningHead;
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredChest.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredChest.java
index 7debeac3f1..bb46a0060d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredChest.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredChest.java
@@ -1,5 +1,10 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.storage;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.Textures.BlockIcons;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -7,14 +12,9 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
-import gregtech.common.gui.GT_Container_QuantumChest;
-import gregtech.common.gui.GT_GUIContainer_QuantumChest;
+
import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_SuperChest;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_SuperChest;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
public class GT_MetaTileEntity_TieredChest extends GT_MetaTileEntity_TieredMachineBlock {
public int mItemCount = 0;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java
index 66ce69ffca..34056ced24 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java
@@ -1,5 +1,8 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.storage;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -7,10 +10,9 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.nbt.NBTTagCompound;
public class GT_MetaTileEntity_TieredTank extends GT_MetaTileEntity_BasicTank {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java
index 2a6f7e0d9c..22cace9cff 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java
@@ -2,27 +2,26 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.storage;
import static gregtech.api.enums.GT_Values.V;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+
import gregtech.api.enums.Textures;
import gregtech.api.gui.GT_Container_1by1;
import gregtech.api.gui.GT_GUIContainer_1by1;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.items.GT_MetaBase_Item;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTileEntity;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-import ic2.api.item.IElectricItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
public class GregtechMetaEnergyBuffer extends GregtechMetaTileEntity {
@@ -298,7 +297,7 @@ public class GregtechMetaEnergyBuffer extends GregtechMetaTileEntity {
@Override
public int[] getAccessibleSlotsFromSide(final int p_94128_1_) {
- return null;
+ return new int[] {};
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java
index f2f6a3e164..80448727cc 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java
@@ -1,15 +1,17 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.storage;
+import net.minecraft.entity.player.InventoryPlayer;
+
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
+
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_SafeBlock;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_SafeBlock;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.machines.GregtechMetaSafeBlockBase;
-import net.minecraft.entity.player.InventoryPlayer;
public class GregtechMetaSafeBlock
extends GregtechMetaSafeBlockBase {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java
index adb5f622f6..57eeba7025 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java
@@ -1,5 +1,10 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.storage.shelving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
import gregtech.api.enums.*;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -7,11 +12,8 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull_NonElectric;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
public class GT4Entity_Shelf extends GT_MetaTileEntity_BasicHull_NonElectric {
public byte mType = 0;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Compartment.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Compartment.java
index 676ba4b92e..540fb17aa2 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Compartment.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Compartment.java
@@ -2,6 +2,13 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.storage.shelving;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
import gregtech.api.enums.Dyes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -9,12 +16,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
public class GT4Entity_Shelf_Compartment extends GT4Entity_Shelf {
public static IIcon[] sIconList = new IIcon['?'];
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Desk.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Desk.java
index 07da58ffad..5c08379a9f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Desk.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Desk.java
@@ -1,13 +1,14 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.storage.shelving;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.Dyes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
public class GT4Entity_Shelf_Desk extends GT4Entity_Shelf {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java
index 6a53d68221..97f9a43187 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java
@@ -2,10 +2,6 @@ package gtPlusPlus.xmod.gregtech.common.tools;
import java.util.List;
-import gregtech.api.GregTech_API;
-import gregtech.api.damagesources.GT_DamageSources;
-import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ToolStats;
-import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.Entity;
@@ -13,7 +9,15 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.AchievementList;
-import net.minecraft.util.*;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.EntityDamageSource;
+import net.minecraft.util.IChatComponent;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.damagesources.GT_DamageSources;
+
+import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ToolStats;
+import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool;
import net.minecraftforge.event.world.BlockEvent;
public abstract class TOOL_Gregtech_Base
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java
index 490f3d7163..1fd1e8241a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java
@@ -3,15 +3,6 @@ package gtPlusPlus.xmod.gregtech.common.tools;
import java.util.Arrays;
import java.util.List;
-import gregtech.GT_Mod;
-import gregtech.api.GregTech_API;
-import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.items.GT_MetaGenerated_Tool;
-import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
-import gregtech.common.tools.GT_Tool;
-import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools;
-import gtPlusPlus.xmod.gregtech.common.items.behaviours.Behaviour_Choocher;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
@@ -21,7 +12,20 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.AchievementList;
-import net.minecraft.util.*;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IChatComponent;
+
+import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.tools.GT_Tool;
+
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools;
+import gtPlusPlus.xmod.gregtech.common.items.behaviours.Behaviour_Choocher;
import net.minecraftforge.event.world.BlockEvent;
public class TOOL_Gregtech_Choocher
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java
index c57ad71fc7..68f78503e8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/GT_Material_Loader.java
@@ -6,11 +6,12 @@ import java.util.Map;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.AutoMap;
-import gtPlusPlus.core.util.materials.MaterialUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
public class GT_Material_Loader {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java
index 7f59621324..2cf8994a0d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.gregtech.loaders;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java
index 332fa18281..9131975b21 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java
@@ -1,15 +1,17 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_OreRecipeRegistrator;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
-import net.minecraft.item.ItemStack;
public class ProcessingToolHeadChoocher implements Interface_OreRecipeRegistrator, Runnable {
public ProcessingToolHeadChoocher() {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java
index c596bf0a4c..e3dc240995 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.gregtech.loaders;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
+
import gtPlusPlus.core.material.Material;
public class RecipeGen_AlloySmelter implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java
index 6279a28d5c..9f27cfd5ab 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java
@@ -1,10 +1,12 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
+
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class RecipeGen_Assembler implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
index aa4f0ce494..cceb22d0dd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
@@ -2,8 +2,11 @@ package gtPlusPlus.xmod.gregtech.loaders;
import java.util.ArrayList;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
@@ -13,9 +16,8 @@ import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_BlastSmelter implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java
index ee5ac63f38..e76b769ef6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_Ex.java
@@ -1,12 +1,18 @@
package gtPlusPlus.xmod.gregtech.loaders;
-import gregtech.api.enums.*;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
import gregtech.api.interfaces.IOreRecipeRegistrator;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_BlastSmelterGT_Ex implements IOreRecipeRegistrator {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
index 41fb792fc0..056d5a2afd 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
@@ -1,15 +1,17 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_DustGeneration implements Runnable{
@@ -230,50 +232,58 @@ public class RecipeGen_DustGeneration implements Runnable{
}
else if (inputStacks.length == 2) {
input3 = CI.getNumberedCircuit(20);
-
+
}
else if (inputStacks.length == 3) {
input4 = CI.getNumberedCircuit(20);
-
+
}
-
-
+
+
//Add mixer Recipe
FluidStack oxygen = GT_Values.NF;
if (material.getComposites() != null){
+ int compSlot = 0;
for (final MaterialStack x : material.getComposites()){
if (!material.getComposites().isEmpty()){
if (x != null){
if (x.getStackMaterial() != null){
if (x.getStackMaterial().getDust(1) == null){
- if (x.getStackMaterial().getState() == MaterialState.GAS){
- oxygen = x.getStackMaterial().getFluid(1000);
+ MaterialState f = x.getStackMaterial().getState();
+ if (f == MaterialState.GAS || f == MaterialState.LIQUID || f == MaterialState.PURE_LIQUID){
+ oxygen = x.getStackMaterial().getFluid((int) (material.vSmallestRatio[compSlot] * 1000));
}
}
}
}
}
+ compSlot++;
}
}
//Add mixer Recipe
- if (GT_Values.RA.addMixerRecipe(
- input1, input2,
- input3, input4,
- oxygen,
- null,
- outputStacks,
- (int) Math.max(material.getMass() * 2L * 1, 1),
- 2 * material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example.
- {
- Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Success");
- return true;
+ try {
+ if (GT_Values.RA.addMixerRecipe(
+ input1, input2,
+ input3, input4,
+ oxygen,
+ null,
+ outputStacks,
+ (int) Math.max(material.getMass() * 2L * 1, 1),
+ 2 * material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example.
+ {
+ Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Success");
+ return true;
+ }
+ else {
+ Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Failed");
+ return false;
+ }
}
- else {
- Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Failed");
- return false;
+ catch (Throwable t) {
+ t.printStackTrace();
}
}
else {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java
index 198c22fb8e..2b4a837c93 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java
@@ -1,11 +1,13 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.ItemList;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
-import net.minecraft.item.ItemStack;
public class RecipeGen_Extruder implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
index 610227e6e8..0d4d293bd8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.gregtech.loaders;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
index 32fa282b0c..4a5d136372 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
@@ -1,17 +1,19 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.util.array.AutoMap;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_MaterialProcessing implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index bdcb30f930..1e252edc29 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -1,21 +1,23 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.array.AutoMap;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import net.minecraftforge.fluids.FluidStack;
public class RecipeGen_Ore implements Runnable{
@@ -46,25 +48,49 @@ public class RecipeGen_Ore implements Runnable{
else {
return;
}
+
+ boolean allFailed = false;
if (material.getComposites().size() >= 1 && material.getComposites().get(1) != null){
bonusB = material.getComposites().get(1).getStackMaterial();
- }
- else if (material.getComposites().get(0) != null){
- bonusB = material.getComposites().get(0).getStackMaterial();
+ //If Secondary Output has no solid output, try the third (If it exists)
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 2 && material.getComposites().get(2) != null) {
+ bonusB = material.getComposites().get(2).getStackMaterial();
+ //If Third Output has no solid output, try the Fourth (If it exists)
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 3 && material.getComposites().get(3) != null) {
+ bonusB = material.getComposites().get(3).getStackMaterial();
+ //If Fourth Output has no solid output, try the Fifth (If it exists)
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 4 && material.getComposites().get(4) != null) {
+ bonusB = material.getComposites().get(4).getStackMaterial();
+ //If Fifth Output has no solid output, default out to Chrome.
+ if (!bonusB.hasSolidForm() && material.getComposites().size() >= 4 && material.getComposites().get(4) != null) {
+ allFailed = true;
+ bonusB = null;
+ }
+ }
+ }
+ }
}
else {
- //Ultra Bonus
- bonusB = ELEMENT.getInstance().GALLIUM;
+ allFailed = true;
+ bonusB = null;
}
- AutoMap<Pair<Integer, Material>> componentMap = new AutoMap<Pair<Integer, Material>>();
+ //Default out if it's made of fluids or some shit.
+ if (allFailed) {
+ bonusB = ELEMENT.getInstance().CHROMIUM;
+ }
+ AutoMap<Pair<Integer, Material>> componentMap = new AutoMap<Pair<Integer, Material>>();
for (MaterialStack r : material.getComposites()){
if (r != null){
componentMap.put(new Pair<Integer, Material>(r.getPartsPerOneHundred(), r.getStackMaterial()));
}
}
+ //Need two valid outputs
+ if (bonusA == null || bonusB == null || !bonusA.hasSolidForm() || !bonusB.hasSolidForm()) {
+ return;
+ }
/**
* Macerate
*/
@@ -99,7 +125,7 @@ public class RecipeGen_Ore implements Runnable{
-
+
/**
* Thermal Centrifuge
@@ -112,15 +138,21 @@ public class RecipeGen_Ore implements Runnable{
if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushedPurified(1), material.getCrushedCentrifuged(1), bonusA.getTinyDust(1), dustStone, 25*20, 24)){
Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore'");
}*/
+
+ Logger.MATERIALS("material.getCrushed(1): "+(material.getCrushed(1) != null));
+ Logger.MATERIALS("material.getCrushedPurified(1): "+(material.getCrushedPurified(1) != null));
+ Logger.MATERIALS("bonusA.getTinyDust(1): "+(bonusA.getTinyDust(1) != null)+" | Material: "+(bonusA != null) + " | Material name: "+(bonusA != null ? bonusA.getLocalizedName() : "invalid material"));
+ Logger.MATERIALS("bonusB.getTinyDust(1): "+(bonusB.getTinyDust(1) != null)+" | Material: "+(bonusB != null) + " | Material name: "+(bonusB != null ? bonusB.getLocalizedName() : "invalid material"));
+
//.08 compat
if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushed(1), 200, material.getCrushedCentrifuged(1), bonusB.getTinyDust(1), dustStone)){
- Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore'");
+ Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: "+material.getCrushed(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+bonusB.getTinyDust(1).getDisplayName()+", "+dustStone.getDisplayName()+".");
}
if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushedPurified(1), 200, material.getCrushedCentrifuged(1), bonusA.getTinyDust(1), dustStone)){
- Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore'");
+ Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: "+material.getCrushedPurified(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+bonusA.getTinyDust(1).getDisplayName()+", "+dustStone.getDisplayName()+".");
}
-
+
/**
* Forge Hammer
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
index 6c54fb816b..85b87b1d13 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
@@ -1,12 +1,14 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.util.GT_Recipe;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
-import net.minecraft.item.ItemStack;
public class RecipeGen_Plates implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
index 98fb6050d4..05b292f192 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
@@ -7,21 +7,36 @@ import java.util.Map;
import org.apache.commons.lang3.reflect.FieldUtils;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.OrePrefixes;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.array.Pair;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
public class RecipeGen_Recycling implements Runnable {
+ public static AutoMap<Runnable> mQueuedRecyclingGenerators = new AutoMap<Runnable>();
+
+ public static void executeGenerators() {
+ if (mQueuedRecyclingGenerators.size() > 0) {
+ for (Runnable R : mQueuedRecyclingGenerators.values()) {
+ R.run();
+ }
+ }
+ }
+
final Material toGenerate;
public static Map<String, ItemStack> mNameMap;
@@ -30,14 +45,14 @@ public class RecipeGen_Recycling implements Runnable {
if (mNameMap == null){
mNameMap = this.getNameMap();
}
- if (mNameMap != null){
- generateRecipes(this.toGenerate);
- }
+ mQueuedRecyclingGenerators.put(this);
}
@Override
public void run() {
-
+ if (mNameMap != null){
+ generateRecipes(this.toGenerate);
+ }
}
public static void generateRecipes(final Material material) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
index 4386807f4d..3b5db4aab5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java
@@ -1,12 +1,14 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
public class RecipeGen_ShapedCrafting implements Runnable{
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
index 0dd566eb2d..49b9195bec 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
@@ -1,72 +1,116 @@
package gtPlusPlus.xmod.gregtech.recipes;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.util.CustomRecipeMap;
import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder;
-import gtPlusPlus.xmod.gregtech.recipes.machines.RECIPEHANDLER_CokeOven;
import gtPlusPlus.xmod.gregtech.recipes.machines.RECIPEHANDLER_MatterFabricator;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
-
-
@Override
- public boolean addCokeOvenRecipe(final ItemStack aInput1, final ItemStack aInput2, final FluidStack aFluidInput, final FluidStack aFluidOutput, final ItemStack aOutput, int aDuration, final int aEUt) {
+ public boolean addCokeOvenRecipe(final ItemStack aInput1, final ItemStack aInput2, final FluidStack aFluidInput,
+ final FluidStack aFluidOutput, final ItemStack aOutput, int aDuration, final int aEUt) {
try {
try {
- //RECIPEHANDLER_CokeOven.debug1();
- if (((aInput1 == null) /*&& (aFluidInput == null)*/) || ((aOutput == null) || (aFluidOutput == null))) {
- //Utils.LOG_WARNING("aInput1:"+aInput1.toString()+" aInput2:"+aInput2.toString()+" aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aOutput:"+aOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
+ // RECIPEHANDLER_CokeOven.debug1();
+ if (((aInput1 == null) /* && (aFluidInput == null) */)
+ || ((aOutput == null) || (aFluidOutput == null))) {
+ // Utils.LOG_WARNING("aInput1:"+aInput1.toString()+"
+ // aInput2:"+aInput2.toString()+"
+ // aFluidInput:"+aFluidInput.toString()+"
+ // aFluidOutput:"+aFluidOutput.toString()+"
+ // aOutput:"+aOutput.toString()+" aDuration:"+aDuration+"
+ // aEU/t:"+aEUt);
Logger.WARNING("Something was null, returning false");
return false;
}
- } catch (final NullPointerException e){e.getStackTrace();}
+ }
+ catch (final NullPointerException e) {
+ e.getStackTrace();
+ }
try {
- //RECIPEHANDLER_CokeOven.debug2(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aDuration, aEUt);
- if ((aOutput != null) && ((aDuration = GregTech_API.sRecipeFile.get("cokeoven", aOutput, aDuration)) <= 0)) {
- //Utils.LOG_WARNING("aInput1:"+aInput1.toString()+" aInput2:"+aInput2.toString()+" aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aOutput:"+aOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
+ // RECIPEHANDLER_CokeOven.debug2(aInput1, aInput2, aFluidInput,
+ // aFluidOutput, aOutput, aDuration, aEUt);
+ if ((aOutput != null)
+ && ((aDuration = GregTech_API.sRecipeFile.get("cokeoven", aOutput, aDuration)) <= 0)) {
+ // Utils.LOG_WARNING("aInput1:"+aInput1.toString()+"
+ // aInput2:"+aInput2.toString()+"
+ // aFluidInput:"+aFluidInput.toString()+"
+ // aFluidOutput:"+aFluidOutput.toString()+"
+ // aOutput:"+aOutput.toString()+" aDuration:"+aDuration+"
+ // aEU/t:"+aEUt);
Logger.WARNING("Something was null, returning false");
return false;
}
- } catch (final NullPointerException e){e.getStackTrace();}
+ }
+ catch (final NullPointerException e) {
+ e.getStackTrace();
+ }
try {
- //RECIPEHANDLER_CokeOven.debug3(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aDuration, aEUt);
- if ((aFluidOutput == null) || ((aDuration = GregTech_API.sRecipeFile.get("cokeoven", aFluidOutput.getFluid().getName(), aDuration)) <= 0)) {
- //Utils.LOG_WARNING("aInput1:"+aInput1.toString()+" aInput2:"+aInput2.toString()+" aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aOutput:"+aOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
+ // RECIPEHANDLER_CokeOven.debug3(aInput1, aInput2, aFluidInput,
+ // aFluidOutput, aOutput, aDuration, aEUt);
+ if ((aFluidOutput == null) || ((aDuration = GregTech_API.sRecipeFile.get("cokeoven",
+ aFluidOutput.getFluid().getName(), aDuration)) <= 0)) {
+ // Utils.LOG_WARNING("aInput1:"+aInput1.toString()+"
+ // aInput2:"+aInput2.toString()+"
+ // aFluidInput:"+aFluidInput.toString()+"
+ // aFluidOutput:"+aFluidOutput.toString()+"
+ // aOutput:"+aOutput.toString()+" aDuration:"+aDuration+"
+ // aEU/t:"+aEUt);
Logger.WARNING("Something was null, returning false");
return false;
}
- } catch (final NullPointerException e){e.getStackTrace();}
+ }
+ catch (final NullPointerException e) {
+ e.getStackTrace();
+ }
try {
- //RECIPEHANDLER_CokeOven.debug4(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aDuration, aEUt);
- if (aFluidInput == null && aInput2 != null){
- Recipe_GT.Gregtech_Recipe_Map.sCokeOvenRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2}, new ItemStack[]{aOutput}, null, null, null, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ // RECIPEHANDLER_CokeOven.debug4(aInput1, aInput2, aFluidInput,
+ // aFluidOutput, aOutput, aDuration, aEUt);
+ if (aFluidInput == null && aInput2 != null) {
+ Recipe_GT.Gregtech_Recipe_Map.sCokeOvenRecipes.addRecipe(true, new ItemStack[] { aInput1, aInput2 },
+ new ItemStack[] { aOutput }, null, null, null, new FluidStack[] { aFluidOutput }, aDuration,
+ aEUt, 0);
}
- else if (aFluidInput == null && aInput2 == null){
- Recipe_GT.Gregtech_Recipe_Map.sCokeOvenRecipes.addRecipe(true, new ItemStack[]{aInput1}, new ItemStack[]{aOutput}, null, null, null, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ else if (aFluidInput == null && aInput2 == null) {
+ Recipe_GT.Gregtech_Recipe_Map.sCokeOvenRecipes.addRecipe(true, new ItemStack[] { aInput1 },
+ new ItemStack[] { aOutput }, null, null, null, new FluidStack[] { aFluidOutput }, aDuration,
+ aEUt, 0);
}
else {
- Recipe_GT.Gregtech_Recipe_Map.sCokeOvenRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2}, new ItemStack[]{aOutput}, null, null, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ Recipe_GT.Gregtech_Recipe_Map.sCokeOvenRecipes.addRecipe(true, new ItemStack[] { aInput1, aInput2 },
+ new ItemStack[] { aOutput }, null, null, new FluidStack[] { aFluidInput },
+ new FluidStack[] { aFluidOutput }, aDuration, aEUt, 0);
}
- RECIPEHANDLER_CokeOven.debug5(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aDuration, aEUt);
+ // RECIPEHANDLER_CokeOven.debug5(aInput1, aInput2, aFluidInput,
+ // aFluidOutput, aOutput, aDuration, aEUt);
return true;
- } catch (final NullPointerException e){
+ }
+ catch (final NullPointerException e) {
Logger.WARNING("Something was null, returning false");
return false;
}
- } catch (final Throwable e){
- Logger.WARNING("aInput1:"+aInput1.toString()+" aInput2:"+aInput2.toString()+" aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aOutput:"+aOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
+ }
+ catch (final Throwable e) {
+ // Logger.WARNING("aInput1:"+aInput1.toString()+"
+ // aInput2:"+aInput2.toString()+"
+ // aFluidInput:"+aFluidInput.toString()+"
+ // aFluidOutput:"+aFluidOutput.toString()+"
+ // aOutput:"+aOutput.toString()+" aDuration:"+aDuration+"
+ // aEU/t:"+aEUt);
Logger.WARNING("Failed.");
e.getStackTrace();
return false;
@@ -74,37 +118,54 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
}
@Override
- public boolean addMatterFabricatorRecipe(final FluidStack aFluidInput, final FluidStack aFluidOutput, final int aDuration, final int aEUt) {
+ public boolean addMatterFabricatorRecipe(final FluidStack aFluidInput, final FluidStack aFluidOutput,
+ final int aDuration, final int aEUt) {
try {
try {
- //RECIPEHANDLER_MatterFabricator.debug1();
+ // RECIPEHANDLER_MatterFabricator.debug1();
if (aFluidOutput == null) {
- //Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
+ // Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+"
+ // aFluidOutput:"+aFluidOutput.toString()+"
+ // aDuration:"+aDuration+" aEU/t:"+aEUt);
Logger.WARNING("Something was null, returning false");
return false;
}
- } catch (final NullPointerException e){e.getStackTrace();}
- try{
+ }
+ catch (final NullPointerException e) {
+ e.getStackTrace();
+ }
+ try {
- //RECIPEHANDLER_MatterFabricator.debug4(aFluidInput, aFluidOutput, aDuration, aEUt);
- if (aFluidInput == null){
- //Recipe_GT.Gregtech_Recipe_Map.sMatterFabRecipes.addRecipe(true, null, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
- Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.addRecipe(true, null, null, null, null, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ // RECIPEHANDLER_MatterFabricator.debug4(aFluidInput,
+ // aFluidOutput, aDuration, aEUt);
+ if (aFluidInput == null) {
+ // Recipe_GT.Gregtech_Recipe_Map.sMatterFabRecipes.addRecipe(true,
+ // null, new FluidStack[]{aFluidOutput}, aDuration, aEUt,
+ // 0);
+ Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.addRecipe(true, null, null, null, null,
+ new FluidStack[] { aFluidOutput }, aDuration, aEUt, 0);
}
else {
- //Recipe_GT.Gregtech_Recipe_Map.sMatterFabRecipes.addRecipe(true, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
- Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.addRecipe(true, null, null, null, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ // Recipe_GT.Gregtech_Recipe_Map.sMatterFabRecipes.addRecipe(true,
+ // new FluidStack[]{aFluidInput}, new
+ // FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.addRecipe(true, null, null, null,
+ new FluidStack[] { aFluidInput }, new FluidStack[] { aFluidOutput }, aDuration, aEUt, 0);
}
RECIPEHANDLER_MatterFabricator.debug5(aFluidInput, aFluidOutput, aDuration, aEUt);
return true;
- } catch (final NullPointerException e){
+ }
+ catch (final NullPointerException e) {
return false;
}
- } catch (final Throwable e){
- //Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+" aFluidOutput:"+aFluidOutput.toString()+" aDuration:"+aDuration+" aEU/t:"+aEUt);
+ }
+ catch (final Throwable e) {
+ // Utils.LOG_WARNING("aFluidInput:"+aFluidInput.toString()+"
+ // aFluidOutput:"+aFluidOutput.toString()+" aDuration:"+aDuration+"
+ // aEU/t:"+aEUt);
Logger.WARNING("Failed.");
e.getStackTrace();
return false;
@@ -112,155 +173,174 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
}
@Override
- public boolean addMatterFabricatorRecipe(final ItemStack aInputStack, final FluidStack aFluidInput, final FluidStack aFluidOutput, final int aDuration, final int aEUt) {
+ public boolean addMatterFabricatorRecipe(final ItemStack aInputStack, final FluidStack aFluidInput,
+ final FluidStack aFluidOutput, final int aDuration, final int aEUt) {
try {
- try {if ((aFluidOutput == null) || (aInputStack == null)) {return false;}} catch (final NullPointerException e){}
- try{
- if (aFluidInput == null){
- Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.addRecipe(true, new ItemStack[]{aInputStack}, null, null, null, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ try {
+ if ((aFluidOutput == null) || (aInputStack == null)) {
+ return false;
+ }
+ }
+ catch (final NullPointerException e) {
+ }
+ try {
+ if (aFluidInput == null) {
+ Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.addRecipe(true, new ItemStack[] { aInputStack },
+ null, null, null, new FluidStack[] { aFluidOutput }, aDuration, aEUt, 0);
}
else {
- Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.addRecipe(true, new ItemStack[]{aInputStack}, null, null, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ Recipe_GT.Gregtech_Recipe_Map.sMatterFab2Recipes.addRecipe(true, new ItemStack[] { aInputStack },
+ null, null, new FluidStack[] { aFluidInput }, new FluidStack[] { aFluidOutput }, aDuration,
+ aEUt, 0);
}
RECIPEHANDLER_MatterFabricator.debug5(aFluidInput, aFluidOutput, aDuration, aEUt);
return true;
- } catch (final NullPointerException e){return false;}
- } catch (final Throwable e){return false;}
+ }
+ catch (final NullPointerException e) {
+ return false;
+ }
+ }
+ catch (final Throwable e) {
+ return false;
+ }
}
-
@Override
public boolean addFuel(final ItemStack aInput1, final ItemStack aOutput1, final int aEU, final int aType) {
if (aInput1 == null) {
Logger.WARNING("Fuel Input is Invalid.");
return false;
}
- //new GregtechRecipe(aInput1, aOutput1, GregTech_API.sRecipeFile.get("fuel_" + aType, aInput1, aEU), aType);
+ // new GregtechRecipe(aInput1, aOutput1,
+ // GregTech_API.sRecipeFile.get("fuel_" + aType, aInput1, aEU), aType);
return true;
}
- /*@Override
- public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, FluidStack aFluid, ItemStack[] aOutputItems, FluidStack aOutputFluid, int aDuration, int aEUt) {
- if ((aItemA == null) || (aItemB == null) || (aOutputItems == null)) {
- return false;
- }
- for (ItemStack tStack : aOutputItems) {
- if (tStack != null) {
- if ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aItemA, aDuration)) <= 0) {
- return false;
- }
- Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, new ItemStack[]{aItemA, aItemB}, aOutputItems, null, null, null, aDuration, aEUt, 0);
- RECIPEHANDLER_Dehydrator.debug5(aItemA, aItemB, aFluid, aOutputFluid, aOutputItems, aDuration, aEUt);
- return true;
- }
- }
- return false;
- }
-
- @Override
- public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, ItemStack[] aOutputItems, int aDuration, int aEUt) {
- if ((aItemA == null) || (aItemB == null) || (aOutputItems == null)) {
- return false;
- }
- if ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aItemA, aDuration)) <= 0) {
- return false;
- }
- Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, new ItemStack[]{aItemA, aItemB}, aOutputItems, null, null, null, aDuration, aEUt, 0);
- RECIPEHANDLER_Dehydrator.debug5(aItemA, aItemB, null, null, aOutputItems, aDuration, aEUt);
- return true;
- }
-
-
+ /*
+ * @Override public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack
+ * aItemB, FluidStack aFluid, ItemStack[] aOutputItems, FluidStack
+ * aOutputFluid, int aDuration, int aEUt) { if ((aItemA == null) || (aItemB
+ * == null) || (aOutputItems == null)) { return false; } for (ItemStack
+ * tStack : aOutputItems) { if (tStack != null) { if ((aDuration =
+ * GregTech_API.sRecipeFile.get("dehydrator", aItemA, aDuration)) <= 0) {
+ * return false; }
+ * Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true,
+ * new ItemStack[]{aItemA, aItemB}, aOutputItems, null, null, null,
+ * aDuration, aEUt, 0); RECIPEHANDLER_Dehydrator.debug5(aItemA, aItemB,
+ * aFluid, aOutputFluid, aOutputItems, aDuration, aEUt); return true; } }
+ * return false; }
+ * @Override public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack
+ * aItemB, ItemStack[] aOutputItems, int aDuration, int aEUt) { if ((aItemA
+ * == null) || (aItemB == null) || (aOutputItems == null)) { return false; }
+ * if ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aItemA,
+ * aDuration)) <= 0) { return false; }
+ * Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true,
+ * new ItemStack[]{aItemA, aItemB}, aOutputItems, null, null, null,
+ * aDuration, aEUt, 0); RECIPEHANDLER_Dehydrator.debug5(aItemA, aItemB,
+ * null, null, aOutputItems, aDuration, aEUt); return true; }
+ * @Override public boolean addDehydratorRecipe(FluidStack aFluid,
+ * FluidStack aOutputFluid, ItemStack[] aOutputItems, int aDuration, int
+ * aEUt){ if ((aFluid == null) || (aOutputFluid == null || aOutputItems ==
+ * null)) { return false; } if ((aDuration =
+ * GregTech_API.sRecipeFile.get("dehydrator", aFluid.getUnlocalizedName(),
+ * aDuration)) <= 0) { return false; }
+ * Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true,
+ * null, aOutputItems, null, new FluidStack[]{aFluid}, new
+ * FluidStack[]{aOutputFluid}, aDuration, aEUt, 0);
+ * RECIPEHANDLER_Dehydrator.debug5(null, null, aFluid, aOutputFluid,
+ * aOutputItems, aDuration, aEUt); return true; }
+ */
@Override
- public boolean addDehydratorRecipe(FluidStack aFluid, FluidStack aOutputFluid, ItemStack[] aOutputItems, int aDuration, int aEUt){
- if ((aFluid == null) || (aOutputFluid == null || aOutputItems == null)) {
- return false;
- }
- if ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aFluid.getUnlocalizedName(), aDuration)) <= 0) {
- return false;
- }
- Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, null, aOutputItems, null, new FluidStack[]{aFluid}, new FluidStack[]{aOutputFluid}, aDuration, aEUt, 0);
- RECIPEHANDLER_Dehydrator.debug5(null, null, aFluid, aOutputFluid, aOutputItems, aDuration, aEUt);
- return true;
-}*/
-
-
- @Override
- public boolean addDehydratorRecipe(final ItemStack aInput, final FluidStack aFluid, final ItemStack[] aOutput, int aDuration, final int aEUt) {
+ public boolean addDehydratorRecipe(final ItemStack aInput, final FluidStack aFluid, final ItemStack[] aOutput,
+ int aDuration, final int aEUt) {
Logger.WARNING("Trying to add a Dehydrator recipe.");
- try{
+ try {
if ((aInput == null) || (aFluid == null) || (aOutput == null)) {
return false;
}
if ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aInput, aDuration)) <= 0) {
return false;
}
- Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, new ItemStack[]{aInput}, aOutput, null, new FluidStack[]{aFluid}, null, aDuration, aEUt, 0);
- //RECIPEHANDLER_Dehydrator.debug5(aInput, null, aFluid, null, aOutput, aDuration, aEUt);
+ Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, new ItemStack[] { aInput },
+ aOutput, null, new FluidStack[] { aFluid }, null, aDuration, aEUt, 0);
+ // RECIPEHANDLER_Dehydrator.debug5(aInput, null, aFluid, null,
+ // aOutput, aDuration, aEUt);
return true;
- }catch (final NullPointerException e){Logger.WARNING("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");return false;}
+ }
+ catch (final NullPointerException e) {
+ Logger.WARNING("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ return false;
+ }
}
-
-
-
@Override
- public boolean addDehydratorRecipe(final ItemStack[] aInput, final FluidStack aFluidInput, final FluidStack aFluidOutput, final ItemStack[] aOutputItems, final int[] aChances, int aDuration, final int aEUt) throws IndexOutOfBoundsException{
+ public boolean addDehydratorRecipe(final ItemStack[] aInput, final FluidStack aFluidInput,
+ final FluidStack aFluidOutput, final ItemStack[] aOutputItems, final int[] aChances, int aDuration,
+ final int aEUt) throws IndexOutOfBoundsException {
Logger.WARNING("Trying to add a Dehydrator recipe.");
- try{
- if (aInput[0] != null){
- Logger.WARNING("Recipe requires input: "+aInput[0].getDisplayName()+" x"+aInput[0].stackSize);
+ try {
+ if (aInput[0] != null) {
+ Logger.WARNING("Recipe requires input: " + aInput[0].getDisplayName() + " x" + aInput[0].stackSize);
}
- if (aInput.length > 1){
- if (aInput[1] != null){
- Logger.WARNING("Recipe requires input: "+aInput[1].getDisplayName()+" x"+aInput[1].stackSize);
+ if (aInput.length > 1) {
+ if (aInput[1] != null) {
+ Logger.WARNING("Recipe requires input: " + aInput[1].getDisplayName() + " x" + aInput[1].stackSize);
}
}
- if (aFluidInput != null){
- Logger.WARNING("Recipe requires input: "+aFluidInput.getFluid().getName()+" "+aFluidInput.amount+"mbst");
+ if (aFluidInput != null) {
+ Logger.WARNING("Recipe requires input: " + aFluidInput.getFluid().getName() + " " + aFluidInput.amount
+ + "mbst");
}
if (((aInput[0] == null) && (aFluidInput == null)) || ((aOutputItems == null) && (aFluidOutput == null))) {
return false;
}
- if ((aOutputItems != null) && ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aOutputItems[0], aDuration)) <= 0)) {
+ if ((aOutputItems != null)
+ && ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aOutputItems[0], aDuration)) <= 0)) {
return false;
}
- if (aOutputItems != null){
- Logger.WARNING("Recipe will output: "+ItemUtils.getArrayStackNames(aOutputItems));
+ if (aOutputItems != null) {
+ Logger.WARNING("Recipe will output: " + ItemUtils.getArrayStackNames(aOutputItems));
}
- if ((aFluidOutput != null) && ((aDuration = GregTech_API.sRecipeFile.get("dehydrator", aFluidOutput.getFluid().getName(), aDuration)) <= 0)) {
+ if ((aFluidOutput != null) && ((aDuration = GregTech_API.sRecipeFile.get("dehydrator",
+ aFluidOutput.getFluid().getName(), aDuration)) <= 0)) {
return false;
}
- if (aFluidOutput != null){
- Logger.WARNING("Recipe will output: "+aFluidOutput.getFluid().getName());
+ if (aFluidOutput != null) {
+ Logger.WARNING("Recipe will output: " + aFluidOutput.getFluid().getName());
}
-
-
- if (aInput.length == 1){
+ if (aInput.length == 1) {
Logger.WARNING("Dehydrator recipe only has a single input item.");
- Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, aInput, aOutputItems, null, aChances, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, aInput, aOutputItems, null,
+ aChances, new FluidStack[] { aFluidInput }, new FluidStack[] { aFluidOutput }, aDuration, aEUt,
+ 0);
}
else {
Logger.WARNING("Dehydrator recipe has two input items.");
- Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, aInput, aOutputItems, null, aChances, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
+ Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes.addRecipe(true, aInput, aOutputItems, null,
+ aChances, new FluidStack[] { aFluidInput }, new FluidStack[] { aFluidOutput }, aDuration, aEUt,
+ 0);
}
return true;
- }catch (final NullPointerException e){Logger.WARNING("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");return false;}
+ }
+ catch (final NullPointerException e) {
+ Logger.WARNING("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ return false;
+ }
}
@Override
- public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aOutput, final int aChance, int aDuration, final int aEUt) {
+ public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aOutput, final int aChance, int aDuration,
+ final int aEUt) {
if ((aInput == null) || (aOutput == null)) {
Logger.WARNING("Fail - Input or Output was null.");
return false;
}
-
if (aOutput.isFluidEqual(Materials.PhasedGold.getMolten(1))) {
aOutput = Materials.VibrantAlloy.getMolten(aOutput.amount);
}
@@ -272,24 +352,26 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
return false;
}
- for (int das=0;das<aInput.length;das++){
+ for (int das = 0; das < aInput.length; das++) {
if (aInput[das] != null) {
- Logger.WARNING("tMaterial["+das+"]: "+aInput[das].getDisplayName()+", Amount: "+aInput[das].stackSize);
+ Logger.WARNING("tMaterial[" + das + "]: " + aInput[das].getDisplayName() + ", Amount: "
+ + aInput[das].stackSize);
}
}
- Recipe_GT.Gregtech_Recipe_Map.sAlloyBlastSmelterRecipes.addRecipe(true, aInput, new ItemStack[]{null}, null, new int[]{aChance}, null, new FluidStack[]{aOutput}, aDuration, aEUt, 0);
+ Recipe_GT.Gregtech_Recipe_Map.sAlloyBlastSmelterRecipes.addRecipe(true, aInput, new ItemStack[] { null }, null,
+ new int[] { aChance }, null, new FluidStack[] { aOutput }, aDuration, aEUt, 0);
return true;
}
@Override
- public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, final int aChance, int aDuration, final int aEUt) {
+ public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput,
+ final int aChance, int aDuration, final int aEUt) {
if ((aInput == null) || (aOutput == null)) {
Logger.WARNING("Fail - Input or Output was null.");
return false;
}
-
if (aOutput.isFluidEqual(Materials.PhasedGold.getMolten(1))) {
aOutput = Materials.VibrantAlloy.getMolten(aOutput.amount);
}
@@ -301,100 +383,111 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
return false;
}
- for (int das=0;das<aInput.length;das++){
+ for (int das = 0; das < aInput.length; das++) {
if (aInput[das] != null) {
- Logger.WARNING("tMaterial["+das+"]: "+aInput[das].getDisplayName()+", Amount: "+aInput[das].stackSize);
+ Logger.WARNING("tMaterial[" + das + "]: " + aInput[das].getDisplayName() + ", Amount: "
+ + aInput[das].stackSize);
}
}
- Recipe_GT.Gregtech_Recipe_Map.sAlloyBlastSmelterRecipes.addRecipe(true, aInput, new ItemStack[]{null}, null, new int[]{aChance}, new FluidStack[]{aInputFluid}, new FluidStack[]{aOutput}, aDuration, aEUt, 0);
+ Recipe_GT.Gregtech_Recipe_Map.sAlloyBlastSmelterRecipes.addRecipe(true, aInput, new ItemStack[] { null }, null,
+ new int[] { aChance }, new FluidStack[] { aInputFluid }, new FluidStack[] { aOutput }, aDuration, aEUt,
+ 0);
return true;
}
-
-
@Override
- public boolean addLFTRRecipe(final ItemStack aInput1, final FluidStack aInput2,
- final ItemStack aOutput1, final FluidStack aOutput2, final int aDuration, final int aEUt) {
+ public boolean addLFTRRecipe(final ItemStack aInput1, final FluidStack aInput2, final ItemStack aOutput1,
+ final FluidStack aOutput2, final int aDuration, final int aEUt) {
// TODO Auto-generated method stub
return false;
}
@Override
- public boolean addLFTRRecipe(final ItemStack aInput1, final ItemStack aInput2, final ItemStack aOutput1, final int aDuration, final int aEUt) {
+ public boolean addLFTRRecipe(final ItemStack aInput1, final ItemStack aInput2, final ItemStack aOutput1,
+ final int aDuration, final int aEUt) {
return false;
}
@Override
- public boolean addLFTRRecipe(final FluidStack aInput1, final FluidStack aInput2, final FluidStack aOutput1, final int aDuration, final int aEUt) {
+ public boolean addLFTRRecipe(final FluidStack aInput1, final FluidStack aInput2, final FluidStack aOutput1,
+ final int aDuration, final int aEUt) {
if ((aInput1 == null) || (aInput2 == null) || (aOutput1 == null) || (aDuration < 1) || (aEUt < 1)) {
return false;
}
- Recipe_GT.Gregtech_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.addRecipe(null, new FluidStack[]{aInput1, aInput2}, new FluidStack[]{aOutput1}, aDuration, aEUt, 16000);
+ Recipe_GT.Gregtech_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.addRecipe(null,
+ new FluidStack[] { aInput1, aInput2 }, new FluidStack[] { aOutput1 }, aDuration, aEUt, 16000);
return true;
}
@Override
- public boolean addFissionFuel(
- final FluidStack aInput1, final FluidStack aInput2, final FluidStack aInput3,
- final FluidStack aInput4, final FluidStack aInput5, final FluidStack aInput6,
- final FluidStack aInput7, final FluidStack aInput8, final FluidStack aInput9,
- final FluidStack aOutput1, final FluidStack aOutput2,
+ public boolean addFissionFuel(final FluidStack aInput1, final FluidStack aInput2, final FluidStack aInput3,
+ final FluidStack aInput4, final FluidStack aInput5, final FluidStack aInput6, final FluidStack aInput7,
+ final FluidStack aInput8, final FluidStack aInput9, final FluidStack aOutput1, final FluidStack aOutput2,
final int aDuration, final int aEUt) {
if ((aInput1 == null) || (aInput2 == null) || (aOutput1 == null) || (aDuration < 1) || (aEUt < 1)) {
return false;
}
- final FluidStack inputs[] = {aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9};
- final FluidStack outputs[] = {aOutput1, aOutput2};
- //Recipe_GT.Gregtech_Recipe_Map.sFissionFuelProcessing.addRecipe(null, inputs, outputs, aDuration, aEUt, 0);
+ final FluidStack inputs[] = { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 };
+ final FluidStack outputs[] = { aOutput1, aOutput2 };
+ // Recipe_GT.Gregtech_Recipe_Map.sFissionFuelProcessing.addRecipe(null,
+ // inputs, outputs, aDuration, aEUt, 0);
CustomRecipeMap.sFissionFuelProcessing.addRecipe(null, inputs, outputs, aDuration, aEUt, 0);
return true;
}
@Override
- public boolean addCyclotronRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs,
+ public boolean addCyclotronRecipe(ItemStack aInputs, FluidStack aFluidInput, ItemStack[] aOutputs,
+ FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue) {
+ return addCyclotronRecipe(new ItemStack[] {aInputs}, aFluidInput, aOutputs[0], aFluidOutput, aChances, aDuration, aEUt, aSpecialValue);
+ }
+
+ @Override
+ public boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput,
FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue) {
- if (aOutputs == null) {
+ if (aOutput == null) {
return false;
}
- for (ItemStack tStack : aOutputs) {
- if (tStack != null) {
- if ((aDuration = GregTech_API.sRecipeFile.get("cyclotron", aInput, aDuration)) <= 0) {
- return false;
- }
- Recipe_GT.Gregtech_Recipe_Map.sCyclotronRecipes.addRecipe(true, new ItemStack[] { aInput }, aOutputs,
- null, aChances, new FluidStack[] { aFluidInput }, new FluidStack[] { aFluidOutput },
- Math.max(1, aDuration), Math.max(1, aEUt), aSpecialValue);
- return true;
- }
+ if ((aDuration = GregTech_API.sRecipeFile.get("cyclotron", aOutput, aDuration)) <= 0) {
+ return false;
}
+ if (Recipe_GT.Gregtech_Recipe_Map.sCyclotronRecipes.addRecipe(true, aInputs, new ItemStack[] { aOutput },
+ null, aChances, new FluidStack[] { aFluidInput }, new FluidStack[] { aFluidOutput },
+ Math.max(1, aDuration), Math.max(1, aEUt), aSpecialValue) != null) {
+ return true;
+ }
+
return false;
}
@Override
public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4,
- FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt) {
+ FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3,
+ ItemStack aOutput4, int aDuration, int aEUt) {
if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) {
return false;
}
- if ((aOutput1 != null) && ((aDuration = GregTech_API.sRecipeFile.get("advancedmixer", aOutput1, aDuration)) <= 0)) {
+ if ((aOutput1 != null)
+ && ((aDuration = GregTech_API.sRecipeFile.get("advancedmixer", aOutput1, aDuration)) <= 0)) {
return false;
}
if ((aFluidOutput != null) && ((aDuration = GregTech_API.sRecipeFile.get("advancedmixer",
aFluidOutput.getFluid().getName(), aDuration)) <= 0)) {
return false;
}
- Recipe_GT.Gregtech_Recipe_Map.sAdvancedMixerRecipes.addRecipe(true, new ItemStack[] { aInput1, aInput2, aInput3, aInput4 },
- new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, null, null, new FluidStack[] { aFluidInput },
- new FluidStack[] { aFluidOutput }, aDuration, aEUt, 0);
+ Recipe_GT.Gregtech_Recipe_Map.sAdvancedMixerRecipes.addRecipe(true,
+ new ItemStack[] { aInput1, aInput2, aInput3, aInput4 },
+ new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, null, null,
+ new FluidStack[] { aFluidInput }, new FluidStack[] { aFluidOutput }, aDuration, aEUt, 0);
return true;
}
- //Machine Component Assembler
+ // Machine Component Assembler
@Override
- public boolean addComponentMakerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt) {
- if (areItemsAndFluidsBothNull(aInputs, new FluidStack[]{aFluidInput})) {
+ public boolean addComponentMakerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1,
+ int aDuration, int aEUt) {
+ if (areItemsAndFluidsBothNull(aInputs, new FluidStack[] { aFluidInput })) {
return false;
}
if (aOutput1 == null) {
@@ -403,22 +496,11 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("machinecomponents", aOutput1, aDuration)) <= 0) {
return false;
}
- Recipe_GT.Gregtech_Recipe_Map.sComponentAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, 0);
+ Recipe_GT.Gregtech_Recipe_Map.sComponentAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[] { aOutput1 },
+ null, new FluidStack[] { aFluidInput }, null, aDuration, aEUt, 0);
return true;
}
-
-
-
-
-
-
-
-
-
-
-
-
private boolean areItemsAndFluidsBothNull(final ItemStack[] items, final FluidStack[] fluids) {
boolean itemsNull = true;
if (items != null) {
@@ -441,5 +523,4 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
return itemsNull && fluidsNull;
}
-
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_AssemblyLine.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_AssemblyLine.java
index e0d0d976ba..15115647ae 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_AssemblyLine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_AssemblyLine.java
@@ -1,6 +1,7 @@
package gtPlusPlus.xmod.gregtech.recipes.machines;
import net.minecraft.item.ItemStack;
+
import net.minecraftforge.fluids.FluidStack;
public class RECIPEHANDLER_AssemblyLine {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_CokeOven.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_CokeOven.java
index 14caf330b8..cd06f86ef9 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_CokeOven.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_CokeOven.java
@@ -1,7 +1,8 @@
package gtPlusPlus.xmod.gregtech.recipes.machines;
-import gtPlusPlus.api.objects.Logger;
import net.minecraft.item.ItemStack;
+
+import gtPlusPlus.api.objects.Logger;
import net.minecraftforge.fluids.FluidStack;
public class RECIPEHANDLER_CokeOven {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_Dehydrator.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_Dehydrator.java
index 7d02b83253..402d47d3e5 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_Dehydrator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/machines/RECIPEHANDLER_Dehydrator.java
@@ -1,8 +1,9 @@
package gtPlusPlus.xmod.gregtech.recipes.machines;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.item.ItemUtils;
import net.minecraft.item.ItemStack;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
public class RECIPEHANDLER_Dehydrator {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java
index 19e6379766..775a7fedfc 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java
@@ -1,19 +1,14 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
-import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator;
import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GT4Entity_AutoCrafter;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GT4Entity_ThermalBoiler;
import gtPlusPlus.xmod.gregtech.common.tileentities.storage.shelving.*;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
public class Gregtech4Content {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java
index b99aed36ec..d50a8f3924 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java
@@ -1,15 +1,21 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
-import gregtech.api.enums.*;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.recipe.RECIPES_MachineComponents;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import gtPlusPlus.xmod.gregtech.common.tileentities.generators.*;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_Boiler_HV;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_Boiler_LV;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_Boiler_MV;
public class GregtechAdvancedBoilers {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java
index 27e6072f99..3a3ed1450e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java
@@ -7,6 +7,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachin
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBedrockPlatforms.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBedrockPlatforms.java
new file mode 100644
index 0000000000..c4f2a058f3
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBedrockPlatforms.java
@@ -0,0 +1,16 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.bedrock.GregtechMetaTileEntity_BedrockMiningPlatform1;
+
+public class GregtechBedrockPlatforms {
+
+ //941-945
+
+ public static void run() {
+ Logger.INFO("Gregtech5u Content | Registering Bedrock Mining Platform.");
+ GregtechItemList.BedrockMiner_MKI.set(new GregtechMetaTileEntity_BedrockMiningPlatform1(941, "multimachine.tier.01.bedrockminer", "Experimental Deep Earth Drilling Platform - MK I").getStackForm(1));
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java
new file mode 100644
index 0000000000..f236002505
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java
@@ -0,0 +1,64 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import static gtPlusPlus.core.recipe.common.CI.bitsd;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_ModHandler;
+
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DynamoBuffer;
+
+public class GregtechBufferDynamos {
+
+ private static int mID = 899;
+ public static void run() {
+ run2();
+ }
+
+ private static final void run2() {
+ GregtechItemList.Hatch_Buffer_Dynamo_ULV.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.00", "ULV Dynamo Hatch [Buffered]", 0).getStackForm(1L));
+ GregtechItemList.Hatch_Buffer_Dynamo_LV.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.01", "LV Dynamo Hatch [Buffered]", 1).getStackForm(1L));
+ GregtechItemList.Hatch_Buffer_Dynamo_MV.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.02", "MV Dynamo Hatch [Buffered]", 2).getStackForm(1L));
+ GregtechItemList.Hatch_Buffer_Dynamo_HV.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.03", "HV Dynamo Hatch [Buffered]", 3).getStackForm(1L));
+ GregtechItemList.Hatch_Buffer_Dynamo_EV.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.04", "EV Dynamo Hatch [Buffered]", 4).getStackForm(1L));
+ GregtechItemList.Hatch_Buffer_Dynamo_IV.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.05", "IV Dynamo Hatch [Buffered]", 5).getStackForm(1L));
+ GregtechItemList.Hatch_Buffer_Dynamo_LuV.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.06", "LuV Dynamo Hatch [Buffered]", 6).getStackForm(1L));
+ GregtechItemList.Hatch_Buffer_Dynamo_ZPM.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.07", "ZPM Dynamo Hatch [Buffered]", 7).getStackForm(1L));
+ GregtechItemList.Hatch_Buffer_Dynamo_UV.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.08", "UV Dynamo Hatch [Buffered]", 8).getStackForm(1L));
+ GregtechItemList.Hatch_Buffer_Dynamo_MAX.set(
+ new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.09", "Max Dynamo Hatch [Buffered]", 9).getStackForm(1L));
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_ULV.get(1L, new Object[0]), bitsd,
+ new Object[]{"TMC", 'M', ItemList.Hatch_Dynamo_ULV, 'T', CI.getTieredCircuit(0), 'C', OrePrefixes.cableGt04.get((Object) Materials.Lead)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_LV.get(1L, new Object[0]), bitsd,
+ new Object[]{"TMC", 'M', ItemList.Hatch_Dynamo_LV, 'T', CI.getTieredCircuit(1), 'C', OrePrefixes.cableGt04.get((Object) Materials.Tin)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_MV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M',
+ ItemList.Hatch_Dynamo_MV, 'T', CI.getTieredCircuit(2), 'C', OrePrefixes.cableGt04.get((Object) Materials.AnyCopper)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_HV.get(1L, new Object[0]), bitsd,
+ new Object[]{"TMC", 'M', ItemList.Hatch_Dynamo_HV, 'T', CI.getTieredCircuit(3), 'C', OrePrefixes.cableGt04.get((Object) Materials.Gold)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_EV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M',
+ ItemList.Hatch_Dynamo_EV, 'T', CI.getTieredCircuit(4), 'C', OrePrefixes.cableGt04.get((Object) Materials.Aluminium)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_IV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M',
+ ItemList.Hatch_Dynamo_IV, 'T', CI.getTieredCircuit(5), 'C', OrePrefixes.cableGt04.get((Object) Materials.Tungsten)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_LuV.get(1L, new Object[0]), bitsd, new Object[]{"TMC",
+ 'M', ItemList.Hatch_Dynamo_LuV, 'T', CI.getTieredCircuit(6), 'C', OrePrefixes.cableGt04.get((Object) Materials.VanadiumGallium)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_ZPM.get(1L, new Object[0]), bitsd, new Object[]{"TMC",
+ 'M', ItemList.Hatch_Dynamo_ZPM, 'T', CI.getTieredCircuit(7), 'C', OrePrefixes.cableGt04.get((Object) Materials.Naquadah)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_UV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M',
+ ItemList.Hatch_Dynamo_UV, 'T', CI.getTieredCircuit(8), 'C', OrePrefixes.wireGt12.get((Object) Materials.NaquadahAlloy)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_MAX.get(1L, new Object[0]), bitsd, new Object[]{"TMC",
+ 'M', ItemList.Hatch_Dynamo_MAX, 'T', CI.getTieredCircuit(9), 'C', OrePrefixes.wireGt04.get((Object) Materials.Superconductor)});
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java
index 3f0a826feb..896e8618a1 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java
@@ -1,26 +1,31 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
+import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_ComponentAssemblers;
+
import java.util.ArrayList;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.ItemList;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.OrePrefixes;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.*;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe;
import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
public class GregtechComponentAssembler {
public static void run() {
+ if (!enableMachine_ComponentAssemblers) {
+ return;
+ }
+
if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
Logger.INFO("Component Assemblers cannot be created in 5.08.33 during the pre-release. Please wait for 1.7.0 release.");
return;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java
index 5cefcb7a53..58598fe5ba 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java
@@ -5,25 +5,28 @@ import static gtPlusPlus.core.lib.LoadedMods.Gregtech;
import java.util.ArrayList;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
-import gregtech.api.interfaces.ITexture;
import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.material.*;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
-import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.*;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GregtechMetaPipeEntityFluid;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GregtechMetaPipeEntity_Cable;
import net.minecraftforge.oredict.OreDictionary;
public class GregtechConduits {
@@ -40,7 +43,7 @@ public class GregtechConduits {
try {
cableGt16=(OrePrefixes) GT_Utility.getField(OrePrefixes.class,"cableGt16").get(null);
}catch (IllegalAccessException | NullPointerException e){
- throw new Error(e);
+ e.printStackTrace();
}
}
}
@@ -115,7 +118,7 @@ public class GregtechConduits {
private static void wireFactory(final String Material, final int Voltage, final int ID, final long insulatedLoss, final long uninsulatedLoss, final long Amps, final short[] rgb){
final Materials T = Materials.valueOf(Material);
- int V = Utils.calculateVoltageTier(Voltage);
+ int V = GT_Utility.getTier(Voltage);
if (V == -1){
Logger.ERROR("Failed to set voltage on "+Material+". Invalid voltage of "+Voltage+"V set.");
Logger.ERROR(Material+" has defaulted to 8v.");
@@ -148,7 +151,7 @@ public class GregtechConduits {
}
private static void customWireFactory(final Material Material, final int Voltage, final int ID, final long insulatedLoss, final long uninsulatedLoss, final long Amps){
- int V = Utils.calculateVoltageTier(Voltage);
+ int V = GT_Utility.getTier(Voltage);
if (V == -1){
Logger.ERROR("Failed to set voltage on "+Material+". Invalid voltage of "+Voltage+"V set.");
Logger.ERROR(Material+" has defaulted to 8v.");
@@ -276,8 +279,8 @@ public class GregtechConduits {
Logger.INFO("Generating "+output+" pipes & respective recipes.");
- ItemStack pipeIngot = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingot"+output, 1);
- ItemStack pipePlate = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plate"+output, 1);
+ ItemStack pipeIngot = ItemUtils.getItemStackOfAmountFromOreDict("ingot"+output, 1);
+ ItemStack pipePlate = ItemUtils.getItemStackOfAmountFromOreDict("plate"+output, 1);
if (pipeIngot == null){
if (pipePlate != null){
@@ -321,7 +324,7 @@ public class GregtechConduits {
GT_Values.RA.addExtruderRecipe(
ItemUtils.getSimpleStack(pipeIngot, 1),
ItemList.Shape_Extruder_Pipe_Tiny.get(0),
- ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Tiny"+output, 2),
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("pipe"+"Tiny"+output, 2),
5, eut);
GT_Values.RA.addExtruderRecipe(
@@ -349,6 +352,7 @@ public class GregtechConduits {
4*20, eut);
if ((eut < 512) && !output.equals("Void")){
+ try {
final ItemStack pipePlateDouble = ItemUtils.getItemStackOfAmountFromOreDict("plateDouble"+output, 1).copy();
if (pipePlateDouble != null) {
RecipeUtils.recipeBuilder(
@@ -359,6 +363,10 @@ public class GregtechConduits {
} else {
Logger.INFO("Failed to add a recipe for "+materialName+" Huge pipes. Double plates probably do not exist.");
}
+ }
+ catch (Throwable t) {
+ t.printStackTrace();
+ }
}
@@ -384,7 +392,7 @@ public class GregtechConduits {
String tName = aName.toString();
if (GT_Utility.isStringInvalid(tName))
return false;
- ArrayList tList = GT_OreDictUnificator.getOres(tName);
+ ArrayList<ItemStack> tList = GT_OreDictUnificator.getOres(tName);
for (int i = 0; i < tList.size(); ++i)
if (GT_Utility.areStacksEqual((ItemStack) tList.get(i), aStack, true))
return false;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java
index 0c1cdf9855..753aec72ee 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java
@@ -1,18 +1,19 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import net.minecraft.item.ItemStack;
public class GregtechDehydrator {
public static void run() {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
index 1232106d65..7b87cd0f24 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
@@ -1,7 +1,10 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
-import gregtech.api.enums.*;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java
index bae9396bb0..2e7e96dd2f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java
@@ -1,7 +1,12 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
-import gregtech.api.enums.*;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
@@ -9,7 +14,6 @@ import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntityGeothermalGenerator;
-import net.minecraft.item.ItemStack;
public class GregtechGeothermalThermalGenerator {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java
index 05b9e1e6fe..35ef2fbc77 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java
@@ -1,14 +1,16 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTransformerHiAmp;
-import net.minecraft.item.ItemStack;
-
-import static gtPlusPlus.core.lib.CORE.GTNH;
public class GregtechHiAmpTransformer {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java
new file mode 100644
index 0000000000..8a8f866e39
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialExtruder;
+
+public class GregtechIndustrialExtruder {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Extrusion Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialExtrudingMachine) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Presser Multiblock
+ GregtechItemList.Industrial_Extruder.set(new GregtechMetaTileEntity_IndustrialExtruder(859,
+ "industrialextruder.controller.tier.single", "Industrial Extrusion Machine").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java
index 93f8f7460a..ffea527462 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java
@@ -1,6 +1,7 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
import gregtech.api.util.FishPondFakeRecipe;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialFishingPond;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java
new file mode 100644
index 0000000000..1dd485ae4e
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialMultiMachine;
+
+public class GregtechIndustrialMultiMachine {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Multi-Machine Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialMultiMachine) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Industrial_MultiMachine.set(new GregtechMetaTileEntity_IndustrialMultiMachine(860,
+ "industrialmultimachine.controller.tier.single", "Large Processing Factory").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java
index 55f3f57210..75eb7e4647 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java
@@ -3,7 +3,6 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialMacerator;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialSifter;
public class GregtechIndustrialSifter {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java
index 92cecb0730..ee56821893 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java
@@ -3,7 +3,6 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialMacerator;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialThermalCentrifuge;
public class GregtechIndustrialThermalCentrifuge {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java
index fa7c20da1d..6dfd80c50c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java
@@ -3,8 +3,6 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialMacerator;
-import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialThermalCentrifuge;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntity_IndustrialWashPlant;
public class GregtechIndustrialWashPlant {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java
index 8b7f1582bc..ac79c49aa7 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java
@@ -4,14 +4,9 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe;
import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.item.base.cell.BaseItemCell;
-import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.array.ArrayUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.materials.MaterialUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public class GregtechMiniRaFusion {
@@ -20,7 +15,7 @@ public class GregtechMiniRaFusion {
//generateSlowFusionRecipes();
// Register the Simple Fusion Entity.
//GregtechItemList.Miniature_Fusion.set(new GregtechMetaTileEntity_CompactFusionReactor(993, "simplefusion.tier.00", "Ra, Sun God - Mk I", 6).getStackForm(1L));
- GregtechItemList.Miniature_Fusion.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(993, "basicmachine.simplefusion.tier.01", "Mímir", 8, "Universal Machine for Knowledge and Wisdom", Recipe_GT.Gregtech_Recipe_Map.sSlowFusion2Recipes, 2, 9, 64000, 0, 1, "Dehydrator.png", (String) GregTech_API.sSoundList.get(Integer.valueOf(208)), false, false, 0, "EXTRUDER", new Object[]{"CCE", "XMP", "CCE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'X', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.SENSOR, 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.STICK_ELECTROMAGNETIC, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.FIELD_GENERATOR}).getStackForm(1L));
+ GregtechItemList.Miniature_Fusion.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(993, "basicmachine.simplefusion.tier.01", "Mimir", 8, "Universal Machine for Knowledge and Wisdom", Recipe_GT.Gregtech_Recipe_Map.sSlowFusion2Recipes, 2, 9, 64000, 0, 1, "Dehydrator.png", (String) GregTech_API.sSoundList.get(Integer.valueOf(208)), false, false, 0, "EXTRUDER", new Object[]{"CCE", "XMP", "CCE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'X', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.SENSOR, 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.STICK_ELECTROMAGNETIC, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.FIELD_GENERATOR}).getStackForm(1L));
run2();
Logger.INFO("[Pocket Fusion] Generated "+mRecipeCount+" recipes for the Pocket Fusion Reactor.");
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java
index 582cd542b6..a937d9a371 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java
@@ -1,6 +1,5 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
-import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
@@ -9,24 +8,20 @@ import java.util.List;
import org.apache.commons.lang3.reflect.FieldUtils;
+import net.minecraft.item.ItemStack;
+
import gregtech.GT_Mod;
-import gregtech.api.enums.Dyes;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.ItemList;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.OrePrefixes;
-import gregtech.api.enums.TextureSet;
+import gregtech.api.enums.*;
import gregtech.api.objects.MaterialStack;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.materials.MaterialUtils;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
import net.minecraftforge.fluids.FluidStack;
public class GregtechNitroDieselFix {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java
index 9e006ba59e..0ba869e13e 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java
@@ -3,7 +3,9 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.*;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaAtmosphericReconditioner;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaPollutionCreator;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaPollutionDetector;
public class GregtechPollutionDevices {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java
index 3abf673930..726eb35973 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java
@@ -1,9 +1,8 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
import gregtech.api.enums.ItemList;
-import gregtech.api.enums.OreDictNames;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java
index 056f4f151c..5f5b43e36f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java
@@ -1,7 +1,12 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
-import gregtech.api.enums.*;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
@@ -9,7 +14,6 @@ import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntityRocketFuelGenerator;
-import net.minecraft.item.ItemStack;
public class GregtechRocketFuelGenerator {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java
index cc7e43cbe8..124b5d114d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech;
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java
index 55d4d263cc..c4141a6a77 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java
@@ -1,6 +1,5 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
-import gregtech.api.enums.ItemList;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_SemiFluidGenerator;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java
index 8d88331be8..34903ea25c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java
@@ -1,14 +1,16 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.Recipe_GT;
+
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.fluid.FluidUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntity_BasicWasher;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public class GregtechSimpleWasher {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java
index 913b13718f..1376f4313d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java
@@ -1,8 +1,5 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-
public class GregtechSuperConductionPoint {
public static void run() {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperTanks.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperTanks.java
index 4f7ff4add9..5ee5d9a770 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperTanks.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperTanks.java
@@ -6,7 +6,7 @@ import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
-import gtPlusPlus.core.recipe.common.CI;
+
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GT_MetaTileEntity_TieredChest;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java
index 3b1f1d8f5f..84f0adc275 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java
@@ -1,16 +1,14 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntityChunkLoader;
-import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GT_MetaTileEntity_TieredTank;
public class GregtechTieredChunkloaders {
public static void run() {
if (LoadedMods.Gregtech) {
- Logger.INFO("Gregtech5u Content | Registering Portable Fluid Tanks.");
+ Logger.INFO("Gregtech5u Content | Registering Chunk Loaders.");
run1();
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java
index a6fef4dddd..ca90724400 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java
@@ -1,6 +1,7 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java
index 289ea342f5..d5b95a61bf 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java
@@ -1,16 +1,13 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
-import gregtech.api.enums.*;
+import gregtech.api.enums.ItemList;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.material.ALLOY;
-import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntityGeothermalGenerator;
import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GT_MetaTileEntity_WorldAccelerator;
-import net.minecraft.item.ItemStack;
public class NewHorizonsAccelerator {
diff --git a/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/FishTrapHandler.java b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/FishTrapHandler.java
index 2e6c9c5c84..66d98fe451 100644
--- a/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/FishTrapHandler.java
+++ b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/FishTrapHandler.java
@@ -3,13 +3,15 @@ package gtPlusPlus.xmod.growthcraft.fishtrap;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.fluid.FluidUtils;
-import gtPlusPlus.core.util.item.ItemUtils;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
public class FishTrapHandler {
diff --git a/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_New.java b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_New.java
index 3b6b46d630..41fec179b5 100644
--- a/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_New.java
+++ b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_New.java
@@ -1,6 +1,8 @@
package gtPlusPlus.xmod.growthcraft.fishtrap;
-import java.lang.reflect.*;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import net.minecraft.item.ItemStack;
diff --git a/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_Old.java b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_Old.java
index 62fe2f29cb..ab11c062e0 100644
--- a/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_Old.java
+++ b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_Old.java
@@ -1,6 +1,8 @@
package gtPlusPlus.xmod.growthcraft.fishtrap;
-import java.lang.reflect.*;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import net.minecraft.item.ItemStack;
diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/BlockRTG.java b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/BlockRTG.java
index 4c4984a3b6..2a1b5ab44d 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/BlockRTG.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/BlockRTG.java
@@ -8,6 +8,16 @@ import org.apache.commons.lang3.mutable.MutableObject;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.block.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.xmod.ic2.block.kieticgenerator.tileentity.TileEntityKineticWindGenerator;
import gtPlusPlus.xmod.ic2.item.IC2_Items;
@@ -18,12 +28,6 @@ import ic2.core.block.BlockMultiID;
import ic2.core.block.TileEntityBlock;
import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric;
import ic2.core.init.InternalName;
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
public class BlockRTG
extends BlockMultiID
diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/TileEntityRTG.java b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/TileEntityRTG.java
index d057da8715..aa50243914 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/TileEntityRTG.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/TileEntityRTG.java
@@ -2,6 +2,11 @@ package gtPlusPlus.xmod.ic2.block.RTGGenerator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+
import gtPlusPlus.xmod.ic2.block.RTGGenerator.gui.CONTAINER_RTG;
import gtPlusPlus.xmod.ic2.block.RTGGenerator.gui.GUI_RTG;
import ic2.core.ContainerBase;
@@ -9,9 +14,6 @@ import ic2.core.Ic2Items;
import ic2.core.block.generator.tileentity.TileEntityRTGenerator;
import ic2.core.block.invslot.InvSlotConsumable;
import ic2.core.block.invslot.InvSlotConsumableId;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
public class TileEntityRTG
extends TileEntityRTGenerator
diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/CONTAINER_RTG.java b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/CONTAINER_RTG.java
index eae0c3dd9c..0afe47c983 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/CONTAINER_RTG.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/CONTAINER_RTG.java
@@ -2,10 +2,11 @@ package gtPlusPlus.xmod.ic2.block.RTGGenerator.gui;
import java.util.List;
+import net.minecraft.entity.player.EntityPlayer;
+
import gtPlusPlus.xmod.ic2.block.RTGGenerator.TileEntityRTG;
import ic2.core.block.generator.container.ContainerRTGenerator;
import ic2.core.slot.SlotInvSlot;
-import net.minecraft.entity.player.EntityPlayer;
public class CONTAINER_RTG
extends ContainerRTGenerator
diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/GUI_RTG.java b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/GUI_RTG.java
index 72edb4403d..c6e09a78d1 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/GUI_RTG.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/GUI_RTG.java
@@ -4,12 +4,14 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.StatCollector;
+
import gtPlusPlus.xmod.ic2.block.RTGGenerator.TileEntityRTG;
import ic2.core.IC2;
import ic2.core.block.generator.gui.GuiRTGenerator;
import ic2.core.util.GuiTooltipHelper;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
@SideOnly(Side.CLIENT)
public class GUI_RTG
diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_BlockKineticGenerator.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_BlockKineticGenerator.java
index db608e25b2..95e785d1a1 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_BlockKineticGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_BlockKineticGenerator.java
@@ -3,17 +3,19 @@ package gtPlusPlus.xmod.ic2.block.kieticgenerator;
import org.apache.commons.lang3.mutable.MutableObject;
import cpw.mods.fml.common.registry.GameRegistry;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
import gtPlusPlus.core.creative.AddToCreativeTab;
import ic2.core.block.BlockMultiID;
import ic2.core.block.kineticgenerator.tileentity.TileEntityManualKineticGenerator;
import ic2.core.block.kineticgenerator.tileentity.TileEntityWindKineticGenerator;
import ic2.core.init.InternalName;
import ic2.core.item.block.ItemKineticGenerator;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
public class IC2_BlockKineticGenerator
extends BlockMultiID
@@ -55,7 +57,7 @@ extends BlockMultiID
}
catch (final Exception e)
{
- throw new RuntimeException(e);
+ e.printStackTrace();
}
return null;
}
diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_TEComponent.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_TEComponent.java
index 3f42cea00a..2c4c2e1d16 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_TEComponent.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_TEComponent.java
@@ -3,11 +3,12 @@ package gtPlusPlus.xmod.ic2.block.kieticgenerator;
import java.io.DataInput;
import java.io.IOException;
-import ic2.core.block.TileEntityBlock;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.nbt.NBTTagCompound;
+import ic2.core.block.TileEntityBlock;
+
public abstract class IC2_TEComponent
{
protected final TileEntityBlock parent;
diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/container/ContainerKineticWindgenerator.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/container/ContainerKineticWindgenerator.java
index 37f9436983..2a5b4dc9ae 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/container/ContainerKineticWindgenerator.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/container/ContainerKineticWindgenerator.java
@@ -2,10 +2,11 @@ package gtPlusPlus.xmod.ic2.block.kieticgenerator.container;
import java.util.List;
+import net.minecraft.entity.player.EntityPlayer;
+
import ic2.core.ContainerFullInv;
import ic2.core.block.kineticgenerator.tileentity.TileEntityWindKineticGenerator;
import ic2.core.slot.SlotInvSlot;
-import net.minecraft.entity.player.EntityPlayer;
public class ContainerKineticWindgenerator
extends ContainerFullInv<TileEntityWindKineticGenerator>
diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/gui/GuiKineticWindGenerator.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/gui/GuiKineticWindGenerator.java
index 2d9dadb9b8..44053ed2e0 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/gui/GuiKineticWindGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/gui/GuiKineticWindGenerator.java
@@ -4,13 +4,15 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import ic2.core.IC2;
-import ic2.core.block.kineticgenerator.container.ContainerWindKineticGenerator;
-import ic2.core.util.GuiTooltipHelper;
+
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
+import ic2.core.IC2;
+import ic2.core.block.kineticgenerator.container.ContainerWindKineticGenerator;
+import ic2.core.util.GuiTooltipHelper;
+
@SideOnly(Side.CLIENT)
public class GuiKineticWindGenerator
extends GuiContainer
diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/tileentity/TileEntityKineticWindGenerator.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/tileentity/TileEntityKineticWindGenerator.java
index 29206c398d..a2c39cb17b 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/tileentity/TileEntityKineticWindGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/tileentity/TileEntityKineticWindGenerator.java
@@ -5,6 +5,15 @@ import java.util.Vector;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.block.Block;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.ChunkCache;
+
import ic2.api.energy.tile.IKineticSource;
import ic2.api.item.IKineticRotor;
import ic2.api.item.IKineticRotor.GearboxType;
@@ -14,13 +23,6 @@ import ic2.core.block.kineticgenerator.container.ContainerWindKineticGenerator;
import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator;
import ic2.core.block.kineticgenerator.tileentity.TileEntityWindKineticGenerator;
import ic2.core.util.Util;
-import net.minecraft.block.Block;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.ChunkCache;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityKineticWindGenerator
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradual.java b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradual.java
index 5aecd9c5ec..bd1ad91588 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradual.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradual.java
@@ -4,10 +4,14 @@ import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.CoreItem;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.*;
public class IC2_ItemGradual
extends CoreItem
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java
index 004713f092..3ccb2cb0ee 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java
@@ -1,11 +1,12 @@
package gtPlusPlus.xmod.ic2.item;
-import ic2.api.item.ICustomDamageItem;
-import ic2.core.util.StackUtil;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import ic2.api.item.ICustomDamageItem;
+import ic2.core.util.StackUtil;
+
public class IC2_ItemGradualInteger
extends IC2_ItemGradual
implements ICustomDamageItem
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemIC2.java b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemIC2.java
index 9d4990e76c..897e831b73 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemIC2.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemIC2.java
@@ -3,12 +3,16 @@ package gtPlusPlus.xmod.ic2.item;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import net.minecraft.item.*;
+
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+
public class IC2_ItemIC2
extends Item
{
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java
index 2e9cec3c33..64aa7f99bf 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java
@@ -1,12 +1,13 @@
package gtPlusPlus.xmod.ic2.item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.CoreItem;
import gtPlusPlus.core.lib.LoadedMods;
import ic2.core.IC2;
import ic2.core.init.InternalName;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
public class IC2_Items {
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/ItemGenerators.java b/src/Java/gtPlusPlus/xmod/ic2/item/ItemGenerators.java
index 046324a4ac..0df2c8d7f1 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/ItemGenerators.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/ItemGenerators.java
@@ -2,12 +2,13 @@ package gtPlusPlus.xmod.ic2.item;
import java.util.List;
-import ic2.core.item.block.ItemBlockIC2;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
+import ic2.core.item.block.ItemBlockIC2;
+
public class ItemGenerators
extends ItemBlockIC2
{
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java b/src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java
index 9a8cdd5df1..b9f9ab68ef 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java
@@ -2,17 +2,18 @@ package gtPlusPlus.xmod.ic2.item;
import java.util.List;
-import ic2.api.item.IKineticRotor;
-import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator;
-import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator;
-import ic2.core.init.InternalName;
-import ic2.core.item.resources.ItemWindRotor;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
+import ic2.api.item.IKineticRotor;
+import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator;
+import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator;
+import ic2.core.init.InternalName;
+import ic2.core.item.resources.ItemWindRotor;
+
public class RotorBase extends ItemWindRotor{
private final int maxWindStrength;
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java b/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java
index e76d689533..aca1c6a310 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java
@@ -2,11 +2,6 @@ package gtPlusPlus.xmod.ic2.item;
import java.util.List;
-import ic2.api.item.IKineticRotor;
-import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator;
-import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator;
-import ic2.core.init.InternalName;
-import ic2.core.util.StackUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@@ -15,6 +10,12 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
+import ic2.api.item.IKineticRotor;
+import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator;
+import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator;
+import ic2.core.init.InternalName;
+import ic2.core.util.StackUtil;
+
public class RotorIridium extends RotorBase{
private final int maxWindStrength;
diff --git a/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java b/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java
index 5c0ca52ec5..6c43e2b6e0 100644
--- a/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java
+++ b/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java
@@ -1,18 +1,21 @@
package gtPlusPlus.xmod.ic2.recipe;
+import static gtPlusPlus.core.recipe.RECIPES_Tools.*;
+
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.*;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.ic2.item.IC2_Items;
-import net.minecraft.item.ItemStack;
-
-import static gtPlusPlus.core.recipe.RECIPES_Tools.craftingToolHardHammer;
-import static gtPlusPlus.core.recipe.RECIPES_Tools.craftingToolWrench;
public class RECIPE_IC2 {
@@ -57,7 +60,7 @@ public class RECIPE_IC2 {
private static ItemStack rotor_T3 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_3.getItem());
private static ItemStack rotor_T4 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_4.getItem());
- private static void checkForEnderIO(){
+ private static boolean checkForEnderIO(){
if(!LoadedMods.EnderIO){
plate_T1 = "plateMagnalium";
plate_T2 = "plateTungstenSteel";
@@ -73,11 +76,15 @@ public class RECIPE_IC2 {
ingot_T2 = "ingotTungstenSteel";
ingot_T3 = "ingotUltimet";
ingot_T4 = "ingotIridium";
+ return true;
}
+ return false;
}
public static void initRecipes() {
-
+
+ checkForEnderIO();
+
if (!CORE.GTNH) {
//Rotor Blade Recipes
@@ -134,11 +141,23 @@ public class RECIPE_IC2 {
}
//Shaft Extruder Recipe
- GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.DarkIron), Character.valueOf('S'), OrePrefixes.screw.get(Materials.DarkIron)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.DarkSteel), Character.valueOf('S'), OrePrefixes.screw.get(Materials.DarkSteel)});
GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('S'), OrePrefixes.screw.get(Materials.TungstenSteel)});
GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.Molybdenum), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Molybdenum)});
Logger.INFO("Added recipe item for GT5 Extruder: Shaft Shape");
+
+ //Custm Recipes for Iron and Steel
+ ItemStack mShaftIron = ItemList.IC2_ShaftIron.get(1);
+ ItemStack mShaftSteel = ItemList.IC2_ShaftSteel.get(1);
+ GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftIron, 32*20, 120);
+ GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftIron, 32*20, 120);
+ GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.WroughtIron, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftIron, 32*20, 120);
+ GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftIron, 32*20, 120);
+ GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftSteel, 64*20, 120);
+ GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Steel, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftSteel, 64*20, 120);
+
+
//Shaft Recipes
GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, block_T1), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), shaft_T1, 2560, 250);
GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, shaft_block_T1), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), shaft_T1, 2560, 250);
diff --git a/src/Java/gtPlusPlus/xmod/mekanism/HANDLER_Mekanism.java b/src/Java/gtPlusPlus/xmod/mekanism/HANDLER_Mekanism.java
index da3cd268bd..9073f2ec7f 100644
--- a/src/Java/gtPlusPlus/xmod/mekanism/HANDLER_Mekanism.java
+++ b/src/Java/gtPlusPlus/xmod/mekanism/HANDLER_Mekanism.java
@@ -3,14 +3,16 @@ package gtPlusPlus.xmod.mekanism;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
import gregtech.api.util.GT_ModHandler;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.util.item.ItemUtils;
-import gtPlusPlus.core.util.nbt.NBTUtils;
-import gtPlusPlus.core.util.recipe.RecipeUtils;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
public class HANDLER_Mekanism {
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/HANDLER_Thaumcraft.java b/src/Java/gtPlusPlus/xmod/thaumcraft/HANDLER_Thaumcraft.java
index 5dec772d03..529d9349d9 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/HANDLER_Thaumcraft.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/HANDLER_Thaumcraft.java
@@ -1,10 +1,32 @@
package gtPlusPlus.xmod.thaumcraft;
+import java.util.Arrays;
+import java.util.List;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.TC_Aspects.TC_AspectStack;
+import gregtech.api.interfaces.internal.IThaumcraftCompat;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.xmod.thaumcraft.aspect.GTPP_Aspects.TC_AspectStack_Ex;
import gtPlusPlus.xmod.thaumcraft.common.block.TC_BlockHandler;
+import gtPlusPlus.xmod.thaumcraft.util.ThaumcraftUtils;
-public class HANDLER_Thaumcraft {
+public class HANDLER_Thaumcraft {
+ public static IThaumcraftCompat sThaumcraftCompat;
+ public static final AutoMap<Pair<ItemStack, TC_AspectStack_Ex[]>> sItemsToGetAspects = new AutoMap<Pair<ItemStack, TC_AspectStack_Ex[]>>();
+
+ static {
+ sThaumcraftCompat = (IThaumcraftCompat) GT_Utility.callConstructor("gtPlusPlus.xmod.thaumcraft.aspect.GTPP_AspectCompat", 0, null, GT_Values.D1, new Object[0]);
+ }
+
public static void preInit(){
if (LoadedMods.Thaumcraft){
TC_BlockHandler.run();
@@ -19,7 +41,19 @@ public class HANDLER_Thaumcraft {
public static void postInit(){
if (LoadedMods.Thaumcraft){
-
+ if (!sItemsToGetAspects.isEmpty()) {
+ for (Pair<ItemStack, TC_AspectStack_Ex[]> j : sItemsToGetAspects) {
+ if (j .getKey() != null && (j.getValue() != null && j.getValue().length > 0)) {
+ List<TC_AspectStack_Ex> list = Arrays.asList(j.getValue());
+ if (ThaumcraftUtils.registerThaumcraftAspectsToItem(j.getKey(), list, true)) {
+ Logger.INFO("[Aspect] Successfully added Aspects to "+j.getKey().getDisplayName()+".");
+ }
+ else {
+ Logger.INFO("[Aspect] Failed adding Aspects to "+j.getKey().getDisplayName()+".");
+ }
+ }
+ }
+ }
}
}
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/aspect/GTPP_AspectCompat.java b/src/Java/gtPlusPlus/xmod/thaumcraft/aspect/GTPP_AspectCompat.java
new file mode 100644
index 0000000000..e3aeed75bd
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/aspect/GTPP_AspectCompat.java
@@ -0,0 +1,162 @@
+package gtPlusPlus.xmod.thaumcraft.aspect;
+
+import gregtech.common.GT_ThaumcraftCompat;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.thaumcraft.aspect.GTPP_Aspects.TC_AspectStack_Ex;
+import gtPlusPlus.xmod.thaumcraft.util.ThaumcraftUtils;
+
+import gregtech.api.enums.TC_Aspects;
+import gregtech.api.enums.TC_Aspects.TC_AspectStack;
+import gregtech.api.interfaces.internal.IThaumcraftCompat;
+import gregtech.api.util.GT_LanguageManager;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import thaumcraft.api.aspects.Aspect;
+import thaumcraft.api.aspects.AspectList;
+
+public class GTPP_AspectCompat implements IThaumcraftCompat {
+
+ public static volatile Method m = null;
+
+ public GTPP_AspectCompat() {
+ // Standard Aspects
+ GTPP_Aspects.AER.mAspect = Aspect.AIR;
+ GTPP_Aspects.ALIENIS.mAspect = Aspect.ELDRITCH;
+ GTPP_Aspects.AQUA.mAspect = Aspect.WATER;
+ GTPP_Aspects.ARBOR.mAspect = Aspect.TREE;
+ GTPP_Aspects.AURAM.mAspect = Aspect.AURA;
+ GTPP_Aspects.BESTIA.mAspect = Aspect.BEAST;
+ GTPP_Aspects.COGNITIO.mAspect = Aspect.MIND;
+ GTPP_Aspects.CORPUS.mAspect = Aspect.FLESH;
+ GTPP_Aspects.EXANIMIS.mAspect = Aspect.UNDEAD;
+ GTPP_Aspects.FABRICO.mAspect = Aspect.CRAFT;
+ GTPP_Aspects.FAMES.mAspect = Aspect.HUNGER;
+ GTPP_Aspects.GELUM.mAspect = Aspect.COLD;
+ GTPP_Aspects.GRANUM.mAspect = Aspect.PLANT;
+ GTPP_Aspects.HERBA.mAspect = Aspect.PLANT;
+ GTPP_Aspects.HUMANUS.mAspect = Aspect.MAN;
+ GTPP_Aspects.IGNIS.mAspect = Aspect.FIRE;
+ GTPP_Aspects.INSTRUMENTUM.mAspect = Aspect.TOOL;
+ GTPP_Aspects.ITER.mAspect = Aspect.TRAVEL;
+ GTPP_Aspects.LIMUS.mAspect = Aspect.SLIME;
+ GTPP_Aspects.LUCRUM.mAspect = Aspect.GREED;
+ GTPP_Aspects.LUX.mAspect = Aspect.LIGHT;
+ GTPP_Aspects.MACHINA.mAspect = Aspect.MECHANISM;
+ GTPP_Aspects.MESSIS.mAspect = Aspect.CROP;
+ GTPP_Aspects.METALLUM.mAspect = Aspect.METAL;
+ GTPP_Aspects.METO.mAspect = Aspect.HARVEST;
+ GTPP_Aspects.MORTUUS.mAspect = Aspect.DEATH;
+ GTPP_Aspects.MOTUS.mAspect = Aspect.MOTION;
+ GTPP_Aspects.ORDO.mAspect = Aspect.ORDER;
+ GTPP_Aspects.PANNUS.mAspect = Aspect.CLOTH;
+ GTPP_Aspects.PERDITIO.mAspect = Aspect.ENTROPY;
+ GTPP_Aspects.PERFODIO.mAspect = Aspect.MINE;
+ GTPP_Aspects.PERMUTATIO.mAspect = Aspect.EXCHANGE;
+ GTPP_Aspects.POTENTIA.mAspect = Aspect.ENERGY;
+ GTPP_Aspects.PRAECANTATIO.mAspect = Aspect.MAGIC;
+ GTPP_Aspects.SANO.mAspect = Aspect.HEAL;
+ GTPP_Aspects.SENSUS.mAspect = Aspect.SENSES;
+ GTPP_Aspects.SPIRITUS.mAspect = Aspect.SOUL;
+ GTPP_Aspects.TELUM.mAspect = Aspect.WEAPON;
+ GTPP_Aspects.TERRA.mAspect = Aspect.EARTH;
+ GTPP_Aspects.TEMPESTAS.mAspect = Aspect.WEATHER;
+ GTPP_Aspects.TENEBRAE.mAspect = Aspect.DARKNESS;
+ GTPP_Aspects.TUTAMEN.mAspect = Aspect.ARMOR;
+ GTPP_Aspects.VACUOS.mAspect = Aspect.VOID;
+ GTPP_Aspects.VENENUM.mAspect = Aspect.POISON;
+ GTPP_Aspects.VICTUS.mAspect = Aspect.LIFE;
+ GTPP_Aspects.VINCULUM.mAspect = Aspect.TRAP;
+ GTPP_Aspects.VITIUM.mAspect = Aspect.TAINT;
+ GTPP_Aspects.VITREUS.mAspect = Aspect.CRYSTAL;
+ GTPP_Aspects.VOLATUS.mAspect = Aspect.FLIGHT;
+ GTPP_Aspects.STRONTIO.mAspect = (Aspect) TC_Aspects.STRONTIO.mAspect;
+ GTPP_Aspects.NEBRISUM.mAspect = (Aspect) TC_Aspects.NEBRISUM.mAspect;
+ GTPP_Aspects.ELECTRUM.mAspect = (Aspect) TC_Aspects.ELECTRUM.mAspect;
+ GTPP_Aspects.MAGNETO.mAspect = (Aspect) TC_Aspects.MAGNETO.mAspect;
+ GTPP_Aspects.RADIO.mAspect = (Aspect) TC_Aspects.RADIO.mAspect;
+
+ // Custom Aspects
+ GTPP_Aspects.CUSTOM_1.mAspect = new Aspect("custom1", 15647411, new Aspect[]{Aspect.COLD, Aspect.FIRE},
+ new ResourceLocation("gregtech:textures/aspects/" + TC_Aspects.RADIO.name() + ".png"), 1);
+ GTPP_Aspects.CUSTOM_2.mAspect = new Aspect("custom2", 15658622, new Aspect[]{Aspect.MAGIC, Aspect.SLIME},
+ new ResourceLocation("gregtech:textures/aspects/" + TC_Aspects.RADIO.name() + ".png"), 1);
+ GTPP_Aspects.CUSTOM_3.mAspect = new Aspect("custom3", 12644078, new Aspect[]{Aspect.ENERGY, Aspect.ARMOR},
+ new ResourceLocation("gregtech:textures/aspects/" + TC_Aspects.RADIO.name() + ".png"), 1);
+ GTPP_Aspects.CUSTOM_4.mAspect = new Aspect("custom4", 12632256, new Aspect[]{Aspect.METAL, Aspect.POISON},
+ new ResourceLocation("gregtech:textures/aspects/" + TC_Aspects.RADIO.name() + ".png"), 1);
+ GTPP_Aspects.CUSTOM_5.mAspect = new Aspect("custom4", 12648384, new Aspect[]{Aspect.LIGHT, Aspect.SOUL},
+ new ResourceLocation("gregtech:textures/aspects/" + TC_Aspects.RADIO.name() + ".png"), 1);
+ GT_LanguageManager.addStringLocalization("tc.aspect.custom1", "Balance");
+ GT_LanguageManager.addStringLocalization("tc.aspect.custom2", "Lust");
+ GT_LanguageManager.addStringLocalization("tc.aspect.custom3", "Starbound");
+ GT_LanguageManager.addStringLocalization("tc.aspect.custom4", "Toxic");
+ GT_LanguageManager.addStringLocalization("tc.aspect.custom5", "Heaven");
+ }
+
+ public static synchronized final AspectList getAspectList(final List<TC_AspectStack_Ex> aAspects) {
+ AspectList o = null;
+ try {
+ if (m == null || (m != null && !m.isAccessible())) {
+ m = GT_ThaumcraftCompat.class.getDeclaredMethod("getAspectList", List.class);
+ m.setAccessible(true);
+ }
+ if (m != null) {
+ o = (AspectList) m.invoke(null, aAspects);
+ }
+ }
+ catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+ e.printStackTrace();
+ }
+ if (o == null) {
+ Logger.REFLECTION("[Aspect] Did not retrieve valid aspect list from reflective invocation.");
+ }
+ return o;
+ }
+
+ public static synchronized final AspectList getAspectList_Ex(final List<TC_AspectStack_Ex> aAspects) {
+ final AspectList rAspects = new AspectList();
+ for (final TC_AspectStack_Ex tAspect : aAspects) {
+ rAspects.add((Aspect) tAspect.mAspect.mAspect, (int) tAspect.mAmount);
+ }
+ return rAspects;
+ }
+
+ @Override
+ public boolean registerPortholeBlacklistedBlock(Block p0) {
+ return ThaumcraftUtils.registerPortholeBlacklistedBlock(p0);
+ }
+
+ @Override
+ public boolean registerThaumcraftAspectsToItem(ItemStack p0, List<TC_AspectStack> p1, boolean p2) {
+ return ThaumcraftUtils.registerThaumcraftAspectsToItem(p0, ThaumcraftUtils.convertAspectStack(p1), p2);
+ }
+
+ @Override
+ public boolean registerThaumcraftAspectsToItem(ItemStack p0, List<TC_AspectStack> p1, String p2) {
+ return ThaumcraftUtils.registerThaumcraftAspectsToItem(p0, ThaumcraftUtils.convertAspectStack(p1), p2);
+ }
+
+ @Override
+ public Object addCrucibleRecipe(String p0, Object p1, ItemStack p2, List<TC_AspectStack> p3) {
+ return ThaumcraftUtils.addCrucibleRecipe(p0, p1, p2, ThaumcraftUtils.convertAspectStack(p3));
+ }
+
+ @Override
+ public Object addInfusionRecipe(String p0, ItemStack p1, ItemStack[] p2, ItemStack p3, int p4, List<TC_AspectStack> p5) {
+ return ThaumcraftUtils.addInfusionRecipe(p0, p1, p2, p3, p4, ThaumcraftUtils.convertAspectStack(p5));
+ }
+
+ @Override
+ public Object addResearch(String p0, String p1, String p2, String[] p3, String p4, ItemStack p5, int p6, int p7,
+ int p8, int p9, List<TC_AspectStack> p10, ItemStack[] p11, Object[] p12) {
+ return ThaumcraftUtils.addResearch(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, ThaumcraftUtils.convertAspectStack(p10), p11, p12);
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/aspect/GTPP_Aspects.java b/src/Java/gtPlusPlus/xmod/thaumcraft/aspect/GTPP_Aspects.java
new file mode 100644
index 0000000000..e1df0dabf5
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/aspect/GTPP_Aspects.java
@@ -0,0 +1,77 @@
+package gtPlusPlus.xmod.thaumcraft.aspect;
+
+import java.util.List;
+
+import thaumcraft.api.aspects.Aspect;
+
+public enum GTPP_Aspects {
+
+ //Standard TC and GT Aspects
+ AER(1), ALIENIS(20), AQUA(3), ARBOR(1), AURAM(16), BESTIA(6),
+ COGNITIO(2), CORPUS(2), ELECTRUM(24), EXANIMIS(32), FABRICO(2),
+ FAMES(2), GELUM(1), GRANUM(4), HERBA(2), HUMANUS(8), IGNIS(4),
+ INSTRUMENTUM(4), ITER(6), LIMUS(3), LUCRUM(32), LUX(4), MACHINA(16),
+ MAGNETO(24), MESSIS(3), METALLUM(8), METO(2), MORTUUS(16), MOTUS(4),
+ NEBRISUM(48), ORDO(8), PANNUS(6), PERDITIO(2), PERFODIO(4),
+ PERMUTATIO(12), POTENTIA(16), PRAECANTATIO(16), RADIO(48),
+ SANO(24), SENSUS(4), SPIRITUS(24), STRONTIO(64), TELUM(6),
+ TERRA(1), TEMPESTAS(64), TENEBRAE(24), TUTAMEN(12), VACUOS(6),
+ VENENUM(16), VICTUS(4), VINCULUM(16), VITIUM(48), VITREUS(3), VOLATUS(12),
+
+ //Custom Aspects
+ CUSTOM_3(24), CUSTOM_4(24), CUSTOM_2(48), CUSTOM_5(48), CUSTOM_1(64);
+
+ public Aspect mAspect;
+ public int mValue;
+
+ private GTPP_Aspects(final int aValue) {
+ this.mValue = aValue;
+ }
+
+ public static class TC_AspectStack_Ex {
+ public GTPP_Aspects mAspect;
+ public long mAmount;
+
+ public TC_AspectStack_Ex(final GTPP_Aspects aAspect, final long aAmount) {
+ this.mAspect = aAspect;
+ this.mAmount = aAmount;
+ }
+
+ public TC_AspectStack_Ex copy() {
+ return new TC_AspectStack_Ex(this.mAspect, this.mAmount);
+ }
+
+ public TC_AspectStack_Ex copy(final long aAmount) {
+ return new TC_AspectStack_Ex(this.mAspect, aAmount);
+ }
+
+ public List<TC_AspectStack_Ex> addToAspectList(final List<TC_AspectStack_Ex> aList) {
+ if (this.mAmount == 0L) {
+ return aList;
+ }
+ for (final TC_AspectStack_Ex tAspect : aList) {
+ if (tAspect.mAspect == this.mAspect) {
+ final TC_AspectStack_Ex tc_AspectStack = tAspect;
+ tc_AspectStack.mAmount += this.mAmount;
+ return aList;
+ }
+ }
+ aList.add(this.copy());
+ return aList;
+ }
+
+ public boolean removeFromAspectList(final List<TC_AspectStack_Ex> aList) {
+ for (final TC_AspectStack_Ex tAspect : aList) {
+ if (tAspect.mAspect == this.mAspect && tAspect.mAmount >= this.mAmount) {
+ final TC_AspectStack_Ex tc_AspectStack = tAspect;
+ tc_AspectStack.mAmount -= this.mAmount;
+ if (tAspect.mAmount == 0L) {
+ aList.remove(tAspect);
+ }
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/common/ItemBlockThaumcraft.java b/src/Java/gtPlusPlus/xmod/thaumcraft/common/ItemBlockThaumcraft.java
index f52d48db70..55baf19276 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/common/ItemBlockThaumcraft.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/common/ItemBlockThaumcraft.java
@@ -1,11 +1,12 @@
package gtPlusPlus.xmod.thaumcraft.common;
-import gtPlusPlus.core.item.base.itemblock.ItemBlockEntityBase;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockEntityBase;
+
public class ItemBlockThaumcraft extends ItemBlockEntityBase{
public ItemBlockThaumcraft(final Block block) {
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java b/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java
index bf4a61cfc9..a70710fa3f 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java
@@ -7,11 +7,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.GTplusplus;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.handler.GuiHandler;
-import gtPlusPlus.xmod.thaumcraft.common.ItemBlockThaumcraft;
-import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastAlchemyFurnace;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
@@ -25,6 +21,12 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.handler.GuiHandler;
+import gtPlusPlus.xmod.thaumcraft.common.ItemBlockThaumcraft;
+import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastAlchemyFurnace;
import net.minecraftforge.common.util.ForgeDirection;
import thaumcraft.common.lib.utils.InventoryUtils;
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastArcaneAlembic.java b/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastArcaneAlembic.java
index 04c0673b49..7a19b5798e 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastArcaneAlembic.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastArcaneAlembic.java
@@ -7,9 +7,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.xmod.thaumcraft.common.ItemBlockThaumcraft;
-import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastArcaneAlembic;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
@@ -22,13 +20,13 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.ChatComponentTranslation;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
+import net.minecraft.util.*;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.xmod.thaumcraft.common.ItemBlockThaumcraft;
+import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastArcaneAlembic;
import net.minecraftforge.common.util.ForgeDirection;
import thaumcraft.api.aspects.AspectList;
import thaumcraft.api.aspects.IEssentiaContainerItem;
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TCTileEntities.java b/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TCTileEntities.java
index f2de41e308..a6d93edbda 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TCTileEntities.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TCTileEntities.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.thaumcraft.common.tile;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.registry.GameRegistry;
+
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java b/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java
index 756578a536..393bfdcbef 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.thaumcraft.common.tile;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.inventory.ISidedInventory;
@@ -13,6 +14,7 @@ import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraft.world.EnumSkyBlock;
+
import net.minecraftforge.common.util.ForgeDirection;
import thaumcraft.api.TileThaumcraft;
import thaumcraft.api.aspects.Aspect;
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastArcaneAlembic.java b/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastArcaneAlembic.java
index b89f9a4229..cfbc753ff5 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastArcaneAlembic.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastArcaneAlembic.java
@@ -2,7 +2,7 @@ package gtPlusPlus.xmod.thaumcraft.common.tile;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.xmod.thaumcraft.common.block.TC_BlockHandler;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -10,6 +10,8 @@ import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
+
+import gtPlusPlus.xmod.thaumcraft.common.block.TC_BlockHandler;
import net.minecraftforge.common.util.ForgeDirection;
import thaumcraft.api.aspects.Aspect;
import thaumcraft.api.aspects.AspectList;
@@ -17,13 +19,6 @@ import thaumcraft.common.config.ConfigBlocks;
import thaumcraft.common.tiles.TileAlembic;
public class TileFastArcaneAlembic extends TileAlembic {
- public Aspect aspect;
- public Aspect aspectFilter;
- public int amount;
- public int maxAmount;
- public int facing;
- public boolean aboveAlembic;
- public boolean aboveFurnace;
ForgeDirection fd;
public TileFastArcaneAlembic() {
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/gui/ContainerFastAlchemyFurnace.java b/src/Java/gtPlusPlus/xmod/thaumcraft/gui/ContainerFastAlchemyFurnace.java
index e06d83846e..9689a3fa38 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/gui/ContainerFastAlchemyFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/gui/ContainerFastAlchemyFurnace.java
@@ -2,13 +2,15 @@ package gtPlusPlus.xmod.thaumcraft.gui;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastAlchemyFurnace;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+
+import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastAlchemyFurnace;
import thaumcraft.api.aspects.AspectList;
import thaumcraft.common.container.SlotLimitedHasAspects;
import thaumcraft.common.lib.crafting.ThaumcraftCraftingManager;
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/gui/GuiFastAlchemyFurnace.java b/src/Java/gtPlusPlus/xmod/thaumcraft/gui/GuiFastAlchemyFurnace.java
index 5f23568bc1..0d8539e472 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/gui/GuiFastAlchemyFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/gui/GuiFastAlchemyFurnace.java
@@ -4,9 +4,11 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastAlchemyFurnace;
+
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
+
+import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastAlchemyFurnace;
import thaumcraft.client.lib.UtilsFX;
@SideOnly(Side.CLIENT)
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/util/ThaumcraftUtils.java b/src/Java/gtPlusPlus/xmod/thaumcraft/util/ThaumcraftUtils.java
new file mode 100644
index 0000000000..9f6af00de0
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/util/ThaumcraftUtils.java
@@ -0,0 +1,248 @@
+package gtPlusPlus.xmod.thaumcraft.util;
+
+import static gtPlusPlus.xmod.thaumcraft.HANDLER_Thaumcraft.sItemsToGetAspects;
+import static gtPlusPlus.xmod.thaumcraft.aspect.GTPP_AspectCompat.getAspectList_Ex;
+
+import java.util.*;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.IRecipe;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.TC_Aspects.TC_AspectStack;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.xmod.thaumcraft.aspect.GTPP_Aspects;
+import gtPlusPlus.xmod.thaumcraft.aspect.GTPP_Aspects.TC_AspectStack_Ex;
+import thaumcraft.api.ThaumcraftApi;
+import thaumcraft.api.ThaumcraftApiHelper;
+import thaumcraft.api.aspects.Aspect;
+import thaumcraft.api.aspects.AspectList;
+import thaumcraft.api.crafting.*;
+import thaumcraft.api.research.*;
+
+public class ThaumcraftUtils {
+
+ public static boolean addAspectToItem(ItemStack item, Aspect aspect, int amount) {
+ return addAspectToItem(item, getEnumAspect(aspect.getName()), amount);
+ }
+
+ /*public static boolean addAspectToItem(ItemStack item, Aspect[] aspects, int amount) {
+ return addAspectToItem(item, getEnumAspect(aspect.getName()), amount);
+ }*/
+
+ public static boolean addAspectToItem(ItemStack item, GTPP_Aspects aspect, int amount) {
+ return addAspectToItem(item, new GTPP_Aspects[] {aspect}, new Integer[] {amount});
+
+ }
+
+ public static boolean addAspectToItem(ItemStack item, GTPP_Aspects[] aspect, Integer[] amounts) {
+ TC_AspectStack_Ex[] aspects = new TC_AspectStack_Ex[aspect.length];
+ for (int g=0;g<aspect.length;g++) {
+ if (amounts[g] != null && amounts[g] > 0) {
+ aspects[g] = new TC_AspectStack_Ex(aspect[g], amounts[g]);
+ }
+ }
+ Pair<ItemStack, TC_AspectStack_Ex[]> k = new Pair<ItemStack, TC_AspectStack_Ex[]>(item, aspects);
+ int mSizeA = sItemsToGetAspects.size();
+ sItemsToGetAspects.put(k);
+ if (sItemsToGetAspects.size() > mSizeA) {
+ Logger.INFO("[Aspect] Successfully queued an ItemStack for Aspect addition.");
+ return true;
+ }
+ Logger.INFO("[Aspect] Failed to queue an ItemStack for Aspect addition.");
+ //Logger.INFO("[Aspect] ");
+ return false;
+ }
+
+
+ public static Aspect getAspect(String name) {
+ GTPP_Aspects r = getAspectEnum(name);
+ return (r == null ? null : r.mAspect);
+ }
+
+ public static GTPP_Aspects getEnumAspect(String name) {
+ GTPP_Aspects r = getAspectEnum(name);
+ return (r == null ? null : r);
+ }
+
+ private static GTPP_Aspects getAspectEnum(String name) {
+ GTPP_Aspects h = null;
+ for (GTPP_Aspects f : GTPP_Aspects.values()) {
+ if (f.mAspect.getName().toLowerCase().contains(name.toLowerCase())) {
+ h = f;
+ }
+ }
+ return h;
+ }
+
+ public static Object addResearch(String aResearch, String aName, String aText, String[] aParentResearches, String aCategory, ItemStack aIcon, int aComplexity, int aType, int aX, int aY, List<TC_AspectStack_Ex> aAspects, ItemStack[] aResearchTriggers, Object[] aPages) {
+ if (!GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.researches, aResearch, true)) {
+ return null;
+ }
+ ResearchCategoryList tCategory = ResearchCategories.getResearchList(aCategory);
+ if (tCategory == null) {
+ return null;
+ }
+ for (Iterator<ResearchItem> i$ = tCategory.research.values().iterator(); i$.hasNext(); ) {
+ ResearchItem tResearch = (ResearchItem) i$.next();
+ if ((tResearch.displayColumn == aX) && (tResearch.displayRow == aY)) {
+ aX += (aX > 0 ? 5 : -5);
+ aY += (aY > 0 ? 5 : -5);
+ }
+ }
+ ResearchItem rResearch = new ResearchItem(aResearch, aCategory, getAspectList_Ex(aAspects), aX, aY, aComplexity, aIcon);
+ ArrayList<ResearchPage> tPages = new ArrayList<ResearchPage>(aPages.length);
+ GT_LanguageManager.addStringLocalization("tc.research_name." + aResearch, aName);
+ GT_LanguageManager.addStringLocalization("tc.research_text." + aResearch, "[GT++] " + aText);
+ for (Object tPage : aPages) {
+ if ((tPage instanceof String)) {
+ tPages.add(new ResearchPage((String) tPage));
+ } else if ((tPage instanceof IRecipe)) {
+ tPages.add(new ResearchPage((IRecipe) tPage));
+ } else if ((tPage instanceof IArcaneRecipe)) {
+ tPages.add(new ResearchPage((IArcaneRecipe) tPage));
+ } else if ((tPage instanceof CrucibleRecipe)) {
+ tPages.add(new ResearchPage((CrucibleRecipe) tPage));
+ } else if ((tPage instanceof InfusionRecipe)) {
+ tPages.add(new ResearchPage((InfusionRecipe) tPage));
+ } else if ((tPage instanceof InfusionEnchantmentRecipe)) {
+ tPages.add(new ResearchPage((InfusionEnchantmentRecipe) tPage));
+ }
+ }
+ if ((aType & 0x40) != 0) {
+ rResearch.setAutoUnlock();
+ }
+ if ((aType & 0x1) != 0) {
+ rResearch.setSecondary();
+ }
+ if ((aType & 0x20) != 0) {
+ rResearch.setSpecial();
+ }
+ if ((aType & 0x8) != 0) {
+ rResearch.setVirtual();
+ }
+ if ((aType & 0x4) != 0) {
+ rResearch.setHidden();
+ }
+ if ((aType & 0x10) != 0) {
+ rResearch.setRound();
+ }
+ if ((aType & 0x2) != 0) {
+ rResearch.setStub();
+ }
+ if (aParentResearches != null) {
+ ArrayList<String> tParentResearches = new ArrayList<String>();
+ for (String tParent : aParentResearches) {
+ if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.researches, aResearch, true)) {
+ tParentResearches.add(tParent);
+ }
+ }
+ if (tParentResearches.size() > 0) {
+ rResearch.setParents((String[]) tParentResearches.toArray(new String[tParentResearches.size()]));
+ rResearch.setConcealed();
+ }
+ }
+ if (aResearchTriggers != null) {
+ rResearch.setItemTriggers(aResearchTriggers);
+ rResearch.setHidden();
+ }
+ rResearch.setPages((ResearchPage[]) tPages.toArray(new ResearchPage[tPages.size()]));
+ return rResearch.registerResearchItem();
+}
+
+
+ public static Object addCrucibleRecipe(final String aResearch, final Object aInput, final ItemStack aOutput,
+ final List<TC_AspectStack_Ex> aAspects) {
+ if (GT_Utility.isStringInvalid((Object) aResearch) || aInput == null || aOutput == null || aAspects == null
+ || aAspects.isEmpty()) {
+ return null;
+ }
+ return ThaumcraftApi.addCrucibleRecipe(aResearch, GT_Utility.copy(new Object[]{aOutput}),
+ (aInput instanceof ItemStack || aInput instanceof ArrayList) ? aInput : aInput.toString(),
+ getAspectList_Ex(aAspects));
+ }
+
+ public static Object addInfusionRecipe(final String aResearch, final ItemStack aMainInput, final ItemStack[] aSideInputs,
+ final ItemStack aOutput, final int aInstability, final List<TC_AspectStack_Ex> aAspects) {
+ if (GT_Utility.isStringInvalid((Object) aResearch) || aMainInput == null || aSideInputs == null
+ || aOutput == null || aAspects == null || aAspects.isEmpty()) {
+ return null;
+ }
+ return ThaumcraftApi.addInfusionCraftingRecipe(aResearch, (Object) GT_Utility.copy(new Object[]{aOutput}),
+ aInstability, getAspectList_Ex(aAspects), aMainInput, aSideInputs);
+ }
+
+ public static boolean registerThaumcraftAspectsToItem(final ItemStack aExampleStack,
+ final List<TC_AspectStack_Ex> aAspects, final String aOreDict) {
+ if (aAspects.isEmpty()) {
+ return false;
+ }
+ ThaumcraftApi.registerObjectTag(aOreDict, getAspectList_Ex(aAspects));
+ return true;
+ }
+
+ public static boolean registerThaumcraftAspectsToItem(final ItemStack aStack,
+ final List<TC_AspectStack_Ex> aAspects, final boolean aAdditive) {
+ try {
+ if (aAspects.isEmpty()) {
+ return false;
+ }
+ AspectList h = getAspectList_Ex(aAspects);
+ if (aAdditive && (h != null && h.size() > 0)) {
+ ThaumcraftApi.registerComplexObjectTag(aStack, getAspectList_Ex(aAspects));
+ return true;
+ }
+ else {
+ Logger.INFO("[Aspect] Failed adding aspects to "+aStack.getDisplayName()+".");
+ }
+ final AspectList tAlreadyRegisteredAspects = ThaumcraftApiHelper.getObjectAspects(aStack);
+ if (tAlreadyRegisteredAspects == null || tAlreadyRegisteredAspects.size() <= 0) {
+ ThaumcraftApi.registerObjectTag(aStack, getAspectList_Ex(aAspects));
+ }
+ return true;
+ }
+ catch (Throwable t) {
+ Logger.INFO("[Aspect] Failed adding aspects to "+aStack.getDisplayName()+".");
+ t.printStackTrace();
+ return false;
+ }
+ }
+
+ public static boolean registerPortholeBlacklistedBlock(final Block aBlock) {
+ ThaumcraftApi.portableHoleBlackList.add(aBlock);
+ return true;
+ }
+
+ public static TC_AspectStack_Ex convertAspectStack(TC_AspectStack gtType) {
+ TC_AspectStack_Ex g = null;
+ if (gtType == null) {
+ return null;
+ }
+ else {
+ String oldName = gtType.mAspect.name().toLowerCase();
+ long oldAmount = gtType.mAmount;
+ for (GTPP_Aspects r : GTPP_Aspects.values()) {
+ if (r.mAspect.getName().toLowerCase().contains(oldName)) {
+ g = new TC_AspectStack_Ex(r, oldAmount);
+ break;
+ }
+ }
+ }
+ return g;
+ }
+
+ public static List<TC_AspectStack_Ex> convertAspectStack(List<TC_AspectStack> p5) {
+ List<TC_AspectStack_Ex> list = new ArrayList<TC_AspectStack_Ex>();
+ for (TC_AspectStack h : p5) {
+ list.add(convertAspectStack(h));
+ }
+ return list;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java b/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java
index edbd1c91f5..a0480e907e 100644
--- a/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java
+++ b/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java
@@ -2,15 +2,12 @@ package gtPlusPlus.xmod.thermalfoundation.block;
import java.util.Random;
-import cofh.core.fluid.BlockFluidInteractive;
-import cofh.lib.util.BlockWrapper;
-import cofh.lib.util.helpers.DamageHelper;
-import cofh.lib.util.helpers.ServerHelper;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.xmod.thermalfoundation.fluid.TF_Fluids;
+
import net.minecraft.block.Block;
-import net.minecraft.block.material.*;
+import net.minecraft.block.material.MapColor;
+import net.minecraft.block.material.Material;
+import net.minecraft.block.material.MaterialLiquid;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.*;
@@ -19,6 +16,13 @@ import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+
+import cofh.core.fluid.BlockFluidInteractive;
+import cofh.lib.util.BlockWrapper;
+import cofh.lib.util.helpers.DamageHelper;
+import cofh.lib.util.helpers.ServerHelper;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.thermalfoundation.fluid.TF_Fluids;
import net.minecraftforge.common.util.ForgeDirection;
public class TF_Block_Fluid_Cryotheum
diff --git a/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Ender.java b/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Ender.java
index e22451b56a..513fe51fd9 100644
--- a/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Ender.java
+++ b/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Ender.java
@@ -1,15 +1,19 @@
package gtPlusPlus.xmod.thermalfoundation.block;
-import cofh.core.fluid.BlockFluidCoFHBase;
-import cofh.core.util.CoreUtils;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.xmod.thermalfoundation.fluid.TF_Fluids;
-import net.minecraft.block.material.*;
+
+import net.minecraft.block.material.MapColor;
+import net.minecraft.block.material.Material;
+import net.minecraft.block.material.MaterialLiquid;
import net.minecraft.entity.Entity;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import cofh.core.fluid.BlockFluidCoFHBase;
+import cofh.core.util.CoreUtils;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.thermalfoundation.fluid.TF_Fluids;
+
public class TF_Block_Fluid_Ender
extends BlockFluidCoFHBase
{
diff --git a/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java b/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java
index 2f9d00527d..5444e8d5ad 100644
--- a/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java
+++ b/src/Java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java
@@ -2,20 +2,24 @@ package gtPlusPlus.xmod.thermalfoundation.block;
import java.util.Random;
-import cofh.core.fluid.BlockFluidInteractive;
-import cofh.lib.util.BlockWrapper;
-import cofh.lib.util.helpers.ServerHelper;
import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.xmod.thermalfoundation.fluid.TF_Fluids;
+
import net.minecraft.block.Block;
-import net.minecraft.block.material.*;
+import net.minecraft.block.material.MapColor;
+import net.minecraft.block.material.Material;
+import net.minecraft.block.material.MaterialLiquid;
import net.minecraft.entity.Entity;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+
+import cofh.core.fluid.BlockFluidInteractive;
+import cofh.lib.util.BlockWrapper;
+import cofh.lib.util.helpers.ServerHelper;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.thermalfoundation.fluid.TF_Fluids;
import net.minecraftforge.common.util.ForgeDirection;
public class TF_Block_Fluid_Pyrotheum
diff --git a/src/Java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java b/src/Java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java
index 082786cc4a..6ebae64384 100644
--- a/src/Java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java
+++ b/src/Java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java
@@ -1,13 +1,14 @@
package gtPlusPlus.xmod.thermalfoundation.fluid;
+import net.minecraft.block.BlockDispenser;
+import net.minecraft.init.Items;
+import net.minecraft.item.EnumRarity;
+
import cofh.core.util.fluid.DispenserEmptyBucketHandler;
import cofh.core.util.fluid.DispenserFilledBucketHandler;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.xmod.thermalfoundation.item.TF_Items;
-import net.minecraft.block.BlockDispenser;
-import net.minecraft.init.Items;
-import net.minecraft.item.EnumRarity;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
diff --git a/src/Java/gtPlusPlus/xmod/thermalfoundation/item/TF_Items.java b/src/Java/gtPlusPlus/xmod/thermalfoundation/item/TF_Items.java
index 0839e11765..8e632b8e6b 100644
--- a/src/Java/gtPlusPlus/xmod/thermalfoundation/item/TF_Items.java
+++ b/src/Java/gtPlusPlus/xmod/thermalfoundation/item/TF_Items.java
@@ -1,17 +1,18 @@
package gtPlusPlus.xmod.thermalfoundation.item;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
import cofh.core.item.ItemBase;
import cofh.core.item.ItemBucket;
import cofh.core.util.energy.FurnaceFuelHandler;
import cofh.core.util.fluid.BucketHandler;
import cofh.lib.util.helpers.ItemHelper;
import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.thermalfoundation.block.TF_Blocks;
import gtPlusPlus.xmod.thermalfoundation.fluid.TF_Fluids;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidContainerRegistry;
public class TF_Items {
diff --git a/src/Java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java b/src/Java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java
index 7864aab278..8c46ccd872 100644
--- a/src/Java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java
+++ b/src/Java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java
@@ -1,13 +1,17 @@
package gtPlusPlus.xmod.thermalfoundation.recipe;
-import gregtech.api.enums.*;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.thermalfoundation.item.TF_Items;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/Java/gtPlusPlus/xmod/tinkers/HANDLER_Tinkers.java b/src/Java/gtPlusPlus/xmod/tinkers/HANDLER_Tinkers.java
new file mode 100644
index 0000000000..3ece2cc61d
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/tinkers/HANDLER_Tinkers.java
@@ -0,0 +1,34 @@
+package gtPlusPlus.xmod.tinkers;
+
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.xmod.tinkers.util.TinkersUtils;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+
+public class HANDLER_Tinkers {
+
+ public static final void preInit() {
+ if (LoadedMods.TiCon) {
+
+ }
+ }
+
+ public static final void init() {
+ if (LoadedMods.TiCon) {
+ //Migrate TiCon further back in the oreDict so that I never grab items from it.
+ //TinkersUtils.stopTiconLoadingFirst();
+ Fluid pyrotheumFluid = FluidRegistry.getFluid("pyrotheum");
+ if (pyrotheumFluid != null) {
+ //Enable Pyrotheum as Fuel for the Smeltery
+ TinkersUtils.addSmelteryFuel(pyrotheumFluid, 5000, 70); // pyrotheum lasts 3.5 seconds per 15 mb
+ }
+ }
+ }
+
+ public static final void postInit() {
+ if (LoadedMods.TiCon) {
+
+ }
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java b/src/Java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java
new file mode 100644
index 0000000000..aed5b46e0a
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java
@@ -0,0 +1,99 @@
+package gtPlusPlus.xmod.tinkers.util;
+
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import net.minecraftforge.fluids.Fluid;
+
+public class TinkersUtils {
+
+ private static Object mSmelteryInstance;
+ private static Class mSmelteryClassInstance;
+
+ public static Object getSmelteryInstance() {
+ if (!LoadedMods.TiCon) {
+ return null;
+ }
+ else {
+ if (mSmelteryInstance == null || mSmelteryClassInstance == null) {
+ if (mSmelteryClassInstance == null) {
+ try {
+ mSmelteryClassInstance = Class.forName("tconstruct.library.crafting.Smeltery");
+ }
+ catch (ClassNotFoundException e) {}
+ }
+ if (mSmelteryClassInstance != null) {
+ try {
+ mSmelteryInstance = ReflectionUtils.getField(mSmelteryClassInstance, "instance").get(null);
+ }
+ catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {
+ }
+ }
+ }
+ }
+ if (mSmelteryInstance != null) {
+ return mSmelteryInstance;
+ }
+ return null;
+ }
+
+ public static final boolean isTiConFirstInOD() {
+ if (LoadedMods.TiCon) {
+ try {
+ return (boolean) ReflectionUtils.getField(Class.forName("PHConstruct"), "tconComesFirst").get(null);
+ }
+ catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | ClassNotFoundException e) {
+ }
+ }
+ return false;
+ }
+
+ public static final boolean stopTiconLoadingFirst() {
+ if (isTiConFirstInOD()) {
+ try {
+ ReflectionUtils.setFieldValue(Class.forName("PHConstruct"), "tconComesFirst", false);
+ if ((boolean) ReflectionUtils.getField(Class.forName("PHConstruct"), "tconComesFirst").get(null) == false) {
+ return true;
+ }
+ //Did not work, let's see where TiCon uses this and prevent it.
+ else {
+ ItemUtils.getNonTinkersDust("", 1);
+ }
+ }
+ catch (Exception e) {}
+ }
+ return false;
+ }
+
+ /**
+ * Add a new fluid as a valid Smeltery fuel.
+ * @param fluid The fluid.
+ * @param power The temperature of the fluid. This also influences the melting speed. Lava is 1000.
+ * @param duration How long one "portion" of liquid fuels the smeltery. Lava is 10.
+ */
+ public static void addSmelteryFuel (Fluid fluid, int power, int duration){
+ ReflectionUtils.invokeVoid(getSmelteryInstance(), "addSmelteryFuel", new Class[] {Fluid.class, int.class, int.class}, new Object[] {fluid, power, duration});
+ }
+
+ /**
+ * Returns true if the liquid is a valid smeltery fuel.
+ */
+ public static boolean isSmelteryFuel (Fluid fluid){
+ return ReflectionUtils.invoke(getSmelteryInstance(), "isSmelteryFuel", new Class[] {Fluid.class}, new Object[] {fluid});
+ }
+
+ /**
+ * Returns the power of a smeltery fuel or 0 if it's not a fuel.
+ */
+ public static int getFuelPower (Fluid fluid){
+ return (int) ReflectionUtils.invokeNonBool(getSmelteryInstance(), "getFuelPower", new Class[] {Fluid.class}, new Object[] {fluid});
+ }
+
+ /**
+ * Returns the duration of a smeltery fuel or 0 if it's not a fuel.
+ */
+ public static int getFuelDuration (Fluid fluid){
+ return (int) ReflectionUtils.invokeNonBool(getSmelteryInstance(), "getFuelDuration", new Class[] {Fluid.class}, new Object[] {fluid});
+ }
+
+}