From 6d1b2216464d4dad449ac6fcfec476832224a55e Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Fri, 24 May 2024 19:50:35 +0100 Subject: Merge addon sources --- gtpp/src/main/java/gregtech/api/enums/TAE.java | 145 - .../api/util/AdvancedFusionOverclockDescriber.java | 23 - .../java/gregtech/api/util/FishPondFakeRecipe.java | 80 - .../java/gregtech/api/util/GasSpargingRecipe.java | 103 - .../gregtech/api/util/GasSpargingRecipeMap.java | 45 - gtpp/src/main/java/gregtech/api/util/HotFuel.java | 40 - .../gregtech/api/util/SemiFluidFuelHandler.java | 136 - gtpp/src/main/java/gtPlusPlus/GTplusplus.java | 395 --- .../gtPlusPlus/api/interfaces/ILazyCoverable.java | 139 - .../java/gtPlusPlus/api/interfaces/IPlugin.java | 41 - .../gtPlusPlus/api/interfaces/ITexturedBlock.java | 15 - .../gtPlusPlus/api/interfaces/ITileTooltip.java | 6 - .../api/interfaces/RunnableWithInfo.java | 7 - .../main/java/gtPlusPlus/api/objects/Logger.java | 162 - .../java/gtPlusPlus/api/objects/data/AutoMap.java | 364 -- .../java/gtPlusPlus/api/objects/data/Pair.java | 35 - .../java/gtPlusPlus/api/objects/data/Quad.java | 44 - .../java/gtPlusPlus/api/objects/data/Triplet.java | 26 - .../gtPlusPlus/api/objects/data/TypeCounter.java | 177 - .../api/objects/data/WeightedCollection.java | 102 - .../api/objects/data/weakref/WeakAutoMap.java | 14 - .../gtPlusPlus/api/objects/minecraft/AABB.java | 67 - .../api/objects/minecraft/BTF_FluidTank.java | 185 - .../api/objects/minecraft/BTF_Inventory.java | 231 -- .../gtPlusPlus/api/objects/minecraft/BlockPos.java | 245 -- .../api/objects/minecraft/CubicObject.java | 56 - .../gtPlusPlus/api/objects/minecraft/FluidGT6.java | 33 - .../api/objects/minecraft/ItemPackage.java | 57 - .../api/objects/minecraft/ItemStackData.java | 34 - .../api/objects/minecraft/SafeTexture.java | 65 - .../api/objects/minecraft/ShapedRecipe.java | 251 -- .../api/recipe/ChemicalPlantFrontend.java | 68 - .../api/recipe/GTPPRecipeCategories.java | 17 - .../java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java | 232 -- .../gtPlusPlus/api/recipe/MillingFrontend.java | 46 - .../java/gtPlusPlus/api/recipe/TGSFrontend.java | 147 - .../api/recipe/ThermalBoilerFrontend.java | 57 - .../main/java/gtPlusPlus/core/block/ModBlocks.java | 104 - .../gtPlusPlus/core/block/base/BasicBlock.java | 70 - .../core/block/base/BasicTileBlockWithTooltip.java | 322 -- .../gtPlusPlus/core/block/base/BlockBaseFluid.java | 102 - .../core/block/base/BlockBaseModular.java | 245 -- .../gtPlusPlus/core/block/base/BlockBaseOre.java | 217 -- .../block/general/BlockCompressedObsidian.java | 100 - .../core/block/general/BlockSuperLight.java | 197 -- .../core/block/general/FluidTankInfinite.java | 141 - .../gtPlusPlus/core/block/general/HellFire.java | 535 --- .../gtPlusPlus/core/block/general/LightGlass.java | 137 - .../core/block/general/MiningExplosives.java | 193 -- .../block/general/antigrief/BlockWitherProof.java | 161 - .../block/general/fluids/BlockFluidSludge.java | 68 - .../core/block/machine/CircuitProgrammer.java | 153 - .../core/block/machine/DecayablesChest.java | 186 - .../gtPlusPlus/core/block/machine/FishTrap.java | 136 - .../core/block/machine/Machine_PestKiller.java | 137 - .../core/block/machine/Machine_PooCollector.java | 177 - .../core/block/machine/Machine_ProjectTable.java | 160 - .../core/block/machine/Machine_SuperJukebox.java | 558 --- .../core/block/machine/VolumetricFlaskSetter.java | 157 - .../gtPlusPlus/core/client/CustomTextureSet.java | 30 - .../core/client/model/ModelDecayChest.java | 45 - .../core/client/model/ModelSickBlaze.java | 87 - .../core/client/model/ModelStaballoyConstruct.java | 117 - .../client/renderer/CustomItemBlockRenderer.java | 84 - .../client/renderer/CustomOreBlockRenderer.java | 2469 -------------- .../core/client/renderer/RenderDecayChest.java | 92 - .../renderer/RenderMiningExplosivesPrimed.java | 111 - .../core/client/renderer/RenderSickBlaze.java | 96 - .../client/renderer/RenderStaballoyConstruct.java | 163 - .../core/client/renderer/RenderToxinball.java | 89 - .../renderer/particle/EntityDropParticleFX.java | 105 - .../commands/CommandEnableDebugWhileRunning.java | 279 -- .../java/gtPlusPlus/core/commands/CommandMath.java | 92 - .../gtPlusPlus/core/commands/CommandUtils.java | 18 - .../java/gtPlusPlus/core/common/CommonProxy.java | 210 -- .../core/common/compat/COMPAT_Baubles.java | 58 - .../core/common/compat/COMPAT_ExtraUtils.java | 18 - .../core/common/compat/COMPAT_HarvestCraft.java | 14 - .../gtPlusPlus/core/common/compat/COMPAT_IC2.java | 58 - .../core/common/compat/COMPAT_Thaumcraft.java | 47 - .../core/common/compat/COMPAT_Witchery.java | 28 - .../java/gtPlusPlus/core/config/ConfigHandler.java | 670 ---- .../container/Container_CircuitProgrammer.java | 176 - .../core/container/Container_DecayablesChest.java | 133 - .../core/container/Container_FishTrap.java | 134 - .../core/container/Container_PestKiller.java | 147 - .../core/container/Container_ProjectTable.java | 196 -- .../core/container/Container_SuperJukebox.java | 232 -- .../container/Container_VolumetricFlaskSetter.java | 170 - .../gtPlusPlus/core/creative/AddToCreativeTab.java | 25 - .../core/entity/EntityPrimedMiningExplosive.java | 405 --- .../core/entity/InternalEntityRegistry.java | 64 - .../core/entity/monster/EntitySickBlaze.java | 224 -- .../entity/monster/EntityStaballoyConstruct.java | 652 ---- .../entity/projectile/EntityLightningAttack.java | 79 - .../core/entity/projectile/EntityToxinball.java | 334 -- .../entity/projectile/EntityToxinballSmall.java | 65 - .../core/fluids/FluidRegistryHandler.java | 52 - .../gtPlusPlus/core/gui/GUI_Base_Tile_Entity.java | 14 - .../gtPlusPlus/core/gui/beta/Gui_ID_Registry.java | 47 - .../java/gtPlusPlus/core/gui/beta/Gui_Types.java | 10 - .../java/gtPlusPlus/core/gui/beta/MU_GuiId.java | 28 - .../core/gui/machine/GUI_CircuitProgrammer.java | 46 - .../core/gui/machine/GUI_DecayablesChest.java | 54 - .../gtPlusPlus/core/gui/machine/GUI_FishTrap.java | 52 - .../core/gui/machine/GUI_PestKiller.java | 175 - .../core/gui/machine/GUI_ProjectTable.java | 58 - .../core/gui/machine/GUI_SuperJukebox.java | 88 - .../gui/machine/GUI_VolumetricFlaskSetter.java | 228 -- .../gtPlusPlus/core/gui/widget/GuiValueField.java | 104 - .../core/handler/AchievementHandler.java | 491 --- .../java/gtPlusPlus/core/handler/BookHandler.java | 486 --- .../core/handler/BurnableFuelHandler.java | 35 - .../gtPlusPlus/core/handler/COMPAT_HANDLER.java | 299 -- .../core/handler/COMPAT_IntermodStaging.java | 50 - .../java/gtPlusPlus/core/handler/GuiHandler.java | 159 - .../gtPlusPlus/core/handler/PacketHandler.java | 94 - .../core/handler/Recipes/DecayableRecipe.java | 38 - .../handler/Recipes/LateRegistrationHandler.java | 27 - .../core/handler/Recipes/RegistrationHandler.java | 25 - .../core/handler/events/CustomMovementHandler.java | 144 - .../handler/events/EnderDragonDeathHandler.java | 61 - .../core/handler/events/EntityDeathHandler.java | 126 - .../handler/events/GeneralTooltipEventHandler.java | 20 - .../handler/events/PlayerSleepEventHandler.java | 109 - .../core/handler/events/SneakManager.java | 131 - .../workbench/Workbench_CraftingHandler.java | 161 - .../gtPlusPlus/core/interfaces/IGuiManager.java | 16 - .../core/interfaces/IGuiManagerMiscUtils.java | 4 - .../gtPlusPlus/core/interfaces/IItemBlueprint.java | 52 - .../inventories/InventoryCircuitProgrammer.java | 156 - .../core/inventories/InventoryFishTrap.java | 157 - .../core/inventories/InventoryPestKiller.java | 157 - .../inventories/Inventory_DecayablesChest.java | 157 - .../core/inventories/Inventory_EggBox.java | 157 - .../core/inventories/Inventory_SuperJukebox.java | 154 - .../Inventory_VolumetricFlaskSetter.java | 156 - .../projecttable/InventoryProjectMain.java | 173 - .../projecttable/InventoryProjectOutput.java | 160 - .../inventories/tradetable/InventoryTradeMain.java | 173 - .../tradetable/InventoryTradeOutput.java | 160 - .../main/java/gtPlusPlus/core/item/ModItems.java | 988 ------ .../core/item/base/BaseItemBurnable.java | 42 - .../core/item/base/BaseItemColourable.java | 100 - .../core/item/base/BaseItemComponent.java | 459 --- .../core/item/base/BaseItemDamageable.java | 194 -- .../gtPlusPlus/core/item/base/BaseItemTCShard.java | 69 - .../core/item/base/BaseItemTickable.java | 332 -- .../core/item/base/BaseItemWithDamageValue.java | 30 - .../gtPlusPlus/core/item/base/BasicSpawnEgg.java | 238 -- .../java/gtPlusPlus/core/item/base/CoreItem.java | 286 -- .../core/item/base/bolts/BaseItemBolt.java | 11 - .../core/item/base/cell/BaseItemCell.java | 73 - .../core/item/base/cell/BaseItemPlasmaCell.java | 76 - .../core/item/base/dusts/BaseItemDust.java | 135 - .../core/item/base/dusts/BaseItemDustUnique.java | 164 - .../core/item/base/foil/BaseItemFoil.java | 11 - .../core/item/base/gears/BaseItemGear.java | 11 - .../core/item/base/gears/BaseItemSmallGear.java | 11 - .../core/item/base/ingots/BaseItemIngot.java | 20 - .../core/item/base/ingots/BaseItemIngotHot.java | 111 - .../core/item/base/ingots/BaseItemIngot_OLD.java | 106 - .../item/base/itemblock/ItemBlockBasicTile.java | 51 - .../core/item/base/itemblock/ItemBlockGtBlock.java | 184 - .../core/item/base/itemblock/ItemBlockMeta.java | 106 - .../core/item/base/itemblock/ItemBlockOre.java | 148 - .../core/item/base/misc/BaseItemMisc.java | 154 - .../core/item/base/misc/BaseItemParticle.java | 66 - .../core/item/base/nugget/BaseItemNugget.java | 11 - .../base/ore/BaseItemCentrifugedCrushedOre.java | 10 - .../core/item/base/ore/BaseItemCrushedOre.java | 10 - .../core/item/base/ore/BaseItemImpureDust.java | 10 - .../core/item/base/ore/BaseItemMilledOre.java | 24 - .../item/base/ore/BaseItemPurifiedCrushedOre.java | 10 - .../core/item/base/ore/BaseItemPurifiedDust.java | 10 - .../core/item/base/ore/BaseItemRawOre.java | 10 - .../core/item/base/ore/BaseOreComponent.java | 272 -- .../core/item/base/plates/BaseItemPlate.java | 23 - .../core/item/base/plates/BaseItemPlateDense.java | 11 - .../core/item/base/plates/BaseItemPlateDouble.java | 12 - .../core/item/base/plates/BaseItemPlate_OLD.java | 91 - .../core/item/base/rings/BaseItemRing.java | 11 - .../core/item/base/rods/BaseItemRod.java | 11 - .../core/item/base/rods/BaseItemRodLong.java | 11 - .../core/item/base/rotors/BaseItemRotor.java | 11 - .../core/item/base/screws/BaseItemScrew.java | 11 - .../core/item/base/wire/BaseItemFineWire.java | 11 - .../gtPlusPlus/core/item/bauble/BaseBauble.java | 133 - .../core/item/bauble/BatteryPackBaseBauble.java | 261 -- .../core/item/bauble/ElectricBaseBauble.java | 220 -- .../core/item/bauble/FireProtectionBauble.java | 120 - .../core/item/chemistry/AgriculturalChem.java | 667 ---- .../gtPlusPlus/core/item/chemistry/CoalTar.java | 319 -- .../core/item/chemistry/GenericChem.java | 961 ------ .../core/item/chemistry/IonParticles.java | 171 - .../core/item/chemistry/MilledOreProcessing.java | 752 ----- .../core/item/chemistry/NuclearChem.java | 105 - .../core/item/chemistry/RocketFuels.java | 562 --- .../core/item/chemistry/StandardBaseParticles.java | 156 - .../chemistry/general/ItemGenericChemBase.java | 321 -- .../item/circuit/GTPP_IntegratedCircuit_Item.java | 213 -- .../core/item/crafting/ItemDummyResearch.java | 92 - .../core/item/food/BaseItemMetaFood.java | 509 --- .../gtPlusPlus/core/item/general/BufferCore.java | 68 - .../core/item/general/ItemAirFilter.java | 143 - .../item/general/ItemBasicScrubberTurbine.java | 152 - .../core/item/general/ItemBlueprint.java | 297 -- .../core/item/general/ItemCloakingDevice.java | 232 -- .../gtPlusPlus/core/item/general/ItemEmpty.java | 18 - .../core/item/general/ItemGenericToken.java | 197 -- .../core/item/general/ItemHalfCompleteCasings.java | 56 - .../core/item/general/ItemHealingDevice.java | 419 --- .../core/item/general/ItemLavaFilter.java | 84 - .../core/item/general/ItemMagicFeather.java | 260 -- .../core/item/general/books/ItemBaseBook.java | 122 - .../item/general/chassis/ItemBoilerChassis.java | 72 - .../item/general/chassis/ItemDehydratorCoil.java | 70 - .../general/chassis/ItemDehydratorCoilWire.java | 70 - .../item/general/spawn/ItemCustomSpawnEgg.java | 278 -- .../java/gtPlusPlus/core/item/init/ItemsFoods.java | 50 - .../core/item/materials/DustDecayable.java | 97 - .../core/item/tool/misc/GregtechPump.java | 1320 -------- .../core/item/wearable/WearableLoader.java | 14 - .../core/item/wearable/armour/ArmourLoader.java | 38 - .../core/item/wearable/armour/base/BaseArmour.java | 10 - .../item/wearable/armour/base/BaseArmourHelm.java | 9 - .../wearable/armour/tinfoil/ArmourTinFoilHat.java | 179 - .../core/item/wearable/base/BaseItemWearable.java | 61 - .../item/wearable/hazmat/ItemArmorHazmatEx.java | 35 - gtpp/src/main/java/gtPlusPlus/core/lib/CORE.java | 242 -- .../java/gtPlusPlus/core/lib/VanillaColours.java | 43 - .../main/java/gtPlusPlus/core/material/ALLOY.java | 828 ----- .../java/gtPlusPlus/core/material/ELEMENT.java | 651 ---- .../gtPlusPlus/core/material/MISC_MATERIALS.java | 592 ---- .../java/gtPlusPlus/core/material/Material.java | 1725 ---------- .../core/material/MaterialGenerator.java | 428 --- .../gtPlusPlus/core/material/MaterialStack.java | 116 - .../java/gtPlusPlus/core/material/NONMATERIAL.java | 42 - .../main/java/gtPlusPlus/core/material/ORES.java | 701 ---- .../java/gtPlusPlus/core/material/Particle.java | 154 - .../core/material/nuclear/FLUORIDES.java | 244 -- .../gtPlusPlus/core/material/nuclear/NUCLIDE.java | 311 -- .../core/material/state/MaterialState.java | 22 - .../handler/AbstractClientMessageHandler.java | 14 - .../network/handler/AbstractMessageHandler.java | 38 - .../handler/AbstractServerMessageHandler.java | 14 - .../core/network/packet/AbstractPacket.java | 8 - .../network/packet/Packet_VolumetricFlaskGui.java | 127 - .../network/packet/Packet_VolumetricFlaskGui2.java | 126 - .../gtPlusPlus/core/potion/GtPotionEffect.java | 10 - .../java/gtPlusPlus/core/proxy/ClientProxy.java | 190 -- .../java/gtPlusPlus/core/proxy/ServerProxy.java | 28 - .../core/recipe/LOADER_Machine_Components.java | 114 - .../gtPlusPlus/core/recipe/RECIPES_GREGTECH.java | 1806 ---------- .../gtPlusPlus/core/recipe/RECIPES_General.java | 475 --- .../core/recipe/RECIPES_LaserEngraver.java | 135 - .../core/recipe/RECIPES_MachineComponents.java | 10 - .../gtPlusPlus/core/recipe/RECIPES_Machines.java | 2960 ---------------- .../core/recipe/RECIPES_RareEarthProcessing.java | 168 - .../core/recipe/RECIPES_SeleniumProcessing.java | 142 - .../java/gtPlusPlus/core/recipe/RECIPES_Tools.java | 118 - .../gtPlusPlus/core/recipe/RECIPE_Batteries.java | 62 - .../gtPlusPlus/core/recipe/ShapedRecipeObject.java | 50 - .../java/gtPlusPlus/core/recipe/common/CI.java | 1008 ------ .../java/gtPlusPlus/core/slots/SlotCrafting.java | 154 - .../core/slots/SlotCraftingNoCollect.java | 139 - .../java/gtPlusPlus/core/slots/SlotDataStick.java | 42 - .../java/gtPlusPlus/core/slots/SlotGeneric.java | 22 - .../core/slots/SlotIntegratedCircuit.java | 110 - .../java/gtPlusPlus/core/slots/SlotJukebox.java | 35 - .../java/gtPlusPlus/core/slots/SlotNoInput.java | 22 - .../gtPlusPlus/core/slots/SlotVolumetricFlask.java | 28 - .../core/tileentities/ModTileEntities.java | 35 - .../core/tileentities/base/TileEntityBase.java | 1419 -------- .../general/TileEntityCircuitProgrammer.java | 313 -- .../general/TileEntityDecayablesChest.java | 378 --- .../tileentities/general/TileEntityFishTrap.java | 294 -- .../general/TileEntityInfiniteFluid.java | 148 - .../general/TileEntityVolumetricFlaskSetter.java | 418 --- .../machines/TileEntityAdvPooCollector.java | 140 - .../machines/TileEntityBaseFluidCollector.java | 241 -- .../machines/TileEntityPestKiller.java | 532 --- .../machines/TileEntityPooCollector.java | 128 - .../machines/TileEntityProjectTable.java | 165 - .../gtPlusPlus/core/util/MovingAverageLong.java | 59 - gtpp/src/main/java/gtPlusPlus/core/util/Utils.java | 436 --- .../main/java/gtPlusPlus/core/util/data/AES.java | 135 - .../java/gtPlusPlus/core/util/data/ArrayUtils.java | 44 - .../java/gtPlusPlus/core/util/data/FileUtils.java | 112 - .../gtPlusPlus/core/util/data/LocaleUtils.java | 86 - .../gtPlusPlus/core/util/data/StringUtils.java | 177 - .../java/gtPlusPlus/core/util/math/MathUtils.java | 528 --- .../core/util/minecraft/EntityUtils.java | 146 - .../gtPlusPlus/core/util/minecraft/FluidUtils.java | 667 ---- .../core/util/minecraft/InventoryUtils.java | 68 - .../gtPlusPlus/core/util/minecraft/ItemUtils.java | 1012 ------ .../gtPlusPlus/core/util/minecraft/LangUtils.java | 41 - .../core/util/minecraft/MaterialUtils.java | 372 -- .../core/util/minecraft/MiningUtils.java | 133 - .../gtPlusPlus/core/util/minecraft/NBTUtils.java | 164 - .../core/util/minecraft/OreDictUtils.java | 20 - .../core/util/minecraft/PlayerUtils.java | 206 -- .../core/util/minecraft/RecipeUtils.java | 465 --- .../util/minecraft/gregtech/PollutionUtils.java | 147 - .../core/util/recipe/GT_RecipeUtils.java | 95 - .../core/util/recipe/RecipeHashStrat.java | 116 - .../core/util/reflect/AddGregtechRecipe.java | 77 - .../core/util/reflect/ReflectionUtils.java | 727 ---- .../gtPlusPlus/core/util/sys/KeyboardUtils.java | 37 - .../core/world/explosions/ExplosionHandler.java | 31 - .../core/world/explosions/MiningExplosion.java | 442 --- .../everglades/GTplusplus_Everglades.java | 194 -- .../everglades/biome/BiomeGenerator_Custom.java | 361 -- .../everglades/biome/Biome_Everglades.java | 83 - .../everglades/biome/GenLayerBiomes.java | 26 - .../everglades/biome/GenLayerEverglades.java | 32 - .../everglades/block/BlockDarkWorldGround.java | 23 - .../block/BlockDarkWorldPollutedDirt.java | 68 - .../block/BlockDarkWorldPortalFrame.java | 26 - .../block/BlockDarkWorldSludgeFluid.java | 70 - .../everglades/block/BlockEvergladesPortal.java | 393 --- .../everglades/block/DarkWorldContentLoader.java | 73 - .../everglades/chunk/ChunkProviderModded.java | 560 --- .../everglades/dimension/Dimension_Everglades.java | 29 - .../everglades/gen/WorldGenDeadLilly.java | 25 - .../everglades/gen/WorldGenMinable_Custom.java | 90 - .../gtPlusPlus/everglades/gen/gt/WorldGen_GT.java | 49 - .../everglades/gen/gt/WorldGen_GT_Base.java | 580 ---- .../everglades/gen/gt/WorldGen_GT_Ore_Layer.java | 590 ---- .../everglades/gen/gt/WorldGen_Ores.java | 263 -- .../everglades/item/ItemBlockToxicEverglades.java | 37 - .../item/ItemEvergladesPortalTrigger.java | 113 - .../everglades/world/TeleporterDimensionMod.java | 472 --- .../everglades/world/WorldChunkManagerCustom.java | 250 -- .../everglades/world/WorldProviderMod.java | 59 - .../gtPlusPlus/nei/DecayableRecipeHandler.java | 273 -- .../java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java | 502 --- .../main/java/gtPlusPlus/nei/NEI_GTPP_Config.java | 102 - .../gtPlusPlus/nei/handlers/NeiTextureHandler.java | 126 - .../plugin/agrichem/AlgaeDefinition.java | 49 - .../gtPlusPlus/plugin/agrichem/AlgaeUtils.java | 10 - .../gtPlusPlus/plugin/agrichem/BioRecipes.java | 1257 ------- .../gtPlusPlus/plugin/agrichem/Core_Agrichem.java | 56 - .../gtPlusPlus/plugin/agrichem/IAlgalItem.java | 12 - .../plugin/agrichem/block/AgrichemFluids.java | 77 - .../agrichem/item/algae/ItemAgrichemBase.java | 268 -- .../plugin/agrichem/item/algae/ItemAlgaeBase.java | 225 -- .../plugin/agrichem/logic/AlgaeGeneticData.java | 129 - .../agrichem/logic/AlgaeGrowthRequirement.java | 4 - .../plugin/fixes/interfaces/IBugFix.java | 6 - .../plugin/fixes/vanilla/Core_VanillaFixes.java | 101 - .../fixes/vanilla/VanillaBackgroundMusicFix.java | 64 - .../plugin/fixes/vanilla/VanillaBedHeightFix.java | 85 - .../plugin/fixes/vanilla/music/MusicTocker.java | 131 - .../gtPlusPlus/plugin/manager/Core_Manager.java | 94 - .../java/gtPlusPlus/preloader/CORE_Preloader.java | 33 - .../gtPlusPlus/preloader/Preloader_GT_OreDict.java | 103 - .../gtPlusPlus/preloader/Preloader_Logger.java | 50 - .../java/gtPlusPlus/preloader/asm/AsmConfig.java | 144 - .../preloader/asm/Preloader_DummyContainer.java | 70 - .../preloader/asm/Preloader_FMLLoadingPlugin.java | 47 - ...ClassTransformer_COFH_OreDictionaryArbiter.java | 187 - .../ClassTransformer_IC2_GetHarvestTool.java | 233 -- .../ClassTransformer_LWJGL_Keyboard.java | 297 -- .../ClassTransformer_TC_ItemWispEssence.java | 317 -- .../transformers/Preloader_ClassTransformer.java | 79 - .../Preloader_Transformer_Handler.java | 92 - .../preloader/keyboard/BetterKeyboard.java | 134 - .../gtPlusPlus/recipes/CokeAndPyrolyseOven.java | 73 - .../java/gtPlusPlus/recipes/RecipeRemovals.java | 107 - .../xmod/bartcrops/HANDLER_CropsPlusPlus.java | 16 - .../xmod/bartcrops/LoaderOfTheCrops.java | 109 - .../bartcrops/abstracts/BaseAestheticCrop.java | 34 - .../xmod/bartcrops/abstracts/BaseCrop.java | 67 - .../bartcrops/abstracts/BaseHarvestableCrop.java | 73 - .../gtPlusPlus/xmod/bartcrops/crops/Crop_Hemp.java | 41 - .../java/gtPlusPlus/xmod/bartworks/BW_Utils.java | 17 - .../gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java | 178 - .../xmod/bop/blocks/BOP_Block_Registrator.java | 173 - .../xmod/bop/blocks/base/LeavesBase.java | 106 - .../gtPlusPlus/xmod/bop/blocks/base/LogBase.java | 85 - .../xmod/bop/blocks/base/SaplingBase.java | 166 - .../xmod/bop/blocks/pine/LeavesPineTree.java | 41 - .../xmod/bop/blocks/pine/LogPineTree.java | 21 - .../xmod/bop/blocks/pine/SaplingPineTree.java | 52 - .../blocks/rainforest/LeavesRainforestTree.java | 25 - .../bop/blocks/rainforest/LogRainforestTree.java | 12 - .../blocks/rainforest/SaplingRainforestTree.java | 65 - .../bop/world/features/trees/WorldGenPineTree.java | 172 - .../features/trees/WorldGenRainForestTree_Ex.java | 310 -- .../java/gtPlusPlus/xmod/forestry/HANDLER_FR.java | 23 - .../xmod/forestry/bees/custom/CustomCombs.java | 94 - .../forestry/bees/custom/GTPP_Bee_Definition.java | 604 ---- .../xmod/forestry/bees/custom/GTPP_Bees.java | 172 - .../bees/custom/GTPP_Branch_Definition.java | 76 - .../xmod/forestry/bees/custom/ItemCustomComb.java | 142 - .../xmod/forestry/bees/handler/GTPP_CombType.java | 62 - .../xmod/forestry/bees/handler/GTPP_DropType.java | 61 - .../forestry/bees/handler/GTPP_PollenType.java | 60 - .../forestry/bees/handler/GTPP_PropolisType.java | 61 - .../xmod/forestry/bees/items/FR_ItemRegistry.java | 120 - .../xmod/forestry/bees/items/FR_StringUtil.java | 14 - .../xmod/forestry/bees/items/MB_FrameType.java | 126 - .../xmod/forestry/bees/items/MB_ItemFrame.java | 142 - .../xmod/forestry/bees/items/output/GTPP_Comb.java | 131 - .../xmod/forestry/bees/items/output/GTPP_Drop.java | 131 - .../forestry/bees/items/output/GTPP_Pollen.java | 92 - .../forestry/bees/items/output/GTPP_Propolis.java | 110 - .../forestry/bees/recipe/FR_Gregtech_Recipes.java | 134 - .../bees/registry/GTPP_AlleleBeeSpecies.java | 50 - .../forestry/bees/registry/GTPP_BeeDefinition.java | 301 -- .../forestry/bees/registry/GTPP_Bee_Mutation.java | 86 - .../xmod/forestry/bees/registry/GTPP_Bees.java | 69 - .../bees/registry/GTPP_BranchDefinition.java | 89 - .../java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java | 98 - .../xmod/gregtech/api/enums/GregtechItemList.java | 980 ------ .../gregtech/api/enums/GregtechOreDictNames.java | 39 - .../gregtech/api/enums/GregtechOrePrefixes.java | 1324 -------- .../gregtech/api/enums/GregtechToolDictNames.java | 9 - .../xmod/gregtech/api/gui/GTPP_UITextures.java | 139 - .../api/gui/widget/ElectricSlotWidget.java | 40 - .../api/interfaces/GregtechItemContainer.java | 40 - .../interfaces/internal/IGregtech_RecipeAdder.java | 380 --- .../internal/Interface_ItemBehaviour.java | 46 - .../internal/Interface_OreRecipeRegistrator.java | 24 - .../interfaces/internal/Interface_ToolStats.java | 202 -- .../gregtech/api/items/Gregtech_Generic_Item.java | 204 -- .../xmod/gregtech/api/items/Gregtech_MetaItem.java | 357 -- .../gregtech/api/items/Gregtech_MetaItem_Base.java | 745 ---- .../gregtech/api/items/Gregtech_MetaItem_X32.java | 266 -- .../xmod/gregtech/api/items/Gregtech_MetaTool.java | 692 ---- .../GT_MetaTileEntity_ChiselBus.java | 78 - .../GT_MetaTileEntity_Hatch_AirIntake.java | 128 - .../GT_MetaTileEntity_Hatch_AirIntake_Extreme.java | 37 - .../GT_MetaTileEntity_Hatch_DynamoBuffer.java | 67 - ...etaTileEntity_Hatch_ElementalDataOrbHolder.java | 229 -- .../GT_MetaTileEntity_Hatch_FluidGenerator.java | 255 -- .../GT_MetaTileEntity_Hatch_InputBattery.java | 235 -- .../GT_MetaTileEntity_Hatch_Muffler_Adv.java | 370 -- .../GT_MetaTileEntity_Hatch_Naquadah.java | 203 -- .../GT_MetaTileEntity_Hatch_OutputBattery.java | 222 -- .../GT_MetaTileEntity_Hatch_Reservoir.java | 75 - .../GT_MetaTileEntity_Hatch_Solidifier.java | 72 - .../GT_MetaTileEntity_Hatch_Steam_BusInput.java | 279 -- .../GT_MetaTileEntity_Hatch_Steam_BusOutput.java | 215 -- .../GT_MetaTileEntity_Hatch_Turbine.java | 435 --- .../GT_MetaTileEntity_Hatch_TurbineProvider.java | 221 -- .../GT_MetaTileEntity_SuperBus_Input.java | 65 - .../GT_MetaTileEntity_SuperBus_Output.java | 105 - .../GregtechMetaPipeEntityFluid.java | 117 - .../GregtechMetaPipeEntity_Cable.java | 156 - .../GregtechMetaTreeFarmerStructural.java | 49 - .../GT_MetaTileEntity_Hatch_CustomFluidBase.java | 214 -- .../base/GregtechMetaTileEntity.java | 74 - .../base/GregtechMetaTransformerHiAmp.java | 117 - .../base/GregtechMeta_MultiBlockBase.java | 1799 ---------- .../base/GregtechMeta_SteamMultiBase.java | 428 --- .../base/generators/GregtechMetaBoilerBase.java | 361 -- .../generators/GregtechMetaSolarGenerator.java | 241 -- .../GregtechRocketFuelGeneratorBase.java | 338 -- .../base/machines/GregtechMetaTreeFarmerBase.java | 180 - .../GT_MetaTileEntity_Hatch_Catalysts.java | 71 - .../GT_MetaTileEntity_Hatch_MillingBalls.java | 71 - .../GT_MetaTileEntity_Hatch_NbtConsumable.java | 353 -- .../api/objects/GTPP_CopiedBlockTexture.java | 28 - .../gregtech/api/objects/GTPP_RenderedTexture.java | 27 - .../gregtech/api/objects/GregtechItemData.java | 147 - .../api/objects/GregtechMaterialStack.java | 55 - .../xmod/gregtech/api/util/GTPP_Config.java | 123 - .../api/util/SpecialBehaviourTooltipHandler.java | 35 - .../xmod/gregtech/common/Meta_GT_Proxy.java | 96 - .../common/blocks/GregtechMetaCasingBlocks.java | 79 - .../common/blocks/GregtechMetaCasingBlocks2.java | 111 - .../common/blocks/GregtechMetaCasingBlocks3.java | 379 --- .../common/blocks/GregtechMetaCasingBlocks4.java | 126 - .../common/blocks/GregtechMetaCasingBlocks5.java | 159 - .../common/blocks/GregtechMetaCasingBlocks6.java | 341 -- .../blocks/GregtechMetaCasingBlocksAbstract.java | 151 - .../GregtechMetaCasingBlocksPipeGearbox.java | 91 - .../common/blocks/GregtechMetaCasingItems.java | 10 - .../blocks/GregtechMetaItemCasingsAbstract.java | 67 - .../blocks/GregtechMetaSpecialMachineCasings.java | 76 - .../blocks/GregtechMetaSpecialMultiCasings.java | 120 - .../blocks/GregtechMetaSpecialMultiCasings2.java | 99 - .../blocks/GregtechMetaTieredCasingBlocks1.java | 84 - .../common/blocks/fluid/GregtechFluidHandler.java | 146 - .../blocks/textures/CasingTextureHandler.java | 57 - .../blocks/textures/CasingTextureHandler2.java | 71 - .../blocks/textures/CasingTextureHandler3.java | 61 - .../blocks/textures/CasingTextureHandler6.java | 25 - .../textures/TexturesCentrifugeMultiblock.java | 151 - .../blocks/textures/TexturesGrinderMultiblock.java | 134 - .../common/blocks/textures/TexturesGtBlock.java | 486 --- .../common/blocks/textures/TexturesGtTools.java | 51 - .../turbine/LargeTurbineTextureHandler.java | 410 --- .../xmod/gregtech/common/covers/CoverManager.java | 16 - .../common/covers/GTPP_Cover_Overflow.java | 203 -- .../common/covers/GTPP_Cover_ToggleVisual.java | 184 - .../gregtech/common/helpers/ChargingHelper.java | 346 -- .../common/helpers/FlotationRecipeHandler.java | 62 - .../gregtech/common/helpers/GT_MethodHelper.java | 19 - .../common/helpers/VolumetricFlaskHelper.java | 125 - .../common/helpers/tesseract/TesseractHelper.java | 256 -- .../gregtech/common/items/MetaCustomCoverItem.java | 222 -- .../common/items/MetaGeneratedGregtechItems.java | 292 -- .../common/items/MetaGeneratedGregtechTools.java | 54 - .../items/behaviours/Behaviour_Choocher.java | 91 - .../behaviours/Behaviour_Electric_Lighter.java | 225 -- .../items/behaviours/Behaviour_Prospecting_Ex.java | 140 - .../common/items/covers/MetaItemCoverCasings.java | 50 - .../gregtech/common/render/GTPP_CapeRenderer.java | 500 --- .../gregtech/common/render/GTPP_FlaskRenderer.java | 107 - .../common/render/GTPP_Render_MachineBlock.java | 1250 ------- .../GT_MetaTileEntity_ElectricAutoWorkbench.java | 873 ----- .../GT_MetaTileEntity_TesseractGenerator.java | 834 ----- .../GT_MetaTileEntity_TesseractTerminal.java | 644 ---- .../generators/GT_MetaTileEntity_Boiler_Base.java | 333 -- .../generators/GT_MetaTileEntity_Boiler_HV.java | 52 - .../generators/GT_MetaTileEntity_Boiler_LV.java | 52 - .../generators/GT_MetaTileEntity_Boiler_MV.java | 52 - .../GT_MetaTileEntity_SemiFluidGenerator.java | 173 - .../GregtechMetaTileEntityGeothermalGenerator.java | 176 - .../GregtechMetaTileEntityRocketFuelGenerator.java | 156 - .../generators/GregtechMetaTileEntity_RTG.java | 379 --- .../GT_MetaTileEntity_ULV_CombustionGenerator.java | 59 - .../ULV/GT_MetaTileEntity_ULV_SteamTurbine.java | 42 - .../basic/GT_MetaTileEntity_CropHarvestor.java | 716 ---- .../GregtechMetaAtmosphericReconditioner.java | 893 ----- .../basic/GregtechMetaPollutionCreator.java | 458 --- .../basic/GregtechMetaPollutionDetector.java | 502 --- .../basic/GregtechMetaTileEntity_AutoChisel.java | 190 -- .../basic/GregtechMetaWirelessCharger.java | 672 ---- .../machines/multi/misc/GMTE_AmazonPackager.java | 168 - ...gtechMetaTileEntity_IndustrialAlloySmelter.java | 223 -- ...regtechMetaTileEntity_IndustrialArcFurnace.java | 337 -- ...regtechMetaTileEntity_IndustrialCentrifuge.java | 228 -- .../GregtechMetaTileEntity_IndustrialChisel.java | 342 -- .../GregtechMetaTileEntity_IndustrialCokeOven.java | 209 -- ...echMetaTileEntity_IndustrialCuttingMachine.java | 230 -- ...regtechMetaTileEntity_IndustrialDehydrator.java | 250 -- ...gtechMetaTileEntity_IndustrialElectrolyzer.java | 169 - .../GregtechMetaTileEntity_IndustrialExtruder.java | 194 -- ...egtechMetaTileEntity_IndustrialFluidHeater.java | 204 -- ...egtechMetaTileEntity_IndustrialForgeHammer.java | 244 -- ...GregtechMetaTileEntity_IndustrialMacerator.java | 458 --- .../GregtechMetaTileEntity_IndustrialMixer.java | 213 -- ...aTileEntity_IndustrialMolecularTransformer.java | 241 -- ...gtechMetaTileEntity_IndustrialMultiMachine.java | 514 --- ...regtechMetaTileEntity_IndustrialPlatePress.java | 218 -- .../GregtechMetaTileEntity_IndustrialSifter.java | 209 -- ...MetaTileEntity_IndustrialThermalCentrifuge.java | 184 - ...techMetaTileEntity_IndustrialVacuumFreezer.java | 261 -- ...GregtechMetaTileEntity_IndustrialWashPlant.java | 372 -- .../GregtechMetaTileEntity_IndustrialWireMill.java | 215 -- .../processing/GregtechMetaTileEntity_IsaMill.java | 529 --- ...hMetaTileEntity_NuclearSaltProcessingPlant.java | 224 -- .../GregtechMetaTileEntity_SpargeTower.java | 507 --- ...egtechMetaTileEntity_Adv_DistillationTower.java | 491 --- .../advanced/GregtechMetaTileEntity_Adv_EBF.java | 333 -- .../GregtechMetaTileEntity_Adv_Fusion_MK4.java | 200 -- .../GregtechMetaTileEntity_Adv_Fusion_MK5.java | 200 -- .../GregtechMetaTileEntity_Adv_HeatExchanger.java | 414 --- .../GregtechMetaTileEntity_Adv_Implosion.java | 177 - .../GregtechMetaTileEntity_SteamCompressor.java | 156 - .../GregtechMetaTileEntity_SteamMacerator.java | 165 - .../multi/production/GT4Entity_AutoCrafter.java | 196 -- .../multi/production/GT4Entity_ThermalBoiler.java | 353 -- .../GregtechMTE_ElementalDuplicator.java | 352 -- .../production/GregtechMTE_FrothFlotationCell.java | 287 -- .../production/GregtechMTE_NuclearReactor.java | 524 --- .../production/GregtechMetaTileEntityTreeFarm.java | 809 ----- .../GregtechMetaTileEntity_AlloyBlastSmelter.java | 235 -- .../GregtechMetaTileEntity_Cyclotron.java | 331 -- ...egtechMetaTileEntity_IndustrialFishingPond.java | 489 --- ...egtechMetaTileEntity_IndustrialRockBreaker.java | 367 -- .../GregtechMetaTileEntity_LargeRocketEngine.java | 524 --- ...techMetaTileEntity_LargeSemifluidGenerator.java | 332 -- .../GregtechMetaTileEntity_MassFabricator.java | 337 -- ...techMetaTileEntity_QuantumForceTransformer.java | 939 ----- .../GregtechMetaTileEntity_Refinery.java | 220 -- .../GregtechMetaTileEntity_SolarTower.java | 675 ---- .../algae/GregtechMTE_AlgaePondBase.java | 376 --- .../chemplant/GregtechMTE_ChemicalPlant.java | 676 ---- ...egTechMetaTileEntity_MegaAlloyBlastSmelter.java | 468 --- .../turbines/GT_MTE_LargeTurbine_Gas.java | 208 -- .../turbines/GT_MTE_LargeTurbine_Plasma.java | 314 -- .../turbines/GT_MTE_LargeTurbine_SCSteam.java | 126 - .../turbines/GT_MTE_LargeTurbine_SHSteam.java | 204 -- .../turbines/GT_MTE_LargeTurbine_Steam.java | 215 -- .../GregtechMetaTileEntity_LargerTurbineBase.java | 893 ----- ...chMetaTileEntity_PowerSubStationController.java | 939 ----- .../tileentities/misc/TileEntitySolarHeater.java | 343 -- .../storage/GT_MetaTileEntity_TieredChest.java | 250 -- .../storage/GT_MetaTileEntity_TieredTank.java | 194 -- .../storage/GregtechMetaEnergyBuffer.java | 439 --- .../GT_MetaTileEntity_InfiniteItemHolder.java | 92 - .../common/tools/TOOL_Gregtech_AngleGrinder.java | 175 - .../common/tools/TOOL_Gregtech_ElectricSnips.java | 96 - .../xmod/gregtech/loaders/Gregtech_Blocks.java | 34 - .../gregtech/loaders/ProcessingAngleGrinder.java | 133 - .../gregtech/loaders/ProcessingElectricSnips.java | 137 - .../gregtech/loaders/RecipeGen_AlloySmelter.java | 63 - .../xmod/gregtech/loaders/RecipeGen_Assembler.java | 69 - .../xmod/gregtech/loaders/RecipeGen_Base.java | 15 - .../gregtech/loaders/RecipeGen_BlastSmelter.java | 321 -- .../loaders/RecipeGen_BlastSmelterGT_GTNH.java | 252 -- .../gregtech/loaders/RecipeGen_DustGeneration.java | 448 --- .../xmod/gregtech/loaders/RecipeGen_Extruder.java | 159 - .../gregtech/loaders/RecipeGen_FluidCanning.java | 222 -- .../xmod/gregtech/loaders/RecipeGen_Fluids.java | 212 -- .../xmod/gregtech/loaders/RecipeGen_Fluorite.java | 267 -- .../loaders/RecipeGen_MaterialProcessing.java | 318 -- .../gregtech/loaders/RecipeGen_MetalRecipe.java | 112 - .../RecipeGen_MultisUsingFluidInsteadOfCells.java | 187 - .../xmod/gregtech/loaders/RecipeGen_Ore.java | 750 ---- .../xmod/gregtech/loaders/RecipeGen_Plasma.java | 62 - .../xmod/gregtech/loaders/RecipeGen_Plates.java | 225 -- .../xmod/gregtech/loaders/RecipeGen_Recycling.java | 400 --- .../gregtech/loaders/RecipeGen_ShapedCrafting.java | 222 -- .../loaders/misc/AddCustomMachineToPA.java | 13 - .../loaders/recipe/RecipeLoader_AlgaeFarm.java | 192 -- .../loaders/recipe/RecipeLoader_ChemicalSkips.java | 661 ---- .../gregtech/loaders/recipe/RecipeLoader_GTNH.java | 45 - .../loaders/recipe/RecipeLoader_GlueLine.java | 395 --- .../gregtech/loaders/recipe/RecipeLoader_LFTR.java | 135 - .../recipe/RecipeLoader_MolecularTransformer.java | 78 - .../loaders/recipe/RecipeLoader_Nuclear.java | 680 ---- .../recipe/RecipeLoader_NuclearFuelProcessing.java | 258 -- .../loaders/recipe/RecipeLoader_TreeFarm.java | 719 ---- .../xmod/gregtech/recipes/GregtechRecipeAdder.java | 1220 ------- .../registration/gregtech/Gregtech4Content.java | 95 - .../gregtech/GregtechAdvancedBoilers.java | 109 - .../gregtech/GregtechAlgaeContent.java | 50 - .../gregtech/GregtechAmazonWarehouse.java | 20 - .../gregtech/GregtechBufferDynamos.java | 133 - .../registration/gregtech/GregtechConduits.java | 1269 ------- .../gregtech/GregtechCustomHatches.java | 278 -- .../registration/gregtech/GregtechCyclotron.java | 19 - .../registration/gregtech/GregtechDehydrator.java | 199 -- .../gregtech/GregtechEnergyBuffer.java | 149 - .../GregtechFactoryGradeReplacementMultis.java | 44 - .../GregtechGeothermalThermalGenerator.java | 78 - .../gregtech/GregtechHiAmpTransformer.java | 163 - .../gregtech/GregtechIndustrialAlloySmelter.java | 21 - .../gregtech/GregtechIndustrialArcFurnace.java | 22 - .../gregtech/GregtechIndustrialBlastSmelter.java | 31 - .../gregtech/GregtechIndustrialCentrifuge.java | 25 - .../gregtech/GregtechIndustrialChisel.java | 24 - .../gregtech/GregtechIndustrialCokeOven.java | 25 - .../gregtech/GregtechIndustrialCuttingFactory.java | 25 - .../gregtech/GregtechIndustrialElectrolyzer.java | 25 - .../GregtechIndustrialElementDuplicator.java | 24 - .../gregtech/GregtechIndustrialExtruder.java | 25 - .../gregtech/GregtechIndustrialFishPond.java | 21 - .../gregtech/GregtechIndustrialFluidHeater.java | 21 - .../gregtech/GregtechIndustrialForgeHammer.java | 21 - .../gregtech/GregtechIndustrialFuelRefinery.java | 25 - .../gregtech/GregtechIndustrialMacerator.java | 25 - .../gregtech/GregtechIndustrialMassFabricator.java | 137 - .../gregtech/GregtechIndustrialMixer.java | 25 - .../gregtech/GregtechIndustrialMultiMachine.java | 24 - .../gregtech/GregtechIndustrialPlatePress.java | 25 - .../gregtech/GregtechIndustrialRockBreaker.java | 15 - .../gregtech/GregtechIndustrialSifter.java | 24 - .../GregtechIndustrialThermalCentrifuge.java | 24 - .../gregtech/GregtechIndustrialTreeFarm.java | 22 - .../gregtech/GregtechIndustrialWashPlant.java | 24 - .../gregtech/GregtechIndustrialWiremill.java | 25 - .../registration/gregtech/GregtechIsaMill.java | 26 - .../registration/gregtech/GregtechLFTR.java | 93 - .../GregtechLargeTurbinesAndHeatExchanger.java | 48 - .../gregtech/GregtechMolecularTransformer.java | 21 - .../GregtechNuclearSaltProcessingPlant.java | 21 - .../gregtech/GregtechPollutionDevices.java | 93 - .../gregtech/GregtechPowerSubStation.java | 61 - .../gregtech/GregtechQuantumForceTransformer.java | 20 - .../registration/gregtech/GregtechRTG.java | 22 - .../gregtech/GregtechRocketFuelGenerator.java | 98 - .../gregtech/GregtechSemiFluidgenerators.java | 46 - .../gregtech/GregtechSimpleWasher.java | 166 - .../registration/gregtech/GregtechSolarTower.java | 46 - .../registration/gregtech/GregtechSteamMultis.java | 30 - .../registration/gregtech/GregtechSuperChests.java | 30 - .../gregtech/GregtechThaumcraftDevices.java | 29 - .../gregtech/GregtechThreadedBuffers.java | 13 - .../gregtech/GregtechTieredFluidTanks.java | 31 - .../gregtech/GregtechTreeFarmerTE.java | 21 - .../gregtech/GregtechWirelessChargers.java | 96 - .../gtPlusPlus/xmod/ic2/CustomInternalName.java | 23 - .../main/java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java | 15 - .../xmod/ic2/item/CustomKineticRotor.java | 244 -- .../java/gtPlusPlus/xmod/ic2/item/IC2_Items.java | 77 - .../gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java | 365 -- .../xmod/pamsharvest/fishtrap/FishTrapHandler.java | 73 - .../xmod/railcraft/HANDLER_Railcraft.java | 217 -- .../xmod/railcraft/utils/RailcraftUtils.java | 22 - .../thaumcraft/commands/CommandDumpAspects.java | 92 - .../thaumcraft/objects/ThreadAspectScanner.java | 165 - .../xmod/thermalfoundation/HANDLER_TF.java | 36 - .../block/TF_Block_Fluid_Cryotheum.java | 178 - .../block/TF_Block_Fluid_Ender.java | 61 - .../block/TF_Block_Fluid_Pyrotheum.java | 192 -- .../xmod/thermalfoundation/block/TF_Blocks.java | 23 - .../xmod/thermalfoundation/fluid/TF_Fluids.java | 69 - .../xmod/thermalfoundation/item/TF_Items.java | 75 - .../recipe/TF_Gregtech_Recipes.java | 93 - .../gtPlusPlus/xmod/tinkers/HANDLER_Tinkers.java | 30 - .../xmod/tinkers/material/BaseTinkersMaterial.java | 200 -- .../xmod/tinkers/util/TinkersDryingRecipe.java | 129 - .../gtPlusPlus/xmod/tinkers/util/TinkersUtils.java | 377 --- .../resources/assets/forestry/AlvearyFrame.png | Bin 931 -> 0 bytes .../resources/assets/forestry/AlvearyMutator.png | Bin 731 -> 0 bytes .../blocks/apiculture/alveary.framehousing.off.png | Bin 670 -> 0 bytes .../blocks/apiculture/alveary.framehousing.on.png | Bin 670 -> 0 bytes .../blocks/apiculture/alveary.mutator.off.png | Bin 558 -> 0 bytes .../blocks/apiculture/alveary.mutator.on.png | Bin 558 -> 0 bytes .../main/resources/assets/gregtech/lang/en_US.lang | 283 -- .../main/resources/assets/gregtech/lang/zh_CN.lang | 223 -- .../basicmachines/cold_trap/OVERLAY_BOTTOM.png | Bin 228 -> 0 bytes .../cold_trap/OVERLAY_BOTTOM_ACTIVE.png | Bin 224 -> 0 bytes .../cold_trap/OVERLAY_BOTTOM_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../cold_trap/OVERLAY_BOTTOM_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/cold_trap/OVERLAY_FRONT.png | Bin 344 -> 0 bytes .../cold_trap/OVERLAY_FRONT_ACTIVE.png | Bin 387 -> 0 bytes .../cold_trap/OVERLAY_FRONT_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/cold_trap/OVERLAY_FRONT_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/cold_trap/OVERLAY_SIDE.png | Bin 345 -> 0 bytes .../cold_trap/OVERLAY_SIDE_ACTIVE.png | Bin 668 -> 0 bytes .../cold_trap/OVERLAY_SIDE_ACTIVE.png.mcmeta | 6 - .../cold_trap/OVERLAY_SIDE_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/cold_trap/OVERLAY_SIDE_GLOW.png | Bin 141 -> 0 bytes .../blocks/basicmachines/cold_trap/OVERLAY_TOP.png | Bin 228 -> 0 bytes .../basicmachines/cold_trap/OVERLAY_TOP_ACTIVE.png | Bin 224 -> 0 bytes .../cold_trap/OVERLAY_TOP_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/cold_trap/OVERLAY_TOP_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/dehydrator/OVERLAY_BOTTOM.png | Bin 141 -> 0 bytes .../dehydrator/OVERLAY_BOTTOM_ACTIVE.png | Bin 141 -> 0 bytes .../dehydrator/OVERLAY_BOTTOM_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../dehydrator/OVERLAY_BOTTOM_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/dehydrator/OVERLAY_FRONT.png | Bin 200 -> 0 bytes .../dehydrator/OVERLAY_FRONT_ACTIVE.png | Bin 194 -> 0 bytes .../dehydrator/OVERLAY_FRONT_ACTIVE_GLOW.png | Bin 137 -> 0 bytes .../dehydrator/OVERLAY_FRONT_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/dehydrator/OVERLAY_SIDE.png | Bin 212 -> 0 bytes .../dehydrator/OVERLAY_SIDE_ACTIVE.png | Bin 317 -> 0 bytes .../dehydrator/OVERLAY_SIDE_ACTIVE_GLOW.png | Bin 269 -> 0 bytes .../basicmachines/dehydrator/OVERLAY_SIDE_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/dehydrator/OVERLAY_TOP.png | Bin 314 -> 0 bytes .../dehydrator/OVERLAY_TOP_ACTIVE.png | Bin 302 -> 0 bytes .../dehydrator/OVERLAY_TOP_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/dehydrator/OVERLAY_TOP_GLOW.png | Bin 141 -> 0 bytes .../reactor_processing_unit/OVERLAY_BOTTOM.png | Bin 367 -> 0 bytes .../OVERLAY_BOTTOM_ACTIVE.png | Bin 366 -> 0 bytes .../OVERLAY_BOTTOM_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../OVERLAY_BOTTOM_GLOW.png | Bin 141 -> 0 bytes .../reactor_processing_unit/OVERLAY_FRONT.png | Bin 439 -> 0 bytes .../OVERLAY_FRONT_ACTIVE.png | Bin 704 -> 0 bytes .../OVERLAY_FRONT_ACTIVE.png.mcmeta | 6 - .../OVERLAY_FRONT_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../reactor_processing_unit/OVERLAY_FRONT_GLOW.png | Bin 141 -> 0 bytes .../reactor_processing_unit/OVERLAY_SIDE.png | Bin 439 -> 0 bytes .../OVERLAY_SIDE_ACTIVE.png | Bin 1049 -> 0 bytes .../OVERLAY_SIDE_ACTIVE.png.mcmeta | 6 - .../OVERLAY_SIDE_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../reactor_processing_unit/OVERLAY_SIDE_GLOW.png | Bin 141 -> 0 bytes .../reactor_processing_unit/OVERLAY_TOP.png | Bin 367 -> 0 bytes .../reactor_processing_unit/OVERLAY_TOP_ACTIVE.png | Bin 366 -> 0 bytes .../OVERLAY_TOP_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../reactor_processing_unit/OVERLAY_TOP_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/simple_washer/OVERLAY_BOTTOM.png | Bin 141 -> 0 bytes .../simple_washer/OVERLAY_BOTTOM_ACTIVE.png | Bin 141 -> 0 bytes .../simple_washer/OVERLAY_BOTTOM_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../simple_washer/OVERLAY_BOTTOM_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/simple_washer/OVERLAY_FRONT.png | Bin 214 -> 0 bytes .../simple_washer/OVERLAY_FRONT_ACTIVE.png | Bin 329 -> 0 bytes .../simple_washer/OVERLAY_FRONT_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../simple_washer/OVERLAY_FRONT_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/simple_washer/OVERLAY_SIDE.png | Bin 214 -> 0 bytes .../simple_washer/OVERLAY_SIDE_ACTIVE.png | Bin 329 -> 0 bytes .../simple_washer/OVERLAY_SIDE_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../simple_washer/OVERLAY_SIDE_GLOW.png | Bin 141 -> 0 bytes .../basicmachines/simple_washer/OVERLAY_TOP.png | Bin 141 -> 0 bytes .../simple_washer/OVERLAY_TOP_ACTIVE.png | Bin 141 -> 0 bytes .../simple_washer/OVERLAY_TOP_ACTIVE_GLOW.png | Bin 141 -> 0 bytes .../simple_washer/OVERLAY_TOP_GLOW.png | Bin 141 -> 0 bytes .../textures/blocks/fluids/fluid.argon.png | Bin 178 -> 0 bytes .../textures/blocks/fluids/fluid.nitrofuel_old.png | Bin 5538 -> 0 bytes .../blocks/fluids/fluid.nitrofuel_old.png.mcmeta | 5 - .../blocks/materialicons/ENRICHED/block1.png | Bin 437 -> 0 bytes .../blocks/materialicons/ENRICHED/block2.png | Bin 459 -> 0 bytes .../blocks/materialicons/ENRICHED/block3.png | Bin 490 -> 0 bytes .../blocks/materialicons/ENRICHED/block4.png | Bin 480 -> 0 bytes .../blocks/materialicons/ENRICHED/block5.png | Bin 414 -> 0 bytes .../blocks/materialicons/ENRICHED/block6.png | Bin 437 -> 0 bytes .../blocks/materialicons/ENRICHED/foil.png | Bin 368 -> 0 bytes .../blocks/materialicons/ENRICHED/frameGt.png | Bin 437 -> 0 bytes .../textures/blocks/materialicons/ENRICHED/ore.png | Bin 271 -> 0 bytes .../blocks/materialicons/ENRICHED/oreSmall.png | Bin 339 -> 0 bytes .../blocks/materialicons/ENRICHED/ore_animated.png | Bin 591 -> 0 bytes .../materialicons/ENRICHED/ore_animated.png.mcmeta | 6 - .../blocks/materialicons/ENRICHED/pipeHuge.png | Bin 348 -> 0 bytes .../blocks/materialicons/ENRICHED/pipeLarge.png | Bin 429 -> 0 bytes .../blocks/materialicons/ENRICHED/pipeMedium.png | Bin 429 -> 0 bytes .../blocks/materialicons/ENRICHED/pipeSide.png | Bin 401 -> 0 bytes .../blocks/materialicons/ENRICHED/pipeSmall.png | Bin 427 -> 0 bytes .../blocks/materialicons/ENRICHED/pipeTiny.png | Bin 418 -> 0 bytes .../blocks/materialicons/ENRICHED/void.png | Bin 143 -> 0 bytes .../blocks/materialicons/ENRICHED/wire.png | Bin 513 -> 0 bytes .../textures/blocks/materialicons/GEM_A/block1.png | Bin 490 -> 0 bytes .../textures/blocks/materialicons/GEM_A/block2.png | Bin 459 -> 0 bytes .../textures/blocks/materialicons/GEM_A/block3.png | Bin 490 -> 0 bytes .../textures/blocks/materialicons/GEM_A/block4.png | Bin 480 -> 0 bytes .../textures/blocks/materialicons/GEM_A/block5.png | Bin 414 -> 0 bytes .../textures/blocks/materialicons/GEM_A/block6.png | Bin 437 -> 0 bytes .../textures/blocks/materialicons/GEM_A/foil.png | Bin 368 -> 0 bytes .../blocks/materialicons/GEM_A/frameGt.png | Bin 437 -> 0 bytes .../textures/blocks/materialicons/GEM_A/ore.png | Bin 280 -> 0 bytes .../blocks/materialicons/GEM_A/oreSmall.png | Bin 339 -> 0 bytes .../blocks/materialicons/GEM_A/pipeHuge.png | Bin 348 -> 0 bytes .../blocks/materialicons/GEM_A/pipeLarge.png | Bin 429 -> 0 bytes .../blocks/materialicons/GEM_A/pipeMedium.png | Bin 429 -> 0 bytes .../blocks/materialicons/GEM_A/pipeSide.png | Bin 401 -> 0 bytes .../blocks/materialicons/GEM_A/pipeSmall.png | Bin 427 -> 0 bytes .../blocks/materialicons/GEM_A/pipeTiny.png | Bin 418 -> 0 bytes .../textures/blocks/materialicons/GEM_A/void.png | Bin 143 -> 0 bytes .../textures/blocks/materialicons/GEM_A/wire.png | Bin 513 -> 0 bytes .../blocks/materialicons/NUCLEAR/block1.png | Bin 437 -> 0 bytes .../blocks/materialicons/NUCLEAR/block2.png | Bin 459 -> 0 bytes .../blocks/materialicons/NUCLEAR/block3.png | Bin 490 -> 0 bytes .../blocks/materialicons/NUCLEAR/block4.png | Bin 480 -> 0 bytes .../blocks/materialicons/NUCLEAR/block5.png | Bin 414 -> 0 bytes .../blocks/materialicons/NUCLEAR/block6.png | Bin 437 -> 0 bytes .../textures/blocks/materialicons/NUCLEAR/foil.png | Bin 368 -> 0 bytes .../blocks/materialicons/NUCLEAR/frameGt.png | Bin 437 -> 0 bytes .../textures/blocks/materialicons/NUCLEAR/ore.png | Bin 589 -> 0 bytes .../blocks/materialicons/NUCLEAR/ore.png.mcmeta | 6 - .../blocks/materialicons/NUCLEAR/oreSmall.png | Bin 339 -> 0 bytes .../blocks/materialicons/NUCLEAR/pipeHuge.png | Bin 348 -> 0 bytes .../blocks/materialicons/NUCLEAR/pipeLarge.png | Bin 429 -> 0 bytes .../blocks/materialicons/NUCLEAR/pipeMedium.png | Bin 429 -> 0 bytes .../blocks/materialicons/NUCLEAR/pipeSide.png | Bin 401 -> 0 bytes .../blocks/materialicons/NUCLEAR/pipeSmall.png | Bin 427 -> 0 bytes .../blocks/materialicons/NUCLEAR/pipeTiny.png | Bin 418 -> 0 bytes .../textures/blocks/materialicons/NUCLEAR/void.png | Bin 143 -> 0 bytes .../textures/blocks/materialicons/NUCLEAR/wire.png | Bin 513 -> 0 bytes .../blocks/materialicons/REFINED/block1.png | Bin 487 -> 0 bytes .../blocks/materialicons/REFINED/block2.png | Bin 459 -> 0 bytes .../blocks/materialicons/REFINED/block3.png | Bin 490 -> 0 bytes .../blocks/materialicons/REFINED/block4.png | Bin 480 -> 0 bytes .../blocks/materialicons/REFINED/block5.png | Bin 414 -> 0 bytes .../blocks/materialicons/REFINED/block6.png | Bin 437 -> 0 bytes .../textures/blocks/materialicons/REFINED/foil.png | Bin 368 -> 0 bytes .../blocks/materialicons/REFINED/frameGt.png | Bin 437 -> 0 bytes .../textures/blocks/materialicons/REFINED/ore.png | Bin 632 -> 0 bytes .../blocks/materialicons/REFINED/oreSmall.png | Bin 339 -> 0 bytes .../blocks/materialicons/REFINED/pipeHuge.png | Bin 500 -> 0 bytes .../blocks/materialicons/REFINED/pipeLarge.png | Bin 555 -> 0 bytes .../blocks/materialicons/REFINED/pipeMedium.png | Bin 569 -> 0 bytes .../blocks/materialicons/REFINED/pipeSide.png | Bin 540 -> 0 bytes .../blocks/materialicons/REFINED/pipeSmall.png | Bin 545 -> 0 bytes .../blocks/materialicons/REFINED/pipeTiny.png | Bin 560 -> 0 bytes .../textures/blocks/materialicons/REFINED/void.png | Bin 143 -> 0 bytes .../textures/blocks/materialicons/REFINED/wire.png | Bin 513 -> 0 bytes .../textures/gui/basicmachines/FissionFuel.png | Bin 2393 -> 0 bytes .../textures/items/gt.Volumetric_Flask_32k.png | Bin 1013 -> 0 bytes .../items/gt.Volumetric_Flask_32k.window.png | Bin 399 -> 0 bytes .../textures/items/gt.Volumetric_Flask_8k.png | Bin 1010 -> 0 bytes .../items/gt.Volumetric_Flask_8k.window.png | Bin 398 -> 0 bytes .../items/materialicons/ENRICHED/TURBINE_BLADE.png | Bin 395 -> 0 bytes .../ENRICHED/TURBINE_BLADE_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/ENRICHED/arrowGtPlastic.png | Bin 291 -> 0 bytes .../ENRICHED/arrowGtPlastic_OVERLAY.png | Bin 289 -> 0 bytes .../items/materialicons/ENRICHED/arrowGtWood.png | Bin 291 -> 0 bytes .../materialicons/ENRICHED/arrowGtWood_OVERLAY.png | Bin 302 -> 0 bytes .../textures/items/materialicons/ENRICHED/bolt.png | Bin 161 -> 0 bytes .../items/materialicons/ENRICHED/bolt_OVERLAY.png | Bin 206 -> 0 bytes .../textures/items/materialicons/ENRICHED/cell.png | Bin 328 -> 0 bytes .../items/materialicons/ENRICHED/cellPlasma.png | Bin 328 -> 0 bytes .../materialicons/ENRICHED/cellPlasma_OVERLAY.png | Bin 290 -> 0 bytes .../items/materialicons/ENRICHED/cell_OVERLAY.png | Bin 309 -> 0 bytes .../items/materialicons/ENRICHED/crateGtDust.png | Bin 370 -> 0 bytes .../materialicons/ENRICHED/crateGtDust_OVERLAY.png | Bin 506 -> 0 bytes .../items/materialicons/ENRICHED/crateGtGem.png | Bin 401 -> 0 bytes .../materialicons/ENRICHED/crateGtGem_OVERLAY.png | Bin 526 -> 0 bytes .../items/materialicons/ENRICHED/crateGtIngot.png | Bin 380 -> 0 bytes .../ENRICHED/crateGtIngot_OVERLAY.png | Bin 517 -> 0 bytes .../items/materialicons/ENRICHED/crateGtPlate.png | Bin 455 -> 0 bytes .../ENRICHED/crateGtPlate_OVERLAY.png | Bin 449 -> 0 bytes .../items/materialicons/ENRICHED/crushed.png | Bin 441 -> 0 bytes .../materialicons/ENRICHED/crushedCentrifuged.png | Bin 561 -> 0 bytes .../ENRICHED/crushedCentrifuged_OVERLAY.png | Bin 430 -> 0 bytes .../materialicons/ENRICHED/crushedPurified.png | Bin 460 -> 0 bytes .../ENRICHED/crushedPurified_OVERLAY.png | Bin 583 -> 0 bytes .../materialicons/ENRICHED/crushed_OVERLAY.png | Bin 426 -> 0 bytes .../textures/items/materialicons/ENRICHED/dust.png | Bin 312 -> 0 bytes .../items/materialicons/ENRICHED/dustImpure.png | Bin 312 -> 0 bytes .../materialicons/ENRICHED/dustImpure_OVERLAY.png | Bin 415 -> 0 bytes .../items/materialicons/ENRICHED/dustPure.png | Bin 312 -> 0 bytes .../materialicons/ENRICHED/dustPure_OVERLAY.png | Bin 383 -> 0 bytes .../items/materialicons/ENRICHED/dustSmall.png | Bin 286 -> 0 bytes .../materialicons/ENRICHED/dustSmall_OVERLAY.png | Bin 252 -> 0 bytes .../items/materialicons/ENRICHED/dustTiny.png | Bin 221 -> 0 bytes .../materialicons/ENRICHED/dustTiny_OVERLAY.png | Bin 221 -> 0 bytes .../items/materialicons/ENRICHED/dust_OVERLAY.png | Bin 222 -> 0 bytes .../textures/items/materialicons/ENRICHED/foil.png | Bin 475 -> 0 bytes .../items/materialicons/ENRICHED/foil_OVERLAY.png | Bin 539 -> 0 bytes .../items/materialicons/ENRICHED/gearGt.png | Bin 434 -> 0 bytes .../items/materialicons/ENRICHED/gearGtSmall.png | Bin 563 -> 0 bytes .../materialicons/ENRICHED/gearGtSmall_OVERLAY.png | Bin 365 -> 0 bytes .../materialicons/ENRICHED/gearGt_OVERLAY.png | Bin 503 -> 0 bytes .../textures/items/materialicons/ENRICHED/gem.png | Bin 419 -> 0 bytes .../items/materialicons/ENRICHED/gemChipped.png | Bin 575 -> 0 bytes .../materialicons/ENRICHED/gemChipped_OVERLAY.png | Bin 465 -> 0 bytes .../items/materialicons/ENRICHED/gemExquisite.png | Bin 619 -> 0 bytes .../ENRICHED/gemExquisite_OVERLAY.png | Bin 613 -> 0 bytes .../items/materialicons/ENRICHED/gemFlawed.png | Bin 504 -> 0 bytes .../materialicons/ENRICHED/gemFlawed_OVERLAY.png | Bin 487 -> 0 bytes .../items/materialicons/ENRICHED/gemFlawless.png | Bin 691 -> 0 bytes .../materialicons/ENRICHED/gemFlawless_OVERLAY.png | Bin 504 -> 0 bytes .../items/materialicons/ENRICHED/gem_OVERLAY.png | Bin 465 -> 0 bytes .../items/materialicons/ENRICHED/handleMallet.png | Bin 356 -> 0 bytes .../ENRICHED/handleMallet_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/ENRICHED/ingot.png | Bin 344 -> 0 bytes .../items/materialicons/ENRICHED/ingotDouble.png | Bin 403 -> 0 bytes .../materialicons/ENRICHED/ingotDouble_OVERLAY.png | Bin 419 -> 0 bytes .../items/materialicons/ENRICHED/ingotHot.png | Bin 335 -> 0 bytes .../materialicons/ENRICHED/ingotHot_OVERLAY.png | Bin 309 -> 0 bytes .../materialicons/ENRICHED/ingotQuadruple.png | Bin 375 -> 0 bytes .../ENRICHED/ingotQuadruple_OVERLAY.png | Bin 379 -> 0 bytes .../materialicons/ENRICHED/ingotQuintuple.png | Bin 358 -> 0 bytes .../ENRICHED/ingotQuintuple_OVERLAY.png | Bin 362 -> 0 bytes .../items/materialicons/ENRICHED/ingotTriple.png | Bin 388 -> 0 bytes .../materialicons/ENRICHED/ingotTriple_OVERLAY.png | Bin 395 -> 0 bytes .../items/materialicons/ENRICHED/ingot_OVERLAY.png | Bin 365 -> 0 bytes .../textures/items/materialicons/ENRICHED/lens.png | Bin 296 -> 0 bytes .../items/materialicons/ENRICHED/lens_OVERLAY.png | Bin 594 -> 0 bytes .../items/materialicons/ENRICHED/nugget.png | Bin 250 -> 0 bytes .../materialicons/ENRICHED/nugget_OVERLAY.png | Bin 261 -> 0 bytes .../items/materialicons/ENRICHED/oreRaw.png | Bin 295 -> 0 bytes .../materialicons/ENRICHED/oreRaw_OVERLAY.png | Bin 1646 -> 0 bytes .../items/materialicons/ENRICHED/plate.png | Bin 275 -> 0 bytes .../items/materialicons/ENRICHED/plateDense.png | Bin 298 -> 0 bytes .../materialicons/ENRICHED/plateDense_OVERLAY.png | Bin 322 -> 0 bytes .../items/materialicons/ENRICHED/plateDouble.png | Bin 297 -> 0 bytes .../materialicons/ENRICHED/plateDouble_OVERLAY.png | Bin 338 -> 0 bytes .../materialicons/ENRICHED/plateQuadruple.png | Bin 310 -> 0 bytes .../ENRICHED/plateQuadruple_OVERLAY.png | Bin 372 -> 0 bytes .../materialicons/ENRICHED/plateQuintuple.png | Bin 312 -> 0 bytes .../ENRICHED/plateQuintuple_OVERLAY.png | Bin 380 -> 0 bytes .../items/materialicons/ENRICHED/plateTriple.png | Bin 304 -> 0 bytes .../materialicons/ENRICHED/plateTriple_OVERLAY.png | Bin 360 -> 0 bytes .../items/materialicons/ENRICHED/plate_OVERLAY.png | Bin 300 -> 0 bytes .../textures/items/materialicons/ENRICHED/ring.png | Bin 311 -> 0 bytes .../items/materialicons/ENRICHED/ring_OVERLAY.png | Bin 413 -> 0 bytes .../items/materialicons/ENRICHED/rotor.png | Bin 443 -> 0 bytes .../items/materialicons/ENRICHED/rotor_OVERLAY.png | Bin 470 -> 0 bytes .../items/materialicons/ENRICHED/round.png | Bin 200 -> 0 bytes .../items/materialicons/ENRICHED/round_OVERLAY.png | Bin 205 -> 0 bytes .../items/materialicons/ENRICHED/screw.png | Bin 199 -> 0 bytes .../items/materialicons/ENRICHED/screw_OVERLAY.png | Bin 226 -> 0 bytes .../items/materialicons/ENRICHED/spring.png | Bin 276 -> 0 bytes .../items/materialicons/ENRICHED/springSmall.png | Bin 317 -> 0 bytes .../materialicons/ENRICHED/springSmall_OVERLAY.png | Bin 283 -> 0 bytes .../materialicons/ENRICHED/spring_OVERLAY.png | Bin 304 -> 0 bytes .../items/materialicons/ENRICHED/stick.png | Bin 230 -> 0 bytes .../items/materialicons/ENRICHED/stickLong.png | Bin 246 -> 0 bytes .../materialicons/ENRICHED/stickLong_OVERLAY.png | Bin 217 -> 0 bytes .../items/materialicons/ENRICHED/stick_OVERLAY.png | Bin 248 -> 0 bytes .../items/materialicons/ENRICHED/toolHeadArrow.png | Bin 424 -> 0 bytes .../ENRICHED/toolHeadArrow_OVERLAY.png | Bin 309 -> 0 bytes .../items/materialicons/ENRICHED/toolHeadAxe.png | Bin 255 -> 0 bytes .../materialicons/ENRICHED/toolHeadAxe_OVERLAY.png | Bin 250 -> 0 bytes .../materialicons/ENRICHED/toolHeadBuzzSaw.png | Bin 533 -> 0 bytes .../ENRICHED/toolHeadBuzzSaw_OVERLAY.png | Bin 557 -> 0 bytes .../materialicons/ENRICHED/toolHeadChainsaw.png | Bin 531 -> 0 bytes .../ENRICHED/toolHeadChainsaw_OVERLAY.png | Bin 347 -> 0 bytes .../items/materialicons/ENRICHED/toolHeadDrill.png | Bin 525 -> 0 bytes .../ENRICHED/toolHeadDrill_OVERLAY.png | Bin 348 -> 0 bytes .../items/materialicons/ENRICHED/toolHeadFile.png | Bin 257 -> 0 bytes .../ENRICHED/toolHeadFile_OVERLAY.png | Bin 295 -> 0 bytes .../materialicons/ENRICHED/toolHeadHammer.png | Bin 235 -> 0 bytes .../ENRICHED/toolHeadHammer_OVERLAY.png | Bin 253 -> 0 bytes .../items/materialicons/ENRICHED/toolHeadHoe.png | Bin 230 -> 0 bytes .../materialicons/ENRICHED/toolHeadHoe_OVERLAY.png | Bin 240 -> 0 bytes .../materialicons/ENRICHED/toolHeadMallet.png | Bin 340 -> 0 bytes .../ENRICHED/toolHeadMallet_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/ENRICHED/toolHeadPickaxe.png | Bin 241 -> 0 bytes .../ENRICHED/toolHeadPickaxe_OVERLAY.png | Bin 280 -> 0 bytes .../items/materialicons/ENRICHED/toolHeadPlow.png | Bin 268 -> 0 bytes .../ENRICHED/toolHeadPlow_OVERLAY.png | Bin 271 -> 0 bytes .../items/materialicons/ENRICHED/toolHeadSaw.png | Bin 258 -> 0 bytes .../materialicons/ENRICHED/toolHeadSaw_OVERLAY.png | Bin 280 -> 0 bytes .../materialicons/ENRICHED/toolHeadScrewdriver.png | Bin 178 -> 0 bytes .../ENRICHED/toolHeadScrewdriver_OVERLAY.png | Bin 231 -> 0 bytes .../items/materialicons/ENRICHED/toolHeadSense.png | Bin 259 -> 0 bytes .../ENRICHED/toolHeadSense_OVERLAY.png | Bin 285 -> 0 bytes .../materialicons/ENRICHED/toolHeadShovel.png | Bin 251 -> 0 bytes .../ENRICHED/toolHeadShovel_OVERLAY.png | Bin 270 -> 0 bytes .../materialicons/ENRICHED/toolHeadSoldering.png | Bin 314 -> 0 bytes .../ENRICHED/toolHeadSoldering_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/ENRICHED/toolHeadSword.png | Bin 269 -> 0 bytes .../ENRICHED/toolHeadSword_OVERLAY.png | Bin 280 -> 0 bytes .../ENRICHED/toolHeadUniversalSpade.png | Bin 254 -> 0 bytes .../ENRICHED/toolHeadUniversalSpade_OVERLAY.png | Bin 262 -> 0 bytes .../materialicons/ENRICHED/toolHeadWrench.png | Bin 517 -> 0 bytes .../ENRICHED/toolHeadWrench_OVERLAY.png | Bin 310 -> 0 bytes .../items/materialicons/ENRICHED/turbineBlade.png | Bin 395 -> 0 bytes .../ENRICHED/turbineBlade_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/ENRICHED/void.png | Bin 143 -> 0 bytes .../items/materialicons/ENRICHED/void_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/ENRICHED/wireFine.png | Bin 481 -> 0 bytes .../materialicons/ENRICHED/wireFine_OVERLAY.png | Bin 458 -> 0 bytes .../items/materialicons/GEM_A/TURBINE_BLADE.png | Bin 395 -> 0 bytes .../materialicons/GEM_A/TURBINE_BLADE_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/arrowGtPlastic.png | Bin 297 -> 0 bytes .../materialicons/GEM_A/arrowGtPlastic_OVERLAY.png | Bin 283 -> 0 bytes .../items/materialicons/GEM_A/arrowGtWood.png | Bin 297 -> 0 bytes .../materialicons/GEM_A/arrowGtWood_OVERLAY.png | Bin 294 -> 0 bytes .../textures/items/materialicons/GEM_A/bolt.png | Bin 161 -> 0 bytes .../items/materialicons/GEM_A/bolt_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/GEM_A/cell.png | Bin 328 -> 0 bytes .../items/materialicons/GEM_A/cellPlasma.png | Bin 328 -> 0 bytes .../materialicons/GEM_A/cellPlasma_OVERLAY.png | Bin 290 -> 0 bytes .../items/materialicons/GEM_A/cell_OVERLAY.png | Bin 309 -> 0 bytes .../items/materialicons/GEM_A/crateGtDust.png | Bin 370 -> 0 bytes .../materialicons/GEM_A/crateGtDust_OVERLAY.png | Bin 506 -> 0 bytes .../items/materialicons/GEM_A/crateGtGem.png | Bin 401 -> 0 bytes .../materialicons/GEM_A/crateGtGem_OVERLAY.png | Bin 526 -> 0 bytes .../items/materialicons/GEM_A/crateGtIngot.png | Bin 380 -> 0 bytes .../materialicons/GEM_A/crateGtIngot_OVERLAY.png | Bin 517 -> 0 bytes .../items/materialicons/GEM_A/crateGtPlate.png | Bin 455 -> 0 bytes .../materialicons/GEM_A/crateGtPlate_OVERLAY.png | Bin 449 -> 0 bytes .../textures/items/materialicons/GEM_A/crushed.png | Bin 441 -> 0 bytes .../materialicons/GEM_A/crushedCentrifuged.png | Bin 561 -> 0 bytes .../GEM_A/crushedCentrifuged_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/crushedPurified.png | Bin 460 -> 0 bytes .../GEM_A/crushedPurified_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/crushed_OVERLAY.png | Bin 448 -> 0 bytes .../textures/items/materialicons/GEM_A/dust.png | Bin 312 -> 0 bytes .../items/materialicons/GEM_A/dustImpure.png | Bin 312 -> 0 bytes .../materialicons/GEM_A/dustImpure_OVERLAY.png | Bin 430 -> 0 bytes .../items/materialicons/GEM_A/dustPure.png | Bin 312 -> 0 bytes .../items/materialicons/GEM_A/dustPure_OVERLAY.png | Bin 424 -> 0 bytes .../items/materialicons/GEM_A/dustSmall.png | Bin 286 -> 0 bytes .../materialicons/GEM_A/dustSmall_OVERLAY.png | Bin 149 -> 0 bytes .../items/materialicons/GEM_A/dustTiny.png | Bin 221 -> 0 bytes .../items/materialicons/GEM_A/dustTiny_OVERLAY.png | Bin 149 -> 0 bytes .../items/materialicons/GEM_A/dust_OVERLAY.png | Bin 172 -> 0 bytes .../textures/items/materialicons/GEM_A/foil.png | Bin 475 -> 0 bytes .../items/materialicons/GEM_A/foil_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/GEM_A/gearGt.png | Bin 434 -> 0 bytes .../items/materialicons/GEM_A/gearGtSmall.png | Bin 563 -> 0 bytes .../materialicons/GEM_A/gearGtSmall_OVERLAY.png | Bin 312 -> 0 bytes .../items/materialicons/GEM_A/gearGt_OVERLAY.png | Bin 172 -> 0 bytes .../textures/items/materialicons/GEM_A/gem.png | Bin 341 -> 0 bytes .../items/materialicons/GEM_A/gemChipped.png | Bin 575 -> 0 bytes .../materialicons/GEM_A/gemChipped_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/gemExquisite.png | Bin 619 -> 0 bytes .../materialicons/GEM_A/gemExquisite_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/gemFlawed.png | Bin 504 -> 0 bytes .../materialicons/GEM_A/gemFlawed_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/gemFlawless.png | Bin 691 -> 0 bytes .../materialicons/GEM_A/gemFlawless_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/gem_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/handleMallet.png | Bin 356 -> 0 bytes .../materialicons/GEM_A/handleMallet_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/GEM_A/ingot.png | Bin 344 -> 0 bytes .../items/materialicons/GEM_A/ingotDouble.png | Bin 403 -> 0 bytes .../materialicons/GEM_A/ingotDouble_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/ingotHot.png | Bin 335 -> 0 bytes .../items/materialicons/GEM_A/ingotHot_OVERLAY.png | Bin 309 -> 0 bytes .../items/materialicons/GEM_A/ingotQuadruple.png | Bin 375 -> 0 bytes .../materialicons/GEM_A/ingotQuadruple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/ingotQuintuple.png | Bin 358 -> 0 bytes .../materialicons/GEM_A/ingotQuintuple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/ingotTriple.png | Bin 388 -> 0 bytes .../materialicons/GEM_A/ingotTriple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/ingot_OVERLAY.png | Bin 180 -> 0 bytes .../textures/items/materialicons/GEM_A/lens.png | Bin 296 -> 0 bytes .../items/materialicons/GEM_A/lens_OVERLAY.png | Bin 556 -> 0 bytes .../textures/items/materialicons/GEM_A/nugget.png | Bin 250 -> 0 bytes .../items/materialicons/GEM_A/nugget_OVERLAY.png | Bin 163 -> 0 bytes .../textures/items/materialicons/GEM_A/oreRaw.png | Bin 417 -> 0 bytes .../items/materialicons/GEM_A/oreRaw_OVERLAY.png | Bin 376 -> 0 bytes .../textures/items/materialicons/GEM_A/plate.png | Bin 275 -> 0 bytes .../items/materialicons/GEM_A/plateDense.png | Bin 298 -> 0 bytes .../materialicons/GEM_A/plateDense_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/plateDouble.png | Bin 297 -> 0 bytes .../materialicons/GEM_A/plateDouble_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/plateQuadruple.png | Bin 310 -> 0 bytes .../materialicons/GEM_A/plateQuadruple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/plateQuintuple.png | Bin 312 -> 0 bytes .../materialicons/GEM_A/plateQuintuple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/plateTriple.png | Bin 304 -> 0 bytes .../materialicons/GEM_A/plateTriple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/plate_OVERLAY.png | Bin 173 -> 0 bytes .../textures/items/materialicons/GEM_A/ring.png | Bin 311 -> 0 bytes .../items/materialicons/GEM_A/ring_OVERLAY.png | Bin 174 -> 0 bytes .../textures/items/materialicons/GEM_A/rotor.png | Bin 443 -> 0 bytes .../items/materialicons/GEM_A/rotor_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/GEM_A/round.png | Bin 200 -> 0 bytes .../items/materialicons/GEM_A/round_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/GEM_A/screw.png | Bin 199 -> 0 bytes .../items/materialicons/GEM_A/screw_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/GEM_A/spring.png | Bin 276 -> 0 bytes .../items/materialicons/GEM_A/springSmall.png | Bin 317 -> 0 bytes .../materialicons/GEM_A/springSmall_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/spring_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/GEM_A/stick.png | Bin 230 -> 0 bytes .../items/materialicons/GEM_A/stickLong.png | Bin 246 -> 0 bytes .../materialicons/GEM_A/stickLong_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/stick_OVERLAY.png | Bin 230 -> 0 bytes .../items/materialicons/GEM_A/toolHeadArrow.png | Bin 399 -> 0 bytes .../materialicons/GEM_A/toolHeadArrow_OVERLAY.png | Bin 183 -> 0 bytes .../items/materialicons/GEM_A/toolHeadAxe.png | Bin 255 -> 0 bytes .../materialicons/GEM_A/toolHeadAxe_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadBuzzSaw.png | Bin 533 -> 0 bytes .../GEM_A/toolHeadBuzzSaw_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadChainsaw.png | Bin 531 -> 0 bytes .../GEM_A/toolHeadChainsaw_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadDrill.png | Bin 525 -> 0 bytes .../materialicons/GEM_A/toolHeadDrill_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadFile.png | Bin 257 -> 0 bytes .../materialicons/GEM_A/toolHeadFile_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadHammer.png | Bin 235 -> 0 bytes .../materialicons/GEM_A/toolHeadHammer_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadHoe.png | Bin 230 -> 0 bytes .../materialicons/GEM_A/toolHeadHoe_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadMallet.png | Bin 340 -> 0 bytes .../materialicons/GEM_A/toolHeadMallet_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadPickaxe.png | Bin 241 -> 0 bytes .../GEM_A/toolHeadPickaxe_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadPlow.png | Bin 268 -> 0 bytes .../materialicons/GEM_A/toolHeadPlow_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadSaw.png | Bin 258 -> 0 bytes .../materialicons/GEM_A/toolHeadSaw_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/GEM_A/toolHeadScrewdriver.png | Bin 178 -> 0 bytes .../GEM_A/toolHeadScrewdriver_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadSense.png | Bin 259 -> 0 bytes .../materialicons/GEM_A/toolHeadSense_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadShovel.png | Bin 251 -> 0 bytes .../materialicons/GEM_A/toolHeadShovel_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/GEM_A/toolHeadSoldering.png | Bin 314 -> 0 bytes .../GEM_A/toolHeadSoldering_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadSword.png | Bin 269 -> 0 bytes .../materialicons/GEM_A/toolHeadSword_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/GEM_A/toolHeadUniversalSpade.png | Bin 254 -> 0 bytes .../GEM_A/toolHeadUniversalSpade_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/toolHeadWrench.png | Bin 517 -> 0 bytes .../materialicons/GEM_A/toolHeadWrench_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/turbineBlade.png | Bin 395 -> 0 bytes .../materialicons/GEM_A/turbineBlade_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/GEM_A/void.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/void_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/GEM_A/wireFine.png | Bin 481 -> 0 bytes .../items/materialicons/GEM_A/wireFine_OVERLAY.png | Bin 271 -> 0 bytes .../items/materialicons/NUCLEAR/Fiery/cell.png | Bin 328 -> 0 bytes .../materialicons/NUCLEAR/Fiery/cellPlasma.png | Bin 328 -> 0 bytes .../NUCLEAR/Fiery/cellPlasma_OVERLAY.png | Bin 290 -> 0 bytes .../materialicons/NUCLEAR/Fiery/cell_OVERLAY.png | Bin 309 -> 0 bytes .../materialicons/NUCLEAR/Fiery/crateGtDust.png | Bin 370 -> 0 bytes .../NUCLEAR/Fiery/crateGtDust_OVERLAY.png | Bin 506 -> 0 bytes .../materialicons/NUCLEAR/Fiery/crateGtGem.png | Bin 401 -> 0 bytes .../NUCLEAR/Fiery/crateGtGem_OVERLAY.png | Bin 526 -> 0 bytes .../materialicons/NUCLEAR/Fiery/crateGtIngot.png | Bin 380 -> 0 bytes .../NUCLEAR/Fiery/crateGtIngot_OVERLAY.png | Bin 517 -> 0 bytes .../materialicons/NUCLEAR/Fiery/crateGtPlate.png | Bin 455 -> 0 bytes .../NUCLEAR/Fiery/crateGtPlate_OVERLAY.png | Bin 449 -> 0 bytes .../NUCLEAR/Fiery/crushedCentrifuged_OVERLAY.png | Bin 430 -> 0 bytes .../NUCLEAR/Fiery/crushedPurified_OVERLAY.png | Bin 583 -> 0 bytes .../NUCLEAR/Fiery/crushed_OVERLAY.png | Bin 426 -> 0 bytes .../NUCLEAR/Fiery/dustTiny_OVERLAY.png | Bin 221 -> 0 bytes .../materialicons/NUCLEAR/Fiery/dust_OVERLAY.png | Bin 222 -> 0 bytes .../materialicons/NUCLEAR/Fiery/foil_OVERLAY.png | Bin 539 -> 0 bytes .../NUCLEAR/Fiery/gearGtSmall_OVERLAY.png | Bin 365 -> 0 bytes .../materialicons/NUCLEAR/Fiery/gearGt_OVERLAY.png | Bin 503 -> 0 bytes .../NUCLEAR/Fiery/gemChipped_OVERLAY.png | Bin 465 -> 0 bytes .../NUCLEAR/Fiery/gemExquisite_OVERLAY.png | Bin 613 -> 0 bytes .../NUCLEAR/Fiery/gemFlawed_OVERLAY.png | Bin 487 -> 0 bytes .../NUCLEAR/Fiery/gemFlawless_OVERLAY.png | Bin 504 -> 0 bytes .../materialicons/NUCLEAR/Fiery/gem_OVERLAY.png | Bin 465 -> 0 bytes .../NUCLEAR/Fiery/ingotDouble_OVERLAY.png | Bin 419 -> 0 bytes .../NUCLEAR/Fiery/ingotHot_OVERLAY.png | Bin 309 -> 0 bytes .../NUCLEAR/Fiery/ingotQuadruple_OVERLAY.png | Bin 379 -> 0 bytes .../NUCLEAR/Fiery/ingotQuintuple_OVERLAY.png | Bin 362 -> 0 bytes .../NUCLEAR/Fiery/ingotTriple_OVERLAY.png | Bin 395 -> 0 bytes .../materialicons/NUCLEAR/Fiery/ingot_OVERLAY.png | Bin 365 -> 0 bytes .../items/materialicons/NUCLEAR/Fiery/lens.png | Bin 296 -> 0 bytes .../materialicons/NUCLEAR/Fiery/lens_OVERLAY.png | Bin 594 -> 0 bytes .../materialicons/NUCLEAR/Fiery/nugget_OVERLAY.png | Bin 261 -> 0 bytes .../NUCLEAR/Fiery/plateDense_OVERLAY.png | Bin 322 -> 0 bytes .../NUCLEAR/Fiery/plateDouble_OVERLAY.png | Bin 338 -> 0 bytes .../NUCLEAR/Fiery/plateQuadruple_OVERLAY.png | Bin 372 -> 0 bytes .../NUCLEAR/Fiery/plateQuintuple_OVERLAY.png | Bin 380 -> 0 bytes .../NUCLEAR/Fiery/plateTriple_OVERLAY.png | Bin 360 -> 0 bytes .../materialicons/NUCLEAR/Fiery/plate_OVERLAY.png | Bin 300 -> 0 bytes .../materialicons/NUCLEAR/Fiery/ring_OVERLAY.png | Bin 413 -> 0 bytes .../materialicons/NUCLEAR/Fiery/rotor_OVERLAY.png | Bin 470 -> 0 bytes .../materialicons/NUCLEAR/Fiery/round_OVERLAY.png | Bin 205 -> 0 bytes .../materialicons/NUCLEAR/Fiery/screw_OVERLAY.png | Bin 226 -> 0 bytes .../NUCLEAR/Fiery/springSmall_OVERLAY.png | Bin 283 -> 0 bytes .../materialicons/NUCLEAR/Fiery/spring_OVERLAY.png | Bin 304 -> 0 bytes .../NUCLEAR/Fiery/stickLong_OVERLAY.png | Bin 217 -> 0 bytes .../materialicons/NUCLEAR/Fiery/stick_OVERLAY.png | Bin 248 -> 0 bytes .../items/materialicons/NUCLEAR/Fiery/wireFine.png | Bin 481 -> 0 bytes .../NUCLEAR/Fiery/wireFine_OVERLAY.png | Bin 458 -> 0 bytes .../items/materialicons/NUCLEAR/TURBINE_BLADE.png | Bin 395 -> 0 bytes .../NUCLEAR/TURBINE_BLADE_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/arrowGtPlastic.png | Bin 297 -> 0 bytes .../NUCLEAR/arrowGtPlastic_OVERLAY.png | Bin 283 -> 0 bytes .../items/materialicons/NUCLEAR/arrowGtWood.png | Bin 297 -> 0 bytes .../materialicons/NUCLEAR/arrowGtWood_OVERLAY.png | Bin 294 -> 0 bytes .../textures/items/materialicons/NUCLEAR/bolt.png | Bin 161 -> 0 bytes .../items/materialicons/NUCLEAR/bolt_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/NUCLEAR/cell.png | Bin 328 -> 0 bytes .../items/materialicons/NUCLEAR/cellPlasma.png | Bin 328 -> 0 bytes .../materialicons/NUCLEAR/cellPlasma_OVERLAY.png | Bin 290 -> 0 bytes .../items/materialicons/NUCLEAR/cell_OVERLAY.png | Bin 309 -> 0 bytes .../items/materialicons/NUCLEAR/crateGtDust.png | Bin 370 -> 0 bytes .../materialicons/NUCLEAR/crateGtDust_OVERLAY.png | Bin 506 -> 0 bytes .../items/materialicons/NUCLEAR/crateGtGem.png | Bin 401 -> 0 bytes .../materialicons/NUCLEAR/crateGtGem_OVERLAY.png | Bin 526 -> 0 bytes .../items/materialicons/NUCLEAR/crateGtIngot.png | Bin 380 -> 0 bytes .../materialicons/NUCLEAR/crateGtIngot_OVERLAY.png | Bin 517 -> 0 bytes .../items/materialicons/NUCLEAR/crateGtPlate.png | Bin 455 -> 0 bytes .../materialicons/NUCLEAR/crateGtPlate_OVERLAY.png | Bin 449 -> 0 bytes .../items/materialicons/NUCLEAR/crushed.png | Bin 462 -> 0 bytes .../materialicons/NUCLEAR/crushedCentrifuged.png | Bin 561 -> 0 bytes .../NUCLEAR/crushedCentrifuged_OVERLAY.png | Bin 393 -> 0 bytes .../materialicons/NUCLEAR/crushedPurified.png | Bin 460 -> 0 bytes .../NUCLEAR/crushedPurified_OVERLAY.png | Bin 538 -> 0 bytes .../materialicons/NUCLEAR/crushed_OVERLAY.png | Bin 539 -> 0 bytes .../textures/items/materialicons/NUCLEAR/dust.png | Bin 312 -> 0 bytes .../items/materialicons/NUCLEAR/dustImpure.png | Bin 312 -> 0 bytes .../materialicons/NUCLEAR/dustImpure_OVERLAY.png | Bin 430 -> 0 bytes .../items/materialicons/NUCLEAR/dustPure.png | Bin 312 -> 0 bytes .../materialicons/NUCLEAR/dustPure_OVERLAY.png | Bin 424 -> 0 bytes .../items/materialicons/NUCLEAR/dustSmall.png | Bin 286 -> 0 bytes .../materialicons/NUCLEAR/dustSmall_OVERLAY.png | Bin 256 -> 0 bytes .../items/materialicons/NUCLEAR/dustTiny.png | Bin 221 -> 0 bytes .../materialicons/NUCLEAR/dustTiny_OVERLAY.png | Bin 251 -> 0 bytes .../items/materialicons/NUCLEAR/dust_OVERLAY.png | Bin 281 -> 0 bytes .../textures/items/materialicons/NUCLEAR/foil.png | Bin 475 -> 0 bytes .../items/materialicons/NUCLEAR/foil_OVERLAY.png | Bin 568 -> 0 bytes .../items/materialicons/NUCLEAR/gearGt.png | Bin 434 -> 0 bytes .../items/materialicons/NUCLEAR/gearGtSmall.png | Bin 563 -> 0 bytes .../materialicons/NUCLEAR/gearGtSmall_OVERLAY.png | Bin 312 -> 0 bytes .../items/materialicons/NUCLEAR/gearGt_OVERLAY.png | Bin 172 -> 0 bytes .../textures/items/materialicons/NUCLEAR/gem.png | Bin 419 -> 0 bytes .../items/materialicons/NUCLEAR/gemChipped.png | Bin 575 -> 0 bytes .../materialicons/NUCLEAR/gemChipped_OVERLAY.png | Bin 511 -> 0 bytes .../items/materialicons/NUCLEAR/gemExquisite.png | Bin 619 -> 0 bytes .../materialicons/NUCLEAR/gemExquisite_OVERLAY.png | Bin 552 -> 0 bytes .../items/materialicons/NUCLEAR/gemFlawed.png | Bin 504 -> 0 bytes .../materialicons/NUCLEAR/gemFlawed_OVERLAY.png | Bin 543 -> 0 bytes .../items/materialicons/NUCLEAR/gemFlawless.png | Bin 691 -> 0 bytes .../materialicons/NUCLEAR/gemFlawless_OVERLAY.png | Bin 516 -> 0 bytes .../items/materialicons/NUCLEAR/gem_OVERLAY.png | Bin 437 -> 0 bytes .../items/materialicons/NUCLEAR/handleMallet.png | Bin 356 -> 0 bytes .../materialicons/NUCLEAR/handleMallet_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/NUCLEAR/ingot.png | Bin 344 -> 0 bytes .../items/materialicons/NUCLEAR/ingotDouble.png | Bin 403 -> 0 bytes .../materialicons/NUCLEAR/ingotDouble_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/ingotHot.png | Bin 335 -> 0 bytes .../materialicons/NUCLEAR/ingotHot_OVERLAY.png | Bin 309 -> 0 bytes .../items/materialicons/NUCLEAR/ingotQuadruple.png | Bin 375 -> 0 bytes .../NUCLEAR/ingotQuadruple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/ingotQuintuple.png | Bin 358 -> 0 bytes .../NUCLEAR/ingotQuintuple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/ingotTriple.png | Bin 388 -> 0 bytes .../materialicons/NUCLEAR/ingotTriple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/ingot_OVERLAY.png | Bin 333 -> 0 bytes .../textures/items/materialicons/NUCLEAR/lens.png | Bin 296 -> 0 bytes .../items/materialicons/NUCLEAR/lens_OVERLAY.png | Bin 556 -> 0 bytes .../items/materialicons/NUCLEAR/nugget.png | Bin 250 -> 0 bytes .../items/materialicons/NUCLEAR/nugget_OVERLAY.png | Bin 286 -> 0 bytes .../items/materialicons/NUCLEAR/oreRaw.png | Bin 295 -> 0 bytes .../items/materialicons/NUCLEAR/oreRaw_OVERLAY.png | Bin 1464 -> 0 bytes .../textures/items/materialicons/NUCLEAR/plate.png | Bin 275 -> 0 bytes .../items/materialicons/NUCLEAR/plateDense.png | Bin 298 -> 0 bytes .../materialicons/NUCLEAR/plateDense_OVERLAY.png | Bin 310 -> 0 bytes .../items/materialicons/NUCLEAR/plateDouble.png | Bin 297 -> 0 bytes .../materialicons/NUCLEAR/plateDouble_OVERLAY.png | Bin 319 -> 0 bytes .../items/materialicons/NUCLEAR/plateQuadruple.png | Bin 310 -> 0 bytes .../NUCLEAR/plateQuadruple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/plateQuintuple.png | Bin 312 -> 0 bytes .../NUCLEAR/plateQuintuple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/plateTriple.png | Bin 304 -> 0 bytes .../materialicons/NUCLEAR/plateTriple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/plate_OVERLAY.png | Bin 290 -> 0 bytes .../textures/items/materialicons/NUCLEAR/ring.png | Bin 311 -> 0 bytes .../items/materialicons/NUCLEAR/ring_OVERLAY.png | Bin 174 -> 0 bytes .../textures/items/materialicons/NUCLEAR/rotor.png | Bin 443 -> 0 bytes .../items/materialicons/NUCLEAR/rotor_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/NUCLEAR/round.png | Bin 200 -> 0 bytes .../items/materialicons/NUCLEAR/round_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/NUCLEAR/screw.png | Bin 199 -> 0 bytes .../items/materialicons/NUCLEAR/screw_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/spring.png | Bin 276 -> 0 bytes .../items/materialicons/NUCLEAR/springSmall.png | Bin 317 -> 0 bytes .../materialicons/NUCLEAR/springSmall_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/spring_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/NUCLEAR/stick.png | Bin 230 -> 0 bytes .../items/materialicons/NUCLEAR/stickLong.png | Bin 246 -> 0 bytes .../materialicons/NUCLEAR/stickLong_OVERLAY.png | Bin 305 -> 0 bytes .../items/materialicons/NUCLEAR/stick_OVERLAY.png | Bin 314 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadArrow.png | Bin 399 -> 0 bytes .../NUCLEAR/toolHeadArrow_OVERLAY.png | Bin 183 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadAxe.png | Bin 255 -> 0 bytes .../materialicons/NUCLEAR/toolHeadAxe_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/NUCLEAR/toolHeadBuzzSaw.png | Bin 533 -> 0 bytes .../NUCLEAR/toolHeadBuzzSaw_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/NUCLEAR/toolHeadChainsaw.png | Bin 531 -> 0 bytes .../NUCLEAR/toolHeadChainsaw_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadDrill.png | Bin 525 -> 0 bytes .../NUCLEAR/toolHeadDrill_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadFile.png | Bin 257 -> 0 bytes .../materialicons/NUCLEAR/toolHeadFile_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadHammer.png | Bin 235 -> 0 bytes .../NUCLEAR/toolHeadHammer_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadHoe.png | Bin 230 -> 0 bytes .../materialicons/NUCLEAR/toolHeadHoe_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadMallet.png | Bin 340 -> 0 bytes .../NUCLEAR/toolHeadMallet_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/NUCLEAR/toolHeadPickaxe.png | Bin 241 -> 0 bytes .../NUCLEAR/toolHeadPickaxe_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadPlow.png | Bin 268 -> 0 bytes .../materialicons/NUCLEAR/toolHeadPlow_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadSaw.png | Bin 258 -> 0 bytes .../materialicons/NUCLEAR/toolHeadSaw_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/NUCLEAR/toolHeadScrewdriver.png | Bin 178 -> 0 bytes .../NUCLEAR/toolHeadScrewdriver_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadSense.png | Bin 259 -> 0 bytes .../NUCLEAR/toolHeadSense_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadShovel.png | Bin 251 -> 0 bytes .../NUCLEAR/toolHeadShovel_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/NUCLEAR/toolHeadSoldering.png | Bin 314 -> 0 bytes .../NUCLEAR/toolHeadSoldering_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadSword.png | Bin 269 -> 0 bytes .../NUCLEAR/toolHeadSword_OVERLAY.png | Bin 143 -> 0 bytes .../NUCLEAR/toolHeadUniversalSpade.png | Bin 254 -> 0 bytes .../NUCLEAR/toolHeadUniversalSpade_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/toolHeadWrench.png | Bin 517 -> 0 bytes .../NUCLEAR/toolHeadWrench_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/turbineBlade.png | Bin 395 -> 0 bytes .../materialicons/NUCLEAR/turbineBlade_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/NUCLEAR/void.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/void_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/NUCLEAR/wireFine.png | Bin 481 -> 0 bytes .../materialicons/NUCLEAR/wireFine_OVERLAY.png | Bin 271 -> 0 bytes .../items/materialicons/REFINED/TURBINE_BLADE.png | Bin 395 -> 0 bytes .../REFINED/TURBINE_BLADE_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/arrowGtPlastic.png | Bin 297 -> 0 bytes .../REFINED/arrowGtPlastic_OVERLAY.png | Bin 283 -> 0 bytes .../items/materialicons/REFINED/arrowGtWood.png | Bin 297 -> 0 bytes .../materialicons/REFINED/arrowGtWood_OVERLAY.png | Bin 294 -> 0 bytes .../textures/items/materialicons/REFINED/bolt.png | Bin 161 -> 0 bytes .../items/materialicons/REFINED/bolt_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/REFINED/cell.png | Bin 328 -> 0 bytes .../items/materialicons/REFINED/cellPlasma.png | Bin 328 -> 0 bytes .../materialicons/REFINED/cellPlasma_OVERLAY.png | Bin 290 -> 0 bytes .../items/materialicons/REFINED/cell_OVERLAY.png | Bin 309 -> 0 bytes .../items/materialicons/REFINED/crateGtDust.png | Bin 370 -> 0 bytes .../materialicons/REFINED/crateGtDust_OVERLAY.png | Bin 506 -> 0 bytes .../items/materialicons/REFINED/crateGtGem.png | Bin 401 -> 0 bytes .../materialicons/REFINED/crateGtGem_OVERLAY.png | Bin 526 -> 0 bytes .../items/materialicons/REFINED/crateGtIngot.png | Bin 380 -> 0 bytes .../materialicons/REFINED/crateGtIngot_OVERLAY.png | Bin 517 -> 0 bytes .../items/materialicons/REFINED/crateGtPlate.png | Bin 455 -> 0 bytes .../materialicons/REFINED/crateGtPlate_OVERLAY.png | Bin 449 -> 0 bytes .../items/materialicons/REFINED/crushed.png | Bin 441 -> 0 bytes .../materialicons/REFINED/crushedCentrifuged.png | Bin 561 -> 0 bytes .../REFINED/crushedCentrifuged_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/REFINED/crushedPurified.png | Bin 460 -> 0 bytes .../REFINED/crushedPurified_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/REFINED/crushed_OVERLAY.png | Bin 448 -> 0 bytes .../textures/items/materialicons/REFINED/dust.png | Bin 312 -> 0 bytes .../items/materialicons/REFINED/dustImpure.png | Bin 312 -> 0 bytes .../materialicons/REFINED/dustImpure_OVERLAY.png | Bin 430 -> 0 bytes .../items/materialicons/REFINED/dustPure.png | Bin 312 -> 0 bytes .../materialicons/REFINED/dustPure_OVERLAY.png | Bin 424 -> 0 bytes .../items/materialicons/REFINED/dustSmall.png | Bin 286 -> 0 bytes .../materialicons/REFINED/dustSmall_OVERLAY.png | Bin 149 -> 0 bytes .../items/materialicons/REFINED/dustTiny.png | Bin 221 -> 0 bytes .../materialicons/REFINED/dustTiny_OVERLAY.png | Bin 149 -> 0 bytes .../items/materialicons/REFINED/dust_OVERLAY.png | Bin 172 -> 0 bytes .../textures/items/materialicons/REFINED/foil.png | Bin 475 -> 0 bytes .../items/materialicons/REFINED/foil_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/gearGt.png | Bin 434 -> 0 bytes .../items/materialicons/REFINED/gearGtSmall.png | Bin 563 -> 0 bytes .../materialicons/REFINED/gearGtSmall_OVERLAY.png | Bin 312 -> 0 bytes .../items/materialicons/REFINED/gearGt_OVERLAY.png | Bin 172 -> 0 bytes .../textures/items/materialicons/REFINED/gem.png | Bin 419 -> 0 bytes .../items/materialicons/REFINED/gemChipped.png | Bin 575 -> 0 bytes .../materialicons/REFINED/gemChipped_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/gemExquisite.png | Bin 619 -> 0 bytes .../materialicons/REFINED/gemExquisite_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/gemFlawed.png | Bin 504 -> 0 bytes .../materialicons/REFINED/gemFlawed_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/gemFlawless.png | Bin 691 -> 0 bytes .../materialicons/REFINED/gemFlawless_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/gem_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/handleMallet.png | Bin 356 -> 0 bytes .../materialicons/REFINED/handleMallet_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/REFINED/ingot.png | Bin 344 -> 0 bytes .../items/materialicons/REFINED/ingotDouble.png | Bin 403 -> 0 bytes .../materialicons/REFINED/ingotDouble_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/ingotHot.png | Bin 335 -> 0 bytes .../materialicons/REFINED/ingotHot_OVERLAY.png | Bin 309 -> 0 bytes .../items/materialicons/REFINED/ingotQuadruple.png | Bin 375 -> 0 bytes .../REFINED/ingotQuadruple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/ingotQuintuple.png | Bin 358 -> 0 bytes .../REFINED/ingotQuintuple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/ingotTriple.png | Bin 388 -> 0 bytes .../materialicons/REFINED/ingotTriple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/ingot_OVERLAY.png | Bin 180 -> 0 bytes .../textures/items/materialicons/REFINED/lens.png | Bin 296 -> 0 bytes .../items/materialicons/REFINED/lens_OVERLAY.png | Bin 556 -> 0 bytes .../items/materialicons/REFINED/nugget.png | Bin 250 -> 0 bytes .../items/materialicons/REFINED/nugget_OVERLAY.png | Bin 163 -> 0 bytes .../items/materialicons/REFINED/oreRaw.png | Bin 295 -> 0 bytes .../items/materialicons/REFINED/oreRaw_OVERLAY.png | Bin 141 -> 0 bytes .../textures/items/materialicons/REFINED/plate.png | Bin 275 -> 0 bytes .../items/materialicons/REFINED/plateDense.png | Bin 298 -> 0 bytes .../materialicons/REFINED/plateDense_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/plateDouble.png | Bin 297 -> 0 bytes .../materialicons/REFINED/plateDouble_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/plateQuadruple.png | Bin 310 -> 0 bytes .../REFINED/plateQuadruple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/plateQuintuple.png | Bin 312 -> 0 bytes .../REFINED/plateQuintuple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/plateTriple.png | Bin 304 -> 0 bytes .../materialicons/REFINED/plateTriple_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/plate_OVERLAY.png | Bin 173 -> 0 bytes .../textures/items/materialicons/REFINED/ring.png | Bin 311 -> 0 bytes .../items/materialicons/REFINED/ring_OVERLAY.png | Bin 174 -> 0 bytes .../textures/items/materialicons/REFINED/rotor.png | Bin 443 -> 0 bytes .../items/materialicons/REFINED/rotor_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/REFINED/round.png | Bin 200 -> 0 bytes .../items/materialicons/REFINED/round_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/REFINED/screw.png | Bin 199 -> 0 bytes .../items/materialicons/REFINED/screw_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/spring.png | Bin 276 -> 0 bytes .../items/materialicons/REFINED/springSmall.png | Bin 317 -> 0 bytes .../materialicons/REFINED/springSmall_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/spring_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/REFINED/stick.png | Bin 230 -> 0 bytes .../items/materialicons/REFINED/stickLong.png | Bin 246 -> 0 bytes .../materialicons/REFINED/stickLong_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/stick_OVERLAY.png | Bin 230 -> 0 bytes .../items/materialicons/REFINED/toolHeadArrow.png | Bin 399 -> 0 bytes .../REFINED/toolHeadArrow_OVERLAY.png | Bin 183 -> 0 bytes .../items/materialicons/REFINED/toolHeadAxe.png | Bin 255 -> 0 bytes .../materialicons/REFINED/toolHeadAxe_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/REFINED/toolHeadBuzzSaw.png | Bin 533 -> 0 bytes .../REFINED/toolHeadBuzzSaw_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/REFINED/toolHeadChainsaw.png | Bin 531 -> 0 bytes .../REFINED/toolHeadChainsaw_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadDrill.png | Bin 525 -> 0 bytes .../REFINED/toolHeadDrill_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadFile.png | Bin 257 -> 0 bytes .../materialicons/REFINED/toolHeadFile_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadHammer.png | Bin 235 -> 0 bytes .../REFINED/toolHeadHammer_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadHoe.png | Bin 230 -> 0 bytes .../materialicons/REFINED/toolHeadHoe_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadMallet.png | Bin 340 -> 0 bytes .../REFINED/toolHeadMallet_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/REFINED/toolHeadPickaxe.png | Bin 241 -> 0 bytes .../REFINED/toolHeadPickaxe_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadPlow.png | Bin 268 -> 0 bytes .../materialicons/REFINED/toolHeadPlow_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadSaw.png | Bin 258 -> 0 bytes .../materialicons/REFINED/toolHeadSaw_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/REFINED/toolHeadScrewdriver.png | Bin 178 -> 0 bytes .../REFINED/toolHeadScrewdriver_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadSense.png | Bin 259 -> 0 bytes .../REFINED/toolHeadSense_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadShovel.png | Bin 251 -> 0 bytes .../REFINED/toolHeadShovel_OVERLAY.png | Bin 143 -> 0 bytes .../materialicons/REFINED/toolHeadSoldering.png | Bin 314 -> 0 bytes .../REFINED/toolHeadSoldering_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadSword.png | Bin 269 -> 0 bytes .../REFINED/toolHeadSword_OVERLAY.png | Bin 143 -> 0 bytes .../REFINED/toolHeadUniversalSpade.png | Bin 254 -> 0 bytes .../REFINED/toolHeadUniversalSpade_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/toolHeadWrench.png | Bin 517 -> 0 bytes .../REFINED/toolHeadWrench_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/turbineBlade.png | Bin 395 -> 0 bytes .../materialicons/REFINED/turbineBlade_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/materialicons/REFINED/void.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/void_OVERLAY.png | Bin 143 -> 0 bytes .../items/materialicons/REFINED/wireFine.png | Bin 481 -> 0 bytes .../materialicons/REFINED/wireFine_OVERLAY.png | Bin 271 -> 0 bytes gtpp/src/main/resources/assets/ic2/lang/de_DE.lang | 29 - gtpp/src/main/resources/assets/ic2/lang/en_US.lang | 35 - gtpp/src/main/resources/assets/ic2/lang/zh_CN.lang | 35 - .../assets/ic2/textures/armor/hazmatEx_1.png | Bin 2669 -> 0 bytes .../assets/ic2/textures/armor/hazmatEx_2.png | Bin 967 -> 0 bytes .../ic2/textures/items/cell/HydrofluoricAcid.png | Bin 383 -> 0 bytes .../ic2/textures/items/cell/HydrogenChloride.png | Bin 402 -> 0 bytes .../ic2/textures/items/cell/LithiumHydroxide.png | Bin 289 -> 0 bytes .../ic2/textures/items/cell/SulfurDioxide.png | Bin 402 -> 0 bytes .../ic2/textures/items/cell/SulfuricApatite.png | Bin 408 -> 0 bytes .../ic2/textures/items/cell/SulfuricLithium.png | Bin 431 -> 0 bytes .../ic2/textures/items/cell/SulfurousAcid.png | Bin 409 -> 0 bytes .../textures/items/cell/ThoriumTetraFluoride.png | Bin 460 -> 0 bytes .../textures/items/cell/UraniumHexaFluoride.png | Bin 398 -> 0 bytes .../textures/items/cell/UraniumTetraFluoride.png | Bin 445 -> 0 bytes .../textures/items/itemArmorHazmatChestplateEx.png | Bin 525 -> 0 bytes .../ic2/textures/items/itemArmorHazmatHelmetEx.png | Bin 464 -> 0 bytes .../textures/items/itemArmorHazmatLeggingsEx.png | Bin 418 -> 0 bytes .../ic2/textures/items/itemArmorRubBootsEx.png | Bin 459 -> 0 bytes .../textures/items/rotors/itemEnergeticRotor.png | Bin 608 -> 0 bytes .../ic2/textures/items/rotors/itemIridiumRotor.png | Bin 555 -> 0 bytes .../textures/items/rotors/itemMagnaliumRotor.png | Bin 566 -> 0 bytes .../items/rotors/itemTungstenSteelRotor.png | Bin 523 -> 0 bytes .../ic2/textures/items/rotors/itemUltimetRotor.png | Bin 542 -> 0 bytes .../ic2/textures/items/rotors/itemVibrantRotor.png | Bin 575 -> 0 bytes .../textures/items/rotors/rotorEnergeticModel.png | Bin 3650 -> 0 bytes .../textures/items/rotors/rotorIridiumModel.png | Bin 3748 -> 0 bytes .../textures/items/rotors/rotorMagnaliumModel.png | Bin 3748 -> 0 bytes .../items/rotors/rotorTungstenSteelModel.png | Bin 3748 -> 0 bytes .../textures/items/rotors/rotorUltimetModel.png | Bin 3748 -> 0 bytes .../textures/items/rotors/rotorVibrantModel.png | Bin 3502 -> 0 bytes .../assets/minecraft/sounds/mob/witch/death.ogg | Bin 8428 -> 0 bytes .../assets/minecraft/sounds/mob/witch/hit1.ogg | Bin 5843 -> 0 bytes .../assets/minecraft/sounds/mob/witch/hit2.ogg | Bin 5455 -> 0 bytes .../assets/minecraft/sounds/mob/witch/hit3.ogg | Bin 5424 -> 0 bytes .../assets/minecraft/sounds/mob/witch/hit4.ogg | Bin 5160 -> 0 bytes .../assets/minecraft/sounds/mob/witch/idle1.ogg | Bin 8605 -> 0 bytes .../assets/minecraft/sounds/mob/witch/idle2.ogg | Bin 10948 -> 0 bytes .../assets/minecraft/sounds/mob/witch/idle3.ogg | Bin 7106 -> 0 bytes .../resources/assets/miscutils/lang/de_DE.lang | 1899 ----------- .../resources/assets/miscutils/lang/en_US.lang | 3572 -------------------- .../resources/assets/miscutils/lang/ru_RU.lang | 3351 ------------------ .../resources/assets/miscutils/lang/zh_CN.lang | 3351 ------------------ .../assets/miscutils/textures/DevCapeHD.png | Bin 4788 -> 0 bytes .../assets/miscutils/textures/FancyCapeHD.png | Bin 9643 -> 0 bytes .../resources/assets/miscutils/textures/Orange.png | Bin 364 -> 0 bytes .../assets/miscutils/textures/OrangeHD.png | Bin 5904 -> 0 bytes .../assets/miscutils/textures/PatreonCapeHD.png | Bin 10267 -> 0 bytes .../assets/miscutils/textures/TesterCapeHD.png | Bin 7976 -> 0 bytes .../assets/miscutils/textures/blocks/Blank.png | Bin 75 -> 0 bytes .../textures/blocks/CosmicFabricManipulator.png | Bin 1131 -> 0 bytes .../blocks/CosmicFabricManipulator.png.mcmeta | 6 - .../blocks/CosmicFabricManipulatorStatic.png | Bin 492 -> 0 bytes .../textures/blocks/CosmicFabricShieldingCore.png | Bin 1222 -> 0 bytes .../blocks/CosmicFabricShieldingCore.png.mcmeta | 6 - .../blocks/CosmicFabricShieldingCoreStatic.png | Bin 645 -> 0 bytes .../miscutils/textures/blocks/FirePit/Firepit.tcn | Bin 1583 -> 0 bytes .../miscutils/textures/blocks/ForceFieldGlass.png | Bin 249 -> 0 bytes .../textures/blocks/InfinityInfusedManipulator.png | Bin 1627 -> 0 bytes .../blocks/InfinityInfusedManipulator.png.mcmeta | 6 - .../blocks/InfinityInfusedManipulatorStatic.png | Bin 557 -> 0 bytes .../blocks/InfinityInfusedShieldingCore.png | Bin 1869 -> 0 bytes .../blocks/InfinityInfusedShieldingCore.png.mcmeta | 6 - .../blocks/InfinityInfusedShieldingCoreStatic.png | Bin 613 -> 0 bytes .../miscutils/textures/blocks/Manipulator_Top.png | Bin 511 -> 0 bytes .../textures/blocks/NeutronPulseManipulator.png | Bin 1309 -> 0 bytes .../blocks/NeutronPulseManipulator.png.mcmeta | 6 - .../blocks/NeutronPulseManipulatorStatic.png | Bin 492 -> 0 bytes .../textures/blocks/NeutronShieldingCore.png | Bin 1617 -> 0 bytes .../blocks/NeutronShieldingCore.png.mcmeta | 6 - .../textures/blocks/NeutronShieldingCoreStatic.png | Bin 607 -> 0 bytes .../textures/blocks/SpaceTimeBendingCore.png | Bin 2084 -> 0 bytes .../blocks/SpaceTimeBendingCore.png.mcmeta | 6 - .../textures/blocks/SpaceTimeBendingCoreStatic.png | Bin 624 -> 0 bytes .../textures/blocks/SpaceTimeContinuumRipper.png | Bin 1593 -> 0 bytes .../blocks/SpaceTimeContinuumRipper.png.mcmeta | 6 - .../blocks/SpaceTimeContinuumRipperStatic.png | Bin 562 -> 0 bytes .../miscutils/textures/blocks/SwirlBigBlue.png | Bin 259 -> 0 bytes .../textures/blocks/TileEntities/CASING_AMAZON.png | Bin 677 -> 0 bytes .../blocks/TileEntities/DecayablesChest_bottom.png | Bin 738 -> 0 bytes .../blocks/TileEntities/DecayablesChest_full.png | Bin 2249 -> 0 bytes .../blocks/TileEntities/DecayablesChest_side.png | Bin 666 -> 0 bytes .../blocks/TileEntities/DecayablesChest_top.png | Bin 670 -> 0 bytes .../TileEntities/Generic_Creative_Texture.png | Bin 383 -> 0 bytes .../MACHINE_CASING_ADVANCED_CRYOGENIC.png | Bin 586 -> 0 bytes .../MACHINE_CASING_ADVANCED_VOLCANUS.png | Bin 601 -> 0 bytes .../TileEntities/MACHINE_CASING_CENTRIFUGE.png | Bin 632 -> 0 bytes .../MACHINE_CASING_FARM_MANAGER_STRUCTURAL.png | Bin 522 -> 0 bytes .../MACHINE_CASING_FIREBOX_STABALLOY.png | Bin 825 -> 0 bytes .../TileEntities/MACHINE_CASING_FLOTATION.png | Bin 647 -> 0 bytes .../MACHINE_CASING_FLUID_INCOLOY_DS.png | Bin 1232 -> 0 bytes .../TileEntities/MACHINE_CASING_GEARBOX_T1.png | Bin 633 -> 0 bytes .../MACHINE_CASING_GRINDING_FACTORY.png | Bin 677 -> 0 bytes .../TileEntities/MACHINE_CASING_LAURENIUM.png | Bin 416 -> 0 bytes .../blocks/TileEntities/MACHINE_CASING_PIPE_T1.png | Bin 656 -> 0 bytes .../TileEntities/MACHINE_CASING_QFT_COIL.png | Bin 11243 -> 0 bytes .../MACHINE_CASING_QFT_COIL.png.mcmeta | 39 - .../TileEntities/MACHINE_CASING_ROCKETDYNE.png | Bin 643 -> 0 bytes .../TileEntities/MACHINE_CASING_STABLE_GRISIUM.png | Bin 662 -> 0 bytes .../MACHINE_CASING_STABLE_HASTELLOY_N.png | Bin 642 -> 0 bytes .../MACHINE_CASING_STABLE_HASTELLOY_X.png | Bin 649 -> 0 bytes .../MACHINE_CASING_STABLE_MARAGINGSTEEL.png | Bin 394 -> 0 bytes .../TileEntities/MACHINE_CASING_STABLE_POTIN.png | Bin 635 -> 0 bytes .../MACHINE_CASING_STABLE_RED_STEEL.png | Bin 529 -> 0 bytes .../MACHINE_CASING_STABLE_STELLITE.png | Bin 659 -> 0 bytes .../MACHINE_CASING_STABLE_TALONITE.png | Bin 665 -> 0 bytes .../MACHINE_CASING_STABLE_TANTALLOY61.png | Bin 654 -> 0 bytes ...MACHINE_CASING_STABLE_TRINIUM_NAQUADAH_VENT.png | Bin 623 -> 0 bytes .../MACHINE_CASING_STABLE_TRINIUM_TITANIUM.png | Bin 504 -> 0 bytes .../TileEntities/MACHINE_CASING_STABLE_TUMBAGA.png | Bin 662 -> 0 bytes .../MACHINE_CASING_STABLE_ZERON100.png | Bin 649 -> 0 bytes .../MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE.png | Bin 665 -> 0 bytes .../blocks/TileEntities/MACHINE_PESTKILLER_TOP.png | Bin 624 -> 0 bytes .../STEAM_TURBINE_SIDE_ACTIVE.png.mcmeta | 5 - .../textures/blocks/TileEntities/_PlaceHolder.png | Bin 696 -> 0 bytes .../TileEntities/adv_machine_dimensional.png | Bin 1660 -> 0 bytes .../adv_machine_dimensional.png.mcmeta | 5 - .../adv_machine_dimensional_cover_blue.png.mcmeta | 5 - .../adv_machine_dimensional_cover_orange.png | Bin 1383 -> 0 bytes ...adv_machine_dimensional_cover_orange.png.mcmeta | 5 - .../blocks/TileEntities/adv_machine_lesu.png | Bin 822 -> 0 bytes .../blocks/TileEntities/adv_machine_matterfab.png | Bin 296 -> 0 bytes .../TileEntities/adv_machine_matterfab_active.png | Bin 277 -> 0 bytes .../adv_machine_matterfab_active_animated.png | Bin 694 -> 0 bytes ...dv_machine_matterfab_active_animated.png.mcmeta | 6 - .../adv_machine_matterfab_animated.png | Bin 762 -> 0 bytes .../adv_machine_matterfab_animated.png.mcmeta | 6 - .../TileEntities/adv_machine_screen_frequency.png | Bin 427 -> 0 bytes .../TileEntities/adv_machine_screen_logo.png | Bin 526 -> 0 bytes .../adv_machine_screen_logo.png.mcmeta | 6 - .../TileEntities/adv_machine_screen_random1.png | Bin 12342 -> 0 bytes .../adv_machine_screen_random1.png.mcmeta | 5 - .../TileEntities/adv_machine_screen_random2.png | Bin 12342 -> 0 bytes .../adv_machine_screen_random2.png.mcmeta | 5 - .../TileEntities/adv_machine_screen_random3.png | Bin 12342 -> 0 bytes .../adv_machine_screen_random3.png.mcmeta | 5 - .../blocks/TileEntities/adv_machine_uum.png | Bin 334 -> 0 bytes .../TileEntities/adv_machine_vent_rotating.png | Bin 3126 -> 0 bytes .../adv_machine_vent_rotating.png.mcmeta | 5 - .../blocks/TileEntities/adv_machine_water.png | Bin 218 -> 0 bytes .../TileEntities/audio_out_active.png.mcmeta | 5 - .../textures/blocks/TileEntities/cover_charger.png | Bin 284 -> 0 bytes .../blocks/TileEntities/cover_crafting.png | Bin 822 -> 0 bytes .../blocks/TileEntities/cover_discharge.png | Bin 272 -> 0 bytes .../TileEntities/cover_redstone_conductor.png | Bin 822 -> 0 bytes .../blocks/TileEntities/cover_redstone_emitter.png | Bin 822 -> 0 bytes .../blocks/TileEntities/dirt_podzol_top.png | Bin 823 -> 0 bytes .../textures/blocks/TileEntities/fishtrap.png | Bin 326 -> 0 bytes .../blocks/TileEntities/gt4/OVERLAY_BOXES.png | Bin 203 -> 0 bytes .../blocks/TileEntities/gt4/OVERLAY_CROP.png | Bin 318 -> 0 bytes .../blocks/TileEntities/gt4/machine_bottom.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/machine_top.png | Bin 822 -> 0 bytes .../TileEntities/gt4/machine_top_crafting.png | Bin 263 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/0.png | Bin 254 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/1.png | Bin 250 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/10.png | Bin 253 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/11.png | Bin 248 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/12.png | Bin 249 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/13.png | Bin 249 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/14.png | Bin 249 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/15.png | Bin 244 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/16.png | Bin 174 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/17.png | Bin 211 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/18.png | Bin 202 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/19.png | Bin 206 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/2.png | Bin 255 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/20.png | Bin 206 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/21.png | Bin 192 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/22.png | Bin 199 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/23.png | Bin 205 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/24.png | Bin 202 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/25.png | Bin 209 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/26.png | Bin 183 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/27.png | Bin 204 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/28.png | Bin 202 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/29.png | Bin 207 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/3.png | Bin 248 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/30.png | Bin 201 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/31.png | Bin 181 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/32.png | Bin 190 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/33.png | Bin 224 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/34.png | Bin 225 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/35.png | Bin 223 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/36.png | Bin 225 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/37.png | Bin 233 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/38.png | Bin 235 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/39.png | Bin 225 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/4.png | Bin 252 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/40.png | Bin 225 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/41.png | Bin 232 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/42.png | Bin 225 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/43.png | Bin 233 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/44.png | Bin 235 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/45.png | Bin 234 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/46.png | Bin 234 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/47.png | Bin 190 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/48.png | Bin 513 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/49.png | Bin 510 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/5.png | Bin 253 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/50.png | Bin 505 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/51.png | Bin 503 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/52.png | Bin 508 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/53.png | Bin 507 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/54.png | Bin 506 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/55.png | Bin 506 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/56.png | Bin 505 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/57.png | Bin 504 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/58.png | Bin 504 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/59.png | Bin 503 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/6.png | Bin 252 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/60.png | Bin 504 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/61.png | Bin 505 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/62.png | Bin 525 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/63.png | Bin 499 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/7.png | Bin 248 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/8.png | Bin 250 -> 0 bytes .../TileEntities/gt4/redstone/ButtonPanel/9.png | Bin 252 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/0.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/1.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/10.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/100.png | Bin 192 -> 0 bytes .../TileEntities/gt4/redstone/Display/101.png | Bin 195 -> 0 bytes .../TileEntities/gt4/redstone/Display/102.png | Bin 190 -> 0 bytes .../TileEntities/gt4/redstone/Display/103.png | Bin 197 -> 0 bytes .../TileEntities/gt4/redstone/Display/104.png | Bin 186 -> 0 bytes .../TileEntities/gt4/redstone/Display/105.png | Bin 189 -> 0 bytes .../TileEntities/gt4/redstone/Display/106.png | Bin 188 -> 0 bytes .../TileEntities/gt4/redstone/Display/107.png | Bin 191 -> 0 bytes .../TileEntities/gt4/redstone/Display/108.png | Bin 189 -> 0 bytes .../TileEntities/gt4/redstone/Display/109.png | Bin 184 -> 0 bytes .../TileEntities/gt4/redstone/Display/11.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/110.png | Bin 185 -> 0 bytes .../TileEntities/gt4/redstone/Display/111.png | Bin 182 -> 0 bytes .../TileEntities/gt4/redstone/Display/112.png | Bin 202 -> 0 bytes .../TileEntities/gt4/redstone/Display/113.png | Bin 222 -> 0 bytes .../TileEntities/gt4/redstone/Display/114.png | Bin 227 -> 0 bytes .../TileEntities/gt4/redstone/Display/115.png | Bin 240 -> 0 bytes .../TileEntities/gt4/redstone/Display/116.png | Bin 244 -> 0 bytes .../TileEntities/gt4/redstone/Display/117.png | Bin 238 -> 0 bytes .../TileEntities/gt4/redstone/Display/118.png | Bin 244 -> 0 bytes .../TileEntities/gt4/redstone/Display/119.png | Bin 242 -> 0 bytes .../TileEntities/gt4/redstone/Display/12.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/120.png | Bin 242 -> 0 bytes .../TileEntities/gt4/redstone/Display/121.png | Bin 245 -> 0 bytes .../TileEntities/gt4/redstone/Display/122.png | Bin 241 -> 0 bytes .../TileEntities/gt4/redstone/Display/123.png | Bin 244 -> 0 bytes .../TileEntities/gt4/redstone/Display/124.png | Bin 239 -> 0 bytes .../TileEntities/gt4/redstone/Display/125.png | Bin 230 -> 0 bytes .../TileEntities/gt4/redstone/Display/126.png | Bin 234 -> 0 bytes .../TileEntities/gt4/redstone/Display/127.png | Bin 199 -> 0 bytes .../TileEntities/gt4/redstone/Display/128.png | Bin 183 -> 0 bytes .../TileEntities/gt4/redstone/Display/129.png | Bin 215 -> 0 bytes .../TileEntities/gt4/redstone/Display/13.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/130.png | Bin 218 -> 0 bytes .../TileEntities/gt4/redstone/Display/131.png | Bin 233 -> 0 bytes .../TileEntities/gt4/redstone/Display/132.png | Bin 228 -> 0 bytes .../TileEntities/gt4/redstone/Display/133.png | Bin 232 -> 0 bytes .../TileEntities/gt4/redstone/Display/134.png | Bin 229 -> 0 bytes .../TileEntities/gt4/redstone/Display/135.png | Bin 227 -> 0 bytes .../TileEntities/gt4/redstone/Display/136.png | Bin 226 -> 0 bytes .../TileEntities/gt4/redstone/Display/137.png | Bin 230 -> 0 bytes .../TileEntities/gt4/redstone/Display/138.png | Bin 234 -> 0 bytes .../TileEntities/gt4/redstone/Display/139.png | Bin 220 -> 0 bytes .../TileEntities/gt4/redstone/Display/14.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/140.png | Bin 236 -> 0 bytes .../TileEntities/gt4/redstone/Display/141.png | Bin 224 -> 0 bytes .../TileEntities/gt4/redstone/Display/142.png | Bin 222 -> 0 bytes .../TileEntities/gt4/redstone/Display/143.png | Bin 183 -> 0 bytes .../TileEntities/gt4/redstone/Display/15.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/16.png | Bin 174 -> 0 bytes .../TileEntities/gt4/redstone/Display/17.png | Bin 171 -> 0 bytes .../TileEntities/gt4/redstone/Display/18.png | Bin 175 -> 0 bytes .../TileEntities/gt4/redstone/Display/19.png | Bin 166 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/2.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/20.png | Bin 185 -> 0 bytes .../TileEntities/gt4/redstone/Display/21.png | Bin 179 -> 0 bytes .../TileEntities/gt4/redstone/Display/22.png | Bin 171 -> 0 bytes .../TileEntities/gt4/redstone/Display/23.png | Bin 185 -> 0 bytes .../TileEntities/gt4/redstone/Display/24.png | Bin 162 -> 0 bytes .../TileEntities/gt4/redstone/Display/25.png | Bin 175 -> 0 bytes .../TileEntities/gt4/redstone/Display/26.png | Bin 175 -> 0 bytes .../TileEntities/gt4/redstone/Display/27.png | Bin 176 -> 0 bytes .../TileEntities/gt4/redstone/Display/28.png | Bin 177 -> 0 bytes .../TileEntities/gt4/redstone/Display/29.png | Bin 181 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/3.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/30.png | Bin 169 -> 0 bytes .../TileEntities/gt4/redstone/Display/31.png | Bin 177 -> 0 bytes .../TileEntities/gt4/redstone/Display/32.png | Bin 175 -> 0 bytes .../TileEntities/gt4/redstone/Display/33.png | Bin 171 -> 0 bytes .../TileEntities/gt4/redstone/Display/34.png | Bin 187 -> 0 bytes .../TileEntities/gt4/redstone/Display/35.png | Bin 174 -> 0 bytes .../TileEntities/gt4/redstone/Display/36.png | Bin 197 -> 0 bytes .../TileEntities/gt4/redstone/Display/37.png | Bin 185 -> 0 bytes .../TileEntities/gt4/redstone/Display/38.png | Bin 169 -> 0 bytes .../TileEntities/gt4/redstone/Display/39.png | Bin 194 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/4.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/40.png | Bin 167 -> 0 bytes .../TileEntities/gt4/redstone/Display/41.png | Bin 185 -> 0 bytes .../TileEntities/gt4/redstone/Display/42.png | Bin 172 -> 0 bytes .../TileEntities/gt4/redstone/Display/43.png | Bin 169 -> 0 bytes .../TileEntities/gt4/redstone/Display/44.png | Bin 180 -> 0 bytes .../TileEntities/gt4/redstone/Display/45.png | Bin 167 -> 0 bytes .../TileEntities/gt4/redstone/Display/46.png | Bin 189 -> 0 bytes .../TileEntities/gt4/redstone/Display/47.png | Bin 182 -> 0 bytes .../TileEntities/gt4/redstone/Display/48.png | Bin 188 -> 0 bytes .../TileEntities/gt4/redstone/Display/49.png | Bin 210 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/5.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/50.png | Bin 212 -> 0 bytes .../TileEntities/gt4/redstone/Display/51.png | Bin 212 -> 0 bytes .../TileEntities/gt4/redstone/Display/52.png | Bin 210 -> 0 bytes .../TileEntities/gt4/redstone/Display/53.png | Bin 193 -> 0 bytes .../TileEntities/gt4/redstone/Display/54.png | Bin 210 -> 0 bytes .../TileEntities/gt4/redstone/Display/55.png | Bin 205 -> 0 bytes .../TileEntities/gt4/redstone/Display/56.png | Bin 209 -> 0 bytes .../TileEntities/gt4/redstone/Display/57.png | Bin 206 -> 0 bytes .../TileEntities/gt4/redstone/Display/58.png | Bin 207 -> 0 bytes .../TileEntities/gt4/redstone/Display/59.png | Bin 212 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/6.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/60.png | Bin 211 -> 0 bytes .../TileEntities/gt4/redstone/Display/61.png | Bin 206 -> 0 bytes .../TileEntities/gt4/redstone/Display/62.png | Bin 213 -> 0 bytes .../TileEntities/gt4/redstone/Display/63.png | Bin 181 -> 0 bytes .../TileEntities/gt4/redstone/Display/64.png | Bin 182 -> 0 bytes .../TileEntities/gt4/redstone/Display/65.png | Bin 184 -> 0 bytes .../TileEntities/gt4/redstone/Display/66.png | Bin 194 -> 0 bytes .../TileEntities/gt4/redstone/Display/67.png | Bin 197 -> 0 bytes .../TileEntities/gt4/redstone/Display/68.png | Bin 198 -> 0 bytes .../TileEntities/gt4/redstone/Display/69.png | Bin 206 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/7.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/70.png | Bin 211 -> 0 bytes .../TileEntities/gt4/redstone/Display/71.png | Bin 210 -> 0 bytes .../TileEntities/gt4/redstone/Display/72.png | Bin 208 -> 0 bytes .../TileEntities/gt4/redstone/Display/73.png | Bin 221 -> 0 bytes .../TileEntities/gt4/redstone/Display/74.png | Bin 208 -> 0 bytes .../TileEntities/gt4/redstone/Display/75.png | Bin 199 -> 0 bytes .../TileEntities/gt4/redstone/Display/76.png | Bin 197 -> 0 bytes .../TileEntities/gt4/redstone/Display/77.png | Bin 199 -> 0 bytes .../TileEntities/gt4/redstone/Display/78.png | Bin 186 -> 0 bytes .../TileEntities/gt4/redstone/Display/79.png | Bin 183 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/8.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/80.png | Bin 192 -> 0 bytes .../TileEntities/gt4/redstone/Display/81.png | Bin 196 -> 0 bytes .../TileEntities/gt4/redstone/Display/82.png | Bin 196 -> 0 bytes .../TileEntities/gt4/redstone/Display/83.png | Bin 198 -> 0 bytes .../TileEntities/gt4/redstone/Display/84.png | Bin 199 -> 0 bytes .../TileEntities/gt4/redstone/Display/85.png | Bin 201 -> 0 bytes .../TileEntities/gt4/redstone/Display/86.png | Bin 203 -> 0 bytes .../TileEntities/gt4/redstone/Display/87.png | Bin 203 -> 0 bytes .../TileEntities/gt4/redstone/Display/88.png | Bin 208 -> 0 bytes .../TileEntities/gt4/redstone/Display/89.png | Bin 202 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Display/9.png | Bin 822 -> 0 bytes .../TileEntities/gt4/redstone/Display/90.png | Bin 207 -> 0 bytes .../TileEntities/gt4/redstone/Display/91.png | Bin 203 -> 0 bytes .../TileEntities/gt4/redstone/Display/92.png | Bin 203 -> 0 bytes .../TileEntities/gt4/redstone/Display/93.png | Bin 201 -> 0 bytes .../TileEntities/gt4/redstone/Display/94.png | Bin 202 -> 0 bytes .../TileEntities/gt4/redstone/Display/95.png | Bin 190 -> 0 bytes .../TileEntities/gt4/redstone/Display/96.png | Bin 183 -> 0 bytes .../TileEntities/gt4/redstone/Display/97.png | Bin 190 -> 0 bytes .../TileEntities/gt4/redstone/Display/98.png | Bin 188 -> 0 bytes .../TileEntities/gt4/redstone/Display/99.png | Bin 193 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Lamp/off.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Lamp/on.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/0.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/1.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/10.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/11.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/12.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/13.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/14.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/15.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/16.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/17.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/18.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/19.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/2.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/20.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/21.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/22.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/23.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/24.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/25.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/26.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/27.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/28.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/29.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/3.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/30.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/31.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/4.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/5.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/6.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/7.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/8.png | Bin 822 -> 0 bytes .../blocks/TileEntities/gt4/redstone/Scale/9.png | Bin 822 -> 0 bytes .../blocks/TileEntities/high_adv_machine.png | Bin 822 -> 0 bytes .../high_adv_machine_dimensional.png.mcmeta | 5 - .../blocks/TileEntities/log_acacia_top.png | Bin 603 -> 0 bytes .../blocks/TileEntities/machine_bottom.png | Bin 822 -> 0 bytes .../textures/blocks/TileEntities/machine_top.png | Bin 531 -> 0 bytes .../TileEntities/machine_top_dieselmotor.png | Bin 258 -> 0 bytes .../TileEntities/machine_top_dieselmotor2.png | Bin 233 -> 0 bytes .../machine_top_dieselmotor2_active.png | Bin 395 -> 0 bytes .../machine_top_dieselmotor2_active.png.mcmeta | 5 - .../machine_top_dieselmotor_active.png | Bin 427 -> 0 bytes .../machine_top_dieselmotor_active.png.mcmeta | 5 - .../TileEntities/machine_top_vent_rotating.png | Bin 517 -> 0 bytes .../machine_top_vent_rotating.png.mcmeta | 5 - .../machine_top_vent_rotating_fast.png | Bin 517 -> 0 bytes .../machine_top_vent_rotating_fast.png.mcmeta | 5 - .../blocks/TileEntities/overlay_rainbowscreen.png | Bin 1178 -> 0 bytes .../TileEntities/overlay_rainbowscreen.png.mcmeta | 5 - .../blocks/TileEntities/sewer_adv_sides.png | Bin 379 -> 0 bytes .../textures/blocks/TileEntities/sewer_adv_top.png | Bin 373 -> 0 bytes .../textures/blocks/TileEntities/sewer_sides.png | Bin 375 -> 0 bytes .../textures/blocks/TileEntities/sewer_top.png | Bin 375 -> 0 bytes .../miscutils/textures/blocks/blockBlock.png | Bin 424 -> 0 bytes .../miscutils/textures/blocks/blockFrameGt.png | Bin 437 -> 0 bytes .../miscutils/textures/blocks/blockMFEffect.png | Bin 205 -> 0 bytes .../miscutils/textures/blocks/blockStaballoy.png | Bin 942 -> 0 bytes .../miscutils/textures/blocks/blockStone.png | Bin 223 -> 0 bytes .../textures/blocks/chrono/CyberPanel.png | Bin 328 -> 0 bytes .../textures/blocks/chrono/MetalFunnel.png | Bin 378 -> 0 bytes .../textures/blocks/chrono/MetalGrate.png | Bin 333 -> 0 bytes .../textures/blocks/chrono/MetalPanel.png | Bin 318 -> 0 bytes .../textures/blocks/chrono/MetalSheet.png | Bin 298 -> 0 bytes .../textures/blocks/chrono/MetalSheet2.png | Bin 318 -> 0 bytes .../textures/blocks/chrono/MetalSheet8.png | Bin 834 -> 0 bytes .../textures/blocks/chrono/MetalSheet9.png | Bin 941 -> 0 bytes .../textures/blocks/compressed/glowstone1.png | Bin 900 -> 0 bytes .../textures/blocks/compressed/glowstone2.png | Bin 997 -> 0 bytes .../textures/blocks/compressed/glowstone3.png | Bin 1138 -> 0 bytes .../textures/blocks/compressed/glowstone4.png | Bin 1175 -> 0 bytes .../textures/blocks/compressed/glowstone5.png | Bin 1276 -> 0 bytes .../textures/blocks/compressed/obsidian1.png | Bin 656 -> 0 bytes .../textures/blocks/compressed/obsidian2.png | Bin 757 -> 0 bytes .../textures/blocks/compressed/obsidian3.png | Bin 801 -> 0 bytes .../textures/blocks/compressed/obsidian4.png | Bin 814 -> 0 bytes .../textures/blocks/compressed/obsidian5.png | Bin 787 -> 0 bytes .../textures/blocks/compressed/obsidian_invert.png | Bin 770 -> 0 bytes .../textures/blocks/crop/blockCrop.Hemp.1.png | Bin 220 -> 0 bytes .../textures/blocks/crop/blockCrop.Hemp.2.png | Bin 399 -> 0 bytes .../textures/blocks/crop/blockCrop.Hemp.3.png | Bin 572 -> 0 bytes .../textures/blocks/crop/blockCrop.Hemp.4.png | Bin 534 -> 0 bytes .../textures/blocks/crop/blockCrop.Hemp.5.png | Bin 661 -> 0 bytes .../textures/blocks/fluid/Fluid_Cryotheum_Flow.png | Bin 2943 -> 0 bytes .../blocks/fluid/Fluid_Cryotheum_Flow.png.mcmeta | 5 - .../blocks/fluid/Fluid_Cryotheum_Still.png | Bin 1911 -> 0 bytes .../blocks/fluid/Fluid_Cryotheum_Still.png.mcmeta | 45 - .../textures/blocks/fluid/Fluid_Ender_Flow.png | Bin 3595 -> 0 bytes .../blocks/fluid/Fluid_Ender_Flow.png.mcmeta | 5 - .../textures/blocks/fluid/Fluid_Ender_Still.png | Bin 2001 -> 0 bytes .../blocks/fluid/Fluid_Ender_Still.png.mcmeta | 45 - .../textures/blocks/fluid/Fluid_Pyrotheum_Flow.png | Bin 3210 -> 0 bytes .../blocks/fluid/Fluid_Pyrotheum_Flow.png.mcmeta | 5 - .../blocks/fluid/Fluid_Pyrotheum_Still.png | Bin 3691 -> 0 bytes .../blocks/fluid/Fluid_Pyrotheum_Still.png.mcmeta | 45 - .../textures/blocks/fluid/Fluid_Sludge_Flow.png | Bin 3601 -> 0 bytes .../blocks/fluid/Fluid_Sludge_Flow.png.mcmeta | 5 - .../textures/blocks/fluid/Fluid_Sludge_Still.png | Bin 2038 -> 0 bytes .../blocks/fluid/Fluid_Sludge_Still.png.mcmeta | 45 - .../textures/blocks/fluids/fluid.cryotheum.png | Bin 1911 -> 0 bytes .../blocks/fluids/fluid.cryotheum.png.mcmeta | 45 - .../textures/blocks/fluids/fluid.ender.png | Bin 2001 -> 0 bytes .../textures/blocks/fluids/fluid.ender.png.mcmeta | 45 - .../fluids/fluid.fluid.autogenerated.flowing.png | Bin 9232 -> 0 bytes .../fluid.fluid.autogenerated.flowing.png.mcmeta | 3 - .../blocks/fluids/fluid.fluid.autogenerated.png | Bin 7019 -> 0 bytes .../fluids/fluid.fluid.autogenerated.png.mcmeta | 5 - .../fluid.fluid.autogenerated.still.png.mcmeta | 5 - .../fluids/fluid.hydrofluoricacid.png.mcmeta | 5 - .../fluids/fluid.hydrogenchloride.png.mcmeta | 5 - .../textures/blocks/fluids/fluid.jackdaniels.png | Bin 3454 -> 0 bytes .../blocks/fluids/fluid.jackdaniels.png.mcmeta | 5 - .../fluids/fluid.lithiumhydroxide.png.mcmeta | 5 - .../blocks/fluids/fluid.molten.autogenerated.png | Bin 1558 -> 0 bytes .../fluids/fluid.molten.autogenerated.png.mcmeta | 45 - .../blocks/fluids/fluid.plasma.autogenerated.png | Bin 1461 -> 0 bytes .../fluids/fluid.plasma.autogenerated.png.mcmeta | 5 - .../blocks/fluids/fluid.pyrotheum.png.mcmeta | 45 - .../blocks/fluids/fluid.sulfurdioxide.png.mcmeta | 5 - .../blocks/fluids/fluid.sulfuricapatite.png.mcmeta | 5 - .../blocks/fluids/fluid.sulfuriclithium.png.mcmeta | 5 - .../blocks/fluids/fluid.sulfurousacid.png.mcmeta | 5 - .../fluids/fluid.thoriumtetrafluoride.png.mcmeta | 5 - .../fluids/fluid.uraniumhexafluoride.png.mcmeta | 5 - .../fluids/fluid.uraniumtetrafluoride.png.mcmeta | 5 - .../blocks/hellfire/blockHellFire_layer_0.png | Bin 13281 -> 0 bytes .../hellfire/blockHellFire_layer_0.png.mcmeta | 38 - .../blocks/hellfire/blockHellFire_layer_1.png | Bin 13886 -> 0 bytes .../hellfire/blockHellFire_layer_1.png.mcmeta | 3 - .../LARGE_TURBINE_HP_ACTIVE_1.PNG.mcmeta | 3 - .../LARGE_TURBINE_HP_ACTIVE_2.PNG.mcmeta | 3 - .../LARGE_TURBINE_HP_ACTIVE_3.PNG.mcmeta | 3 - .../LARGE_TURBINE_HP_ACTIVE_4.PNG.mcmeta | 3 - .../LARGE_TURBINE_HP_ACTIVE_5.PNG.mcmeta | 3 - .../LARGE_TURBINE_HP_ACTIVE_6.PNG.mcmeta | 3 - .../LARGE_TURBINE_HP_ACTIVE_7.PNG.mcmeta | 3 - .../LARGE_TURBINE_HP_ACTIVE_8.PNG.mcmeta | 3 - .../LARGE_TURBINE_HP_ACTIVE_9.PNG.mcmeta | 3 - .../LARGE_TURBINE_LP_ACTIVE_1.PNG.mcmeta | 3 - .../LARGE_TURBINE_LP_ACTIVE_2.PNG.mcmeta | 3 - .../LARGE_TURBINE_LP_ACTIVE_3.PNG.mcmeta | 3 - .../LARGE_TURBINE_LP_ACTIVE_4.PNG.mcmeta | 3 - .../LARGE_TURBINE_LP_ACTIVE_5.PNG.mcmeta | 3 - .../LARGE_TURBINE_LP_ACTIVE_6.PNG.mcmeta | 3 - .../LARGE_TURBINE_LP_ACTIVE_7.PNG.mcmeta | 3 - .../LARGE_TURBINE_LP_ACTIVE_8.PNG.mcmeta | 3 - .../LARGE_TURBINE_LP_ACTIVE_9.PNG.mcmeta | 3 - .../textures/blocks/iconsets/FUSIONIII_1.png | Bin 486 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_10.png | Bin 491 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_11.png | Bin 508 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_12.png | Bin 494 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_2.png | Bin 504 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_3.png | Bin 463 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_4.png | Bin 460 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_5.png | Bin 478 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_6.png | Bin 473 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_7.png | Bin 429 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_8.png | Bin 531 -> 0 bytes .../textures/blocks/iconsets/FUSIONIII_9.png | Bin 486 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_1.png | Bin 1784 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_1.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_10.png | Bin 1921 -> 0 bytes .../blocks/iconsets/FUSIONIV_10.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_11.png | Bin 2065 -> 0 bytes .../blocks/iconsets/FUSIONIV_11.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_12.png | Bin 2074 -> 0 bytes .../blocks/iconsets/FUSIONIV_12.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_2.png | Bin 2144 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_2.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_3.png | Bin 2219 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_3.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_4.png | Bin 1911 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_4.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_5.png | Bin 2183 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_5.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_6.png | Bin 1999 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_6.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_7.png | Bin 2094 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_7.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_8.png | Bin 1601 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_8.png.mcmeta | 6 - .../textures/blocks/iconsets/FUSIONIV_9.png | Bin 2024 -> 0 bytes .../textures/blocks/iconsets/FUSIONIV_9.png.mcmeta | 6 - .../textures/blocks/iconsets/Grinder/GRINDER1.png | Bin 647 -> 0 bytes .../textures/blocks/iconsets/Grinder/GRINDER2.png | Bin 541 -> 0 bytes .../textures/blocks/iconsets/Grinder/GRINDER3.png | Bin 663 -> 0 bytes .../textures/blocks/iconsets/Grinder/GRINDER4.png | Bin 533 -> 0 bytes .../textures/blocks/iconsets/Grinder/GRINDER5.png | Bin 271 -> 0 bytes .../textures/blocks/iconsets/Grinder/GRINDER6.png | Bin 526 -> 0 bytes .../textures/blocks/iconsets/Grinder/GRINDER7.png | Bin 665 -> 0 bytes .../textures/blocks/iconsets/Grinder/GRINDER8.png | Bin 528 -> 0 bytes .../textures/blocks/iconsets/Grinder/GRINDER9.png | Bin 625 -> 0 bytes .../blocks/iconsets/Grinder/GRINDER_ACTIVE1.png | Bin 748 -> 0 bytes .../iconsets/Grinder/GRINDER_ACTIVE1.png.mcmeta | 3 - .../blocks/iconsets/Grinder/GRINDER_ACTIVE2.png | Bin 766 -> 0 bytes .../iconsets/Grinder/GRINDER_ACTIVE2.png.mcmeta | 3 - .../blocks/iconsets/Grinder/GRINDER_ACTIVE3.png | Bin 849 -> 0 bytes .../iconsets/Grinder/GRINDER_ACTIVE3.png.mcmeta | 3 - .../blocks/iconsets/Grinder/GRINDER_ACTIVE4.pdn | Bin 5038 -> 0 bytes .../blocks/iconsets/Grinder/GRINDER_ACTIVE4.png | Bin 897 -> 0 bytes .../iconsets/Grinder/GRINDER_ACTIVE4.png.mcmeta | 3 - .../blocks/iconsets/Grinder/GRINDER_ACTIVE5.png | Bin 464 -> 0 bytes .../iconsets/Grinder/GRINDER_ACTIVE5.png.mcmeta | 3 - .../blocks/iconsets/Grinder/GRINDER_ACTIVE6.png | Bin 971 -> 0 bytes .../iconsets/Grinder/GRINDER_ACTIVE6.png.mcmeta | 3 - .../blocks/iconsets/Grinder/GRINDER_ACTIVE7.png | Bin 768 -> 0 bytes .../iconsets/Grinder/GRINDER_ACTIVE7.png.mcmeta | 3 - .../blocks/iconsets/Grinder/GRINDER_ACTIVE8.png | Bin 757 -> 0 bytes .../iconsets/Grinder/GRINDER_ACTIVE8.png.mcmeta | 3 - .../blocks/iconsets/Grinder/GRINDER_ACTIVE9.png | Bin 747 -> 0 bytes .../iconsets/Grinder/GRINDER_ACTIVE9.png.mcmeta | 3 - .../textures/blocks/iconsets/LARGECENTRIFUGE1.png | Bin 515 -> 0 bytes .../textures/blocks/iconsets/LARGECENTRIFUGE2.png | Bin 507 -> 0 bytes .../textures/blocks/iconsets/LARGECENTRIFUGE3.png | Bin 539 -> 0 bytes .../textures/blocks/iconsets/LARGECENTRIFUGE4.png | Bin 546 -> 0 bytes .../textures/blocks/iconsets/LARGECENTRIFUGE5.png | Bin 332 -> 0 bytes .../textures/blocks/iconsets/LARGECENTRIFUGE6.png | Bin 530 -> 0 bytes .../textures/blocks/iconsets/LARGECENTRIFUGE7.png | Bin 546 -> 0 bytes .../textures/blocks/iconsets/LARGECENTRIFUGE8.png | Bin 511 -> 0 bytes .../textures/blocks/iconsets/LARGECENTRIFUGE9.png | Bin 509 -> 0 bytes .../blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png | Bin 670 -> 0 bytes .../iconsets/LARGECENTRIFUGE_ACTIVE1.png.mcmeta | 3 - .../blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png | Bin 863 -> 0 bytes .../iconsets/LARGECENTRIFUGE_ACTIVE2.png.mcmeta | 3 - .../blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png | Bin 687 -> 0 bytes .../iconsets/LARGECENTRIFUGE_ACTIVE3.png.mcmeta | 3 - .../blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png | Bin 944 -> 0 bytes .../iconsets/LARGECENTRIFUGE_ACTIVE4.png.mcmeta | 3 - .../blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png | Bin 880 -> 0 bytes .../iconsets/LARGECENTRIFUGE_ACTIVE5.png.mcmeta | 3 - .../blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png | Bin 955 -> 0 bytes .../iconsets/LARGECENTRIFUGE_ACTIVE6.png.mcmeta | 3 - .../blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png | Bin 696 -> 0 bytes .../iconsets/LARGECENTRIFUGE_ACTIVE7.png.mcmeta | 3 - .../blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png | Bin 866 -> 0 bytes .../iconsets/LARGECENTRIFUGE_ACTIVE8.png.mcmeta | 3 - .../blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png | Bin 657 -> 0 bytes .../iconsets/LARGECENTRIFUGE_ACTIVE9.png.mcmeta | 3 - .../blocks/iconsets/MACHINE_CASING_FUSION_3.png | Bin 525 -> 0 bytes .../blocks/iconsets/MACHINE_CASING_FUSION_4.png | Bin 1601 -> 0 bytes .../iconsets/MACHINE_CASING_FUSION_4.png.mcmeta | 6 - .../iconsets/MACHINE_CASING_FUSION_COIL_II.png | Bin 517 -> 0 bytes .../iconsets/MACHINE_CASING_FUSION_COIL_III.png | Bin 5273 -> 0 bytes .../MACHINE_CASING_FUSION_COIL_III.png.mcmeta | 6 - .../iconsets/MACHINE_CASING_FUSION_GLASS_HYPER.png | Bin 456 -> 0 bytes .../iconsets/MACHINE_CASING_FUSION_GLASS_ULTRA.png | Bin 505 -> 0 bytes .../iconsets/MACHINE_CASING_GEARBOX_GENERIC.png | Bin 651 -> 0 bytes .../iconsets/MACHINE_CASING_PIPE_GENERIC.png | Bin 539 -> 0 bytes .../textures/blocks/iconsets/OVERLAY_CATALYSTS.png | Bin 1371 -> 0 bytes .../blocks/iconsets/OVERLAY_CATALYSTS.png.mcmeta | 5 - .../textures/blocks/iconsets/OVERLAY_DATA_ORB.png | Bin 501 -> 0 bytes .../iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER.png | Bin 455 -> 0 bytes .../OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png | Bin 724 -> 0 bytes ...Y_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png.mcmeta | 5 - ...Y_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png | Bin 733 -> 0 bytes ..._ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png.mcmeta | 5 - ...ERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png | Bin 533 -> 0 bytes ...RONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png.mcmeta | 5 - ...RONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png | Bin 557 -> 0 bytes ...ECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png.mcmeta | 5 - .../blocks/iconsets/OVERLAY_MILLING_BALL_BUS.png | Bin 1652 -> 0 bytes .../iconsets/OVERLAY_MILLING_BALL_BUS.png.mcmeta | 5 - .../blocks/iconsets/OVERLAY_MUFFLER_ADV.png | Bin 754 -> 0 bytes .../blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png | Bin 878 -> 0 bytes .../iconsets/OVERLAY_OVERFLOW_VALVE.png.mcmeta | 6 - .../textures/blocks/iconsets/SC_TURBINE.png | Bin 278 -> 0 bytes .../textures/blocks/iconsets/SC_TURBINE1.png | Bin 565 -> 0 bytes .../blocks/iconsets/SC_TURBINE1.png.mcmeta | 3 - .../textures/blocks/iconsets/SC_TURBINE2.png | Bin 969 -> 0 bytes .../blocks/iconsets/SC_TURBINE2.png.mcmeta | 3 - .../textures/blocks/iconsets/SC_TURBINE3.png | Bin 650 -> 0 bytes .../blocks/iconsets/SC_TURBINE3.png.mcmeta | 3 - .../textures/blocks/iconsets/SC_TURBINE4.png | Bin 1079 -> 0 bytes .../blocks/iconsets/SC_TURBINE4.png.mcmeta | 3 - .../textures/blocks/iconsets/SC_TURBINE5.png | Bin 890 -> 0 bytes .../blocks/iconsets/SC_TURBINE5.png.mcmeta | 3 - .../textures/blocks/iconsets/SC_TURBINE6.png | Bin 1151 -> 0 bytes .../blocks/iconsets/SC_TURBINE6.png.mcmeta | 3 - .../textures/blocks/iconsets/SC_TURBINE7.png | Bin 628 -> 0 bytes .../blocks/iconsets/SC_TURBINE7.png.mcmeta | 3 - .../textures/blocks/iconsets/SC_TURBINE8.png | Bin 1009 -> 0 bytes .../blocks/iconsets/SC_TURBINE8.png.mcmeta | 3 - .../textures/blocks/iconsets/SC_TURBINE9.png | Bin 616 -> 0 bytes .../blocks/iconsets/SC_TURBINE9.png.mcmeta | 3 - .../textures/blocks/iconsets/SC_TURBINE_IDEL1.png | Bin 342 -> 0 bytes .../textures/blocks/iconsets/SC_TURBINE_IDEL2.png | Bin 461 -> 0 bytes .../textures/blocks/iconsets/SC_TURBINE_IDEL3.png | Bin 383 -> 0 bytes .../textures/blocks/iconsets/SC_TURBINE_IDEL4.png | Bin 485 -> 0 bytes .../textures/blocks/iconsets/SC_TURBINE_IDEL5.png | Bin 413 -> 0 bytes .../textures/blocks/iconsets/SC_TURBINE_IDEL6.png | Bin 486 -> 0 bytes .../textures/blocks/iconsets/SC_TURBINE_IDEL7.png | Bin 392 -> 0 bytes .../textures/blocks/iconsets/SC_TURBINE_IDEL8.png | Bin 456 -> 0 bytes .../textures/blocks/iconsets/SC_TURBINE_IDEL9.png | Bin 364 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_EV.png | Bin 2035 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_HV.png | Bin 2048 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_IV.png | Bin 2039 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_LV.png | Bin 1887 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_LuV.png | Bin 1929 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_MAX.png | Bin 2055 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_MV.png | Bin 2060 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_ULV.png | Bin 1952 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_UV.png | Bin 2049 -> 0 bytes .../blocks/iconsets/TieredHulls/CASING_ZPM.png | Bin 2112 -> 0 bytes .../textures/blocks/metro/TEXTURE_MAGIC_A.png | Bin 1156 -> 0 bytes .../blocks/metro/TEXTURE_MAGIC_A.png.mcmeta | 6 - .../textures/blocks/metro/TEXTURE_MAGIC_B.png | Bin 2174 -> 0 bytes .../blocks/metro/TEXTURE_MAGIC_B.png.mcmeta | 6 - .../blocks/metro/TEXTURE_METAL_PANEL_A.png | Bin 533 -> 0 bytes .../blocks/metro/TEXTURE_METAL_PANEL_B.png | Bin 569 -> 0 bytes .../blocks/metro/TEXTURE_METAL_PANEL_C.png | Bin 447 -> 0 bytes .../blocks/metro/TEXTURE_METAL_PANEL_D.png | Bin 448 -> 0 bytes .../blocks/metro/TEXTURE_METAL_PANEL_F.png | Bin 453 -> 0 bytes .../blocks/metro/TEXTURE_METAL_PANEL_G.png | Bin 1220 -> 0 bytes .../blocks/metro/TEXTURE_METAL_PANEL_H.png | Bin 312 -> 0 bytes .../blocks/metro/TEXTURE_METAL_PANEL_I.png | Bin 493 -> 0 bytes .../metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png | Bin 2503 -> 0 bytes .../TEXTURE_ORGANIC_PANEL_A_GLOWING.png.mcmeta | 6 - .../textures/blocks/metro/TEXTURE_STONE_RED_A.png | Bin 532 -> 0 bytes .../textures/blocks/metro/TEXTURE_STONE_RED_B.png | Bin 367 -> 0 bytes .../textures/blocks/metro/TEXTURE_TECH_A.png | Bin 266 -> 0 bytes .../textures/blocks/metro/TEXTURE_TECH_B.png | Bin 285 -> 0 bytes .../textures/blocks/metro/TEXTURE_TECH_C.png | Bin 312 -> 0 bytes .../textures/blocks/metro/TEXTURE_TECH_PANEL_A.png | Bin 513 -> 0 bytes .../textures/blocks/metro/TEXTURE_TECH_PANEL_B.png | Bin 474 -> 0 bytes .../textures/blocks/metro/TEXTURE_TECH_PANEL_C.png | Bin 469 -> 0 bytes .../textures/blocks/metro/TEXTURE_TECH_PANEL_D.png | Bin 360 -> 0 bytes .../textures/blocks/metro/TEXTURE_TECH_PANEL_H.png | Bin 668 -> 0 bytes .../miscutils/textures/blocks/redox/redox1.png | Bin 562 -> 0 bytes .../miscutils/textures/blocks/redox/redox2.png | Bin 721 -> 0 bytes .../miscutils/textures/blocks/redox/redox3.png | Bin 776 -> 0 bytes .../miscutils/textures/blocks/redox/redox4.png | Bin 781 -> 0 bytes .../miscutils/textures/blocks/redox/redox5.png | Bin 794 -> 0 bytes .../miscutils/textures/blocks/redox/redox6.png | Bin 779 -> 0 bytes .../blocks/redstone/redstone_meter/top.png | Bin 822 -> 0 bytes .../textures/blocks/rendering/ForceField.png | Bin 3676 -> 0 bytes .../miscutils/textures/blocks/special/block_1.png | Bin 532 -> 0 bytes .../miscutils/textures/blocks/special/block_2.png | Bin 552 -> 0 bytes .../miscutils/textures/blocks/special/block_3.png | Bin 535 -> 0 bytes .../miscutils/textures/blocks/special/block_4.png | Bin 545 -> 0 bytes .../miscutils/textures/blocks/special/block_5.png | Bin 722 -> 0 bytes .../miscutils/textures/blocks/special/block_6.png | Bin 725 -> 0 bytes .../miscutils/textures/blocks/special/block_7.png | Bin 716 -> 0 bytes .../miscutils/textures/blocks/special/block_8.png | Bin 730 -> 0 bytes .../textures/blocks/trees/leaves/leaves_pine.png | Bin 688 -> 0 bytes .../blocks/trees/leaves/leaves_pine_opaque.png | Bin 687 -> 0 bytes .../blocks/trees/leaves/leaves_rainforest.png | Bin 455 -> 0 bytes .../trees/leaves/leaves_rainforest_opaque.png | Bin 457 -> 0 bytes .../textures/blocks/trees/logs/log_pine.png | Bin 300 -> 0 bytes .../textures/blocks/trees/logs/log_pine_top.png | Bin 572 -> 0 bytes .../textures/blocks/trees/logs/log_rainforest.png | Bin 579 -> 0 bytes .../blocks/trees/logs/log_rainforest_top.png | Bin 580 -> 0 bytes .../blocks/trees/saplings/sapling_pine.png | Bin 432 -> 0 bytes .../blocks/trees/saplings/sapling_rainforest.png | Bin 372 -> 0 bytes .../assets/miscutils/textures/blocks/workbench.png | Bin 410 -> 0 bytes .../miscutils/textures/entity/golemStaballoy.png | Bin 5433 -> 0 bytes .../assets/miscutils/textures/entity/sickBlaze.png | Bin 1221 -> 0 bytes .../assets/miscutils/textures/enviroment/snow.png | Bin 849 -> 0 bytes .../miscutils/textures/gui/CircuitProgrammer.png | Bin 2857 -> 0 bytes .../assets/miscutils/textures/gui/FishTrap.png | Bin 882 -> 0 bytes .../assets/miscutils/textures/gui/PestKiller.png | Bin 1833 -> 0 bytes .../assets/miscutils/textures/gui/ProjectTable.png | Bin 1124 -> 0 bytes .../assets/miscutils/textures/gui/SuperJukebox.png | Bin 5198 -> 0 bytes .../textures/gui/VolumetricFlaskSetter.png | Bin 2482 -> 0 bytes .../miscutils/textures/gui/background/yellow.png | Bin 182 -> 0 bytes .../textures/gui/button/standard_bronze.png | Bin 120 -> 0 bytes .../miscutils/textures/gui/nei/decayables.png | Bin 2623 -> 0 bytes .../assets/miscutils/textures/gui/nei/widgets.png | Bin 1876 -> 0 bytes .../textures/gui/overlay_button/active_state.png | Bin 183 -> 0 bytes .../textures/gui/overlay_button/automation.png | Bin 176 -> 0 bytes .../textures/gui/overlay_button/bottom.png | Bin 163 -> 0 bytes .../textures/gui/overlay_button/bottom_gray.png | Bin 164 -> 0 bytes .../textures/gui/overlay_button/change_mode.png | Bin 168 -> 0 bytes .../miscutils/textures/gui/overlay_button/east.png | Bin 149 -> 0 bytes .../textures/gui/overlay_button/east_gray.png | Bin 150 -> 0 bytes .../textures/gui/overlay_button/flush.png | Bin 198 -> 0 bytes .../textures/gui/overlay_button/flush_bronze.png | Bin 200 -> 0 bytes .../textures/gui/overlay_button/harvester_mode.png | Bin 610 -> 0 bytes .../gui/overlay_button/harvester_toggle.png | Bin 732 -> 0 bytes .../miscutils/textures/gui/overlay_button/lock.png | Bin 382 -> 0 bytes .../textures/gui/overlay_button/north.png | Bin 179 -> 0 bytes .../textures/gui/overlay_button/north_gray.png | Bin 179 -> 0 bytes .../textures/gui/overlay_button/plus_minus.png | Bin 196 -> 0 bytes .../textures/gui/overlay_button/south.png | Bin 180 -> 0 bytes .../textures/gui/overlay_button/south_gray.png | Bin 179 -> 0 bytes .../textures/gui/overlay_button/tip_green.png | Bin 188 -> 0 bytes .../textures/gui/overlay_button/tip_red.png | Bin 192 -> 0 bytes .../miscutils/textures/gui/overlay_button/top.png | Bin 141 -> 0 bytes .../textures/gui/overlay_button/top_gray.png | Bin 142 -> 0 bytes .../miscutils/textures/gui/overlay_button/west.png | Bin 171 -> 0 bytes .../textures/gui/overlay_button/west_gray.png | Bin 170 -> 0 bytes .../miscutils/textures/gui/overlay_slot/arrow.png | Bin 150 -> 0 bytes .../textures/gui/overlay_slot/arrow_4.png | Bin 188 -> 0 bytes .../textures/gui/overlay_slot/arrow_blue.png | Bin 169 -> 0 bytes .../textures/gui/overlay_slot/arrow_bronze.png | Bin 148 -> 0 bytes .../textures/gui/overlay_slot/arrow_cyan.png | Bin 185 -> 0 bytes .../textures/gui/overlay_slot/arrow_green.png | Bin 193 -> 0 bytes .../textures/gui/overlay_slot/arrow_magenta.png | Bin 160 -> 0 bytes .../textures/gui/overlay_slot/arrow_red.png | Bin 189 -> 0 bytes .../textures/gui/overlay_slot/arrow_yellow.png | Bin 139 -> 0 bytes .../miscutils/textures/gui/overlay_slot/blue.png | Bin 136 -> 0 bytes .../textures/gui/overlay_slot/canister_dark.png | Bin 167 -> 0 bytes .../miscutils/textures/gui/overlay_slot/chest.png | Bin 158 -> 0 bytes .../miscutils/textures/gui/overlay_slot/coal.png | Bin 159 -> 0 bytes .../textures/gui/overlay_slot/craft_output.png | Bin 176 -> 0 bytes .../gui/overlay_slot/craft_output_bronze.png | Bin 178 -> 0 bytes .../miscutils/textures/gui/overlay_slot/cyan.png | Bin 135 -> 0 bytes .../textures/gui/overlay_slot/electric_tool.png | Bin 198 -> 0 bytes .../textures/gui/overlay_slot/fertilizer.png | Bin 336 -> 0 bytes .../miscutils/textures/gui/overlay_slot/green.png | Bin 143 -> 0 bytes .../miscutils/textures/gui/overlay_slot/ingot.png | Bin 189 -> 0 bytes .../textures/gui/overlay_slot/magenta.png | Bin 146 -> 0 bytes .../gui/overlay_slot/page_printed_bronze.png | Bin 161 -> 0 bytes .../miscutils/textures/gui/overlay_slot/park.png | Bin 152 -> 0 bytes .../textures/gui/overlay_slot/park_bronze.png | Bin 149 -> 0 bytes .../miscutils/textures/gui/overlay_slot/red.png | Bin 142 -> 0 bytes .../textures/gui/overlay_slot/turbine.png | Bin 373 -> 0 bytes .../textures/gui/overlay_slot/weed_ex.png | Bin 315 -> 0 bytes .../miscutils/textures/gui/overlay_slot/yellow.png | Bin 137 -> 0 bytes .../textures/gui/picture/abs_non_alloy_recipes.png | Bin 452 -> 0 bytes .../textures/gui/picture/arrow_white_down.png | Bin 126 -> 0 bytes .../textures/gui/picture/electricity_error.png | Bin 83 -> 0 bytes .../textures/gui/picture/electricity_fine.png | Bin 84 -> 0 bytes .../textures/gui/picture/energy_frame.png | Bin 123 -> 0 bytes .../gui/picture/redstone_circuit_screen.png | Bin 262 -> 0 bytes .../textures/gui/picture/workbench_circle.png | Bin 206 -> 0 bytes .../miscutils/textures/gui/progressbar/arrow_2.png | Bin 305 -> 0 bytes .../textures/gui/progressbar/boiler_empty.png | Bin 162 -> 0 bytes .../textures/gui/progressbar/fluid_reactor.png | Bin 551 -> 0 bytes .../miscutils/textures/gui/progressbar/fuel.png | Bin 386 -> 0 bytes .../textures/gui/progressbar/pss_energy.png | Bin 132 -> 0 bytes .../assets/miscutils/textures/gui/slot/blue.png | Bin 112 -> 0 bytes .../assets/miscutils/textures/gui/slot/cyan.png | Bin 112 -> 0 bytes .../assets/miscutils/textures/gui/slot/green.png | Bin 112 -> 0 bytes .../miscutils/textures/gui/slot/item_yellow.png | Bin 111 -> 0 bytes .../assets/miscutils/textures/gui/slot/magenta.png | Bin 112 -> 0 bytes .../assets/miscutils/textures/gui/slot/red.png | Bin 112 -> 0 bytes .../assets/miscutils/textures/gui/slot/yellow.png | Bin 112 -> 0 bytes .../textures/gui/tab/title_angular_yellow.png | Bin 129 -> 0 bytes .../textures/gui/tab/title_dark_yellow.png | Bin 148 -> 0 bytes .../miscutils/textures/gui/tab/title_yellow.png | Bin 144 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/0.png | Bin 501 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/1.png | Bin 501 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/10.png | Bin 358 -> 0 bytes .../textures/items/MU-metaitem.01/100.png | Bin 2112 -> 0 bytes .../textures/items/MU-metaitem.01/105.png | Bin 9891 -> 0 bytes .../textures/items/MU-metaitem.01/105.png.mcmeta | 1 - .../textures/items/MU-metaitem.01/106.png | Bin 300 -> 0 bytes .../textures/items/MU-metaitem.01/107.png | Bin 304 -> 0 bytes .../textures/items/MU-metaitem.01/108.png | Bin 299 -> 0 bytes .../textures/items/MU-metaitem.01/109.png | Bin 297 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/11.png | Bin 358 -> 0 bytes .../textures/items/MU-metaitem.01/110.png | Bin 393 -> 0 bytes .../textures/items/MU-metaitem.01/111.png | Bin 345 -> 0 bytes .../textures/items/MU-metaitem.01/112.png | Bin 341 -> 0 bytes .../textures/items/MU-metaitem.01/113.png | Bin 337 -> 0 bytes .../textures/items/MU-metaitem.01/114.png | Bin 396 -> 0 bytes .../textures/items/MU-metaitem.01/115.png | Bin 428 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/12.png | Bin 411 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/13.png | Bin 411 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/14.png | Bin 411 -> 0 bytes .../textures/items/MU-metaitem.01/140.png | Bin 660 -> 0 bytes .../textures/items/MU-metaitem.01/141.png | Bin 655 -> 0 bytes .../textures/items/MU-metaitem.01/142.png | Bin 627 -> 0 bytes .../textures/items/MU-metaitem.01/143.png | Bin 675 -> 0 bytes .../textures/items/MU-metaitem.01/144.png | Bin 645 -> 0 bytes .../textures/items/MU-metaitem.01/145.png | Bin 651 -> 0 bytes .../textures/items/MU-metaitem.01/146.png | Bin 630 -> 0 bytes .../textures/items/MU-metaitem.01/147.png | Bin 648 -> 0 bytes .../textures/items/MU-metaitem.01/148.png | Bin 645 -> 0 bytes .../textures/items/MU-metaitem.01/149.png | Bin 659 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/15.png | Bin 411 -> 0 bytes .../textures/items/MU-metaitem.01/150.png | Bin 667 -> 0 bytes .../textures/items/MU-metaitem.01/151.png | Bin 335 -> 0 bytes .../textures/items/MU-metaitem.01/152.png | Bin 296 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/16.png | Bin 461 -> 0 bytes .../textures/items/MU-metaitem.01/160.png | Bin 459 -> 0 bytes .../textures/items/MU-metaitem.01/161.png | Bin 455 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/17.png | Bin 461 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/18.png | Bin 461 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/19.png | Bin 461 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/2.png | Bin 501 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/20.png | Bin 617 -> 0 bytes .../textures/items/MU-metaitem.01/200.png | Bin 231 -> 0 bytes .../textures/items/MU-metaitem.01/201.png | Bin 292 -> 0 bytes .../textures/items/MU-metaitem.01/202.png | Bin 321 -> 0 bytes .../textures/items/MU-metaitem.01/203.png | Bin 319 -> 0 bytes .../textures/items/MU-metaitem.01/204.png | Bin 315 -> 0 bytes .../textures/items/MU-metaitem.01/205.png | Bin 348 -> 0 bytes .../textures/items/MU-metaitem.01/206.png | Bin 364 -> 0 bytes .../textures/items/MU-metaitem.01/207.png | Bin 375 -> 0 bytes .../textures/items/MU-metaitem.01/208.png | Bin 338 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/21.png | Bin 617 -> 0 bytes .../textures/items/MU-metaitem.01/210.png | Bin 223 -> 0 bytes .../textures/items/MU-metaitem.01/211.png | Bin 223 -> 0 bytes .../textures/items/MU-metaitem.01/213.png | Bin 435 -> 0 bytes .../textures/items/MU-metaitem.01/214.png | Bin 461 -> 0 bytes .../textures/items/MU-metaitem.01/215.png | Bin 273 -> 0 bytes .../textures/items/MU-metaitem.01/216.png | Bin 441 -> 0 bytes .../textures/items/MU-metaitem.01/217.png | Bin 450 -> 0 bytes .../textures/items/MU-metaitem.01/218.png | Bin 508 -> 0 bytes .../textures/items/MU-metaitem.01/219.png | Bin 277 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/22.png | Bin 617 -> 0 bytes .../textures/items/MU-metaitem.01/220.png | Bin 331 -> 0 bytes .../textures/items/MU-metaitem.01/221.png | Bin 513 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/23.png | Bin 617 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/24.png | Bin 545 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/25.png | Bin 545 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/26.png | Bin 545 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/27.png | Bin 545 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/28.png | Bin 482 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/29.png | Bin 482 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/3.png | Bin 501 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/30.png | Bin 482 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/31.png | Bin 482 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/32.png | Bin 501 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/33.png | Bin 415 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/34.png | Bin 358 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/35.png | Bin 411 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/36.png | Bin 461 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/37.png | Bin 617 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/38.png | Bin 545 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/39.png | Bin 482 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/4.png | Bin 415 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/40.png | Bin 788 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/41.png | Bin 750 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/42.png | Bin 834 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/43.png | Bin 936 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/44.png | Bin 764 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/5.png | Bin 415 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/50.png | Bin 499 -> 0 bytes .../textures/items/MU-metaitem.01/50/1.png | Bin 480 -> 0 bytes .../textures/items/MU-metaitem.01/50/2.png | Bin 490 -> 0 bytes .../textures/items/MU-metaitem.01/50/3.png | Bin 485 -> 0 bytes .../textures/items/MU-metaitem.01/50/4.png | Bin 490 -> 0 bytes .../textures/items/MU-metaitem.01/50/5.png | Bin 488 -> 0 bytes .../textures/items/MU-metaitem.01/50/6.png | Bin 498 -> 0 bytes .../textures/items/MU-metaitem.01/50/7.png | Bin 491 -> 0 bytes .../textures/items/MU-metaitem.01/50/8.png | Bin 485 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/52.png | Bin 499 -> 0 bytes .../textures/items/MU-metaitem.01/52/1.png | Bin 480 -> 0 bytes .../textures/items/MU-metaitem.01/52/2.png | Bin 490 -> 0 bytes .../textures/items/MU-metaitem.01/52/3.png | Bin 485 -> 0 bytes .../textures/items/MU-metaitem.01/52/4.png | Bin 490 -> 0 bytes .../textures/items/MU-metaitem.01/52/5.png | Bin 488 -> 0 bytes .../textures/items/MU-metaitem.01/52/6.png | Bin 498 -> 0 bytes .../textures/items/MU-metaitem.01/52/7.png | Bin 491 -> 0 bytes .../textures/items/MU-metaitem.01/52/8.png | Bin 485 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/54.png | Bin 499 -> 0 bytes .../textures/items/MU-metaitem.01/54/1.png | Bin 480 -> 0 bytes .../textures/items/MU-metaitem.01/54/2.png | Bin 490 -> 0 bytes .../textures/items/MU-metaitem.01/54/3.png | Bin 485 -> 0 bytes .../textures/items/MU-metaitem.01/54/4.png | Bin 490 -> 0 bytes .../textures/items/MU-metaitem.01/54/5.png | Bin 488 -> 0 bytes .../textures/items/MU-metaitem.01/54/6.png | Bin 498 -> 0 bytes .../textures/items/MU-metaitem.01/54/7.png | Bin 491 -> 0 bytes .../textures/items/MU-metaitem.01/54/8.png | Bin 485 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/55.png | Bin 24039 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/6.png | Bin 415 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/61.png | Bin 352 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/62.png | Bin 352 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/63.png | Bin 352 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/64.png | Bin 358 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/66.png | Bin 392 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/68.png | Bin 390 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/7.png | Bin 415 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/70.png | Bin 398 -> 0 bytes .../textures/items/MU-metaitem.01/700.png | Bin 328 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/71.png | Bin 304 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/72.png | Bin 314 -> 0 bytes .../textures/items/MU-metaitem.01/720.png | Bin 455 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/73.png | Bin 318 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/74.png | Bin 319 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/75.png | Bin 323 -> 0 bytes .../textures/items/MU-metaitem.01/751.png | Bin 317 -> 0 bytes .../textures/items/MU-metaitem.01/752.png | Bin 447 -> 0 bytes .../textures/items/MU-metaitem.01/753.png | Bin 462 -> 0 bytes .../textures/items/MU-metaitem.01/754.png | Bin 459 -> 0 bytes .../textures/items/MU-metaitem.01/755.png | Bin 463 -> 0 bytes .../textures/items/MU-metaitem.01/756.png | Bin 466 -> 0 bytes .../textures/items/MU-metaitem.01/758.png | Bin 477 -> 0 bytes .../textures/items/MU-metaitem.01/759.png | Bin 444 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/76.png | Bin 321 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/77.png | Bin 324 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/78.png | Bin 324 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/79.png | Bin 314 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/8.png | Bin 358 -> 0 bytes .../miscutils/textures/items/MU-metaitem.01/9.png | Bin 358 -> 0 bytes .../miscutils/textures/items/MU-metatool.01/0.png | Bin 1153 -> 0 bytes .../miscutils/textures/items/MU-metatool.01/1.png | Bin 1142 -> 0 bytes .../miscutils/textures/items/MU-metatool.01/2.png | Bin 1139 -> 0 bytes .../miscutils/textures/items/MU-metatool.01/3.png | Bin 1143 -> 0 bytes .../items/baubles/itemFireProtectGlovesBetter.png | Bin 1326 -> 0 bytes .../textures/items/bioscience/BasicAlgae.png | Bin 1122 -> 0 bytes .../items/bioscience/BasicAlgae_Overlay.png | Bin 1045 -> 0 bytes .../textures/items/bioscience/BioCircuit/0.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/1.png | Bin 286 -> 0 bytes .../textures/items/bioscience/BioCircuit/10.png | Bin 288 -> 0 bytes .../textures/items/bioscience/BioCircuit/11.png | Bin 288 -> 0 bytes .../textures/items/bioscience/BioCircuit/12.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/13.png | Bin 288 -> 0 bytes .../textures/items/bioscience/BioCircuit/14.png | Bin 288 -> 0 bytes .../textures/items/bioscience/BioCircuit/15.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/16.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/17.png | Bin 288 -> 0 bytes .../textures/items/bioscience/BioCircuit/18.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/19.png | Bin 288 -> 0 bytes .../textures/items/bioscience/BioCircuit/2.png | Bin 286 -> 0 bytes .../textures/items/bioscience/BioCircuit/20.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/21.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/22.png | Bin 286 -> 0 bytes .../textures/items/bioscience/BioCircuit/23.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/24.png | Bin 290 -> 0 bytes .../textures/items/bioscience/BioCircuit/3.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/4.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/5.png | Bin 286 -> 0 bytes .../textures/items/bioscience/BioCircuit/6.png | Bin 286 -> 0 bytes .../textures/items/bioscience/BioCircuit/7.png | Bin 287 -> 0 bytes .../textures/items/bioscience/BioCircuit/8.png | Bin 286 -> 0 bytes .../textures/items/bioscience/BioCircuit/9.png | Bin 286 -> 0 bytes .../textures/items/bioscience/MetaItem1/0.png | Bin 605 -> 0 bytes .../textures/items/bioscience/MetaItem1/1.png | Bin 627 -> 0 bytes .../textures/items/bioscience/MetaItem1/10.png | Bin 516 -> 0 bytes .../textures/items/bioscience/MetaItem1/11.png | Bin 392 -> 0 bytes .../textures/items/bioscience/MetaItem1/12.png | Bin 704 -> 0 bytes .../textures/items/bioscience/MetaItem1/13.png | Bin 373 -> 0 bytes .../textures/items/bioscience/MetaItem1/14.png | Bin 427 -> 0 bytes .../textures/items/bioscience/MetaItem1/15.png | Bin 376 -> 0 bytes .../textures/items/bioscience/MetaItem1/16.png | Bin 397 -> 0 bytes .../textures/items/bioscience/MetaItem1/17.png | Bin 306 -> 0 bytes .../textures/items/bioscience/MetaItem1/18.png | Bin 442 -> 0 bytes .../textures/items/bioscience/MetaItem1/19.png | Bin 347 -> 0 bytes .../textures/items/bioscience/MetaItem1/2.png | Bin 633 -> 0 bytes .../textures/items/bioscience/MetaItem1/20.png | Bin 364 -> 0 bytes .../textures/items/bioscience/MetaItem1/21.png | Bin 280 -> 0 bytes .../textures/items/bioscience/MetaItem1/22.png | Bin 437 -> 0 bytes .../textures/items/bioscience/MetaItem1/23.png | Bin 701 -> 0 bytes .../textures/items/bioscience/MetaItem1/24.png | Bin 357 -> 0 bytes .../textures/items/bioscience/MetaItem1/25.png | Bin 648 -> 0 bytes .../textures/items/bioscience/MetaItem1/3.png | Bin 646 -> 0 bytes .../textures/items/bioscience/MetaItem1/4.png | Bin 622 -> 0 bytes .../textures/items/bioscience/MetaItem1/5.png | Bin 490 -> 0 bytes .../textures/items/bioscience/MetaItem1/6.png | Bin 455 -> 0 bytes .../textures/items/bioscience/MetaItem1/7.png | Bin 452 -> 0 bytes .../textures/items/bioscience/MetaItem1/8.png | Bin 654 -> 0 bytes .../textures/items/bioscience/MetaItem1/9.png | Bin 277 -> 0 bytes .../textures/items/bucket/BucketCryotheum.png | Bin 602 -> 0 bytes .../items/bucket/BucketCryotheum.png.mcmeta | 5 - .../textures/items/bucket/BucketEnder.png | Bin 715 -> 0 bytes .../textures/items/bucket/BucketEnder.png.mcmeta | 5 - .../textures/items/bucket/BucketPyrotheum.png | Bin 2141 -> 0 bytes .../items/bucket/BucketPyrotheum.png.mcmeta | 23 - .../items/burnables/itemCactusCharcoal.png | Bin 354 -> 0 bytes .../textures/items/burnables/itemCactusCoke.png | Bin 379 -> 0 bytes .../textures/items/burnables/itemCoalCoke.png | Bin 282 -> 0 bytes .../textures/items/burnables/itemSugarCharcoal.png | Bin 387 -> 0 bytes .../textures/items/burnables/itemSugarCoke.png | Bin 397 -> 0 bytes .../miscutils/textures/items/chargepack/1.png | Bin 1327 -> 0 bytes .../miscutils/textures/items/chargepack/2.png | Bin 1335 -> 0 bytes .../miscutils/textures/items/chargepack/3.png | Bin 1340 -> 0 bytes .../miscutils/textures/items/chargepack/4.png | Bin 1306 -> 0 bytes .../miscutils/textures/items/chargepack/5.png | Bin 1302 -> 0 bytes .../miscutils/textures/items/chargepack/6.png | Bin 1338 -> 0 bytes .../miscutils/textures/items/chargepack/7.png | Bin 1317 -> 0 bytes .../miscutils/textures/items/chargepack/8.png | Bin 1402 -> 0 bytes .../miscutils/textures/items/chargepack/9.png | Bin 1183 -> 0 bytes .../assets/miscutils/textures/items/covers/0.png | Bin 489 -> 0 bytes .../assets/miscutils/textures/items/covers/1.png | Bin 451 -> 0 bytes .../assets/miscutils/textures/items/covers/10.png | Bin 426 -> 0 bytes .../assets/miscutils/textures/items/covers/11.png | Bin 408 -> 0 bytes .../assets/miscutils/textures/items/covers/12.png | Bin 439 -> 0 bytes .../assets/miscutils/textures/items/covers/13.png | Bin 439 -> 0 bytes .../assets/miscutils/textures/items/covers/14.png | Bin 422 -> 0 bytes .../assets/miscutils/textures/items/covers/15.png | Bin 443 -> 0 bytes .../assets/miscutils/textures/items/covers/2.png | Bin 449 -> 0 bytes .../assets/miscutils/textures/items/covers/3.png | Bin 463 -> 0 bytes .../assets/miscutils/textures/items/covers/4.png | Bin 465 -> 0 bytes .../assets/miscutils/textures/items/covers/5.png | Bin 462 -> 0 bytes .../assets/miscutils/textures/items/covers/6.png | Bin 477 -> 0 bytes .../assets/miscutils/textures/items/covers/7.png | Bin 461 -> 0 bytes .../assets/miscutils/textures/items/covers/8.png | Bin 474 -> 0 bytes .../assets/miscutils/textures/items/covers/9.png | Bin 482 -> 0 bytes .../items/dehydrator/itemDehydratorCoilWire_0.png | Bin 309 -> 0 bytes .../items/dehydrator/itemDehydratorCoilWire_1.png | Bin 302 -> 0 bytes .../items/dehydrator/itemDehydratorCoilWire_2.png | Bin 288 -> 0 bytes .../items/dehydrator/itemDehydratorCoilWire_3.png | Bin 286 -> 0 bytes .../items/dehydrator/itemDehydratorCoil_0.png | Bin 461 -> 0 bytes .../items/dehydrator/itemDehydratorCoil_1.png | Bin 459 -> 0 bytes .../items/dehydrator/itemDehydratorCoil_2.png | Bin 386 -> 0 bytes .../items/dehydrator/itemDehydratorCoil_3.png | Bin 388 -> 0 bytes .../assets/miscutils/textures/items/dust.png | Bin 302 -> 0 bytes .../assets/miscutils/textures/items/dustSmall.png | Bin 264 -> 0 bytes .../assets/miscutils/textures/items/dustTiny.png | Bin 219 -> 0 bytes .../miscutils/textures/items/food/MetaItem1/0.png | Bin 565 -> 0 bytes .../miscutils/textures/items/food/MetaItem1/1.png | Bin 548 -> 0 bytes .../miscutils/textures/items/food/MetaItem1/2.png | Bin 455 -> 0 bytes .../miscutils/textures/items/food/MetaItem1/3.png | Bin 556 -> 0 bytes .../miscutils/textures/items/food/MetaItem1/4.png | Bin 453 -> 0 bytes .../miscutils/textures/items/food/MetaItem1/5.png | Bin 447 -> 0 bytes .../miscutils/textures/items/food/MetaItem1/6.png | Bin 402 -> 0 bytes .../miscutils/textures/items/food/MetaItem1/7.png | Bin 562 -> 0 bytes .../miscutils/textures/items/food/MetaItem1/8.png | Bin 447 -> 0 bytes .../miscutils/textures/items/frameAccelerated.png | Bin 412 -> 0 bytes .../miscutils/textures/items/frameArborists.png | Bin 297 -> 0 bytes .../assets/miscutils/textures/items/frameBusy.png | Bin 412 -> 0 bytes .../miscutils/textures/items/frameDecaying.png | Bin 449 -> 0 bytes .../miscutils/textures/items/frameMutagenic.png | Bin 412 -> 0 bytes .../miscutils/textures/items/frameSlowing.png | Bin 307 -> 0 bytes .../miscutils/textures/items/frameStabilizing.png | Bin 449 -> 0 bytes .../miscutils/textures/items/frameUseless.png | Bin 427 -> 0 bytes .../textures/items/iconsets/ANGLE_GRINDER.png | Bin 387 -> 0 bytes .../items/iconsets/ANGLE_GRINDER_OVERLAY.png | Bin 143 -> 0 bytes .../items/iconsets/ELECTRIC_BUTCHER_KNIFE.png | Bin 336 -> 0 bytes .../textures/items/iconsets/ELECTRIC_LIGHTER.png | Bin 313 -> 0 bytes .../textures/items/iconsets/ELECTRIC_SNIPS.png | Bin 501 -> 0 bytes .../items/iconsets/ELECTRIC_SNIPS_OVERLAY.png | Bin 143 -> 0 bytes .../textures/items/iconsets/RENDERING_ERROR.png | Bin 161 -> 0 bytes .../miscutils/textures/items/iconsets/VOID.png | Bin 357 -> 0 bytes .../assets/miscutils/textures/items/ion/0.png | Bin 112 -> 0 bytes .../assets/miscutils/textures/items/ion/1.png | Bin 146 -> 0 bytes .../miscutils/textures/items/ion/IonBase.png | Bin 1789 -> 0 bytes .../assets/miscutils/textures/items/item.empty.png | Bin 179 -> 0 bytes .../miscutils/textures/items/itemAirFilter.png | Bin 1469 -> 0 bytes .../miscutils/textures/items/itemAlkalusDisk.png | Bin 424 -> 0 bytes .../miscutils/textures/items/itemBasicTurbine.png | Bin 475 -> 0 bytes .../miscutils/textures/items/itemBlueprint.png | Bin 782 -> 0 bytes .../miscutils/textures/items/itemBoilerChassis.png | Bin 1821 -> 0 bytes .../assets/miscutils/textures/items/itemBook.png | Bin 303 -> 0 bytes .../miscutils/textures/items/itemBufferCore.png | Bin 1329 -> 0 bytes .../assets/miscutils/textures/items/itemCell.png | Bin 362 -> 0 bytes .../miscutils/textures/items/itemCellPlasma.png | Bin 290 -> 0 bytes .../textures/items/itemCellPlasma_Overlay.png | Bin 328 -> 0 bytes .../miscutils/textures/items/itemCell_Overlay.png | Bin 297 -> 0 bytes .../miscutils/textures/items/itemCircuitLFTR.png | Bin 181 -> 0 bytes .../textures/items/itemDehydratorCoil.png | Bin 653 -> 0 bytes .../textures/items/itemDehydratorCoilWire.png | Bin 735 -> 0 bytes .../textures/items/itemEnergeticRotorBlade.png | Bin 541 -> 0 bytes .../textures/items/itemEnergeticShaft.png | Bin 444 -> 0 bytes .../assets/miscutils/textures/items/itemGear.png | Bin 455 -> 0 bytes .../miscutils/textures/items/itemHatTinFoil.png | Bin 261 -> 0 bytes .../assets/miscutils/textures/items/itemIngot.png | Bin 390 -> 0 bytes .../textures/items/itemIngotBatteryAlloy.png | Bin 420 -> 0 bytes .../miscutils/textures/items/itemIngotHot.png | Bin 423 -> 0 bytes .../textures/items/itemIridiumRotorBlade.png | Bin 560 -> 0 bytes .../miscutils/textures/items/itemIridiumShaft.png | Bin 447 -> 0 bytes .../miscutils/textures/items/itemLavaFilter.png | Bin 531 -> 0 bytes .../textures/items/itemMagnaliumRotorBlade.png | Bin 560 -> 0 bytes .../textures/items/itemMagnaliumShaft.png | Bin 447 -> 0 bytes .../assets/miscutils/textures/items/itemPlate.png | Bin 278 -> 0 bytes .../assets/miscutils/textures/items/itemShard.png | Bin 620 -> 0 bytes .../assets/miscutils/textures/items/itemShovel.png | Bin 154 -> 0 bytes .../textures/items/itemTungstenSteelRotorBlade.png | Bin 544 -> 0 bytes .../textures/items/itemTungstenSteelShaft.png | Bin 326 -> 0 bytes .../textures/items/itemUltimetRotorBlade.png | Bin 557 -> 0 bytes .../miscutils/textures/items/itemUltimetShaft.png | Bin 447 -> 0 bytes .../textures/items/itemVibrantRotorBlade.png | Bin 530 -> 0 bytes .../miscutils/textures/items/itemVibrantShaft.png | Bin 447 -> 0 bytes .../miscutils/textures/items/magicfeather.png | Bin 324 -> 0 bytes .../textures/items/material/DustBlizz.png | Bin 914 -> 0 bytes .../textures/items/material/DustBlizz.png.mcmeta | 5 - .../textures/items/material/DustCryotheum.png | Bin 1303 -> 0 bytes .../items/material/DustCryotheum.png.mcmeta | 5 - .../textures/items/material/DustPyrotheum.png | Bin 1202 -> 0 bytes .../items/material/DustPyrotheum.png.mcmeta | 5 - .../miscutils/textures/items/material/RodBlizz.png | Bin 439 -> 0 bytes .../assets/miscutils/textures/items/particle/0.png | Bin 1672 -> 0 bytes .../assets/miscutils/textures/items/particle/1.png | Bin 1669 -> 0 bytes .../miscutils/textures/items/particle/10.png | Bin 1644 -> 0 bytes .../miscutils/textures/items/particle/11.png | Bin 1678 -> 0 bytes .../miscutils/textures/items/particle/12.png | Bin 1658 -> 0 bytes .../miscutils/textures/items/particle/13.png | Bin 1668 -> 0 bytes .../miscutils/textures/items/particle/14.png | Bin 1676 -> 0 bytes .../miscutils/textures/items/particle/15.png | Bin 1675 -> 0 bytes .../miscutils/textures/items/particle/16.png | Bin 1679 -> 0 bytes .../miscutils/textures/items/particle/17.png | Bin 1674 -> 0 bytes .../miscutils/textures/items/particle/18.png | Bin 1674 -> 0 bytes .../miscutils/textures/items/particle/19.png | Bin 1685 -> 0 bytes .../assets/miscutils/textures/items/particle/2.png | Bin 1683 -> 0 bytes .../miscutils/textures/items/particle/20.png | Bin 1663 -> 0 bytes .../miscutils/textures/items/particle/21.png | Bin 1653 -> 0 bytes .../miscutils/textures/items/particle/22.png | Bin 1665 -> 0 bytes .../miscutils/textures/items/particle/23.png | Bin 1680 -> 0 bytes .../miscutils/textures/items/particle/24.png | Bin 1673 -> 0 bytes .../assets/miscutils/textures/items/particle/3.png | Bin 1681 -> 0 bytes .../assets/miscutils/textures/items/particle/4.png | Bin 1682 -> 0 bytes .../assets/miscutils/textures/items/particle/5.png | Bin 1675 -> 0 bytes .../assets/miscutils/textures/items/particle/6.png | Bin 1674 -> 0 bytes .../assets/miscutils/textures/items/particle/7.png | Bin 1667 -> 0 bytes .../assets/miscutils/textures/items/particle/8.png | Bin 1656 -> 0 bytes .../assets/miscutils/textures/items/particle/9.png | Bin 1663 -> 0 bytes .../miscutils/textures/items/particle/new/0.png | Bin 1217 -> 0 bytes .../miscutils/textures/items/particle/new/1.png | Bin 1493 -> 0 bytes .../miscutils/textures/items/particle/new/10.png | Bin 1616 -> 0 bytes .../miscutils/textures/items/particle/new/11.png | Bin 1450 -> 0 bytes .../miscutils/textures/items/particle/new/12.png | Bin 1635 -> 0 bytes .../miscutils/textures/items/particle/new/13.png | Bin 1601 -> 0 bytes .../miscutils/textures/items/particle/new/14.png | Bin 1522 -> 0 bytes .../miscutils/textures/items/particle/new/15.png | Bin 1710 -> 0 bytes .../miscutils/textures/items/particle/new/16.png | Bin 1647 -> 0 bytes .../miscutils/textures/items/particle/new/17.png | Bin 1569 -> 0 bytes .../miscutils/textures/items/particle/new/18.png | Bin 1451 -> 0 bytes .../miscutils/textures/items/particle/new/19.png | Bin 1404 -> 0 bytes .../miscutils/textures/items/particle/new/2.png | Bin 1561 -> 0 bytes .../miscutils/textures/items/particle/new/20.png | Bin 1517 -> 0 bytes .../miscutils/textures/items/particle/new/21.png | Bin 1498 -> 0 bytes .../miscutils/textures/items/particle/new/22.png | Bin 1554 -> 0 bytes .../miscutils/textures/items/particle/new/23.png | Bin 1196 -> 0 bytes .../miscutils/textures/items/particle/new/24.png | Bin 1323 -> 0 bytes .../miscutils/textures/items/particle/new/3.png | Bin 1465 -> 0 bytes .../miscutils/textures/items/particle/new/4.png | Bin 1501 -> 0 bytes .../miscutils/textures/items/particle/new/5.png | Bin 1487 -> 0 bytes .../miscutils/textures/items/particle/new/6.png | Bin 1512 -> 0 bytes .../miscutils/textures/items/particle/new/7.png | Bin 1485 -> 0 bytes .../miscutils/textures/items/particle/new/8.png | Bin 1595 -> 0 bytes .../miscutils/textures/items/particle/new/9.png | Bin 1567 -> 0 bytes .../textures/items/personalCloakingDevice.png | Bin 245 -> 0 bytes .../textures/items/processing/MilledOre/milled.png | Bin 595 -> 0 bytes .../items/processing/MilledOre/milled_OVERLAY.png | Bin 437 -> 0 bytes .../miscutils/textures/items/research/note.png | Bin 348 -> 0 bytes .../items/science/general/AdvancedCircuit/0.png | Bin 510 -> 0 bytes .../items/science/general/AdvancedCircuit/1.png | Bin 496 -> 0 bytes .../items/science/general/AdvancedCircuit/10.png | Bin 512 -> 0 bytes .../items/science/general/AdvancedCircuit/11.png | Bin 504 -> 0 bytes .../items/science/general/AdvancedCircuit/12.png | Bin 516 -> 0 bytes .../items/science/general/AdvancedCircuit/13.png | Bin 517 -> 0 bytes .../items/science/general/AdvancedCircuit/14.png | Bin 512 -> 0 bytes .../items/science/general/AdvancedCircuit/15.png | Bin 515 -> 0 bytes .../items/science/general/AdvancedCircuit/16.png | Bin 514 -> 0 bytes .../items/science/general/AdvancedCircuit/17.png | Bin 510 -> 0 bytes .../items/science/general/AdvancedCircuit/18.png | Bin 515 -> 0 bytes .../items/science/general/AdvancedCircuit/19.png | Bin 515 -> 0 bytes .../items/science/general/AdvancedCircuit/2.png | Bin 515 -> 0 bytes .../items/science/general/AdvancedCircuit/20.png | Bin 521 -> 0 bytes .../items/science/general/AdvancedCircuit/21.png | Bin 521 -> 0 bytes .../items/science/general/AdvancedCircuit/22.png | Bin 528 -> 0 bytes .../items/science/general/AdvancedCircuit/23.png | Bin 527 -> 0 bytes .../items/science/general/AdvancedCircuit/24.png | Bin 527 -> 0 bytes .../items/science/general/AdvancedCircuit/3.png | Bin 511 -> 0 bytes .../items/science/general/AdvancedCircuit/4.png | Bin 512 -> 0 bytes .../items/science/general/AdvancedCircuit/5.png | Bin 511 -> 0 bytes .../items/science/general/AdvancedCircuit/6.png | Bin 516 -> 0 bytes .../items/science/general/AdvancedCircuit/7.png | Bin 503 -> 0 bytes .../items/science/general/AdvancedCircuit/8.png | Bin 515 -> 0 bytes .../items/science/general/AdvancedCircuit/9.png | Bin 512 -> 0 bytes .../textures/items/science/general/MetaItem1/0.png | Bin 441 -> 0 bytes .../textures/items/science/general/MetaItem1/1.png | Bin 440 -> 0 bytes .../items/science/general/MetaItem1/10.png | Bin 328 -> 0 bytes .../items/science/general/MetaItem1/11.png | Bin 339 -> 0 bytes .../items/science/general/MetaItem1/12.png | Bin 320 -> 0 bytes .../items/science/general/MetaItem1/13.png | Bin 432 -> 0 bytes .../items/science/general/MetaItem1/14.png | Bin 451 -> 0 bytes .../items/science/general/MetaItem1/15.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/16.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/17.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/18.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/19.png | Bin 524 -> 0 bytes .../textures/items/science/general/MetaItem1/2.png | Bin 447 -> 0 bytes .../items/science/general/MetaItem1/20.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/21.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/22.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/23.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/24.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/25.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/26.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/27.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/28.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/29.png | Bin 524 -> 0 bytes .../textures/items/science/general/MetaItem1/3.png | Bin 448 -> 0 bytes .../items/science/general/MetaItem1/30.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/31.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/32.png | Bin 524 -> 0 bytes .../items/science/general/MetaItem1/33.png | Bin 524 -> 0 bytes .../textures/items/science/general/MetaItem1/4.png | Bin 434 -> 0 bytes .../textures/items/science/general/MetaItem1/5.png | Bin 440 -> 0 bytes .../textures/items/science/general/MetaItem1/6.png | Bin 429 -> 0 bytes .../textures/items/science/general/MetaItem1/7.png | Bin 376 -> 0 bytes .../textures/items/science/general/MetaItem1/8.png | Bin 492 -> 0 bytes .../textures/items/science/general/MetaItem1/9.png | Bin 340 -> 0 bytes .../textures/items/science/nuclear/MetaItem1/0.png | Bin 243 -> 0 bytes .../textures/items/science/nuclear/MetaItem1/1.png | Bin 243 -> 0 bytes .../textures/items/science/nuclear/MetaItem1/2.png | Bin 243 -> 0 bytes .../textures/items/science/nuclear/MetaItem1/3.png | Bin 243 -> 0 bytes .../textures/items/science/nuclear/MetaItem1/4.png | Bin 328 -> 0 bytes .../textures/items/science/nuclear/MetaItem1/5.png | Bin 328 -> 0 bytes .../textures/items/science/nuclear/MetaItem1/6.png | Bin 328 -> 0 bytes .../assets/miscutils/textures/items/spawn_egg.png | Bin 270 -> 0 bytes .../miscutils/textures/items/spawn_egg_overlay.png | Bin 402 -> 0 bytes .../assets/miscutils/textures/items/token/0.png | Bin 3345 -> 0 bytes .../assets/miscutils/textures/items/token/1.png | Bin 3688 -> 0 bytes .../assets/miscutils/textures/items/token/2.png | Bin 3698 -> 0 bytes .../assets/miscutils/textures/items/token/3.png | Bin 3758 -> 0 bytes .../assets/miscutils/textures/items/token/4.png | Bin 3719 -> 0 bytes .../assets/miscutils/textures/models/TinFoil.png | Bin 536 -> 0 bytes .../assets/miscutils/textures/space/hd10180/A.png | Bin 220 -> 0 bytes .../assets/miscutils/textures/space/hd10180/B.png | Bin 810 -> 0 bytes .../assets/miscutils/textures/space/hd10180/C.png | Bin 810 -> 0 bytes .../assets/miscutils/textures/space/hd10180/D.png | Bin 817 -> 0 bytes .../resources/assets/spiceoflife/lang/de_DE.lang | 2 - .../resources/assets/spiceoflife/lang/en_US.lang | 2 - .../resources/assets/spiceoflife/lang/es_ES.lang | 2 - .../resources/assets/spiceoflife/lang/fr_FR.lang | 2 - .../resources/assets/spiceoflife/lang/it_IT.lang | 2 - .../resources/assets/spiceoflife/lang/ko_KR.lang | 2 - .../resources/assets/spiceoflife/lang/ru_RU.lang | 2 - .../resources/assets/spiceoflife/lang/zh_CN.lang | 2 - .../spiceoflife/textures/items/foodcrate.png | Bin 365 -> 0 bytes .../textures/items/foodcrate_open_empty.png | Bin 355 -> 0 bytes .../textures/items/foodcrate_open_full.png | Bin 509 -> 0 bytes .../resources/assets/stevescarts/lang/en_US.lang | 1 - .../resources/assets/stevescarts/lang/zh_CN.lang | 1 - .../textures/items/crop_exotic_seeds_icon.png | Bin 540 -> 0 bytes 2766 files changed, 156594 deletions(-) delete mode 100644 gtpp/src/main/java/gregtech/api/enums/TAE.java delete mode 100644 gtpp/src/main/java/gregtech/api/util/AdvancedFusionOverclockDescriber.java delete mode 100644 gtpp/src/main/java/gregtech/api/util/FishPondFakeRecipe.java delete mode 100644 gtpp/src/main/java/gregtech/api/util/GasSpargingRecipe.java delete mode 100644 gtpp/src/main/java/gregtech/api/util/GasSpargingRecipeMap.java delete mode 100644 gtpp/src/main/java/gregtech/api/util/HotFuel.java delete mode 100644 gtpp/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/GTplusplus.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/interfaces/ILazyCoverable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/interfaces/IPlugin.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/interfaces/ITexturedBlock.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/interfaces/ITileTooltip.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/interfaces/RunnableWithInfo.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/Logger.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/data/AutoMap.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/data/Pair.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/data/Quad.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/data/Triplet.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/data/WeightedCollection.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/AABB.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_FluidTank.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_Inventory.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BlockPos.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/CubicObject.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/FluidGT6.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ItemPackage.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ItemStackData.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/SafeTexture.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/api/recipe/ThermalBoilerFrontend.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/ModBlocks.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/base/BasicBlock.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseFluid.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseModular.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/general/BlockSuperLight.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/general/FluidTankInfinite.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/general/HellFire.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/general/LightGlass.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/general/MiningExplosives.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/machine/CircuitProgrammer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/machine/DecayablesChest.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/machine/FishTrap.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_PestKiller.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_PooCollector.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_SuperJukebox.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/CustomTextureSet.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/model/ModelDecayChest.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/model/ModelSickBlaze.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/model/ModelStaballoyConstruct.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/renderer/CustomItemBlockRenderer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/renderer/CustomOreBlockRenderer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderDecayChest.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderMiningExplosivesPrimed.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderSickBlaze.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderStaballoyConstruct.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderToxinball.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/client/renderer/particle/EntityDropParticleFX.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/commands/CommandMath.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/commands/CommandUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/common/CommonProxy.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_HarvestCraft.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_IC2.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Witchery.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/config/ConfigHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/container/Container_CircuitProgrammer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/container/Container_DecayablesChest.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/container/Container_FishTrap.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/container/Container_PestKiller.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/container/Container_ProjectTable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/container/Container_SuperJukebox.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/creative/AddToCreativeTab.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/entity/EntityPrimedMiningExplosive.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/entity/InternalEntityRegistry.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/entity/monster/EntitySickBlaze.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/entity/monster/EntityStaballoyConstruct.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityLightningAttack.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityToxinball.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityToxinballSmall.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/fluids/FluidRegistryHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/GUI_Base_Tile_Entity.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/beta/Gui_Types.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/beta/MU_GuiId.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_CircuitProgrammer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_DecayablesChest.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_FishTrap.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_PestKiller.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_ProjectTable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_SuperJukebox.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_VolumetricFlaskSetter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/gui/widget/GuiValueField.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/AchievementHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/BookHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/BurnableFuelHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/GuiHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/PacketHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/DecayableRecipe.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/LateRegistrationHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/events/CustomMovementHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/events/EntityDeathHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/events/PlayerSleepEventHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/events/SneakManager.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/handler/workbench/Workbench_CraftingHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/interfaces/IGuiManager.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/interfaces/IGuiManagerMiscUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/interfaces/IItemBlueprint.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryCircuitProgrammer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryFishTrap.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryPestKiller.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_DecayablesChest.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_EggBox.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_SuperJukebox.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_VolumetricFlaskSetter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/projecttable/InventoryProjectMain.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/projecttable/InventoryProjectOutput.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/tradetable/InventoryTradeMain.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/inventories/tradetable/InventoryTradeOutput.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/ModItems.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemBurnable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemColourable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemDamageable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemTCShard.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemTickable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/BasicSpawnEgg.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/CoreItem.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/bolts/BaseItemBolt.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/cell/BaseItemCell.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/cell/BaseItemPlasmaCell.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/dusts/BaseItemDustUnique.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/foil/BaseItemFoil.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/gears/BaseItemGear.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/gears/BaseItemSmallGear.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/misc/BaseItemMisc.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/nugget/BaseItemNugget.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemCentrifugedCrushedOre.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemCrushedOre.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemImpureDust.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemPurifiedCrushedOre.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemPurifiedDust.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemRawOre.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDense.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDouble.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlate_OLD.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/rings/BaseItemRing.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/rods/BaseItemRod.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/rotors/BaseItemRotor.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/base/wire/BaseItemFineWire.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/bauble/BaseBauble.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/bauble/ElectricBaseBauble.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/bauble/FireProtectionBauble.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/chemistry/IonParticles.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/chemistry/NuclearChem.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/circuit/GTPP_IntegratedCircuit_Item.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/crafting/ItemDummyResearch.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/food/BaseItemMetaFood.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/BufferCore.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemAirFilter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemBasicScrubberTurbine.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemBlueprint.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemCloakingDevice.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemEmpty.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemGenericToken.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemHalfCompleteCasings.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemHealingDevice.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemLavaFilter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/ItemMagicFeather.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemBoilerChassis.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/general/spawn/ItemCustomSpawnEgg.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/init/ItemsFoods.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/materials/DustDecayable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/tool/misc/GregtechPump.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/wearable/WearableLoader.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/ArmourLoader.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/base/BaseArmour.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourHelm.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/tinfoil/ArmourTinFoilHat.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/wearable/base/BaseItemWearable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/item/wearable/hazmat/ItemArmorHazmatEx.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/lib/CORE.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/lib/VanillaColours.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/ALLOY.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/ELEMENT.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/MISC_MATERIALS.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/Material.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/MaterialStack.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/NONMATERIAL.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/ORES.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/Particle.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/nuclear/FLUORIDES.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/nuclear/NUCLIDE.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/material/state/MaterialState.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractClientMessageHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractMessageHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractServerMessageHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/network/packet/AbstractPacket.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui2.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/potion/GtPotionEffect.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/proxy/ClientProxy.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/proxy/ServerProxy.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/recipe/common/CI.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/slots/SlotCrafting.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/slots/SlotCraftingNoCollect.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/slots/SlotDataStick.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/slots/SlotGeneric.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/slots/SlotJukebox.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/slots/SlotNoInput.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/slots/SlotVolumetricFlask.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/ModTileEntities.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityCircuitProgrammer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityDecayablesChest.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityInfiniteFluid.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityAdvPooCollector.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityBaseFluidCollector.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityPestKiller.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityPooCollector.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityProjectTable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/MovingAverageLong.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/Utils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/data/AES.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/data/ArrayUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/data/FileUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/data/LocaleUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/data/StringUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/math/MathUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/EntityUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/InventoryUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/LangUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/MiningUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/NBTUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/OreDictUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/PlayerUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/RecipeUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/recipe/GT_RecipeUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/recipe/RecipeHashStrat.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/util/sys/KeyboardUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/world/explosions/ExplosionHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/core/world/explosions/MiningExplosion.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/biome/BiomeGenerator_Custom.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/biome/Biome_Everglades.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/biome/GenLayerBiomes.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/biome/GenLayerEverglades.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldGround.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldPollutedDirt.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldPortalFrame.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldSludgeFluid.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/block/BlockEvergladesPortal.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/block/DarkWorldContentLoader.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/chunk/ChunkProviderModded.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/dimension/Dimension_Everglades.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/gen/WorldGenDeadLilly.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/gen/WorldGenMinable_Custom.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Base.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Ore_Layer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_Ores.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/item/ItemBlockToxicEverglades.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/item/ItemEvergladesPortalTrigger.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/world/TeleporterDimensionMod.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/world/WorldChunkManagerCustom.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/everglades/world/WorldProviderMod.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/nei/DecayableRecipeHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/nei/NEI_GTPP_Config.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/AlgaeDefinition.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/AlgaeUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/Core_Agrichem.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/IAlgalItem.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/block/AgrichemFluids.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/item/algae/ItemAgrichemBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/item/algae/ItemAlgaeBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/logic/AlgaeGeneticData.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/agrichem/logic/AlgaeGrowthRequirement.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/fixes/interfaces/IBugFix.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/Core_VanillaFixes.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/VanillaBackgroundMusicFix.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/VanillaBedHeightFix.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/music/MusicTocker.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/plugin/manager/Core_Manager.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/Preloader_GT_OreDict.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/Preloader_Logger.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_COFH_OreDictionaryArbiter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_LWJGL_Keyboard.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TC_ItemWispEssence.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/preloader/keyboard/BetterKeyboard.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/HANDLER_CropsPlusPlus.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/LoaderOfTheCrops.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseAestheticCrop.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseCrop.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseHarvestableCrop.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/crops/Crop_Hemp.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bartworks/BW_Utils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/LeavesPineTree.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/LogPineTree.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/SaplingPineTree.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/LogRainforestTree.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenPineTree.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenRainForestTree_Ex.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/CustomCombs.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bee_Definition.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Branch_Definition.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_CombType.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_DropType.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PollenType.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PropolisType.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_ItemRegistry.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_StringUtil.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/MB_FrameType.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/MB_ItemFrame.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Pollen.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/recipe/FR_Gregtech_Recipes.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_AlleleBeeSpecies.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bee_Mutation.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOreDictNames.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/ElectricSlotWidget.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/GregtechItemContainer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_Generic_Item.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_Base.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaTool.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ChiselBus.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake_Extreme.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_FluidGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler_Adv.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Naquadah.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Reservoir.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Solidifier.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusInput.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusOutput.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Turbine.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_TurbineProvider.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GT_MetaTileEntity_Hatch_CustomFluidBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaBoilerBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaSolarGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaTreeFarmerBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_Catalysts.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_MillingBalls.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_CopiedBlockTexture.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_RenderedTexture.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GregtechItemData.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GregtechMaterialStack.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/util/GTPP_Config.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/util/SpecialBehaviourTooltipHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks6.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksAbstract.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksPipeGearbox.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingItems.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaItemCasingsAbstract.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMachineCasings.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaTieredCasingBlocks1.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler6.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGrinderMultiblock.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/CoverManager.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/GTPP_Cover_Overflow.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/GTPP_Cover_ToggleVisual.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/FlotationRecipeHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/GT_MethodHelper.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaCustomCoverItem.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Electric_Lighter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Prospecting_Ex.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/covers/MetaItemCoverCasings.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_FlaskRenderer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_Render_MachineBlock.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_ElectricAutoWorkbench.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_HV.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_LV.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_MV.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_CombustionGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_SteamTurbine.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_CropHarvestor.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_AutoChisel.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialChisel.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialFluidHeater.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialForgeHammer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_NuclearSaltProcessingPlant.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK5.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_HeatExchanger.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/mega/GregTechMetaTileEntity_MegaAlloyBlastSmelter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SCSteam.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SHSteam.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Steam.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GregtechMetaTileEntity_LargerTurbineBase.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_PowerSubStationController.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/misc/TileEntitySolarHeater.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredChest.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/creative/GT_MetaTileEntity_InfiniteItemHolder.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngleGrinder.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricSnips.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/ProcessingAngleGrinder.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricSnips.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Base.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_AlgaeFarm.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_TreeFarm.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialChisel.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFluidHeater.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialForgeHammer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialRockBreaker.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMolecularTransformer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNuclearSaltProcessingPlant.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/ic2/CustomInternalName.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_Items.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/pamsharvest/fishtrap/FishTrapHandler.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/railcraft/utils/RailcraftUtils.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thaumcraft/commands/CommandDumpAspects.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thaumcraft/objects/ThreadAspectScanner.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/HANDLER_TF.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Ender.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Blocks.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/item/TF_Items.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/tinkers/HANDLER_Tinkers.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/tinkers/material/BaseTinkersMaterial.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersDryingRecipe.java delete mode 100644 gtpp/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java delete mode 100644 gtpp/src/main/resources/assets/forestry/AlvearyFrame.png delete mode 100644 gtpp/src/main/resources/assets/forestry/AlvearyMutator.png delete mode 100644 gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.off.png delete mode 100644 gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.on.png delete mode 100644 gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.off.png delete mode 100644 gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.on.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/lang/en_US.lang delete mode 100644 gtpp/src/main/resources/assets/gregtech/lang/zh_CN.lang delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_ACTIVE_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_GLOW.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.argon.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block1.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block2.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block3.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block4.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block5.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block6.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/foil.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/frameGt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/oreSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeHuge.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeLarge.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeMedium.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSide.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeTiny.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/void.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/wire.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block1.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block2.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block3.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block4.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block5.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block6.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/foil.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/frameGt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/ore.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/oreSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeHuge.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeLarge.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeMedium.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSide.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeTiny.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/void.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/wire.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block1.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block2.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block3.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block4.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block5.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block6.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/foil.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/frameGt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/oreSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeHuge.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeLarge.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeMedium.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSide.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeTiny.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/void.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/wire.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block1.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block2.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block3.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block4.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block5.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block6.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/foil.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/frameGt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/ore.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/oreSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeHuge.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeLarge.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeMedium.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeSide.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeTiny.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/void.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/wire.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/gui/basicmachines/FissionFuel.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_32k.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_32k.window.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_8k.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_8k.window.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtPlastic.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtPlastic_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtWood.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtWood_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cell.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cellPlasma.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cellPlasma_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cell_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtDust.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtDust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtGem.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtGem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtIngot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtIngot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtPlate.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtPlate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedCentrifuged.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedCentrifuged_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dust.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustImpure.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustImpure_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustPure.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustPure_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustTiny.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustTiny_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/foil.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/foil_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGtSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGtSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGt_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemChipped.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemChipped_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemExquisite.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemExquisite_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawed.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawless.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawless_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotHot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotHot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/lens.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/lens_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/nugget.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/nugget_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plate.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDense.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDense_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDouble.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuadruple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuintuple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateTriple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ring.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/round.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/round_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/screw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/screw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/spring.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/springSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/springSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/spring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stick.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stickLong.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stickLong_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stick_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadArrow.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadArrow_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadAxe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadAxe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadBuzzSaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadBuzzSaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadChainsaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadChainsaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadDrill.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadDrill_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadFile.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadFile_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHammer.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHammer_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHoe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHoe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPickaxe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPickaxe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPlow.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPlow_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSense.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSense_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadShovel.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadShovel_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSword.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSword_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadUniversalSpade.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadUniversalSpade_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadWrench.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadWrench_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/void.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/void_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/wireFine.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/wireFine_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtPlastic.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtPlastic_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtWood.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtWood_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cell.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cellPlasma.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cellPlasma_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cell_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtDust.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtDust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtGem.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtGem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtIngot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtIngot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtPlate.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtPlate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedCentrifuged.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedCentrifuged_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dust.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustImpure.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustImpure_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustPure.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustPure_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustTiny.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustTiny_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/foil.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/foil_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGtSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGtSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGt_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gem.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemChipped.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemChipped_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemExquisite.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemExquisite_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawed.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawless.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawless_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotHot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotHot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/nugget.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/nugget_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plate.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDense.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDense_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDouble.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuadruple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuintuple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateTriple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ring.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/round.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/round_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/screw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/screw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/spring.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/springSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/springSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/spring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stick.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stickLong.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stickLong_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stick_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadArrow.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadArrow_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadAxe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadAxe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadBuzzSaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadBuzzSaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadChainsaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadChainsaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadDrill.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadDrill_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadFile.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadFile_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHammer.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHammer_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHoe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHoe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPickaxe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPickaxe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPlow.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPlow_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSense.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSense_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadShovel.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadShovel_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSword.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSword_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadUniversalSpade.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadUniversalSpade_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadWrench.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadWrench_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/void.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/void_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/wireFine.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/wireFine_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cell.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cellPlasma.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cellPlasma_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cell_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtDust.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtDust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtGem.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtGem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtIngot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtIngot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtPlate.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtPlate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushedCentrifuged_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushedPurified_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/dustTiny_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/dust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/foil_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gearGtSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gearGt_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemChipped_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemExquisite_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemFlawed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemFlawless_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotHot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/lens.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/lens_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/nugget_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateDense_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/rotor_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/round_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/screw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/springSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/spring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/stickLong_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/stick_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/wireFine.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/wireFine_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtPlastic.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtPlastic_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtWood.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtWood_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cell.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cellPlasma.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cellPlasma_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cell_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtDust.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtDust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtGem.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtGem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtIngot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtIngot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtPlate.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtPlate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushed.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedCentrifuged.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedCentrifuged_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dust.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustImpure.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustImpure_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustPure.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustPure_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustTiny.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustTiny_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/foil.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/foil_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGtSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGtSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGt_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemChipped.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemChipped_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemExquisite.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemExquisite_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawed.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawless.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawless_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotHot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotHot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/nugget.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/nugget_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plate.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDense.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDense_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDouble.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuadruple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuintuple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateTriple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ring.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/round.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/round_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/screw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/screw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/spring.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/springSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/springSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/spring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stick.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stickLong.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stickLong_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stick_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadArrow.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadArrow_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadAxe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadAxe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadBuzzSaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadBuzzSaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadChainsaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadChainsaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadDrill.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadDrill_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadFile.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadFile_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHammer.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHammer_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHoe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHoe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPickaxe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPickaxe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPlow.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPlow_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSense.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSense_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadShovel.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadShovel_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSword.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSword_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadUniversalSpade.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadUniversalSpade_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadWrench.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadWrench_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/void.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/void_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/wireFine.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/wireFine_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtPlastic.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtPlastic_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtWood.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtWood_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cell.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cellPlasma.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cellPlasma_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cell_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtDust.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtDust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtGem.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtGem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtIngot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtIngot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtPlate.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtPlate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedCentrifuged.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedCentrifuged_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dust.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustImpure.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustImpure_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustPure.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustPure_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustTiny.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustTiny_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dust_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/foil.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/foil_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGt.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGtSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGtSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGt_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gem.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemChipped.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemChipped_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemExquisite.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemExquisite_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawed.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawed_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawless.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawless_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gem_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotHot.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotHot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingot_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/lens.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/lens_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/nugget.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/nugget_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plate.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDense.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDense_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDouble.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDouble_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuadruple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuadruple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuintuple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuintuple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateTriple.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateTriple_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plate_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ring.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/round.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/round_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/screw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/screw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/spring.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/springSmall.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/springSmall_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/spring_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stick.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stickLong.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stickLong_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stick_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadArrow.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadArrow_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadAxe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadAxe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadBuzzSaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadBuzzSaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadChainsaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadChainsaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadDrill.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadDrill_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadFile.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadFile_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHammer.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHammer_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHoe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHoe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPickaxe.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPickaxe_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPlow.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPlow_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSaw.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSaw_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSense.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSense_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadShovel.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadShovel_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSword.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSword_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadUniversalSpade.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadUniversalSpade_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadWrench.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadWrench_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/void.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/void_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/wireFine.png delete mode 100644 gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/wireFine_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/ic2/lang/de_DE.lang delete mode 100644 gtpp/src/main/resources/assets/ic2/lang/en_US.lang delete mode 100644 gtpp/src/main/resources/assets/ic2/lang/zh_CN.lang delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/armor/hazmatEx_1.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/armor/hazmatEx_2.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/HydrogenChloride.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/LithiumHydroxide.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfurDioxide.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfuricApatite.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfuricLithium.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfurousAcid.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatChestplateEx.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatHelmetEx.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatLeggingsEx.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/itemArmorRubBootsEx.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemMagnaliumRotor.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemUltimetRotor.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png delete mode 100644 gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png delete mode 100644 gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/death.ogg delete mode 100644 gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit1.ogg delete mode 100644 gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit2.ogg delete mode 100644 gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit3.ogg delete mode 100644 gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit4.ogg delete mode 100644 gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle1.ogg delete mode 100644 gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle2.ogg delete mode 100644 gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle3.ogg delete mode 100644 gtpp/src/main/resources/assets/miscutils/lang/de_DE.lang delete mode 100644 gtpp/src/main/resources/assets/miscutils/lang/en_US.lang delete mode 100644 gtpp/src/main/resources/assets/miscutils/lang/ru_RU.lang delete mode 100644 gtpp/src/main/resources/assets/miscutils/lang/zh_CN.lang delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/DevCapeHD.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/FancyCapeHD.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/Orange.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/OrangeHD.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/PatreonCapeHD.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/TesterCapeHD.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/Blank.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulatorStatic.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCoreStatic.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/FirePit/Firepit.tcn delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulatorStatic.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCoreStatic.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulatorStatic.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCoreStatic.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCoreStatic.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipperStatic.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/SwirlBigBlue.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/CASING_AMAZON.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_bottom.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_full.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_side.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/Generic_Creative_Texture.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ADVANCED_CRYOGENIC.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ADVANCED_VOLCANUS.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_CENTRIFUGE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FARM_MANAGER_STRUCTURAL.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FIREBOX_STABALLOY.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLOTATION.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_GEARBOX_T1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_GRINDING_FACTORY.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_LAURENIUM.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_PIPE_T1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ROCKETDYNE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_GRISIUM.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_POTIN.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_RED_STEEL.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_STELLITE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TALONITE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TANTALLOY61.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TRINIUM_NAQUADAH_VENT.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TRINIUM_TITANIUM.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TUMBAGA.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZERON100.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_PESTKILLER_TOP.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/STEAM_TURBINE_SIDE_ACTIVE.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/_PlaceHolder.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_blue.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_lesu.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_frequency.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_logo.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_logo.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random1.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random2.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random3.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_uum.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_vent_rotating.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_vent_rotating.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_water.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/audio_out_active.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_charger.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_crafting.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_discharge.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_redstone_conductor.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_redstone_emitter.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/dirt_podzol_top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/fishtrap.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/OVERLAY_BOXES.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/OVERLAY_CROP.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_bottom.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_top_crafting.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/25.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/26.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/27.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/28.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/29.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/30.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/31.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/32.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/33.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/34.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/35.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/36.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/37.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/38.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/39.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/40.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/41.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/42.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/43.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/44.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/45.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/46.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/47.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/48.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/49.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/50.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/51.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/52.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/53.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/54.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/55.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/56.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/57.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/58.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/59.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/60.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/61.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/62.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/63.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/100.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/101.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/102.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/103.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/104.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/105.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/106.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/107.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/108.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/109.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/110.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/111.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/112.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/113.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/114.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/115.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/116.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/117.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/118.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/119.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/120.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/121.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/122.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/123.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/124.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/125.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/126.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/127.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/128.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/129.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/130.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/131.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/132.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/133.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/134.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/135.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/136.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/137.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/138.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/139.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/140.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/141.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/142.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/143.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/25.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/26.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/27.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/28.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/29.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/30.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/31.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/32.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/33.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/34.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/35.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/36.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/37.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/38.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/39.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/40.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/41.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/42.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/43.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/44.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/45.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/46.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/47.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/48.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/49.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/50.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/51.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/52.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/53.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/54.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/55.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/56.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/57.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/58.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/59.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/60.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/61.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/62.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/63.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/64.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/65.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/66.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/67.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/68.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/69.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/70.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/71.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/72.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/73.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/74.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/75.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/76.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/77.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/78.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/79.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/80.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/81.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/82.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/83.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/84.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/85.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/86.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/87.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/88.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/89.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/90.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/91.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/92.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/93.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/94.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/95.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/96.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/97.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/98.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/99.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Lamp/off.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Lamp/on.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/25.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/26.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/27.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/28.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/29.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/30.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/31.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/high_adv_machine.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/high_adv_machine_dimensional.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/log_acacia_top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_bottom.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2_active.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2_active.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/overlay_rainbowscreen.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/overlay_rainbowscreen.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_adv_sides.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_adv_top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_sides.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/blockBlock.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/blockFrameGt.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/blockMFEffect.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/blockStaballoy.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/blockStone.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/CyberPanel.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalFunnel.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalGrate.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalPanel.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian_invert.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.flowing.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.flowing.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.still.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrofluoricacid.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrogenchloride.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.lithiumhydroxide.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.pyrotheum.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurdioxide.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuricapatite.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuriclithium.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurousacid.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumtetrafluoride.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumhexafluoride.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumtetrafluoride.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_1.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_2.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_3.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_4.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_5.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_6.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_7.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_8.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_9.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_1.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_2.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_3.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_4.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_5.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_6.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_7.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_8.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_9.PNG.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_1.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_10.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_11.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_12.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_2.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_3.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_4.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_5.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_6.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_7.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_8.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_9.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE1.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE2.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE3.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.pdn delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE5.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE6.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE7.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE8.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE9.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_4.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_II.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_III.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_III.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_GLASS_HYPER.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_GLASS_ULTRA.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_GEARBOX_GENERIC.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_PIPE_GENERIC.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_CATALYSTS.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_CATALYSTS.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_DATA_ORB.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MILLING_BALL_BUS.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MILLING_BALL_BUS.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MUFFLER_ADV.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_EV.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_HV.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_IV.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_LV.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_LuV.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_MAX.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_MV.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_ULV.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_UV.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_ZPM.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_B.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_B.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_A.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_B.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_C.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_D.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_F.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_G.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_H.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_I.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_RED_A.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_RED_B.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_A.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_B.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_C.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_A.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_B.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_C.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_D.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_H.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/redstone/redstone_meter/top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_pine.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_pine_opaque.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest_opaque.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_pine.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_pine_top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest_top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/saplings/sapling_pine.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/saplings/sapling_rainforest.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/blocks/workbench.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/entity/golemStaballoy.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/entity/sickBlaze.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/enviroment/snow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/CircuitProgrammer.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/FishTrap.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/PestKiller.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/ProjectTable.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/SuperJukebox.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/VolumetricFlaskSetter.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/background/yellow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/button/standard_bronze.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/nei/decayables.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/nei/widgets.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/active_state.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/automation.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/bottom.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/bottom_gray.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/change_mode.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/east.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/east_gray.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/flush.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/flush_bronze.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/harvester_mode.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/harvester_toggle.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/lock.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/north.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/north_gray.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/plus_minus.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/south.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/south_gray.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/tip_green.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/tip_red.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/top.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/top_gray.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/west.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/west_gray.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_blue.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_bronze.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_cyan.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_green.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_magenta.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_red.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_yellow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/blue.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/canister_dark.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/chest.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/coal.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/craft_output.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/craft_output_bronze.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/cyan.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/electric_tool.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/fertilizer.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/green.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/ingot.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/magenta.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/page_printed_bronze.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/park.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/park_bronze.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/red.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/turbine.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/weed_ex.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/yellow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/picture/abs_non_alloy_recipes.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/picture/arrow_white_down.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/picture/electricity_error.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/picture/electricity_fine.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/picture/energy_frame.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/picture/redstone_circuit_screen.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/picture/workbench_circle.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/arrow_2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/boiler_empty.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/fluid_reactor.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/fuel.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/pss_energy.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/slot/blue.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/slot/cyan.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/slot/green.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/slot/item_yellow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/slot/magenta.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/slot/red.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/slot/yellow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_angular_yellow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_dark_yellow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_yellow.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/100.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/106.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/107.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/108.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/109.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/110.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/111.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/112.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/113.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/114.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/115.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/140.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/141.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/142.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/143.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/144.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/145.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/146.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/147.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/148.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/149.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/150.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/151.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/152.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/160.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/161.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/200.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/201.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/202.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/203.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/204.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/205.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/206.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/207.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/208.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/210.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/211.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/213.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/214.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/215.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/216.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/217.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/218.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/219.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/220.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/221.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/25.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/26.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/27.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/28.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/29.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/30.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/31.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/32.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/33.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/34.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/35.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/36.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/37.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/38.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/39.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/40.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/41.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/42.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/43.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/44.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/55.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/61.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/62.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/63.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/64.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/66.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/68.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/70.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/700.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/71.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/72.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/720.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/73.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/74.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/75.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/751.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/752.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/753.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/754.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/755.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/756.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/758.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/759.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/76.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/77.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/78.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/79.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/baubles/itemFireProtectGlovesBetter.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BasicAlgae.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BasicAlgae_Overlay.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/25.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketCryotheum.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketCryotheum.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketEnder.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketEnder.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCactusCharcoal.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCactusCoke.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCoalCoke.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemSugarCharcoal.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemSugarCoke.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/covers/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dust.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dustSmall.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/dustTiny.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/frameAccelerated.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/frameArborists.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/frameBusy.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/frameDecaying.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/frameMutagenic.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/frameSlowing.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/frameStabilizing.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/frameUseless.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_SNIPS.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_SNIPS_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/RENDERING_ERROR.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/VOID.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/ion/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/ion/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/ion/IonBase.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/item.empty.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemAirFilter.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemAlkalusDisk.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemBasicTurbine.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemBlueprint.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemBoilerChassis.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemBook.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemBufferCore.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemCell.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemCellPlasma.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemCellPlasma_Overlay.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemCell_Overlay.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemCircuitLFTR.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemDehydratorCoil.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemDehydratorCoilWire.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemEnergeticShaft.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemGear.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemHatTinFoil.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemIngot.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemIngotBatteryAlloy.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemIngotHot.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemIridiumShaft.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemLavaFilter.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemPlate.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemShard.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemShovel.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemTungstenSteelShaft.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemUltimetShaft.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/itemVibrantShaft.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/magicfeather.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/material/DustBlizz.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/material/DustBlizz.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/material/DustCryotheum.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/material/DustCryotheum.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/material/DustPyrotheum.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/material/DustPyrotheum.png.mcmeta delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/material/RodBlizz.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/personalCloakingDevice.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/processing/MilledOre/milled.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/processing/MilledOre/milled_OVERLAY.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/research/note.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/10.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/11.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/12.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/13.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/14.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/15.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/16.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/17.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/18.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/19.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/20.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/21.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/22.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/23.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/24.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/25.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/26.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/27.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/28.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/29.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/30.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/31.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/32.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/33.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/7.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/8.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/9.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/5.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/6.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/spawn_egg.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/spawn_egg_overlay.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/token/0.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/token/1.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/token/2.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/token/3.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/items/token/4.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/models/TinFoil.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/A.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/B.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/C.png delete mode 100644 gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/D.png delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/lang/de_DE.lang delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/lang/en_US.lang delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/lang/es_ES.lang delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/lang/fr_FR.lang delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/lang/it_IT.lang delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/lang/ko_KR.lang delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/lang/ru_RU.lang delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/lang/zh_CN.lang delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate.png delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate_open_empty.png delete mode 100644 gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate_open_full.png delete mode 100644 gtpp/src/main/resources/assets/stevescarts/lang/en_US.lang delete mode 100644 gtpp/src/main/resources/assets/stevescarts/lang/zh_CN.lang delete mode 100644 gtpp/src/main/resources/assets/stevescarts/textures/items/crop_exotic_seeds_icon.png (limited to 'gtpp') diff --git a/gtpp/src/main/java/gregtech/api/enums/TAE.java b/gtpp/src/main/java/gregtech/api/enums/TAE.java deleted file mode 100644 index 246b2006ea..0000000000 --- a/gtpp/src/main/java/gregtech/api/enums/TAE.java +++ /dev/null @@ -1,145 +0,0 @@ -package gregtech.api.enums; - -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.HashSet; - -import gregtech.api.interfaces.ITexture; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; - -public class TAE { - - // TAE stands for Texture Array Expansion. - - public static int gtPPLastUsedIndex = 64; - public static int secondaryIndex = 0; - - public static HashMap mTAE = new HashMap<>(); - private static final HashSet mFreeSlots = new HashSet<>(64); - - static { - for (int i = 64; i < 128; i++) { - mFreeSlots.add(i); - } - Logger.INFO("Initialising TAE."); - } - - /** - * - * @param aPage - The Texture page (0-3) - * @param aID - The ID on the specified page (0-15) - * @param GTPP_CopiedBlockTexture - The Texture to register - * @return - Did it register correctly? - */ - public static boolean registerTexture(int aPage, int aID, GTPP_CopiedBlockTexture GTPP_CopiedBlockTexture) { - int aRealID = aID + (aPage * 16); - return registerTexture(64 + aRealID, GTPP_CopiedBlockTexture); - } - - public static boolean registerTexture(int aID, GTPP_CopiedBlockTexture GTPP_CopiedBlockTexture) { - if (mFreeSlots.contains(aID)) { - mFreeSlots.remove(aID); - mTAE.put(aID, GTPP_CopiedBlockTexture); - return true; - } else { - CORE.crash("Tried to register texture with ID " + aID + " to TAE, but it is already in use."); - return false; // Dead Code - } - } - - public static void finalizeTAE() { - String aFreeSpaces = ""; - String aPageAndSlotFree = ""; - AutoMap aTemp = new AutoMap<>(mFreeSlots); - for (int i = 0; i < mFreeSlots.size(); i++) { - int j = aTemp.get(i); - aFreeSpaces += j; - aPageAndSlotFree += getPageFromIndex(j); - if (i != (mFreeSlots.size() - 1)) { - aFreeSpaces += ", "; - aPageAndSlotFree += ", "; - } - } - Logger.INFO("Free Indexes within TAE: " + aFreeSpaces); - Logger.INFO("Free Page slots within TAE: " + aPageAndSlotFree); - Logger.INFO("Filling them with ERROR textures."); - for (int aFreeSlot : aTemp.values()) { - registerTexture(aFreeSlot, new GTPP_CopiedBlockTexture(ModBlocks.blockCasingsTieredGTPP, 1, 15)); - } - Logger.INFO("Finalising TAE."); - for (int aKeyTae : mTAE.keySet()) { - Textures.BlockIcons.setCasingTextureForId(aKeyTae, mTAE.get(aKeyTae)); - } - Logger.INFO("Finalised TAE."); - } - - private static boolean registerTextures(GTPP_CopiedBlockTexture GTPP_CopiedBlockTexture) { - try { - // Handle page 2. - Logger.INFO("[TAE} Registering Texture, Last used casing ID is " + gtPPLastUsedIndex + "."); - if (gtPPLastUsedIndex >= 128) { - Field x = ReflectionUtils.getField(Textures.BlockIcons.class, "casingTexturePages"); - if (x != null) { - ITexture[][] h = (ITexture[][]) x.get(null); - if (h != null) { - h[64][secondaryIndex++] = GTPP_CopiedBlockTexture; - x.set(null, h); - Logger - .INFO("[TAE} Registered Texture with ID " + (secondaryIndex - 1) + " in secondary index."); - return true; - } - } - } - - // set to page 1. - else { - Textures.BlockIcons.setCasingTextureForId(gtPPLastUsedIndex, GTPP_CopiedBlockTexture); - Logger.INFO("[TAE} Registered Texture with ID " + (gtPPLastUsedIndex) + " in main index."); - gtPPLastUsedIndex++; - return true; - } - } catch (Throwable t) { - t.printStackTrace(); - } - Logger.INFO("[TAE} Failed to register texture, Last used casing ID is " + gtPPLastUsedIndex + "."); - return false; - } - - public static ITexture getTexture(int index) { - if (gtPPLastUsedIndex >= 128) { - return Textures.BlockIcons.getCasingTextureForId(((64 * 128) + index)); - } - return Textures.BlockIcons.getCasingTextureForId((64 + index)); - } - - public static int GTPP_INDEX(int ID) { - - if (ID >= 64) { - if (gtPPLastUsedIndex >= 128) { - return (128 + ID); - } - } - return (64 + ID); - } - - public static int getIndexFromPage(int page, int blockMeta) { - int id = 64; - id += (page == 0 ? 0 : page == 1 ? 16 : page == 2 ? 32 : page == 3 ? 48 : page == 4 ? 64 : 0); - id += blockMeta; - return id; - } - - public static String getPageFromIndex(int aIndex) { - int aPage = 0; - int aSlot = 0; - int aAdjustedIndex = aIndex > 64 ? (aIndex - 64) : aIndex; - aPage = aAdjustedIndex / 16; - aSlot = aAdjustedIndex - (16 * aPage); - return "[" + aIndex + " | " + aPage + ", " + aSlot + "]"; - } -} diff --git a/gtpp/src/main/java/gregtech/api/util/AdvancedFusionOverclockDescriber.java b/gtpp/src/main/java/gregtech/api/util/AdvancedFusionOverclockDescriber.java deleted file mode 100644 index 7a6e609f93..0000000000 --- a/gtpp/src/main/java/gregtech/api/util/AdvancedFusionOverclockDescriber.java +++ /dev/null @@ -1,23 +0,0 @@ -package gregtech.api.util; - -import javax.annotation.ParametersAreNonnullByDefault; - -import gregtech.api.objects.overclockdescriber.FusionOverclockDescriber; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -public class AdvancedFusionOverclockDescriber extends FusionOverclockDescriber { - - public AdvancedFusionOverclockDescriber(byte energyTier, long capableStartup) { - super(energyTier, capableStartup); - } - - @Override - protected int getEUtIncreasePerOC() { - return 2; - } - - protected int getDurationDecreasePerOC() { - return 2; - } -} diff --git a/gtpp/src/main/java/gregtech/api/util/FishPondFakeRecipe.java b/gtpp/src/main/java/gregtech/api/util/FishPondFakeRecipe.java deleted file mode 100644 index dc579ebd9b..0000000000 --- a/gtpp/src/main/java/gregtech/api/util/FishPondFakeRecipe.java +++ /dev/null @@ -1,80 +0,0 @@ -package gregtech.api.util; - -import java.util.ArrayList; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.WeightedRandomFishable; -import net.minecraftforge.common.FishingHooks; -import net.minecraftforge.fluids.FluidStack; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class FishPondFakeRecipe { - - public static ArrayList fish = new ArrayList<>(); - public static ArrayList junk = new ArrayList<>(); - public static ArrayList treasure = new ArrayList<>(); - - @SuppressWarnings("unchecked") - public static boolean generateFishPondRecipes() { - - try { - fish = (ArrayList) ReflectionUtils.getField(FishingHooks.class, "fish") - .get(null); - junk = (ArrayList) ReflectionUtils.getField(FishingHooks.class, "junk") - .get(null); - treasure = (ArrayList) ReflectionUtils.getField(FishingHooks.class, "treasure") - .get(null); - } catch (IllegalArgumentException | IllegalAccessException e) { - Logger.INFO("Error generating Fish Pond Recipes. [1]"); - e.printStackTrace(); - } - - AutoMap> mega = new AutoMap<>(); - mega.put(fish); - mega.put(junk); - mega.put(treasure); - - int mType = 14; - for (ArrayList f : mega.values()) { - for (WeightedRandomFishable weightedRandomFishable : f) { - if (weightedRandomFishable != null) { - WeightedRandomFishable u = weightedRandomFishable; - try { - ItemStack t = (ItemStack) ReflectionUtils - .getField(WeightedRandomFishable.class, "field_150711_b") - .get(u); - addNewFishPondLoot(mType, new ItemStack[] { t }, new int[] { 10000 }); - } catch (IllegalArgumentException | IllegalAccessException e1) { - Logger.INFO("Error generating Fish Pond Recipes. [2]"); - e1.printStackTrace(); - } - } - } - mType++; - } - - return true; - } - - public static void addNewFishPondLoot(int circuit, ItemStack[] outputItems, int[] chances) { - GT_Recipe x = new GT_Recipe( - true, - new ItemStack[] { CI.getNumberedCircuit(circuit) }, - outputItems, - null, - chances, - new FluidStack[] { null }, - new FluidStack[] { null }, - 100, // 1 Tick - 0, // No Eu produced - 0); - Logger.INFO("Fishing [" + circuit + "]: " + ItemUtils.getArrayStackNames(outputItems)); - GTPPRecipeMaps.fishPondRecipes.addRecipe(x, false, false, false); - } -} diff --git a/gtpp/src/main/java/gregtech/api/util/GasSpargingRecipe.java b/gtpp/src/main/java/gregtech/api/util/GasSpargingRecipe.java deleted file mode 100644 index 667cc78d85..0000000000 --- a/gtpp/src/main/java/gregtech/api/util/GasSpargingRecipe.java +++ /dev/null @@ -1,103 +0,0 @@ -package gregtech.api.util; - -import net.minecraftforge.fluids.FluidStack; - -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.util.data.ArrayUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public class GasSpargingRecipe implements Comparable { - - public final FluidStack mInputGas; - public final FluidStack mInputSpentFuel; - public final FluidStack mOutputSpargedFuel; - public final int[] mMaxOutputQuantity; - public final FluidStack[] mFluidInputs; - public final FluidStack[] mFluidOutputs; - public final int mDuration; - public final int mEUt; - - public GasSpargingRecipe(FluidStack aSpargeGas, FluidStack aSpentFuel, FluidStack aSpargedFuel, - FluidStack[] aOutputs, int[] aMaxOutputQuantity) { - mInputGas = aSpargeGas; - mInputSpentFuel = aSpentFuel; - mOutputSpargedFuel = aSpargedFuel; - mFluidInputs = new FluidStack[] { mInputGas, mInputSpentFuel }; - aOutputs = ArrayUtils.insertElementAtIndex(aOutputs, 0, aSpargeGas); - aOutputs = ArrayUtils.insertElementAtIndex(aOutputs, 1, aSpargedFuel); - mFluidOutputs = aOutputs; - mMaxOutputQuantity = aMaxOutputQuantity; - mDuration = 500; - mEUt = MaterialUtils.getVoltageForTier(5); - } - - @Override - public boolean equals(Object o) { - if (o instanceof GasSpargingRecipe i) { - if (this.mInputGas.equals(i.mInputGas) && this.mInputSpentFuel.equals(i.mInputSpentFuel)) { - return true; - } - } - return false; - } - - public int getMaxOutput(int aIndex) { - if (aIndex == 0) { - return mInputGas.amount * 100; - } else if (aIndex == 1) { - return mOutputSpargedFuel.amount * 100; - } - aIndex -= 2; - if ((aIndex < 0) || (aIndex >= this.mMaxOutputQuantity.length)) { - return 10000; - } - return this.mMaxOutputQuantity[aIndex]; - } - - public boolean isValid() { - if (mInputGas == null || mInputGas.amount <= 0 - || mInputSpentFuel == null - || mInputSpentFuel.amount <= 0 - || mFluidOutputs == null - || mFluidOutputs.length < 1 - || mMaxOutputQuantity == null - || mMaxOutputQuantity.length < 1 - || mFluidOutputs.length != mMaxOutputQuantity.length) { - return false; - } - return true; - } - - public boolean containsInputs(FluidStack aSpargeGas, FluidStack aSpentFuel) { - if (aSpargeGas != null && aSpargeGas.getFluid() - .equals(this.mInputGas.getFluid())) { - if (aSpentFuel != null && aSpentFuel.getFluid() - .equals(this.mInputSpentFuel.getFluid())) { - return true; - } - } - return false; - } - - @Override - public int compareTo(GasSpargingRecipe o) { - if (o.mFluidOutputs.length > this.mFluidOutputs.length) { - return 1; - } else if (o.mFluidOutputs.length == this.mFluidOutputs.length) { - return 0; - } else { - return -1; - } - } - - public String[] getRecipeInfo() { - AutoMap result = new AutoMap<>(); - result.put("Input " + ItemUtils.getArrayStackNames(mFluidInputs)); - result.put("Output " + ItemUtils.getArrayStackNames(mFluidOutputs)); - result.put("Duration: " + mDuration); - result.put("EU/t: " + mEUt); - String s[] = result.toArray(); - return s; - } -} diff --git a/gtpp/src/main/java/gregtech/api/util/GasSpargingRecipeMap.java b/gtpp/src/main/java/gregtech/api/util/GasSpargingRecipeMap.java deleted file mode 100644 index 6dcc7721e0..0000000000 --- a/gtpp/src/main/java/gregtech/api/util/GasSpargingRecipeMap.java +++ /dev/null @@ -1,45 +0,0 @@ -package gregtech.api.util; - -import static gregtech.api.enums.Mods.GregTech; - -import net.minecraftforge.fluids.FluidStack; - -import gtPlusPlus.api.objects.data.AutoMap; - -public class GasSpargingRecipeMap extends AutoMap { - - public static final AutoMap mRecipes = new AutoMap<>(); - public static final String mUnlocalizedName = "gtpp.recipe.lftr.sparging"; - public static final String mNEIName = mUnlocalizedName; - public static final String mNEIDisplayName = "LFTR Gas Sparging"; - public static final String mNEIGUIPath = GregTech.getResourcePath("textures", "gui/basicmachines/FissionFuel.png"); - - public static boolean addRecipe(FluidStack aSpargeGas, FluidStack aSpentFuel, FluidStack aSpargedFuel, - FluidStack[] aOutputs, int[] aMaxOutputs) { - if (aSpargeGas == null || aSpargeGas.amount <= 0 - || aSpentFuel == null - || aSpentFuel.amount <= 0 - || aSpargedFuel == null - || aSpargedFuel.amount <= 0 - || aOutputs == null - || aOutputs.length < 1 - || aMaxOutputs == null - || aMaxOutputs.length < 1 - || aOutputs.length != aMaxOutputs.length) { - return false; - } - int aMapSize = mRecipes.size(); - GasSpargingRecipe aRecipe = new GasSpargingRecipe(aSpargeGas, aSpentFuel, aSpargedFuel, aOutputs, aMaxOutputs); - mRecipes.put(aRecipe); - return mRecipes.size() > aMapSize; - } - - public static GasSpargingRecipe findRecipe(FluidStack aSpargeGas, FluidStack aSpentFuel) { - for (GasSpargingRecipe aRecipe : mRecipes) { - if (aRecipe.containsInputs(aSpargeGas, aSpentFuel)) { - return aRecipe; - } - } - return null; - } -} diff --git a/gtpp/src/main/java/gregtech/api/util/HotFuel.java b/gtpp/src/main/java/gregtech/api/util/HotFuel.java deleted file mode 100644 index 6054a57b84..0000000000 --- a/gtpp/src/main/java/gregtech/api/util/HotFuel.java +++ /dev/null @@ -1,40 +0,0 @@ -package gregtech.api.util; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gtPlusPlus.api.recipe.GTPPRecipeMaps; - -public class HotFuel { - - public static void addNewHotFuel(FluidStack aInput1, FluidStack aOutput1, ItemStack[] outputItems, int[] chances, - int aSpecialValue) { - GTPPRecipeMaps.thermalBoilerRecipes.addRecipe( - true, - null, - outputItems, - null, - chances, - new FluidStack[] { aInput1 }, - new FluidStack[] { aOutput1 }, - 1, // 1 Tick - 0, // No Eu produced - aSpecialValue // Magic Number - ); - } - - public static void addNewHotFuel(FluidStack aInput1, FluidStack aOutput1, FluidStack aOutput2, int aSpecialValue) { - GTPPRecipeMaps.thermalBoilerRecipes.addRecipe( - false, - null, - null, - null, - null, - new FluidStack[] { aInput1 }, - new FluidStack[] { aOutput1, aOutput2 }, - 20, // 1 Second - 0, // No Eu produced - aSpecialValue // Magic Number - ); - } -} diff --git a/gtpp/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java b/gtpp/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java deleted file mode 100644 index e3baa9ac90..0000000000 --- a/gtpp/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java +++ /dev/null @@ -1,136 +0,0 @@ -package gregtech.api.util; - -import static gtPlusPlus.api.recipe.GTPPRecipeMaps.semiFluidFuels; - -import java.util.HashMap; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.recipe.RecipeMaps; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.util.minecraft.FluidUtils; - -public class SemiFluidFuelHandler { - - public static boolean addSemiFluidFuel(ItemStack aFuelItem, int aFuelValue) { - FluidStack p = FluidContainerRegistry.getFluidForFilledItem(aFuelItem); - if (p != null && aFuelValue > 0) { - return addSemiFluidFuel(p, aFuelValue); - } else { - Logger.INFO("Fuel value for " + aFuelItem.getDisplayName() + " is <= 0, ignoring."); - } - return false; - } - - public static boolean addSemiFluidFuel(FluidStack aFuel, int aFuelValue) { - FluidStack p = aFuel; - if (p != null && aFuelValue > 0) { - GT_Recipe aRecipe = new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { p }, - null, - 0, - 0, - aFuelValue); - if (aRecipe.mSpecialValue > 0) { - Logger.INFO( - "Added " + aRecipe.mFluidInputs[0].getLocalizedName() - + " to the Semi-Fluid Generator fuel map. Fuel Produces " - + (aRecipe.mSpecialValue * 1000) - + "EU per 1000L."); - semiFluidFuels.add(aRecipe); - return true; - } - } else { - Logger.INFO("Fuel value for " + p != null ? p.getLocalizedName() : "NULL Fluid" + " is <= 0, ignoring."); - } - return false; - } - - public static boolean generateFuels() { - final FluidStack aCreosote = FluidUtils.getFluidStack("creosote", 1000); - final FluidStack aHeavyFuel = FluidUtils.getFluidStack("liquid_heavy_fuel", 1000); - final FluidStack aHeavyOil = FluidUtils.getFluidStack("liquid_heavy_oil", 1000); - final HashMap> aFoundFluidsFromItems = new HashMap<>(); - // Find Fluids From items - for (final GT_Recipe r : RecipeMaps.denseLiquidFuels.getAllRecipes()) { - - GT_Recipe g = r.copy(); - - if (g != null && g.mEnabled && g.mInputs.length > 0 && g.mInputs[0] != null) { - for (ItemStack i : g.mInputs) { - FluidStack f = FluidContainerRegistry.getFluidForFilledItem(i); - if (f != null) { - Pair aData = new Pair<>(f, g.mSpecialValue); - aFoundFluidsFromItems.put(aData.hashCode(), aData); - } - } - } else if (g != null && g.mEnabled && g.mFluidInputs.length > 0 && g.mFluidInputs[0] != null) { - boolean aContainsCreosote = false; - for (FluidStack f : g.mFluidInputs) { - if (f.isFluidEqual(aCreosote)) { - aContainsCreosote = true; - } - } - g.mSpecialValue *= aContainsCreosote ? 6 : 3; - Logger.INFO( - "Added " + g.mFluidInputs[0].getLocalizedName() - + " to the Semi-Fluid Generator fuel map. Fuel Produces " - + g.mSpecialValue - + "EU per 1000L."); - semiFluidFuels.add(g); - } - } - for (Pair p : aFoundFluidsFromItems.values()) { - if (p != null) { - int aFuelValue = p.getValue(); - if (p.getKey() - .isFluidEqual(aCreosote)) { - aFuelValue *= 6; - } else if (p.getKey() - .isFluidEqual(aHeavyFuel) - || p.getKey() - .isFluidEqual(aHeavyOil)) { - aFuelValue *= 1.5; - } else { - aFuelValue *= 2; - } - - if (aFuelValue <= (128 * 3)) { - GT_Recipe aRecipe = new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { p.getKey() }, - null, - 0, - 0, - aFuelValue); - if (aRecipe.mSpecialValue > 0) { - Logger.INFO( - "Added " + aRecipe.mFluidInputs[0].getLocalizedName() - + " to the Semi-Fluid Generator fuel map. Fuel Produces " - + (aRecipe.mSpecialValue * 1000) - + "EU per 1000L."); - semiFluidFuels.add(aRecipe); - } - } else { - Logger.INFO( - "Boosted Fuel value for " + p.getKey() - .getLocalizedName() + " exceeds 512k, ignoring."); - } - } - } - return !semiFluidFuels.getAllRecipes() - .isEmpty(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/GTplusplus.java b/gtpp/src/main/java/gtPlusPlus/GTplusplus.java deleted file mode 100644 index b024e0e88a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/GTplusplus.java +++ /dev/null @@ -1,395 +0,0 @@ -package gtPlusPlus; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.Names; -import static gregtech.api.enums.Mods.Thaumcraft; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustomCapes; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.HashMap; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.launchwrapper.Launch; - -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLLoadCompleteEvent; -import cpw.mods.fml.common.event.FMLMissingMappingsEvent; -import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.event.FMLServerStoppingEvent; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.Materials; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.FishPondFakeRecipe; -import gregtech.api.util.SemiFluidFuelHandler; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.commands.CommandEnableDebugWhileRunning; -import gtPlusPlus.core.commands.CommandMath; -import gtPlusPlus.core.common.CommonProxy; -import gtPlusPlus.core.config.ConfigHandler; -import gtPlusPlus.core.handler.BookHandler; -import gtPlusPlus.core.handler.PacketHandler; -import gtPlusPlus.core.handler.Recipes.RegistrationHandler; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.data.LocaleUtils; -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.loaders.RecipeGen_BlastSmelterGT_GTNH; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_MultisUsingFluidInsteadOfCells; -import gtPlusPlus.xmod.thaumcraft.commands.CommandDumpAspects; - -@Mod( - modid = Names.G_T_PLUS_PLUS, - name = CORE.name, - version = CORE.VERSION, - dependencies = "required-after:Forge;" + " after:TConstruct;" - + " after:dreamcraft;" - + " after:IC2;" - + " required-after:gregtech;" - + " after:Forestry;" - + " after:MagicBees;" - + " after:CoFHCore;" - + " after:Railcraft;" - + " after:CompactWindmills;" - + " after:ForbiddenMagic;" - + " after:ExtraUtilities;" - + " after:Thaumcraft;" - + " after:EnderIO;" - + " after:tectech;" - + " after:OpenBlocks;" - + " after:IC2NuclearControl;" - + " after:TGregworks;" - + " after:StevesCarts;" - + " required-after:gtnhlib@[0.0.10,);") -public class GTplusplus implements ActionListener { - - public enum INIT_PHASE { - - SUPER(null), - PRE_INIT(SUPER), - INIT(PRE_INIT), - POST_INIT(INIT), - SERVER_START(POST_INIT), - STARTED(SERVER_START); - - private boolean mIsPhaseActive = false; - private final INIT_PHASE mPrev; - - INIT_PHASE(INIT_PHASE aPreviousPhase) { - mPrev = aPreviousPhase; - } - - public final synchronized boolean isPhaseActive() { - return mIsPhaseActive; - } - - public final synchronized void setPhaseActive(boolean aIsPhaseActive) { - if (mPrev != null && mPrev.isPhaseActive()) { - mPrev.setPhaseActive(false); - } - mIsPhaseActive = aIsPhaseActive; - if (CURRENT_LOAD_PHASE != this) { - CURRENT_LOAD_PHASE = this; - } - } - } - - public static INIT_PHASE CURRENT_LOAD_PHASE = INIT_PHASE.SUPER; - - // Mod Instance - @Mod.Instance(Names.G_T_PLUS_PLUS) - public static GTplusplus instance; - - // GT++ Proxy Instances - @SidedProxy(clientSide = "gtPlusPlus.core.proxy.ClientProxy", serverSide = "gtPlusPlus.core.proxy.ServerProxy") - public static CommonProxy proxy; - - // Loads Textures - @SideOnly(value = Side.CLIENT) - public static void loadTextures() { - Logger.INFO("Loading some textures on the client."); - // Tools - Logger.WARNING( - "Processing texture: " + TexturesGtTools.ANGLE_GRINDER.getTextureFile() - .getResourcePath()); - Logger.WARNING( - "Processing texture: " + TexturesGtTools.ELECTRIC_SNIPS.getTextureFile() - .getResourcePath()); - - // Blocks - Logger.WARNING( - "Processing texture: " + TexturesGtBlock.Casing_Machine_Dimensional.getTextureFile() - .getResourcePath()); - } - - public GTplusplus() { - super(); - INIT_PHASE.SUPER.setPhaseActive(true); - } - - // Pre-Init - @Mod.EventHandler - public void preInit(final FMLPreInitializationEvent event) { - INIT_PHASE.PRE_INIT.setPhaseActive(true); - // Load all class objects within the plugin package. - Core_Manager.veryEarlyInit(); - PacketHandler.init(); - - if (!Utils.isServer()) { - enableCustomCapes = true; - } - - // Give this a go mate. - setupMaterialBlacklist(); - - // Handle GT++ Config - ConfigHandler.handleConfigFile(event); - - // Check for Dev - CORE.DEVENV = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment"); - - proxy.preInit(event); - Logger.INFO("Setting up our own GT_Proxy."); - Meta_GT_Proxy.preInit(); - Core_Manager.preInit(); - } - - // Init - @Mod.EventHandler - public void init(final FMLInitializationEvent event) { - INIT_PHASE.INIT.setPhaseActive(true); - proxy.init(event); - proxy.registerNetworkStuff(); - Meta_GT_Proxy.init(); - Core_Manager.init(); - // Used by foreign players to generate .lang files for translation. - if (CORE.ConfigSwitches.dumpItemAndBlockData) { - LocaleUtils.generateFakeLocaleFile(); - } - } - - // Post-Init - @Mod.EventHandler - public void postInit(final FMLPostInitializationEvent event) { - INIT_PHASE.POST_INIT.setPhaseActive(true); - proxy.postInit(event); - BookHandler.runLater(); - Meta_GT_Proxy.postInit(); - Core_Manager.postInit(); - - 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."); - - // Log free GT++ Meta IDs - if (CORE.DEVENV) { - // 750 - 999 are reserved for Alkalus. - for (int i = 750; i < 1000; i++) { - if (gregtech.api.GregTech_API.METATILEENTITIES[i] == null) { - Logger.INFO("MetaID " + i + " is free."); - } - } - // 30000 - 31999 are reserved for Alkalus. - for (int i = 30000; i < 32000; i++) { - if (gregtech.api.GregTech_API.METATILEENTITIES[i] == null) { - Logger.INFO("MetaID " + i + " is free."); - } - } - } - } - - @EventHandler - public synchronized void serverStarting(final FMLServerStartingEvent event) { - INIT_PHASE.SERVER_START.setPhaseActive(true); - event.registerServerCommand(new CommandMath()); - event.registerServerCommand(new CommandEnableDebugWhileRunning()); - if (Thaumcraft.isModLoaded()) { - event.registerServerCommand(new CommandDumpAspects()); - } - Core_Manager.serverStart(); - INIT_PHASE.STARTED.setPhaseActive(true); - } - - @Mod.EventHandler - public synchronized void serverStopping(final FMLServerStoppingEvent event) { - Core_Manager.serverStop(); - } - - @Override - public void actionPerformed(final ActionEvent arg0) {} - - /** - * This {@link EventHandler} is called after the {@link FMLPostInitializationEvent} stages of all loaded mods - * executes successfully. {@link #onLoadComplete(FMLLoadCompleteEvent)} exists to inject recipe generation after - * Gregtech and all other mods are entirely loaded and initialized. - * - * @param event - The {@link EventHandler} object passed through from FML to {@link #GTplusplus()}'s - * {@link #instance}. - */ - @Mod.EventHandler - public void onLoadComplete(FMLLoadCompleteEvent event) { - proxy.onLoadComplete(event); - generateGregtechRecipeMaps(); - } - - protected void generateGregtechRecipeMaps() { - - int[] mInvalidCount = new int[] { 0, 0, 0, 0, 0, 0, 0 }; - - RecipeGen_BlastSmelterGT_GTNH.generateGTNHBlastSmelterRecipesFromEBFList(); - FishPondFakeRecipe.generateFishPondRecipes(); - SemiFluidFuelHandler.generateFuels(); - - mInvalidCount[0] = RecipeGen_MultisUsingFluidInsteadOfCells - .generateRecipesNotUsingCells(RecipeMaps.centrifugeRecipes, GTPPRecipeMaps.centrifugeNonCellRecipes); - mInvalidCount[1] = RecipeGen_MultisUsingFluidInsteadOfCells - .generateRecipesNotUsingCells(RecipeMaps.electrolyzerRecipes, GTPPRecipeMaps.electrolyzerNonCellRecipes); - mInvalidCount[2] = RecipeGen_MultisUsingFluidInsteadOfCells - .generateRecipesNotUsingCells(RecipeMaps.vacuumFreezerRecipes, GTPPRecipeMaps.advancedFreezerRecipes); - mInvalidCount[3] = RecipeGen_MultisUsingFluidInsteadOfCells - .generateRecipesNotUsingCells(RecipeMaps.mixerRecipes, GTPPRecipeMaps.mixerNonCellRecipes); - mInvalidCount[4] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GTPPRecipeMaps.chemicalDehydratorRecipes, - GTPPRecipeMaps.chemicalDehydratorNonCellRecipes); - mInvalidCount[5] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GTPPRecipeMaps.coldTrapRecipes, - GTPPRecipeMaps.nuclearSaltProcessingPlantRecipes); - mInvalidCount[6] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GTPPRecipeMaps.reactorProcessingUnitRecipes, - GTPPRecipeMaps.nuclearSaltProcessingPlantRecipes); - } - - private static void setupMaterialBlacklist() { - Material.invalidMaterials.put(Materials._NULL); - Material.invalidMaterials.put(Materials.Clay); - Material.invalidMaterials.put(Materials.Phosphorus); - Material.invalidMaterials.put(Materials.Steel); - Material.invalidMaterials.put(Materials.Bronze); - Material.invalidMaterials.put(Materials.Hydrogen); - // Infused TC stuff - Material.invalidMaterials.put(Materials.InfusedAir); - Material.invalidMaterials.put(Materials.InfusedEarth); - Material.invalidMaterials.put(Materials.InfusedFire); - Material.invalidMaterials.put(Materials.InfusedWater); - // EIO Materials - Material.invalidMaterials.put(Materials.SoulSand); - Material.invalidMaterials.put(Materials.EnderPearl); - Material.invalidMaterials.put(Materials.EnderEye); - Material.invalidMaterials.put(Materials.Redstone); - Material.invalidMaterials.put(Materials.Glowstone); - Material.invalidMaterials.put(Materials.Soularium); - Material.invalidMaterials.put(Materials.PhasedIron); - - } - - private static final HashMap sMissingItemMappings = new HashMap<>(); - private static final HashMap sMissingBlockMappings = new HashMap<>(); - - private static void processMissingMappings() { - sMissingItemMappings.put("miscutils:Ammonium", GameRegistry.findItem(GTPlusPlus.ID, "itemCellAmmonium")); - sMissingItemMappings.put("miscutils:Hydroxide", GameRegistry.findItem(GTPlusPlus.ID, "itemCellHydroxide")); - sMissingItemMappings.put( - "miscutils:BerylliumHydroxide", - GameRegistry.findItem(GTPlusPlus.ID, "itemCellmiscutils:BerylliumHydroxide")); - sMissingItemMappings.put("miscutils:Bromine", GameRegistry.findItem(GTPlusPlus.ID, "itemCellBromine")); - sMissingItemMappings.put("miscutils:Krypton", GameRegistry.findItem(GTPlusPlus.ID, "itemCellKrypton")); - sMissingItemMappings.put( - "miscutils:itemCellZirconiumTetrafluoride", - GameRegistry.findItem(GTPlusPlus.ID, "ZirconiumTetrafluoride")); - sMissingItemMappings - .put("miscutils:Li2BeF4", GameRegistry.findItem(GTPlusPlus.ID, "itemCellLithiumTetrafluoroberyllate")); - - // Cryolite - sMissingBlockMappings.put("miscutils:oreCryolite", GameRegistry.findBlock(GTPlusPlus.ID, "oreCryoliteF")); - sMissingItemMappings - .put("miscutils:itemDustTinyCryolite", GameRegistry.findItem(GTPlusPlus.ID, "itemDustTinyCryoliteF")); - sMissingItemMappings - .put("miscutils:itemDustSmallCryolite", GameRegistry.findItem(GTPlusPlus.ID, "itemDustSmallCryoliteF")); - sMissingItemMappings - .put("miscutils:itemDustCryolite", GameRegistry.findItem(GTPlusPlus.ID, "itemDustCryoliteF")); - sMissingItemMappings - .put("miscutils:dustPureCryolite", GameRegistry.findItem(GTPlusPlus.ID, "dustPureCryoliteF")); - sMissingItemMappings - .put("miscutils:dustImpureCryolite", GameRegistry.findItem(GTPlusPlus.ID, "dustImpureCryoliteF")); - sMissingItemMappings.put("miscutils:crushedCryolite", GameRegistry.findItem(GTPlusPlus.ID, "crushedCryoliteF")); - sMissingItemMappings - .put("miscutils:crushedPurifiedCryolite", GameRegistry.findItem(GTPlusPlus.ID, "crushedPurifiedCryoliteF")); - sMissingItemMappings.put( - "miscutils:crushedCentrifugedCryolite", - GameRegistry.findItem(GTPlusPlus.ID, "crushedCentrifugedCryoliteF")); - sMissingItemMappings.put("miscutils:oreCryolite", GameRegistry.findItem(GTPlusPlus.ID, "oreCryoliteF")); - - // Fluorite - sMissingBlockMappings.put("miscutils:oreFluorite", GameRegistry.findBlock(GTPlusPlus.ID, "oreFluoriteF")); - sMissingItemMappings - .put("miscutils:itemDustTinyFluorite", GameRegistry.findItem(GTPlusPlus.ID, "itemDustTinyFluoriteF")); - sMissingItemMappings - .put("miscutils:itemDustSmallFluorite", GameRegistry.findItem(GTPlusPlus.ID, "itemDustSmallFluoriteF")); - sMissingItemMappings - .put("miscutils:itemDustFluorite", GameRegistry.findItem(GTPlusPlus.ID, "itemDustFluoriteF")); - sMissingItemMappings - .put("miscutils:dustPureFluorite", GameRegistry.findItem(GTPlusPlus.ID, "dustPureFluoriteF")); - sMissingItemMappings - .put("miscutils:dustImpureFluorite", GameRegistry.findItem(GTPlusPlus.ID, "dustImpureFluoriteF")); - sMissingItemMappings.put("miscutils:crushedFluorite", GameRegistry.findItem(GTPlusPlus.ID, "crushedFluoriteF")); - sMissingItemMappings - .put("miscutils:crushedPurifiedFluorite", GameRegistry.findItem(GTPlusPlus.ID, "crushedPurifiedFluoriteF")); - sMissingItemMappings.put( - "miscutils:crushedCentrifugedFluorite", - GameRegistry.findItem(GTPlusPlus.ID, "crushedCentrifugedFluoriteF")); - sMissingItemMappings.put("miscutils:oreFluorite", GameRegistry.findItem(GTPlusPlus.ID, "oreFluoriteF")); - } - - @Mod.EventHandler - public void missingMapping(FMLMissingMappingsEvent event) { - processMissingMappings(); - for (MissingMapping mapping : event.getAll()) { - if (mapping.name.startsWith("Australia:")) { - mapping.ignore(); - continue; - } - if (mapping.type == GameRegistry.Type.ITEM) { - Item aReplacement = sMissingItemMappings.get(mapping.name); - if (aReplacement != null) { - remap(aReplacement, mapping); - } - - } else if (mapping.type == GameRegistry.Type.BLOCK) { - Block aReplacement = sMissingBlockMappings.get(mapping.name); - if (aReplacement != null) { - remap(aReplacement, mapping); - } - - } - } - } - - private static void remap(Item item, FMLMissingMappingsEvent.MissingMapping mapping) { - mapping.remap(item); - Logger.INFO("Remapping item " + mapping.name + " to " + GTPlusPlus.ID + ":" + item.getUnlocalizedName()); - } - - private static void remap(Block block, FMLMissingMappingsEvent.MissingMapping mapping) { - mapping.remap(block); - Logger.INFO("Remapping block " + mapping.name + " to " + GTPlusPlus.ID + ":" + block.getUnlocalizedName()); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/interfaces/ILazyCoverable.java b/gtpp/src/main/java/gtPlusPlus/api/interfaces/ILazyCoverable.java deleted file mode 100644 index d2a1e34f99..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/interfaces/ILazyCoverable.java +++ /dev/null @@ -1,139 +0,0 @@ -package gtPlusPlus.api.interfaces; - -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.interfaces.tileentity.ICoverable; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; - -public interface ILazyCoverable extends ICoverable { - - @Override - default byte getColorization() { - return 0; - } - - @Override - default byte setColorization(byte arg0) { - return 0; - } - - @Override - default byte getInputRedstoneSignal(ForgeDirection side) { - return 0; - } - - @Override - default byte getStrongestRedstone() { - return 0; - } - - @Override - default boolean getRedstone() { - // TODO Auto-generated method stub - return false; - } - - @Override - default boolean getRedstone(ForgeDirection side) { - return false; - } - - @Override - default boolean isUniversalEnergyStored(long arg0) { - return false; - } - - @Override - default long getUniversalEnergyStored() { - return 0; - } - - @Override - default long getUniversalEnergyCapacity() { - return 0; - } - - @Override - default long getStoredSteam() { - return 0; - } - - @Override - default long getSteamCapacity() { - return 0; - } - - @Override - default boolean increaseStoredSteam(long arg0, boolean arg2) { - return false; - } - - @Override - default byte getOutputRedstoneSignal(ForgeDirection side) { - return 0; - } - - @Override - default void setOutputRedstoneSignal(ForgeDirection side, byte strength) {} - - @Override - default byte getStrongOutputRedstoneSignal(ForgeDirection side) { - return 0; - } - - @Override - default void setStrongOutputRedstoneSignal(ForgeDirection side, byte arg1) {} - - @Override - default byte getComparatorValue(ForgeDirection side) { - return 0; - } - - @Override - default IGregTechTileEntity getIGregTechTileEntity(int arg0, int arg1, int arg2) { - return null; - } - - @Override - default IGregTechTileEntity getIGregTechTileEntityOffset(int arg0, int arg1, int arg2) { - return null; - } - - @Override - default IGregTechTileEntity getIGregTechTileEntityAtSide(ForgeDirection side) { - return null; - } - - @Override - default IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(ForgeDirection side, int arg1) { - return null; - } - - @Override - default byte getMetaID(int arg0, int arg1, int arg2) { - return 0; - } - - @Override - default byte getMetaIDOffset(int arg0, int arg1, int arg2) { - return 0; - } - - @Override - default byte getMetaIDAtSide(ForgeDirection side) { - return 0; - } - - @Override - default byte getMetaIDAtSideAndDistance(ForgeDirection side, int arg1) { - return 0; - } - - @Override - default boolean isDead() { - return false; - } - - @Override - default void setLightValue(byte arg0) {} -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/interfaces/IPlugin.java b/gtpp/src/main/java/gtPlusPlus/api/interfaces/IPlugin.java deleted file mode 100644 index d70a19925e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/interfaces/IPlugin.java +++ /dev/null @@ -1,41 +0,0 @@ -package gtPlusPlus.api.interfaces; - -import gtPlusPlus.api.objects.Logger; - -public interface IPlugin { - - /** - * @return A {@link String} object which returns the {@link IPlugin}'s name. - */ - public String getPluginName(); - - /** - * @return A {@link String} object which returns the {@link IPlugin}'s short name. This String should only contain 4 - * Characters. - */ - public String getPluginAbbreviation(); - - /** - * @param message - A {@link String} object which holds a message to be logged to console. - */ - default void log(String message) { - Logger.INFO("[" + getPluginAbbreviation() + "] " + message); - } - - /** - * @param message - A {@link String} object which holds a warning/error message to be logged to console. - */ - default void logDebug(String message) { - Logger.WARNING("[" + getPluginAbbreviation() + "] " + message); - } - - public boolean preInit(); - - public boolean init(); - - public boolean postInit(); - - public boolean serverStart(); - - public boolean serverStop(); -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/interfaces/ITexturedBlock.java b/gtpp/src/main/java/gtPlusPlus/api/interfaces/ITexturedBlock.java deleted file mode 100644 index a6179ce2bf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/interfaces/ITexturedBlock.java +++ /dev/null @@ -1,15 +0,0 @@ -package gtPlusPlus.api.interfaces; - -import net.minecraft.block.Block; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.ITexturedTileEntity; - -public interface ITexturedBlock extends ITexturedTileEntity { - - ITexture[] getTexture(ForgeDirection side); - - @Override - ITexture[] getTexture(Block block, ForgeDirection side); -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/interfaces/ITileTooltip.java b/gtpp/src/main/java/gtPlusPlus/api/interfaces/ITileTooltip.java deleted file mode 100644 index f059ef8a5f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/interfaces/ITileTooltip.java +++ /dev/null @@ -1,6 +0,0 @@ -package gtPlusPlus.api.interfaces; - -public interface ITileTooltip { - - int getTooltipID(); -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/interfaces/RunnableWithInfo.java b/gtpp/src/main/java/gtPlusPlus/api/interfaces/RunnableWithInfo.java deleted file mode 100644 index f00287404b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/interfaces/RunnableWithInfo.java +++ /dev/null @@ -1,7 +0,0 @@ -package gtPlusPlus.api.interfaces; - -public interface RunnableWithInfo extends Runnable { - - V getInfoData(); - -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/Logger.java b/gtpp/src/main/java/gtPlusPlus/api/objects/Logger.java deleted file mode 100644 index 0178bb141a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/Logger.java +++ /dev/null @@ -1,162 +0,0 @@ -package gtPlusPlus.api.objects; - -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.preloader.CORE_Preloader; -import gtPlusPlus.preloader.asm.AsmConfig; - -public class Logger { - - public Logger() {} - - // Logging Functions - public static final org.apache.logging.log4j.Logger modLogger = Logger.makeLogger(); - - // Generate GT++ Logger - public static org.apache.logging.log4j.Logger makeLogger() { - final org.apache.logging.log4j.Logger gtPlusPlusLogger = LogManager.getLogger("GT++"); - return gtPlusPlusLogger; - } - - private static final boolean enabled = !AsmConfig.disableAllLogging; - - public static final org.apache.logging.log4j.Logger getLogger() { - return modLogger; - } - - // Non-Dev Comments - public static void INFO(final String s) { - if (enabled) { - modLogger.info(s); - } - } - - // Non-Dev Comments - public static void MACHINE_INFO(String s, Object... args) { - if (enabled) { - boolean localPlayer = CORE_Preloader.DEV_ENVIRONMENT; - if (CORE.ConfigSwitches.MACHINE_INFO || localPlayer) { - final String name1 = gtPlusPlus.core.util.reflect.ReflectionUtils.getMethodName(2); - modLogger.info("Machine Info: " + s + " | " + name1, args); - } - } - } - - // Developer Comments - public static void WARNING(final String s) { - if (enabled) { - if (CORE_Preloader.DEBUG_MODE) { - modLogger.warn(s); - } - } - } - - // Errors - public static void ERROR(final String s) { - if (enabled) { - if (CORE_Preloader.DEBUG_MODE) { - modLogger.fatal(s); - } - } - } - - // Developer Logger - public static void SPECIFIC_WARNING(final String whatToLog, final String msg, final int line) { - if (enabled) { - // if (!CORE_Preloader.DEBUG_MODE){ - FMLLog.warning("GT++ |" + line + "| " + whatToLog + " | " + msg); - // } - } - } - - // ASM Comments - public static void LOG_ASM(final String s) { - if (enabled) { - FMLRelaunchLog.info("[Special ASM Logging] ", s); - } - } - - /** - * Special Loggers - */ - - /** - * Special Logger for Bee related content - */ - public static void BEES(final String s) { - modLogger.info("[Bees] " + s); - } - - /** - * Special Logger for Debugging Bee related content - */ - public static void DEBUG_BEES(final String s) { - if (enabled) { - if (CORE_Preloader.DEV_ENVIRONMENT || CORE_Preloader.DEBUG_MODE) { - modLogger.info("[Debug][Bees] " + s); - } - } - } - - /** - * Special Logger for Materials related content - */ - public static void MATERIALS(final String s) { - if (enabled) { - if (CORE_Preloader.DEV_ENVIRONMENT || CORE_Preloader.DEBUG_MODE) { - modLogger.info("[Materials] " + s); - } - } - } - - /** - * Special Logger for Debugging Materials related content - */ - public static void DEBUG_MATERIALS(final String s) { - if (enabled) { - if (CORE_Preloader.DEV_ENVIRONMENT || CORE_Preloader.DEBUG_MODE) { - modLogger.info("[Debug][Materials] " + s); - } - } - } - - /** - * Special Logger for Reflection related content - */ - public static void REFLECTION(final String s) { - if (enabled) { - if (CORE_Preloader.DEV_ENVIRONMENT || CORE_Preloader.DEBUG_MODE) { - modLogger.info("[Reflection] " + s); - } - } - } - - /** - * Special Logger for Darkworld related content - */ - public static void WORLD(final String s) { - if (enabled) { - if (CORE_Preloader.DEV_ENVIRONMENT || CORE_Preloader.DEBUG_MODE) { - modLogger.info("[WorldGen] " + s); - } - } - } - - public static void RECIPE(String string) { - if (enabled) { - if ( - /* CORE_Preloader.DEV_ENVIRONMENT || */ CORE_Preloader.DEBUG_MODE) { - modLogger.info("[Recipe] " + string); - } - } - } - - public static void SPACE(final String s) { - if (enabled) { - modLogger.info("[Space] " + s); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/data/AutoMap.java b/gtpp/src/main/java/gtPlusPlus/api/objects/data/AutoMap.java deleted file mode 100644 index a3551326c2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/data/AutoMap.java +++ /dev/null @@ -1,364 +0,0 @@ -package gtPlusPlus.api.objects.data; - -import java.io.Serializable; -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.ListIterator; -import java.util.Map; -import java.util.Queue; -import java.util.Set; - -public class AutoMap implements Iterable, Cloneable, Serializable, Collection, Queue, List { - - /** - * The Internal Map - */ - protected final Map mInternalMap; - - protected final Map mInternalNameMap; - - /** - * The Internal ID - */ - private int mInternalID = 0; - - private static final long serialVersionUID = 3771412318075131790L; - - public AutoMap() { - this(new LinkedHashMap<>()); - } - - public Map getMap() { - return mInternalMap; - } - - public AutoMap(Map defaultMapType) { - mInternalMap = defaultMapType; - mInternalNameMap = new LinkedHashMap<>(); - } - - /** - * Generates an AutoMap from the List. - * - * @param aList - Data to be inserted into the AutoMap. - */ - public AutoMap(List aList) { - mInternalMap = new LinkedHashMap<>(); - mInternalNameMap = new LinkedHashMap<>(); - if (aList != null && aList.size() > 0) { - for (V obj : aList) { - add(obj); - } - } - } - - /** - * Generates an AutoMap from a Set. - * - * @param aList - Data to be inserted into the AutoMap. - */ - public AutoMap(Set aList) { - mInternalMap = new LinkedHashMap<>(); - mInternalNameMap = new LinkedHashMap<>(); - if (aList != null && aList.size() > 0) { - for (V obj : aList) { - add(obj); - } - } - } - - /** - * Generates an AutoMap from a Collection. - * - * @param aList - Data to be inserted into the AutoMap. - */ - public AutoMap(Collection aList) { - mInternalMap = new LinkedHashMap<>(); - mInternalNameMap = new LinkedHashMap<>(); - if (aList != null && aList.size() > 0) { - for (V obj : aList) { - add(obj); - } - } - } - - /** - * Generates an AutoMap from a Array. - * - * @param aArray - Data to be inserted into the AutoMap. - */ - public AutoMap(V[] aArray) { - mInternalMap = new LinkedHashMap<>(); - mInternalNameMap = new LinkedHashMap<>(); - if (aArray != null && aArray.length > 0) { - for (V obj : aArray) { - add(obj); - } - } - } - - @Override - public Iterator iterator() { - return values().iterator(); - } - - public synchronized boolean setValue(V object) { - int mOriginalID = this.mInternalID; - put(object); - if (this.mInternalMap.get(mOriginalID) - .equals(object) || mOriginalID > this.mInternalID) { - return true; - } else { - return false; - } - } - - public synchronized V put(V object) { - return set(object); - } - - @Override - public synchronized boolean add(V object) { - return set(object) != null; - } - - public synchronized V set(V object) { - if (object == null) { - return null; - } - mInternalNameMap.put("" + object.hashCode(), (mInternalID + 1)); - return mInternalMap.put(mInternalID++, object); - } - - @Override - public synchronized V get(int id) { - return mInternalMap.get(id); - } - - public synchronized Collection values() { - return mInternalMap.values(); - } - - @Override - public synchronized int size() { - return mInternalMap.size(); - } - - public synchronized int hashCode() { - return mInternalMap.hashCode(); - } - - public synchronized boolean containsKey(int key) { - return mInternalMap.containsKey(key); - } - - public synchronized boolean containsValue(V value) { - return mInternalMap.containsValue(value); - } - - @Override - public synchronized boolean isEmpty() { - return mInternalMap.isEmpty(); - } - - @Override - public synchronized void clear() { - this.mInternalID = 0; - this.mInternalMap.clear(); - this.mInternalNameMap.clear(); - return; - } - - @Override - @SuppressWarnings("unchecked") - public V[] toArray() { - V[] toR = (V[]) java.lang.reflect.Array.newInstance( - mInternalMap.get(0) - .getClass(), - mInternalMap.size()); - for (int i = 0; i < mInternalMap.size(); i++) { - toR[i] = mInternalMap.get(i); - } - return toR; - } - - public final synchronized int getInternalID() { - return mInternalID; - } - - @Override - public final synchronized boolean remove(Object value) { - value.getClass(); - if (this.mInternalMap.containsValue(value)) { - return this.mInternalMap.remove(mInternalNameMap.get("" + value.hashCode()), value); - } - return false; - } - - @Override - public boolean contains(Object o) { - for (V g : this.mInternalMap.values()) { - if (g.equals(o)) { - return true; - } - } - return false; - } - - @SuppressWarnings("unchecked") - @Override - public V[] toArray(V[] a) { - return (V[]) toArray(); - } - - @Override - public boolean containsAll(Collection c) { - boolean aTrue = true; - for (Object g : c) { - if (!this.contains(g)) { - aTrue = false; - } - } - return aTrue; - } - - @Override - public boolean addAll(Collection c) { - boolean aTrue = true; - for (V g : c) { - if (!this.add(g)) { - aTrue = false; - } - } - return aTrue; - } - - @Override - public boolean removeAll(Collection c) { - boolean aTrue = true; - for (Object g : c) { - if (!this.remove(g)) { - aTrue = false; - } - } - return aTrue; - } - - @Override - public boolean retainAll(Collection c) { - AutoMap aTempAllocation = new AutoMap<>(); - boolean aTrue = false; - aTempAllocation = this; - aTempAllocation.removeAll(c); - aTempAllocation.clear(); - aTrue = aTempAllocation.isEmpty(); - aTempAllocation.clear(); - return aTrue; - } - - @Override - public boolean offer(V e) { - return add(e); - } - - @Override - public V remove() { - V y = this.get(0); - if (remove(y)) return y; - else return null; - } - - @Override - public V poll() { - if (this.mInternalMap.isEmpty()) { - return null; - } - return remove(); - } - - @Override - public V element() { - if (this.mInternalMap.isEmpty()) { - return null; - } - return this.get(0); - } - - @Override - public V peek() { - return element(); - } - - @Override - public boolean addAll(int index, Collection c) { - for (V y : c) { - add(y); - } - return true; - } - - @Override - public V set(int index, V element) { - return mInternalMap.put(index, element); - } - - @Override - public void add(int index, V element) { - add(element); - } - - @Override - public V remove(int index) { - V h = mInternalMap.get(index); - set(index, null); - return h; - } - - @Override - public int indexOf(Object o) { - int aCount = 0; - for (V of : mInternalMap.values()) { - if (of != o) { - aCount++; - continue; - } else { - return aCount; - } - } - return -1; - } - - @Override - public int lastIndexOf(Object o) { - // TODO - return indexOf(o); - } - - @Override - public ListIterator listIterator() { - // TODO Auto-generated method stub - return null; - } - - @Override - public ListIterator listIterator(int index) { - // TODO Auto-generated method stub - return null; - } - - @Override - public List subList(int fromIndex, int toIndex) { - AutoMap aNewSubList = new AutoMap<>(); - for (int slot = fromIndex; slot <= toIndex; slot++) { - V obj = mInternalMap.get(slot); - if (obj == null) { - continue; - } else { - aNewSubList.put(obj); - } - } - return aNewSubList; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/data/Pair.java b/gtpp/src/main/java/gtPlusPlus/api/objects/data/Pair.java deleted file mode 100644 index 93bf075c8f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/data/Pair.java +++ /dev/null @@ -1,35 +0,0 @@ -package gtPlusPlus.api.objects.data; - -import java.io.Serializable; - -import com.google.common.base.Objects; - -public class Pair implements Serializable { - - /** - * SVUID - */ - private static final long serialVersionUID = 1250550491092812443L; - - private final K key; - private final V value; - - public Pair(final K key, final V value) { - this.key = key; - this.value = value; - } - - public final K getKey() { - return this.key; - } - - public final V getValue() { - return this.value; - } - - @Override - public int hashCode() { - Integer aCode = Objects.hashCode(getKey(), getValue()); - return aCode != null ? aCode : super.hashCode(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/data/Quad.java b/gtpp/src/main/java/gtPlusPlus/api/objects/data/Quad.java deleted file mode 100644 index a2597061e0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/data/Quad.java +++ /dev/null @@ -1,44 +0,0 @@ -package gtPlusPlus.api.objects.data; - -import java.util.ArrayList; -import java.util.List; - -public class Quad { - - private final K key; - private final V value; - private final C value2; - private final R value3; - - public Quad(final K key, final V value, final C value2, final R value3) { - this.key = key; - this.value = value; - this.value2 = value2; - this.value3 = value3; - } - - public final K getKey() { - return this.key; - } - - public final V getValue_1() { - return this.value; - } - - public final C getValue_2() { - return this.value2; - } - - public final R getValue_3() { - return this.value3; - } - - public final List values() { - List aVals = new ArrayList<>(); - aVals.add(key); - aVals.add(value); - aVals.add(value2); - aVals.add(value3); - return aVals; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/data/Triplet.java b/gtpp/src/main/java/gtPlusPlus/api/objects/data/Triplet.java deleted file mode 100644 index 625ec630aa..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/data/Triplet.java +++ /dev/null @@ -1,26 +0,0 @@ -package gtPlusPlus.api.objects.data; - -public class Triplet { - - private final K key; - private final V value; - private final C count; - - public Triplet(final K key, final V value, final C value2) { - this.key = key; - this.value = value; - this.count = value2; - } - - public final K getValue_1() { - return this.key; - } - - public final V getValue_2() { - return this.value; - } - - public final C getValue_3() { - return this.count; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java b/gtpp/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java deleted file mode 100644 index ea12972af4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java +++ /dev/null @@ -1,177 +0,0 @@ -package gtPlusPlus.api.objects.data; - -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Set; - -import gtPlusPlus.api.objects.Logger; - -public class TypeCounter implements Set { - - private Map> mInternalMap = new LinkedHashMap<>(); - private String mHighestValueKey; - private int mHighestValue = 0; - private final Class mClass; - - public TypeCounter(Class o) { - Logger.WARNING("Created new TypeCounter for " + o.getName()); - mClass = o; - } - - public static class InternalTypeCounterObject { - - private final Z mObject; - private int mCounter = 0; - - public InternalTypeCounterObject(Z o) { - mObject = o; - } - - public String hash() { - return String.valueOf(mObject.hashCode()); - } - - public Z get() { - return mObject; - } - - public void add() { - mCounter++; - } - - public int count() { - return mCounter; - } - } - - @Override - public boolean add(V arg0) { - return add(arg0, null); - } - - public boolean add(V arg0, String aKeyName) { - String aKey = aKeyName != null ? aKeyName : arg0.toString(); - InternalTypeCounterObject aValue = mInternalMap.get(aKey); - if (aValue == null) { - aValue = new InternalTypeCounterObject<>((V) arg0); - Logger.WARNING("Adding new key to map: " + aKey); - } - aValue.add(); - int a = aValue.count(); - if (a > mHighestValue) { - mHighestValue = a; - mHighestValueKey = aKey; - Logger.WARNING("New Highest Count - " + aKey + ":" + a); - } - mInternalMap.put(aKey, aValue); - Logger.WARNING(aKey + ":" + a); - return true; - } - - @Override - public boolean addAll(Collection arg0) { - boolean aReturn = true; - for (Object o : arg0) { - if (mClass.isInstance(o)) { - V j = (V) o; - boolean b = add(j); - if (!b) { - aReturn = false; - } - } - } - return aReturn; - } - - @Override - public void clear() { - mInternalMap.clear(); - } - - @Override - public boolean contains(Object arg0) { - return mInternalMap.containsKey(arg0.toString()); - } - - @Override - public boolean containsAll(Collection arg0) { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isEmpty() { - return mInternalMap.isEmpty(); - } - - @Override - public Iterator iterator() { - // TODO Auto-generated method stub - return null; - } - - @Override - public boolean remove(Object arg0) { - InternalTypeCounterObject aValue = mInternalMap.remove(arg0.toString()); - if (aValue != null) { - return true; - } else { - return false; - } - } - - @Override - public boolean removeAll(Collection arg0) { - boolean aReturn = true; - for (Object o : arg0) { - boolean a = remove(o); - if (!a) { - aReturn = false; - } - } - return aReturn; - } - - @Override - public boolean retainAll(Collection arg0) { - // TODO Auto-generated method stub - return false; - } - - @Override - public int size() { - return this.mInternalMap.size(); - } - - @Override - public Object[] toArray() { - Object[] aArray = new Object[this.mInternalMap.size()]; - int aPos = 0; - for (String k : this.mInternalMap.keySet()) { - if (k != null) { - InternalTypeCounterObject aVal = this.mInternalMap.get(k); - aArray[aPos++] = new Pair<>(k, aVal); - } - } - return aArray; - } - - @Override - public V[] toArray(Object[] a) { - Object[] aArray = new Object[a.length]; - int aPos = 0; - for (Object k : a) { - if (k != null) { - aArray[aPos++] = k; - } - } - return (V[]) aArray; - } - - public V getResults() { - InternalTypeCounterObject x = mInternalMap.get(mHighestValueKey); - return x.get(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/data/WeightedCollection.java b/gtpp/src/main/java/gtPlusPlus/api/objects/data/WeightedCollection.java deleted file mode 100644 index 5d99097169..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/data/WeightedCollection.java +++ /dev/null @@ -1,102 +0,0 @@ -package gtPlusPlus.api.objects.data; - -import java.util.Collection; -import java.util.Map; -import java.util.NavigableMap; -import java.util.Random; -import java.util.Set; -import java.util.TreeMap; - -import gregtech.api.objects.XSTR; - -public class WeightedCollection implements Map { - - private NavigableMap map = new TreeMap<>(); - private Random random; - private int total = 0; - - public WeightedCollection() { - this(new XSTR()); - } - - public WeightedCollection(Random random) { - this.random = random; - } - - public E add(int weight, E object) { - if (weight <= 0) return null; - total += weight; - return map.put(total, object); - } - - private E next() { - int value = random.nextInt(total) + 1; // Can also use floating-point weights - return map.ceilingEntry(value) - .getValue(); - } - - @Override - public int size() { - return map.size(); - } - - @Override - public boolean isEmpty() { - return map.isEmpty(); - } - - @Override - public boolean containsKey(Object key) { - return map.containsKey(key); - } - - @Override - public boolean containsValue(Object value) { - return map.containsValue(value); - } - - public E get() { - return next(); - } - - @Override - public E get(Object key) { - return next(); - } - - @Override - public void putAll(Map m) { - map.putAll(m); - } - - @Override - public void clear() { - map.clear(); - this.total = 0; - } - - @Override - public Set keySet() { - return map.keySet(); - } - - @Override - public Collection values() { - return map.values(); - } - - @Override - public Set entrySet() { - return map.entrySet(); - } - - @Override - public E put(Integer key, E value) { - return add(key, value); - } - - @Override - public E remove(Object key) { - return map.remove(key); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java b/gtpp/src/main/java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java deleted file mode 100644 index 199d20e06a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java +++ /dev/null @@ -1,14 +0,0 @@ -package gtPlusPlus.api.objects.data.weakref; - -import java.util.WeakHashMap; - -import gtPlusPlus.api.objects.data.AutoMap; - -public class WeakAutoMap extends AutoMap { - - private static final long serialVersionUID = 8328345351801363386L; - - public WeakAutoMap() { - super(new WeakHashMap<>()); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/AABB.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/AABB.java deleted file mode 100644 index e516f12ddd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/AABB.java +++ /dev/null @@ -1,67 +0,0 @@ -package gtPlusPlus.api.objects.minecraft; - -import net.minecraft.entity.Entity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -import gtPlusPlus.core.util.minecraft.EntityUtils; - -/** - * Generates an AABB around an entity. - * - * @author Alkalus - * - */ -public class AABB { - - private final AxisAlignedBB mAabb; - private final World mWorld; - - /** - * Creates a AxisAlignedBB based around an Entity. - * - * @param aEntity - The Entity to work with. - * @param x - Maximum X from origin. - * @param y - Maximum Y from origin. - * @param z - Maximum Z from origin. - */ - public AABB(Entity aEntity, int x, int y, int z) { - if (aEntity == null) { - mAabb = null; - mWorld = null; - } else { - mWorld = aEntity.worldObj; - BlockPos aEntityLocation = EntityUtils.findBlockPosUnderEntity(aEntity); - int xMin, xMax, yMin, yMax, zMin, zMax; - xMin = aEntityLocation.xPos; - yMin = aEntityLocation.yPos; - zMin = aEntityLocation.zPos; - xMax = aEntityLocation.xPos + x; - yMax = aEntityLocation.yPos + y; - zMax = aEntityLocation.zPos + z; - mAabb = AxisAlignedBB.getBoundingBox(xMin, yMin, zMin, xMax, yMax, zMax); - } - } - - /** - * Used to get the AxisAlignedBB from this class. - * - * @return - */ - public AxisAlignedBB get() { - return mAabb; - } - - /** - * Used to determine if this object is valid or not. - * - * @return - */ - public boolean valid() { - return mAabb != null && mWorld != null; - } - - public World world() { - return mWorld; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_FluidTank.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_FluidTank.java deleted file mode 100644 index 13f12503f0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_FluidTank.java +++ /dev/null @@ -1,185 +0,0 @@ -package gtPlusPlus.api.objects.minecraft; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTank; -import net.minecraftforge.fluids.FluidTankInfo; - -public class BTF_FluidTank extends FluidTank { - - public FluidStack mFluid; - - public BTF_FluidTank(int capacity) { - super(capacity); - } - - /** - * Let's replace the Default handling with GT's own handling code, because it's probably better, right? - * - * @author Alkalus/GregoriusT - */ - @Override - public FluidStack getFluid() { - return this.getDrainableStack(); - } - - @Override - public int getFluidAmount() { - return this.getDrainableStack() != null ? this.getDrainableStack().amount : 0; - } - - @Override - public NBTTagCompound writeToNBT(NBTTagCompound aNBT) { - super.writeToNBT(aNBT); - if (this.mFluid != null) { - aNBT.setTag("mFluid", this.mFluid.writeToNBT(new NBTTagCompound())); - } - return aNBT; - } - - @Override - public FluidTank readFromNBT(NBTTagCompound aNBT) { - this.mFluid = FluidStack.loadFluidStackFromNBT(aNBT.getCompoundTag("mFluid")); - return this; - } - - /* - * public abstract boolean isLiquidInput(byte arg0); public abstract boolean isLiquidOutput(byte arg0); public - * abstract boolean doesFillContainers(); public abstract boolean doesEmptyContainers(); - */ - - public boolean canTankBeFilled() { - return true; - } - - public boolean canTankBeEmptied() { - return true; - } - - public boolean isFluidInputAllowed(FluidStack aFluid) { - return true; - } - - public FluidStack getFillableStack() { - return this.mFluid; - } - - public FluidStack setFillableStack(FluidStack aFluid) { - this.mFluid = aFluid; - return this.mFluid; - } - - public FluidStack getDrainableStack() { - return this.mFluid; - } - - public FluidStack setDrainableStack(FluidStack aFluid) { - this.mFluid = aFluid; - return this.mFluid; - } - - public boolean isFluidChangingAllowed() { - return true; - } - - @Override - public int fill(FluidStack aFluid, boolean doFill) { - if (aFluid != null && aFluid.getFluid() - .getID() > 0 && aFluid.amount > 0 && this.canTankBeFilled() && this.isFluidInputAllowed(aFluid)) { - if (this.getFillableStack() != null && this.getFillableStack() - .getFluid() - .getID() > 0) { - if (!this.getFillableStack() - .isFluidEqual(aFluid)) { - return 0; - } else { - int space = this.getCapacity() - this.getFillableStack().amount; - if (aFluid.amount <= space) { - if (doFill) { - FluidStack arg9999 = this.getFillableStack(); - arg9999.amount += aFluid.amount; - } - - return aFluid.amount; - } else { - if (doFill) { - this.getFillableStack().amount = this.getCapacity(); - } - - return space; - } - } - } else if (aFluid.amount <= this.getCapacity()) { - if (doFill) { - this.setFillableStack(aFluid.copy()); - } - - return aFluid.amount; - } else { - if (doFill) { - this.setFillableStack(aFluid.copy()); - this.getFillableStack().amount = this.getCapacity(); - } - - return this.getCapacity(); - } - } else { - return 0; - } - } - - @Override - public FluidStack drain(int maxDrain, boolean doDrain) { - if (this.getDrainableStack() != null && this.canTankBeEmptied()) { - if (this.getDrainableStack().amount <= 0 && this.isFluidChangingAllowed()) { - this.setDrainableStack((FluidStack) null); - return null; - } else { - int used = maxDrain; - if (this.getDrainableStack().amount < maxDrain) { - used = this.getDrainableStack().amount; - } - - if (doDrain) { - FluidStack arg9999 = this.getDrainableStack(); - arg9999.amount -= used; - } - - FluidStack drained = this.getDrainableStack() - .copy(); - drained.amount = used; - if (this.getDrainableStack().amount <= 0 && this.isFluidChangingAllowed()) { - this.setDrainableStack((FluidStack) null); - } - - return drained; - } - } else { - return null; - } - } - - @Override - public int getCapacity() { - return super.getCapacity(); - } - - @Override - public FluidTankInfo getInfo() { - return new FluidTankInfo(this); - } - - @Override - public void setFluid(FluidStack fluid) { - setFillableStack(fluid); - } - - @Override - public void setCapacity(int capacity) { - super.setCapacity(capacity); - } - - public FluidStack drain(FluidStack aFluid, boolean doDrain) { - return drain(aFluid.amount, doDrain); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_Inventory.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_Inventory.java deleted file mode 100644 index fc71869d9e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_Inventory.java +++ /dev/null @@ -1,231 +0,0 @@ -package gtPlusPlus.api.objects.minecraft; - -import java.util.ArrayList; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.util.GT_Utility; -import gregtech.common.covers.CoverInfo; -import gtPlusPlus.core.tileentities.base.TileEntityBase; -import gtPlusPlus.core.util.data.ArrayUtils; - -public class BTF_Inventory implements ISidedInventory { - - public final ItemStack[] mInventory; - public final TileEntityBase mTile; - - public BTF_Inventory(int aSlots, TileEntityBase tile) { - this.mInventory = new ItemStack[aSlots]; - this.mTile = tile; - } - - public ItemStack[] getRealInventory() { - purgeNulls(); - return this.mInventory; - } - - @Override - public int getSizeInventory() { - return this.mInventory.length; - } - - @Override - public ItemStack getStackInSlot(int aIndex) { - return aIndex >= 0 && aIndex < this.mInventory.length ? this.mInventory[aIndex] : null; - } - - @Override - public void setInventorySlotContents(int aIndex, ItemStack aStack) { - if (aIndex >= 0 && aIndex < this.mInventory.length) { - this.mInventory[aIndex] = aStack; - } - } - - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - public boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - public boolean setStackToZeroInsteadOfNull(int aIndex) { - return false; - } - - @Override - public boolean isItemValidForSlot(int aIndex, ItemStack aStack) { - return isValidSlot(aIndex); - } - - @Override - public ItemStack decrStackSize(int aIndex, int aAmount) { - ItemStack tStack = this.getStackInSlot(aIndex); - ItemStack rStack = GT_Utility.copy(new Object[] { tStack }); - if (tStack != null) { - if (tStack.stackSize <= aAmount) { - if (this.setStackToZeroInsteadOfNull(aIndex)) { - tStack.stackSize = 0; - } else { - this.setInventorySlotContents(aIndex, (ItemStack) null); - } - } else { - rStack = tStack.splitStack(aAmount); - if (tStack.stackSize == 0 && !this.setStackToZeroInsteadOfNull(aIndex)) { - this.setInventorySlotContents(aIndex, (ItemStack) null); - } - } - } - - return rStack; - } - - @Override - public int[] getAccessibleSlotsFromSide(int ordinalSide) { - final ForgeDirection side = ForgeDirection.getOrientation(ordinalSide); - ArrayList tList = new ArrayList<>(); - CoverInfo coverInfo = this.mTile.getCoverInfoAtSide(side); - boolean tSkip = coverInfo.letsItemsIn(-2) || coverInfo.letsItemsIn(-2); - - for (int rArray = 0; rArray < this.getSizeInventory(); ++rArray) { - if (this.isValidSlot(rArray) - && (tSkip || coverInfo.letsItemsOut(rArray) || coverInfo.letsItemsIn(rArray))) { - tList.add(rArray); - } - } - - int[] arg6 = new int[tList.size()]; - - for (int i = 0; i < arg6.length; ++i) { - arg6[i] = tList.get(i); - } - - return arg6; - } - - @Override - public boolean canInsertItem(int aIndex, ItemStack aStack, int ordinalSide) { - return this.isValidSlot(aIndex) && aStack != null - && aIndex < this.mInventory.length - && (this.mInventory[aIndex] == null || GT_Utility.areStacksEqual(aStack, this.mInventory[aIndex])) - && this.allowPutStack(this.mTile, aIndex, ForgeDirection.getOrientation(ordinalSide), aStack); - } - - @Override - public boolean canExtractItem(int aIndex, ItemStack aStack, int ordinalSide) { - return this.isValidSlot(aIndex) && aStack != null - && aIndex < this.mInventory.length - && this.allowPullStack(this.mTile, aIndex, ForgeDirection.getOrientation(ordinalSide), aStack); - } - - public boolean allowPullStack(TileEntityBase mTile2, int aIndex, ForgeDirection side, ItemStack aStack) { - return aIndex >= 0 && aIndex < this.getSizeInventory(); - } - - public boolean allowPutStack(TileEntityBase aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return (aIndex >= 0 && aIndex < this.getSizeInventory()) - && (this.mInventory[aIndex] == null || GT_Utility.areStacksEqual(this.mInventory[aIndex], aStack)); - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - return null; - } - - @Override - public final boolean hasCustomInventoryName() { - return mTile != null ? mTile.hasCustomInventoryName() : false; - } - - @Override - public void markDirty() { - if (mTile != null) { - purgeNulls(); - mTile.markDirty(); - } - } - - @Override - public boolean isUseableByPlayer(EntityPlayer entityplayer) { - return true; - } - - @Override - public void openInventory() {} - - @Override - public void closeInventory() {} - - @Override - public final String getInventoryName() { - return this.mTile != null ? mTile.getInventoryName() : ""; - } - - public boolean isFull() { - for (int s = 0; s < this.getSizeInventory(); s++) { - ItemStack slot = mInventory[s]; - if (slot == null || slot.stackSize != slot.getMaxStackSize()) { - return false; - } - } - return true; - } - - public boolean isEmpty() { - for (int s = 0; s < this.getSizeInventory(); s++) { - ItemStack slot = mInventory[s]; - if (slot == null) { - continue; - } else { - return false; - } - } - return true; - } - - public boolean addItemStack(ItemStack aInput) { - if (aInput != null & (isEmpty() || !isFull())) { - for (int s = 0; s < this.getSizeInventory(); s++) { - if (mInventory != null && mInventory[s] != null) { - ItemStack slot = mInventory[s]; - if (slot == null || (slot != null && GT_Utility.areStacksEqual(aInput, slot) - && slot.stackSize != slot.getItem() - .getItemStackLimit(slot))) { - if (slot == null) { - slot = aInput.copy(); - } else { - slot.stackSize++; - } - this.setInventorySlotContents(s, slot); - return true; - } - } - } - } - return false; - } - - public final void purgeNulls() { - ItemStack[] aTemp = ArrayUtils.removeNulls(this.mInventory); - for (int g = 0; g < this.getSizeInventory(); g++) { - if (aTemp.length < this.getSizeInventory()) { - if (g <= aTemp.length - 1) { - this.mInventory[g] = aTemp[g]; - } else { - this.mInventory[g] = null; - } - } else { - this.mInventory[g] = aTemp[g]; - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BlockPos.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BlockPos.java deleted file mode 100644 index 3853f61793..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/BlockPos.java +++ /dev/null @@ -1,245 +0,0 @@ -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.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.DimensionManager; - -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gtPlusPlus.api.objects.data.AutoMap; - -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 transient World world; - - public static BlockPos generateBlockPos(String sUUID) { - String[] s2 = sUUID.split("@"); - return new BlockPos(s2); - } - - public BlockPos(String[] s) { - this(Integer.parseInt(s[1]), Integer.parseInt(s[2]), Integer.parseInt(s[3]), Integer.parseInt(s[0])); - } - - public BlockPos(int x, int y, int z) { - this(x, y, z, 0); - } - - public BlockPos(int x, int y, int z, int dim) { - this(x, y, z, DimensionManager.getWorld(dim)); - } - - public BlockPos(int x, int y, int z, World dim) { - this.xPos = x; - this.yPos = y; - this.zPos = z; - - if (dim != null) { - this.dim = dim.provider.dimensionId; - this.world = dim; - } else { - this.dim = 0; - this.world = null; - } - } - - public BlockPos(IGregTechTileEntity b) { - this(b.getXCoord(), b.getYCoord(), b.getZCoord(), b.getWorld()); - } - - public BlockPos(TileEntity b) { - this(b.xCoord, b.yCoord, b.zCoord, b.getWorldObj()); - } - - public String getLocationString() { - return "[X: " + this.xPos + "][Y: " + this.yPos + "][Z: " + this.zPos + "][Dim: " + this.dim + "]"; - } - - public String getUniqueIdentifier() { - String S = "" + this.dim + "@" + this.xPos + "@" + this.yPos + "@" + this.zPos; - return S; - } - - @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 otherPoint)) { - return false; - } - 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 getSurroundingBlocks() { - AutoMap sides = new AutoMap<>(); - 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 getSimilarNeighbour() { - return getSimilarNeighbour(false); - } - - /** - * @param strict - Does this check Meta Data? - * @return - Does this block have a neighbour that is the same? - */ - public AutoMap getSimilarNeighbour(boolean strict) { - AutoMap sides = new AutoMap<>(); - 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 getValidNeighboursAndSelf() { - AutoMap h = getSimilarNeighbour(true); - h.put(this); - Set result = new HashSet<>(); - for (BlockPos f : h.values()) { - result.add(f); - } - return result; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/CubicObject.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/CubicObject.java deleted file mode 100644 index 5620b76895..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/CubicObject.java +++ /dev/null @@ -1,56 +0,0 @@ -package gtPlusPlus.api.objects.minecraft; - -import net.minecraftforge.common.util.ForgeDirection; - -import gtPlusPlus.api.objects.data.AutoMap; - -public class CubicObject { - - public final T NORTH; - public final T SOUTH; - - public final T WEST; - public final T EAST; - - public final T UP; - public final T DOWN; - - public CubicObject(AutoMap aDataSet) { - this(aDataSet.get(0), aDataSet.get(1), aDataSet.get(2), aDataSet.get(3), aDataSet.get(4), aDataSet.get(5)); - } - - public CubicObject(T[] aDataSet) { - this(aDataSet[0], aDataSet[1], aDataSet[2], aDataSet[3], aDataSet[4], aDataSet[5]); - } - - public CubicObject(T aDOWN, T aUP, T aNORTH, T aSOUTH, T aWEST, T aEAST) { - DOWN = aDOWN; - UP = aUP; - NORTH = aNORTH; - SOUTH = aSOUTH; - WEST = aWEST; - EAST = aEAST; - } - - public T get(int ordinalSide) { - return get(ForgeDirection.getOrientation(ordinalSide)); - } - - public T get(ForgeDirection side) { - if (side == ForgeDirection.DOWN) { - return DOWN; - } else if (side == ForgeDirection.UP) { - return UP; - } else if (side == ForgeDirection.NORTH) { - return NORTH; - } else if (side == ForgeDirection.SOUTH) { - return SOUTH; - } else if (side == ForgeDirection.WEST) { - return WEST; - } else if (side == ForgeDirection.EAST) { - return EAST; - } else { - return null; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/FluidGT6.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/FluidGT6.java deleted file mode 100644 index c5c903cd1f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/FluidGT6.java +++ /dev/null @@ -1,33 +0,0 @@ -package gtPlusPlus.api.objects.minecraft; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraftforge.fluids.Fluid; - -import gregtech.api.GregTech_API; - -public class FluidGT6 extends Fluid implements Runnable { - - private final short[] mRGBa; - public final String mTextureName; - - public FluidGT6(final String aName, final String aTextureName, final short[] aRGBa) { - super(aName); - this.mRGBa = aRGBa; - this.mTextureName = aTextureName; - if (GregTech_API.sGTBlockIconload != null) { - GregTech_API.sGTBlockIconload.add(this); - } - } - - @Override - public int getColor() { - return (Math.max(0, Math.min(255, this.mRGBa[0])) << 16) | (Math.max(0, Math.min(255, this.mRGBa[1])) << 8) - | Math.max(0, Math.min(255, this.mRGBa[2])); - } - - @Override - public void run() { - this.setIcons(GregTech_API.sBlockIcons.registerIcon(GTPlusPlus.ID + ":" + "fluids/fluid." + this.mTextureName)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ItemPackage.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ItemPackage.java deleted file mode 100644 index d68ef1a93f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ItemPackage.java +++ /dev/null @@ -1,57 +0,0 @@ -package gtPlusPlus.api.objects.minecraft; - -import cpw.mods.fml.common.event.FMLLoadCompleteEvent; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.core.handler.COMPAT_HANDLER; - -public abstract class ItemPackage implements RunnableWithInfo { - - public ItemPackage() { - this(false); - } - - public ItemPackage(boolean hasExtraLateRun) { - // Register for late run - COMPAT_HANDLER.mObjectsToRunInPostInit.put(this); - if (hasExtraLateRun) { - COMPAT_HANDLER.mObjectsToRunInOnLoadComplete.put(this); - } - init(); - } - - @Override - public final void run() { - generateRecipes(); - } - - @Override - public final String getInfoData() { - return errorMessage(); - } - - public abstract String errorMessage(); - - public abstract boolean generateRecipes(); - - private void init() { - items(); - blocks(); - fluids(); - } - - public abstract void items(); - - public abstract void blocks(); - - public abstract void fluids(); - - /** - * Override this to handle GT Recipe map manipulation after they're Baked. - * - * @param event - the {@link FMLLoadCompleteEvent}. - * @return - Did we do anything? - */ - public boolean onLoadComplete(FMLLoadCompleteEvent event) { - return false; - }; -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ItemStackData.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ItemStackData.java deleted file mode 100644 index f5e483b91c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ItemStackData.java +++ /dev/null @@ -1,34 +0,0 @@ -package gtPlusPlus.api.objects.minecraft; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class ItemStackData { - - protected final Item mItem; - protected final int mDamage; - protected final int mStackSize; - protected final NBTTagCompound mNBT; - protected final String mUniqueDataTag; - - public ItemStackData(ItemStack aStack) { - mItem = aStack.getItem(); - mDamage = aStack.getItemDamage(); - mStackSize = aStack.stackSize; - mNBT = (aStack.getTagCompound() != null ? aStack.getTagCompound() : new NBTTagCompound()); - mUniqueDataTag = "" + Item.getIdFromItem(mItem) + "" + mDamage + "" + mStackSize + "" + mNBT.getId(); - } - - public String getUniqueDataIdentifier() { - return this.mUniqueDataTag; - } - - public ItemStack getStack() { - ItemStack aTemp = ItemUtils.simpleMetaStack(mItem, mDamage, mStackSize); - aTemp.setTagCompound(mNBT); - return aTemp; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/SafeTexture.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/SafeTexture.java deleted file mode 100644 index 58a7affa90..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/SafeTexture.java +++ /dev/null @@ -1,65 +0,0 @@ -package gtPlusPlus.api.objects.minecraft; - -import java.util.HashMap; - -import net.minecraft.util.IIcon; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.GregTech_API; -import gtPlusPlus.core.util.Utils; - -/** - * A Server Side safe object that can hold {@link IIcon}s. - * - * @author Alkalus - * - */ -public class SafeTexture implements Runnable { - - @SideOnly(Side.CLIENT) - private static final HashMap mHashToIconCache = new HashMap<>(); - - @SideOnly(Side.CLIENT) - private static final HashMap mPathToHashCash = new HashMap<>(); - - private static final HashMap mTextureObjectCache = new HashMap<>(); - - private final int mHash; - - private final String mTextureName; - - private static String getKey(String aTexPath) { - String aNameKey = Utils.sanitizeString(aTexPath); - aNameKey = aNameKey.replace('/', ' '); - aNameKey = aNameKey.toLowerCase(); - return aNameKey; - } - - public static SafeTexture register(String aTexturePath) { - String aNameKey = getKey(aTexturePath); - SafeTexture g = mTextureObjectCache.get(aNameKey); - if (g == null) { - g = new SafeTexture(aTexturePath); - mTextureObjectCache.put(aNameKey, g); - mPathToHashCash.put(aTexturePath, aTexturePath.hashCode()); - } - return g; - } - - private SafeTexture(String aTexturePath) { - mTextureName = aTexturePath; - mHash = getKey(aTexturePath).hashCode(); - GregTech_API.sGTBlockIconload.add(this); - } - - @SideOnly(Side.CLIENT) - public IIcon getIcon() { - return mHashToIconCache.get(mHash); - } - - @Override - public void run() { - mHashToIconCache.put(getKey(mTextureName).hashCode(), GregTech_API.sBlockIcons.registerIcon(mTextureName)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java b/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java deleted file mode 100644 index f799623dd6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java +++ /dev/null @@ -1,251 +0,0 @@ -package gtPlusPlus.api.objects.minecraft; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.ShapedOreRecipe; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class ShapedRecipe { - - private static final String CHARS = "abcdefghijklmnop"; - public ShapedOreRecipe mRecipe; - - ItemStack[] mBlackList = null; - - public ShapedRecipe(Object aInput1, Object aInput2, Object aInput3, Object aInput4, Object aInput5, Object aInput6, - Object aInput7, Object aInput8, Object aInput9, ItemStack aOutput) { - - this(new Object[] { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }, aOutput); - } - - public ShapedRecipe(Object[] aInputs, ItemStack aOutput) { - String aGridWhole = ""; - String aGrid[] = new String[3]; - char[] aChar = new char[9]; - String[] aLoggingInfo = new String[9]; - - if (mBlackList == null) { - mBlackList = new ItemStack[] {}; - } - - // Just to be safe - try { - int xSlot = 0; - int xNull = 0; - for (Object u : aInputs) { - String mInfo = ""; - if (u instanceof String) { - mInfo = (String) u; - Logger.RECIPE("Input slot " + xSlot++ + " contains " + mInfo); - } else if (u instanceof ItemStack || u instanceof Item) { - if (u instanceof Item) { - u = ItemUtils.getSimpleStack((Item) u); - } - mInfo = ((ItemStack) u).getDisplayName(); - Logger.RECIPE("Input slot " + xSlot++ + " contains " + mInfo); - } else if (u == null) { - xNull++; - } - } - Logger.RECIPE("Found " + xNull + " null inputs."); - // Check if the output is invalid - if (aOutput != null && xNull < 9) { - - for (ItemStack q : mBlackList) { - if (q != null) { - if (q.isItemEqual(aOutput)) { - Logger.RECIPE("Found recipe Alkalus is Debugging."); - } - } - } - - Object[] mVarags2 = null; - Logger.RECIPE("Generating Shaped Crafting Recipe for " + aOutput.getDisplayName()); - - if (aInputs.length < 9 || aInputs.length > 9) { - Logger.RECIPE( - "[Fix] Recipe for " + aOutput.getDisplayName() - + " has incorrect number of inputs. Size: " - + aInputs.length - + "."); - } - - // Build a Pair for each slot - AutoMap> aRecipePairs = new AutoMap<>(); - int aCharSlot = 0; - int aMemSlot = 0; - int aInfoSlot = 0; - for (Object stack : aInputs) { - if (stack != null) { - String mInfo = ""; - if (stack instanceof String) { - mInfo = (String) stack; - } else if (stack instanceof ItemStack || stack instanceof Item) { - if (stack instanceof Item) { - stack = ItemUtils.getSimpleStack((Item) stack); - } - mInfo = ((ItemStack) stack).getDisplayName(); - } - aRecipePairs.put(new Pair<>(CHARS.charAt(aCharSlot), stack)); - Logger.RECIPE( - "Storing '" + CHARS.charAt(aCharSlot) - + "' with an object of type " - + stack.getClass() - .getSimpleName() - + " and a value of " - + mInfo); - aChar[aMemSlot++] = CHARS.charAt(aCharSlot); - aCharSlot++; - aLoggingInfo[aInfoSlot++] = mInfo; - } else { - aRecipePairs.put(new Pair<>(' ', (ItemStack) null)); - Logger.RECIPE("Storing ' ' with an object of type null"); - aChar[aMemSlot++] = ' '; - aLoggingInfo[aInfoSlot++] = "Empty"; - } - } - - Logger.RECIPE(aRecipePairs.size() + " Char|Object pairs registered for recipe."); - // If we have enough valid slots, iterate them and build a String which represents the entire grid. - // If this String is the correct length, we will split it into thirds and build the grid String array. - if (aRecipePairs.size() == 9) { - - for (Pair h : aRecipePairs) { - if (h.getKey() != null) { - aGridWhole += String.valueOf(h.getKey()); - Logger.RECIPE("Adding '" + String.valueOf(h.getKey()) + "' to aGridWhole."); - } - } - - Logger.RECIPE("aGridWhole: " + aGridWhole + " | size: " + aGridWhole.length()); - - // Build crafting grid - if (aGridWhole.length() == 9) { - Logger.RECIPE("aGridWhole size == 9"); - aGrid[0] = "" + aGridWhole.charAt(0) + aGridWhole.charAt(1) + aGridWhole.charAt(2); - aGrid[1] = "" + aGridWhole.charAt(3) + aGridWhole.charAt(4) + aGridWhole.charAt(5); - aGrid[2] = "" + aGridWhole.charAt(6) + aGridWhole.charAt(7) + aGridWhole.charAt(8); - } else { - Logger.RECIPE( - "[Fix] Grid length for recipe outputting " + aOutput.getDisplayName() + " is not 9."); - } - - // Rebuild the Map without spaces - aRecipePairs.clear(); - aCharSlot = 0; - - // The amount of spaces in the Varags that the Shape strings takes. - // Currently they are inserted as a single array into index 0. - final int KEY_COUNTER = 1; - - int counter = KEY_COUNTER; - for (Object stack : aInputs) { - if (stack != null) { - String mInfo = ""; - if (stack instanceof String) { - mInfo = (String) stack; - } else if (stack instanceof ItemStack || stack instanceof Item) { - if (stack instanceof Item) { - stack = ItemUtils.getSimpleStack((Item) stack); - } - mInfo = ((ItemStack) stack).getDisplayName(); - } - aRecipePairs.put(new Pair<>(CHARS.charAt(aCharSlot), stack)); - Logger.RECIPE( - "Registering Pair of '" + CHARS.charAt(aCharSlot) - + "' and a " - + stack.getClass() - .getSimpleName() - + " object. Object has a value of " - + mInfo); - aCharSlot++; - counter++; - } - } - - Logger.RECIPE( - "Counter started at " + KEY_COUNTER - + ", counter is now at " - + counter - + ". Trying to create Varag array with a size of " - + (KEY_COUNTER + (counter - KEY_COUNTER) * 2)); - // Counter started at 3, counter is now at 4. Trying to create Varag array with a size of 2 - - // Register the shaped grid straight to the varags - mVarags2 = new Object[(KEY_COUNTER + (counter - KEY_COUNTER) * 2)]; - /* - * mVarags2[0] = aGrid[0]; mVarags2[1] = aGrid[1]; mVarags2[2] = aGrid[2]; - */ - mVarags2[0] = aGrid; - - // Add Each Char, then Item to the varags, sequentially. - int counter2 = KEY_COUNTER; - for (Pair r : aRecipePairs) { - char c = r.getKey(); - Object o = r.getValue(); - - if (o instanceof ItemStack || o instanceof Item) { - if (o instanceof Item) { - o = ItemUtils.getSimpleStack((Item) o); - } - o = ((ItemStack) o).copy(); - } - - mVarags2[counter2] = (char) c; - mVarags2[counter2 + 1] = o; - counter2 += 2; - } - - Logger.RECIPE("Recipe Summary"); - Logger.RECIPE("+ = + = + = +"); - Logger.RECIPE("= " + aChar[0] + " = " + aChar[1] + " = " + aChar[2] + " ="); - Logger.RECIPE("+ = + = + = +"); - Logger.RECIPE("= " + aChar[3] + " = " + aChar[4] + " = " + aChar[5] + " ="); - Logger.RECIPE("+ = + = + = +"); - Logger.RECIPE("= " + aChar[6] + " = " + aChar[7] + " = " + aChar[8] + " ="); - Logger.RECIPE("+ = + = + = +"); - for (int r = 0; r < 9; r++) { - if (aChar[r] != ' ') { - Logger.RECIPE("" + aChar[r] + " : " + aLoggingInfo[r]); - } - } - - } else { - Logger.RECIPE( - "[Fix] Recipe for " + aOutput.getDisplayName() + " contains a strange number of inputs."); - } - - // Try set the recipe for this object. - ShapedOreRecipe testRecipe = null; - try { - testRecipe = new ShapedOreRecipe(aOutput, mVarags2); - } catch (Throwable t) { - Logger.RECIPE("[Fix][0] Error thrown when making a ShapedOreRecipe object."); - t.printStackTrace(); - } - if (testRecipe == null) { - this.mRecipe = null; - Logger.RECIPE("[Fix] Failed to generate a shaped recipe."); - } else { - this.mRecipe = testRecipe; - Logger.RECIPE("Generated a shaped recipe successfully."); - } - } - - // Output was not valid - else { - this.mRecipe = null; - Logger.RECIPE("[Fix] Failed to generate a shaped recipe. Output was not valid."); - } - - } catch (Throwable t) { - this.mRecipe = null; - Logger.RECIPE("[Fix][1] Error thrown when making a ShapedOreRecipe object."); - t.printStackTrace(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java deleted file mode 100644 index beede78173..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java +++ /dev/null @@ -1,68 +0,0 @@ -package gtPlusPlus.api.recipe; - -import static net.minecraft.util.EnumChatFormatting.GRAY; - -import java.util.List; - -import javax.annotation.ParametersAreNonnullByDefault; - -import com.gtnewhorizons.modularui.api.math.Pos2d; - -import gregtech.api.recipe.BasicUIPropertiesBuilder; -import gregtech.api.recipe.NEIRecipePropertiesBuilder; -import gregtech.api.recipe.RecipeMapFrontend; -import gregtech.api.util.MethodsReturnNonnullByDefault; -import gregtech.common.gui.modularui.UIHelper; -import gregtech.nei.GT_NEI_DefaultHandler; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -public class ChemicalPlantFrontend extends RecipeMapFrontend { - - public ChemicalPlantFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, - NEIRecipePropertiesBuilder neiPropertiesBuilder) { - super(uiPropertiesBuilder, neiPropertiesBuilder); - } - - @Override - public List getItemInputPositions(int itemInputCount) { - return UIHelper.getGridPositions(itemInputCount, 7, 6, itemInputCount, 1); - } - - @Override - public List getItemOutputPositions(int itemOutputCount) { - return UIHelper.getGridPositions(itemOutputCount, 106, 6, 2); - } - - @Override - public List getFluidInputPositions(int fluidInputCount) { - return UIHelper.getGridPositions(fluidInputCount, 7, 41, fluidInputCount, 1); - } - - @Override - public List getFluidOutputPositions(int fluidOutputCount) { - return UIHelper.getGridPositions(fluidOutputCount, 142, 6, 1, fluidOutputCount); - } - - @Override - protected List handleNEIItemInputTooltip(List currentTip, - GT_NEI_DefaultHandler.FixedPositionedStack pStack) { - if (ItemUtils.isCatalyst(pStack.item)) { - currentTip.add(GRAY + "Does not always get consumed in the process"); - currentTip.add(GRAY + "Higher tier pipe casings allow this item to last longer"); - } else { - super.handleNEIItemInputTooltip(currentTip, pStack); - } - return currentTip; - } - - @Override - protected void drawNEIOverlayForInput(GT_NEI_DefaultHandler.FixedPositionedStack stack) { - if (ItemUtils.isCatalyst(stack.item)) { - drawNEIOverlayText("NC*", stack); - } else { - super.drawNEIOverlayForInput(stack); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java deleted file mode 100644 index 310f6f540d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java +++ /dev/null @@ -1,17 +0,0 @@ -package gtPlusPlus.api.recipe; - -import static gregtech.api.recipe.RecipeCategory.createIcon; - -import gregtech.api.enums.Mods; -import gregtech.api.recipe.RecipeCategory; -import gregtech.api.recipe.RecipeCategoryHolder; - -public class GTPPRecipeCategories { - - @RecipeCategoryHolder - public static final RecipeCategory absNonAlloyRecipes = new RecipeCategory( - "gtpp.recipe.category.abs_non_alloy_recipes", - GTPPRecipeMaps.alloyBlastSmelterRecipes, - builder -> builder.setDisplayImage( - createIcon(Mods.GTPlusPlus.getResourcePath("textures", "gui", "picture", "abs_non_alloy_recipes.png")))); -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java deleted file mode 100644 index d2171d1bdd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java +++ /dev/null @@ -1,232 +0,0 @@ -package gtPlusPlus.api.recipe; - -import java.util.Arrays; -import java.util.Collections; - -import net.minecraft.util.StatCollector; - -import com.gtnewhorizons.modularui.common.widget.ProgressBar; - -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMapBackend; -import gregtech.api.recipe.RecipeMapBuilder; -import gregtech.api.recipe.maps.FluidOnlyFrontend; -import gregtech.api.recipe.maps.FuelBackend; -import gregtech.api.recipe.maps.LargeNEIFrontend; -import gregtech.api.util.GT_Utility; -import gregtech.nei.formatter.FuelSpecialValueFormatter; -import gregtech.nei.formatter.HeatingCoilSpecialValueFormatter; -import gregtech.nei.formatter.SimpleSpecialValueFormatter; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm; - -public class GTPPRecipeMaps { - - public static final RecipeMap cokeOvenRecipes = RecipeMapBuilder.of("gtpp.recipe.cokeoven") - .maxIO(2, 9, 1, 1) - .minInputs(1, 0) - .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN) - .build(); - public static final RecipeMap multiblockMassFabricatorRecipes = RecipeMapBuilder - .of("gtpp.recipe.matterfab2") - .maxIO(2, 0, 1, 1) - .build(); - public static final RecipeMap rocketFuels = RecipeMapBuilder - .of("gtpp.recipe.rocketenginefuel", FuelBackend::new) - .maxIO(0, 0, 1, 0) - .neiSpecialInfoFormatter( - recipeInfo -> Collections.singletonList( - StatCollector.translateToLocalFormatted( - "GT5U.nei.fuel", - GT_Utility.formatNumbers(recipeInfo.recipe.mSpecialValue * 3000L)))) - .build(); - public static final RecipeMap quantumForceTransformerRecipes = RecipeMapBuilder - .of("gtpp.recipe.quantumforcesmelter") - .maxIO(6, 6, 6, 6) - .minInputs(1, 0) - .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE) - .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("GT5U.nei.tier")) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap chemicalDehydratorRecipes = RecipeMapBuilder - .of("gtpp.recipe.chemicaldehydrator") - .maxIO(2, 9, 1, 1) - .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN) - .build(); - public static final RecipeMap vacuumFurnaceRecipes = RecipeMapBuilder.of("gtpp.recipe.vacfurnace") - .maxIO(9, 9, 3, 3) - .minInputs(1, 0) - .neiSpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap alloyBlastSmelterRecipes = RecipeMapBuilder - .of("gtpp.recipe.alloyblastsmelter") - .maxIO(9, 9, 3, 3) - .minInputs(1, 0) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap liquidFluorineThoriumReactorRecipes = RecipeMapBuilder - .of("gtpp.recipe.lftr") - .maxIO(0, 0, 6, 6) - .minInputs(0, 2) - .frontend(FluidOnlyFrontend::new) - .neiSpecialInfoFormatter(recipeInfo -> { - final long eut = recipeInfo.recipe.mSpecialValue; - final int duration = recipeInfo.recipe.mDuration; - return Arrays.asList( - StatCollector.translateToLocalFormatted("gtpp.nei.lftr.power", GT_Utility.formatNumbers(eut)), - StatCollector - .translateToLocalFormatted("gtpp.nei.lftr.dynamo", MathUtils.formatNumbers(duration * eut)), - StatCollector - .translateToLocalFormatted("gtpp.nei.lftr.total", MathUtils.formatNumbers(duration * eut * 4))); - }) - .build(); - public static final RecipeMap nuclearSaltProcessingPlantRecipes = RecipeMapBuilder - .of("gtpp.recipe.nuclearsaltprocessingplant") - .maxIO(1, 6, 2, 3) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap millingRecipes = RecipeMapBuilder.of("gtpp.recipe.oremill") - .maxIO(3, 1, 0, 0) - .minInputs(1, 0) - .frontend(MillingFrontend::new) - .build(); - public static final RecipeMap fissionFuelProcessingRecipes = RecipeMapBuilder - .of("gtpp.recipe.fissionfuel") - .maxIO(0, 0, 6, 1) - .frontend(FluidOnlyFrontend::new) - .build(); - public static final RecipeMap coldTrapRecipes = RecipeMapBuilder.of("gtpp.recipe.coldtrap") - .maxIO(2, 9, 1, 1) - .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN) - .build(); - public static final RecipeMap reactorProcessingUnitRecipes = RecipeMapBuilder - .of("gtpp.recipe.reactorprocessingunit") - .maxIO(2, 9, 1, 1) - .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN) - .build(); - public static final RecipeMap simpleWasherRecipes = RecipeMapBuilder - .of("gtpp.recipe.simplewasher") - .maxIO(1, 1, 1, 0) - .slotOverlays( - (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CAULDRON : null) - .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE) - .build(); - public static final RecipeMap molecularTransformerRecipes = RecipeMapBuilder - .of("gtpp.recipe.moleculartransformer") - .maxIO(1, 1, 0, 0) - .slotOverlays( - (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_MICROSCOPE - : null) - .neiHandlerInfo( - builder -> builder - .setDisplayStack(ItemUtils.getItemStackFromFQRN("AdvancedSolarPanel:BlockMolecularTransformer", 1))) - .build(); - public static final RecipeMap chemicalPlantRecipes = RecipeMapBuilder - .of("gtpp.recipe.fluidchemicaleactor") - .maxIO(4, 6, 4, 3) - .slotOverlays((index, isFluid, isOutput, isSpecial) -> { - if (isFluid) { - if (isOutput) { - return GT_UITextures.OVERLAY_SLOT_VIAL_2; - } - return GT_UITextures.OVERLAY_SLOT_MOLECULAR_3; - } - if (isOutput) { - return GT_UITextures.OVERLAY_SLOT_VIAL_1; - } - return GT_UITextures.OVERLAY_SLOT_MOLECULAR_1; - }) - .progressBar(GTPP_UITextures.PROGRESSBAR_FLUID_REACTOR, ProgressBar.Direction.CIRCULAR_CW) - .progressBarPos(82, 24) - .neiSpecialInfoFormatter(recipeInfo -> { - int tier = recipeInfo.recipe.mSpecialValue + 1; - String materialName = StatCollector.translateToLocal("gtpp.nei.chemplant.tier." + tier); - return Collections - .singletonList(StatCollector.translateToLocalFormatted("GT5U.nei.tier", tier + " - " + materialName)); - }) - .frontend(ChemicalPlantFrontend::new) - .build(); - public static final RecipeMap rtgFuels = RecipeMapBuilder - .of("gtpp.recipe.RTGgenerators", FuelBackend::new) - .maxIO(1, 0, 0, 0) - .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("gtpp.nei.rtg.days", 365)) - .build(); - public static final RecipeMap thermalBoilerRecipes = RecipeMapBuilder - .of("gtpp.recipe.thermalgeneratorfuel") - .maxIO(0, 9, 2, 3) - .frontend(ThermalBoilerFrontend::new) - .build(); - public static final RecipeMap solarTowerRecipes = RecipeMapBuilder.of("gtpp.recipe.solartower") - .maxIO(0, 0, 1, 1) - .neiSpecialInfoFormatter( - recipeInfo -> Arrays.asList( - StatCollector.translateToLocal("gtpp.nei.solar_tower.1"), - StatCollector.translateToLocal("gtpp.nei.solar_tower.2"), - StatCollector.translateToLocal("gtpp.nei.solar_tower.3"))) - .frontend(FluidOnlyFrontend::new) - .build(); - public static final RecipeMap cyclotronRecipes = RecipeMapBuilder.of("gtpp.recipe.cyclotron") - .maxIO(9, 9, 1, 1) - .build(); - public static final RecipeMap fishPondRecipes = RecipeMapBuilder.of("gtpp.recipe.fishpond") - .maxIO(1, 1, 0, 0) - .slotOverlays( - (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CAULDRON : null) - .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE) - .build(); - public static final RecipeMap spargeTowerFakeRecipes = RecipeMapBuilder - .of("gtpp.recipe.spargetower") - .maxIO(0, 0, 9, 9) - .disableRegisterNEI() - .build(); - public static final RecipeMap advancedFreezerRecipes = RecipeMapBuilder - .of("gtpp.recipe.cryogenicfreezer") - .maxIO(1, 1, 2, 1) - .build(); - public static final RecipeMap centrifugeNonCellRecipes = RecipeMapBuilder - .of("gtpp.recipe.multicentrifuge") - .maxIO(6, 6, 6, 6) - .progressBar(GT_UITextures.PROGRESSBAR_EXTRACT) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap electrolyzerNonCellRecipes = RecipeMapBuilder - .of("gtpp.recipe.multielectro") - .maxIO(6, 6, 6, 6) - .progressBar(GT_UITextures.PROGRESSBAR_EXTRACT) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap mixerNonCellRecipes = RecipeMapBuilder.of("gtpp.recipe.multimixer") - .maxIO(9, 9, 6, 6) - .progressBar(GT_UITextures.PROGRESSBAR_MIXER, ProgressBar.Direction.CIRCULAR_CW) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap chemicalDehydratorNonCellRecipes = RecipeMapBuilder - .of("gtpp.recipe.multidehydrator") - .maxIO(6, 9, 3, 3) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap semiFluidFuels = RecipeMapBuilder - .of("gtpp.recipe.semifluidgeneratorfuels", FuelBackend::new) - .maxIO(0, 0, 1, 0) - .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE) - .build(); - public static final RecipeMap flotationCellRecipes = RecipeMapBuilder - .of("gtpp.recipe.flotationcell") - .maxIO(6, 0, 1, 1) - .build(); - public static final RecipeMap treeGrowthSimulatorFakeRecipes = RecipeMapBuilder - .of("gtpp.recipe.treefarm") - .maxIO( - GregtechMetaTileEntityTreeFarm.Mode.values().length, - GregtechMetaTileEntityTreeFarm.Mode.values().length, - 0, - 0) - .minInputs(1, 0) - .useSpecialSlot() - .frontend(TGSFrontend::new) - .build(); -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java deleted file mode 100644 index 26e2ab2ec9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java +++ /dev/null @@ -1,46 +0,0 @@ -package gtPlusPlus.api.recipe; - -import static net.minecraft.util.EnumChatFormatting.GRAY; - -import java.util.List; - -import javax.annotation.ParametersAreNonnullByDefault; - -import net.minecraft.util.StatCollector; - -import gregtech.api.recipe.BasicUIPropertiesBuilder; -import gregtech.api.recipe.NEIRecipePropertiesBuilder; -import gregtech.api.recipe.RecipeMapFrontend; -import gregtech.api.util.MethodsReturnNonnullByDefault; -import gregtech.nei.GT_NEI_DefaultHandler; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -public class MillingFrontend extends RecipeMapFrontend { - - public MillingFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, - NEIRecipePropertiesBuilder neiPropertiesBuilder) { - super(uiPropertiesBuilder, neiPropertiesBuilder); - } - - @Override - protected List handleNEIItemInputTooltip(List currentTip, - GT_NEI_DefaultHandler.FixedPositionedStack pStack) { - if (ItemUtils.isMillingBall(pStack.item)) { - currentTip.add(GRAY + StatCollector.translateToLocal("gtpp.nei.milling.not_consumed")); - } else { - super.handleNEIItemInputTooltip(currentTip, pStack); - } - return currentTip; - } - - @Override - protected void drawNEIOverlayForInput(GT_NEI_DefaultHandler.FixedPositionedStack stack) { - if (ItemUtils.isMillingBall(stack.item)) { - drawNEIOverlayText("NC*", stack); - } else { - super.drawNEIOverlayForInput(stack); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java deleted file mode 100644 index e57ebaf5f9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java +++ /dev/null @@ -1,147 +0,0 @@ -package gtPlusPlus.api.recipe; - -import java.awt.Rectangle; -import java.util.Arrays; -import java.util.List; - -import javax.annotation.ParametersAreNonnullByDefault; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; - -import com.gtnewhorizons.modularui.api.math.Pos2d; - -import gregtech.api.recipe.BasicUIPropertiesBuilder; -import gregtech.api.recipe.NEIRecipePropertiesBuilder; -import gregtech.api.recipe.RecipeMapFrontend; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.MethodsReturnNonnullByDefault; -import gregtech.common.gui.modularui.UIHelper; -import gregtech.nei.GT_NEI_DefaultHandler; -import gregtech.nei.RecipeDisplayInfo; -import gregtech.nei.formatter.INEISpecialInfoFormatter; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm.Mode; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -public class TGSFrontend extends RecipeMapFrontend { - - private static final int SLOT_SIZE = 18; - private static final int CENTER_X = 90; - private static final int SPECIAL_X = CENTER_X - SLOT_SIZE / 2; - private static final int SPECIAL_Y = 9; - private static final int INPUTS_X = CENTER_X - SLOT_SIZE * 3; - private static final int INPUTS_Y = SPECIAL_Y + SLOT_SIZE + SLOT_SIZE / 2; - private static final int OUTPUTS_X = CENTER_X + SLOT_SIZE; - private static final int OUTPUTS_Y = INPUTS_Y; - - public TGSFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, NEIRecipePropertiesBuilder neiPropertiesBuilder) { - super( - uiPropertiesBuilder - .addNEITransferRect( - new Rectangle(INPUTS_X + SLOT_SIZE * 2, INPUTS_Y + SLOT_SIZE / 2, SLOT_SIZE * 2, SLOT_SIZE)) - .progressBarPos(new Pos2d(CENTER_X - 10, INPUTS_Y + SLOT_SIZE / 2)), - neiPropertiesBuilder.neiSpecialInfoFormatter(new TGSSpecialValueFormatter())); - } - - @Override - protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) { - // Do not. - } - - @Override - public Pos2d getSpecialItemPosition() { - return new Pos2d(SPECIAL_X, SPECIAL_Y); - } - - @Override - public List getItemInputPositions(int itemInputCount) { - return UIHelper.getGridPositions(Mode.values().length, INPUTS_X, INPUTS_Y, 2); - } - - @Override - public List getItemOutputPositions(int itemOutputCount) { - return UIHelper.getGridPositions(Mode.values().length, OUTPUTS_X, OUTPUTS_Y, 2); - } - - private static final String[] tooltipInputs = { StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.saw"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.cutter"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.shears"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.knife") }; - - private static final String[] tooltipOutputs = { StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.needsSaw"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.needsCutter"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.needsShears"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.needsKnife") }; - private static final String tooltipSapling = StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.sapling"); - private static final String tooltipMultiplier = StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.multiplier"); - - @Override - public List handleNEIItemTooltip(ItemStack stack, List currentTip, - GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe) { - - /* - * This gets a little complicated, because we want to assign tooltips to inputs/outputs based on which mode - * (saw, shears, etc.) they correspond to. But CachedDefaultRecipe does not retain this information for us. This - * is because some recipes don't output any items for some modes. For example, if a recipe only yields logs and - * leaves, then the outputs of GT_Recipe will be {log, null, leaves}. However, in CachedDefaultRecipe this gets - * condensed to just {log, leaves}, with null values omitted. So to figure out which item came from which mode, - * we need to step through both of these arrays simultaneously and match non-null inputs/outputs in GT_Recipe to - * inputs/outputs in CachedDefaultRecipe. - */ - - // The last input in neiCachedRecipe is always the special slot, this is the input sapling. - if (stack == neiCachedRecipe.mInputs.get(neiCachedRecipe.mInputs.size() - 1).item) { - currentTip.add(EnumChatFormatting.YELLOW + tooltipSapling); - super.handleNEIItemTooltip(stack, currentTip, neiCachedRecipe); - return currentTip; - } - - GT_Recipe.GT_Recipe_WithAlt recipe = (GT_Recipe.GT_Recipe_WithAlt) neiCachedRecipe.mRecipe; - - // Inputs - int slot = 0; - for (int mode = 0; mode < Mode.values().length; ++mode) { - if (mode < recipe.mOreDictAlt.length && recipe.mOreDictAlt[mode] != null) { - // There is a valid input in this mode. - if (slot < neiCachedRecipe.mInputs.size() && stack == neiCachedRecipe.mInputs.get(slot).item) { - int toolMultiplier = GregtechMetaTileEntityTreeFarm.getToolMultiplier(stack, Mode.values()[mode]); - currentTip.add(EnumChatFormatting.YELLOW + tooltipInputs[mode]); - if (toolMultiplier > 0) { - currentTip.add(EnumChatFormatting.YELLOW + tooltipMultiplier + " " + toolMultiplier + "x"); - } - return currentTip; - } - ++slot; - } - } - - // Outputs - slot = 0; - for (int mode = 0; mode < Mode.values().length; ++mode) { - if (mode < recipe.mOutputs.length && recipe.mOutputs[mode] != null) { - // There is a valid output in this mode. - if (slot < neiCachedRecipe.mOutputs.size() && stack == neiCachedRecipe.mOutputs.get(slot).item) { - currentTip.add(EnumChatFormatting.YELLOW + tooltipOutputs[mode]); - return currentTip; - } - ++slot; - } - } - - return currentTip; - } - - private static class TGSSpecialValueFormatter implements INEISpecialInfoFormatter { - - @Override - public List format(RecipeDisplayInfo recipeInfo) { - return Arrays.asList( - StatCollector.translateToLocal("gtpp.nei.tgs.info-1"), - StatCollector.translateToLocal("gtpp.nei.tgs.info-2"), - StatCollector.translateToLocal("gtpp.nei.tgs.info-3")); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/ThermalBoilerFrontend.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/ThermalBoilerFrontend.java deleted file mode 100644 index 93974b9f9a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/ThermalBoilerFrontend.java +++ /dev/null @@ -1,57 +0,0 @@ -package gtPlusPlus.api.recipe; - -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.ParametersAreNonnullByDefault; - -import com.gtnewhorizons.modularui.api.math.Pos2d; - -import gregtech.api.recipe.BasicUIPropertiesBuilder; -import gregtech.api.recipe.NEIRecipePropertiesBuilder; -import gregtech.api.recipe.maps.LargeNEIFrontend; -import gregtech.api.util.MethodsReturnNonnullByDefault; -import gregtech.common.gui.modularui.UIHelper; -import gregtech.nei.RecipeDisplayInfo; -import gregtech.nei.formatter.INEISpecialInfoFormatter; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -public class ThermalBoilerFrontend extends LargeNEIFrontend { - - private static final int tileSize = 18; - private static final int xOrigin = 16; - private static final int yOrigin = 8 + tileSize; // Aligned with second row of output items. - private static final int maxInputs = 3; - - public ThermalBoilerFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, - NEIRecipePropertiesBuilder neiPropertiesBuilder) { - super( - uiPropertiesBuilder, - neiPropertiesBuilder.neiSpecialInfoFormatter(new ThermalBoilerSpecialValueFormatter())); - } - - @Override - public List getFluidInputPositions(int fluidInputCount) { - return UIHelper - .getGridPositions(fluidInputCount, xOrigin + tileSize * (maxInputs - fluidInputCount), yOrigin, maxInputs); - } - - private static class ThermalBoilerSpecialValueFormatter implements INEISpecialInfoFormatter { - - @Override - public List format(RecipeDisplayInfo recipeInfo) { - // TODO: Translation. - List result = new ArrayList<>(); - result.add("Steam output shown"); - result.add("at maximum efficiency."); - - if (recipeInfo.recipe.mSpecialValue == -1) { - result.add("Without a Lava Filter,"); - result.add("only Obsidian is produced."); - } - - return result; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/ModBlocks.java b/gtpp/src/main/java/gtPlusPlus/core/block/ModBlocks.java deleted file mode 100644 index 634a073b02..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/ModBlocks.java +++ /dev/null @@ -1,104 +0,0 @@ -package gtPlusPlus.core.block; - -import net.minecraft.block.Block; -import net.minecraftforge.fluids.Fluid; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.general.BlockCompressedObsidian; -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.antigrief.BlockWitherProof; -import gtPlusPlus.core.block.machine.CircuitProgrammer; -import gtPlusPlus.core.block.machine.DecayablesChest; -import gtPlusPlus.core.block.machine.FishTrap; -import gtPlusPlus.core.block.machine.Machine_PestKiller; -import gtPlusPlus.core.block.machine.Machine_PooCollector; -import gtPlusPlus.core.block.machine.Machine_ProjectTable; -import gtPlusPlus.core.block.machine.Machine_SuperJukebox; -import gtPlusPlus.core.block.machine.VolumetricFlaskSetter; -import gtPlusPlus.core.fluids.FluidRegistryHandler; - -public final class ModBlocks { - - public static Block blockCircuitProgrammer; - public static Block blockVolumetricFlaskSetter; - - public static Block blockFishTrap; - public static Block blockDecayablesChest; - - public static Block blockCasingsMisc; - public static Block blockCasings2Misc; - public static Block blockCasings3Misc; - public static Block blockCasings4Misc; - public static Block blockCasings5Misc; - public static Block blockCasings6Misc; - public static Block blockCasingsTieredGTPP; - public static Block blockSpecialMultiCasings; - public static Block blockSpecialMultiCasings2; - public static Block blockCustomMachineCasings; - public static Block blockCustomPipeGearCasings; - - public static Block MatterFabricatorEffectBlock; - - public static Fluid fluidSludge = new Fluid("fluid.sludge"); - public static Block blockFluidSludge; - - public static Block blockMiningExplosive; - - public static Block blockHellfire; - public static Block blockInfiniteFLuidTank; - public static Block blockProjectTable; - public static Block blockWitherGuard; - public static Block blockCompressedObsidian; - - public static Block blockPlayerDoorWooden; - public static Block blockPlayerDoorIron; - public static Block blockPlayerDoorCustom_Glass; - public static Block blockPlayerDoorCustom_Ice; - public static Block blockPlayerDoorCustom_Cactus; - - public static Block blockCustomJukebox; - - public static Block blockPooCollector; - - public static Block blockPestKiller; - - public static void init() { - Logger.INFO("Initializing Blocks."); - - registerBlocks(); - } - - public static void registerBlocks() { - - Logger.INFO("Registering Blocks."); - MatterFabricatorEffectBlock = new LightGlass(false); - - // Fluids - FluidRegistryHandler.registerFluids(); - - // Workbench - blockFishTrap = new FishTrap(); - blockInfiniteFLuidTank = new FluidTankInfinite(); - blockMiningExplosive = new MiningExplosives(); - blockHellfire = new HellFire(); - blockProjectTable = new Machine_ProjectTable(); - blockWitherGuard = new BlockWitherProof(); - blockCompressedObsidian = new BlockCompressedObsidian(); - - blockCircuitProgrammer = new CircuitProgrammer(); - - blockDecayablesChest = new DecayablesChest(); - - blockCustomJukebox = new Machine_SuperJukebox(); - - blockPooCollector = new Machine_PooCollector(); - - blockPestKiller = new Machine_PestKiller(); - - blockVolumetricFlaskSetter = new VolumetricFlaskSetter(); - - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/base/BasicBlock.java b/gtpp/src/main/java/gtPlusPlus/core/block/base/BasicBlock.java deleted file mode 100644 index d39c194dfd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/base/BasicBlock.java +++ /dev/null @@ -1,70 +0,0 @@ -package gtPlusPlus.core.block.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.Utils; - -public class BasicBlock extends BlockContainer { - - public BasicBlock(BlockTypes type, final String unlocalizedName, final Material material, final int harvestLevel) { - super(material); - this.setBlockName(Utils.sanitizeString(unlocalizedName)); - - if (type != BlockTypes.ORE && !unlocalizedName.toLowerCase() - .contains("ore")) { - this.setBlockTextureName(GTPlusPlus.ID + ":" + unlocalizedName); - } - - this.setCreativeTab(AddToCreativeTab.tabBlock); - this.setResistance(6.0F); - this.setLightLevel(0.0F); - this.setHardness(1.0f * harvestLevel); - this.setHarvestLevel("pickaxe", harvestLevel); - this.setStepSound(soundTypeMetal); - } - - public static enum BlockTypes { - - STANDARD("blockBlock", "pickaxe", soundTypeMetal), - FRAME("blockFrameGt", "wrench", soundTypeMetal), - ORE("blockStone", "pickaxe", soundTypeStone); - - private final String TEXTURE_NAME; - private final String HARVEST_TOOL; - private final SoundType soundOfBlock; - - BlockTypes(final String textureName, final String harvestTool, final SoundType blockSound) { - this.TEXTURE_NAME = textureName; - this.HARVEST_TOOL = harvestTool; - this.soundOfBlock = blockSound; - } - - public String getTexture() { - return this.TEXTURE_NAME; - } - - public String getHarvestTool() { - return this.HARVEST_TOOL; - } - - } - - @Override - public TileEntity createNewTileEntity(final World p_149915_1_, final int p_149915_2_) { - return null; - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java b/gtpp/src/main/java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java deleted file mode 100644 index c39565ea41..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java +++ /dev/null @@ -1,322 +0,0 @@ -package gtPlusPlus.core.block.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import appeng.core.CreativeTab; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.api.interfaces.ITileTooltip; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.minecraft.CubicObject; -import gtPlusPlus.api.objects.minecraft.SafeTexture; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.InventoryUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public abstract class BasicTileBlockWithTooltip extends BlockContainer implements ITileTooltip { - - /** - * Each mapped object holds the data for the six sides. - */ - @SideOnly(Side.CLIENT) - private AutoMap> mSidedTextureArray; - - /** - * Holds the data for the six sides, each side holds an array of data for each respective meta. - */ - @SideOnly(Side.CLIENT) - private AutoMap> mSidedTexturePathArray; - - /** - * Does this block have any meta at all? - */ - public final boolean hasMeta() { - return getMetaCount() > 0; - } - - /** - * The amount of meta this block has. - */ - public abstract int getMetaCount(); - - /** - * Does this {@link Block} require special {@link ItemBlock} handling? - * - * @return The {@link Class} that will be used for this {@link Block}. - */ - public Class getItemBlockClass() { - return ItemBlock.class; - } - - /** - * A lazy way to declare the unlocal name for the block, makes boilerplating easy. - * - * @return The internal name for this block. - */ - public abstract String getUnlocalBlockName(); - - /** - * Lazy Boilerplating. - * - * @return Block Hardness. - */ - protected abstract float initBlockHardness(); - - /** - * Lazy Boilerplating. - * - * @return Block Resistance. - */ - protected abstract float initBlockResistance(); - - /** - * Lazy Boilerplating. - * - * @return The {@link CreativeTab} this Block is shown on. - */ - protected abstract CreativeTabs initCreativeTab(); - - /** - * The ID used by the {@link ITileTooltip} handler. Return -1 if you are not providing a custom {@link ItemBlock} in - * {@link #getItemBlockClass}(). - */ - @Override - public abstract int getTooltipID(); - - public BasicTileBlockWithTooltip(Material aBlockMat) { - super(aBlockMat); - // Use Abstract method values - this.setHardness(initBlockHardness()); - this.setResistance(initBlockResistance()); - this.setBlockName(getUnlocalBlockName()); - this.setCreativeTab(initCreativeTab()); - // Register the block last. - GameRegistry.registerBlock(this, getItemBlockClass(), getUnlocalBlockName()); - Logger.INFO("Registered " + getTileEntityName() + "."); - if (Utils.isClient()) { - // Handle Textures - handleTextures(); - } - } - - /** - * The name of the Tile Entity. - */ - protected abstract String getTileEntityName(); - - /** - * The String used for texture pathing. - * - * @return Sanitized {@link String}, containing no spaces or illegal characters. - */ - private String getTileEntityNameForTexturePathing() { - return Utils.sanitizeString(getTileEntityName().replace(" ", "")); - } - - /** - * An array of CubicObjects, one for each meta, else just a single cell array. Expected to be null regularly, as the - * default texture handling should suffice. Handy if re-using textures or using a non-standard structure for them. - * FULL texture path must be used, inclusive of the MODID and a colon. - */ - public CubicObject[] getCustomTextureDirectoryObject() { - return null; - } - - @Override - @SideOnly(Side.CLIENT) - public final IIcon getIcon(final int ordinalSide, final int aMeta) { - return mSidedTextureArray.get(aMeta) - .get(ForgeDirection.getOrientation(ordinalSide)) - .getIcon(); - } - - @Override - public IIcon getIcon(IBlockAccess aWorld, int aX, int aY, int aZ, int ordinalSide) { - return super.getIcon(aWorld, aX, aY, aZ, ordinalSide); - } - - @SideOnly(Side.CLIENT) - private void handleTextures() { - - Logger.INFO("[TeTexture] Building Texture Maps for " + getTileEntityName() + "."); - - // Init on the Client side only, to prevent Field initialisers existing in the Server side bytecode. - mSidedTextureArray = new AutoMap<>(); - mSidedTexturePathArray = new AutoMap<>(); - - // Store them in forge order - // DOWN, UP, NORTH, SOUTH, WEST, EAST - - // Default Path Name, this will make us look inside 'miscutils\textures\blocks' - final String aPrefixTexPath = GTPlusPlus.ID + ":"; - // Default Path Name, this will make us look in the subdirectory for this Tile Entity. - final String aTexPathMid = "TileEntities" + CORE.SEPERATOR - + getTileEntityNameForTexturePathing() - + CORE.SEPERATOR; - // Construct a full path - String aTexPathBuilt = aPrefixTexPath + aTexPathMid; - // File Name Suffixes, without meta tags - String aStringBot; - String aStringTop; - String aStringBack; - String aStringFront; - String aStringLeft; - String aStringRight; - // Do we provide a matrix of custom data to be used for texture processing instead? - if (getCustomTextureDirectoryObject() != null) { - // Get custom provided texture data. - CubicObject[] aDataMap = getCustomTextureDirectoryObject(); - Logger.INFO("[TeTexture] Found custom texture data, using this instead. Size: " + aDataMap.length); - // Map each meta string data to the main map. - for (int i = 0; i < aDataMap.length; i++) { - mSidedTexturePathArray.put(aDataMap[i]); - Logger.INFO("Mapped value for meta " + i + "."); - } - } else { - Logger.INFO("[TeTexture] Processing " + (1 + getMetaCount()) + " sets."); - // Iterate once for each meta - for (int i = 0; i < (1 + getMetaCount()); i++) { - - // File Name Suffixes, without meta tags - aStringBot = "Bottom"; - aStringTop = "Top"; - aStringBack = "Back"; - aStringFront = "Front"; - aStringLeft = "Left"; - aStringRight = "Right"; - - // Add tails if we have meta - if (hasMeta()) { - aStringBot = aStringBot + "_" + i; - aStringTop = aStringTop + "_" + i; - aStringBack = aStringBack + "_" + i; - aStringFront = aStringFront + "_" + i; - aStringLeft = aStringLeft + "_" + i; - aStringRight = aStringRight + "_" + i; - } - // Append the full path - aStringBot = aTexPathBuilt + aStringBot; - aStringTop = aTexPathBuilt + aStringTop; - aStringBack = aTexPathBuilt + aStringBack; - aStringFront = aTexPathBuilt + aStringFront; - aStringLeft = aTexPathBuilt + aStringLeft; - aStringRight = aTexPathBuilt + aStringRight; - // Convenience Blob - CubicObject aMetaBlob = new CubicObject<>( - aStringBot, - aStringTop, - aStringBack, - aStringFront, - aStringLeft, - aStringRight); - mSidedTexturePathArray.put(aMetaBlob); - Logger.INFO("[TeTexture] Added Texture Path data to map for meta " + i); - } - } - Logger.INFO("[TeTexture] Map size for pathing: " + mSidedTexturePathArray.size()); - - // Iteration Index - int aIndex = 0; - - // Iterate each CubicObject, holding the six texture paths for each meta. - for (CubicObject aMetaBlob : mSidedTexturePathArray) { - // Make a Safe Texture for each side - SafeTexture aBottom = SafeTexture.register(aMetaBlob.DOWN); - SafeTexture aTop = SafeTexture.register(aMetaBlob.UP); - SafeTexture aBack = SafeTexture.register(aMetaBlob.NORTH); - SafeTexture aFont = SafeTexture.register(aMetaBlob.SOUTH); - SafeTexture aWest = SafeTexture.register(aMetaBlob.WEST); - SafeTexture aEast = SafeTexture.register(aMetaBlob.EAST); - // Store them in an Array - SafeTexture[] aInjectBlob = new SafeTexture[] { aBottom, aTop, aBack, aFont, aWest, aEast }; - // Convenience Blob - CubicObject aMetaBlob2 = new CubicObject<>(aInjectBlob); - // Store this Blob into - mSidedTextureArray.put(aMetaBlob2); - Logger.INFO("[TeTexture] Added SafeTexture data to map for meta " + (aIndex++)); - } - Logger.INFO("[TeTexture] Map size for registration: " + mSidedTextureArray.size()); - } - - @Override - @SideOnly(Side.CLIENT) - public final void registerBlockIcons(final IIconRegister aRegisterer) {} - - @Override - public abstract TileEntity createNewTileEntity(final World world, final int p_149915_2_); - - /** - * Called when {@link #breakBlock}() is called, but before {@link InventoryUtils#dropInventoryItems} and the super - * call. - */ - public void onBlockBreak() {} - - @Override - public final void breakBlock(final World world, final int x, final int y, final int z, final Block block, - final int number) { - onBlockBreak(); - InventoryUtils.dropInventoryItems(world, x, y, z, block); - super.breakBlock(world, x, y, z, block, number); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public final void getSubBlocks(Item aItem, CreativeTabs p_149666_2_, List aList) { - if (hasMeta()) { - for (int i = 0; i < getMetaCount(); i++) { - aList.add(ItemUtils.simpleMetaStack(aItem, i, 1)); - } - } else { - aList.add(ItemUtils.getSimpleStack(aItem)); - } - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } - - /** - * Get the block's damage value (for use with pick block). - */ - @Override - public int getDamageValue(World aWorld, int aX, int aY, int aZ) { - return aWorld.getBlockMetadata(aX, aY, aZ); - } - - @Override - public Item getItemDropped(int meta, Random rand, int p_149650_3_) { - return ItemUtils.getSimpleStack(this, 1) - .getItem(); - } - - @Override - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { - ArrayList drops = new ArrayList<>(); - drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); - return drops; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseFluid.java b/gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseFluid.java deleted file mode 100644 index 6772b71262..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseFluid.java +++ /dev/null @@ -1,102 +0,0 @@ -package gtPlusPlus.core.block.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.Random; - -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 net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.BlockFluidClassic; -import net.minecraftforge.fluids.Fluid; - -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 gregtech.api.enums.Mods; -import gtPlusPlus.core.client.renderer.particle.EntityDropParticleFX; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.base.itemblock.ItemBlockMeta; -import gtPlusPlus.core.util.Utils; - -public class BlockBaseFluid extends BlockFluidClassic { - - private final String name; - private final IIcon[] textureArray = new IIcon[6]; - - protected float particleRed = 1.0F; - protected float particleGreen = 1.0F; - protected float particleBlue = 1.0F; - - public BlockBaseFluid(String materialName, Fluid fluid, Material material) { - super(fluid, material); - this.setLightOpacity(2); - this.name = Utils.sanitizeString(materialName); - this.setBlockName("fluid" + this.name); - this.setCreativeTab(AddToCreativeTab.tabBlock); - GameRegistry.registerBlock(this, ItemBlockMeta.class, "fluid" + this.name); - } - - @Override - public boolean canCreatureSpawn(EnumCreatureType arg0, IBlockAccess arg1, int arg2, int arg3, int arg4) { - return false; - } - - public boolean preInit() { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int ordinalSide, int meta) { - return ordinalSide <= 1 ? this.textureArray[0] : this.textureArray[1]; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister icon) { - this.textureArray[0] = icon.registerIcon(GTPlusPlus.ID + ":" + "fluid/" + "Fluid_" + this.name + "_Still"); - this.textureArray[1] = icon.registerIcon(GTPlusPlus.ID + ":" + "fluid/" + "Fluid_" + this.name + "_Flow"); - } - - @Override - @Optional.Method(modid = Mods.Names.C_O_F_H_CORE) - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World arg0, int arg1, int arg2, int arg3, Random arg4) { - super.randomDisplayTick(arg0, arg1, arg2, arg3, arg4); - double arg5 = arg1 + arg4.nextFloat(); - double arg7 = arg2 - 1.05D; - double arg9 = arg3 + arg4.nextFloat(); - if (super.density < 0) { - arg7 = arg2 + 2.1D; - } - - if (arg4.nextInt(20) == 0 - && arg0.isSideSolid( - arg1, - arg2 + super.densityDir, - arg3, - super.densityDir == -1 ? ForgeDirection.UP : ForgeDirection.DOWN) - && !arg0.getBlock(arg1, arg2 + 2 * super.densityDir, arg3) - .getMaterial() - .blocksMovement()) { - EntityDropParticleFX arg11 = new EntityDropParticleFX( - arg0, - arg5, - arg7, - arg9, - this.particleRed, - this.particleGreen, - this.particleBlue, - super.densityDir); - FMLClientHandler.instance() - .getClient().effectRenderer.addEffect(arg11); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseModular.java b/gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseModular.java deleted file mode 100644 index b07c6d1529..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseModular.java +++ /dev/null @@ -1,245 +0,0 @@ -package gtPlusPlus.core.block.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; - -import java.util.HashMap; -import java.util.Map; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.world.IBlockAccess; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TextureSet; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.item.base.itemblock.ItemBlockGtBlock; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BlockBaseModular extends BasicBlock { - - protected Material blockMaterial; - - protected int blockColour; - public BlockTypes thisBlock; - protected String thisBlockMaterial; - protected String thisBlockMaterialTranslatedName; - protected final String thisBlockType; - - private static final HashMap sBlockCache = new HashMap<>(); - - public static Block getMaterialBlock(Material aMaterial, BlockTypes aType) { - return sBlockCache.get(aMaterial.getUnlocalizedName() + "." + aType.name()); - } - - public BlockBaseModular(final Material material, final BlockTypes blockType) { - this(material, blockType, material.getRgbAsHex()); - } - - public BlockBaseModular(final Material material, final BlockTypes blockType, final int colour) { - this( - material.getUnlocalizedName(), - material.getLocalizedName(), - net.minecraft.block.material.Material.iron, - blockType, - colour, - Math.min(Math.max(material.vTier, 1), 6)); - blockMaterial = material; - registerComponent(); - sBlockCache.put(material.getUnlocalizedName() + "." + blockType.name(), this); - thisBlockMaterialTranslatedName = material.getTranslatedName(); - GT_LanguageManager.addStringLocalization("gtplusplus." + getUnlocalizedName() + ".name", getProperName()); - } - - protected BlockBaseModular(final String unlocalizedName, final String blockMaterialString, - final net.minecraft.block.material.Material vanillaMaterial, final BlockTypes blockType, final int colour, - final int miningLevel) { - super(blockType, unlocalizedName, vanillaMaterial, miningLevel); - this.setHarvestLevel(blockType.getHarvestTool(), miningLevel); - this.setBlockTextureName(GTPlusPlus.ID + ":" + blockType.getTexture()); - this.blockColour = colour; - this.thisBlock = blockType; - this.thisBlockMaterial = blockMaterialString; - this.thisBlockType = blockType.name() - .toUpperCase(); - this.setBlockName(this.getUnlocalizedProperName()); - int fx = getBlockTypeMeta(); - GameRegistry.registerBlock( - this, - ItemBlockGtBlock.class, - Utils.sanitizeString(blockType.getTexture() + unlocalizedName)); - if (fx == 0) { - GT_OreDictUnificator - .registerOre("block" + unifyMaterialName(thisBlockMaterial), ItemUtils.getSimpleStack(this)); - } else if (fx == 1) { - GT_OreDictUnificator - .registerOre("frameGt" + unifyMaterialName(thisBlockMaterial), ItemUtils.getSimpleStack(this)); - } else if (fx == 2) { - GT_OreDictUnificator - .registerOre("frameGt" + unifyMaterialName(thisBlockMaterial), ItemUtils.getSimpleStack(this)); - } - } - - public static String unifyMaterialName(String rawMaterName) { - return rawMaterName.replace(" ", "") - .replace("-", "") - .replace("_", ""); - } - - public void registerComponent() { - Logger.MATERIALS("Attempting to register " + this.getUnlocalizedName() + "."); - if (this.blockMaterial == null) { - Logger.MATERIALS("Tried to register " + this.getUnlocalizedName() + " but the material was null."); - return; - } - String aName = blockMaterial.getUnlocalizedName(); - // Register Component - Map aMap = Material.mComponentMap.get(aName); - if (aMap == null) { - aMap = new HashMap<>(); - } - int fx = getBlockTypeMeta(); - String aKey = (fx == 0 ? OrePrefixes.block.name() - : (fx == 1 ? OrePrefixes.frameGt.name() : OrePrefixes.ore.name())); - ItemStack x = aMap.get(aKey); - if (x == null) { - aMap.put(aKey, ItemUtils.getSimpleStack(this)); - Logger.MATERIALS("Registering a material component. Item: [" + aName + "] Map: [" + aKey + "]"); - Material.mComponentMap.put(aName, aMap); - } else { - // Bad - Logger.MATERIALS("Tried to double register a material component."); - } - } - - public int getBlockTypeMeta() { - if (this.thisBlockType.equals( - BlockTypes.STANDARD.name() - .toUpperCase())) { - return 0; - } else if (this.thisBlockType.equals( - BlockTypes.FRAME.name() - .toUpperCase())) { - return 1; - } else - if (this.thisBlockType.equals( - BlockTypes.ORE.name() - .toUpperCase())) { - return 2; - } - return 0; - } - - /** - * 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) { - return 1; - } - return 0; - } - - public String getProperName() { - String tempIngot = null; - if (this.thisBlock == BlockTypes.STANDARD) { - tempIngot = "Block of %material"; - } else if (this.thisBlock == BlockTypes.FRAME) { - tempIngot = "%material Frame Box"; - } else if (this.thisBlock == BlockTypes.ORE) { - tempIngot = "%material Ore [Old]"; - } - return tempIngot; - } - - public String getUnlocalizedProperName() { - return getProperName().replace("%s", "%temp") - .replace("%material", this.thisBlockMaterial) - .replace("%temp", "%s"); - } - - @Override - public String getLocalizedName() { - return GT_LanguageManager.getTranslation("gtplusplus." + getUnlocalizedName() + ".name") - .replace("%s", "%temp") - .replace("%material", this.thisBlockMaterialTranslatedName) - .replace("%temp", "%s"); - } - - @Override - public String getUnlocalizedName() { - return "block." + blockMaterial.getUnlocalizedName() - + "." - + this.thisBlock.name() - .toLowerCase(); - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - public Material getMaterialEx() { - return this.blockMaterial; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister iIcon) { - if (!CORE.ConfigSwitches.useGregtechTextures || this.blockMaterial == null - || this.thisBlock == BlockTypes.ORE) { - this.blockIcon = iIcon.registerIcon(GTPlusPlus.ID + ":" + this.thisBlock.getTexture()); - } - String metType = "9j4852jyo3rjmh3owlhw9oe"; - if (this.blockMaterial != null) { - TextureSet u = this.blockMaterial.getTextureSet(); - if (u != null) { - metType = u.mSetName; - } - } - metType = (metType.equals("9j4852jyo3rjmh3owlhw9oe") ? "METALLIC" : metType); - int tier = blockMaterial != null ? this.blockMaterial.vTier : 0; - String aType = (this.thisBlock == BlockTypes.FRAME) ? "frameGt" : (tier <= 4 ? "block1" : "block5"); - this.blockIcon = iIcon.registerIcon(GregTech.ID + ":" + "materialicons/" + metType + "/" + aType); - } - - @Override - public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4) { - - if (this.blockColour == 0) { - return MathUtils.generateSingularRandomHexValue(); - } - - return this.blockColour; - } - - @Override - public int getRenderColor(final int aMeta) { - if (this.blockColour == 0) { - return MathUtils.generateSingularRandomHexValue(); - } - - return this.blockColour; - } - - @Override - public int getBlockColor() { - if (this.blockColour == 0) { - return MathUtils.generateSingularRandomHexValue(); - } - - return this.blockColour; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java b/gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java deleted file mode 100644 index 1813090810..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java +++ /dev/null @@ -1,217 +0,0 @@ -package gtPlusPlus.core.block.base; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.FakePlayer; -import net.minecraftforge.common.util.ForgeDirection; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.GT_Mod; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.api.interfaces.ITexturedBlock; -import gtPlusPlus.core.client.renderer.CustomOreBlockRenderer; -import gtPlusPlus.core.item.base.itemblock.ItemBlockOre; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_RenderedTexture; - -public class BlockBaseOre extends BasicBlock implements ITexturedBlock { - - private final Material blockMaterial; - protected static boolean shouldFortune = false; - protected static boolean shouldSilkTouch = false; - - public BlockBaseOre(final Material material, final BlockTypes blockType) { - super( - blockType, - Utils.sanitizeString(material.getUnlocalizedName()), - net.minecraft.block.material.Material.rock, - Math.min(Math.max(material.vTier, 1), 6)); - int aMaterialTierForMining = Math.min(Math.max(material.vTier, 1), 6); - this.blockMaterial = material; - this.setHardness(1.0f * aMaterialTierForMining); - this.setResistance(6.0F); - this.setLightLevel(0.0F); - this.setHarvestLevel("pickaxe", aMaterialTierForMining); - this.setStepSound(soundTypeStone); - this.setBlockName("Ore" + Utils.sanitizeString(Utils.sanitizeString(material.getUnlocalizedName()))); - this.setBlockTextureName("stone"); - 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)); - } catch (Throwable t) { - t.printStackTrace(); - } - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } - - public Material getMaterialEx() { - return this.blockMaterial; - } - - @Override - public int getRenderType() { - try { - if (CustomOreBlockRenderer.INSTANCE != null) { - return CustomOreBlockRenderer.INSTANCE.mRenderID; - } - return super.getRenderType(); - } catch (NullPointerException n) { - return 0; - } - } - - @Override - public IIcon getIcon(IBlockAccess aIBlockAccess, int aX, int aY, int aZ, int ordinalSide) { - return Blocks.stone.getIcon(0, 0); - } - - @Override - public IIcon getIcon(int ordinalSide, int aMeta) { - return Blocks.stone.getIcon(0, 0); - } - - /** - * GT Texture Handler - */ - - // .08 compat - public static IIconContainer[] hiddenTextureArray; - - @Override - public ITexture[] getTexture(ForgeDirection side) { - return getTexture(null, side); - } - - @Override - public ITexture[] getTexture(Block block, ForgeDirection side) { - if (this.blockMaterial != null) { - GTPP_RenderedTexture aIconSet = new GTPP_RenderedTexture( - blockMaterial.getTextureSet().mTextures[OrePrefixes.ore.mTextureIndex], - this.blockMaterial.getRGBA()); - return new ITexture[] { new GTPP_CopiedBlockTexture(Blocks.stone, 0, 0), aIconSet }; - } - - if (hiddenTextureArray == null) { - 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 (IllegalArgumentException | IllegalAccessException e) { - hiddenTextureArray = new IIconContainer[6]; - } - } - return new ITexture[] { new GTPP_RenderedTexture(hiddenTextureArray[0], new short[] { 240, 240, 240, 0 }) }; - } - - @Override - public void registerBlockIcons(IIconRegister p_149651_1_) {} - - @Override - public void harvestBlock(World worldIn, EntityPlayer player, int x, int y, int z, int meta) { - if (EnchantmentHelper.getSilkTouchModifier(player)) { - shouldSilkTouch = true; - super.harvestBlock(worldIn, player, x, y, z, meta); - - if (shouldSilkTouch) { - shouldSilkTouch = false; - } - return; - } - - if (!(player instanceof FakePlayer)) { - shouldFortune = true; - } - super.harvestBlock(worldIn, player, x, y, z, meta); - if (shouldFortune) { - shouldFortune = false; - } - } - - @Override - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { - ArrayList drops = new ArrayList<>(); - if (shouldSilkTouch) { - drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); - } else { - switch (GT_Mod.gregtechproxy.oreDropSystem) { - case Item -> { - drops.add( - ItemUtils.getItemStackOfAmountFromOreDictNoBroken( - "oreRaw" + this.blockMaterial.getLocalizedName(), - 1)); - } - case FortuneItem -> { - // if shouldFortune and isNatural then get fortune drops - // if not shouldFortune or not isNatural then get normal drops - // if not shouldFortune and isNatural then get normal drops - // if shouldFortune and not isNatural then get normal drops - if (shouldFortune && fortune > 0) { - int aMinAmount = 1; - // Max applicable fortune - if (fortune > 3) fortune = 3; - long amount = (long) new Random().nextInt(fortune) + aMinAmount; - for (int i = 0; i < amount; i++) { - drops.add( - ItemUtils.getItemStackOfAmountFromOreDictNoBroken( - "oreRaw" + this.blockMaterial.getLocalizedName(), - 1)); - } - } else { - drops.add( - ItemUtils.getItemStackOfAmountFromOreDictNoBroken( - "oreRaw" + this.blockMaterial.getLocalizedName(), - 1)); - } - } - case UnifiedBlock -> { - // Unified ore - drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); - } - case PerDimBlock -> { - // Per Dimension ore - drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); - } - case Block -> { - // Regular ore - drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); - } - } - } - return drops; - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java b/gtpp/src/main/java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java deleted file mode 100644 index 0c353cfbdd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java +++ /dev/null @@ -1,100 +0,0 @@ -package gtPlusPlus.core.block.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import net.minecraft.block.BlockObsidian; -import net.minecraft.block.material.MapColor; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -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; - -public class BlockCompressedObsidian extends BlockObsidian { - - private final IIcon textureArray[] = new IIcon[11]; - - public BlockCompressedObsidian() { - this.setBlockName("blockCompressedObsidian"); - this.setHardness(50.0F); - this.setResistance(2000.0F); - this.setStepSound(soundTypePiston); - this.setCreativeTab(AddToCreativeTab.tabMachines); - GameRegistry.registerBlock(this, ItemBlockMeta.class, "blockCompressedObsidian"); - } - - @Override - public MapColor getMapColor(final int meta) { - if (meta < 5) { - return MapColor.obsidianColor; - } - if (meta > 5) { - return MapColor.goldColor; - } else { - return MapColor.sandColor; - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister iicon) { - this.textureArray[0] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian1"); - this.textureArray[1] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian2"); - this.textureArray[2] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian3"); - this.textureArray[3] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian4"); - this.textureArray[4] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian5"); - this.textureArray[5] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian_invert"); - this.textureArray[6] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone1"); - this.textureArray[7] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone2"); - this.textureArray[8] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone3"); - this.textureArray[9] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone4"); - this.textureArray[10] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone5"); - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int meta) { - return this.textureArray[meta]; - } - - @Override - public int damageDropped(final int damage) { - return damage; - } - - @Override - public void getSubBlocks(final Item item, final CreativeTabs tab, final List list) { - for (int i = 0; i < 11; i++) { - list.add(new ItemStack(item, 1, i)); - } - } - - @Override - public Item getItemDropped(final int meta, final Random rand, final int fortune) { - return Item.getItemFromBlock(this); - } - - @Override - public ArrayList getDrops(final World world, final int x, final int y, final int z, final int metadata, - final int fortune) { - int m = metadata; - if (m == 5) { - m = 1; - } - return super.getDrops(world, x, y, z, m, fortune); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/general/BlockSuperLight.java b/gtpp/src/main/java/gtPlusPlus/core/block/general/BlockSuperLight.java deleted file mode 100644 index dc6c92f065..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/general/BlockSuperLight.java +++ /dev/null @@ -1,197 +0,0 @@ -package gtPlusPlus.core.block.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAir; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -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.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.minecraft.BlockPos; -import gtPlusPlus.core.block.ModBlocks; - -public class BlockSuperLight extends BlockContainer { - - @SideOnly(Side.CLIENT) - private IIcon textureFront; - - public BlockSuperLight() { - super(Material.circuits); - this.setBlockName("blockSuperLight"); - this.setCreativeTab(CreativeTabs.tabRedstone); - GameRegistry.registerBlock(this, "blockSuperLight"); - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int meta) { - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "SwirlBigBlue"); - } - - /** - * Returns a new instance of a block's tile entity class. Called on placing the block. - */ - @Override - public TileEntity createNewTileEntity(World aWorld, int p_149915_2_) { - return new TileEntitySuperLight(); - } - - public static class TileEntitySuperLight extends TileEntity { - - private long mCreated; - - private long mLastUpdateTick = 0; - - private int[][][][] aLitBlocks = new int[50][10][50][1]; - - private boolean mPowered = false; - - public TileEntitySuperLight() { - mCreated = System.currentTimeMillis(); - Logger.INFO("Created Super-Lamp"); - } - - @Override - public void readFromNBT(NBTTagCompound aNBT) { - super.readFromNBT(aNBT); - mCreated = aNBT.getLong("mCreated"); - mPowered = aNBT.getBoolean("mPowered"); - NBTTagCompound aLightingData = aNBT.getCompoundTag("lighting"); - for (int x = 0; x < 50; x++) { - for (int y = 0; y < 10; y++) { - for (int z = 0; z < 50; z++) { - int aData = aLightingData.getInteger("[" + x + "][" + y + "][" + z + "]"); - aLitBlocks[x][y][z][0] = aData; - } - } - } - } - - @Override - public void writeToNBT(NBTTagCompound aNBT) { - super.writeToNBT(aNBT); - aNBT.setLong("mCreated", mCreated); - aNBT.setBoolean("mPowered", mPowered); - NBTTagCompound aLightingData = new NBTTagCompound(); - for (int x = 0; x < 50; x++) { - for (int y = 0; y < 10; y++) { - for (int z = 0; z < 50; z++) { - int aFlag = aLitBlocks[x][y][z][0]; - aLightingData.setInteger("[" + x + "][" + y + "][" + z + "]", aFlag); - } - } - } - aNBT.setTag("lighting", aLightingData); - } - - @Override - public void updateEntity() { - super.updateEntity(); - - if (this.worldObj.isRemote) { - return; - } - - try { - if (mLastUpdateTick == 0 || (System.currentTimeMillis() - mLastUpdateTick) >= 30000) { - boolean powered = (this.worldObj - .isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord)); - boolean aLastState = mPowered; - // Logger.INFO("Powered: "+powered); - mPowered = powered; - if (mPowered != aLastState) { - updateLighting(powered); - } - } - } catch (Throwable ignored) {} - } - - @Override - public void markDirty() { - super.markDirty(); - } - - @Override - public boolean canUpdate() { - return super.canUpdate(); - } - - public void updateLighting(boolean enable) { - - mLastUpdateTick = System.currentTimeMillis(); - - aLitBlocks = new int[50][10][50][1]; - int aLitCounter = 0; - AutoMap aBlocksToUpdate = new AutoMap<>(); - Logger.INFO("Trying to relight area."); - - BlockPos aStartIterationPoint = new BlockPos( - this.xCoord - 24, - this.yCoord - 4, - this.zCoord - 24, - this.worldObj); - for (int x = 0; x < 50; x++) { - for (int y = 0; y < 10; y++) { - for (int z = 0; z < 50; z++) { - int xOff = aStartIterationPoint.xPos + x; - int yOff = aStartIterationPoint.yPos + y; - int zOff = aStartIterationPoint.zPos + z; - Block aBlockGet = this.worldObj.getBlock(xOff, yOff, zOff); - if (aBlockGet != null) { - if (aBlockGet instanceof BlockAir) { - - int aLight = aBlockGet.getLightValue(); - - // Don't Need to relight anything. - if ((enable && aLight > 0) || (!enable && aLight == 0)) { - continue; - } - // Turning Lights on - else if (enable && aLight == 0) { - aBlocksToUpdate.put(new BlockPos(xOff, yOff, zOff, this.worldObj)); - this.worldObj - .setBlock(xOff, yOff, zOff, ModBlocks.MatterFabricatorEffectBlock, 0, 3); - aLitCounter++; - } - // Turning Lights off - else if (!enable && aLight > 0) { - aBlocksToUpdate.put(new BlockPos(xOff, yOff, zOff, this.worldObj)); - if (aBlockGet instanceof LightGlass) { - Logger.INFO("Dimmed air."); - this.worldObj.setBlock(xOff, yOff, zOff, Blocks.air, 0, 3); - } - } - aLitBlocks[x][y][z][0] = enable ? 15 : 0; - } else { - aLitBlocks[x][y][z][0] = -1; - } - } else { - aLitBlocks[x][y][z][0] = -1; - } - } - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/general/FluidTankInfinite.java b/gtpp/src/main/java/gtPlusPlus/core/block/general/FluidTankInfinite.java deleted file mode 100644 index 41a581394b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/general/FluidTankInfinite.java +++ /dev/null @@ -1,141 +0,0 @@ -package gtPlusPlus.core.block.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -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.Item; -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 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.tileentities.general.TileEntityInfiniteFluid; -import gtPlusPlus.core.util.minecraft.PlayerUtils; - -public class FluidTankInfinite extends BlockContainer { - - @SideOnly(Side.CLIENT) - private IIcon textureTop; - - @SideOnly(Side.CLIENT) - private IIcon textureBottom; - - @SideOnly(Side.CLIENT) - private IIcon textureFront; - - public FluidTankInfinite() { - super(Material.iron); - this.setBlockName("blockInfiniteFluidTank"); - this.setCreativeTab(AddToCreativeTab.tabMachines); - GameRegistry.registerBlock(this, "blockInfiniteFluidTank"); - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int meta) { - return ordinalSide == 1 ? this.textureTop - : (ordinalSide == 0 ? this.textureBottom - : ((ordinalSide != 2) && (ordinalSide != 4) ? this.blockIcon : this.textureFront)); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "Generic_Creative_Texture"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "Generic_Creative_Texture"); - this.textureBottom = p_149651_1_ - .registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "Generic_Creative_Texture"); - this.textureFront = p_149651_1_ - .registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "Generic_Creative_Texture"); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, - final int side, final float lx, final float ly, final float lz) { - if (world.isRemote) { - return true; - } else { - TileEntityInfiniteFluid tank = (TileEntityInfiniteFluid) world.getTileEntity(x, y, z); - if (tank != null) { - Item handItem; - try { - handItem = player.getHeldItem() - .getItem(); - } catch (Throwable t) { - handItem = null; - } - if (handItem != null - && (handItem instanceof IFluidContainerItem || handItem instanceof ItemFluidContainer - || FluidContainerRegistry.isFilledContainer(player.getHeldItem()))) { - if (tank.tank.getFluid() == null) { - try { - if (!FluidContainerRegistry.isFilledContainer(player.getHeldItem())) { - ItemStack handItemStack = player.getHeldItem(); - IFluidContainerItem container = (IFluidContainerItem) handItem; - FluidStack containerFluid = container.getFluid(handItemStack); - container.drain(handItemStack, container.getFluid(handItemStack).amount, true); - tank.tank.setFluid(containerFluid); - } else { - ItemStack handItemStack = player.getHeldItem(); - FluidContainerRegistry.drainFluidContainer(handItemStack); - FluidStack containerFluid = FluidContainerRegistry.getFluidForFilledItem(handItemStack); - ItemStack emptyContainer = FluidContainerRegistry.drainFluidContainer(handItemStack); - player.setItemInUse(emptyContainer, 0); - - tank.tank.setFluid(containerFluid); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - } - if (tank.tank.getFluid() != null) { - PlayerUtils.messagePlayer( - player, - "This tank contains " + tank.tank.getFluidAmount() - + "L of " - + tank.tank.getFluid() - .getLocalizedName()); - } - } - } - return true; - } - - @Override - public int getRenderBlockPass() { - return 1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public TileEntity createNewTileEntity(final World world, final int p_149915_2_) { - return new TileEntityInfiniteFluid(); - } - - @Override - public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/general/HellFire.java b/gtpp/src/main/java/gtPlusPlus/core/block/general/HellFire.java deleted file mode 100644 index 4e8d94328d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/general/HellFire.java +++ /dev/null @@ -1,535 +0,0 @@ -package gtPlusPlus.core.block.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; -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 java.util.IdentityHashMap; -import java.util.Map.Entry; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFire; -import net.minecraft.block.material.MapColor; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.init.Blocks; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import com.google.common.collect.Maps; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.objects.XSTR; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.math.MathUtils; - -public class HellFire extends BlockFire { - - private final int[] field_149849_a = new int[Short.MAX_VALUE]; - - private final int[] field_149848_b = new int[Short.MAX_VALUE]; - - @SideOnly(Side.CLIENT) - private IIcon[] IIconArray; - - public HellFire() { - this.setTickRandomly(true); - this.setLightLevel(1F); - this.setLightOpacity(0); - // this.setBlockTextureName(GTPlusPlus.ID + "hellfire/blockHellFire"); - this.setBlockName("blockHellFire"); - this.setCreativeTab(AddToCreativeTab.tabBlock); - GameRegistry.registerBlock(this, "blockHellFire"); - this.enableBrutalFire(); - } - - private void enableBrutalFire() { - for (final Object o : Block.blockRegistry.getKeys()) { - - try { - - final String name = (String) o; - final Block b = Block.getBlockFromName(name); - if (b != Blocks.air) { - final int spread = Blocks.fire.getEncouragement(b); - final int flamm = Blocks.fire.getFlammability(b); - if (flamm > 0 && spread > 0) { - this.setFireInfo(b, spread * 4, flamm * 4); - } - } - - } catch (Throwable t) { - t.printStackTrace(); - } - } - - // Special Case madness - this.setFireInfo(Blocks.brown_mushroom_block, 20, 100); - this.setFireInfo(Blocks.red_mushroom_block, 20, 100); - this.setFireInfo(Blocks.grass, 20, 100); - this.setFireInfo(Blocks.mycelium, 20, 100); - } - - /** - * How many world ticks before ticking - */ - @Override - public int tickRate(final World world) { - return 5; - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(final World world, final int x, final int y, final int z, Random random) { - - random = new XSTR(); - - if (world.getGameRules() - .getGameRuleBooleanValue("doFireTick")) { - final boolean flag = world.getBlock(x, y - 1, z) - .isFireSource(world, x, y - 1, z, UP); - - if (!this.canPlaceBlockAt(world, x, y, z)) { - world.setBlockToAir(x, y, z); - } - - if (!flag && world.isRaining() - && (world.canLightningStrikeAt(x, y, z) || world.canLightningStrikeAt(x - 1, y, z) - || world.canLightningStrikeAt(x + 1, y, z) - || world.canLightningStrikeAt(x, y, z - 1) - || world.canLightningStrikeAt(x, y, z + 1))) { - - if (MathUtils.randInt(0, 100) >= 90) { - world.setBlockToAir(x, y, z); - } - } else { - final int blockMeta = world.getBlockMetadata(x, y, z); - - if (blockMeta < 15) { - world.setBlockMetadataWithNotify(x, y, z, blockMeta + (random.nextInt(3) / 2), 4); - } - - world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world) + random.nextInt(10)); - - if (!flag && !this.canNeighborBurn(world, x, y, z)) { - if (!World.doesBlockHaveSolidTopSurface(world, x, y - 1, z) || (blockMeta > 3)) { - world.setBlockToAir(x, y, z); - } - } else if (!flag && !this.canCatchFire(world, x, y - 1, z, UP) - && (blockMeta == 15) - && (random.nextInt(4) == 0)) { - world.setBlockToAir(x, y, z); - } else { - final boolean flag1 = world.isBlockHighHumidity(x, y, z); - byte b0 = 0; - - if (flag1) { - b0 = -50; - } - - this.tryCatchFire(world, x + 1, y, z, 300 + b0, random, blockMeta, WEST); - this.tryCatchFire(world, x - 1, y, z, 300 + b0, random, blockMeta, EAST); - this.tryCatchFire(world, x, y - 1, z, 250 + b0, random, blockMeta, UP); - this.tryCatchFire(world, x, y + 1, z, 250 + b0, random, blockMeta, DOWN); - this.tryCatchFire(world, x, y, z - 1, 300 + b0, random, blockMeta, SOUTH); - this.tryCatchFire(world, x, y, z + 1, 300 + b0, random, blockMeta, NORTH); - - for (int i1 = x - 1; i1 <= (x + 1); ++i1) { - for (int j1 = z - 1; j1 <= (z + 1); ++j1) { - for (int k1 = y - 1; k1 <= (y + 4); ++k1) { - if ((i1 != x) || (k1 != y) || (j1 != z)) { - int l1 = 100; - - if (k1 > (y + 1)) { - l1 += (k1 - (y + 1)) * 100; - } - - final int neighbourFireChance = this - .getChanceOfNeighborsEncouragingFire(world, i1, k1, j1); - - if (neighbourFireChance > 0) { - int j2 = (neighbourFireChance + 40 - + (world.difficultySetting.getDifficultyId() * 14)) / (blockMeta + 30); - - if (flag1) { - j2 /= 2; - } - - if ((j2 > 0) && (random.nextInt(l1) <= j2) - && (!world.isRaining() || !world.canLightningStrikeAt(i1, k1, j1)) - && !world.canLightningStrikeAt(i1 - 1, k1, z) - && !world.canLightningStrikeAt(i1 + 1, k1, j1) - && !world.canLightningStrikeAt(i1, k1, j1 - 1) - && !world.canLightningStrikeAt(i1, k1, j1 + 1)) { - int k2 = blockMeta + (random.nextInt(5) / 4); - - if (k2 > 15) { - k2 = 15; - } - - world.setBlock(i1, k1, j1, this, k2, 3); - } - } - } - } - } - } - } - } - } - } - - private void tryCatchFire(final World world, final int p_149841_2_, final int p_149841_3_, final int p_149841_4_, - final int p_149841_5_, final Random p_149841_6_, final int p_149841_7_, final ForgeDirection face) { - final int j1 = world.getBlock(p_149841_2_, p_149841_3_, p_149841_4_) - .getFlammability(world, p_149841_2_, p_149841_3_, p_149841_4_, face); - - if (p_149841_6_.nextInt(p_149841_5_) < j1) { - final boolean flag = world.getBlock(p_149841_2_, p_149841_3_, p_149841_4_) == Blocks.tnt; - - if ((p_149841_6_.nextInt(p_149841_7_ + 10) < 5) - && !world.canLightningStrikeAt(p_149841_2_, p_149841_3_, p_149841_4_)) { - int k1 = p_149841_7_ + (p_149841_6_.nextInt(5) / 4); - - if (k1 > 15) { - k1 = 15; - } - - world.setBlock(p_149841_2_, p_149841_3_, p_149841_4_, this, k1, 3); - } else { - world.setBlockToAir(p_149841_2_, p_149841_3_, p_149841_4_); - } - - if (flag) { - Blocks.tnt.onBlockDestroyedByPlayer(world, p_149841_2_, p_149841_3_, p_149841_4_, 1); - } - } - } - - /** - * Returns true if at least one block next to this one can burn. - */ - private boolean canNeighborBurn(final World world, final int x, final int y, final int z) { - return this.canCatchFire(world, x + 1, y, z, WEST) || this.canCatchFire(world, x - 1, y, z, EAST) - || this.canCatchFire(world, x, y - 1, z, UP) - || this.canCatchFire(world, x, y + 1, z, DOWN) - || this.canCatchFire(world, x, y, z - 1, SOUTH) - || this.canCatchFire(world, x, y, z + 1, NORTH); - } - - /** - * Gets the highest chance of a neighbor block encouraging this block to catch fire - */ - private int getChanceOfNeighborsEncouragingFire(final World world, final int x, final int y, final int z) { - final byte b0 = 0; - - if (!world.isAirBlock(x, y, z)) { - return 0; - } else { - int l = b0; - l = this.getChanceToEncourageFire(world, x + 1, y, z, l, WEST); - l = this.getChanceToEncourageFire(world, x - 1, y, z, l, EAST); - l = this.getChanceToEncourageFire(world, x, y - 1, z, l, UP); - l = this.getChanceToEncourageFire(world, x, y + 1, z, l, DOWN); - l = this.getChanceToEncourageFire(world, x, y, z - 1, l, SOUTH); - l = this.getChanceToEncourageFire(world, x, y, z + 1, l, NORTH); - return l; - } - } - - /** - * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z - */ - @Override - public boolean canPlaceBlockAt(final World worldObj, final int x, final int y, final int z) { - return World.doesBlockHaveSolidTopSurface(worldObj, x, y - 1, z) || this.canNeighborBurn(worldObj, x, y, z); - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor Block - */ - @Override - public void onNeighborBlockChange(final World worldObj, final int x, final int y, final int z, - final Block blockObj) { - if (!World.doesBlockHaveSolidTopSurface(worldObj, x, y - 1, z) && !this.canNeighborBurn(worldObj, x, y, z)) { - worldObj.setBlockToAir(x, y, z); - } - } - - /** - * Called whenever the block is added into the world. Args: world, x, y, z - */ - @Override - public void onBlockAdded(final World world, final int x, final int y, final int z) { - if ((world.provider.dimensionId > 0) || !Blocks.portal.func_150000_e(world, x, y, z)) { - if (!World.doesBlockHaveSolidTopSurface(world, x, y - 1, z) && !this.canNeighborBurn(world, x, y, z)) { - world.setBlockToAir(x, y, z); - } else { - world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world) + world.rand.nextInt(10)); - } - } - } - - // Burn - @Override - public void onEntityWalking(final World world, final int i, final int j, final int k, final Entity entity) { - entity.setFire(10); - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } - - // Burn - @Override - public void onEntityCollidedWithBlock(final World world, final int i, final int j, final int k, - final Entity entity) { - entity.setFire(10); - } - - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(final World world, final int x, final int y, final int z, Random randomObj) { - - randomObj = new XSTR(); - - if (randomObj.nextInt(24) == 0) { - world.playSound( - x + 0.5F, - y + 0.5F, - z + 0.5F, - "fire.fire", - 1.0F + randomObj.nextFloat(), - (randomObj.nextFloat() * 0.7F) + 0.3F, - false); - } - - int l; - float f; - float f1; - float f2; - - if (!World.doesBlockHaveSolidTopSurface(world, x, y - 1, z) - && !Blocks.fire.canCatchFire(world, x, y - 1, z, UP)) { - if (Blocks.fire.canCatchFire(world, x - 1, y, z, EAST)) { - for (l = 0; l < 2; ++l) { - f = x + (randomObj.nextFloat() * 0.1F); - f1 = y + randomObj.nextFloat(); - f2 = z + randomObj.nextFloat(); - world.spawnParticle("witchMagic", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1 + 0.5F, f2, 0.0D, 0.0D, 0.0D); - } - } - - if (Blocks.fire.canCatchFire(world, x + 1, y, z, WEST)) { - for (l = 0; l < 2; ++l) { - f = (x + 1) - (randomObj.nextFloat() * 0.1F); - f1 = y + randomObj.nextFloat(); - f2 = z + randomObj.nextFloat(); - world.spawnParticle("witchMagic", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1 + 0.5F, f2, 0.0D, 0.0D, 0.0D); - } - } - - if (Blocks.fire.canCatchFire(world, x, y, z - 1, SOUTH)) { - for (l = 0; l < 2; ++l) { - f = x + randomObj.nextFloat(); - f1 = y + randomObj.nextFloat(); - f2 = z + (randomObj.nextFloat() * 0.1F); - world.spawnParticle("witchMagic", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1 + 0.5F, f2, 0.0D, 0.0D, 0.0D); - } - } - - if (Blocks.fire.canCatchFire(world, x, y, z + 1, NORTH)) { - for (l = 0; l < 2; ++l) { - f = x + randomObj.nextFloat(); - f1 = y + randomObj.nextFloat(); - f2 = (z + 1) - (randomObj.nextFloat() * 0.1F); - world.spawnParticle("witchMagic", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1 + 0.5F, f2, 0.0D, 0.0D, 0.0D); - } - } - - if (Blocks.fire.canCatchFire(world, x, y + 1, z, DOWN)) { - for (l = 0; l < 2; ++l) { - f = x + randomObj.nextFloat(); - f1 = (y + 1) - (randomObj.nextFloat() * 0.1F); - f2 = z + randomObj.nextFloat(); - world.spawnParticle("witchMagic", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1 + 0.5F, f2, 0.0D, 0.0D, 0.0D); - } - } - } else { - for (l = 0; l < 5; ++l) { - f = x + randomObj.nextFloat(); - f1 = y + (randomObj.nextFloat() * 0.5F) + 0.5F; - f2 = z + randomObj.nextFloat(); - world.spawnParticle("witchMagic", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1, f2, 0.0D, 0.0D, 0.0D); - world.spawnParticle("largesmoke", f, f1 + 0.5F, f2, 0.0D, 0.0D, 0.0D); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister IIconRegister) { - this.IIconArray = new IIcon[] { - IIconRegister.registerIcon(GTPlusPlus.ID + ":" + "hellfire/" + "blockHellFire" + "_layer_0"), - IIconRegister.registerIcon(GTPlusPlus.ID + ":" + "hellfire/" + "blockHellFire" + "_layer_1") }; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getFireIcon(final int p_149840_1_) { - return this.IIconArray[p_149840_1_]; - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int meta) { - return this.IIconArray[0]; - } - - @Override - public MapColor getMapColor(final int p_149728_1_) { - return MapColor.snowColor; - } - - /* - * ================================= Forge Start ====================================== - */ - private static class FireInfo { - - private int encouragement = 0; - private int flammibility = 0; - } - - private final IdentityHashMap blockInfo = Maps.newIdentityHashMap(); - - @Override - public void setFireInfo(final Block block, final int encouragement, final int flammibility) { - try { - if (block == Blocks.air) { - throw new IllegalArgumentException("Tried to set air on fire... This is bad."); - } - final int id = Block.getIdFromBlock(block); - if (id >= 4096 || id >= field_149849_a.length || id >= field_149848_b.length) { - return; - } - this.field_149849_a[id] = encouragement; - this.field_149848_b[id] = flammibility; - - final FireInfo info = this.getInfo(block, true); - info.encouragement = encouragement; - info.flammibility = flammibility; - } catch (Throwable t) {} - } - - private FireInfo getInfo(final Block block, final boolean garentee) { - FireInfo ret = this.blockInfo.get(block); - if ((ret == null) && garentee) { - ret = new FireInfo(); - this.blockInfo.put(block, ret); - } - return ret; - } - - @Override - public void rebuildFireInfo() { - for (int x = 0; x < 4096; x++) { - // If we care.. we could detect changes in here and make sure we - // keep them, however - // it's my thinking that anyone who hacks into the private variables - // should DIAF and we don't care about them. - this.field_149849_a[x] = 0; - this.field_149848_b[x] = 0; - } - - for (final Entry e : this.blockInfo.entrySet()) { - final int id = Block.getIdFromBlock(e.getKey()); - if ((id >= 0) && (id < 4096)) { - this.field_149849_a[id] = e.getValue().encouragement; - this.field_149848_b[id] = e.getValue().flammibility; - } - } - } - - @Override - public int getFlammability(final Block block) { - final int id = Block.getIdFromBlock(block); - return (id >= 0) && (id < 4096) ? this.field_149848_b[id] : 0; - } - - @Override - public int getEncouragement(final Block block) { - final int id = Block.getIdFromBlock(block); - return (id >= 0) && (id < 4096) ? this.field_149849_a[id] : 0; - } - - /** - * Side sensitive version that calls the block function. - * - * @param world The current world - * @param x X Position - * @param y Y Position - * @param z Z Position - * @param face The side the fire is coming from - * @return True if the face can catch fire. - */ - @Override - public boolean canCatchFire(final IBlockAccess world, final int x, final int y, final int z, - final ForgeDirection face) { - return world.getBlock(x, y, z) - .isFlammable(world, x, y, z, face); - } - - /** - * Side sensitive version that calls the block function. - * - * @param world The current world - * @param x X Position - * @param y Y Position - * @param z Z Position - * @param oldChance The previous maximum chance. - * @param face The side the fire is coming from - * @return The chance of the block catching fire, or oldChance if it is higher - */ - @Override - public int getChanceToEncourageFire(final IBlockAccess world, final int x, final int y, final int z, - final int oldChance, final ForgeDirection face) { - final int newChance = world.getBlock(x, y, z) - .getFireSpreadSpeed(world, x, y, z, face); - return (newChance > oldChance ? newChance : oldChance); - } - /* - * ================================= Forge Start ====================================== - */ -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/general/LightGlass.java b/gtpp/src/main/java/gtPlusPlus/core/block/general/LightGlass.java deleted file mode 100644 index b6facce45f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/general/LightGlass.java +++ /dev/null @@ -1,137 +0,0 @@ -package gtPlusPlus.core.block.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAir; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -import codechicken.nei.api.API; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.creative.AddToCreativeTab; - -/* - * public class LightGlass extends BlockBreakable { - */ -public class LightGlass extends BlockAir { - - private int state = 0; - private final int a = 255; - private int r = 255; - private int g = 0; - private int b = 0; - private int hex; - - public LightGlass(final boolean bool) { - super(); - this.setCreativeTab(AddToCreativeTab.tabBlock); - this.setBlockName("blockMFEffect"); - this.setLightLevel(12F); - setHardness(0.1F); - setBlockTextureName(GTPlusPlus.ID + ":" + "blockMFEffect"); - setStepSound(Block.soundTypeGlass); - GameRegistry.registerBlock(this, "blockMFEffect"); - - API.hideItem(new ItemStack(this)); - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(final Random rand) { - return 0; - } - - /** - * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha - */ - @Override - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() { - return 0; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() { - return false; - } - - /** - * Return true if a player with Silk Touch can harvest this block directly, and not its normal drops. - */ - @Override - protected boolean canSilkHarvest() { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister iIcon) { - this.blockIcon = iIcon.registerIcon(GTPlusPlus.ID + ":" + "blockMFEffect"); - } - - @Override - // http://stackoverflow.com/questions/31784658/how-can-i-loop-through-all-rgb-combinations-in-rainbow-order-in-java - public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4) { - if (this.state == 0) { - this.g++; - if (this.g == 255) { - this.state = 1; - } - } - if (this.state == 1) { - this.r--; - if (this.r == 0) { - this.state = 2; - } - } - if (this.state == 2) { - this.b++; - if (this.b == 255) { - this.state = 3; - } - } - if (this.state == 3) { - this.g--; - if (this.g == 0) { - this.state = 4; - } - } - if (this.state == 4) { - this.r++; - if (this.r == 255) { - this.state = 5; - } - } - if (this.state == 5) { - this.b--; - if (this.b == 0) { - this.state = 0; - } - } - this.hex = (this.a << 24) + (this.r << 16) + (this.g << 8) + (this.b); - return this.hex; - } - - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(final World world, final int posX, final int posY, final int posZ, - final Random random) { - // Utils.spawnFX(world, posX, posY, posZ, "smoke", "cloud"); - - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/general/MiningExplosives.java b/gtpp/src/main/java/gtPlusPlus/core/block/general/MiningExplosives.java deleted file mode 100644 index 7579907e9d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/general/MiningExplosives.java +++ /dev/null @@ -1,193 +0,0 @@ -package gtPlusPlus.core.block.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockTNT; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.init.Items; -import net.minecraft.util.IIcon; -import net.minecraft.world.Explosion; -import net.minecraft.world.World; - -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.entity.EntityPrimedMiningExplosive; - -public class MiningExplosives extends BlockTNT { - - @SideOnly(Side.CLIENT) - private IIcon textureTop; - - @SideOnly(Side.CLIENT) - private IIcon textureBottom; - - public MiningExplosives() { - this.setBlockName("blockMiningExplosives"); - GameRegistry.registerBlock(this, "blockMiningExplosives"); - this.setCreativeTab(AddToCreativeTab.tabMachines); - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int meta) { - return ordinalSide == 0 ? this.textureBottom : (ordinalSide == 1 ? this.textureTop : this.blockIcon); - } - - /** - * Called whenever the block is added into the world. Args: world, x, y, z - */ - @Override - public void onBlockAdded(final World world, final int x, final int y, final int z) { - super.onBlockAdded(world, x, y, z); - - if (world.isBlockIndirectlyGettingPowered(x, y, z)) { - this.onBlockDestroyedByPlayer(world, x, y, z, 1); - world.setBlockToAir(x, y, z); - } - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor Block - */ - @Override - public void onNeighborBlockChange(final World world, final int x, final int y, final int z, - final Block neighbourblock) { - if (world.isBlockIndirectlyGettingPowered(x, y, z)) { - this.onBlockDestroyedByPlayer(world, x, y, z, 1); - world.setBlockToAir(x, y, z); - } - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(final Random random) { - return 1; - } - - /** - * Called upon the block being destroyed by an explosion - */ - @Override - public void onBlockDestroyedByExplosion(final World world, final int x, final int y, final int z, - final Explosion bang) { - if (!world.isRemote) { - final EntityPrimedMiningExplosive EntityPrimedMiningExplosive = new EntityPrimedMiningExplosive( - world, - x + 0.5F, - y + 0.5F, - z + 0.5F, - bang.getExplosivePlacedBy()); - EntityPrimedMiningExplosive.fuse = world.rand.nextInt(EntityPrimedMiningExplosive.fuse / 4) - + (EntityPrimedMiningExplosive.fuse / 8); - world.spawnEntityInWorld(EntityPrimedMiningExplosive); - } - } - - /** - * Called right before the block is destroyed by a player. Args: world, x, y, z, metaData - */ - @Override - public void onBlockDestroyedByPlayer(final World world, final int x, final int y, final int z, final int meta) { - this.func_150114_a(world, x, y, z, meta, (EntityLivingBase) null); - } - - // TODO Spawns Primed TNT? - @Override - public void func_150114_a(final World world, final int p_150114_2_, final int p_150114_3_, final int p_150114_4_, - final int p_150114_5_, final EntityLivingBase entityLiving) { - if (!world.isRemote) { - if ((p_150114_5_ & 1) == 1) { - final EntityPrimedMiningExplosive EntityPrimedMiningExplosive = new EntityPrimedMiningExplosive( - world, - p_150114_2_ + 0.5F, - p_150114_3_ + 0.5F, - p_150114_4_ + 0.5F, - entityLiving); - world.spawnEntityInWorld(EntityPrimedMiningExplosive); - world.playSoundAtEntity(EntityPrimedMiningExplosive, "game.tnt.primed", 1.0F, 1.0F); - } - } - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, - final EntityPlayer clickingPlayer, final int p_149727_6_, final float p_149727_7_, final float p_149727_8_, - final float p_149727_9_) { - if ((clickingPlayer.getCurrentEquippedItem() != null) && (clickingPlayer.getCurrentEquippedItem() - .getItem() == Items.flint_and_steel)) { - this.func_150114_a(world, x, y, z, 1, clickingPlayer); - world.setBlockToAir(x, y, z); - clickingPlayer.getCurrentEquippedItem() - .damageItem(1, clickingPlayer); - return true; - } else { - return super.onBlockActivated( - world, - x, - y, - z, - clickingPlayer, - p_149727_6_, - p_149727_7_, - p_149727_8_, - p_149727_9_); - } - } - - /** - * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity - */ - @Override - public void onEntityCollidedWithBlock(final World world, final int x, final int y, final int z, - final Entity entityTriggering) { - if ((entityTriggering instanceof final EntityArrow entityarrow) && !world.isRemote) { - - if (entityarrow.isBurning()) { - this.func_150114_a( - world, - x, - y, - z, - 1, - entityarrow.shootingEntity instanceof EntityLivingBase - ? (EntityLivingBase) entityarrow.shootingEntity - : null); - world.setBlockToAir(x, y, z); - } - } - } - - /** - * Return whether this block can drop from an explosion. - */ - @Override - public boolean canDropFromExplosion(final Explosion bang) { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister iconRegister) { - this.blockIcon = iconRegister.registerIcon(GTPlusPlus.ID + ":" + "chrono/" + "MetalSheet2"); - this.textureTop = iconRegister.registerIcon(GTPlusPlus.ID + ":" + "chrono/" + "MetalFunnel"); - this.textureBottom = iconRegister.registerIcon(GTPlusPlus.ID + ":" + "chrono/" + "MetalPanel"); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java b/gtpp/src/main/java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java deleted file mode 100644 index 7e64f19bf3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java +++ /dev/null @@ -1,161 +0,0 @@ -package gtPlusPlus.core.block.general.antigrief; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -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.boss.EntityDragon; -import net.minecraft.entity.boss.EntityWither; -import net.minecraft.entity.boss.IBossDisplayData; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.world.Explosion; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -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.util.Utils; - -public class BlockWitherProof extends Block { - - public BlockWitherProof() { - super(Material.redstoneLight); - this.setBlockName(Utils.sanitizeString("blockBlackGate")); - this.setBlockTextureName(GTPlusPlus.ID + ":" + "blockFrameGt"); - this.setCreativeTab(AddToCreativeTab.tabBlock); - this.setHardness(-1F); - this.setResistance(5000.0F); - this.setHarvestLevel("pickaxe", 3); - this.setStepSound(soundTypeMetal); - GameRegistry.registerBlock(this, Utils.sanitizeString("blockBlackGate")); - } - - @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(GTPlusPlus.ID + ":" + "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) { - if ((entity == null) || !entity.isEntityAlive()) { - return false; - } - if ((entity instanceof EntityWither) || (entity instanceof EntityDragon) - || (entity instanceof IBossDisplayData)) { - return false; - } else { - return super.canEntityDestroy(world, x, y, z, entity); - } - } - - // 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 void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, - int p_149749_6_) { - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } - - @Override - public float getPlayerRelativeBlockHardness(EntityPlayer aPlayer, World p_149737_2_, int p_149737_3_, - int p_149737_4_, int p_149737_5_) { - if (aPlayer != null && aPlayer instanceof EntityPlayerMP) { - return 1f; - } - return -1f; - } - - @Override - public float getExplosionResistance(Entity p_149638_1_) { - return Float.MAX_VALUE; - } - - @Override - public void onBlockClicked(World p_149699_1_, int p_149699_2_, int p_149699_3_, int p_149699_4_, - EntityPlayer p_149699_5_) { - super.onBlockClicked(p_149699_1_, p_149699_2_, p_149699_3_, p_149699_4_, p_149699_5_); - } - - @Override - public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { - if ((entity == null) || !entity.isEntityAlive()) { - return; - } - if ((entity instanceof EntityWither) || (entity instanceof EntityDragon) - || (entity instanceof IBossDisplayData)) { - return; - } else { - super.onEntityCollidedWithBlock(world, x, y, z, entity); - } - } - - @Override - public void harvestBlock(World p_149636_1_, EntityPlayer p_149636_2_, int p_149636_3_, int p_149636_4_, - int p_149636_5_, int p_149636_6_) { - super.harvestBlock(p_149636_1_, p_149636_2_, p_149636_3_, p_149636_4_, p_149636_5_, p_149636_6_); - } - - @Override - public boolean canHarvestBlock(EntityPlayer player, int meta) { - if (player != null && player instanceof EntityPlayerMP) { - return true; - } - return super.canHarvestBlock(player, meta); - } - - @Override - public float getExplosionResistance(Entity par1Entity, World world, int x, int y, int z, double explosionX, - double explosionY, double explosionZ) { - return Float.MAX_VALUE; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java b/gtpp/src/main/java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java deleted file mode 100644 index 200f85d31d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java +++ /dev/null @@ -1,68 +0,0 @@ -package gtPlusPlus.core.block.general.fluids; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -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 net.minecraftforge.fluids.BlockFluidClassic; -import net.minecraftforge.fluids.Fluid; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.creative.AddToCreativeTab; - -public class BlockFluidSludge extends BlockFluidClassic { - - @SideOnly(Side.CLIENT) - protected IIcon stillIcon; - - @SideOnly(Side.CLIENT) - protected IIcon flowingIcon; - - public BlockFluidSludge(final Fluid fluid, final Material material) { - super(fluid, material); - this.setCreativeTab(AddToCreativeTab.tabMisc); - } - - @Override - public IIcon getIcon(final int ordinalSide, final int meta) { - return ((ordinalSide == 0) || (ordinalSide == 1)) ? this.stillIcon : this.flowingIcon; - } - - @SideOnly(Side.CLIENT) - @Override - public void registerBlockIcons(final IIconRegister register) { - this.stillIcon = register.registerIcon(GTPlusPlus.ID + ":fluids/fluid.jackdaniels"); - this.flowingIcon = register.registerIcon(GTPlusPlus.ID + ":fluids/fluid.jackdaniels"); - } - - @Override - public boolean canDisplace(final IBlockAccess world, final int x, final int y, final int z) { - if (world.getBlock(x, y, z) - .getMaterial() - .isLiquid()) { - return false; - } - return super.canDisplace(world, x, y, z); - } - - @Override - public boolean displaceIfPossible(final World world, final int x, final int y, final int z) { - if (world.getBlock(x, y, z) - .getMaterial() - .isLiquid()) { - return false; - } - return super.displaceIfPossible(world, x, y, z); - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/machine/CircuitProgrammer.java b/gtpp/src/main/java/gtPlusPlus/core/block/machine/CircuitProgrammer.java deleted file mode 100644 index f6cd34aec1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/machine/CircuitProgrammer.java +++ /dev/null @@ -1,153 +0,0 @@ -package gtPlusPlus.core.block.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.objects.minecraft.CubicObject; -import gtPlusPlus.core.block.base.BasicTileBlockWithTooltip; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.handler.GuiHandler; -import gtPlusPlus.core.tileentities.general.TileEntityCircuitProgrammer; -import gtPlusPlus.core.util.minecraft.PlayerUtils; - -public class CircuitProgrammer extends BasicTileBlockWithTooltip { - - /** - * Determines which tooltip is displayed within the itemblock. - */ - private final int mTooltipID = 4; - - @Override - public int getTooltipID() { - return this.mTooltipID; - } - - public CircuitProgrammer() { - super(Material.iron); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, - final int side, final float lx, final float ly, final float lz) { - if (world.isRemote) { - return true; - } else { - - boolean mDidScrewDriver = false; - // Check For Screwdriver - try { - final ItemStack mHandStack = PlayerUtils.getItemStackInPlayersHand(world, player.getDisplayName()); - final Item mHandItem = mHandStack.getItem(); - if (((mHandItem instanceof GT_MetaGenerated_Tool_01) - && ((mHandItem.getDamage(mHandStack) == 22) || (mHandItem.getDamage(mHandStack) == 150)))) { - final TileEntityCircuitProgrammer tile = (TileEntityCircuitProgrammer) world.getTileEntity(x, y, z); - if (tile != null) { - mDidScrewDriver = tile.onScrewdriverRightClick((byte) side, player, x, y, z); - } - } - } catch (final Throwable t) {} - - if (!mDidScrewDriver) { - final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntityCircuitProgrammer)) { - player.openGui(GTplusplus.instance, GuiHandler.GUI8, world, x, y, z); - return true; - } - } else { - return true; - } - } - return false; - } - - @Override - public int getRenderBlockPass() { - return 1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public TileEntity createNewTileEntity(final World world, final int p_149915_2_) { - return new TileEntityCircuitProgrammer(); - } - - @Override - public void onBlockAdded(final World world, final int x, final int y, final int z) { - super.onBlockAdded(world, x, y, z); - } - - @Override - public void onBlockPlacedBy(final World world, final int x, final int y, final int z, final EntityLivingBase entity, - final ItemStack stack) { - if (stack.hasDisplayName()) { - ((TileEntityCircuitProgrammer) world.getTileEntity(x, y, z)).setCustomName(stack.getDisplayName()); - } - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } - - @Override - public int getMetaCount() { - return 0; - } - - @Override - public String getUnlocalBlockName() { - return "blockCircuitProgrammer"; - } - - @Override - protected float initBlockHardness() { - return 5f; - } - - @Override - protected float initBlockResistance() { - return 1f; - } - - @Override - protected CreativeTabs initCreativeTab() { - return AddToCreativeTab.tabMachines; - } - - @Override - protected String getTileEntityName() { - return "Circuit Programmer"; - } - - @Override - public CubicObject[] getCustomTextureDirectoryObject() { - String[] aTexData = new String[] { GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_G", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_TECH_PANEL_B", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_I", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_I", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_I", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_I" }; - CubicObject[] aTextureData = new CubicObject[] { new CubicObject<>(aTexData) }; - return aTextureData; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/machine/DecayablesChest.java b/gtpp/src/main/java/gtPlusPlus/core/block/machine/DecayablesChest.java deleted file mode 100644 index c333e7a5ca..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/machine/DecayablesChest.java +++ /dev/null @@ -1,186 +0,0 @@ -package gtPlusPlus.core.block.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EnumCreatureType; -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.IBlockAccess; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.interfaces.ITileTooltip; -import gtPlusPlus.core.client.renderer.RenderDecayChest; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.handler.GuiHandler; -import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile; -import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest; -import gtPlusPlus.core.util.minecraft.InventoryUtils; - -public class DecayablesChest extends BlockContainer implements ITileTooltip { - - @SideOnly(Side.CLIENT) - private IIcon textureTop; - - @SideOnly(Side.CLIENT) - private IIcon textureBottom; - - @SideOnly(Side.CLIENT) - private IIcon textureFront; - - /** - * Determines which tooltip is displayed within the itemblock. - */ - private final int mTooltipID = 5; - - public final int field_149956_a = 0; - - @Override - public int getTooltipID() { - return this.mTooltipID; - } - - public DecayablesChest() { - super(Material.iron); - this.setBlockName("blockDecayablesChest"); - this.setCreativeTab(AddToCreativeTab.tabMachines); - this.setHardness(5f); - this.setResistance(1f); - GameRegistry.registerBlock(this, ItemBlockBasicTile.class, "blockDecayablesChest"); - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() { - return false; - } - - /** - * The type of render function that is called for this block - */ - @Override - @SideOnly(Side.CLIENT) - public int getRenderType() { - try { - if (RenderDecayChest.INSTANCE != null) { - return RenderDecayChest.INSTANCE.mRenderID; - } - return super.getRenderType(); - } catch (NullPointerException n) { - return 0; - } - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, - int p_149719_4_) { - if (p_149719_1_.getBlock(p_149719_2_, p_149719_3_, p_149719_4_ - 1) == this) { - this.setBlockBounds(0.0625F, 0.0F, 0.0F, 0.9375F, 0.875F, 0.9375F); - } else if (p_149719_1_.getBlock(p_149719_2_, p_149719_3_, p_149719_4_ + 1) == this) { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 1.0F); - } else if (p_149719_1_.getBlock(p_149719_2_ - 1, p_149719_3_, p_149719_4_) == this) { - this.setBlockBounds(0.0F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } else if (p_149719_1_.getBlock(p_149719_2_ + 1, p_149719_3_, p_149719_4_) == this) { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 1.0F, 0.875F, 0.9375F); - } else { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int meta) { - return ordinalSide == 1 ? this.textureTop : (ordinalSide == 0 ? this.textureBottom : this.textureFront); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "DecayablesChest_top"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "DecayablesChest_top"); - this.textureBottom = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "DecayablesChest_side"); - this.textureFront = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "DecayablesChest_bottom"); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, - final int side, final float lx, final float ly, final float lz) { - if (world.isRemote) { - return true; - } - - final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntityDecayablesChest)) { - player.openGui(GTplusplus.instance, GuiHandler.GUI13, world, x, y, z); - return true; - } - return false; - } - - @Override - public int getRenderBlockPass() { - return 1; - } - - @Override - public TileEntity createNewTileEntity(final World world, final int p_149915_2_) { - return new TileEntityDecayablesChest(); - } - - @Override - public void onBlockAdded(final World world, final int x, final int y, final int z) { - super.onBlockAdded(world, x, y, z); - } - - @Override - public void breakBlock(final World world, final int x, final int y, final int z, final Block block, - final int number) { - InventoryUtils.dropInventoryItems(world, x, y, z, block); - super.breakBlock(world, x, y, z, block, number); - } - - @Override - public void onBlockPlacedBy(final World world, final int x, final int y, final int z, final EntityLivingBase entity, - final ItemStack stack) { - if (stack.hasDisplayName()) { - ((TileEntityDecayablesChest) world.getTileEntity(x, y, z)).setCustomName(stack.getDisplayName()); - } - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/machine/FishTrap.java b/gtpp/src/main/java/gtPlusPlus/core/block/machine/FishTrap.java deleted file mode 100644 index 0ec1ac629a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/machine/FishTrap.java +++ /dev/null @@ -1,136 +0,0 @@ -package gtPlusPlus.core.block.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EnumCreatureType; -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.IBlockAccess; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -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.tileentities.general.TileEntityFishTrap; -import gtPlusPlus.core.util.minecraft.InventoryUtils; - -public class FishTrap extends BlockContainer implements ITileTooltip { - - @SideOnly(Side.CLIENT) - private IIcon textureTop; - - @SideOnly(Side.CLIENT) - private IIcon textureBottom; - - @SideOnly(Side.CLIENT) - private IIcon textureFront; - - /** - * Determines which tooltip is displayed within the itemblock. - */ - private final int mTooltipID = 0; - - @Override - public int getTooltipID() { - return this.mTooltipID; - } - - public FishTrap() { - super(Material.iron); - this.setBlockName("blockFishTrap"); - this.setHardness(5f); - this.setResistance(1f); - this.setCreativeTab(AddToCreativeTab.tabMachines); - GameRegistry.registerBlock(this, ItemBlockBasicTile.class, "blockFishTrap"); - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int meta) { - return ordinalSide == 1 ? this.textureTop - : (ordinalSide == 0 ? this.textureBottom - : ((ordinalSide != 2) && (ordinalSide != 4) ? this.blockIcon : this.textureFront)); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "fishtrap"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "fishtrap"); - this.textureBottom = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "fishtrap"); - this.textureFront = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "fishtrap"); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, - final int side, final float lx, final float ly, final float lz) { - if (world.isRemote) { - return true; - } - - final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntityFishTrap)) { - player.openGui(GTplusplus.instance, 5, world, x, y, z); - return true; - } - return false; - } - - @Override - public int getRenderBlockPass() { - return 1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public TileEntity createNewTileEntity(final World world, final int p_149915_2_) { - return new TileEntityFishTrap(); - } - - @Override - public void onBlockAdded(final World world, final int x, final int y, final int z) { - super.onBlockAdded(world, x, y, z); - } - - @Override - public void breakBlock(final World world, final int x, final int y, final int z, final Block block, - final int number) { - InventoryUtils.dropInventoryItems(world, x, y, z, block); - super.breakBlock(world, x, y, z, block, number); - } - - @Override - public void onBlockPlacedBy(final World world, final int x, final int y, final int z, final EntityLivingBase entity, - final ItemStack stack) { - if (stack.hasDisplayName()) { - ((TileEntityFishTrap) world.getTileEntity(x, y, z)).setCustomName(stack.getDisplayName()); - } - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_PestKiller.java b/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_PestKiller.java deleted file mode 100644 index bf98a22500..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_PestKiller.java +++ /dev/null @@ -1,137 +0,0 @@ -package gtPlusPlus.core.block.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EnumCreatureType; -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.IBlockAccess; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -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.handler.GuiHandler; -import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile; -import gtPlusPlus.core.tileentities.machines.TileEntityPestKiller; -import gtPlusPlus.core.util.minecraft.InventoryUtils; - -public class Machine_PestKiller extends BlockContainer implements ITileTooltip { - - @SideOnly(Side.CLIENT) - private IIcon textureTop; - - @SideOnly(Side.CLIENT) - private IIcon textureBottom; - - @SideOnly(Side.CLIENT) - private IIcon textureFront; - - /** - * Determines which tooltip is displayed within the itemblock. - */ - private final int mTooltipID = 6; - - @Override - public int getTooltipID() { - return this.mTooltipID; - } - - public Machine_PestKiller() { - super(Material.wood); - this.setBlockName("blockPestKiller"); - this.setHardness(5f); - this.setResistance(1f); - this.setCreativeTab(AddToCreativeTab.tabMachines); - GameRegistry.registerBlock(this, ItemBlockBasicTile.class, "blockPestKiller"); - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int meta) { - return ordinalSide == 1 ? this.textureTop : (ordinalSide == 0 ? this.textureBottom : this.textureFront); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_ - .registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "MACHINE_CASING_FARM_MANAGER_STRUCTURAL"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "MACHINE_PESTKILLER_TOP"); - this.textureBottom = p_149651_1_.registerIcon("planks_acacia"); - this.textureFront = p_149651_1_ - .registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "MACHINE_CASING_FARM_MANAGER_STRUCTURAL"); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, - final int side, final float lx, final float ly, final float lz) { - if (world.isRemote) { - return true; - } - - final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntityPestKiller)) { - player.openGui(GTplusplus.instance, GuiHandler.GUI15, world, x, y, z); - return true; - } - return false; - } - - @Override - public int getRenderBlockPass() { - return 0; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public TileEntity createNewTileEntity(final World world, final int p_149915_2_) { - return new TileEntityPestKiller(); - } - - @Override - public void onBlockAdded(final World world, final int x, final int y, final int z) { - super.onBlockAdded(world, x, y, z); - } - - @Override - public void breakBlock(final World world, final int x, final int y, final int z, final Block block, - final int number) { - InventoryUtils.dropInventoryItems(world, x, y, z, block); - super.breakBlock(world, x, y, z, block, number); - } - - @Override - public void onBlockPlacedBy(final World world, final int x, final int y, final int z, final EntityLivingBase entity, - final ItemStack stack) { - if (stack.hasDisplayName()) { - ((TileEntityPestKiller) world.getTileEntity(x, y, z)).setCustomName(stack.getDisplayName()); - } - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_PooCollector.java b/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_PooCollector.java deleted file mode 100644 index 4f1b679fcf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_PooCollector.java +++ /dev/null @@ -1,177 +0,0 @@ -package gtPlusPlus.core.block.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -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.tileentities.machines.TileEntityAdvPooCollector; -import gtPlusPlus.core.tileentities.machines.TileEntityBaseFluidCollector; -import gtPlusPlus.core.tileentities.machines.TileEntityPooCollector; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; - -public class Machine_PooCollector extends BlockContainer { - - @SideOnly(Side.CLIENT) - private IIcon textureTop; - - @SideOnly(Side.CLIENT) - private IIcon textureTop2; - - @SideOnly(Side.CLIENT) - private IIcon textureSide; - - @SideOnly(Side.CLIENT) - private IIcon textureSide2; - - public Machine_PooCollector() { - super(Material.iron); - this.setHardness(5f); - this.setResistance(1f); - this.setBlockName("blockPooCollector"); - this.setCreativeTab(AddToCreativeTab.tabMachines); - GameRegistry.registerBlock(this, ItemBlockMeta.class, "blockPooCollector"); - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int aMeta) { - if (aMeta <= 7) { - blockIcon = textureSide; - return ordinalSide <= 1 ? this.textureTop : this.textureSide; - } else { - blockIcon = textureSide2; - return ordinalSide <= 1 ? this.textureTop2 : this.textureSide2; - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "sewer_top"); - this.textureTop2 = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "sewer_adv_top"); - this.textureSide = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "sewer_sides"); - this.textureSide2 = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "sewer_adv_sides"); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, - final int side, final float lx, final float ly, final float lz) { - if (world.isRemote) { - return true; - } else { - TileEntityBaseFluidCollector tank = (TileEntityBaseFluidCollector) world.getTileEntity(x, y, z); - if (tank != null) { - Item handItem; - try { - handItem = player.getHeldItem() - .getItem(); - } catch (Throwable t) { - handItem = null; - } - - // Fluid container code - /* - * if (handItem != null && (handItem instanceof IFluidContainerItem || handItem instanceof - * ItemFluidContainer || FluidContainerRegistry.isFilledContainer(player.getHeldItem()))) { if - * (tank.tank.getFluid() == null) { try { if - * (!FluidContainerRegistry.isFilledContainer(player.getHeldItem())) { ItemStack handItemStack = - * player.getHeldItem(); IFluidContainerItem container = (IFluidContainerItem) handItem; FluidStack - * containerFluid = container.getFluid(handItemStack); container.drain(handItemStack, - * container.getFluid(handItemStack).amount, true); tank.tank.setFluid(containerFluid); } else { - * ItemStack handItemStack = player.getHeldItem(); - * FluidContainerRegistry.drainFluidContainer(handItemStack); FluidStack containerFluid = - * FluidContainerRegistry.getFluidForFilledItem(handItemStack); ItemStack emptyContainer = - * FluidContainerRegistry.drainFluidContainer(handItemStack); player.setItemInUse(emptyContainer, 0); - * tank.tank.setFluid(containerFluid); } } catch (Throwable t) { t.printStackTrace(); } } } - */ - - if (!tank.mInventory.isEmpty()) { - PlayerUtils.messagePlayer(player, "Inventory contains:"); - PlayerUtils.messagePlayer(player, ItemUtils.getArrayStackNames(tank.mInventory.getRealInventory())); - } else { - PlayerUtils.messagePlayer(player, "No solids collected yet."); - } - if (tank.tank.getFluid() != null) { - PlayerUtils.messagePlayer( - player, - "Tank contains " + tank.tank.getFluidAmount() - + "L of " - + tank.tank.getFluid() - .getLocalizedName()); - } - } - } - return true; - } - - @Override - public int getRenderBlockPass() { - return 0; - } - - @Override - public boolean isOpaqueCube() { - return super.isOpaqueCube(); - } - - @Override - public TileEntity createNewTileEntity(final World world, final int aMeta) { - return aMeta <= 7 ? new TileEntityPooCollector() : new TileEntityAdvPooCollector(); - } - - @Override - public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); - } - - @Override - public int getBlockColor() { - // TODO Auto-generated method stub - return 0; - } - - @Override - public int damageDropped(final int damage) { - return damage; - } - - @Override - public Item getItemDropped(final int meta, final Random rand, final int fortune) { - return Item.getItemFromBlock(this); - } - - @Override - public int getRenderColor(int aMeta) { - return super.getRenderColor(aMeta); - } - - @Override - public void getSubBlocks(Item aItem, CreativeTabs aTab, List aList) { - aList.add(new ItemStack(aItem, 1, 0)); - aList.add(new ItemStack(aItem, 1, 8)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java b/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java deleted file mode 100644 index 4f0d0d7d60..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java +++ /dev/null @@ -1,160 +0,0 @@ -package gtPlusPlus.core.block.machine; - -import static gregtech.api.enums.Mods.BuildCraftCore; -import static gregtech.api.enums.Mods.EnderIO; -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EnumCreatureType; -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.IBlockAccess; -import net.minecraft.world.World; - -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 gregtech.api.enums.Mods; -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.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 = Mods.Names.ENDER_I_O) -public class Machine_ProjectTable extends BlockContainer implements ITileTooltip { - - @SideOnly(Side.CLIENT) - private IIcon textureTop; - - @SideOnly(Side.CLIENT) - private IIcon textureBottom; - - @SideOnly(Side.CLIENT) - private IIcon textureFront; - - /** - * Determines which tooltip is displayed within the itemblock. - */ - private final int mTooltipID = 3; - - @Override - public int getTooltipID() { - return this.mTooltipID; - } - - public Machine_ProjectTable() { - super(Material.iron); - this.setBlockName("blockProjectBench"); - this.setCreativeTab(AddToCreativeTab.tabMachines); - GameRegistry.registerBlock(this, ItemBlockBasicTile.class, "blockProjectBench"); - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final int ordinalSide, final int meta) { - return ordinalSide == 1 ? this.textureTop - : (ordinalSide == 0 ? this.textureBottom - : ((ordinalSide != 2) && (ordinalSide != 4) ? this.blockIcon : this.textureFront)); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "machine_top"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "cover_crafting"); - this.textureBottom = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "machine_top"); - this.textureFront = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "machine_top"); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, - final int side, final float lx, final float ly, final float lz) { - - ItemStack heldItem = null; - if (world.isRemote) { - heldItem = PlayerUtils.getItemStackInPlayersHand(); - } - - boolean holdingWrench = false; - - if (heldItem != null) { - holdingWrench = isWrench(heldItem); - } - - if (world.isRemote) { - return true; - } - - final TileEntity te = world.getTileEntity(x, y, z); - if (te instanceof TileEntityProjectTable) { - if (!holdingWrench) { - player.openGui(GTplusplus.instance, 0, world, x, y, z); - return true; - } - Logger.INFO("Holding a Wrench, doing wrench things instead."); - } - return false; - } - - @Override - public TileEntity createNewTileEntity(final World world, final int p_149915_2_) { - return new TileEntityProjectTable(); - } - - public static boolean isWrench(final ItemStack item) { - if (item.getItem() instanceof ItemToolWrench) { - return true; - } - if (BuildCraftCore.isModLoaded()) { - return checkBuildcraftWrench(item); - } - if (EnderIO.isModLoaded()) { - return checkEnderIOWrench(item); - } - return false; - } - - private static boolean checkEnderIOWrench(final ItemStack item) { - if (ReflectionUtils.doesClassExist("crazypants.enderio.api.tool.ITool")) { - Class wrenchClass; - wrenchClass = ReflectionUtils.getClass("crazypants.enderio.api.tool.ITool"); - if (wrenchClass.isInstance(item.getItem())) { - return true; - } - } - return false; - } - - private static boolean checkBuildcraftWrench(final ItemStack item) { - if (ReflectionUtils.doesClassExist("buildcraft.api.tools.IToolWrench")) { - Class wrenchClass; - wrenchClass = ReflectionUtils.getClass("buildcraft.api.tools.IToolWrench"); - if (wrenchClass.isInstance(item.getItem())) { - return true; - } - } - return false; - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_SuperJukebox.java b/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_SuperJukebox.java deleted file mode 100644 index 470fa98a9b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/machine/Machine_SuperJukebox.java +++ /dev/null @@ -1,558 +0,0 @@ -package gtPlusPlus.core.block.machine; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockJukebox; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemRecord; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.handler.GuiHandler; -import gtPlusPlus.core.inventories.Inventory_SuperJukebox; -import gtPlusPlus.core.util.math.MathUtils; - -public class Machine_SuperJukebox extends BlockJukebox { - - @SideOnly(Side.CLIENT) - private IIcon mIcon; - - public Machine_SuperJukebox() { - this.setBlockName("blockSuperJukebox"); - this.setCreativeTab(CreativeTabs.tabRedstone); - setHardness(2.0F); - setResistance(10.0F); - setStepSound(soundTypePiston); - setBlockTextureName("jukebox"); - GameRegistry.registerBlock(this, "blockSuperJukebox"); - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int ordinalSide, int aMeta) { - return ordinalSide == 1 ? this.mIcon : this.blockIcon; - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, - final int side, final float lx, final float ly, final float lz) { - if (world.isRemote) { - return true; - } - - final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntitySuperJukebox)) { - player.openGui(GTplusplus.instance, GuiHandler.GUI14, world, x, y, z); - return true; - } - return false; - - /* - * if (aWorld.getBlockMetadata(aX, aY, aZ) == 0) { return false; } else { this.func_149925_e(aWorld, aX, aY, - * aZ); return true; } - */ - } - - /** - * Set the record in the {@link SuperJukebox} {@link TileEntity}. - */ - @Override - public final void func_149926_b(World aWorld, int aX, int aY, int aZ, ItemStack aStackToSet) { - setRecordInJukeBox(aWorld, aX, aY, aZ, aStackToSet); - } - - public void setRecordInJukeBox(World aWorld, int aX, int aY, int aZ, ItemStack aStackToSet) { - if (!aWorld.isRemote) { - TileEntitySuperJukebox tileentityjukebox = (TileEntitySuperJukebox) aWorld.getTileEntity(aX, aY, aZ); - if (tileentityjukebox != null && aStackToSet.getItem() instanceof ItemRecord) { - tileentityjukebox.setCurrentRecord(aStackToSet.copy()); - // aWorld.setBlockMetadataWithNotify(aX, aY, aZ, 1, 2); - } - } - } - - /** - * Function to handle playing of records. - */ - @Override - public final void func_149925_e(World aWorld, int aX, int aY, int aZ) { - playJukeboxRecord(aWorld, aX, aY, aZ); - } - - public void playJukeboxRecord(World aWorld, int aX, int aY, int aZ) { - if (!aWorld.isRemote) { - TileEntitySuperJukebox tileentityjukebox = (TileEntitySuperJukebox) aWorld.getTileEntity(aX, aY, aZ); - - if (tileentityjukebox != null) { - ItemStack itemstack = tileentityjukebox.func_145856_a(); - - if (itemstack != null) { - - aWorld.playAuxSFX(1005, aX, aY, aZ, Item.getIdFromItem(itemstack.getItem())); - /* - * float f = 0.7F; double d0 = (double) (aWorld.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; - * double d1 = (double) (aWorld.rand.nextFloat() * f) + (double) (1.0F - f) * 0.2D + 0.6D; double d2 - * = (double) (aWorld.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; ItemStack itemstack1 = - * itemstack.copy(); EntityItem entityitem = new EntityItem(aWorld, (double) aX + d0, (double) aY + - * d1, (double) aZ + d2, itemstack1); entityitem.delayBeforeCanPickup = 10; - * aWorld.spawnEntityInWorld(entityitem); - */ - } - } - } - } - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, - int p_149749_6_) { - this.func_149925_e(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_); - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } - - /** - * Drops the block items with a specified chance of dropping the specified items - */ - @Override - public void dropBlockAsItemWithChance(World p_149690_1_, int p_149690_2_, int p_149690_3_, int p_149690_4_, - int p_149690_5_, float p_149690_6_, int p_149690_7_) { - if (!p_149690_1_.isRemote) { - super.dropBlockAsItemWithChance( - p_149690_1_, - p_149690_2_, - p_149690_3_, - p_149690_4_, - p_149690_5_, - p_149690_6_, - 0); - } - } - - /** - * Returns a new instance of a block's tile entity class. Called on placing the block. - */ - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntitySuperJukebox(); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerBlockIcons(IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(this.getTextureName() + "_side"); - this.mIcon = p_149651_1_.registerIcon(this.getTextureName() + "_top"); - } - - public static class TileEntitySuperJukebox extends TileEntityJukebox implements ISidedInventory { - - /** The number of players currently using this chest */ - public int numPlayersUsing; - - private ItemStack mCurrentlyPlayingStack; - private final Inventory_SuperJukebox inventoryContents; - private String customName; - - /* - * Important Data - */ - - public int a_TEST_INT_VAR_1; - public int a_TEST_INT_VAR_2; - public int a_TEST_INT_VAR_3; - public int a_TEST_INT_VAR_4; - - public boolean mIsPlaying = false; - public boolean mIsLooping = false; - public boolean a_TEST_BOOL_VAR_3; - public boolean a_TEST_BOOL_VAR_4; - - public TileEntitySuperJukebox() { - this.inventoryContents = new Inventory_SuperJukebox(); - } - - @Override - public void readFromNBT(NBTTagCompound aNBT) { - super.readFromNBT(aNBT); - - if (aNBT.hasKey("RecordItem", 10)) { - this.func_145857_a(ItemStack.loadItemStackFromNBT(aNBT.getCompoundTag("RecordItem"))); - } else if (aNBT.getInteger("Record") > 0) { - this.func_145857_a(new ItemStack(Item.getItemById(aNBT.getInteger("Record")), 1, 0)); - } - - this.inventoryContents.readFromNBT(aNBT.getCompoundTag("ContentsChest")); - if (aNBT.hasKey("CustomName", 8)) { - this.setCustomName(aNBT.getString("CustomName")); - } - - mIsPlaying = aNBT.getBoolean("mIsPlaying"); - mIsLooping = aNBT.getBoolean("mIsLooping"); - } - - @Override - public void writeToNBT(NBTTagCompound aNBT) { - super.writeToNBT(aNBT); - - if (this.getCurrentRecord() != null) { - aNBT.setTag( - "RecordItem", - this.func_145856_a() - .writeToNBT(new NBTTagCompound())); - aNBT.setInteger( - "Record", - Item.getIdFromItem( - this.func_145856_a() - .getItem())); - } - - final NBTTagCompound chestData = new NBTTagCompound(); - this.inventoryContents.writeToNBT(chestData); - aNBT.setTag("ContentsChest", chestData); - if (this.hasCustomInventoryName()) { - aNBT.setString("CustomName", this.getCustomName()); - } - - aNBT.setBoolean("mIsPlaying", mIsPlaying); - aNBT.setBoolean("mIsLooping", mIsLooping); - } - - /** - * Called to get the internal stack - */ - @Override - public ItemStack func_145856_a() { - return this.mCurrentlyPlayingStack; - } - - /** - * Called to get the internal stack, wraps vanilla function {@link func_145856_a}. - */ - public ItemStack getCurrentRecord() { - return func_145856_a(); - } - - /** - * Called to set the internal stack - */ - @Override - public void func_145857_a(ItemStack p_145857_1_) { - this.mCurrentlyPlayingStack = p_145857_1_; - this.markDirty(); - } - - /** - * Called to set the internal stack, wraps vanilla function {@link func_145857_a}. - */ - public void setCurrentRecord(ItemStack aStack) { - func_145857_a(aStack); - this.markDirty(); - } - - public Inventory_SuperJukebox getInventory() { - return this.inventoryContents; - } - - public boolean playRecord(ItemStack aRecord) { - - return false; - } - - public boolean stopRecord() { - return openDiscDrive(); - } - - public void setLoopState(boolean isShufflingForever) {} - - // Play button pressed - public boolean jukeboxLogicUpdate() { - - if (this.worldObj.isRemote) { - return true; - } - - Logger.INFO("a"); - if (this.mIsPlaying || this.mIsLooping) { - return selectRecordToPlayFromInventoryAndSetViaVanillaHandler(); - } else { - return stopRecord(); - } - } - - // Determine which record to play - public boolean selectRecordToPlayFromInventoryAndSetViaVanillaHandler() { - AutoMap mValidRecords = new AutoMap<>(); - for (ItemStack g : this.getInventory() - .getInventory()) { - if (g != null) { - if (g.getItem() instanceof ItemRecord) { - mValidRecords.put(g); - } - } - } - - Logger.INFO("b1"); - // Select First Record - ItemStack aRecordToPlay; - if (mValidRecords.size() == 0) { - Logger.INFO("bX"); - return false; - } else { - aRecordToPlay = mValidRecords.get(!mIsLooping ? 0 : MathUtils.randInt(0, (mValidRecords.size() - 1))); - } - Logger.INFO("b2 - " + aRecordToPlay.getDisplayName()); - - int aSlotCounter = 0; - for (ItemStack g : this.getInventory() - .getInventory()) { - if (g != null && aSlotCounter <= 17) { - Logger.INFO("b3 - " + g.getDisplayName()); - if (GT_Utility.areStacksEqual(g, aRecordToPlay, true)) { - IInventory aThisInv = this.getInventory(); - if (aThisInv.getStackInSlot(20) != null) { - openDiscDrive(); - } - - GT_Utility.moveStackFromSlotAToSlotB( - aThisInv, - aThisInv, - aSlotCounter, - 20, - (byte) 1, - (byte) 1, - (byte) 1, - (byte) 1); - setCurrentRecord(aThisInv.getStackInSlot(20)); - - World aWorld = this.worldObj; - int aX = this.xCoord; - int aY = this.yCoord; - int aZ = this.zCoord; - if (!aWorld.isRemote) { - aRecordToPlay = this.func_145856_a(); - if (aRecordToPlay != null) { - aWorld.playAuxSFX(1005, aX, aY, aZ, Item.getIdFromItem(aRecordToPlay.getItem())); - this.markDirty(); - return true; - } - } - - Logger.INFO("b++"); - this.markDirty(); - return false; - } - } - aSlotCounter++; - } - - Logger.INFO("b4"); - this.markDirty(); - return false; - } - - public boolean genericMethodThree(Object a1, Object a2, Object a3, Object a4) { - return false; - } - - public void vanillaStopJukebox() { - World aWorld = this.worldObj; - int aX = this.xCoord; - int aY = this.yCoord; - int aZ = this.zCoord; - if (!aWorld.isRemote) { - TileEntitySuperJukebox tileentityjukebox = (TileEntitySuperJukebox) aWorld.getTileEntity(aX, aY, aZ); - if (tileentityjukebox != null) { - ItemStack aRecordToPlay = tileentityjukebox.func_145856_a(); - if (aRecordToPlay != null) { - aWorld.playAuxSFX(1005, aX, aY, aZ, 0); - aWorld.playRecord((String) null, aX, aY, aZ); - tileentityjukebox.func_145857_a((ItemStack) null); - this.markDirty(); - } - } - } - } - - public boolean openDiscDrive() { - int aSlotCounter = 17; - - ItemStack g; - - for (int i = 17; i >= 0; i--) { - g = this.getInventory() - .getInventory()[i]; - if (g == null && aSlotCounter >= 0) { - IInventory aThisInv = this.getInventory(); - GT_Utility - .moveStackFromSlotAToSlotB(aThisInv, aThisInv, 20, i, (byte) 1, (byte) 1, (byte) 1, (byte) 1); - vanillaStopJukebox(); - Logger.INFO("b++"); - this.markDirty(); - return true; - } - } - - /* - * for (ItemStack g : this.getInventory().getInventory()) { if (g == null && aSlotCounter >= 0) { IInventory - * aThisInv = this.getInventory(); GT_Utility.moveStackFromSlotAToSlotB(aThisInv, aThisInv, 20, - * aSlotCounter, (byte) 1, (byte) 1, (byte) 1, (byte) 1); vanillaStopJukebox(); Logger.INFO("b++"); return - * true; } aSlotCounter--; } - */ - this.markDirty(); - return false; - } - - public boolean anyPlayerInRange() { - return this.worldObj.getClosestPlayer(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D, 32) - != null; - } - - public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag) { - if (!nbt.hasKey(tag)) { - nbt.setTag(tag, new NBTTagCompound()); - } - return nbt.getCompoundTag(tag); - } - - @Override - public int getSizeInventory() { - return this.getInventory() - .getSizeInventory() - 3; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.getInventory() - .getStackInSlot(slot); - } - - @Override - public ItemStack decrStackSize(final int slot, final int count) { - return this.getInventory() - .decrStackSize(slot, count); - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - return this.getInventory() - .getStackInSlotOnClosing(slot); - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.getInventory() - .setInventorySlotContents(slot, stack); - } - - @Override - public int getInventoryStackLimit() { - return 1; - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return this.getInventory() - .isUseableByPlayer(entityplayer); - } - - @Override - public void openInventory() { - if (this.numPlayersUsing < 0) { - this.numPlayersUsing = 0; - } - if (!this.worldObj.isRemote) { - this.numPlayersUsing++; - } - this.worldObj - .addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, this.numPlayersUsing); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .openInventory(); - } - - @Override - public void closeInventory() { - if (!this.worldObj.isRemote) { - this.numPlayersUsing--; - } - this.worldObj - .addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, this.numPlayersUsing); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .closeInventory(); - } - - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - if (slot >= 18) { - return false; - } - return this.getInventory() - .isItemValidForSlot(slot, itemstack); - } - - private static final int[] SIDED_SLOTS = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17 }; - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - return SIDED_SLOTS; - } - - @Override - public boolean canInsertItem(final int p_102007_1_, final ItemStack p_102007_2_, final int p_102007_3_) { - if (p_102007_1_ >= 18) { - return false; - } - return this.getInventory() - .isItemValidForSlot(p_102007_1_, p_102007_2_); - } - - @Override - public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) { - if (p_102008_1_ >= 18) { - return false; - } - return this.getInventory() - .isItemValidForSlot(p_102008_1_, p_102008_2_); - } - - public String getCustomName() { - return this.customName; - } - - public void setCustomName(final String customName) { - this.customName = customName; - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.SuperJukebox"; - } - - @Override - public boolean hasCustomInventoryName() { - return (this.customName != null) && !this.customName.equals(""); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java b/gtpp/src/main/java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java deleted file mode 100644 index 1bca4a5c5f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java +++ /dev/null @@ -1,157 +0,0 @@ -package gtPlusPlus.core.block.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.objects.minecraft.CubicObject; -import gtPlusPlus.core.block.base.BasicTileBlockWithTooltip; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.handler.GuiHandler; -import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile; -import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter; -import gtPlusPlus.core.util.minecraft.PlayerUtils; - -public class VolumetricFlaskSetter extends BasicTileBlockWithTooltip { - - /** - * Determines which tooltip is displayed within the itemblock. - */ - private final int mTooltipID = 8; - - @Override - public int getTooltipID() { - return this.mTooltipID; - } - - @Override - public Class getItemBlockClass() { - return ItemBlockBasicTile.class; - } - - public VolumetricFlaskSetter() { - super(Material.iron); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, - final int side, final float lx, final float ly, final float lz) { - if (world.isRemote) { - return true; - } else { - - boolean mDidScrewDriver = false; - // Check For Screwdriver - try { - final ItemStack mHandStack = PlayerUtils.getItemStackInPlayersHand(world, player.getDisplayName()); - final Item mHandItem = mHandStack.getItem(); - if (((mHandItem instanceof GT_MetaGenerated_Tool_01) - && ((mHandItem.getDamage(mHandStack) == 22) || (mHandItem.getDamage(mHandStack) == 150)))) { - final TileEntityVolumetricFlaskSetter tile = (TileEntityVolumetricFlaskSetter) world - .getTileEntity(x, y, z); - if (tile != null) { - mDidScrewDriver = tile.onScrewdriverRightClick((byte) side, player, x, y, z); - } - } - } catch (final Throwable t) {} - - if (!mDidScrewDriver) { - final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntityVolumetricFlaskSetter aTile)) { - player.openGui(GTplusplus.instance, GuiHandler.GUI18, world, x, y, z); - // new Packet_VolumetricFlaskGui2(aTile, aTile.getCustomValue()); - return true; - } - } else { - return true; - } - } - return false; - } - - @Override - public int getRenderBlockPass() { - return 0; - } - - @Override - public TileEntity createNewTileEntity(final World world, final int p_149915_2_) { - return new TileEntityVolumetricFlaskSetter(); - } - - @Override - public void onBlockAdded(final World world, final int x, final int y, final int z) { - super.onBlockAdded(world, x, y, z); - } - - @Override - public void onBlockPlacedBy(final World world, final int x, final int y, final int z, final EntityLivingBase entity, - final ItemStack stack) { - if (stack.hasDisplayName()) { - ((TileEntityVolumetricFlaskSetter) world.getTileEntity(x, y, z)).setCustomName(stack.getDisplayName()); - } - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } - - @Override - public int getMetaCount() { - return 0; - } - - @Override - public String getUnlocalBlockName() { - return "blockVolumetricFlaskSetter"; - } - - @Override - protected float initBlockHardness() { - return 5f; - } - - @Override - protected float initBlockResistance() { - return 1f; - } - - @Override - protected CreativeTabs initCreativeTab() { - return AddToCreativeTab.tabMachines; - } - - @Override - protected String getTileEntityName() { - return "Volumetric Flask Configurator"; - } - - @Override - public CubicObject[] getCustomTextureDirectoryObject() { - String[] aTexData = new String[] { GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_A", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_TECH_PANEL_C", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_H", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_H", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_H", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_H" }; - CubicObject[] aTextureData = new CubicObject[] { new CubicObject<>(aTexData) }; - return aTextureData; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/client/CustomTextureSet.java b/gtpp/src/main/java/gtPlusPlus/core/client/CustomTextureSet.java deleted file mode 100644 index ce4d9a0320..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/client/CustomTextureSet.java +++ /dev/null @@ -1,30 +0,0 @@ -package gtPlusPlus.core.client; - -import gregtech.api.enums.TextureSet; - -public class CustomTextureSet extends TextureSet { - - public static enum TextureSets { - - REFINED(), - GEM_A(), - ENRICHED(), - NUCLEAR; - - private final CustomTextureSet A; - - private TextureSets() { - A = new CustomTextureSet( - this.name() - .toUpperCase()); - } - - public CustomTextureSet get() { - return A; - } - } - - public CustomTextureSet(String aSetName) { - super(aSetName); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/client/model/ModelDecayChest.java b/gtpp/src/main/java/gtPlusPlus/core/client/model/ModelDecayChest.java deleted file mode 100644 index ef0943684c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/client/model/ModelDecayChest.java +++ /dev/null @@ -1,45 +0,0 @@ -package gtPlusPlus.core.client.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class ModelDecayChest extends ModelBase { - - /** The chest lid in the chest's model. */ - public ModelRenderer chestLid = (new ModelRenderer(this, 0, 0)).setTextureSize(64, 64); - /** The model of the bottom of the chest. */ - public ModelRenderer chestBelow; - /** The chest's knob in the chest model. */ - public ModelRenderer chestKnob; - - public ModelDecayChest() { - this.chestLid.addBox(0.0F, -5.0F, -14.0F, 14, 5, 14, 0.0F); - this.chestLid.rotationPointX = 1.0F; - this.chestLid.rotationPointY = 7.0F; - this.chestLid.rotationPointZ = 15.0F; - this.chestKnob = (new ModelRenderer(this, 0, 0)).setTextureSize(64, 64); - this.chestKnob.addBox(-1.0F, -2.0F, -15.0F, 2, 4, 1, 0.0F); - this.chestKnob.rotationPointX = 8.0F; - this.chestKnob.rotationPointY = 7.0F; - this.chestKnob.rotationPointZ = 15.0F; - this.chestBelow = (new ModelRenderer(this, 0, 19)).setTextureSize(64, 64); - this.chestBelow.addBox(0.0F, 0.0F, 0.0F, 14, 10, 14, 0.0F); - this.chestBelow.rotationPointX = 1.0F; - this.chestBelow.rotationPointY = 6.0F; - this.chestBelow.rotationPointZ = 1.0F; - } - - /** - * This method renders out all parts of the chest model. - */ - public void renderAll() { - this.chestKnob.rotateAngleX = this.chestLid.rotateAngleX; - this.chestLid.render(0.0625F); - this.chestKnob.render(0.0625F); - this.chestBelow.render(0.0625F); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/client/model/ModelSickBlaze.java b/gtpp/src/main/java/gtPlusPlus/core/client/model/ModelSickBlaze.java deleted file mode 100644 index 3b5922444d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/client/model/ModelSickBlaze.java +++ /dev/null @@ -1,87 +0,0 @@ -package gtPlusPlus.core.client.model; - -import net.minecraft.client.model.ModelBlaze; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class ModelSickBlaze extends ModelBlaze { - - /** The sticks that fly around the Blaze. */ - private ModelRenderer[] blazeSticks = new ModelRenderer[24]; - - private ModelRenderer blazeHead; - - public ModelSickBlaze() { - for (int i = 0; i < this.blazeSticks.length; ++i) { - this.blazeSticks[i] = new ModelRenderer(this, 0, 16); - this.blazeSticks[i].addBox(0.0F, 0.0F, 0.0F, 2, 8, 2); - } - - this.blazeHead = new ModelRenderer(this, 0, 0); - this.blazeHead.addBox(-4.0F, -4.0F, -4.0F, 8, 8, 8); - } - - @Override - public int func_78104_a() { - return 8; - } - - /** - * Sets the models various rotation angles then renders the model. - */ - @Override - public void render(Entity p_78088_1_, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, - float p_78088_6_, float p_78088_7_) { - this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_, p_78088_1_); - this.blazeHead.render(p_78088_7_); - - for (ModelRenderer blazeStick : this.blazeSticks) { - blazeStick.render(p_78088_7_); - } - } - - /** - * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms - * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how - * "far" arms and legs can swing at most. - */ - @Override - public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, - float p_78087_5_, float p_78087_6_, Entity p_78087_7_) { - float f6 = p_78087_3_ * (float) Math.PI * -0.1F; - int i; - - for (i = 0; i < 4; ++i) { - this.blazeSticks[i].rotationPointY = -2.0F + MathHelper.cos((i * 2 + p_78087_3_) * 0.25F); - this.blazeSticks[i].rotationPointX = MathHelper.cos(f6) * 9.0F; - this.blazeSticks[i].rotationPointZ = MathHelper.sin(f6) * 9.0F; - ++f6; - } - - f6 = ((float) Math.PI / 4F) + p_78087_3_ * (float) Math.PI * 0.03F; - - for (i = 4; i < 8; ++i) { - this.blazeSticks[i].rotationPointY = 2.0F + MathHelper.cos((i * 2 + p_78087_3_) * 0.25F); - this.blazeSticks[i].rotationPointX = MathHelper.cos(f6) * 7.0F; - this.blazeSticks[i].rotationPointZ = MathHelper.sin(f6) * 7.0F; - ++f6; - } - - f6 = 0.47123894F + p_78087_3_ * (float) Math.PI * -0.05F; - - for (i = 8; i < 12; ++i) { - this.blazeSticks[i].rotationPointY = 11.0F + MathHelper.cos((i * 1.5F + p_78087_3_) * 0.5F); - this.blazeSticks[i].rotationPointX = MathHelper.cos(f6) * 5.0F; - this.blazeSticks[i].rotationPointZ = MathHelper.sin(f6) * 5.0F; - ++f6; - } - - this.blazeHead.rotateAngleY = p_78087_4_ / (180F / (float) Math.PI); - this.blazeHead.rotateAngleX = p_78087_5_ / (180F / (float) Math.PI); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/client/model/ModelStaballoyConstruct.java b/gtpp/src/main/java/gtPlusPlus/core/client/model/ModelStaballoyConstruct.java deleted file mode 100644 index 457bc7a377..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/client/model/ModelStaballoyConstruct.java +++ /dev/null @@ -1,117 +0,0 @@ -package gtPlusPlus.core.client.model; - -import net.minecraft.client.model.ModelIronGolem; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.EntityIronGolem; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class ModelStaballoyConstruct extends ModelIronGolem { - - public ModelStaballoyConstruct() { - this(0.0F); - } - - public ModelStaballoyConstruct(float p_i1161_1_) { - this(p_i1161_1_, -7.0F); - } - - public ModelStaballoyConstruct(float p_i1162_1_, float p_i1162_2_) { - short short1 = 128; - short short2 = 128; - this.ironGolemHead = (new ModelRenderer(this)).setTextureSize(short1, short2); - this.ironGolemHead.setRotationPoint(0.0F, 0.0F + p_i1162_2_, -2.0F); - this.ironGolemHead.setTextureOffset(0, 0) - .addBox(-4.0F, -12.0F, -5.5F, 8, 10, 8, p_i1162_1_); - this.ironGolemHead.setTextureOffset(24, 0) - .addBox(-1.0F, -5.0F, -7.5F, 2, 4, 2, p_i1162_1_); - this.ironGolemBody = (new ModelRenderer(this)).setTextureSize(short1, short2); - this.ironGolemBody.setRotationPoint(0.0F, 0.0F + p_i1162_2_, 0.0F); - this.ironGolemBody.setTextureOffset(0, 40) - .addBox(-9.0F, -2.0F, -6.0F, 18, 12, 11, p_i1162_1_); - this.ironGolemBody.setTextureOffset(0, 70) - .addBox(-4.5F, 10.0F, -3.0F, 9, 5, 6, p_i1162_1_ + 0.5F); - this.ironGolemRightArm = (new ModelRenderer(this)).setTextureSize(short1, short2); - this.ironGolemRightArm.setRotationPoint(0.0F, -7.0F, 0.0F); - this.ironGolemRightArm.setTextureOffset(60, 21) - .addBox(-13.0F, -2.5F, -3.0F, 4, 30, 6, p_i1162_1_); - this.ironGolemLeftArm = (new ModelRenderer(this)).setTextureSize(short1, short2); - this.ironGolemLeftArm.setRotationPoint(0.0F, -7.0F, 0.0F); - this.ironGolemLeftArm.setTextureOffset(60, 58) - .addBox(9.0F, -2.5F, -3.0F, 4, 30, 6, p_i1162_1_); - this.ironGolemLeftLeg = (new ModelRenderer(this, 0, 22)).setTextureSize(short1, short2); - this.ironGolemLeftLeg.setRotationPoint(-4.0F, 18.0F + p_i1162_2_, 0.0F); - this.ironGolemLeftLeg.setTextureOffset(37, 0) - .addBox(-3.5F, -3.0F, -3.0F, 6, 16, 5, p_i1162_1_); - this.ironGolemRightLeg = (new ModelRenderer(this, 0, 22)).setTextureSize(short1, short2); - this.ironGolemRightLeg.mirror = true; - this.ironGolemRightLeg.setTextureOffset(60, 0) - .setRotationPoint(5.0F, 18.0F + p_i1162_2_, 0.0F); - this.ironGolemRightLeg.addBox(-3.5F, -3.0F, -3.0F, 6, 16, 5, p_i1162_1_); - } - - /** - * Sets the models various rotation angles then renders the model. - */ - @Override - public void render(Entity p_78088_1_, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, - float p_78088_6_, float p_78088_7_) { - this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_, p_78088_1_); - this.ironGolemHead.render(p_78088_7_); - this.ironGolemBody.render(p_78088_7_); - this.ironGolemLeftLeg.render(p_78088_7_); - this.ironGolemRightLeg.render(p_78088_7_); - this.ironGolemRightArm.render(p_78088_7_); - this.ironGolemLeftArm.render(p_78088_7_); - } - - /** - * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms - * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how - * "far" arms and legs can swing at most. - */ - @Override - public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, - float p_78087_5_, float p_78087_6_, Entity p_78087_7_) { - this.ironGolemHead.rotateAngleY = p_78087_4_ / (180F / (float) Math.PI); - this.ironGolemHead.rotateAngleX = p_78087_5_ / (180F / (float) Math.PI); - this.ironGolemLeftLeg.rotateAngleX = -1.5F * this.func_78172_a(p_78087_1_, 13.0F) * p_78087_2_; - this.ironGolemRightLeg.rotateAngleX = 1.5F * this.func_78172_a(p_78087_1_, 13.0F) * p_78087_2_; - this.ironGolemLeftLeg.rotateAngleY = 0.0F; - this.ironGolemRightLeg.rotateAngleY = 0.0F; - } - - /** - * Used for easily adding entity-dependent animations. The second and third float params here are the same second - * and third as in the setRotationAngles method. - */ - @Override - public void setLivingAnimations(EntityLivingBase p_78086_1_, float p_78086_2_, float p_78086_3_, float p_78086_4_) { - EntityIronGolem entityirongolem = (EntityIronGolem) p_78086_1_; - int i = entityirongolem.getAttackTimer(); - - if (i > 0) { - this.ironGolemRightArm.rotateAngleX = -2.0F + 1.5F * this.func_78172_a(i - p_78086_4_, 10.0F); - this.ironGolemLeftArm.rotateAngleX = -2.0F + 1.5F * this.func_78172_a(i - p_78086_4_, 10.0F); - } else { - int j = entityirongolem.getHoldRoseTick(); - - if (j > 0) { - this.ironGolemRightArm.rotateAngleX = -0.8F + 0.025F * this.func_78172_a(j, 70.0F); - this.ironGolemLeftArm.rotateAngleX = 0.0F; - } else { - this.ironGolemRightArm.rotateAngleX = (-0.2F + 1.5F * this.func_78172_a(p_78086_2_, 13.0F)) - * p_78086_3_; - this.ironGolemLeftArm.rotateAngleX = (-0.2F - 1.5F * this.func_78172_a(p_78086_2_, 13.0F)) * p_78086_3_; - } - } - } - - private float func_78172_a(float p_78172_1_, float p_78172_2_) { - return (Math.abs(p_78172_1_ % p_78172_2_ - p_78172_2_ * 0.5F) - p_78172_2_ * 0.25F) / (p_78172_2_ * 0.25F); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/client/renderer/CustomItemBlockRenderer.java b/gtpp/src/main/java/gtPlusPlus/core/client/renderer/CustomItemBlockRenderer.java deleted file mode 100644 index f83844f3e3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/client/renderer/CustomItemBlockRenderer.java +++ /dev/null @@ -1,84 +0,0 @@ -package gtPlusPlus.core.client.renderer; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.client.IItemRenderer; - -import org.lwjgl.opengl.GL11; - -/** - * Easy way of rendering an item which should look like a block. Borrowed. - * - * @author King Lemming - * - */ -public class CustomItemBlockRenderer implements IItemRenderer { - - public static CustomItemBlockRenderer instance = new CustomItemBlockRenderer(); - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - double offset = -0.5; - if (type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON) { - offset = 0; - } else if (type == ItemRenderType.ENTITY) { - GL11.glScalef(0.5F, 0.5F, 0.5F); - } - renderItemAsBlock((RenderBlocks) data[0], item, offset, offset, offset); - } - - public static void renderItemAsBlock(RenderBlocks renderer, ItemStack item, double translateX, double translateY, - double translateZ) { - - renderTextureAsBlock(renderer, item.getIconIndex(), translateX, translateY, translateZ); - } - - public static void renderTextureAsBlock(RenderBlocks renderer, IIcon texture, double translateX, double translateY, - double translateZ) { - - Tessellator tessellator = Tessellator.instance; - Block block = Blocks.stone; - - if (texture == null) { - return; - } - renderer.setRenderBoundsFromBlock(block); - GL11.glTranslated(translateX, translateY, translateZ); - tessellator.startDrawingQuads(); - - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, texture); - - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, texture); - - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, texture); - - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, texture); - - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, texture); - - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, texture); - - tessellator.draw(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/client/renderer/CustomOreBlockRenderer.java b/gtpp/src/main/java/gtPlusPlus/core/client/renderer/CustomOreBlockRenderer.java deleted file mode 100644 index 689f075703..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/client/renderer/CustomOreBlockRenderer.java +++ /dev/null @@ -1,2469 +0,0 @@ -package gtPlusPlus.core.client.renderer; - -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -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; - -public class CustomOreBlockRenderer implements ISimpleBlockRenderingHandler { - - public static CustomOreBlockRenderer INSTANCE; - public final int mRenderID; - - public CustomOreBlockRenderer() { - INSTANCE = this; - this.mRenderID = RenderingRegistry.getNextAvailableRenderId(); - RenderingRegistry.registerBlockHandler(this); - Logger.INFO("Registered Custom Ore Block Renderer."); - } - - public boolean renderStandardBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, - RenderBlocks aRenderer) { - Block tTileEntity = aBlock; - if ((tTileEntity instanceof ITexturedBlock)) { - return renderStandardBlock( - aWorld, - aX, - aY, - aZ, - aBlock, - aRenderer, - new ITexture[][] { ((ITexturedBlock) tTileEntity).getTexture(ForgeDirection.DOWN), - ((ITexturedBlock) tTileEntity).getTexture(ForgeDirection.UP), - ((ITexturedBlock) tTileEntity).getTexture(ForgeDirection.NORTH), - ((ITexturedBlock) tTileEntity).getTexture(ForgeDirection.SOUTH), - ((ITexturedBlock) tTileEntity).getTexture(ForgeDirection.WEST), - ((ITexturedBlock) tTileEntity).getTexture(ForgeDirection.EAST) }); - } - return false; - } - - public boolean renderStandardBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, - RenderBlocks aRenderer, ITexture[][] aTextures) { - aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - int l = aBlock.colorMultiplier(aWorld, aX, aY, aZ); - float RED = (float) (l >> 16 & 255) / 255.0F; - float GREEN = (float) (l >> 8 & 255) / 255.0F; - float BLUE = (float) (l & 255) / 255.0F; - - if (Minecraft.isAmbientOcclusionEnabled() && aBlock.getLightValue() == 0) { - if (RenderBlocks.getInstance().partialRenderBounds) { - return INSTANCE.renderStandardBlockWithAmbientOcclusionPartial( - aWorld, - aRenderer, - aTextures, - aBlock, - aX, - aY, - aZ, - RED, - GREEN, - BLUE); - } else { - return INSTANCE.renderStandardBlockWithAmbientOcclusion( - aWorld, - aRenderer, - aTextures, - aBlock, - aX, - aY, - aZ, - RED, - GREEN, - BLUE); - } - } else { - renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[0], true); - renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[1], true); - renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[2], true); - renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[3], true); - renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[4], true); - renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[5], true); - } - return true; - } - - public static void renderFaceYNeg(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ, - ITexture[][] aIcon) { - renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aIcon[0], true); - } - - public static void renderFaceYPos(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ, - ITexture[][] aIcon) { - renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aIcon[1], true); - } - - public static void renderFaceZNeg(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ, - ITexture[][] aIcon) { - renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aIcon[2], true); - } - - public static void renderFaceZPos(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ, - ITexture[][] aIcon) { - renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aIcon[3], true); - } - - public static void renderFaceXNeg(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ, - ITexture[][] aIcon) { - renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aIcon[4], true); - } - - public static void renderFaceXPos(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ, - ITexture[][] aIcon) { - renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aIcon[5], true); - } - - public static void renderNegativeYFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if ((aFullBlock) && (!aBlock.shouldSideBeRendered(aWorld, aX, aY - 1, aZ, 0))) { - return; - } - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aFullBlock ? aY - 1 : aY, aZ)); - } - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderYNeg(aRenderer, aBlock, aX, aY, aZ); - } - } - } - aRenderer.flipTexture = false; - } - - public static void renderPositiveYFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if ((aFullBlock) && (!aBlock.shouldSideBeRendered(aWorld, aX, aY + 1, aZ, 1))) { - return; - } - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aFullBlock ? aY + 1 : aY, aZ)); - } - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderYPos(aRenderer, aBlock, aX, aY, aZ); - } - } - } - aRenderer.flipTexture = false; - } - - public static void renderNegativeZFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if ((aFullBlock) && (!aBlock.shouldSideBeRendered(aWorld, aX, aY, aZ - 1, 2))) { - return; - } - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aY, aFullBlock ? aZ - 1 : aZ)); - } - aRenderer.flipTexture = (!aFullBlock); - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderZNeg(aRenderer, aBlock, aX, aY, aZ); - } - } - } - aRenderer.flipTexture = false; - } - - public static void renderPositiveZFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if ((aFullBlock) && (!aBlock.shouldSideBeRendered(aWorld, aX, aY, aZ + 1, 3))) { - return; - } - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aY, aFullBlock ? aZ + 1 : aZ)); - } - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderZPos(aRenderer, aBlock, aX, aY, aZ); - } - } - } - aRenderer.flipTexture = false; - } - - public static void renderNegativeXFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if ((aFullBlock) && (!aBlock.shouldSideBeRendered(aWorld, aX - 1, aY, aZ, 4))) { - return; - } - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aFullBlock ? aX - 1 : aX, aY, aZ)); - } - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderXNeg(aRenderer, aBlock, aX, aY, aZ); - } - } - } - aRenderer.flipTexture = false; - } - - public static void renderPositiveXFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if ((aFullBlock) && (!aBlock.shouldSideBeRendered(aWorld, aX + 1, aY, aZ, 5))) { - return; - } - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aFullBlock ? aX + 1 : aX, aY, aZ)); - } - aRenderer.flipTexture = (!aFullBlock); - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderXPos(aRenderer, aBlock, aX, aY, aZ); - } - } - } - aRenderer.flipTexture = false; - } - - @Override - public void renderInventoryBlock(Block aBlock, int aMeta, int aModelID, RenderBlocks aRenderer) { - aBlock.setBlockBoundsForItemRender(); - aRenderer.setRenderBoundsFromBlock(aBlock); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, -1.0F, 0.0F); - renderNegativeYFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - ((ITexturedBlock) aBlock).getTexture(ForgeDirection.DOWN), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, 1.0F, 0.0F); - renderPositiveYFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - ((ITexturedBlock) aBlock).getTexture(ForgeDirection.UP), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, 0.0F, -1.0F); - renderNegativeZFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - ((ITexturedBlock) aBlock).getTexture(ForgeDirection.NORTH), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, 0.0F, 1.0F); - renderPositiveZFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - ((ITexturedBlock) aBlock).getTexture(ForgeDirection.SOUTH), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(-1.0F, 0.0F, 0.0F); - renderNegativeXFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - ((ITexturedBlock) aBlock).getTexture(ForgeDirection.WEST), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(1.0F, 0.0F, 0.0F); - renderPositiveXFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - ((ITexturedBlock) aBlock).getTexture(ForgeDirection.EAST), - true); - Tessellator.instance.draw(); - aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - - @Override - public boolean renderWorldBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, int aModelID, - RenderBlocks aRenderer) { - blockAccess = aWorld; - return renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer); - } - - @Override - public boolean shouldRender3DInInventory(int aModel) { - return true; - } - - @Override - public int getRenderId() { - return this.mRenderID; - } - - public void setRenderBounds(double p_147782_1_, double p_147782_3_, double p_147782_5_, double p_147782_7_, - double p_147782_9_, double p_147782_11_) { - if (!this.lockBlockBounds) { - this.renderMinX = p_147782_1_; - this.renderMaxX = p_147782_7_; - this.renderMinY = p_147782_3_; - this.renderMaxY = p_147782_9_; - this.renderMinZ = p_147782_5_; - this.renderMaxZ = p_147782_11_; - this.partialRenderBounds = this.minecraftRB.gameSettings.ambientOcclusion >= 2 - && (this.renderMinX > 0.0D || this.renderMaxX < 1.0D - || this.renderMinY > 0.0D - || this.renderMaxY < 1.0D - || this.renderMinZ > 0.0D - || this.renderMaxZ < 1.0D); - } - } - - /** - * Like setRenderBounds, but automatically pulling the bounds from the given Block. - */ - public void setRenderBoundsFromBlock(Block block) { - if (!this.lockBlockBounds) { - this.renderMinX = block.getBlockBoundsMinX(); - this.renderMaxX = block.getBlockBoundsMaxX(); - this.renderMinY = block.getBlockBoundsMinY(); - this.renderMaxY = block.getBlockBoundsMaxY(); - this.renderMinZ = block.getBlockBoundsMinZ(); - this.renderMaxZ = block.getBlockBoundsMaxZ(); - this.partialRenderBounds = this.minecraftRB.gameSettings.ambientOcclusion >= 2 - && (this.renderMinX > 0.0D || this.renderMaxX < 1.0D - || this.renderMinY > 0.0D - || this.renderMaxY < 1.0D - || this.renderMinZ > 0.0D - || this.renderMaxZ < 1.0D); - } - } - - /** - * Vanilla Variables - */ - - /** The minimum X value for rendering (default 0.0). */ - public double renderMinX; - /** The maximum X value for rendering (default 1.0). */ - public double renderMaxX; - /** The minimum Y value for rendering (default 0.0). */ - public double renderMinY; - /** The maximum Y value for rendering (default 1.0). */ - public double renderMaxY; - /** The minimum Z value for rendering (default 0.0). */ - public double renderMinZ; - /** The maximum Z value for rendering (default 1.0). */ - public double renderMaxZ; - - public boolean lockBlockBounds; - public boolean partialRenderBounds; - public final Minecraft minecraftRB = RenderBlocks.getInstance().minecraftRB; - public int uvRotateEast; - public int uvRotateWest; - public int uvRotateSouth; - public int uvRotateNorth; - public int uvRotateTop; - public int uvRotateBottom; - /** Whether ambient occlusion is enabled or not */ - public boolean enableAO; - /** Used as a scratch variable for ambient occlusion on the north/bottom/east corner. */ - public float aoLightValueScratchXYZNNN; - /** Used as a scratch variable for ambient occlusion between the bottom face and the north face. */ - public float aoLightValueScratchXYNN; - /** Used as a scratch variable for ambient occlusion on the north/bottom/west corner. */ - public float aoLightValueScratchXYZNNP; - /** Used as a scratch variable for ambient occlusion between the bottom face and the east face. */ - public float aoLightValueScratchYZNN; - /** Used as a scratch variable for ambient occlusion between the bottom face and the west face. */ - public float aoLightValueScratchYZNP; - /** Used as a scratch variable for ambient occlusion on the south/bottom/east corner. */ - public float aoLightValueScratchXYZPNN; - /** Used as a scratch variable for ambient occlusion between the bottom face and the south face. */ - public float aoLightValueScratchXYPN; - /** Used as a scratch variable for ambient occlusion on the south/bottom/west corner. */ - public float aoLightValueScratchXYZPNP; - /** Used as a scratch variable for ambient occlusion on the north/top/east corner. */ - public float aoLightValueScratchXYZNPN; - /** Used as a scratch variable for ambient occlusion between the top face and the north face. */ - public float aoLightValueScratchXYNP; - /** Used as a scratch variable for ambient occlusion on the north/top/west corner. */ - public float aoLightValueScratchXYZNPP; - /** Used as a scratch variable for ambient occlusion between the top face and the east face. */ - public float aoLightValueScratchYZPN; - /** Used as a scratch variable for ambient occlusion on the south/top/east corner. */ - public float aoLightValueScratchXYZPPN; - /** Used as a scratch variable for ambient occlusion between the top face and the south face. */ - public float aoLightValueScratchXYPP; - /** Used as a scratch variable for ambient occlusion between the top face and the west face. */ - public float aoLightValueScratchYZPP; - /** Used as a scratch variable for ambient occlusion on the south/top/west corner. */ - public float aoLightValueScratchXYZPPP; - /** Used as a scratch variable for ambient occlusion between the north face and the east face. */ - public float aoLightValueScratchXZNN; - /** Used as a scratch variable for ambient occlusion between the south face and the east face. */ - public float aoLightValueScratchXZPN; - /** Used as a scratch variable for ambient occlusion between the north face and the west face. */ - public float aoLightValueScratchXZNP; - /** Used as a scratch variable for ambient occlusion between the south face and the west face. */ - public float aoLightValueScratchXZPP; - /** Ambient occlusion brightness XYZNNN */ - public int aoBrightnessXYZNNN; - /** Ambient occlusion brightness XYNN */ - public int aoBrightnessXYNN; - /** Ambient occlusion brightness XYZNNP */ - public int aoBrightnessXYZNNP; - /** Ambient occlusion brightness YZNN */ - public int aoBrightnessYZNN; - /** Ambient occlusion brightness YZNP */ - public int aoBrightnessYZNP; - /** Ambient occlusion brightness XYZPNN */ - public int aoBrightnessXYZPNN; - /** Ambient occlusion brightness XYPN */ - public int aoBrightnessXYPN; - /** Ambient occlusion brightness XYZPNP */ - public int aoBrightnessXYZPNP; - /** Ambient occlusion brightness XYZNPN */ - public int aoBrightnessXYZNPN; - /** Ambient occlusion brightness XYNP */ - public int aoBrightnessXYNP; - /** Ambient occlusion brightness XYZNPP */ - public int aoBrightnessXYZNPP; - /** Ambient occlusion brightness YZPN */ - public int aoBrightnessYZPN; - /** Ambient occlusion brightness XYZPPN */ - public int aoBrightnessXYZPPN; - /** Ambient occlusion brightness XYPP */ - public int aoBrightnessXYPP; - /** Ambient occlusion brightness YZPP */ - public int aoBrightnessYZPP; - /** Ambient occlusion brightness XYZPPP */ - public int aoBrightnessXYZPPP; - /** Ambient occlusion brightness XZNN */ - public int aoBrightnessXZNN; - /** Ambient occlusion brightness XZPN */ - public int aoBrightnessXZPN; - /** Ambient occlusion brightness XZNP */ - public int aoBrightnessXZNP; - /** Ambient occlusion brightness XZPP */ - public int aoBrightnessXZPP; - /** Brightness top left */ - public int brightnessTopLeft; - /** Brightness bottom left */ - public int brightnessBottomLeft; - /** Brightness bottom right */ - public int brightnessBottomRight; - /** Brightness top right */ - public int brightnessTopRight; - /** Red color value for the top left corner */ - public float colorRedTopLeft; - /** Red color value for the bottom left corner */ - public float colorRedBottomLeft; - /** Red color value for the bottom right corner */ - public float colorRedBottomRight; - /** Red color value for the top right corner */ - public float colorRedTopRight; - /** Green color value for the top left corner */ - public float colorGreenTopLeft; - /** Green color value for the bottom left corner */ - public float colorGreenBottomLeft; - /** Green color value for the bottom right corner */ - public float colorGreenBottomRight; - /** Green color value for the top right corner */ - public float colorGreenTopRight; - /** Blue color value for the top left corner */ - public float colorBlueTopLeft; - /** Blue color value for the bottom left corner */ - public float colorBlueBottomLeft; - /** Blue color value for the bottom right corner */ - public float colorBlueBottomRight; - /** Blue color value for the top right corner */ - public float colorBlueTopRight; - /** If set to >=0, all block faces will be rendered using this texture index */ - public IIcon overrideBlockTexture; - - /** - * Clear override block texture - */ - public void clearOverrideBlockTexture() { - this.overrideBlockTexture = null; - } - - public boolean hasOverrideBlockTexture() { - return this.overrideBlockTexture != null; - } - - public IIcon getBlockIcon(Block block, IBlockAccess access, int x, int y, int z, int side) { - return this.getIconSafe(block.getIcon(access, x, y, z, side)); - } - - public IIcon getBlockIconFromSideAndMetadata(Block block, int side, int meta) { - return this.getIconSafe(block.getIcon(side, meta)); - } - - public IIcon getBlockIconFromSide(Block block, int side) { - return this.getIconSafe(block.getBlockTextureFromSide(side)); - } - - public IIcon getBlockIcon(Block block) { - return this.getIconSafe(block.getBlockTextureFromSide(1)); - } - - public IIcon getIconSafe(IIcon iicon) { - if (iicon == null) { - iicon = ((TextureMap) Minecraft.getMinecraft() - .getTextureManager() - .getTexture(TextureMap.locationBlocksTexture)).getAtlasSprite("missingno"); - } - - return (IIcon) iicon; - } - - IBlockAccess blockAccess = RenderBlocks.getInstance().blockAccess; - - public boolean renderStandardBlockWithAmbientOcclusion(IBlockAccess aWorld, RenderBlocks aRenderer, - ITexture[][] aTextures, Block block, int xPos, int yPos, int zPos, float R, float G, float B) { - this.enableAO = true; - boolean flag = false; - float f3 = 0.0F; - float f4 = 0.0F; - float f5 = 0.0F; - float f6 = 0.0F; - boolean flag1 = true; - int l = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos); - Tessellator tessellator = Tessellator.instance; - tessellator.setBrightness(983055); - - if (this.getBlockIcon(block) - .getIconName() - .equals("grass_top")) { - flag1 = false; - } else if (this.hasOverrideBlockTexture()) { - flag1 = false; - } - - boolean flag2; - boolean flag3; - boolean flag4; - boolean flag5; - int i1; - float f7; - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos, yPos - 1, zPos, 0)) { - if (this.renderMinY <= 0.0D) { - --yPos; - } - - this.aoBrightnessXYNN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - this.aoBrightnessYZNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - this.aoBrightnessYZNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - this.aoBrightnessXYPN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - this.aoLightValueScratchXYNN = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZNN = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZNP = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXYPN = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - flag2 = blockAccess.getBlock(xPos + 1, yPos - 1, zPos) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos - 1, zPos) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos, yPos - 1, zPos + 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos, yPos - 1, zPos - 1) - .getCanBlockGrass(); - - if (!flag5 && !flag3) { - this.aoLightValueScratchXYZNNN = this.aoLightValueScratchXYNN; - this.aoBrightnessXYZNNN = this.aoBrightnessXYNN; - } else { - this.aoLightValueScratchXYZNNN = blockAccess.getBlock(xPos - 1, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos - 1); - } - - if (!flag4 && !flag3) { - this.aoLightValueScratchXYZNNP = this.aoLightValueScratchXYNN; - this.aoBrightnessXYZNNP = this.aoBrightnessXYNN; - } else { - this.aoLightValueScratchXYZNNP = blockAccess.getBlock(xPos - 1, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos + 1); - } - - if (!flag5 && !flag2) { - this.aoLightValueScratchXYZPNN = this.aoLightValueScratchXYPN; - this.aoBrightnessXYZPNN = this.aoBrightnessXYPN; - } else { - this.aoLightValueScratchXYZPNN = blockAccess.getBlock(xPos + 1, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos - 1); - } - - if (!flag4 && !flag2) { - this.aoLightValueScratchXYZPNP = this.aoLightValueScratchXYPN; - this.aoBrightnessXYZPNP = this.aoBrightnessXYPN; - } else { - this.aoLightValueScratchXYZPNP = blockAccess.getBlock(xPos + 1, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos + 1); - } - - if (this.renderMinY <= 0.0D) { - ++yPos; - } - - i1 = l; - - if (this.renderMinY <= 0.0D || !blockAccess.getBlock(xPos, yPos - 1, zPos) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - } - - f7 = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - f3 = (this.aoLightValueScratchXYZNNP + this.aoLightValueScratchXYNN + this.aoLightValueScratchYZNP + f7) - / 4.0F; - f6 = (this.aoLightValueScratchYZNP + f7 + this.aoLightValueScratchXYZPNP + this.aoLightValueScratchXYPN) - / 4.0F; - f5 = (f7 + this.aoLightValueScratchYZNN + this.aoLightValueScratchXYPN + this.aoLightValueScratchXYZPNN) - / 4.0F; - f4 = (this.aoLightValueScratchXYNN + this.aoLightValueScratchXYZNNN + f7 + this.aoLightValueScratchYZNN) - / 4.0F; - this.brightnessTopLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNNP, this.aoBrightnessXYNN, this.aoBrightnessYZNP, i1); - this.brightnessTopRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZNP, this.aoBrightnessXYZPNP, this.aoBrightnessXYPN, i1); - this.brightnessBottomRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZNN, this.aoBrightnessXYPN, this.aoBrightnessXYZPNN, i1); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYNN, this.aoBrightnessXYZNNN, this.aoBrightnessYZNN, i1); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.5F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.5F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.5F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.5F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.5F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.5F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - CustomOreBlockRenderer.renderFaceYNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - flag = true; - } - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos, yPos + 1, zPos, 1)) { - if (this.renderMaxY >= 1.0D) { - ++yPos; - } - - this.aoBrightnessXYNP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - this.aoBrightnessXYPP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - this.aoBrightnessYZPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - this.aoBrightnessYZPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - this.aoLightValueScratchXYNP = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXYPP = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZPN = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZPP = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - flag2 = blockAccess.getBlock(xPos + 1, yPos + 1, zPos) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos + 1, zPos) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos, yPos + 1, zPos + 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos, yPos + 1, zPos - 1) - .getCanBlockGrass(); - - if (!flag5 && !flag3) { - this.aoLightValueScratchXYZNPN = this.aoLightValueScratchXYNP; - this.aoBrightnessXYZNPN = this.aoBrightnessXYNP; - } else { - this.aoLightValueScratchXYZNPN = blockAccess.getBlock(xPos - 1, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos - 1); - } - - if (!flag5 && !flag2) { - this.aoLightValueScratchXYZPPN = this.aoLightValueScratchXYPP; - this.aoBrightnessXYZPPN = this.aoBrightnessXYPP; - } else { - this.aoLightValueScratchXYZPPN = blockAccess.getBlock(xPos + 1, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos - 1); - } - - if (!flag4 && !flag3) { - this.aoLightValueScratchXYZNPP = this.aoLightValueScratchXYNP; - this.aoBrightnessXYZNPP = this.aoBrightnessXYNP; - } else { - this.aoLightValueScratchXYZNPP = blockAccess.getBlock(xPos - 1, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos + 1); - } - - if (!flag4 && !flag2) { - this.aoLightValueScratchXYZPPP = this.aoLightValueScratchXYPP; - this.aoBrightnessXYZPPP = this.aoBrightnessXYPP; - } else { - this.aoLightValueScratchXYZPPP = blockAccess.getBlock(xPos + 1, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos + 1); - } - - if (this.renderMaxY >= 1.0D) { - --yPos; - } - - i1 = l; - - if (this.renderMaxY >= 1.0D || !blockAccess.getBlock(xPos, yPos + 1, zPos) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - } - - f7 = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - f6 = (this.aoLightValueScratchXYZNPP + this.aoLightValueScratchXYNP + this.aoLightValueScratchYZPP + f7) - / 4.0F; - f3 = (this.aoLightValueScratchYZPP + f7 + this.aoLightValueScratchXYZPPP + this.aoLightValueScratchXYPP) - / 4.0F; - f4 = (f7 + this.aoLightValueScratchYZPN + this.aoLightValueScratchXYPP + this.aoLightValueScratchXYZPPN) - / 4.0F; - f5 = (this.aoLightValueScratchXYNP + this.aoLightValueScratchXYZNPN + f7 + this.aoLightValueScratchYZPN) - / 4.0F; - this.brightnessTopRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNPP, this.aoBrightnessXYNP, this.aoBrightnessYZPP, i1); - this.brightnessTopLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZPP, this.aoBrightnessXYZPPP, this.aoBrightnessXYPP, i1); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZPN, this.aoBrightnessXYPP, this.aoBrightnessXYZPPN, i1); - this.brightnessBottomRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYNP, this.aoBrightnessXYZNPN, this.aoBrightnessYZPN, i1); - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B; - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - CustomOreBlockRenderer.renderFaceYPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - flag = true; - } - - IIcon iicon; - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos, yPos, zPos - 1, 2)) { - if (this.renderMinZ <= 0.0D) { - --zPos; - } - - this.aoLightValueScratchXZNN = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZNN = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZPN = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZPN = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXZNN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - this.aoBrightnessYZNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - this.aoBrightnessYZPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - this.aoBrightnessXZPN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - flag2 = blockAccess.getBlock(xPos + 1, yPos, zPos - 1) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos, zPos - 1) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos, yPos + 1, zPos - 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos, yPos - 1, zPos - 1) - .getCanBlockGrass(); - - if (!flag3 && !flag5) { - this.aoLightValueScratchXYZNNN = this.aoLightValueScratchXZNN; - this.aoBrightnessXYZNNN = this.aoBrightnessXZNN; - } else { - this.aoLightValueScratchXYZNNN = blockAccess.getBlock(xPos - 1, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos - 1, zPos); - } - - if (!flag3 && !flag4) { - this.aoLightValueScratchXYZNPN = this.aoLightValueScratchXZNN; - this.aoBrightnessXYZNPN = this.aoBrightnessXZNN; - } else { - this.aoLightValueScratchXYZNPN = blockAccess.getBlock(xPos - 1, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos + 1, zPos); - } - - if (!flag2 && !flag5) { - this.aoLightValueScratchXYZPNN = this.aoLightValueScratchXZPN; - this.aoBrightnessXYZPNN = this.aoBrightnessXZPN; - } else { - this.aoLightValueScratchXYZPNN = blockAccess.getBlock(xPos + 1, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos - 1, zPos); - } - - if (!flag2 && !flag4) { - this.aoLightValueScratchXYZPPN = this.aoLightValueScratchXZPN; - this.aoBrightnessXYZPPN = this.aoBrightnessXZPN; - } else { - this.aoLightValueScratchXYZPPN = blockAccess.getBlock(xPos + 1, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos + 1, zPos); - } - - if (this.renderMinZ <= 0.0D) { - ++zPos; - } - - i1 = l; - - if (this.renderMinZ <= 0.0D || !blockAccess.getBlock(xPos, yPos, zPos - 1) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - } - - f7 = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - f3 = (this.aoLightValueScratchXZNN + this.aoLightValueScratchXYZNPN + f7 + this.aoLightValueScratchYZPN) - / 4.0F; - f4 = (f7 + this.aoLightValueScratchYZPN + this.aoLightValueScratchXZPN + this.aoLightValueScratchXYZPPN) - / 4.0F; - f5 = (this.aoLightValueScratchYZNN + f7 + this.aoLightValueScratchXYZPNN + this.aoLightValueScratchXZPN) - / 4.0F; - f6 = (this.aoLightValueScratchXYZNNN + this.aoLightValueScratchXZNN + this.aoLightValueScratchYZNN + f7) - / 4.0F; - this.brightnessTopLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZNN, this.aoBrightnessXYZNPN, this.aoBrightnessYZPN, i1); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZPN, this.aoBrightnessXZPN, this.aoBrightnessXYZPPN, i1); - this.brightnessBottomRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZNN, this.aoBrightnessXYZPNN, this.aoBrightnessXZPN, i1); - this.brightnessTopRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNNN, this.aoBrightnessXZNN, this.aoBrightnessYZNN, i1); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.8F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.8F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.8F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.8F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.8F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.8F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - iicon = this.getBlockIcon(block, blockAccess, xPos, yPos, zPos, 2); - CustomOreBlockRenderer.renderFaceZNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - - RenderBlocks.getInstance(); - if (RenderBlocks.fancyGrass && iicon.getIconName() - .equals("grass_side") && !this.hasOverrideBlockTexture()) { - this.colorRedTopLeft *= R; - this.colorRedBottomLeft *= R; - this.colorRedBottomRight *= R; - this.colorRedTopRight *= R; - this.colorGreenTopLeft *= G; - this.colorGreenBottomLeft *= G; - this.colorGreenBottomRight *= G; - this.colorGreenTopRight *= G; - this.colorBlueTopLeft *= B; - this.colorBlueBottomLeft *= B; - this.colorBlueBottomRight *= B; - this.colorBlueTopRight *= B; - CustomOreBlockRenderer.renderFaceZNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - } - - flag = true; - } - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos, yPos, zPos + 1, 3)) { - if (this.renderMaxZ >= 1.0D) { - ++zPos; - } - - this.aoLightValueScratchXZNP = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZPP = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZNP = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZPP = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXZNP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - this.aoBrightnessXZPP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - this.aoBrightnessYZNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - this.aoBrightnessYZPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - flag2 = blockAccess.getBlock(xPos + 1, yPos, zPos + 1) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos, zPos + 1) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos, yPos + 1, zPos + 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos, yPos - 1, zPos + 1) - .getCanBlockGrass(); - - if (!flag3 && !flag5) { - this.aoLightValueScratchXYZNNP = this.aoLightValueScratchXZNP; - this.aoBrightnessXYZNNP = this.aoBrightnessXZNP; - } else { - this.aoLightValueScratchXYZNNP = blockAccess.getBlock(xPos - 1, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos - 1, zPos); - } - - if (!flag3 && !flag4) { - this.aoLightValueScratchXYZNPP = this.aoLightValueScratchXZNP; - this.aoBrightnessXYZNPP = this.aoBrightnessXZNP; - } else { - this.aoLightValueScratchXYZNPP = blockAccess.getBlock(xPos - 1, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos + 1, zPos); - } - - if (!flag2 && !flag5) { - this.aoLightValueScratchXYZPNP = this.aoLightValueScratchXZPP; - this.aoBrightnessXYZPNP = this.aoBrightnessXZPP; - } else { - this.aoLightValueScratchXYZPNP = blockAccess.getBlock(xPos + 1, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos - 1, zPos); - } - - if (!flag2 && !flag4) { - this.aoLightValueScratchXYZPPP = this.aoLightValueScratchXZPP; - this.aoBrightnessXYZPPP = this.aoBrightnessXZPP; - } else { - this.aoLightValueScratchXYZPPP = blockAccess.getBlock(xPos + 1, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos + 1, zPos); - } - - if (this.renderMaxZ >= 1.0D) { - --zPos; - } - - i1 = l; - - if (this.renderMaxZ >= 1.0D || !blockAccess.getBlock(xPos, yPos, zPos + 1) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - } - - f7 = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - f3 = (this.aoLightValueScratchXZNP + this.aoLightValueScratchXYZNPP + f7 + this.aoLightValueScratchYZPP) - / 4.0F; - f6 = (f7 + this.aoLightValueScratchYZPP + this.aoLightValueScratchXZPP + this.aoLightValueScratchXYZPPP) - / 4.0F; - f5 = (this.aoLightValueScratchYZNP + f7 + this.aoLightValueScratchXYZPNP + this.aoLightValueScratchXZPP) - / 4.0F; - f4 = (this.aoLightValueScratchXYZNNP + this.aoLightValueScratchXZNP + this.aoLightValueScratchYZNP + f7) - / 4.0F; - this.brightnessTopLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZNP, this.aoBrightnessXYZNPP, this.aoBrightnessYZPP, i1); - this.brightnessTopRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZPP, this.aoBrightnessXZPP, this.aoBrightnessXYZPPP, i1); - this.brightnessBottomRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZNP, this.aoBrightnessXYZPNP, this.aoBrightnessXZPP, i1); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNNP, this.aoBrightnessXZNP, this.aoBrightnessYZNP, i1); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.8F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.8F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.8F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.8F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.8F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.8F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - iicon = this.getBlockIcon(block, blockAccess, xPos, yPos, zPos, 3); - CustomOreBlockRenderer.renderFaceZPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - - RenderBlocks.getInstance(); - if (RenderBlocks.fancyGrass && iicon.getIconName() - .equals("grass_side") && !this.hasOverrideBlockTexture()) { - this.colorRedTopLeft *= R; - this.colorRedBottomLeft *= R; - this.colorRedBottomRight *= R; - this.colorRedTopRight *= R; - this.colorGreenTopLeft *= G; - this.colorGreenBottomLeft *= G; - this.colorGreenBottomRight *= G; - this.colorGreenTopRight *= G; - this.colorBlueTopLeft *= B; - this.colorBlueBottomLeft *= B; - this.colorBlueBottomRight *= B; - this.colorBlueTopRight *= B; - CustomOreBlockRenderer.renderFaceZPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - } - - flag = true; - } - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos - 1, yPos, zPos, 4)) { - if (this.renderMinX <= 0.0D) { - --xPos; - } - - this.aoLightValueScratchXYNN = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZNN = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZNP = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXYNP = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - this.aoBrightnessXZNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - this.aoBrightnessXZNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - this.aoBrightnessXYNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - flag2 = blockAccess.getBlock(xPos - 1, yPos + 1, zPos) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos - 1, zPos) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos - 1, yPos, zPos - 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos - 1, yPos, zPos + 1) - .getCanBlockGrass(); - - if (!flag4 && !flag3) { - this.aoLightValueScratchXYZNNN = this.aoLightValueScratchXZNN; - this.aoBrightnessXYZNNN = this.aoBrightnessXZNN; - } else { - this.aoLightValueScratchXYZNNN = blockAccess.getBlock(xPos, yPos - 1, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos - 1); - } - - if (!flag5 && !flag3) { - this.aoLightValueScratchXYZNNP = this.aoLightValueScratchXZNP; - this.aoBrightnessXYZNNP = this.aoBrightnessXZNP; - } else { - this.aoLightValueScratchXYZNNP = blockAccess.getBlock(xPos, yPos - 1, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos + 1); - } - - if (!flag4 && !flag2) { - this.aoLightValueScratchXYZNPN = this.aoLightValueScratchXZNN; - this.aoBrightnessXYZNPN = this.aoBrightnessXZNN; - } else { - this.aoLightValueScratchXYZNPN = blockAccess.getBlock(xPos, yPos + 1, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos - 1); - } - - if (!flag5 && !flag2) { - this.aoLightValueScratchXYZNPP = this.aoLightValueScratchXZNP; - this.aoBrightnessXYZNPP = this.aoBrightnessXZNP; - } else { - this.aoLightValueScratchXYZNPP = blockAccess.getBlock(xPos, yPos + 1, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos + 1); - } - - if (this.renderMinX <= 0.0D) { - ++xPos; - } - - i1 = l; - - if (this.renderMinX <= 0.0D || !blockAccess.getBlock(xPos - 1, yPos, zPos) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - } - - f7 = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - f6 = (this.aoLightValueScratchXYNN + this.aoLightValueScratchXYZNNP + f7 + this.aoLightValueScratchXZNP) - / 4.0F; - f3 = (f7 + this.aoLightValueScratchXZNP + this.aoLightValueScratchXYNP + this.aoLightValueScratchXYZNPP) - / 4.0F; - f4 = (this.aoLightValueScratchXZNN + f7 + this.aoLightValueScratchXYZNPN + this.aoLightValueScratchXYNP) - / 4.0F; - f5 = (this.aoLightValueScratchXYZNNN + this.aoLightValueScratchXYNN + this.aoLightValueScratchXZNN + f7) - / 4.0F; - this.brightnessTopRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYNN, this.aoBrightnessXYZNNP, this.aoBrightnessXZNP, i1); - this.brightnessTopLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZNP, this.aoBrightnessXYNP, this.aoBrightnessXYZNPP, i1); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZNN, this.aoBrightnessXYZNPN, this.aoBrightnessXYNP, i1); - this.brightnessBottomRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNNN, this.aoBrightnessXYNN, this.aoBrightnessXZNN, i1); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.6F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.6F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.6F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.6F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.6F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.6F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - iicon = this.getBlockIcon(block, blockAccess, xPos, yPos, zPos, 4); - CustomOreBlockRenderer.renderFaceXNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - - RenderBlocks.getInstance(); - if (RenderBlocks.fancyGrass && iicon.getIconName() - .equals("grass_side") && !this.hasOverrideBlockTexture()) { - this.colorRedTopLeft *= R; - this.colorRedBottomLeft *= R; - this.colorRedBottomRight *= R; - this.colorRedTopRight *= R; - this.colorGreenTopLeft *= G; - this.colorGreenBottomLeft *= G; - this.colorGreenBottomRight *= G; - this.colorGreenTopRight *= G; - this.colorBlueTopLeft *= B; - this.colorBlueBottomLeft *= B; - this.colorBlueBottomRight *= B; - this.colorBlueTopRight *= B; - CustomOreBlockRenderer.renderFaceXNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - } - - flag = true; - } - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos + 1, yPos, zPos, 5)) { - if (this.renderMaxX >= 1.0D) { - ++xPos; - } - - this.aoLightValueScratchXYPN = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZPN = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZPP = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXYPP = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - this.aoBrightnessXZPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - this.aoBrightnessXZPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - this.aoBrightnessXYPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - flag2 = blockAccess.getBlock(xPos + 1, yPos + 1, zPos) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos + 1, yPos - 1, zPos) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos + 1, yPos, zPos + 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos + 1, yPos, zPos - 1) - .getCanBlockGrass(); - - if (!flag3 && !flag5) { - this.aoLightValueScratchXYZPNN = this.aoLightValueScratchXZPN; - this.aoBrightnessXYZPNN = this.aoBrightnessXZPN; - } else { - this.aoLightValueScratchXYZPNN = blockAccess.getBlock(xPos, yPos - 1, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos - 1); - } - - if (!flag3 && !flag4) { - this.aoLightValueScratchXYZPNP = this.aoLightValueScratchXZPP; - this.aoBrightnessXYZPNP = this.aoBrightnessXZPP; - } else { - this.aoLightValueScratchXYZPNP = blockAccess.getBlock(xPos, yPos - 1, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos + 1); - } - - if (!flag2 && !flag5) { - this.aoLightValueScratchXYZPPN = this.aoLightValueScratchXZPN; - this.aoBrightnessXYZPPN = this.aoBrightnessXZPN; - } else { - this.aoLightValueScratchXYZPPN = blockAccess.getBlock(xPos, yPos + 1, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos - 1); - } - - if (!flag2 && !flag4) { - this.aoLightValueScratchXYZPPP = this.aoLightValueScratchXZPP; - this.aoBrightnessXYZPPP = this.aoBrightnessXZPP; - } else { - this.aoLightValueScratchXYZPPP = blockAccess.getBlock(xPos, yPos + 1, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos + 1); - } - - if (this.renderMaxX >= 1.0D) { - --xPos; - } - - i1 = l; - - if (this.renderMaxX >= 1.0D || !blockAccess.getBlock(xPos + 1, yPos, zPos) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - } - - f7 = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - f3 = (this.aoLightValueScratchXYPN + this.aoLightValueScratchXYZPNP + f7 + this.aoLightValueScratchXZPP) - / 4.0F; - f4 = (this.aoLightValueScratchXYZPNN + this.aoLightValueScratchXYPN + this.aoLightValueScratchXZPN + f7) - / 4.0F; - f5 = (this.aoLightValueScratchXZPN + f7 + this.aoLightValueScratchXYZPPN + this.aoLightValueScratchXYPP) - / 4.0F; - f6 = (f7 + this.aoLightValueScratchXZPP + this.aoLightValueScratchXYPP + this.aoLightValueScratchXYZPPP) - / 4.0F; - this.brightnessTopLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYPN, this.aoBrightnessXYZPNP, this.aoBrightnessXZPP, i1); - this.brightnessTopRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZPP, this.aoBrightnessXYPP, this.aoBrightnessXYZPPP, i1); - this.brightnessBottomRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZPN, this.aoBrightnessXYZPPN, this.aoBrightnessXYPP, i1); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZPNN, this.aoBrightnessXYPN, this.aoBrightnessXZPN, i1); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.6F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.6F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.6F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.6F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.6F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.6F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - iicon = this.getBlockIcon(block, blockAccess, xPos, yPos, zPos, 5); - CustomOreBlockRenderer.renderFaceXPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - - RenderBlocks.getInstance(); - if (RenderBlocks.fancyGrass && iicon.getIconName() - .equals("grass_side") && !this.hasOverrideBlockTexture()) { - this.colorRedTopLeft *= R; - this.colorRedBottomLeft *= R; - this.colorRedBottomRight *= R; - this.colorRedTopRight *= R; - this.colorGreenTopLeft *= G; - this.colorGreenBottomLeft *= G; - this.colorGreenBottomRight *= G; - this.colorGreenTopRight *= G; - this.colorBlueTopLeft *= B; - this.colorBlueBottomLeft *= B; - this.colorBlueBottomRight *= B; - this.colorBlueTopRight *= B; - CustomOreBlockRenderer.renderFaceXPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - } - - flag = true; - } - - this.enableAO = false; - return flag; - } - - /** - * Renders non-full-cube block with ambient occusion. Args: block, x, y, z, red, green, blue (lighting) - */ - public boolean renderStandardBlockWithAmbientOcclusionPartial(IBlockAccess aWorld, RenderBlocks aRenderer, - ITexture[][] aTextures, Block block, int xPos, int yPos, int zPos, float R, float G, float B) { - this.enableAO = true; - boolean flag = false; - float f3 = 0.0F; - float f4 = 0.0F; - float f5 = 0.0F; - float f6 = 0.0F; - boolean flag1 = true; - int l = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos); - Tessellator tessellator = Tessellator.instance; - tessellator.setBrightness(983055); - - if (this.getBlockIcon(block) - .getIconName() - .equals("grass_top")) { - flag1 = false; - } else if (this.hasOverrideBlockTexture()) { - flag1 = false; - } - - boolean flag2; - boolean flag3; - boolean flag4; - boolean flag5; - int i1; - float f7; - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos, yPos - 1, zPos, 0)) { - if (this.renderMinY <= 0.0D) { - --yPos; - } - - this.aoBrightnessXYNN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - this.aoBrightnessYZNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - this.aoBrightnessYZNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - this.aoBrightnessXYPN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - this.aoLightValueScratchXYNN = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZNN = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZNP = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXYPN = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - flag2 = blockAccess.getBlock(xPos + 1, yPos - 1, zPos) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos - 1, zPos) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos, yPos - 1, zPos + 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos, yPos - 1, zPos - 1) - .getCanBlockGrass(); - - if (!flag5 && !flag3) { - this.aoLightValueScratchXYZNNN = this.aoLightValueScratchXYNN; - this.aoBrightnessXYZNNN = this.aoBrightnessXYNN; - } else { - this.aoLightValueScratchXYZNNN = blockAccess.getBlock(xPos - 1, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos - 1); - } - - if (!flag4 && !flag3) { - this.aoLightValueScratchXYZNNP = this.aoLightValueScratchXYNN; - this.aoBrightnessXYZNNP = this.aoBrightnessXYNN; - } else { - this.aoLightValueScratchXYZNNP = blockAccess.getBlock(xPos - 1, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos + 1); - } - - if (!flag5 && !flag2) { - this.aoLightValueScratchXYZPNN = this.aoLightValueScratchXYPN; - this.aoBrightnessXYZPNN = this.aoBrightnessXYPN; - } else { - this.aoLightValueScratchXYZPNN = blockAccess.getBlock(xPos + 1, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos - 1); - } - - if (!flag4 && !flag2) { - this.aoLightValueScratchXYZPNP = this.aoLightValueScratchXYPN; - this.aoBrightnessXYZPNP = this.aoBrightnessXYPN; - } else { - this.aoLightValueScratchXYZPNP = blockAccess.getBlock(xPos + 1, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos + 1); - } - - if (this.renderMinY <= 0.0D) { - ++yPos; - } - - i1 = l; - - if (this.renderMinY <= 0.0D || !blockAccess.getBlock(xPos, yPos - 1, zPos) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - } - - f7 = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - f3 = (this.aoLightValueScratchXYZNNP + this.aoLightValueScratchXYNN + this.aoLightValueScratchYZNP + f7) - / 4.0F; - f6 = (this.aoLightValueScratchYZNP + f7 + this.aoLightValueScratchXYZPNP + this.aoLightValueScratchXYPN) - / 4.0F; - f5 = (f7 + this.aoLightValueScratchYZNN + this.aoLightValueScratchXYPN + this.aoLightValueScratchXYZPNN) - / 4.0F; - f4 = (this.aoLightValueScratchXYNN + this.aoLightValueScratchXYZNNN + f7 + this.aoLightValueScratchYZNN) - / 4.0F; - this.brightnessTopLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNNP, this.aoBrightnessXYNN, this.aoBrightnessYZNP, i1); - this.brightnessTopRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZNP, this.aoBrightnessXYZPNP, this.aoBrightnessXYPN, i1); - this.brightnessBottomRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZNN, this.aoBrightnessXYPN, this.aoBrightnessXYZPNN, i1); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYNN, this.aoBrightnessXYZNNN, this.aoBrightnessYZNN, i1); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.5F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.5F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.5F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.5F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.5F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.5F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - CustomOreBlockRenderer.renderFaceYNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - flag = true; - } - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos, yPos + 1, zPos, 1)) { - if (this.renderMaxY >= 1.0D) { - ++yPos; - } - - this.aoBrightnessXYNP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - this.aoBrightnessXYPP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - this.aoBrightnessYZPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - this.aoBrightnessYZPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - this.aoLightValueScratchXYNP = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXYPP = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZPN = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZPP = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - flag2 = blockAccess.getBlock(xPos + 1, yPos + 1, zPos) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos + 1, zPos) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos, yPos + 1, zPos + 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos, yPos + 1, zPos - 1) - .getCanBlockGrass(); - - if (!flag5 && !flag3) { - this.aoLightValueScratchXYZNPN = this.aoLightValueScratchXYNP; - this.aoBrightnessXYZNPN = this.aoBrightnessXYNP; - } else { - this.aoLightValueScratchXYZNPN = blockAccess.getBlock(xPos - 1, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos - 1); - } - - if (!flag5 && !flag2) { - this.aoLightValueScratchXYZPPN = this.aoLightValueScratchXYPP; - this.aoBrightnessXYZPPN = this.aoBrightnessXYPP; - } else { - this.aoLightValueScratchXYZPPN = blockAccess.getBlock(xPos + 1, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos - 1); - } - - if (!flag4 && !flag3) { - this.aoLightValueScratchXYZNPP = this.aoLightValueScratchXYNP; - this.aoBrightnessXYZNPP = this.aoBrightnessXYNP; - } else { - this.aoLightValueScratchXYZNPP = blockAccess.getBlock(xPos - 1, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos + 1); - } - - if (!flag4 && !flag2) { - this.aoLightValueScratchXYZPPP = this.aoLightValueScratchXYPP; - this.aoBrightnessXYZPPP = this.aoBrightnessXYPP; - } else { - this.aoLightValueScratchXYZPPP = blockAccess.getBlock(xPos + 1, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos + 1); - } - - if (this.renderMaxY >= 1.0D) { - --yPos; - } - - i1 = l; - - if (this.renderMaxY >= 1.0D || !blockAccess.getBlock(xPos, yPos + 1, zPos) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - } - - f7 = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - f6 = (this.aoLightValueScratchXYZNPP + this.aoLightValueScratchXYNP + this.aoLightValueScratchYZPP + f7) - / 4.0F; - f3 = (this.aoLightValueScratchYZPP + f7 + this.aoLightValueScratchXYZPPP + this.aoLightValueScratchXYPP) - / 4.0F; - f4 = (f7 + this.aoLightValueScratchYZPN + this.aoLightValueScratchXYPP + this.aoLightValueScratchXYZPPN) - / 4.0F; - f5 = (this.aoLightValueScratchXYNP + this.aoLightValueScratchXYZNPN + f7 + this.aoLightValueScratchYZPN) - / 4.0F; - this.brightnessTopRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNPP, this.aoBrightnessXYNP, this.aoBrightnessYZPP, i1); - this.brightnessTopLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZPP, this.aoBrightnessXYZPPP, this.aoBrightnessXYPP, i1); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZPN, this.aoBrightnessXYPP, this.aoBrightnessXYZPPN, i1); - this.brightnessBottomRight = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYNP, this.aoBrightnessXYZNPN, this.aoBrightnessYZPN, i1); - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B; - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - CustomOreBlockRenderer.renderFaceYPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - flag = true; - } - - float f8; - float f9; - float f10; - float f11; - int j1; - int k1; - int l1; - int i2; - IIcon iicon; - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos, yPos, zPos - 1, 2)) { - if (this.renderMinZ <= 0.0D) { - --zPos; - } - - this.aoLightValueScratchXZNN = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZNN = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZPN = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZPN = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXZNN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - this.aoBrightnessYZNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - this.aoBrightnessYZPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - this.aoBrightnessXZPN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - flag2 = blockAccess.getBlock(xPos + 1, yPos, zPos - 1) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos, zPos - 1) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos, yPos + 1, zPos - 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos, yPos - 1, zPos - 1) - .getCanBlockGrass(); - - if (!flag3 && !flag5) { - this.aoLightValueScratchXYZNNN = this.aoLightValueScratchXZNN; - this.aoBrightnessXYZNNN = this.aoBrightnessXZNN; - } else { - this.aoLightValueScratchXYZNNN = blockAccess.getBlock(xPos - 1, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos - 1, zPos); - } - - if (!flag3 && !flag4) { - this.aoLightValueScratchXYZNPN = this.aoLightValueScratchXZNN; - this.aoBrightnessXYZNPN = this.aoBrightnessXZNN; - } else { - this.aoLightValueScratchXYZNPN = blockAccess.getBlock(xPos - 1, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos + 1, zPos); - } - - if (!flag2 && !flag5) { - this.aoLightValueScratchXYZPNN = this.aoLightValueScratchXZPN; - this.aoBrightnessXYZPNN = this.aoBrightnessXZPN; - } else { - this.aoLightValueScratchXYZPNN = blockAccess.getBlock(xPos + 1, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos - 1, zPos); - } - - if (!flag2 && !flag4) { - this.aoLightValueScratchXYZPPN = this.aoLightValueScratchXZPN; - this.aoBrightnessXYZPPN = this.aoBrightnessXZPN; - } else { - this.aoLightValueScratchXYZPPN = blockAccess.getBlock(xPos + 1, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos + 1, zPos); - } - - if (this.renderMinZ <= 0.0D) { - ++zPos; - } - - i1 = l; - - if (this.renderMinZ <= 0.0D || !blockAccess.getBlock(xPos, yPos, zPos - 1) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - } - - f7 = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - f8 = (this.aoLightValueScratchXZNN + this.aoLightValueScratchXYZNPN + f7 + this.aoLightValueScratchYZPN) - / 4.0F; - f9 = (f7 + this.aoLightValueScratchYZPN + this.aoLightValueScratchXZPN + this.aoLightValueScratchXYZPPN) - / 4.0F; - f10 = (this.aoLightValueScratchYZNN + f7 + this.aoLightValueScratchXYZPNN + this.aoLightValueScratchXZPN) - / 4.0F; - f11 = (this.aoLightValueScratchXYZNNN + this.aoLightValueScratchXZNN + this.aoLightValueScratchYZNN + f7) - / 4.0F; - f3 = (float) ((double) f8 * this.renderMaxY * (1.0D - this.renderMinX) - + (double) f9 * this.renderMaxY * this.renderMinX - + (double) f10 * (1.0D - this.renderMaxY) * this.renderMinX - + (double) f11 * (1.0D - this.renderMaxY) * (1.0D - this.renderMinX)); - f4 = (float) ((double) f8 * this.renderMaxY * (1.0D - this.renderMaxX) - + (double) f9 * this.renderMaxY * this.renderMaxX - + (double) f10 * (1.0D - this.renderMaxY) * this.renderMaxX - + (double) f11 * (1.0D - this.renderMaxY) * (1.0D - this.renderMaxX)); - f5 = (float) ((double) f8 * this.renderMinY * (1.0D - this.renderMaxX) - + (double) f9 * this.renderMinY * this.renderMaxX - + (double) f10 * (1.0D - this.renderMinY) * this.renderMaxX - + (double) f11 * (1.0D - this.renderMinY) * (1.0D - this.renderMaxX)); - f6 = (float) ((double) f8 * this.renderMinY * (1.0D - this.renderMinX) - + (double) f9 * this.renderMinY * this.renderMinX - + (double) f10 * (1.0D - this.renderMinY) * this.renderMinX - + (double) f11 * (1.0D - this.renderMinY) * (1.0D - this.renderMinX)); - j1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZNN, this.aoBrightnessXYZNPN, this.aoBrightnessYZPN, i1); - k1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZPN, this.aoBrightnessXZPN, this.aoBrightnessXYZPPN, i1); - l1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZNN, this.aoBrightnessXYZPNN, this.aoBrightnessXZPN, i1); - i2 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNNN, this.aoBrightnessXZNN, this.aoBrightnessYZNN, i1); - this.brightnessTopLeft = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - k1, - l1, - i2, - this.renderMaxY * (1.0D - this.renderMinX), - this.renderMaxY * this.renderMinX, - (1.0D - this.renderMaxY) * this.renderMinX, - (1.0D - this.renderMaxY) * (1.0D - this.renderMinX)); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - k1, - l1, - i2, - this.renderMaxY * (1.0D - this.renderMaxX), - this.renderMaxY * this.renderMaxX, - (1.0D - this.renderMaxY) * this.renderMaxX, - (1.0D - this.renderMaxY) * (1.0D - this.renderMaxX)); - this.brightnessBottomRight = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - k1, - l1, - i2, - this.renderMinY * (1.0D - this.renderMaxX), - this.renderMinY * this.renderMaxX, - (1.0D - this.renderMinY) * this.renderMaxX, - (1.0D - this.renderMinY) * (1.0D - this.renderMaxX)); - this.brightnessTopRight = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - k1, - l1, - i2, - this.renderMinY * (1.0D - this.renderMinX), - this.renderMinY * this.renderMinX, - (1.0D - this.renderMinY) * this.renderMinX, - (1.0D - this.renderMinY) * (1.0D - this.renderMinX)); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.8F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.8F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.8F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.8F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.8F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.8F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - iicon = this.getBlockIcon(block, blockAccess, xPos, yPos, zPos, 2); - CustomOreBlockRenderer.renderFaceZNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - - RenderBlocks.getInstance(); - if (RenderBlocks.fancyGrass && iicon.getIconName() - .equals("grass_side") && !this.hasOverrideBlockTexture()) { - this.colorRedTopLeft *= R; - this.colorRedBottomLeft *= R; - this.colorRedBottomRight *= R; - this.colorRedTopRight *= R; - this.colorGreenTopLeft *= G; - this.colorGreenBottomLeft *= G; - this.colorGreenBottomRight *= G; - this.colorGreenTopRight *= G; - this.colorBlueTopLeft *= B; - this.colorBlueBottomLeft *= B; - this.colorBlueBottomRight *= B; - this.colorBlueTopRight *= B; - CustomOreBlockRenderer.renderFaceZNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - } - - flag = true; - } - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos, yPos, zPos + 1, 3)) { - if (this.renderMaxZ >= 1.0D) { - ++zPos; - } - - this.aoLightValueScratchXZNP = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZPP = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZNP = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchYZPP = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXZNP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - this.aoBrightnessXZPP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - this.aoBrightnessYZNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - this.aoBrightnessYZPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - flag2 = blockAccess.getBlock(xPos + 1, yPos, zPos + 1) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos, zPos + 1) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos, yPos + 1, zPos + 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos, yPos - 1, zPos + 1) - .getCanBlockGrass(); - - if (!flag3 && !flag5) { - this.aoLightValueScratchXYZNNP = this.aoLightValueScratchXZNP; - this.aoBrightnessXYZNNP = this.aoBrightnessXZNP; - } else { - this.aoLightValueScratchXYZNNP = blockAccess.getBlock(xPos - 1, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos - 1, zPos); - } - - if (!flag3 && !flag4) { - this.aoLightValueScratchXYZNPP = this.aoLightValueScratchXZNP; - this.aoBrightnessXYZNPP = this.aoBrightnessXZNP; - } else { - this.aoLightValueScratchXYZNPP = blockAccess.getBlock(xPos - 1, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos + 1, zPos); - } - - if (!flag2 && !flag5) { - this.aoLightValueScratchXYZPNP = this.aoLightValueScratchXZPP; - this.aoBrightnessXYZPNP = this.aoBrightnessXZPP; - } else { - this.aoLightValueScratchXYZPNP = blockAccess.getBlock(xPos + 1, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos - 1, zPos); - } - - if (!flag2 && !flag4) { - this.aoLightValueScratchXYZPPP = this.aoLightValueScratchXZPP; - this.aoBrightnessXYZPPP = this.aoBrightnessXZPP; - } else { - this.aoLightValueScratchXYZPPP = blockAccess.getBlock(xPos + 1, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos + 1, zPos); - } - - if (this.renderMaxZ >= 1.0D) { - --zPos; - } - - i1 = l; - - if (this.renderMaxZ >= 1.0D || !blockAccess.getBlock(xPos, yPos, zPos + 1) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - } - - f7 = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - f8 = (this.aoLightValueScratchXZNP + this.aoLightValueScratchXYZNPP + f7 + this.aoLightValueScratchYZPP) - / 4.0F; - f9 = (f7 + this.aoLightValueScratchYZPP + this.aoLightValueScratchXZPP + this.aoLightValueScratchXYZPPP) - / 4.0F; - f10 = (this.aoLightValueScratchYZNP + f7 + this.aoLightValueScratchXYZPNP + this.aoLightValueScratchXZPP) - / 4.0F; - f11 = (this.aoLightValueScratchXYZNNP + this.aoLightValueScratchXZNP + this.aoLightValueScratchYZNP + f7) - / 4.0F; - f3 = (float) ((double) f8 * this.renderMaxY * (1.0D - this.renderMinX) - + (double) f9 * this.renderMaxY * this.renderMinX - + (double) f10 * (1.0D - this.renderMaxY) * this.renderMinX - + (double) f11 * (1.0D - this.renderMaxY) * (1.0D - this.renderMinX)); - f4 = (float) ((double) f8 * this.renderMinY * (1.0D - this.renderMinX) - + (double) f9 * this.renderMinY * this.renderMinX - + (double) f10 * (1.0D - this.renderMinY) * this.renderMinX - + (double) f11 * (1.0D - this.renderMinY) * (1.0D - this.renderMinX)); - f5 = (float) ((double) f8 * this.renderMinY * (1.0D - this.renderMaxX) - + (double) f9 * this.renderMinY * this.renderMaxX - + (double) f10 * (1.0D - this.renderMinY) * this.renderMaxX - + (double) f11 * (1.0D - this.renderMinY) * (1.0D - this.renderMaxX)); - f6 = (float) ((double) f8 * this.renderMaxY * (1.0D - this.renderMaxX) - + (double) f9 * this.renderMaxY * this.renderMaxX - + (double) f10 * (1.0D - this.renderMaxY) * this.renderMaxX - + (double) f11 * (1.0D - this.renderMaxY) * (1.0D - this.renderMaxX)); - j1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZNP, this.aoBrightnessXYZNPP, this.aoBrightnessYZPP, i1); - k1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZPP, this.aoBrightnessXZPP, this.aoBrightnessXYZPPP, i1); - l1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessYZNP, this.aoBrightnessXYZPNP, this.aoBrightnessXZPP, i1); - i2 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNNP, this.aoBrightnessXZNP, this.aoBrightnessYZNP, i1); - this.brightnessTopLeft = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - i2, - l1, - k1, - this.renderMaxY * (1.0D - this.renderMinX), - (1.0D - this.renderMaxY) * (1.0D - this.renderMinX), - (1.0D - this.renderMaxY) * this.renderMinX, - this.renderMaxY * this.renderMinX); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - i2, - l1, - k1, - this.renderMinY * (1.0D - this.renderMinX), - (1.0D - this.renderMinY) * (1.0D - this.renderMinX), - (1.0D - this.renderMinY) * this.renderMinX, - this.renderMinY * this.renderMinX); - this.brightnessBottomRight = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - i2, - l1, - k1, - this.renderMinY * (1.0D - this.renderMaxX), - (1.0D - this.renderMinY) * (1.0D - this.renderMaxX), - (1.0D - this.renderMinY) * this.renderMaxX, - this.renderMinY * this.renderMaxX); - this.brightnessTopRight = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - i2, - l1, - k1, - this.renderMaxY * (1.0D - this.renderMaxX), - (1.0D - this.renderMaxY) * (1.0D - this.renderMaxX), - (1.0D - this.renderMaxY) * this.renderMaxX, - this.renderMaxY * this.renderMaxX); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.8F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.8F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.8F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.8F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.8F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.8F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - iicon = this.getBlockIcon(block, blockAccess, xPos, yPos, zPos, 3); - CustomOreBlockRenderer.renderFaceZPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - - RenderBlocks.getInstance(); - if (RenderBlocks.fancyGrass && iicon.getIconName() - .equals("grass_side") && !this.hasOverrideBlockTexture()) { - this.colorRedTopLeft *= R; - this.colorRedBottomLeft *= R; - this.colorRedBottomRight *= R; - this.colorRedTopRight *= R; - this.colorGreenTopLeft *= G; - this.colorGreenBottomLeft *= G; - this.colorGreenBottomRight *= G; - this.colorGreenTopRight *= G; - this.colorBlueTopLeft *= B; - this.colorBlueBottomLeft *= B; - this.colorBlueBottomRight *= B; - this.colorBlueTopRight *= B; - CustomOreBlockRenderer.renderFaceZPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - } - - flag = true; - } - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos - 1, yPos, zPos, 4)) { - if (this.renderMinX <= 0.0D) { - --xPos; - } - - this.aoLightValueScratchXYNN = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZNN = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZNP = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXYNP = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - this.aoBrightnessXZNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - this.aoBrightnessXZNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - this.aoBrightnessXYNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - flag2 = blockAccess.getBlock(xPos - 1, yPos + 1, zPos) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos - 1, yPos - 1, zPos) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos - 1, yPos, zPos - 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos - 1, yPos, zPos + 1) - .getCanBlockGrass(); - - if (!flag4 && !flag3) { - this.aoLightValueScratchXYZNNN = this.aoLightValueScratchXZNN; - this.aoBrightnessXYZNNN = this.aoBrightnessXZNN; - } else { - this.aoLightValueScratchXYZNNN = blockAccess.getBlock(xPos, yPos - 1, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos - 1); - } - - if (!flag5 && !flag3) { - this.aoLightValueScratchXYZNNP = this.aoLightValueScratchXZNP; - this.aoBrightnessXYZNNP = this.aoBrightnessXZNP; - } else { - this.aoLightValueScratchXYZNNP = blockAccess.getBlock(xPos, yPos - 1, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos + 1); - } - - if (!flag4 && !flag2) { - this.aoLightValueScratchXYZNPN = this.aoLightValueScratchXZNN; - this.aoBrightnessXYZNPN = this.aoBrightnessXZNN; - } else { - this.aoLightValueScratchXYZNPN = blockAccess.getBlock(xPos, yPos + 1, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos - 1); - } - - if (!flag5 && !flag2) { - this.aoLightValueScratchXYZNPP = this.aoLightValueScratchXZNP; - this.aoBrightnessXYZNPP = this.aoBrightnessXZNP; - } else { - this.aoLightValueScratchXYZNPP = blockAccess.getBlock(xPos, yPos + 1, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos + 1); - } - - if (this.renderMinX <= 0.0D) { - ++xPos; - } - - i1 = l; - - if (this.renderMinX <= 0.0D || !blockAccess.getBlock(xPos - 1, yPos, zPos) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos - 1, yPos, zPos); - } - - f7 = blockAccess.getBlock(xPos - 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - f8 = (this.aoLightValueScratchXYNN + this.aoLightValueScratchXYZNNP + f7 + this.aoLightValueScratchXZNP) - / 4.0F; - f9 = (f7 + this.aoLightValueScratchXZNP + this.aoLightValueScratchXYNP + this.aoLightValueScratchXYZNPP) - / 4.0F; - f10 = (this.aoLightValueScratchXZNN + f7 + this.aoLightValueScratchXYZNPN + this.aoLightValueScratchXYNP) - / 4.0F; - f11 = (this.aoLightValueScratchXYZNNN + this.aoLightValueScratchXYNN + this.aoLightValueScratchXZNN + f7) - / 4.0F; - f3 = (float) ((double) f9 * this.renderMaxY * this.renderMaxZ - + (double) f10 * this.renderMaxY * (1.0D - this.renderMaxZ) - + (double) f11 * (1.0D - this.renderMaxY) * (1.0D - this.renderMaxZ) - + (double) f8 * (1.0D - this.renderMaxY) * this.renderMaxZ); - f4 = (float) ((double) f9 * this.renderMaxY * this.renderMinZ - + (double) f10 * this.renderMaxY * (1.0D - this.renderMinZ) - + (double) f11 * (1.0D - this.renderMaxY) * (1.0D - this.renderMinZ) - + (double) f8 * (1.0D - this.renderMaxY) * this.renderMinZ); - f5 = (float) ((double) f9 * this.renderMinY * this.renderMinZ - + (double) f10 * this.renderMinY * (1.0D - this.renderMinZ) - + (double) f11 * (1.0D - this.renderMinY) * (1.0D - this.renderMinZ) - + (double) f8 * (1.0D - this.renderMinY) * this.renderMinZ); - f6 = (float) ((double) f9 * this.renderMinY * this.renderMaxZ - + (double) f10 * this.renderMinY * (1.0D - this.renderMaxZ) - + (double) f11 * (1.0D - this.renderMinY) * (1.0D - this.renderMaxZ) - + (double) f8 * (1.0D - this.renderMinY) * this.renderMaxZ); - j1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYNN, this.aoBrightnessXYZNNP, this.aoBrightnessXZNP, i1); - k1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZNP, this.aoBrightnessXYNP, this.aoBrightnessXYZNPP, i1); - l1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZNN, this.aoBrightnessXYZNPN, this.aoBrightnessXYNP, i1); - i2 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZNNN, this.aoBrightnessXYNN, this.aoBrightnessXZNN, i1); - this.brightnessTopLeft = RenderBlocks.getInstance() - .mixAoBrightness( - k1, - l1, - i2, - j1, - this.renderMaxY * this.renderMaxZ, - this.renderMaxY * (1.0D - this.renderMaxZ), - (1.0D - this.renderMaxY) * (1.0D - this.renderMaxZ), - (1.0D - this.renderMaxY) * this.renderMaxZ); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .mixAoBrightness( - k1, - l1, - i2, - j1, - this.renderMaxY * this.renderMinZ, - this.renderMaxY * (1.0D - this.renderMinZ), - (1.0D - this.renderMaxY) * (1.0D - this.renderMinZ), - (1.0D - this.renderMaxY) * this.renderMinZ); - this.brightnessBottomRight = RenderBlocks.getInstance() - .mixAoBrightness( - k1, - l1, - i2, - j1, - this.renderMinY * this.renderMinZ, - this.renderMinY * (1.0D - this.renderMinZ), - (1.0D - this.renderMinY) * (1.0D - this.renderMinZ), - (1.0D - this.renderMinY) * this.renderMinZ); - this.brightnessTopRight = RenderBlocks.getInstance() - .mixAoBrightness( - k1, - l1, - i2, - j1, - this.renderMinY * this.renderMaxZ, - this.renderMinY * (1.0D - this.renderMaxZ), - (1.0D - this.renderMinY) * (1.0D - this.renderMaxZ), - (1.0D - this.renderMinY) * this.renderMaxZ); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.6F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.6F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.6F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.6F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.6F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.6F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - iicon = this.getBlockIcon(block, blockAccess, xPos, yPos, zPos, 4); - CustomOreBlockRenderer.renderFaceXNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - - RenderBlocks.getInstance(); - if (RenderBlocks.fancyGrass && iicon.getIconName() - .equals("grass_side") && !this.hasOverrideBlockTexture()) { - this.colorRedTopLeft *= R; - this.colorRedBottomLeft *= R; - this.colorRedBottomRight *= R; - this.colorRedTopRight *= R; - this.colorGreenTopLeft *= G; - this.colorGreenBottomLeft *= G; - this.colorGreenBottomRight *= G; - this.colorGreenTopRight *= G; - this.colorBlueTopLeft *= B; - this.colorBlueBottomLeft *= B; - this.colorBlueBottomRight *= B; - this.colorBlueTopRight *= B; - CustomOreBlockRenderer.renderFaceXNeg(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - } - - flag = true; - } - - if (RenderBlocks.getInstance().renderAllFaces - || block.shouldSideBeRendered(blockAccess, xPos + 1, yPos, zPos, 5)) { - if (this.renderMaxX >= 1.0D) { - ++xPos; - } - - this.aoLightValueScratchXYPN = blockAccess.getBlock(xPos, yPos - 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZPN = blockAccess.getBlock(xPos, yPos, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXZPP = blockAccess.getBlock(xPos, yPos, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoLightValueScratchXYPP = blockAccess.getBlock(xPos, yPos + 1, zPos) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos); - this.aoBrightnessXZPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos - 1); - this.aoBrightnessXZPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos, zPos + 1); - this.aoBrightnessXYPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos); - flag2 = blockAccess.getBlock(xPos + 1, yPos + 1, zPos) - .getCanBlockGrass(); - flag3 = blockAccess.getBlock(xPos + 1, yPos - 1, zPos) - .getCanBlockGrass(); - flag4 = blockAccess.getBlock(xPos + 1, yPos, zPos + 1) - .getCanBlockGrass(); - flag5 = blockAccess.getBlock(xPos + 1, yPos, zPos - 1) - .getCanBlockGrass(); - - if (!flag3 && !flag5) { - this.aoLightValueScratchXYZPNN = this.aoLightValueScratchXZPN; - this.aoBrightnessXYZPNN = this.aoBrightnessXZPN; - } else { - this.aoLightValueScratchXYZPNN = blockAccess.getBlock(xPos, yPos - 1, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos - 1); - } - - if (!flag3 && !flag4) { - this.aoLightValueScratchXYZPNP = this.aoLightValueScratchXZPP; - this.aoBrightnessXYZPNP = this.aoBrightnessXZPP; - } else { - this.aoLightValueScratchXYZPNP = blockAccess.getBlock(xPos, yPos - 1, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos - 1, zPos + 1); - } - - if (!flag2 && !flag5) { - this.aoLightValueScratchXYZPPN = this.aoLightValueScratchXZPN; - this.aoBrightnessXYZPPN = this.aoBrightnessXZPN; - } else { - this.aoLightValueScratchXYZPPN = blockAccess.getBlock(xPos, yPos + 1, zPos - 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos - 1); - } - - if (!flag2 && !flag4) { - this.aoLightValueScratchXYZPPP = this.aoLightValueScratchXZPP; - this.aoBrightnessXYZPPP = this.aoBrightnessXZPP; - } else { - this.aoLightValueScratchXYZPPP = blockAccess.getBlock(xPos, yPos + 1, zPos + 1) - .getAmbientOcclusionLightValue(); - this.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(blockAccess, xPos, yPos + 1, zPos + 1); - } - - if (this.renderMaxX >= 1.0D) { - --xPos; - } - - i1 = l; - - if (this.renderMaxX >= 1.0D || !blockAccess.getBlock(xPos + 1, yPos, zPos) - .isOpaqueCube()) { - i1 = block.getMixedBrightnessForBlock(blockAccess, xPos + 1, yPos, zPos); - } - - f7 = blockAccess.getBlock(xPos + 1, yPos, zPos) - .getAmbientOcclusionLightValue(); - f8 = (this.aoLightValueScratchXYPN + this.aoLightValueScratchXYZPNP + f7 + this.aoLightValueScratchXZPP) - / 4.0F; - f9 = (this.aoLightValueScratchXYZPNN + this.aoLightValueScratchXYPN + this.aoLightValueScratchXZPN + f7) - / 4.0F; - f10 = (this.aoLightValueScratchXZPN + f7 + this.aoLightValueScratchXYZPPN + this.aoLightValueScratchXYPP) - / 4.0F; - f11 = (f7 + this.aoLightValueScratchXZPP + this.aoLightValueScratchXYPP + this.aoLightValueScratchXYZPPP) - / 4.0F; - f3 = (float) ((double) f8 * (1.0D - this.renderMinY) * this.renderMaxZ - + (double) f9 * (1.0D - this.renderMinY) * (1.0D - this.renderMaxZ) - + (double) f10 * this.renderMinY * (1.0D - this.renderMaxZ) - + (double) f11 * this.renderMinY * this.renderMaxZ); - f4 = (float) ((double) f8 * (1.0D - this.renderMinY) * this.renderMinZ - + (double) f9 * (1.0D - this.renderMinY) * (1.0D - this.renderMinZ) - + (double) f10 * this.renderMinY * (1.0D - this.renderMinZ) - + (double) f11 * this.renderMinY * this.renderMinZ); - f5 = (float) ((double) f8 * (1.0D - this.renderMaxY) * this.renderMinZ - + (double) f9 * (1.0D - this.renderMaxY) * (1.0D - this.renderMinZ) - + (double) f10 * this.renderMaxY * (1.0D - this.renderMinZ) - + (double) f11 * this.renderMaxY * this.renderMinZ); - f6 = (float) ((double) f8 * (1.0D - this.renderMaxY) * this.renderMaxZ - + (double) f9 * (1.0D - this.renderMaxY) * (1.0D - this.renderMaxZ) - + (double) f10 * this.renderMaxY * (1.0D - this.renderMaxZ) - + (double) f11 * this.renderMaxY * this.renderMaxZ); - j1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYPN, this.aoBrightnessXYZPNP, this.aoBrightnessXZPP, i1); - k1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZPP, this.aoBrightnessXYPP, this.aoBrightnessXYZPPP, i1); - l1 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXZPN, this.aoBrightnessXYZPPN, this.aoBrightnessXYPP, i1); - i2 = RenderBlocks.getInstance() - .getAoBrightness(this.aoBrightnessXYZPNN, this.aoBrightnessXYPN, this.aoBrightnessXZPN, i1); - this.brightnessTopLeft = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - i2, - l1, - k1, - (1.0D - this.renderMinY) * this.renderMaxZ, - (1.0D - this.renderMinY) * (1.0D - this.renderMaxZ), - this.renderMinY * (1.0D - this.renderMaxZ), - this.renderMinY * this.renderMaxZ); - this.brightnessBottomLeft = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - i2, - l1, - k1, - (1.0D - this.renderMinY) * this.renderMinZ, - (1.0D - this.renderMinY) * (1.0D - this.renderMinZ), - this.renderMinY * (1.0D - this.renderMinZ), - this.renderMinY * this.renderMinZ); - this.brightnessBottomRight = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - i2, - l1, - k1, - (1.0D - this.renderMaxY) * this.renderMinZ, - (1.0D - this.renderMaxY) * (1.0D - this.renderMinZ), - this.renderMaxY * (1.0D - this.renderMinZ), - this.renderMaxY * this.renderMinZ); - this.brightnessTopRight = RenderBlocks.getInstance() - .mixAoBrightness( - j1, - i2, - l1, - k1, - (1.0D - this.renderMaxY) * this.renderMaxZ, - (1.0D - this.renderMaxY) * (1.0D - this.renderMaxZ), - this.renderMaxY * (1.0D - this.renderMaxZ), - this.renderMaxY * this.renderMaxZ); - - if (flag1) { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = R - * 0.6F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = G - * 0.6F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = B - * 0.6F; - } else { - this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = 0.6F; - this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = 0.6F; - this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = 0.6F; - } - - this.colorRedTopLeft *= f3; - this.colorGreenTopLeft *= f3; - this.colorBlueTopLeft *= f3; - this.colorRedBottomLeft *= f4; - this.colorGreenBottomLeft *= f4; - this.colorBlueBottomLeft *= f4; - this.colorRedBottomRight *= f5; - this.colorGreenBottomRight *= f5; - this.colorBlueBottomRight *= f5; - this.colorRedTopRight *= f6; - this.colorGreenTopRight *= f6; - this.colorBlueTopRight *= f6; - iicon = this.getBlockIcon(block, blockAccess, xPos, yPos, zPos, 5); - CustomOreBlockRenderer.renderFaceXPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - - RenderBlocks.getInstance(); - if (RenderBlocks.fancyGrass && iicon.getIconName() - .equals("grass_side") && !this.hasOverrideBlockTexture()) { - this.colorRedTopLeft *= R; - this.colorRedBottomLeft *= R; - this.colorRedBottomRight *= R; - this.colorRedTopRight *= R; - this.colorGreenTopLeft *= G; - this.colorGreenBottomLeft *= G; - this.colorGreenBottomRight *= G; - this.colorGreenTopRight *= G; - this.colorBlueTopLeft *= B; - this.colorBlueBottomLeft *= B; - this.colorBlueBottomRight *= B; - this.colorBlueTopRight *= B; - CustomOreBlockRenderer.renderFaceXPos(aWorld, aRenderer, block, xPos, yPos, zPos, aTextures); - } - - flag = true; - } - - this.enableAO = false; - return flag; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderDecayChest.java b/gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderDecayChest.java deleted file mode 100644 index c691bac144..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderDecayChest.java +++ /dev/null @@ -1,92 +0,0 @@ -package gtPlusPlus.core.client.renderer; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.client.model.ModelDecayChest; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest; - -@SideOnly(Side.CLIENT) -public class RenderDecayChest extends TileEntitySpecialRenderer { - - private static final ResourceLocation mChestTexture = new ResourceLocation( - GTPlusPlus.ID, - "textures/blocks/TileEntities/DecayablesChest_full.png"); - private ModelDecayChest mChestModel = new ModelDecayChest(); - - public static RenderDecayChest INSTANCE; - public final int mRenderID; - - public RenderDecayChest() { - INSTANCE = this; - this.mRenderID = RenderingRegistry.getNextAvailableRenderId(); - Logger.INFO("Registered Lead Lined Chest Renderer."); - } - - public void renderTileEntityAt(TileEntityDecayablesChest p_147500_1_, double p_147500_2_, double p_147500_4_, - double p_147500_6_, float p_147500_8_) { - - int i = 0; - - if (true) { - this.bindTexture(mChestTexture); - GL11.glPushMatrix(); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glTranslatef((float) p_147500_2_, (float) p_147500_4_ + 1.0F, (float) p_147500_6_ + 1.0F); - GL11.glScalef(1.0F, -1.0F, -1.0F); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - short short1 = 0; - - if (i == 2) { - short1 = 180; - } - - if (i == 3) { - short1 = 0; - } - - if (i == 4) { - short1 = 90; - } - - if (i == 5) { - short1 = -90; - } - - GL11.glRotatef((float) short1, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - float f1 = p_147500_1_.prevLidAngle + (p_147500_1_.lidAngle - p_147500_1_.prevLidAngle) * p_147500_8_; - - f1 = 1.0F - f1; - f1 = 1.0F - f1 * f1 * f1; - mChestModel.chestLid.rotateAngleX = -(f1 * CORE.PI / 2.0F); - mChestModel.renderAll(); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - } - } - - @Override - public void renderTileEntityAt(TileEntity p_147500_1_, double p_147500_2_, double p_147500_4_, double p_147500_6_, - float p_147500_8_) { - this.renderTileEntityAt( - (TileEntityDecayablesChest) p_147500_1_, - p_147500_2_, - p_147500_4_, - p_147500_6_, - p_147500_8_); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderMiningExplosivesPrimed.java b/gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderMiningExplosivesPrimed.java deleted file mode 100644 index 259352367d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/client/renderer/RenderMiningExplosivesPrimed.java +++ /dev/null @@ -1,111 +0,0 @@ -package gtPlusPlus.core.client.renderer; - -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 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; - -@SideOnly(Side.CLIENT) -public class RenderMiningExplosivesPrimed extends RenderTNTPrimed { - - private final RenderBlocks blockRenderer = new RenderBlocks(); - - public RenderMiningExplosivesPrimed() { - this.shadowSize = 0.5F; - Logger.WARNING("Rendering Mining Explosion. 1"); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 1.0F) { - f2 = 1.0F; - } - - f2 *= f2; - f2 *= f2; - final float f3 = 1.0F + (f2 * 0.3F); - GL11.glScalef(f3, f3, f3); - } - - f2 = (1.0F - (((entity.fuse - p_76986_9_) + 1.0F) / 100.0F)) * 0.8F; - this.bindEntityTexture(entity); - this.blockRenderer.renderBlockAsItem(ModBlocks.blockMiningExplosive, 0, entity.getBrightness(p_76986_9_)); - - if (((entity.fuse / 5) % 2) == 0) { - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA); - GL11.glColor4f(1.0F, 1.0F, 1.0F, f2); - this.blockRenderer.renderBlockAsItem(ModBlocks.blockMiningExplosive, 0, 1.0F); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - GL11.glPopMatrix(); - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(final EntityPrimedMiningExplosive p_110775_1_) { - return TextureMap.locationBlocksTexture; - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. - */ - @Override - protected ResourceLocation getEntityTexture(final Entity p_110775_1_) { - Logger.WARNING("Rendering Mining Explosion. 4"); - return this.getEntityTexture((EntityPrimedMiningExplosive) p_110775_1_); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render= 0.01D) { - float f3 = 13.0F; - float f4 = p_77043_1_.limbSwing - p_77043_1_.limbSwingAmount * (1.0F - p_77043_4_) + 6.0F; - float f5 = (Math.abs(f4 % f3 - f3 * 0.5F) - f3 * 0.25F) / (f3 * 0.25F); - GL11.glRotatef(6.5F * f5, 0.0F, 0.0F, 1.0F); - } - } - - protected void renderEquippedItems(EntityStaballoyConstruct p_77029_1_, float p_77029_2_) { - super.renderEquippedItems(p_77029_1_, p_77029_2_); - - if (p_77029_1_.getHoldRoseTick() != 0) { - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glPushMatrix(); - GL11.glRotatef( - 5.0F + 180.0F * this.staballoyGolemModel.ironGolemRightArm.rotateAngleX / (float) Math.PI, - 1.0F, - 0.0F, - 0.0F); - GL11.glTranslatef(-0.6875F, 1.25F, -0.9375F); - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - float f1 = 0.8F; - GL11.glScalef(f1, -f1, f1); - int i = p_77029_1_.getBrightnessForRender(p_77029_2_); - int j = i % 65536; - int k = i / 65536; - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j / 1.0F, k / 1.0F); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.bindTexture(TextureMap.locationBlocksTexture); - this.field_147909_c.renderBlockAsItem(Blocks.red_flower, 0, 1.0F); - GL11.glPopMatrix(); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 0) { - this.motionX *= 0.02D; - this.motionY *= 0.02D; - this.motionZ *= 0.02D; - this.setParticleTextureIndex(113); - } else { - this.setParticleTextureIndex(112); - } - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= 0.9800000190734863D; - this.motionY *= 0.9800000190734863D; - this.motionZ *= 0.9800000190734863D; - - if (this.particleMaxAge-- <= 0) { - this.setDead(); - } - if (this.onGround) { - this.setParticleTextureIndex(114); - this.motionX *= 0.699999988079071D; - this.motionZ *= 0.699999988079071D; - } - if (this.particleGravity > 0) { - Material material = this.worldObj - .getBlock(MathHelper.floor(this.posX), MathHelper.floor(this.posY), MathHelper.floor(this.posZ)) - .getMaterial(); - - if (material.isLiquid() || material.isSolid()) { - double d0 = MathHelper.floor(this.posY) + 1 - - BlockLiquid.getLiquidHeightPercent( - this.worldObj.getBlockMetadata( - MathHelper.floor(this.posX), - MathHelper.floor(this.posY), - MathHelper.floor(this.posZ))); - if (this.posY < d0) { - this.setDead(); - } - } - } else { - Material material = this.worldObj - .getBlock(MathHelper.ceil(this.posX), MathHelper.ceil(this.posY), MathHelper.ceil(this.posZ)) - .getMaterial(); - - if (material.isLiquid() || material.isSolid()) { - double d0 = MathHelper.ceil(this.posY) + 1 - - BlockLiquid.getLiquidHeightPercent( - this.worldObj.getBlockMetadata( - MathHelper.ceil(this.posX), - MathHelper.ceil(this.posY), - MathHelper.ceil(this.posZ))); - if (this.posY > d0) { - this.setDead(); - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java b/gtpp/src/main/java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java deleted file mode 100644 index 1794951248..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java +++ /dev/null @@ -1,279 +0,0 @@ -package gtPlusPlus.core.commands; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import net.minecraft.command.ICommand; -import net.minecraft.command.ICommandSender; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.NBTUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; -import gtPlusPlus.preloader.asm.AsmConfig; - -public class CommandEnableDebugWhileRunning implements ICommand { - - private final List aliases; - - public CommandEnableDebugWhileRunning() { - this.aliases = new ArrayList<>(); - this.aliases.add("gtplusplus"); - } - - @Override - public int compareTo(final Object o) { - if (o instanceof Comparable) { - @SuppressWarnings("unchecked") - Comparable a = (Comparable) o; - if (a.equals(this)) { - return 0; - } else { - return -1; - } - } - return -1; - } - - @Override - public String getCommandName() { - return "gtpp"; - } - - // Use '/gtpp' along with 'logging' or 'debug' to toggle Debug mode and Logging. - // Using nothing after the command toggles both to their opposite states respectively. - @Override - public String getCommandUsage(final ICommandSender var1) { - return "/gtpp ?"; - } - - @Override - public List getCommandAliases() { - return this.aliases; - } - - @Override - public void processCommand(final ICommandSender S, final String[] argString) { - int aMaxArgumentsAllowed = 2; - - if ((argString == null || argString.length == 0 || argString.length > aMaxArgumentsAllowed) - || argString[0].toLowerCase() - .equals("?")) { - Logger.INFO("Listing commands and their uses."); - final EntityPlayer P = CommandUtils.getPlayer(S); - AsmConfig.disableAllLogging = !AsmConfig.disableAllLogging; - PlayerUtils.messagePlayer(P, "The following are valid args for the '/gtpp' command:"); - PlayerUtils.messagePlayer(P, "? - This help command."); - PlayerUtils.messagePlayer(P, "logging - Toggles ALL GT++ logging for current session."); - PlayerUtils.messagePlayer(P, "hand - Lists information about held item."); - PlayerUtils.messagePlayer(P, "fuid xxx - Tries to find the fluid in the FluidRegistry."); - PlayerUtils.messagePlayer( - P, - "debug - Toggles GT++ Debug Mode. Only use when advised, may break everything. (OP)"); - } else if (argString[0].toLowerCase() - .equals("debug")) { - Logger.INFO("Toggling Debug Mode."); - final EntityPlayer P = CommandUtils.getPlayer(S); - if (PlayerUtils.isPlayerOP(P)) { - CORE_Preloader.DEBUG_MODE = !CORE_Preloader.DEBUG_MODE; - PlayerUtils.messagePlayer(P, "Toggled GT++ Debug Mode - Enabled: " + CORE_Preloader.DEBUG_MODE); - } - } else if (argString[0].toLowerCase() - .equals("logging")) { - Logger.INFO("Toggling Logging."); - final EntityPlayer P = CommandUtils.getPlayer(S); - AsmConfig.disableAllLogging = !AsmConfig.disableAllLogging; - PlayerUtils.messagePlayer(P, "Toggled GT++ Logging - Enabled: " + (!AsmConfig.disableAllLogging)); - } - /* - * else if (argString[0].toLowerCase().equals("test")) { ItemStack mSemiFluidgen = - * ItemUtils.simpleMetaStack("IC2:blockGenerator", 7, 1); final EntityPlayer P = CommandUtils.getPlayer(S); - * if(mSemiFluidgen != null) { PlayerUtils.messagePlayer(P, ItemUtils.getItemName(mSemiFluidgen)); } } - */ - - else if (argString[0].toLowerCase() - .equals("inv")) { - final EntityPlayer P = CommandUtils.getPlayer(S); - if (P != null && !P.worldObj.isRemote) { - ItemStack[] aInv = P.inventory.mainInventory; - for (ItemStack aItem : aInv) { - if (aItem != null) { - String aModID = GameRegistry.findUniqueIdentifierFor(aItem.getItem()).modId; - String aRegistryName = GameRegistry.findUniqueIdentifierFor(aItem.getItem()).name; - Logger.INFO( - aModID + ":" - + aRegistryName - + ":" - + aItem.getItemDamage() - + " | " - + aItem.getDisplayName()); - } - } - PlayerUtils.messagePlayer(P, "Dumped Inventory."); - } - } else if (argString[0].toLowerCase() - .equals("hand")) { - final EntityPlayer P = CommandUtils.getPlayer(S); - if (P != null) { - ItemStack aHeldItem = PlayerUtils.getItemStackInPlayersHand(P); - if (aHeldItem != null) { - String aItemDisplayName = ItemUtils.getItemName(aHeldItem); - String aItemUnlocalName = ItemUtils.getUnlocalizedItemName(aHeldItem); - String aNbtString = tryIterateNBTData(aHeldItem); - AutoMap aOreDictNames = new AutoMap<>(); - - int[] aOreIDs = OreDictionary.getOreIDs(aHeldItem); - for (int id : aOreIDs) { - String aOreNameFromID = OreDictionary.getOreName(id); - if (aOreNameFromID != null && aOreNameFromID.length() > 0 - && !aOreNameFromID.equals("Unknown")) { - aOreDictNames.add(aOreNameFromID); - } - } - - String aOreDictData = ""; - if (!aOreDictNames.isEmpty()) { - for (String tag : aOreDictNames) { - aOreDictData += (tag + ", "); - } - if (aOreDictData.endsWith(", ")) { - aOreDictData = aOreDictData.substring(0, aOreDictData.length() - 2); - } - } - - AutoMap aFluidContainerData = new AutoMap<>(); - FluidStack aHeldItemFluid = FluidContainerRegistry.getFluidForFilledItem(aHeldItem); - if (aHeldItemFluid != null) { - aFluidContainerData - .put("FluidStack Unlocal Name: " + aHeldItemFluid.getUnlocalizedName()); - aFluidContainerData.put("FluidStack Local Name: " + aHeldItemFluid.getLocalizedName()); - aFluidContainerData.put( - "Fluid Unlocal Name: " + aHeldItemFluid.getFluid() - .getUnlocalizedName()); - aFluidContainerData.put("Fluid Local Name: " + aHeldItemFluid.getLocalizedName()); - aFluidContainerData.put( - "Fluid Name: " + aHeldItemFluid.getFluid() - .getName()); - } - - PlayerUtils.messagePlayer(P, "[" + aItemUnlocalName + "]" + "[" + aItemDisplayName + "] "); - if (aFluidContainerData.size() > 0) { - for (String s : aFluidContainerData) { - PlayerUtils.messagePlayer(P, "" + s); - } - } - if (!aOreDictNames.isEmpty()) { - PlayerUtils.messagePlayer(P, "" + aOreDictData); - } - if (aNbtString.length() > 0) { - PlayerUtils.messagePlayer(P, "" + aNbtString); - } - } else { - PlayerUtils.messagePlayer(P, "No item held."); - } - } - } else if (argString[0].toLowerCase() - .equals("fluid")) { - if (argString.length > 1 && argString[1] != null && argString[1].length() > 0) { - final EntityPlayer P = CommandUtils.getPlayer(S); - FluidStack aFluid = FluidUtils.getWildcardFluidStack(argString[1], 1); - if (P != null && aFluid != null) { - PlayerUtils - .messagePlayer(P, "Found fluid stack: " + FluidRegistry.getFluidName(aFluid)); - } else if (P != null && aFluid == null) { - PlayerUtils.messagePlayer(P, "Could not find any fluids."); - } - } - } else if (argString[0].toLowerCase() - .equals("item")) { - if (argString.length > 1 && argString[1] != null && argString[1].length() > 0) { - final EntityPlayer P = CommandUtils.getPlayer(S); - ItemStack aTest = ItemUtils.getItemStackFromFQRN(argString[1], 1); - if (P != null && aTest != null) { - PlayerUtils.messagePlayer(P, "Found fluid stack: " + ItemUtils.getItemName(aTest)); - } else if (P != null && aTest == null) { - PlayerUtils.messagePlayer(P, "Could not find valid item."); - } - } - } else { - final EntityPlayer P = CommandUtils.getPlayer(S); - PlayerUtils.messagePlayer(P, "Invalid command, use '?' as an argument for help.'"); - } - } - - @Override - public boolean canCommandSenderUseCommand(final ICommandSender var1) { - if (var1 == null || CommandUtils.getPlayer(var1) == null) { - return false; - } - return true; - } - - @Override - public List addTabCompletionOptions(final ICommandSender var1, final String[] var2) { - ArrayList aTabCompletes = new ArrayList<>(); - aTabCompletes.add("?"); - aTabCompletes.add("logging"); - aTabCompletes.add("debug"); - aTabCompletes.add("hand"); - aTabCompletes.add("fluid"); - return aTabCompletes; - } - - @Override - 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) { - return true; - } - - public static String tryIterateNBTData(ItemStack aStack) { - try { - AutoMap aItemDataTags = new AutoMap<>(); - NBTTagCompound aNBT = NBTUtils.getNBT(aStack); - if (aNBT != null) { - if (!aNBT.hasNoTags()) { - Map mInternalMap = ReflectionUtils.getField(aNBT, "tagMap"); - if (mInternalMap != null) { - for (Map.Entry e : mInternalMap.entrySet()) { - aItemDataTags.add( - e.getKey() - .toString() + ":" - + e.getValue()); - } - int a = 0; - String data = ""; - for (String tag : aItemDataTags) { - data += (tag + ", "); - } - if (data.endsWith(", ")) { - data = data.substring(0, data.length() - 2); - } - return data; - } else { - Logger.INFO("Data map reflected from NBTTagCompound was not valid."); - return "Bad NBT"; - } - } - } - } catch (Throwable t) {} - return ""; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/commands/CommandMath.java b/gtpp/src/main/java/gtPlusPlus/core/commands/CommandMath.java deleted file mode 100644 index 6065044c29..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/commands/CommandMath.java +++ /dev/null @@ -1,92 +0,0 @@ -package gtPlusPlus.core.commands; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.command.ICommand; -import net.minecraft.command.ICommandSender; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.MiningUtils; - -public class CommandMath implements ICommand { - - private final List aliases; - - protected String fullEntityName; - protected Entity conjuredEntity; - - public CommandMath() { - this.aliases = new ArrayList<>(); - } - - @Override - public int compareTo(final Object o) { - return 0; - } - - @Override - public String getCommandName() { - return "alkalus"; - } - - @Override - public String getCommandUsage(final ICommandSender var1) { - return "/alkalus [Dev Command]"; - } - - @Override - public List getCommandAliases() { - return this.aliases; - } - - @Override - public void processCommand(final ICommandSender S, final String[] argString) { - Logger.INFO("Debug Command"); - final World W = S.getEntityWorld(); - final EntityPlayer P = CommandUtils.getPlayer(S); - if (P.getDisplayName() - .equalsIgnoreCase("draknyte1")) { - Logger.INFO("[Bedrock Miner] OreType Scan"); - MiningUtils.iterateAllOreTypes(); - } - } - - @Override - public boolean canCommandSenderUseCommand(final ICommandSender var1) { - final EntityPlayer P = CommandUtils.getPlayer(var1); - if (P == null) { - return false; - } - if (P.getDisplayName() - .toLowerCase() - .equals("draknyte1") - || P.getCommandSenderName() - .toLowerCase() - .equals("draknyte1") - || CORE.DEVENV) { - return true; - } - return false; - } - - @Override - public List addTabCompletionOptions(final ICommandSender var1, final String[] var2) { - return null; - } - - @Override - 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) { - - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/commands/CommandUtils.java b/gtpp/src/main/java/gtPlusPlus/core/commands/CommandUtils.java deleted file mode 100644 index 931ac5239f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/commands/CommandUtils.java +++ /dev/null @@ -1,18 +0,0 @@ -package gtPlusPlus.core.commands; - -import net.minecraft.command.ICommandSender; -import net.minecraft.entity.player.EntityPlayer; - -public class CommandUtils { - - public static EntityPlayer getPlayer(final ICommandSender icommandsender) { - EntityPlayer player; - - if (icommandsender instanceof EntityPlayer) { - player = (EntityPlayer) icommandsender; - return player; - } else { - return null; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/common/CommonProxy.java b/gtpp/src/main/java/gtPlusPlus/core/common/CommonProxy.java deleted file mode 100644 index d52b3aa112..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/common/CommonProxy.java +++ /dev/null @@ -1,210 +0,0 @@ -package gtPlusPlus.core.common; - -import net.minecraft.entity.monster.EntityBlaze; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer; - -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLLoadCompleteEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.entity.InternalEntityRegistry; -import gtPlusPlus.core.handler.BookHandler; -import gtPlusPlus.core.handler.BurnableFuelHandler; -import gtPlusPlus.core.handler.COMPAT_HANDLER; -import gtPlusPlus.core.handler.COMPAT_IntermodStaging; -import gtPlusPlus.core.handler.GuiHandler; -import gtPlusPlus.core.handler.events.EnderDragonDeathHandler; -import gtPlusPlus.core.handler.events.EntityDeathHandler; -import gtPlusPlus.core.handler.events.GeneralTooltipEventHandler; -import gtPlusPlus.core.handler.events.PlayerSleepEventHandler; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.tileentities.ModTileEntities; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; -import gtPlusPlus.xmod.gregtech.api.util.SpecialBehaviourTooltipHandler; -import gtPlusPlus.xmod.gregtech.recipes.GregtechRecipeAdder; -import gtPlusPlus.xmod.ic2.CustomInternalName; - -public class CommonProxy { - - public CommonProxy() { - // Should Register Gregtech Materials I've Made - Utils.registerEvent(this); - } - - public void preInit(final FMLPreInitializationEvent e) { - Logger.INFO("Doing some house cleaning."); - CORE.RA = new GregtechRecipeAdder(); - Logger.INFO("Created Gregtech recipe handler."); - if (!CORE_Preloader.DEBUG_MODE) { - Logger.WARNING("Development mode not enabled."); - } else if (CORE_Preloader.DEBUG_MODE) { - Logger.INFO("Development mode enabled."); - } else { - Logger.WARNING("Development mode not set."); - } - - AddToCreativeTab.initialiseTabs(); - CustomInternalName.init(); - - ModItems.init(); - ModBlocks.init(); - CI.preInit(); - COMPAT_IntermodStaging.preInit(e); - BookHandler.run(); - // Registration of entities and renderers - Logger.INFO("[Proxy] Calling Entity registration."); - registerEntities(); - Logger.INFO("[Proxy] Calling Tile Entity registration."); - registerTileEntities(); - - Logger.INFO("[Proxy] Calling Render registration."); - registerRenderThings(); - } - - public void init(final FMLInitializationEvent e) { - CI.init(); - - Utils.registerEvent(new GeneralTooltipEventHandler()); - // Handles Tooltips for items giving custom multiblock behaviour - Utils.registerEvent(new SpecialBehaviourTooltipHandler()); - // Handles Sleep Benefits - PlayerSleepEventHandler.init(); - // Handles Magic Feather - Utils.registerEvent(ModItems.itemMagicFeather); - - Utils.registerEvent(new EnderDragonDeathHandler()); - Utils.registerEvent(new EntityDeathHandler()); - - // Compat Handling - COMPAT_HANDLER.registerMyModsOreDictEntries(); - COMPAT_HANDLER.intermodOreDictionarySupport(); - COMPAT_IntermodStaging.init(e); - } - - public void postInit(final FMLPostInitializationEvent e) { - - // Make Burnables burnable - if (!CORE.burnables.isEmpty()) { - BurnableFuelHandler fuelHandler = new BurnableFuelHandler(); - GameRegistry.registerFuelHandler(fuelHandler); - Logger.INFO( - "[Fuel Handler] Registering " + fuelHandler.getClass() - .getName()); - } - - // Compat Handling - Logger.INFO("Removing recipes from other mods."); - COMPAT_HANDLER.RemoveRecipesFromOtherMods(); - Logger.INFO("Initialising Handler, Then Adding Recipes"); - COMPAT_HANDLER.InitialiseHandlerThenAddRecipes(); - Logger.INFO("Loading Intermod staging."); - COMPAT_IntermodStaging.postInit(e); - Logger.INFO("Loading queued recipes."); - COMPAT_HANDLER.runQueuedRecipes(); - Logger.INFO("Registering custom mob drops."); - registerCustomMobDrops(); - - // Moved last, to prevent recipes being generated post initialisation. - Logger.INFO("Loading Gregtech API recipes."); - COMPAT_HANDLER.startLoadingGregAPIBasedRecipes(); - } - - public void serverStarting(final FMLServerStartingEvent e) { - COMPAT_HANDLER.InitialiseLateHandlerThenAddRecipes(); - } - - public void onLoadComplete(FMLLoadCompleteEvent event) { - COMPAT_IntermodStaging.onLoadComplete(event); - COMPAT_HANDLER.onLoadComplete(event); - } - - public void registerNetworkStuff() { - GuiHandler.init(); - } - - public void registerEntities() { - InternalEntityRegistry.registerEntities(); - } - - public void registerTileEntities() { - ModTileEntities.init(); - } - - public void registerRenderThings() {} - - public int addArmor(final String armor) { - return 0; - } - - public void registerCustomMobDrops() { - - // Blazes - if (ItemUtils.doesOreDictHaveEntryFor("dustPyrotheum")) { - EntityUtils.registerDropsForMob( - EntityBlaze.class, - ItemUtils.getItemStackOfAmountFromOreDict("dustPyrotheum", 1), - 1, - 10); - EntityUtils.registerDropsForMob( - EntityBlaze.class, - ItemUtils.getItemStackOfAmountFromOreDict("dustPyrotheum", 1), - 1, - 10); - } - - // GalaxySpace Support - if (ReflectionUtils.doesClassExist("galaxyspace.core.entity.mob.EntityEvolvedColdBlaze")) { - Class aColdBlaze = ReflectionUtils.getClass("galaxyspace.core.entity.mob.EntityEvolvedColdBlaze"); - ItemStack aSmallBlizz, aTinyBlizz, aSmallCryo, aTinyCryo; - aSmallBlizz = ItemUtils.getItemStackOfAmountFromOreDict("dustSmallBlizz", 1); - aTinyBlizz = ItemUtils.getItemStackOfAmountFromOreDict("dustTinyBlizz", 1); - aSmallCryo = ItemUtils.getItemStackOfAmountFromOreDict("dustSmallCryotheum", 1); - aTinyCryo = ItemUtils.getItemStackOfAmountFromOreDict("dustTinyCryotheum", 1); - EntityUtils - .registerDropsForMob(aColdBlaze, ItemUtils.getItemStackOfAmountFromOreDict("stickBlizz", 1), 2, 500); - if (aSmallBlizz != null) { - EntityUtils.registerDropsForMob(aColdBlaze, aSmallBlizz, 2, 750); - } - if (aTinyBlizz != null) { - EntityUtils.registerDropsForMob(aColdBlaze, aTinyBlizz, 4, 1500); - } - if (aSmallCryo != null) { - EntityUtils.registerDropsForMob(aColdBlaze, aSmallCryo, 1, 50); - } - if (aTinyCryo != null) { - EntityUtils.registerDropsForMob(aColdBlaze, aTinyCryo, 2, 100); - } - } - } - - protected final AutoMap> mItemRenderMappings = new AutoMap<>(); - - public World getClientWorld() { - return null; - } - - /** - * Returns a side-appropriate EntityPlayer for use during message handling - */ - public EntityPlayer getPlayerEntity(MessageContext ctx) { - return ctx.getServerHandler().playerEntity; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java b/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java deleted file mode 100644 index e90596c876..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java +++ /dev/null @@ -1,58 +0,0 @@ -package gtPlusPlus.core.common.compat; - -import static gregtech.api.enums.Mods.Baubles; -import static gregtech.client.GT_TooltipHandler.Tier.EV; -import static gregtech.client.GT_TooltipHandler.Tier.HV; -import static gregtech.client.GT_TooltipHandler.Tier.IV; -import static gregtech.client.GT_TooltipHandler.Tier.LV; -import static gregtech.client.GT_TooltipHandler.Tier.LuV; -import static gregtech.client.GT_TooltipHandler.Tier.MV; -import static gregtech.client.GT_TooltipHandler.Tier.UHV; -import static gregtech.client.GT_TooltipHandler.Tier.UV; -import static gregtech.client.GT_TooltipHandler.Tier.ZPM; -import static gregtech.client.GT_TooltipHandler.registerTieredTooltip; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.bauble.BatteryPackBaseBauble; -import gtPlusPlus.core.item.bauble.FireProtectionBauble; -import gtPlusPlus.core.item.general.ItemCloakingDevice; -import gtPlusPlus.core.item.general.ItemHealingDevice; - -public class COMPAT_Baubles { - - public static void run() { - if (Baubles.isModLoaded()) { - baublesLoaded(); - } - } - - public static void baublesLoaded() { - Logger.INFO("Baubles Found - Loading Wearables."); - ModItems.itemPersonalCloakingDevice = new ItemCloakingDevice(0); - ModItems.itemPersonalHealingDevice = new ItemHealingDevice(); - ModItems.itemSupremePizzaGloves = new FireProtectionBauble(); - - ModItems.itemChargePack_Low_1 = new BatteryPackBaseBauble(1); - registerTieredTooltip(new ItemStack(ModItems.itemChargePack_Low_1, 1, OreDictionary.WILDCARD_VALUE), LV); - ModItems.itemChargePack_Low_2 = new BatteryPackBaseBauble(2); - registerTieredTooltip(new ItemStack(ModItems.itemChargePack_Low_2, 1, OreDictionary.WILDCARD_VALUE), MV); - ModItems.itemChargePack_Low_3 = new BatteryPackBaseBauble(3); - registerTieredTooltip(new ItemStack(ModItems.itemChargePack_Low_3, 1, OreDictionary.WILDCARD_VALUE), HV); - ModItems.itemChargePack_Low_4 = new BatteryPackBaseBauble(4); - registerTieredTooltip(new ItemStack(ModItems.itemChargePack_Low_4, 1, OreDictionary.WILDCARD_VALUE), EV); - ModItems.itemChargePack_Low_5 = new BatteryPackBaseBauble(5); - registerTieredTooltip(new ItemStack(ModItems.itemChargePack_Low_5, 1, OreDictionary.WILDCARD_VALUE), IV); - ModItems.itemChargePack_High_1 = new BatteryPackBaseBauble(6); - registerTieredTooltip(new ItemStack(ModItems.itemChargePack_High_1, 1, OreDictionary.WILDCARD_VALUE), LuV); - ModItems.itemChargePack_High_2 = new BatteryPackBaseBauble(7); - registerTieredTooltip(new ItemStack(ModItems.itemChargePack_High_2, 1, OreDictionary.WILDCARD_VALUE), ZPM); - ModItems.itemChargePack_High_3 = new BatteryPackBaseBauble(8); - registerTieredTooltip(new ItemStack(ModItems.itemChargePack_High_3, 1, OreDictionary.WILDCARD_VALUE), UV); - ModItems.itemChargePack_High_4 = new BatteryPackBaseBauble(9); - registerTieredTooltip(new ItemStack(ModItems.itemChargePack_High_4, 1, OreDictionary.WILDCARD_VALUE), UHV); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java b/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java deleted file mode 100644 index f61c70ab5b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java +++ /dev/null @@ -1,18 +0,0 @@ -package gtPlusPlus.core.common.compat; - -import net.minecraft.item.ItemStack; - -import gtPlusPlus.core.recipe.RECIPES_Tools; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class COMPAT_ExtraUtils { - - public static void OreDict() { - RECIPES_Tools.RECIPE_DivisionSigil = new ItemStack(ItemUtils.getItemFromFQRN("ExtraUtilities:divisionSigil")); - run(); - } - - private static void run() { - ItemUtils.getItemForOreDict("ExtraUtilities:bedrockiumIngot", "ingotBedrockium", "Bedrockium Ingot", 0); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_HarvestCraft.java b/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_HarvestCraft.java deleted file mode 100644 index 9a9557e418..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_HarvestCraft.java +++ /dev/null @@ -1,14 +0,0 @@ -package gtPlusPlus.core.common.compat; - -import gtPlusPlus.xmod.pamsharvest.fishtrap.FishTrapHandler; - -public class COMPAT_HarvestCraft { - - public static void OreDict() { - run(); - } - - private static void run() { - FishTrapHandler.pamsHarvestCraftCompat(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_IC2.java b/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_IC2.java deleted file mode 100644 index c442251a0e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_IC2.java +++ /dev/null @@ -1,58 +0,0 @@ -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.recipe.ShapedRecipeObject; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class COMPAT_IC2 { - - private static ItemStack itemCropnalyzer = ItemUtils.simpleMetaStack("IC2:itemCropnalyzer", 0, 1); - private static ItemStack itemSolarHelmet = ItemUtils.simpleMetaStack("IC2:itemSolarHelmet", 0, 1); - - public static ShapedRecipeObject Cropnalyzer = new ShapedRecipeObject( - "ore:cableGt02Copper", - "ore:cableGt02Copper", - null, - "minecraft:redstone", - "ore:blockGlass", - "minecraft:redstone", - "minecraft:redstone", - "ore:circuitBasic", - "minecraft:redstone", - itemCropnalyzer); - public static ShapedRecipeObject SolarHelmet = new ShapedRecipeObject( - "ore:plateIron", - "ore:plateIron", - "ore:plateIron", - "ore:plateIron", - "gregtech:gt.metaitem.01:32750", - "ore:plateIron", - "ore:craftingWireCopper", - "ore:craftingWireCopper", - "ore:craftingWireCopper", - itemSolarHelmet); - - public static void OreDict() { - run(); - } - - private static void run() { - - if (ConfigSwitches.disableIC2Recipes) { - - // Remove these. - RemoveRecipeQueue.add("IC2:itemCable"); - RemoveRecipeQueue.add("IC2:itemCable:1"); - RemoveRecipeQueue.add("IC2:itemCable:2"); - RemoveRecipeQueue.add("IC2:itemCable:3"); - RemoveRecipeQueue.add("IC2:itemCable:5"); - RemoveRecipeQueue.add("IC2:itemCable:6"); - RemoveRecipeQueue.add("IC2:itemCable:10"); - RemoveRecipeQueue.add("IC2:itemCable:13"); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java b/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java deleted file mode 100644 index d9c9fec08e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java +++ /dev/null @@ -1,47 +0,0 @@ -package gtPlusPlus.core.common.compat; - -import static gregtech.api.enums.Mods.ForbiddenMagic; - -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.core.lib.CORE.ConfigSwitches; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class COMPAT_Thaumcraft { - - public static void OreDict() { - - if (ConfigSwitches.enableThaumcraftShardUnification) { - run(); - } - } - - private static void run() { - - for (int i = 0; i <= 6; i++) { - ItemUtils.getItemForOreDict("Thaumcraft:ItemShard", "shardAny", "TC Shard " + i, i); - GT_OreDictUnificator - .registerOre("shardAny", ItemUtils.getItemStackFromFQRN("Thaumcraft:ItemShard:" + i, 1)); - ItemUtils.getItemForOreDict("Thaumcraft:ItemShard", "gemInfusedAnything", "TC Shard " + i, i); - GT_OreDictUnificator - .registerOre("gemInfusedAnything", ItemUtils.getItemStackFromFQRN("Thaumcraft:ItemShard:" + i, 1)); - } - - if (ForbiddenMagic.isModLoaded()) { - for (int i = 0; i <= 6; i++) { - ItemUtils.getItemForOreDict("ForbiddenMagic:NetherShard", "shardAny", "FM Shard " + i, i); - GT_OreDictUnificator - .registerOre("shardAny", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:NetherShard:" + i, 1)); - ItemUtils.getItemForOreDict("ForbiddenMagic:NetherShard", "gemInfusedAnything", "FM Shard " + i, i); - GT_OreDictUnificator.registerOre( - "gemInfusedAnything", - ItemUtils.getItemStackFromFQRN("ForbiddenMagic:NetherShard:" + i, 1)); - } - ItemUtils.getItemForOreDict("ForbiddenMagic:GluttonyShard", "shardAny", "FM Gluttony Shard", 0); - GT_OreDictUnificator - .registerOre("shardAny", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:GluttonyShard", 1)); - ItemUtils.getItemForOreDict("ForbiddenMagic:GluttonyShard", "gemInfusedAnything", "FM Gluttony Shard", 0); - GT_OreDictUnificator - .registerOre("gemInfusedAnything", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:GluttonyShard", 1)); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Witchery.java b/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Witchery.java deleted file mode 100644 index f6fdd87eec..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/common/compat/COMPAT_Witchery.java +++ /dev/null @@ -1,28 +0,0 @@ -package gtPlusPlus.core.common.compat; - -import static gregtech.api.enums.Mods.Witchery; - -import net.minecraft.item.ItemStack; - -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class COMPAT_Witchery { - - public static void OreDict() { - run(); - } - - private static void run() { - // Koboldite - ItemStack aKobolditeDust = ItemUtils - .getItemStackWithMeta(Witchery.isModLoaded(), "witchery:ingredient", "Koboldite Dust", 148, 1); - ItemStack aKobolditeNugget = ItemUtils - .getItemStackWithMeta(Witchery.isModLoaded(), "witchery:ingredient", "Koboldite Nugget", 149, 1); - ItemStack aKobolditeIngot = ItemUtils - .getItemStackWithMeta(Witchery.isModLoaded(), "witchery:ingredient", "Koboldite Ingot", 150, 1); - if (aKobolditeDust != null) GT_OreDictUnificator.registerOre("dust" + "Koboldite", aKobolditeDust); - if (aKobolditeNugget != null) GT_OreDictUnificator.registerOre("nugget" + "Koboldite", aKobolditeNugget); - if (aKobolditeIngot != null) GT_OreDictUnificator.registerOre("ingot" + "Koboldite", aKobolditeIngot); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/config/ConfigHandler.java b/gtpp/src/main/java/gtPlusPlus/core/config/ConfigHandler.java deleted file mode 100644 index 162d5b0f12..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/config/ConfigHandler.java +++ /dev/null @@ -1,670 +0,0 @@ -package gtPlusPlus.core.config; - -import static gregtech.api.enums.Mods.GregTech; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.MACHINE_INFO; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.baseMaxPollutionPerSecondRocketFuelGenerator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.baseMinPollutionPerSecondRocketFuelGenerator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.basePollutionPerSecondBoiler; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.basePollutionPerSecondGeothermalGenerator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.basePollutionPerSecondSemiFluidGenerator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.boilerSteamPerSecond; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.disableIC2Recipes; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.dumpItemAndBlockData; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableAnimatedTextures; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustomCapes; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustom_Cables; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustom_Pipes; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_Dehydrators; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_FluidTanks; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_GeothermalEngines; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_Pollution; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_RocketEngines; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_SimpleWasher; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_SteamConverter; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_Tesseracts; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_AlloyBlastSmelter; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_Cyclotron; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialCentrifuge; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialElectrolyzer; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialExtrudingMachine; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialFishingPort; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialMacerationStack; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialMultiMachine; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialPlatePress; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialSifter; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialThermalCentrifuge; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialWashPlant; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialWireMill; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_LargeAutoCrafter; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_LiquidFluorideThoriumReactor; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_MatterFabricator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_MultiTank; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_NuclearFuelRefinery; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_NuclearSaltProcessingPlant; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_PowerSubstation; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_ThermalBoiler; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableThaumcraftShardUnification; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableWatchdogBGM; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.hideUniversalCells; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiABS; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAdvDistillationTower_ModeDT; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAdvDistillationTower_ModeDistillery; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAdvEBF; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAdvImplosion; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAlgaePond; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAutoCrafter; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiCyclotron; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiFrothFlotationCell; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialAlloySmelter; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialArcFurnace; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCentrifuge; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialChisel; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCokeOven; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCuttingMachine; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialDehydrator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialElectrolyzer; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialExtruder; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialFishingPond; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialForgeHammer; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMacerator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMixer; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialPlatePress_ModeBending; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialPlatePress_ModeForming; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialRockBreaker; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialSifter; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialThermalCentrifuge; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialVacuumFreezer; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWashPlant_ModeWasher; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWireMill; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIsaMill; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiLargeSemiFluidGenerator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiMassFabricator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiMolecularTransformer; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiPackager; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiRefinery; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiThermalBoiler; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiTreeFarm; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionReleasedByTierBoiler; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionReleasedByTierGeothermalGenerator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionReleasedByTierSemiFluidGenerator; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.showHiddenNEIItems; -import static gtPlusPlus.core.lib.CORE.EVERGLADESBIOME_ID; -import static gtPlusPlus.core.lib.CORE.EVERGLADES_ID; -import static gtPlusPlus.core.lib.CORE.turbineCutoffBase; - -import java.io.File; - -import net.minecraftforge.common.config.Configuration; - -import cpw.mods.fml.common.event.FMLPreInitializationEvent; - -public class ConfigHandler { - - public static void handleConfigFile(final FMLPreInitializationEvent event) { - final Configuration config = new Configuration( - new File(event.getModConfigurationDirectory(), "GTplusplus/GTplusplus.cfg")); - config.load(); - - // Debug - /* - * DEBUG = config.getBoolean("debugMode", "debug", false, - * "Enables all sorts of debug logging. (Don't use unless told to, breaks other things.)"); - */ - MACHINE_INFO = config.getBoolean( - "enableMachineInfoLogging", - "debug", - false, - "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 - enableThaumcraftShardUnification = config.getBoolean( - "enableThaumcraftShardUnification", - "machines", - false, - "Allows the use of TC shards across many recipes by oreDicting them into a common group."); - disableIC2Recipes = config.getBoolean( - "disableIC2Recipes", - "machines", - false, - "Alkaluscraft Related - Removes IC2 Cables Except glass fibre. Few other Misc Tweaks."); - 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)"); - - // GT-Fixes - turbineCutoffBase = config.getInt( - "turbineCutoffBase", - GregTech.ID, - 75000, - 0, - Integer.MAX_VALUE, - "Rotors below this durability will be removed, prevents NEI clutter. Minimum Durability is N * x, where N is the new value set and x is the turbine size, where 1 is Tiny and 4 is Huge. Set to 0 to disable."); - - // Pipes & Cables - enableCustom_Pipes = config.getBoolean("enableCustom_Pipes", GregTech.ID, true, "Adds Custom GT Fluid Pipes."); - enableCustom_Cables = config.getBoolean("enableCustom_Cables", GregTech.ID, true, "Adds Custom GT Cables."); - - enableMachine_Dehydrators = config - .getBoolean("enableMachineDehydrators", GregTech.ID, true, "These dehydrate stuff."); - enableMachine_SteamConverter = config - .getBoolean("enableMachineSteamConverter", GregTech.ID, true, "Converts IC2 steam -> Railcraft steam."); - enableMachine_FluidTanks = config - .getBoolean("enableMachineFluidTanks", GregTech.ID, true, "Portable fluid tanks."); - enableMachine_RocketEngines = config.getBoolean( - "enableMachineRocketEngines", - GregTech.ID, - true, - "Diesel egines with different internals, they consume less fuel overall."); - enableMachine_GeothermalEngines = config.getBoolean( - "enableMachineGeothermalEngines", - GregTech.ID, - true, - "These may be overpowered, Consult a local geologist."); - enableMachine_Tesseracts = config - .getBoolean("enableMachineTesseracts", GregTech.ID, true, "Tesseracts for wireless item/fluid movement."); - enableMachine_SimpleWasher = config.getBoolean( - "enableMachineSimpleWasher", - GregTech.ID, - true, - "Very basic automated cauldron for dust washing."); - enableMachine_Pollution = config - .getBoolean("enableMachinePollution", GregTech.ID, true, "Pollution Detector & Scrubbers."); - - // Multi machines - enableMultiblock_AlloyBlastSmelter = config.getBoolean( - "enableMultiblockAlloyBlastSmelter", - GregTech.ID, - true, - "Required to smelt most high tier materials from GT++. Also smelts everything else to molten metal."); - enableMultiblock_IndustrialCentrifuge = config - .getBoolean("enableMultiblockIndustrialCentrifuge", GregTech.ID, true, "Spin, Spin, Spiiiin."); - enableMultiblock_IndustrialCokeOven = config.getBoolean( - "enableMultiblockIndustrialCokeOven", - GregTech.ID, - true, - "Pyro Oven Alternative, older, more realistic, better."); - enableMultiblock_IndustrialElectrolyzer = config.getBoolean( - "enableMultiblockIndustrialElectrolyzer", - GregTech.ID, - true, - "Electrolyzes things with extra bling factor."); - enableMultiblock_IndustrialMacerationStack = config.getBoolean( - "enableMultiblockIndustrialMacerationStack", - GregTech.ID, - true, - "A hyper efficient maceration tower, nets more bonus outputs."); - enableMultiblock_IndustrialPlatePress = config.getBoolean( - "enableMultiblockIndustrialPlatePress", - GregTech.ID, - true, - "Industrial bendering machine thingo."); - enableMultiblock_IndustrialWireMill = config.getBoolean( - "enableMultiblockIndustrialWireMill", - GregTech.ID, - true, - "Produces fine wire and exotic cables."); - enableMultiblock_MatterFabricator = config - .getBoolean("enableMultiblockMatterFabricator", GregTech.ID, true, "?FAB?RIC?ATE MA?TT?ER."); - enableMultiblock_MultiTank = config.getBoolean( - "enableMultiblockMultiTank", - GregTech.ID, - true, - "Tall tanks, each layer adds extra fluid storage."); - enableMultiblock_PowerSubstation = config - .getBoolean("enableMultiblockPowerSubstation", GregTech.ID, true, "For managing large power grids."); - enableMultiblock_LiquidFluorideThoriumReactor = config.getBoolean( - "enableMultiblockLiquidFluorideThoriumReactor", - GregTech.ID, - true, - "For supplying large power grids."); - enableMultiblock_NuclearFuelRefinery = config.getBoolean( - "enableMultiblock_NuclearFuelRefinery", - GregTech.ID, - true, - "Refines molten chemicals into nuclear fuels."); - enableMultiblock_NuclearSaltProcessingPlant = config.getBoolean( - "enableMultiblockNuclearSaltProcessingPlant", - GregTech.ID, - true, - "Reprocesses depleted nuclear salts into useful chemicals."); - enableMultiblock_IndustrialSifter = config - .getBoolean("enableMultiblock_IndustrialSifter", GregTech.ID, true, "Large scale sifting."); - enableMultiblock_LargeAutoCrafter = config.getBoolean( - "enableMultiblock_LargeAutoCrafter", - GregTech.ID, - true, - "Can Assemble, Disassemble and Craft Project data from Data Sticks."); - enableMultiblock_IndustrialThermalCentrifuge = config.getBoolean( - "enableMultiblock_IndustrialThermalCentrifuge", - GregTech.ID, - true, - "Your warm spin for the ore thing."); - enableMultiblock_IndustrialWashPlant = config.getBoolean( - "enableMultiblock_IndustrialWashPlant", - GregTech.ID, - true, - "Used to wash the dirt, riiiiight offff.."); - enableMultiblock_ThermalBoiler = config.getBoolean( - "enableMachineThermalBoiler", - GregTech.ID, - true, - "Thermal Boiler from GT4. Can Filter Lava for resources."); - enableMultiblock_IndustrialCuttingMachine = config.getBoolean( - "enableMultiblock_IndustrialCuttingMachine", - GregTech.ID, - true, - "Very fast and efficient Cutting Machine."); - enableMultiblock_IndustrialFishingPort = config - .getBoolean("enableMultiblock_IndustrialFishingPort", GregTech.ID, true, "Fish the seas, except on land."); - enableMultiblock_IndustrialExtrudingMachine = config.getBoolean( - "enableMultiblock_IndustrialExtrudingMachine", - GregTech.ID, - true, - "Very fast and efficient Extruding Machine."); - enableMultiblock_IndustrialMultiMachine = config.getBoolean( - "enableMultiblock_IndustrialMultiMachine", - GregTech.ID, - true, - "Can run recipes for 9 different types of machines."); - enableMultiblock_Cyclotron = config - .getBoolean("enableMultiblock_Cyclotron", GregTech.ID, true, "COMET - Scientific Cyclotron."); - - // Features - enableCustomCapes = config.getBoolean("enableSupporterCape", "features", true, "Enables Custom GT++ Cape."); - - enableWatchdogBGM = config.getInt( - "enableWatchdogBGM", - "features", - 0, - 0, - Short.MAX_VALUE, - "Set to a value greater than 0 to reduce the ticks taken to delay between BGM tracks. Acceptable Values are 1-32767, where 0 is disabled. Vanilla Uses 12,000 & 24,000. 200 is 10s."); - hideUniversalCells = config - .getBoolean("hideUniversalCells", "features", true, "Hides every filled IC2 Universal Cell from NEI."); - - // Biomes - 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."); - - // Pollution - pollutionPerSecondMultiPackager = config - .get( - "pollution", - "pollutionPerSecondMultiPackager", - pollutionPerSecondMultiPackager, - "pollution rate in gibbl/s for the Amazon warehousing depot") - .getInt(pollutionPerSecondMultiPackager); - pollutionPerSecondMultiIndustrialAlloySmelter = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialAlloySmelter", - pollutionPerSecondMultiIndustrialAlloySmelter, - "pollution rate in gibbl/s for the Alloy blast smelter") - .getInt(pollutionPerSecondMultiIndustrialAlloySmelter); - pollutionPerSecondMultiIndustrialArcFurnace = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialArcFurnace", - pollutionPerSecondMultiIndustrialArcFurnace, - "pollution rate in gibbl/s for the High current arc furnace") - .getInt(pollutionPerSecondMultiIndustrialArcFurnace); - pollutionPerSecondMultiIndustrialCentrifuge = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialCentrifuge", - pollutionPerSecondMultiIndustrialCentrifuge, - "pollution rate in gibbl/s for the Industrial centrifuge") - .getInt(pollutionPerSecondMultiIndustrialCentrifuge); - pollutionPerSecondMultiIndustrialCokeOven = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialCokeOven", - pollutionPerSecondMultiIndustrialCokeOven, - "pollution rate in gibbl/s for the Industrial coke oven") - .getInt(pollutionPerSecondMultiIndustrialCokeOven); - pollutionPerSecondMultiIndustrialCuttingMachine = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialCuttingMachine", - pollutionPerSecondMultiIndustrialCuttingMachine, - "pollution rate in gibbl/s for the Cutting factory") - .getInt(pollutionPerSecondMultiIndustrialCuttingMachine); - pollutionPerSecondMultiIndustrialDehydrator = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialDehydrator", - pollutionPerSecondMultiIndustrialDehydrator, - "pollution rate in gibbl/s for the Utupu-Tanuri") - .getInt(pollutionPerSecondMultiIndustrialDehydrator); - pollutionPerSecondMultiIndustrialElectrolyzer = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialElectrolyzer", - pollutionPerSecondMultiIndustrialElectrolyzer, - "pollution rate in gibbl/s for the Industrial electrolyzer") - .getInt(pollutionPerSecondMultiIndustrialElectrolyzer); - pollutionPerSecondMultiIndustrialExtruder = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialExtruder", - pollutionPerSecondMultiIndustrialExtruder, - "pollution rate in gibbl/s for the Industrial extrusion machine") - .getInt(pollutionPerSecondMultiIndustrialExtruder); - pollutionPerSecondMultiIndustrialMacerator = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialMacerator", - pollutionPerSecondMultiIndustrialMacerator, - "pollution rate in gibbl/s for the Maceration stack") - .getInt(pollutionPerSecondMultiIndustrialMacerator); - pollutionPerSecondMultiIndustrialMixer = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialMixer", - pollutionPerSecondMultiIndustrialMixer, - "pollution rate in gibbl/s for the Industrial mixing machine") - .getInt(pollutionPerSecondMultiIndustrialMixer); - pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal", - pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal, - "pollution rate in gibbl/s for the Large processing factory in metal mode") - .getInt(pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal); - pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid", - pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid, - "pollution rate in gibbl/s for the Large processing factory in fluid mode") - .getInt(pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid); - pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc", - pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc, - "pollution rate in gibbl/s for the Large processing factory in misc mode") - .getInt(pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc); - pollutionPerSecondMultiIndustrialPlatePress_ModeForming = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialPlatePress_ModeForming", - pollutionPerSecondMultiIndustrialPlatePress_ModeForming, - "pollution rate in gibbl/s for the Industrial material press in forming mode") - .getInt(pollutionPerSecondMultiIndustrialPlatePress_ModeForming); - pollutionPerSecondMultiIndustrialPlatePress_ModeBending = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialPlatePress_ModeBending", - pollutionPerSecondMultiIndustrialPlatePress_ModeBending, - "pollution rate in gibbl/s for the Industrial material press in bending mode") - .getInt(pollutionPerSecondMultiIndustrialPlatePress_ModeBending); - pollutionPerSecondMultiIndustrialForgeHammer = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialForgeHammer", - pollutionPerSecondMultiIndustrialForgeHammer, - "pollution rate in gibbl/s for the Industrial Forge Hammer") - .getInt(pollutionPerSecondMultiIndustrialForgeHammer); - pollutionPerSecondMultiIndustrialSifter = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialSifter", - pollutionPerSecondMultiIndustrialSifter, - "pollution rate in gibbl/s for the Large Sifter") - .getInt(pollutionPerSecondMultiIndustrialSifter); - pollutionPerSecondMultiIndustrialThermalCentrifuge = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialThermalCentrifuge", - pollutionPerSecondMultiIndustrialThermalCentrifuge, - "pollution rate in gibbl/s for the Large thermal refinery") - .getInt(pollutionPerSecondMultiIndustrialThermalCentrifuge); - pollutionPerSecondMultiIndustrialVacuumFreezer = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialVacuumFreezer", - pollutionPerSecondMultiIndustrialVacuumFreezer, - "pollution rate in gibbl/s for the Cryogenic freezer") - .getInt(pollutionPerSecondMultiIndustrialVacuumFreezer); - pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath", - pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath, - "pollution rate in gibbl/s for the Ore washing plant in chemical bath mode") - .getInt(pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath); - pollutionPerSecondMultiIndustrialWashPlant_ModeWasher = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialWashPlant_ModeWasher", - pollutionPerSecondMultiIndustrialWashPlant_ModeWasher, - "pollution rate in gibbl/s for the Ore washing plant in ore washer mode") - .getInt(pollutionPerSecondMultiIndustrialWashPlant_ModeWasher); - pollutionPerSecondMultiIndustrialWireMill = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialWireMill", - pollutionPerSecondMultiIndustrialWireMill, - "pollution rate in gibbl/s for the Wire factory") - .getInt(pollutionPerSecondMultiIndustrialWireMill); - pollutionPerSecondMultiIsaMill = config - .get( - "pollution", - "pollutionPerSecondMultiIsaMill", - pollutionPerSecondMultiIsaMill, - "pollution rate in gibbl/s for the IsaMill grinding machine") - .getInt(pollutionPerSecondMultiIsaMill); - pollutionPerSecondMultiAdvDistillationTower_ModeDistillery = config - .get( - "pollution", - "pollutionPerSecondMultiAdvDistillationTower_ModeDistillery", - pollutionPerSecondMultiAdvDistillationTower_ModeDistillery, - "pollution rate in gibbl/s for the Dangote distillus in distillery mode") - .getInt(pollutionPerSecondMultiAdvDistillationTower_ModeDistillery); - pollutionPerSecondMultiAdvDistillationTower_ModeDT = config - .get( - "pollution", - "pollutionPerSecondMultiAdvDistillationTower_ModeDT", - pollutionPerSecondMultiAdvDistillationTower_ModeDT, - "pollution rate in gibbl/s for the Dangote distillus in distillation tower mode") - .getInt(pollutionPerSecondMultiAdvDistillationTower_ModeDT); - pollutionPerSecondMultiAdvEBF = config - .get( - "pollution", - "pollutionPerSecondMultiAdvEBF", - pollutionPerSecondMultiAdvEBF, - "pollution rate in gibbl/s for the Volcanus") - .getInt(pollutionPerSecondMultiAdvEBF); - pollutionPerSecondMultiAdvImplosion = config - .get( - "pollution", - "pollutionPerSecondMultiAdvImplosion", - pollutionPerSecondMultiAdvImplosion, - "pollution rate in gibbl/s for the Density^2") - .getInt(pollutionPerSecondMultiAdvImplosion); - pollutionPerSecondMultiABS = config - .get( - "pollution", - "pollutionPerSecondMultiABS", - pollutionPerSecondMultiABS, - "pollution rate in gibbl/s for the Alloy blast furnace") - .getInt(pollutionPerSecondMultiABS); - pollutionPerSecondMultiCyclotron = config - .get( - "pollution", - "pollutionPerSecondMultiCyclotron", - pollutionPerSecondMultiCyclotron, - "pollution rate in gibbl/s for the Cyclotron") - .getInt(pollutionPerSecondMultiCyclotron); - pollutionPerSecondMultiIndustrialFishingPond = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialFishingPond", - pollutionPerSecondMultiIndustrialFishingPond, - "pollution rate in gibbl/s for the Zuhai - fishing port") - .getInt(pollutionPerSecondMultiIndustrialFishingPond); - // pollutionPerSecondMultiLargeRocketEngine; - pollutionPerSecondMultiLargeSemiFluidGenerator = config - .get( - "pollution", - "pollutionPerSecondMultiLargeSemiFluidGenerator", - pollutionPerSecondMultiLargeSemiFluidGenerator, - "pollution rate in gibbl/s for the Large semifluid burner") - .getInt(pollutionPerSecondMultiLargeSemiFluidGenerator); - pollutionPerSecondMultiMassFabricator = config - .get( - "pollution", - "pollutionPerSecondMultiMassFabricator", - pollutionPerSecondMultiMassFabricator, - "pollution rate in gibbl/s for the Matter fabrication CPU") - .getInt(pollutionPerSecondMultiMassFabricator); - pollutionPerSecondMultiRefinery = config - .get( - "pollution", - "pollutionPerSecondMultiRefinery", - pollutionPerSecondMultiRefinery, - "pollution rate in gibbl/s for the Reactor fuel processing plant") - .getInt(pollutionPerSecondMultiRefinery); - // pollutionPerSecondMultiGeneratorArray; - pollutionPerSecondMultiIndustrialRockBreaker = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialRockBreaker", - pollutionPerSecondMultiIndustrialRockBreaker, - "pollution rate in gibbl/s for the Industrial Rock Breaker") - .getInt(pollutionPerSecondMultiIndustrialRockBreaker); - pollutionPerSecondMultiIndustrialChisel = config - .get( - "pollution", - "pollutionPerSecondMultiIndustrialChisel", - pollutionPerSecondMultiIndustrialChisel, - "pollution rate in gibbl/s for the Industrial Chisel") - .getInt(pollutionPerSecondMultiIndustrialChisel); - pollutionPerSecondMultiTreeFarm = config - .get( - "pollution", - "pollutionPerSecondMultiTreeFarm", - pollutionPerSecondMultiTreeFarm, - "pollution rate in gibbl/s for the Tree growth simulator") - .getInt(pollutionPerSecondMultiTreeFarm); - pollutionPerSecondMultiFrothFlotationCell = config - .get( - "pollution", - "pollutionPerSecondMultiFrothFlotationCell", - pollutionPerSecondMultiFrothFlotationCell, - "pollution rate in gibbl/s for the Flotation cell regulator") - .getInt(pollutionPerSecondMultiFrothFlotationCell); - pollutionPerSecondMultiAutoCrafter = config - .get( - "pollution", - "pollutionPerSecondMultiAutoCrafter", - pollutionPerSecondMultiAutoCrafter, - "pollution rate in gibbl/s for the Large-Scale auto assembler v1.01") - .getInt(pollutionPerSecondMultiAutoCrafter); - pollutionPerSecondMultiMolecularTransformer = config - .get( - "pollution", - "pollutionPerSecondMultiMolecularTransformer", - pollutionPerSecondMultiMolecularTransformer, - "pollution rate in gibbl/s for the Multiblock Molecular Transformer") - .getInt(pollutionPerSecondMultiMolecularTransformer); - pollutionPerSecondMultiThermalBoiler = config - .get( - "pollution", - "pollutionPerSecondMultiThermalBoiler", - pollutionPerSecondMultiThermalBoiler, - "pollution rate in gibbl/s for the Thermal boiler") - .getInt(pollutionPerSecondMultiThermalBoiler); - pollutionPerSecondMultiAlgaePond = config - .get( - "pollution", - "pollutionPerSecondMultiAlgaePond", - pollutionPerSecondMultiAlgaePond, - "pollution rate in gibbl/s for the Algae farm") - .getInt(pollutionPerSecondMultiAlgaePond); - basePollutionPerSecondSemiFluidGenerator = config - .get( - "pollution", - "basePollutionPerSecondSemiFluidGenerator", - basePollutionPerSecondSemiFluidGenerator, - "base pollution rate in gibbl/s for the single block semi fluid generators") - .getInt(basePollutionPerSecondSemiFluidGenerator); - pollutionReleasedByTierSemiFluidGenerator = config.get( - "pollution", - "pollutionReleasedByTierSemiFluidGenerator", - pollutionReleasedByTierSemiFluidGenerator, - "coefficient applied to the base rate of the single block semi fluid generators based on its tier (first is tier 0 aka ULV)") - .getDoubleList(); - basePollutionPerSecondBoiler = config - .get( - "pollution", - "basePollutionPerSecondBoiler", - basePollutionPerSecondBoiler, - "base pollution rate in gibbl/s for the single block boilers") - .getInt(basePollutionPerSecondBoiler); - pollutionReleasedByTierBoiler = config.get( - "pollution", - "pollutionReleasedByTierBoiler", - pollutionReleasedByTierBoiler, - "coefficient applied to the base rate of the single block semi fluid generators based on its tier (first is tier 0 aka ULV)") - .getDoubleList(); - baseMinPollutionPerSecondRocketFuelGenerator = config - .get( - "pollution", - "baseMinPollutionPerSecondRocketFuelGenerator", - baseMinPollutionPerSecondRocketFuelGenerator, - "minimum base pollution rate in gibbl/s for the single block rocket engines") - .getInt(baseMinPollutionPerSecondRocketFuelGenerator); - baseMaxPollutionPerSecondRocketFuelGenerator = config - .get( - "pollution", - "baseMaxPollutionPerSecondRocketFuelGenerator", - baseMaxPollutionPerSecondRocketFuelGenerator, - "maximum base pollution rate in gibbl/s for the single block rocket engines") - .getInt(baseMaxPollutionPerSecondRocketFuelGenerator); - pollutionReleasedByTierRocketFuelGenerator = config.get( - "pollution", - "pollutionReleasedByTierRocketFuelGenerator", - pollutionReleasedByTierRocketFuelGenerator, - "coefficient applied to the base rate of the single block rocket engines based on its tier (first is tier 0 aka ULV)") - .getDoubleList(); - basePollutionPerSecondGeothermalGenerator = config - .get( - "pollution", - "basePollutionPerSecondGeothermalGenerator", - basePollutionPerSecondGeothermalGenerator, - "base pollution rate in gibbl/s for the geothermal engines") - .getInt(basePollutionPerSecondGeothermalGenerator); - pollutionReleasedByTierGeothermalGenerator = config.get( - "pollution", - "pollutionReleasedByTierGeothermalGenerator", - pollutionReleasedByTierGeothermalGenerator, - "coefficient applied to the base rate of the single block geothermal engines based on its tier (first is tier 0 aka ULV)") - .getDoubleList(); - - // Visual - enableAnimatedTextures = config - .getBoolean("enableAnimatedTextures", "visual", true, "Enables Animated GT++ Textures, Requires Restart"); - config.save(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/container/Container_CircuitProgrammer.java b/gtpp/src/main/java/gtPlusPlus/core/container/Container_CircuitProgrammer.java deleted file mode 100644 index f1e84f439f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/container/Container_CircuitProgrammer.java +++ /dev/null @@ -1,176 +0,0 @@ -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.InventoryCircuitProgrammer; -import gtPlusPlus.core.slots.SlotIntegratedCircuit; -import gtPlusPlus.core.slots.SlotNoInput; -import gtPlusPlus.core.tileentities.general.TileEntityCircuitProgrammer; - -public class Container_CircuitProgrammer extends Container { - - protected TileEntityCircuitProgrammer tile_entity; - public final InventoryCircuitProgrammer inventoryChest; - - private final World worldObj; - private final int posX; - private final int posY; - private final int posZ; - - public static final int SLOT_OUTPUT = 25; - - public static int StorageSlotNumber = 26; // Number of slots in storage area - public static int InventorySlotNumber = 36; // Inventory Slots (Inventory - // and Hotbar) - public static int FullSlotNumber = InventorySlotNumber + StorageSlotNumber; // All - // slots - - public Container_CircuitProgrammer(final InventoryPlayer inventory, final TileEntityCircuitProgrammer te) { - this.tile_entity = te; - this.inventoryChest = te.getInventory(); - - int var6; - int var7; - this.worldObj = te.getWorldObj(); - this.posX = te.xCoord; - this.posY = te.yCoord; - this.posZ = te.zCoord; - Logger.INFO("1"); - - int o = 0; - - // Storage Side - /* - * for (var6 = 0; var6 < 3; var6++) { for (var7 = 0; var7 < 5; var7++) { this.addSlotToContainer(new - * SlotIntegratedCircuit(o, this.inventoryChest, o, 44 + (var7 * 18), 15 + (var6 * 18))); o++; } } - */ - - int xStart = 8; - int yStart = 5; - - try { - // 0 - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart, yStart)); - // 1-10 - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 18, yStart)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 36, yStart)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 54, yStart)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 72, yStart)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 90, yStart)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 108, yStart)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 18, yStart + 18)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 36, yStart + 18)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 54, yStart + 18)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 72, yStart + 18)); - // 11-20 - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 90, yStart + 18)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 108, yStart + 18)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 18, yStart + 36)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 36, yStart + 36)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 54, yStart + 36)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 72, yStart + 36)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 90, yStart + 36)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 108, yStart + 36)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 18, yStart + 54)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 36, yStart + 54)); - // 21-24 - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 54, yStart + 54)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 72, yStart + 54)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 90, yStart + 54)); - this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart + 108, yStart + 54)); - Logger.INFO("2"); - - // Add Output - this.addSlotToContainer(new SlotNoInput(this.inventoryChest, SLOT_OUTPUT, xStart + (8 * 18), yStart + 54)); - o++; - Logger.INFO("3"); - - // Player Inventory - for (var6 = 0; var6 < 3; ++var6) { - for (var7 = 0; var7 < 9; ++var7) { - this.addSlotToContainer( - new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18))); - } - } - // Player Hotbar - for (var6 = 0; var6 < 9; ++var6) { - this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142)); - } - - Logger.INFO("4"); - } catch (Throwable t) {} - } - - @Override - public ItemStack slotClick(final int aSlotIndex, final int aMouseclick, final int aShifthold, - final EntityPlayer aPlayer) { - - if (!aPlayer.worldObj.isRemote) { - if ((aSlotIndex == 999) || (aSlotIndex == -999)) { - // Utils.LOG_WARNING("??? - "+aSlotIndex); - } - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void onContainerClosed(final EntityPlayer par1EntityPlayer) { - super.onContainerClosed(par1EntityPlayer); - } - - @Override - public boolean canInteractWith(final EntityPlayer par1EntityPlayer) { - if (this.worldObj.getBlock(this.posX, this.posY, this.posZ) != ModBlocks.blockCircuitProgrammer) { - return false; - } - - return par1EntityPlayer.getDistanceSq(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D) <= 64D; - } - - @Override - public ItemStack transferStackInSlot(final EntityPlayer par1EntityPlayer, final int par2) { - ItemStack var3 = null; - final Slot var4 = (Slot) this.inventorySlots.get(par2); - - if ((var4 != null) && var4.getHasStack()) { - final ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - /* - * if (par2 == 0) { if (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, true)) { return null; - * } var4.onSlotChange(var5, var3); } else if (par2 >= InOutputSlotNumber && par2 < InventoryOutSlotNumber) - * { if (!this.mergeItemStack(var5, InventoryOutSlotNumber, FullSlotNumber, false)) { return null; } } else - * if (par2 >= InventoryOutSlotNumber && par2 < FullSlotNumber) { if (!this.mergeItemStack(var5, - * InOutputSlotNumber, InventoryOutSlotNumber, false)) { return null; } } else if - * (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, false)) { return null; } - */ - - if (var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - - if (var5.stackSize == var3.stackSize) { - return null; - } - - var4.onPickupFromSlot(par1EntityPlayer, var5); - } - - return var3; - } - - // Can merge Slot - @Override - public boolean func_94530_a(final ItemStack p_94530_1_, final Slot p_94530_2_) { - return super.func_94530_a(p_94530_1_, p_94530_2_); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/container/Container_DecayablesChest.java b/gtpp/src/main/java/gtPlusPlus/core/container/Container_DecayablesChest.java deleted file mode 100644 index d8bab9395a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/container/Container_DecayablesChest.java +++ /dev/null @@ -1,133 +0,0 @@ -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.core.block.ModBlocks; -import gtPlusPlus.core.inventories.Inventory_DecayablesChest; -import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest; - -public class Container_DecayablesChest extends Container { - - protected TileEntityDecayablesChest tile_entity; - public final Inventory_DecayablesChest inventoryChest; - - private final World worldObj; - private final int posX; - private final int posY; - private final int posZ; - - public static int StorageSlotNumber = 15; // Number of slots in storage area - public static int InventorySlotNumber = 36; // Inventory Slots (Inventory - // and Hotbar) - public static int FullSlotNumber = InventorySlotNumber + StorageSlotNumber; // All - // slots - - private final int[] slotStorage = new int[15]; - - public Container_DecayablesChest(final InventoryPlayer inventory, final TileEntityDecayablesChest te) { - this.tile_entity = te; - this.inventoryChest = te.getInventory(); - te.openInventory(); - - int var6; - int var7; - this.worldObj = te.getWorldObj(); - this.posX = te.xCoord; - this.posY = te.yCoord; - this.posZ = te.zCoord; - - int o = 0; - - // Storage Side - for (var6 = 0; var6 < 3; var6++) { - for (var7 = 0; var7 < 5; var7++) { - this.slotStorage[o] = o; - this.addSlotToContainer(new Slot(this.inventoryChest, o++, 44 + (var7 * 18), 15 + (var6 * 18))); - } - } - - // Player Inventory - for (var6 = 0; var6 < 3; ++var6) { - for (var7 = 0; var7 < 9; ++var7) { - this.addSlotToContainer(new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18))); - } - } - - // Player Hotbar - for (var6 = 0; var6 < 9; ++var6) { - this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142)); - } - } - - @Override - public ItemStack slotClick(final int aSlotIndex, final int aMouseclick, final int aShifthold, - final EntityPlayer aPlayer) { - - if (!aPlayer.worldObj.isRemote) { - if ((aSlotIndex == 999) || (aSlotIndex == -999)) { - // Utils.LOG_WARNING("??? - "+aSlotIndex); - } - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void onContainerClosed(final EntityPlayer par1EntityPlayer) { - super.onContainerClosed(par1EntityPlayer); - tile_entity.closeInventory(); - } - - @Override - public boolean canInteractWith(final EntityPlayer par1EntityPlayer) { - if (this.worldObj.getBlock(this.posX, this.posY, this.posZ) != ModBlocks.blockDecayablesChest) { - return false; - } - - return par1EntityPlayer.getDistanceSq(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D) <= 64D; - } - - @Override - public ItemStack transferStackInSlot(final EntityPlayer par1EntityPlayer, final int par2) { - ItemStack var3 = null; - final Slot var4 = (Slot) this.inventorySlots.get(par2); - - if ((var4 != null) && var4.getHasStack()) { - final ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - /* - * if (par2 == 0) { if (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, true)) { return null; - * } var4.onSlotChange(var5, var3); } else if (par2 >= InOutputSlotNumber && par2 < InventoryOutSlotNumber) - * { if (!this.mergeItemStack(var5, InventoryOutSlotNumber, FullSlotNumber, false)) { return null; } } else - * if (par2 >= InventoryOutSlotNumber && par2 < FullSlotNumber) { if (!this.mergeItemStack(var5, - * InOutputSlotNumber, InventoryOutSlotNumber, false)) { return null; } } else if - * (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, false)) { return null; } - */ - - if (var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - - if (var5.stackSize == var3.stackSize) { - return null; - } - - var4.onPickupFromSlot(par1EntityPlayer, var5); - } - - return var3; - } - - // Can merge Slot - @Override - public boolean func_94530_a(final ItemStack p_94530_1_, final Slot p_94530_2_) { - return super.func_94530_a(p_94530_1_, p_94530_2_); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/container/Container_FishTrap.java b/gtpp/src/main/java/gtPlusPlus/core/container/Container_FishTrap.java deleted file mode 100644 index 881311897f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/container/Container_FishTrap.java +++ /dev/null @@ -1,134 +0,0 @@ -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.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; - public final InventoryFishTrap inventoryChest; - - private final World worldObj; - private final int posX; - private final int posY; - private final int posZ; - - public static int StorageSlotNumber = 15; // Number of slots in storage area - public static int InventorySlotNumber = 36; // Inventory Slots (Inventory - // and Hotbar) - public static int FullSlotNumber = InventorySlotNumber + StorageSlotNumber; // All - // slots - - private final int[] slotStorage = new int[15]; - - public Container_FishTrap(final InventoryPlayer inventory, final TileEntityFishTrap te) { - this.tile_entity = te; - this.inventoryChest = te.getInventory(); - - te.openInventory(); - int var6; - int var7; - this.worldObj = te.getWorldObj(); - this.posX = te.xCoord; - this.posY = te.yCoord; - this.posZ = te.zCoord; - - int o = 0; - - // Storage Side - for (var6 = 0; var6 < 3; var6++) { - for (var7 = 0; var7 < 5; var7++) { - this.slotStorage[o] = o; - this.addSlotToContainer(new SlotNoInput(this.inventoryChest, o++, 44 + (var7 * 18), 15 + (var6 * 18))); - } - } - - // Player Inventory - for (var6 = 0; var6 < 3; ++var6) { - for (var7 = 0; var7 < 9; ++var7) { - this.addSlotToContainer(new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18))); - } - } - - // Player Hotbar - for (var6 = 0; var6 < 9; ++var6) { - this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142)); - } - } - - @Override - public ItemStack slotClick(final int aSlotIndex, final int aMouseclick, final int aShifthold, - final EntityPlayer aPlayer) { - - if (!aPlayer.worldObj.isRemote) { - if ((aSlotIndex == 999) || (aSlotIndex == -999)) { - // Utils.LOG_WARNING("??? - "+aSlotIndex); - } - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void onContainerClosed(final EntityPlayer par1EntityPlayer) { - super.onContainerClosed(par1EntityPlayer); - tile_entity.closeInventory(); - } - - @Override - public boolean canInteractWith(final EntityPlayer par1EntityPlayer) { - if (this.worldObj.getBlock(this.posX, this.posY, this.posZ) != ModBlocks.blockFishTrap) { - return false; - } - - return par1EntityPlayer.getDistanceSq(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D) <= 64D; - } - - @Override - public ItemStack transferStackInSlot(final EntityPlayer par1EntityPlayer, final int par2) { - ItemStack var3 = null; - final Slot var4 = (Slot) this.inventorySlots.get(par2); - - if ((var4 != null) && var4.getHasStack()) { - final ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - /* - * if (par2 == 0) { if (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, true)) { return null; - * } var4.onSlotChange(var5, var3); } else if (par2 >= InOutputSlotNumber && par2 < InventoryOutSlotNumber) - * { if (!this.mergeItemStack(var5, InventoryOutSlotNumber, FullSlotNumber, false)) { return null; } } else - * if (par2 >= InventoryOutSlotNumber && par2 < FullSlotNumber) { if (!this.mergeItemStack(var5, - * InOutputSlotNumber, InventoryOutSlotNumber, false)) { return null; } } else if - * (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, false)) { return null; } - */ - - if (var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - - if (var5.stackSize == var3.stackSize) { - return null; - } - - var4.onPickupFromSlot(par1EntityPlayer, var5); - } - - return var3; - } - - // Can merge Slot - @Override - public boolean func_94530_a(final ItemStack p_94530_1_, final Slot p_94530_2_) { - return super.func_94530_a(p_94530_1_, p_94530_2_); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/container/Container_PestKiller.java b/gtpp/src/main/java/gtPlusPlus/core/container/Container_PestKiller.java deleted file mode 100644 index d6afa0d68f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/container/Container_PestKiller.java +++ /dev/null @@ -1,147 +0,0 @@ -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 net.minecraftforge.fluids.FluidStack; - -import gregtech.api.gui.GT_Slot_Render; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.inventories.InventoryPestKiller; -import gtPlusPlus.core.slots.SlotGeneric; -import gtPlusPlus.core.slots.SlotNoInput; -import gtPlusPlus.core.tileentities.machines.TileEntityPestKiller; - -public class Container_PestKiller extends Container { - - public TileEntityPestKiller tile_entity; - public final InventoryPestKiller inventoryChest; - - private final World worldObj; - private final int posX; - private final int posY; - private final int posZ; - - public static int StorageSlotNumber = 3; // Number of slots in storage area - public static int InventorySlotNumber = 36; // Inventory Slots (Inventory - // and Hotbar) - public static int FullSlotNumber = InventorySlotNumber + StorageSlotNumber; // All - // slots - - public Container_PestKiller(final InventoryPlayer inventory, final TileEntityPestKiller te) { - this.tile_entity = te; - this.inventoryChest = te.getInventory(); - te.openInventory(); - int var6; - int var7; - this.worldObj = te.getWorldObj(); - this.posX = te.xCoord; - this.posY = te.yCoord; - this.posZ = te.zCoord; - int o = 0; - - int aSlotX = 134; - - this.addSlotToContainer(new SlotGeneric(this.inventoryChest, o++, aSlotX, 10)); - this.addSlotToContainer(new SlotNoInput(this.inventoryChest, o++, aSlotX, 60)); - addSlotToContainer(new GT_Slot_Render(tile_entity, o++, aSlotX, 35)); - - // Player Inventory - for (var6 = 0; var6 < 3; ++var6) { - for (var7 = 0; var7 < 9; ++var7) { - this.addSlotToContainer(new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18))); - } - } - - // Player Hotbar - for (var6 = 0; var6 < 9; ++var6) { - this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142)); - } - } - - public FluidStack getFluidOfStoredTank() { - if (tile_entity != null) { - if (tile_entity.getTank() != null) { - return tile_entity.getTank() - .getFluid(); - } - } - return null; - } - - public int getFluidStoredAmount() { - FluidStack f = getFluidOfStoredTank(); - return f == null ? 0 : f.amount; - } - - @Override - public ItemStack slotClick(final int aSlotIndex, final int aMouseclick, final int aShifthold, - final EntityPlayer aPlayer) { - boolean fluid = false; - if (aSlotIndex == 2) { - fluid = true; - } - if (!fluid) { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } else { - return null; - } - } - - @Override - public void onContainerClosed(final EntityPlayer par1EntityPlayer) { - super.onContainerClosed(par1EntityPlayer); - tile_entity.closeInventory(); - } - - @Override - public boolean canInteractWith(final EntityPlayer par1EntityPlayer) { - if (this.worldObj.getBlock(this.posX, this.posY, this.posZ) != ModBlocks.blockPestKiller) { - return false; - } - return par1EntityPlayer.getDistanceSq(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D) <= 64D; - } - - @Override - public ItemStack transferStackInSlot(final EntityPlayer par1EntityPlayer, final int par2) { - ItemStack var3 = null; - final Slot var4 = (Slot) this.inventorySlots.get(par2); - - if ((var4 != null) && var4.getHasStack()) { - final ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - /* - * if (par2 == 0) { if (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, true)) { return null; - * } var4.onSlotChange(var5, var3); } else if (par2 >= InOutputSlotNumber && par2 < InventoryOutSlotNumber) - * { if (!this.mergeItemStack(var5, InventoryOutSlotNumber, FullSlotNumber, false)) { return null; } } else - * if (par2 >= InventoryOutSlotNumber && par2 < FullSlotNumber) { if (!this.mergeItemStack(var5, - * InOutputSlotNumber, InventoryOutSlotNumber, false)) { return null; } } else if - * (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, false)) { return null; } - */ - - if (var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - - if (var5.stackSize == var3.stackSize) { - return null; - } - - var4.onPickupFromSlot(par1EntityPlayer, var5); - } - - return var3; - } - - // Can merge Slot - @Override - public boolean func_94530_a(final ItemStack p_94530_1_, final Slot p_94530_2_) { - return super.func_94530_a(p_94530_1_, p_94530_2_); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/container/Container_ProjectTable.java b/gtpp/src/main/java/gtPlusPlus/core/container/Container_ProjectTable.java deleted file mode 100644 index 1702be19ab..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/container/Container_ProjectTable.java +++ /dev/null @@ -1,196 +0,0 @@ -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.IInventory; -import net.minecraft.inventory.InventoryCraftResult; -import net.minecraft.inventory.InventoryCrafting; -import net.minecraft.inventory.Slot; -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). */ - public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 3); - - public IInventory craftResult = new InventoryCraftResult(); - - protected TileEntityProjectTable tile_entity; - public final InventoryProjectMain inventoryGrid; - public final InventoryProjectOutput inventoryOutputs; - - private final World worldObj; - private final int posX; - private final int posY; - private final int posZ; - - private final int[] slotOutputs = new int[2]; - private final int[] slotGrid = new int[9]; - - public Container_ProjectTable(final InventoryPlayer inventory, final TileEntityProjectTable tile) { - this.tile_entity = tile; - this.inventoryGrid = tile.inventoryGrid; - this.inventoryOutputs = tile.inventoryOutputs; - this.tile_entity.setContainer(this); - - int var6; - int var7; - this.worldObj = tile.getWorldObj(); - this.posX = tile.xCoord; - this.posY = tile.yCoord; - this.posZ = tile.zCoord; - - int nextFreeSlot = 0; - - // Output slots - this.addSlotToContainer(new SlotDataStick(this.inventoryOutputs, 0, 26 + (18 * 6), 8)); - this.addSlotToContainer(new SlotNoInput(this.inventoryOutputs, 1, 26 + (18 * 6), 44)); - - this.addSlotToContainer( - new SlotCraftingNoCollect(inventory.player, this.craftMatrix, this.craftResult, 0, 26 + (18 * 4), 25)); - - int o = 0; - // Storage Side - for (var6 = 0; var6 < 3; ++var6) { - for (var7 = 0; var7 < 3; ++var7) { - this.addSlotToContainer( - new Slot(this.craftMatrix, nextFreeSlot, 8 + 18 + (var7 * 18), 8 + (var6 * 18))); - this.slotGrid[o] = nextFreeSlot; - nextFreeSlot++; - o++; - } - } - - // Player Inventory - for (var6 = 0; var6 < 3; ++var6) { - for (var7 = 0; var7 < 9; ++var7) { - this.addSlotToContainer(new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18))); - } - } - - // Player Hotbar - for (var6 = 0; var6 < 9; ++var6) { - this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142)); - } - - this.onCraftMatrixChanged(this.craftMatrix); - } - - /** - * Callback for when the crafting matrix is changed. - */ - @Override - public void onCraftMatrixChanged(IInventory p_75130_1_) { - this.craftResult.setInventorySlotContents( - 0, - CraftingManager.getInstance() - .findMatchingRecipe(this.craftMatrix, this.worldObj)); - } - - /** - * Called when the container is closed. - */ - @Override - public void onContainerClosed(EntityPlayer p_75134_1_) { - super.onContainerClosed(p_75134_1_); - if (!this.worldObj.isRemote) { - for (int i = 0; i < 9; ++i) { - ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i); - if (itemstack != null) { - p_75134_1_.dropPlayerItemWithRandomChoice(itemstack, false); - } - } - } - } - - @Override - public ItemStack slotClick(final int aSlotIndex, final int aMouseclick, final int aShifthold, - final EntityPlayer aPlayer) { - - if (!aPlayer.worldObj.isRemote) { - if ((aSlotIndex == 999) || (aSlotIndex == -999)) { - // Utils.LOG_WARNING("??? - "+aSlotIndex); - } - - if (aSlotIndex == 0) { - Logger.INFO("Player Clicked on the Data Stick slot"); - // TODO - } - if (aSlotIndex == 1) { - Logger.INFO("Player Clicked on the output slot"); - // TODO - } - - for (final int x : this.slotGrid) { - if (aSlotIndex == x) { - Logger.INFO("Player Clicked slot " + aSlotIndex + " in the crafting Grid"); - } - } - } - // Utils.LOG_WARNING("Player Clicked slot "+aSlotIndex+" in the Grid"); - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public boolean canInteractWith(final EntityPlayer par1EntityPlayer) { - if (this.worldObj.getBlock(this.posX, this.posY, this.posZ) != ModBlocks.blockProjectTable) { - return false; - } - - return par1EntityPlayer.getDistanceSq(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D) <= 64D; - } - - @Override - public ItemStack transferStackInSlot(final EntityPlayer par1EntityPlayer, final int par2) { - - return null; - - /* - * ItemStack var3 = null; final Slot var4 = (Slot)this.inventorySlots.get(par2); if ((var4 != null) && - * var4.getHasStack()) { final ItemStack var5 = var4.getStack(); var3 = var5.copy(); if (par2 == 0) { if - * (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, true)) { return null; } - * var4.onSlotChange(var5, var3); } else if ((par2 >= InOutputSlotNumber) && (par2 < InventoryOutSlotNumber)) { - * if (!this.mergeItemStack(var5, InventoryOutSlotNumber, FullSlotNumber, false)) { return null; } } else if - * ((par2 >= InventoryOutSlotNumber) && (par2 < FullSlotNumber)) { if (!this.mergeItemStack(var5, - * InOutputSlotNumber, InventoryOutSlotNumber, false)) { return null; } } else if (!this.mergeItemStack(var5, - * InOutputSlotNumber, FullSlotNumber, false)) { return null; } if (var5.stackSize == 0) { - * var4.putStack((ItemStack)null); } else { var4.onSlotChanged(); } if (var5.stackSize == var3.stackSize) { - * return null; } var4.onPickupFromSlot(par1EntityPlayer, var5); } return var3; - */ - } - - // Can merge Slot - @Override - public boolean func_94530_a(ItemStack p_94530_1_, Slot p_94530_2_) { - return p_94530_2_.inventory != this.craftResult && super.func_94530_a(p_94530_1_, p_94530_2_); - } - - public ItemStack getOutputContent() { - ItemStack output = this.craftResult.getStackInSlot(0); - if (output != null) { - return output; - } - return null; - } - - public ItemStack[] getInputComponents() { - ItemStack inputs[] = new ItemStack[9]; - for (int r = 0; r < this.craftMatrix.getSizeInventory(); r++) { - ItemStack temp = this.craftMatrix.getStackInSlot(r); - inputs[r] = temp; - } - return inputs; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/container/Container_SuperJukebox.java b/gtpp/src/main/java/gtPlusPlus/core/container/Container_SuperJukebox.java deleted file mode 100644 index ab7525c897..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/container/Container_SuperJukebox.java +++ /dev/null @@ -1,232 +0,0 @@ -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.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -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.block.machine.Machine_SuperJukebox.TileEntitySuperJukebox; -import gtPlusPlus.core.inventories.Inventory_SuperJukebox; -import gtPlusPlus.core.slots.SlotJukebox; -import gtPlusPlus.core.slots.SlotNoInput; - -public class Container_SuperJukebox extends Container { - - protected TileEntitySuperJukebox tile_entity; - public final Inventory_SuperJukebox inventoryChest; - - private final World worldObj; - private final int posX; - private final int posY; - private final int posZ; - - public static final int SLOT_HOLO_PLAY = 18; - public static final int SLOT_HOLO_LOOP = 19; - public static final int SLOT_OUTPUT = 20; - - public static int StorageSlotNumber = 26; // Number of slots in storage area - public static int InventorySlotNumber = 36; // Inventory Slots (Inventory - // and Hotbar) - public static int FullSlotNumber = InventorySlotNumber + StorageSlotNumber; // All - // slots - - public Container_SuperJukebox(final InventoryPlayer inventory, final TileEntitySuperJukebox te) { - this.tile_entity = te; - this.inventoryChest = te.getInventory(); - - int var6; - int var7; - this.worldObj = te.getWorldObj(); - this.posX = te.xCoord; - this.posY = te.yCoord; - this.posZ = te.zCoord; - Logger.INFO("1"); - - int o = 0; - - // Storage Side - /* - * for (var6 = 0; var6 < 3; var6++) { for (var7 = 0; var7 < 5; var7++) { this.addSlotToContainer(new - * SlotIntegratedCircuit(o, this.inventoryChest, o, 44 + (var7 * 18), 15 + (var6 * 18))); o++; } } - */ - - int xStart = 9; - int yStart = 20; - - try { - - // Row One - for (int c = 0; c < 9; c++) { - if (c >= 3 && c < 6) { - continue; - } - this.addSlotToContainer(new SlotJukebox(this.inventoryChest, o++, xStart + (18 * c), yStart)); - } - - // Row Two - for (int c = 0; c < 9; c++) { - if (c >= 3 && c < 6) { - continue; - } - this.addSlotToContainer(new SlotJukebox(this.inventoryChest, o++, xStart + (18 * c), yStart + 18)); - } - - // Row Two - for (int c = 0; c < 9; c++) { - if (c >= 3 && c < 6) { - continue; - } - this.addSlotToContainer(new SlotJukebox(this.inventoryChest, o++, xStart + (18 * c), yStart + 36)); - } - - // Controls - int c = 4; - - // Two Control Buttons - this.addSlotToContainer(new SlotNoInput(this.inventoryChest, SLOT_HOLO_PLAY, xStart + (18 * c), 12)); - this.addSlotToContainer( - new SlotNoInput(this.inventoryChest, SLOT_HOLO_LOOP, xStart + (18 * c), 12 + (1 * 18))); - - // Active playing slot for visual - this.addSlotToContainer( - new SlotJukebox(this.inventoryChest, SLOT_OUTPUT, xStart + (18 * c), 18 + (2 * 18), true)); - - // Player Inventory - for (var6 = 0; var6 < 3; ++var6) { - for (var7 = 0; var7 < 9; ++var7) { - this.addSlotToContainer( - new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18))); - } - } - // Player Hotbar - for (var6 = 0; var6 < 9; ++var6) { - this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142)); - } - - Logger.INFO("3"); - - } catch (Throwable t) { - t.printStackTrace(); - } - } - - @Override - public void onContainerClosed(final EntityPlayer par1EntityPlayer) { - super.onContainerClosed(par1EntityPlayer); - } - - @Override - public boolean canInteractWith(final EntityPlayer par1EntityPlayer) { - if (this.worldObj.getBlock(this.posX, this.posY, this.posZ) != ModBlocks.blockCustomJukebox) { - return false; - } - - return par1EntityPlayer.getDistanceSq(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D) <= 64D; - } - - @Override - public ItemStack transferStackInSlot(final EntityPlayer par1EntityPlayer, final int par2) { - ItemStack var3 = null; - final Slot var4 = (Slot) this.inventorySlots.get(par2); - - if ((var4 != null) && var4.getHasStack()) { - final ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - /* - * if (par2 == 0) { if (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, true)) { return null; - * } var4.onSlotChange(var5, var3); } else if (par2 >= InOutputSlotNumber && par2 < InventoryOutSlotNumber) - * { if (!this.mergeItemStack(var5, InventoryOutSlotNumber, FullSlotNumber, false)) { return null; } } else - * if (par2 >= InventoryOutSlotNumber && par2 < FullSlotNumber) { if (!this.mergeItemStack(var5, - * InOutputSlotNumber, InventoryOutSlotNumber, false)) { return null; } } else if - * (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, false)) { return null; } - */ - - if (var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - - if (var5.stackSize == var3.stackSize) { - return null; - } - - var4.onPickupFromSlot(par1EntityPlayer, var5); - } - - return var3; - } - - // Can merge Slot - @Override - public boolean func_94530_a(final ItemStack p_94530_1_, final Slot p_94530_2_) { - return super.func_94530_a(p_94530_1_, p_94530_2_); - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (tile_entity == null || tile_entity.getWorldObj().isRemote) return null; - switch (aSlotIndex) { - case SLOT_HOLO_PLAY -> { - if (tile_entity == null) return null; - tile_entity.mIsPlaying = !tile_entity.mIsPlaying; - Logger.INFO("Jukebox | Playing: " + tile_entity.mIsPlaying); - tile_entity.jukeboxLogicUpdate(); - return null; - } - case SLOT_HOLO_LOOP -> { - if (tile_entity == null) return null; - tile_entity.mIsLooping = !tile_entity.mIsLooping; - Logger.INFO("Jukebox | Looping: " + tile_entity.mIsLooping); - return null; - } - case 20 -> { - return null; - } - default -> { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - } - } - - public boolean isPlaying; - public boolean isLooping; - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (tile_entity == null || tile_entity.getWorldObj().isRemote) return; - - isPlaying = tile_entity.mIsPlaying; - isLooping = tile_entity.mIsLooping; - - for (Object crafter : this.crafters) { - ICrafting var1 = (ICrafting) crafter; - var1.sendProgressBarUpdate(this, 102, isPlaying ? 1 : 0); - var1.sendProgressBarUpdate(this, 103, isLooping ? 1 : 0); - } - } - - @Override - public void addCraftingToCrafters(ICrafting par1ICrafting) { - super.addCraftingToCrafters(par1ICrafting); - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - switch (par1) { - case 102 -> isPlaying = (par2 != 0); - case 103 -> isLooping = (par2 != 0); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java b/gtpp/src/main/java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java deleted file mode 100644 index 0315967263..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java +++ /dev/null @@ -1,170 +0,0 @@ -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.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -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.inventories.Inventory_VolumetricFlaskSetter; -import gtPlusPlus.core.slots.SlotNoInput; -import gtPlusPlus.core.slots.SlotVolumetricFlask; -import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter; -import gtPlusPlus.core.util.Utils; - -public class Container_VolumetricFlaskSetter extends Container { - - public TileEntityVolumetricFlaskSetter mTileEntity; - public final Inventory_VolumetricFlaskSetter inventoryChest; - - public int mCustomValue; - private int oCustomValue; - private int mTimer; - - private final World worldObj; - private final int posX; - private final int posY; - private final int posZ; - - public static final int SLOT_OUTPUT = 8; - - public static int StorageSlotNumber = 8; // Number of slots in storage area - public static int InventorySlotNumber = 36; // Inventory Slots (Inventory - // and Hotbar) - public static int FullSlotNumber = InventorySlotNumber + StorageSlotNumber; // All - // slots - - public Container_VolumetricFlaskSetter(final InventoryPlayer inventory, final TileEntityVolumetricFlaskSetter te) { - this.mTileEntity = te; - this.inventoryChest = te.getInventory(); - - int var6; - int var7; - this.worldObj = te.getWorldObj(); - this.posX = te.xCoord; - this.posY = te.yCoord; - this.posZ = te.zCoord; - // mCustomValue = te.getCustomValue(); - - int o = 0; - - // Storage Side - /* - * for (var6 = 0; var6 < 3; var6++) { for (var7 = 0; var7 < 5; var7++) { this.addSlotToContainer(new - * SlotIntegratedCircuit(o, this.inventoryChest, o, 44 + (var7 * 18), 15 + (var6 * 18))); o++; } } - */ - - int xStart = 26; - int yStart = 12; - - try { - // 0 - this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart, yStart)); - this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart += 18, yStart)); - this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart += 18, yStart)); - this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart += 18, yStart)); - this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart += 18, yStart)); - this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart += 18, yStart)); - this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart += 18, yStart)); - this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart, yStart + 18)); - - // Add Output - this.addSlotToContainer(new SlotNoInput(this.inventoryChest, o++, 8 + (8 * 18), 59)); - o++; - - // Player Inventory - for (var6 = 0; var6 < 3; ++var6) { - for (var7 = 0; var7 < 9; ++var7) { - this.addSlotToContainer( - new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18))); - } - } - // Player Hotbar - for (var6 = 0; var6 < 9; ++var6) { - this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142)); - } - detectAndSendChanges(); - } catch (Throwable t) {} - } - - @Override - public boolean canInteractWith(final EntityPlayer par1EntityPlayer) { - if (this.worldObj.getBlock(this.posX, this.posY, this.posZ) != ModBlocks.blockVolumetricFlaskSetter) { - return false; - } - return par1EntityPlayer.getDistanceSq(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D) <= 64D; - } - - @Override - public ItemStack transferStackInSlot(final EntityPlayer par1EntityPlayer, final int par2) { - ItemStack var3 = null; - final Slot var4 = (Slot) this.inventorySlots.get(par2); - - if ((var4 != null) && var4.getHasStack()) { - final ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - /* - * if (par2 == 0) { if (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, true)) { return null; - * } var4.onSlotChange(var5, var3); } else if (par2 >= InOutputSlotNumber && par2 < InventoryOutSlotNumber) - * { if (!this.mergeItemStack(var5, InventoryOutSlotNumber, FullSlotNumber, false)) { return null; } } else - * if (par2 >= InventoryOutSlotNumber && par2 < FullSlotNumber) { if (!this.mergeItemStack(var5, - * InOutputSlotNumber, InventoryOutSlotNumber, false)) { return null; } } else if - * (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, false)) { return null; } - */ - - if (var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - - if (var5.stackSize == var3.stackSize) { - return null; - } - - var4.onPickupFromSlot(par1EntityPlayer, var5); - } - - return var3; - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if ((Utils.isClient()) || (this.mTileEntity == null)) { - return; - } - - mCustomValue = mTileEntity.getCustomValue(); - mTimer++; - - for (Object crafter : this.crafters) { - ICrafting var1 = (ICrafting) crafter; - if (mTimer % 20 == 10 || oCustomValue != mCustomValue) { - var1.sendProgressBarUpdate(this, 0, mCustomValue); - } - } - - oCustomValue = mCustomValue; - } - - @SideOnly(Side.CLIENT) - @Override - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - switch (par1) { - case 0 -> mCustomValue = (short) par2; - } - } - - public void log(String aString) { - Logger.INFO("[Flask-Container] " + aString); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/creative/AddToCreativeTab.java b/gtpp/src/main/java/gtPlusPlus/core/creative/AddToCreativeTab.java deleted file mode 100644 index fa0d3844b2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/creative/AddToCreativeTab.java +++ /dev/null @@ -1,25 +0,0 @@ -package gtPlusPlus.core.creative; - -import net.minecraft.creativetab.CreativeTabs; - -import gregtech.api.util.GT_CreativeTab; - -public class AddToCreativeTab { - - public static CreativeTabs tabBlock; - public static CreativeTabs tabMisc; - public static CreativeTabs tabTools; - public static CreativeTabs tabMachines; - public static CreativeTabs tabOther; - public static CreativeTabs tabBOP; - - public static void initialiseTabs() { - // GT_CreativeTab - tabBlock = new GT_CreativeTab("GTPP_BLOCKS", "GT++ Blocks"); - tabMisc = new GT_CreativeTab("GTPP_MISC", "GT++ Misc"); - tabTools = new GT_CreativeTab("GTPP_TOOLS", "GT++ Tools"); - tabMachines = new GT_CreativeTab("GTPP_MACHINES", "GT++ Machines"); - tabOther = new GT_CreativeTab("GTPP_OTHER", "GT++ Other"); - tabBOP = new GT_CreativeTab("GTPP_OTHER_2", "GT++ Other II"); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/entity/EntityPrimedMiningExplosive.java b/gtpp/src/main/java/gtPlusPlus/core/entity/EntityPrimedMiningExplosive.java deleted file mode 100644 index 99a86c447a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/entity/EntityPrimedMiningExplosive.java +++ /dev/null @@ -1,405 +0,0 @@ -package gtPlusPlus.core.entity; - -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 */ - private EntityLivingBase tntPlacedBy; - - public EntityPrimedMiningExplosive(final World world) { - super(world); - this.fuse = 160; - this.preventEntitySpawning = true; - this.setSize(0.98F, 0.98F); - this.yOffset = this.height / 2.0F; - } - - public EntityPrimedMiningExplosive(final World world, final double x, final double y, final double z, - final EntityLivingBase placingEntity) { - this(world); - this.setPosition(x, y, z); - final float f = (float) (Math.random() * Math.PI * 2.0D); - this.motionX = -((float) Math.sin(f)) * 0.02F; - this.motionY = 0.20000000298023224D; - this.motionZ = -((float) Math.cos(f)) * 0.02F; - this.fuse = 160; - this.prevPosX = x; - this.prevPosY = y; - this.prevPosZ = z; - this.tntPlacedBy = placingEntity; - } - - @Override - protected void entityInit() {} - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() { - return false; - } - - /** - * Returns true if other Entities should be prevented from moving through this Entity. - */ - @Override - public boolean canBeCollidedWith() { - return !this.isDead; - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - this.motionY -= 0.03999999910593033D; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= 0.9800000190734863D; - this.motionY *= 0.9800000190734863D; - this.motionZ *= 0.9800000190734863D; - - if (this.onGround) { - this.motionX *= 0.699999988079071D; - this.motionZ *= 0.699999988079071D; - this.motionY *= -0.5D; - } - - if (this.fuse-- <= 0) { - this.setDead(); - - if (!this.worldObj.isRemote) { - this.explode(); - } - } else { - - int t = MathUtils.randInt(0, 15); - - if (t <= 2) { - int e = MathUtils.randInt(0, 3); - if (e <= 1) { - this.worldObj.spawnParticle("smoke", this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D); - this.worldObj.spawnParticle( - "largesmoke", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "cloud", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "flame", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } else if (e == 2) { - this.worldObj.spawnParticle( - "explode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largeexplode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "hugeexplosion", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } - } else if (t <= 4) { - int e = MathUtils.randInt(0, 5); - if (e <= 1) { - this.worldObj.spawnParticle("smoke", this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D); - this.worldObj.spawnParticle( - "largesmoke", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "cloud", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "flame", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } else if (e == 2) { - this.worldObj.spawnParticle( - "explode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largeexplode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "hugeexplosion", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } - } else if (t <= 6) { - int e = MathUtils.randInt(0, 4); - if (e <= 1) { - this.worldObj.spawnParticle("smoke", this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D); - this.worldObj.spawnParticle( - "largesmoke", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "cloud", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "flame", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } else if (e == 2) { - this.worldObj.spawnParticle( - "explode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largeexplode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "hugeexplosion", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } - } else if (t <= 8) { - int e = MathUtils.randInt(0, 1); - if (e <= 1) { - this.worldObj.spawnParticle("smoke", this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D); - this.worldObj.spawnParticle( - "largesmoke", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "cloud", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "flame", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } else if (e == 2) { - this.worldObj.spawnParticle( - "explode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largeexplode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "hugeexplosion", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } - } else if (t <= 10) { - int e = MathUtils.randInt(0, 6); - if (e <= 1) { - this.worldObj.spawnParticle("smoke", this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D); - this.worldObj.spawnParticle( - "largesmoke", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "cloud", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "flame", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } else if (e >= 2) { - this.worldObj.spawnParticle( - "explode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largeexplode", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "hugeexplosion", - this.posX + MathUtils.randDouble(0, 1), - this.posY + MathUtils.randDouble(0, 1), - this.posZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } - } - } - } - - private void explode() { - final float f = 100.0F; - - ExplosionHandler explode = new ExplosionHandler(); - explode.createExplosion(this.worldObj, this, this.posX, this.posY, this.posZ, f, false, true); - - /* - * this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, f, true); - * this.worldObj.createExplosion(this, this.posX+MathUtils.randDouble(-10, 10), this.posY, - * this.posZ+MathUtils.randDouble(-10, 10), f+MathUtils.randFloat(-5F, 5F), true); - * this.worldObj.createExplosion(this, this.posX+MathUtils.randDouble(-10, 10), this.posY, - * this.posZ+MathUtils.randDouble(-10, 10), f+MathUtils.randFloat(-5F, 5F), true); - * this.worldObj.createExplosion(this, this.posX+MathUtils.randDouble(-10, 10), this.posY, - * this.posZ+MathUtils.randDouble(-10, 10), f+MathUtils.randFloat(-5F, 5F), true); - * this.worldObj.createExplosion(this, this.posX+MathUtils.randDouble(-10, 10), this.posY, - * this.posZ+MathUtils.randDouble(-10, 10), f+MathUtils.randFloat(-5F, 5F), true); - */ - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - protected void writeEntityToNBT(final NBTTagCompound tag) { - tag.setByte("Fuse", (byte) this.fuse); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - protected void readEntityFromNBT(final NBTTagCompound tag) { - this.fuse = tag.getByte("Fuse"); - } - - /** - * returns null or the entityliving it was placed or ignited by - */ - @Override - public EntityLivingBase getTntPlacedBy() { - return this.tntPlacedBy; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/entity/InternalEntityRegistry.java b/gtpp/src/main/java/gtPlusPlus/core/entity/InternalEntityRegistry.java deleted file mode 100644 index a971541bc2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/entity/InternalEntityRegistry.java +++ /dev/null @@ -1,64 +0,0 @@ -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; -import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct; -import gtPlusPlus.core.entity.projectile.EntityLightningAttack; -import gtPlusPlus.core.entity.projectile.EntityToxinballSmall; -import gtPlusPlus.core.item.general.spawn.ItemCustomSpawnEgg; -import gtPlusPlus.core.util.Utils; - -public class InternalEntityRegistry { - - static int mEntityID = 0; - - public static void registerEntities() { - Logger.INFO("Registering GT++ Entities."); - - EntityRegistry.registerModEntity( - EntityPrimedMiningExplosive.class, - "MiningCharge", - mEntityID++, - GTplusplus.instance, - 64, - 20, - true); - - EntityRegistry - .registerModEntity(EntityToxinballSmall.class, "toxinBall", mEntityID++, GTplusplus.instance, 64, 20, true); - - EntityRegistry.registerModEntity( - EntityStaballoyConstruct.class, - "constructStaballoy", - mEntityID++, - GTplusplus.instance, - 64, - 20, - true); - ItemCustomSpawnEgg.registerEntityForSpawnEgg( - 0, - "constructStaballoy", - Utils.rgbtoHexValue(20, 200, 20), - Utils.rgbtoHexValue(20, 20, 20)); - - EntityRegistry - .registerModEntity(EntitySickBlaze.class, "sickBlaze", mEntityID++, GTplusplus.instance, 64, 20, true); - ItemCustomSpawnEgg.registerEntityForSpawnEgg( - 1, - "sickBlaze", - Utils.rgbtoHexValue(40, 180, 40), - Utils.rgbtoHexValue(75, 75, 75)); - - EntityRegistry.registerModEntity( - EntityLightningAttack.class, - "EntityLightningAttack", - mEntityID++, - GTplusplus.instance, - 64, - 20, - true); - - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/entity/monster/EntitySickBlaze.java b/gtpp/src/main/java/gtPlusPlus/core/entity/monster/EntitySickBlaze.java deleted file mode 100644 index 38940d3ad6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/entity/monster/EntitySickBlaze.java +++ /dev/null @@ -1,224 +0,0 @@ -package gtPlusPlus.core.entity.monster; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.entity.projectile.EntityToxinballSmall; - -public class EntitySickBlaze extends EntityMob { - - /** Random offset used in floating behaviour */ - private float heightOffset = 0.5F; - /** ticks until heightOffset is randomized */ - private int heightOffsetUpdateTime; - - private int field_70846_g; - private final int mDataWatcherID = 30; - - public EntitySickBlaze(World p_i1731_1_) { - super(p_i1731_1_); - this.isImmuneToFire = true; - this.experienceValue = 10; - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth) - .setBaseValue(20.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed) - .setBaseValue(1.5D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage) - .setBaseValue(6.0D); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(mDataWatcherID, 0); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - @Override - protected String getLivingSound() { - return "mob.blaze.breathe"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - @Override - protected String getHurtSound() { - return "mob.blaze.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - @Override - protected String getDeathSound() { - return "mob.blaze.death"; - } - - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) { - return 15728880; - } - - /** - * Gets how bright this entity is. - */ - @Override - public float getBrightness(float p_70013_1_) { - return p_70013_1_; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - @Override - public void onLivingUpdate() { - if (!this.worldObj.isRemote) { - if (this.isWet()) { - this.attackEntityFrom(DamageSource.drown, 1.0F); - } - - --this.heightOffsetUpdateTime; - - if (this.heightOffsetUpdateTime <= 0) { - this.heightOffsetUpdateTime = 100; - this.heightOffset = 0.5F + (float) this.rand.nextGaussian() * 3.0F; - } - - if (this.getEntityToAttack() != null && this.getEntityToAttack().posY + this.getEntityToAttack() - .getEyeHeight() > this.posY + this.getEyeHeight() + this.heightOffset) { - this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D; - } - } - - if (!this.onGround && this.motionY < 0.0D) { - this.motionY *= 0.6D; - } - - for (int i = 0; i < 2; ++i) { - this.worldObj.spawnParticle( - "crit", - this.posX + (this.rand.nextDouble() - 0.5D) * this.width, - this.posY + this.rand.nextDouble() * this.height, - this.posZ + (this.rand.nextDouble() - 0.5D) * this.width, - 0.0D, - 0.0D, - 0.0D); - } - - super.onLivingUpdate(); - } - - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. - */ - @Override - protected void attackEntity(Entity entity, float p_70785_2_) { - if (this.attackTime <= 0 && p_70785_2_ < 2.0F - && entity.boundingBox.maxY > this.boundingBox.minY - && entity.boundingBox.minY < this.boundingBox.maxY) { - this.attackTime = 20; - this.attackEntityAsMob(entity); - } else if (p_70785_2_ < 30.0F) { - double d0 = entity.posX - this.posX; - double d1 = entity.boundingBox.minY + entity.height / 2.0F - (this.posY + this.height / 2.0F); - double d2 = entity.posZ - this.posZ; - - if (this.attackTime == 0) { - ++this.field_70846_g; - - if (this.field_70846_g == 1) { - this.attackTime = 60; - } else if (this.field_70846_g <= 4) { - this.attackTime = 6; - } else { - this.attackTime = 100; - this.field_70846_g = 0; - } - - if (this.field_70846_g > 1) { - float f1 = MathHelper.sqrt_float(p_70785_2_) * 0.5F; - this.worldObj.playAuxSFXAtEntity(null, 1009, (int) this.posX, (int) this.posY, (int) this.posZ, 0); - - for (int i = 0; i < 1; ++i) { - EntityToxinballSmall entitysmalltoxinball = new EntityToxinballSmall( - this.worldObj, - this, - d0 + this.rand.nextGaussian() * f1, - d1, - d2 + this.rand.nextGaussian() * f1); - entitysmalltoxinball.posY = this.posY + this.height / 2.0F + 0.5D; - this.worldObj.spawnEntityInWorld(entitysmalltoxinball); - } - } - } - - this.rotationYaw = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - this.hasAttacked = true; - } - } - - /** - * Called when the mob is falling. Calculates and applies fall damage. - */ - @Override - protected void fall(float p_70069_1_) {} - - @Override - protected Item getDropItem() { - return Items.slime_ball; - } - - /** - * Returns true if the entity is on fire. Used by render to add the fire effect on rendering. - */ - @Override - public boolean isBurning() { - return false; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean p_70628_1_, int p_70628_2_) { - if (p_70628_1_) { - int j = this.rand.nextInt(2 + p_70628_2_); - - for (int k = 0; k < j; ++k) { - this.dropItem(getDropItem(), 1); - } - } - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } - - @Override - public int getMaxSpawnedInChunk() { - return 8; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/entity/monster/EntityStaballoyConstruct.java b/gtpp/src/main/java/gtPlusPlus/core/entity/monster/EntityStaballoyConstruct.java deleted file mode 100644 index c58f5ba9df..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/entity/monster/EntityStaballoyConstruct.java +++ /dev/null @@ -1,652 +0,0 @@ -package gtPlusPlus.core.entity.monster; - -import java.lang.reflect.Field; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction; -import net.minecraft.entity.ai.EntityAIMoveTowardsTarget; -import net.minecraft.entity.ai.EntityAINearestAttackableTarget; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.monster.EntityIronGolem; -import net.minecraft.entity.monster.IMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.village.Village; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -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 { - - /* - * Determines whether or not the entity is in a fluid at all. - */ - private boolean inFluid = false; - private boolean mReflectFirstUpdate = true; - private boolean isReadyToExplode = false; - private int fuse = 60; - private int attackTimer; - - public EntityStaballoyConstruct(World world) { - super(world); - this.experienceValue = 250; - this.setSize(1.4F, 2.9F); - this.getNavigator() - .setAvoidsWater(true); - this.getNavigator() - .setBreakDoors(true); - this.getNavigator() - .setCanSwim(false); - this.getNavigator() - .setAvoidSun(false); - this.tasks.addTask(1, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(2, new EntityAIMoveTowardsTarget(this, 0.9D, 32.0F)); - // this.tasks.addTask(3, new EntityAIMoveThroughVillage(this, 0.6D, true)); - this.tasks.addTask(3, new EntityAIMoveTowardsRestriction(this, 1.0D)); - this.tasks.addTask(4, new EntityAIWander(this, 0.6D)); - this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); - this.tasks.addTask(6, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); - this.targetTasks.addTask( - 2, - new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, false, true, IMob.mobSelector)); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound p_70014_1_) { - super.writeEntityToNBT(p_70014_1_); - p_70014_1_.setBoolean("inFluid", this.inFluid); - p_70014_1_.setBoolean("isReadyToExplode", this.isReadyToExplode); - p_70014_1_.setInteger("fuse", this.fuse); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound p_70037_1_) { - super.readEntityFromNBT(p_70037_1_); - this.inFluid = p_70037_1_.getBoolean("inFluid"); - this.isReadyToExplode = p_70037_1_.getBoolean("isReadyToExplode"); - this.fuse = p_70037_1_.getInteger("fuse"); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(17, Byte.valueOf((byte) 0)); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() { - return true; - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - @Override - protected void updateAITick() { - super.updateAITick(); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth) - .setBaseValue(500.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed) - .setBaseValue(0.5D); - } - - /** - * Decrements the entity's air supply when underwater - */ - @Override - protected int decreaseAirSupply(int p_70682_1_) { - return 0; - } - - @Override - protected void collideWithEntity(Entity p_82167_1_) { - if (p_82167_1_ instanceof IMob && this.getRNG() - .nextInt(20) == 0) { - this.setAttackTarget((EntityLivingBase) p_82167_1_); - } - - super.collideWithEntity(p_82167_1_); - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - @Override - public void onLivingUpdate() { - super.onLivingUpdate(); - - if (this.attackTimer > 0) { - --this.attackTimer; - } - - if (this.motionX * this.motionX + this.motionZ * this.motionZ > 2.500000277905201E-7D - && this.rand.nextInt(5) == 0) { - int i = MathHelper.floor_double(this.posX); - int j = MathHelper.floor_double(this.posY - 0.20000000298023224D - this.yOffset); - int k = MathHelper.floor_double(this.posZ); - Block block = this.worldObj.getBlock(i, j, k); - - if (block.getMaterial() != Material.air) { - this.worldObj.spawnParticle( - "blockcrack_" + Block.getIdFromBlock(block) + "_" + this.worldObj.getBlockMetadata(i, j, k), - this.posX + (this.rand.nextFloat() - 0.5D) * this.width, - this.boundingBox.minY + 0.1D, - this.posZ + (this.rand.nextFloat() - 0.5D) * this.width, - 4.0D * (this.rand.nextFloat() - 0.5D), - 0.5D, - (this.rand.nextFloat() - 0.5D) * 4.0D); - } - } - } - - /** - * Returns true if this entity can attack entities of the specified class. - */ - @Override - public boolean canAttackClass(Class clazz) { - return clazz.equals(this.getClass()) ? false : true; - } - - @Override - public boolean attackEntityAsMob(Entity p_70652_1_) { - this.attackTimer = 10; - this.worldObj.setEntityState(this, (byte) 4); - boolean flag = p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), 7 + this.rand.nextInt(15)); - - if (flag) { - p_70652_1_.motionY += 0.4000000059604645D; - } - - this.playSound("mob.irongolem.throw", 1.0F, 1.0F); - return flag; - } - - @Override - @SideOnly(Side.CLIENT) - public void handleHealthUpdate(byte p_70103_1_) { - if (p_70103_1_ == 4) { - this.attackTimer = 10; - this.playSound("mob.irongolem.throw", 1.0F, 1.0F); - } else { - super.handleHealthUpdate(p_70103_1_); - } - } - - @Override - public Village getVillage() { - return null; - } - - @Override - @SideOnly(Side.CLIENT) - public int getAttackTimer() { - return this.attackTimer; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - @Override - protected String getHurtSound() { - return "mob.irongolem.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - @Override - protected String getDeathSound() { - return "mob.irongolem.death"; - } - - @Override - protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_) { - this.playSound("mob.irongolem.walk", 1.0F, 1.0F); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean p_70628_1_, int p_70628_2_) { - int lootingChance = p_70628_2_ + 1; - int j = this.rand.nextInt(3); - int k; - - for (k = 0; k < j; ++k) { - this.entityDropItem(ItemUtils.getItemStackOfAmountFromOreDict("blockStaballoy", 1), 0f); - } - - k = 3 + this.rand.nextInt(3); - - for (int l = 0; l < k; ++l) { - this.entityDropItem(ItemUtils.getItemStackOfAmountFromOreDict("ingotStaballoy", lootingChance), 0f); - if (MathUtils.randInt(0, 2) == 0) { - this.entityDropItem(ItemUtils.getItemStackOfAmountFromOreDict("plateStaballoy", lootingChance), 0f); - } - } - } - - @Override - public boolean isPlayerCreated() { - return false; - } - - @Override - public void setPlayerCreated(boolean p_70849_1_) {} - - /** - * Called when the mob's health reaches 0. - */ - @Override - public void onDeath(DamageSource p_70645_1_) { - super.onDeath(p_70645_1_); - } - - @Override - protected String getLivingSound() { // TODO - return super.getLivingSound(); - } - - @Override - public int getTalkInterval() { - return 0; - } - - @Override - protected boolean canDespawn() { - return true; - } - - @Override - public void onEntityUpdate() { - // Set Fire Immunity - if (!this.isImmuneToFire) { - this.isImmuneToFire = true; - } - - if (!this.worldObj.isRemote) { - final float hp = getHealth(); - final float modifier = MathUtils.randInt(5, 10) / 100F; - final float amountToExplode = (hp * modifier); - - if (hp <= amountToExplode && !isReadyToExplode) { - if (this.ticksExisted >= 50) { - // Logger.INFO("Construct has low hp, trying to enable explosions. HP: "+this.getHealth()+", Max: - // "+this.getMaxHealth()+", Mod: "+modifier); - // Logger.INFO("Construct required HP to be <= "+amountToExplode); - float r = MathUtils.randFloat(0, 10); - if (r <= 0.1) { - this.isReadyToExplode = true; - // Logger.INFO("Construct can now explode."); - } - } - } - // Handle Exploding - else if (hp <= amountToExplode && isReadyToExplode) { - // Logger.INFO("Trying to explode. ["+this.fuse+"]"); - if (this.fuse-- <= 0) { - // Logger.INFO("Fuse has run out."); - this.setDead(); - if (!this.worldObj.isRemote) { - this.explode(); - } - } else { - // Logger.INFO("Ticking fuse and spawning particles."); - - int maxFuse = 60; - int fuseUsed = maxFuse - this.fuse; - float var2 = (float) (fuseUsed * 0.1); - - this.setSize(1.4F + (var2 / 2), 2.9F + (var2 / 2)); - - float r = MathUtils.randFloat(0, 1); - int r2 = MathUtils.randInt(5, 15); - for (int o = 0; o < r2; o++) { - if (r <= 0.3) { - this.worldObj.spawnParticle( - "smoke", - this.posX + MathUtils.randDouble(-2, 2), - this.posY + MathUtils.randDouble(-2, 2), - this.posZ + MathUtils.randDouble(-2, 2), - 0.0D, - 0.0D, - 0.0D); - - } else if (r <= 0.6) { - this.worldObj.spawnParticle( - "largesmoke", - this.posX + MathUtils.randDouble(-2, 2), - this.posY + MathUtils.randDouble(-2, 2), - this.posZ + MathUtils.randDouble(-2, 2), - 0.0D, - 0.0D, - 0.0D); - } - if (r <= 0.3) { - this.worldObj.spawnParticle( - "cloud", - this.posX + MathUtils.randDouble(-2, 2), - this.posY + MathUtils.randDouble(-2, 2), - this.posZ + MathUtils.randDouble(-2, 2), - 0.0D, - 0.0D, - 0.0D); - - } else if (r <= 0.7) { - this.worldObj.spawnParticle( - "flame", - this.posX + MathUtils.randDouble(-2, 2), - this.posY + MathUtils.randDouble(-2, 2), - this.posZ + MathUtils.randDouble(-2, 2), - 0.0D, - 0.0D, - 0.0D); - } - if (r <= 0.2) { - this.worldObj.spawnParticle( - "explode", - this.posX + MathUtils.randDouble(-2, 2), - this.posY + MathUtils.randDouble(-2, 2), - this.posZ + MathUtils.randDouble(-2, 2), - 0.0D, - 0.0D, - 0.0D); - - } else if (r <= 0.5) { - this.worldObj.spawnParticle( - "largeexplode", - this.posX + MathUtils.randDouble(-2, 2), - this.posY + MathUtils.randDouble(-2, 2), - this.posZ + MathUtils.randDouble(-2, 2), - 0.0D, - 0.0D, - 0.0D); - - } else if (r <= 0.7) { - this.worldObj.spawnParticle( - "hugeexplosion", - this.posX + MathUtils.randDouble(-2, 2), - this.posY + MathUtils.randDouble(-2, 2), - this.posZ + MathUtils.randDouble(-2, 2), - 0.0D, - 0.0D, - 0.0D); - } - } - } - } else { - - } - - // Get a private field from a super class if it exists. - if (mFirstUpdateField == null) { - mFirstUpdateField = ReflectionUtils.getField(this.getClass(), "firstUpdate"); - } - if (mFirstUpdateField != null && mReflectFirstUpdate == true) { - try { - this.mReflectFirstUpdate = (boolean) mFirstUpdateField.get(this); - } catch (IllegalArgumentException | IllegalAccessException e) {} - } - } - super.onEntityUpdate(); - } - - private static Field mFirstUpdateField; - - @Override - public int getMaxSpawnedInChunk() { - return 1; - } - - @Override - public boolean canBreatheUnderwater() { - return true; - } - - @Override - public void knockBack(Entity p_70653_1_, float p_70653_2_, double p_70653_3_, double p_70653_5_) {} - - @Override - protected void setOnFireFromLava() { - extinguish(); - } - - @Override - public void setFire(int p_70015_1_) { - extinguish(); - } - - @Override - protected void dealFireDamage(int p_70081_1_) {} - - @Override - public boolean isInWater() { - if (super.isInWater()) { - return true; - } else { - this.moveForward *= 0.98F; - return false; - } - } - - @Override - public boolean handleWaterMovement() { - this.moveForward *= 0.74F; - return handleFluidMovement(Material.water); - } - - @Override - public boolean handleLavaMovement() { - this.moveForward *= 0.74F; - return handleFluidMovement(Material.lava); - } - - /** - * Returns if this entity is in water and will end up adding the waters velocity to the entity - */ - public boolean handleFluidMovement(Material fluid) { - - if (this.worldObj.handleMaterialAcceleration( - this.boundingBox.expand(0.0D, -0.4000000059604645D, 0.0D) - .contract(0.001D, 0.001D, 0.001D), - fluid, - this)) { - if (!this.inFluid && !this.mReflectFirstUpdate) { - float f = MathHelper.sqrt_double( - this.motionX * this.motionX * 0.20000000298023224D + this.motionY * this.motionY - + this.motionZ * this.motionZ * 0.20000000298023224D) - * 0.2F; - - if (f > 1.0F) { - f = 1.0F; - } - - this.playSound(this.getSplashSound(), f, 1.0F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.4F); - float f1 = MathHelper.floor_double(this.boundingBox.minY); - int i; - float f2; - float f3; - - for (i = 0; i < 1.0F + this.width * 20.0F; ++i) { - f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - f3 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle( - "bubble", - this.posX + f2, - f1 + 1.0F, - this.posZ + f3, - this.motionX, - this.motionY - this.rand.nextFloat() * 0.2F, - this.motionZ); - } - - for (i = 0; i < 1.0F + this.width * 20.0F; ++i) { - f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - f3 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle( - "splash", - this.posX + f2, - f1 + 1.0F, - this.posZ + f3, - this.motionX, - this.motionY, - this.motionZ); - } - } - this.fallDistance = 0.0F; - this.inFluid = true; - } else { - this.inFluid = false; - } - return this.inFluid; - } - - @Override - public void onChunkLoad() { - // TODO Auto-generated method stub - super.onChunkLoad(); - } - - @Override - public void onStruckByLightning(EntityLightningBolt p_70077_1_) { - this.isReadyToExplode = true; - this.fuse = 20; - } - - private void explode() { - /* - * float f = 12.0F; this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, f, true); - */ - - if (!this.worldObj.isRemote) { - final float f = 6.5F; - ExplosionHandler explode = new ExplosionHandler(); - explode.createExplosion(this.worldObj, this, this.posX, this.posY, this.posZ, f, true, true); - - float r = MathUtils.randFloat(0, 1); - int r2 = MathUtils.randInt(20, 40); - for (int o = 0; o < r2; o++) { - if (r <= 0.3) { - this.worldObj.spawnParticle( - "smoke", - this.posX + MathUtils.randDouble(-4, 4), - this.posY + MathUtils.randDouble(0, 3), - this.posZ + MathUtils.randDouble(-4, 4), - 0.0D, - 0.0D, - 0.0D); - - } else if (r <= 0.6) { - this.worldObj.spawnParticle( - "largesmoke", - this.posX + MathUtils.randDouble(-4, 4), - this.posY + MathUtils.randDouble(-4, 4), - this.posZ + MathUtils.randDouble(-4, 4), - 0.0D, - 0.0D, - 0.0D); - } - if (r <= 0.3) { - this.worldObj.spawnParticle( - "cloud", - this.posX + MathUtils.randDouble(-4, 4), - this.posY + MathUtils.randDouble(-4, 4), - this.posZ + MathUtils.randDouble(-4, 4), - 0.0D, - 0.0D, - 0.0D); - - } else if (r <= 0.7) { - this.worldObj.spawnParticle( - "flame", - this.posX + MathUtils.randDouble(-4, 4), - this.posY + MathUtils.randDouble(-4, 4), - this.posZ + MathUtils.randDouble(-4, 4), - 0.0D, - 0.0D, - 0.0D); - } - if (r <= 0.2) { - this.worldObj.spawnParticle( - "explode", - this.posX + MathUtils.randDouble(-4, 4), - this.posY + MathUtils.randDouble(-4, 4), - this.posZ + MathUtils.randDouble(-4, 4), - 0.0D, - 0.0D, - 0.0D); - - } else if (r <= 0.5) { - this.worldObj.spawnParticle( - "largeexplode", - this.posX + MathUtils.randDouble(-4, 4), - this.posY + MathUtils.randDouble(-4, 4), - this.posZ + MathUtils.randDouble(-4, 4), - 0.0D, - 0.0D, - 0.0D); - - } else if (r <= 0.7) { - this.worldObj.spawnParticle( - "hugeexplosion", - this.posX + MathUtils.randDouble(-4, 4), - this.posY + MathUtils.randDouble(-4, 4), - this.posZ + MathUtils.randDouble(-4, 4), - 0.0D, - 0.0D, - 0.0D); - } - } - } - } - - @Override - public boolean canAttackWithItem() { - return true; - } - - @Override - public boolean canRenderOnFire() { - return false; - } - - @Override - public boolean isPushedByWater() { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityLightningAttack.java b/gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityLightningAttack.java deleted file mode 100644 index e1a4063f49..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityLightningAttack.java +++ /dev/null @@ -1,79 +0,0 @@ -package gtPlusPlus.core.entity.projectile; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.projectile.EntityWitherSkull; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.EnumDifficulty; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityLightningAttack extends EntityWitherSkull { - - public EntityLightningAttack(World p_i1794_1_, EntityLivingBase p_i1794_2_, double p_i1794_3_, double p_i1794_5_, - double p_i1794_7_) { - super(p_i1794_1_, p_i1794_2_, p_i1794_3_, p_i1794_5_, p_i1794_7_); - this.setSize(0.3125F, 0.3125F); - } - - @SideOnly(Side.CLIENT) - public EntityLightningAttack(World p_i1795_1_, double p_i1795_2_, double p_i1795_4_, double p_i1795_6_, - double p_i1795_8_, double p_i1795_10_, double p_i1795_12_) { - super(p_i1795_1_, p_i1795_2_, p_i1795_4_, p_i1795_6_, p_i1795_8_, p_i1795_10_, p_i1795_12_); - this.setSize(0.3125F, 0.3125F); - } - - /** - * Called when this EntityFireball hits a block or entity. - */ - @Override - protected void onImpact(MovingObjectPosition p_70227_1_) { - - if (!this.worldObj.isRemote) { - if (p_70227_1_.entityHit != null) { - if (this.shootingEntity != null) { - if (p_70227_1_.entityHit.attackEntityFrom(DamageSource.causeMobDamage(this.shootingEntity), 8.0F) - && !p_70227_1_.entityHit.isEntityAlive()) { - this.shootingEntity.heal(0.5F); - } - } else { - p_70227_1_.entityHit.attackEntityFrom(DamageSource.lava, 10.0F); - } - - if (p_70227_1_.entityHit instanceof EntityLivingBase) { - byte b0 = 0; - - if (this.worldObj.difficultySetting == EnumDifficulty.NORMAL) { - b0 = 10; - } else if (this.worldObj.difficultySetting == EnumDifficulty.HARD) { - b0 = 40; - } - - if (b0 > 0) { - ((EntityLivingBase) p_70227_1_.entityHit) - .addPotionEffect(new PotionEffect(Potion.poison.id, 20 * b0, 1)); - ((EntityLivingBase) p_70227_1_.entityHit) - .addPotionEffect(new PotionEffect(Potion.confusion.id, 20 * b0, 1)); - ((EntityLivingBase) p_70227_1_.entityHit) - .addPotionEffect(new PotionEffect(Potion.weakness.id, 20 * b0, 1)); - } - } - } - - this.worldObj.newExplosion( - this, - this.posX, - this.posY, - this.posZ, - 1.0F, - false, - this.worldObj.getGameRules() - .getGameRuleBooleanValue("mobGriefing")); - this.setDead(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityToxinball.java b/gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityToxinball.java deleted file mode 100644 index a3b2f6f28b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityToxinball.java +++ /dev/null @@ -1,334 +0,0 @@ -package gtPlusPlus.core.entity.projectile; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.projectile.EntityFireball; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public abstract class EntityToxinball extends EntityFireball { - - protected int entityX = -1; - protected int entityY = -1; - protected int entityZ = -1; - private Block block; - private boolean inGround; - private int ticksAlive; - private int ticksInAir; - - public EntityToxinball(World world) { - super(world); - this.setSize(1.0F, 1.0F); - } - - @Override - protected void entityInit() {} - - /** - * Checks if the entity is in range to render by using the past in distance and comparing it to its average edge - * length * 64 * renderDistanceWeight Args: distance - */ - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double p_70112_1_) { - double d1 = this.boundingBox.getAverageEdgeLength() * 4.0D; - d1 *= 64.0D; - return p_70112_1_ < d1 * d1; - } - - public EntityToxinball(World world, double x, double y, double z, double f1, double f2, double f3) { - super(world); - this.setSize(1.0F, 1.0F); - this.setLocationAndAngles(x, y, z, this.rotationYaw, this.rotationPitch); - this.setPosition(x, y, z); - double d6 = MathHelper.sqrt_double(f1 * f1 + f2 * f2 + f3 * f3); - this.accelerationX = f1 / d6 * 0.1D; - this.accelerationY = f2 / d6 * 0.1D; - this.accelerationZ = f3 / d6 * 0.1D; - } - - public EntityToxinball(World world, EntityLivingBase entity, double x, double y, double z) { - super(world); - this.shootingEntity = entity; - this.setSize(1.0F, 1.0F); - this.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); - this.setPosition(this.entityX, this.entityY, this.entityZ); - this.yOffset = 0.0F; - this.motionX = this.motionY = this.motionZ = 0.0D; - x += this.rand.nextGaussian() * 0.4D; - y += this.rand.nextGaussian() * 0.4D; - z += this.rand.nextGaussian() * 0.4D; - double d3 = MathHelper.sqrt_double(x * x + y * y + z * z); - this.accelerationX = x / d3 * 0.1D; - this.accelerationY = y / d3 * 0.1D; - this.accelerationZ = z / d3 * 0.1D; - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() { - if (!this.worldObj.isRemote && (this.shootingEntity != null && this.shootingEntity.isDead - || !this.worldObj.blockExists(this.entityX, this.entityY, this.entityZ))) { - this.setDead(); - } else { - super.onUpdate(); - this.setFire(1); - - if (this.inGround) { - if (this.worldObj.getBlock(this.entityX, this.entityY, this.entityZ) == this.block) { - ++this.ticksAlive; - - if (this.ticksAlive == 600) { - this.setDead(); - } - - return; - } - - this.inGround = false; - this.motionX *= this.rand.nextFloat() * 0.2F; - this.motionY *= this.rand.nextFloat() * 0.2F; - this.motionZ *= this.rand.nextFloat() * 0.2F; - this.ticksAlive = 0; - this.ticksInAir = 0; - } else { - ++this.ticksInAir; - } - - Vec3 vec3 = Vec3.createVectorHelper(this.entityX, this.entityY, this.entityZ); - Vec3 vec31 = Vec3.createVectorHelper( - this.entityX + this.motionX, - this.entityY + this.motionY, - this.entityZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31); - vec3 = Vec3.createVectorHelper(this.entityX, this.entityY, this.entityZ); - vec31 = Vec3.createVectorHelper( - this.entityX + this.motionX, - this.entityY + this.motionY, - this.entityZ + this.motionZ); - - if (movingobjectposition != null) { - vec31 = Vec3.createVectorHelper( - movingobjectposition.hitVec.xCoord, - movingobjectposition.hitVec.yCoord, - movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity( - this, - this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ) - .expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - for (Object o : list) { - Entity entity1 = (Entity) o; - - if (entity1.canBeCollidedWith() - && (!entity1.isEntityEqual(this.shootingEntity) || this.ticksInAir >= 25)) { - float f = 0.3F; - AxisAlignedBB axisalignedbb = entity1.boundingBox.expand(f, f, f); - MovingObjectPosition movingobjectposition1 = axisalignedbb.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null) { - this.onImpact(movingobjectposition); - } - - this.entityX += this.motionX; - this.entityY += this.motionY; - this.entityZ += this.motionZ; - float f1 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionZ, this.motionX) * 180.0D / Math.PI) + 90.0F; - - for (this.rotationPitch = (float) (Math.atan2(f1, this.motionY) * 180.0D / Math.PI) - - 90.0F; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f2 = this.getMotionFactor(); - - if (this.isInWater()) { - for (int j = 0; j < 4; ++j) { - float f3 = 0.25F; - this.worldObj.spawnParticle( - "bubble", - this.entityX - this.motionX * f3, - this.entityY - this.motionY * f3, - this.entityZ - this.motionZ * f3, - this.motionX, - this.motionY, - this.motionZ); - } - - f2 = 0.8F; - } - - this.motionX += this.accelerationX; - this.motionY += this.accelerationY; - this.motionZ += this.accelerationZ; - this.motionX *= f2; - this.motionY *= f2; - this.motionZ *= f2; - this.worldObj.spawnParticle("smoke", this.entityX, this.entityY + 0.5D, this.entityZ, 0.0D, 0.0D, 0.0D); - this.setPosition(this.entityX, this.entityY, this.entityZ); - } - } - - /** - * Return the motion factor for this projectile. The factor is multiplied by the original motion. - */ - @Override - protected float getMotionFactor() { - return 0.95F; - } - - /** - * Called when this EntityFireball hits a block or entity. - */ - @Override - protected abstract void onImpact(MovingObjectPosition p_70227_1_); - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound aTag) { - aTag.setShort("xTile", (short) this.entityX); - aTag.setShort("yTile", (short) this.entityY); - aTag.setShort("zTile", (short) this.entityZ); - aTag.setByte("inTile", (byte) Block.getIdFromBlock(this.block)); - aTag.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - aTag.setTag("direction", this.newDoubleNBTList(new double[] { this.motionX, this.motionY, this.motionZ })); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound aTag) { - this.entityX = aTag.getShort("xTile"); - this.entityY = aTag.getShort("yTile"); - this.entityZ = aTag.getShort("zTile"); - this.block = Block.getBlockById(aTag.getByte("inTile") & 255); - this.inGround = aTag.getByte("inGround") == 1; - - if (aTag.hasKey("direction", 9)) { - NBTTagList nbttaglist = aTag.getTagList("direction", 6); - this.motionX = nbttaglist.func_150309_d(0); - this.motionY = nbttaglist.func_150309_d(1); - this.motionZ = nbttaglist.func_150309_d(2); - } else { - this.setDead(); - } - } - - /** - * Returns true if other Entities should be prevented from moving through this Entity. - */ - @Override - public boolean canBeCollidedWith() { - return true; - } - - @Override - public float getCollisionBorderSize() { - return 1.0F; - } - - /** - * Called when the entity is attacked. - */ - @Override - public boolean attackEntityFrom(DamageSource damage, float p_70097_2_) { - if (this.isEntityInvulnerable()) { - return false; - } else { - this.setBeenAttacked(); - - if (damage.getEntity() != null) { - Vec3 vec3 = damage.getEntity() - .getLookVec(); - - if (vec3 != null) { - this.motionX = vec3.xCoord; - this.motionY = vec3.yCoord; - this.motionZ = vec3.zCoord; - this.accelerationX = this.motionX * 0.1D; - this.accelerationY = this.motionY * 0.1D; - this.accelerationZ = this.motionZ * 0.1D; - } - - if (damage.getEntity() instanceof EntityLivingBase) { - this.shootingEntity = (EntityLivingBase) damage.getEntity(); - } - - return true; - } else { - return false; - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - /** - * Gets how bright this entity is. - */ - @Override - public float getBrightness(float p_70013_1_) { - return 1.0F; - } - - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) { - return 15728880; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityToxinballSmall.java b/gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityToxinballSmall.java deleted file mode 100644 index 44b2e8f694..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/entity/projectile/EntityToxinballSmall.java +++ /dev/null @@ -1,65 +0,0 @@ -package gtPlusPlus.core.entity.projectile; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -public class EntityToxinballSmall extends EntityToxinball { - - public EntityToxinballSmall(World world, EntityLivingBase entity, double x, double y, double z) { - super(world, entity, x, y, z); - this.setSize(0.3125F, 0.3125F); - } - - /** - * Called when this EntityFireball hits a block or entity. - */ - @Override - protected void onImpact(MovingObjectPosition MoP) { - if (!this.worldObj.isRemote) { - if (MoP.entityHit != null) { - if (!MoP.entityHit.isImmuneToFire() && MoP.entityHit - .attackEntityFrom(DamageSource.causeFireballDamage(this, this.shootingEntity), 5.0F)) { - MoP.entityHit.setFire(5); - } - } else { - int i = MoP.blockX; - int j = MoP.blockY; - int k = MoP.blockZ; - - switch (MoP.sideHit) { - case 0 -> --j; - case 1 -> ++j; - case 2 -> --k; - case 3 -> ++k; - case 4 -> --i; - case 5 -> ++i; - } - - if (this.worldObj.isAirBlock(i, j, k)) { - this.worldObj.setBlock(i, j, k, Blocks.fire); - } - } - - this.setDead(); - } - } - - /** - * Returns true if other Entities should be prevented from moving through this Entity. - */ - @Override - public boolean canBeCollidedWith() { - return false; - } - - /** - * Called when the entity is attacked. - */ - @Override - public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/fluids/FluidRegistryHandler.java b/gtpp/src/main/java/gtPlusPlus/core/fluids/FluidRegistryHandler.java deleted file mode 100644 index b08889b42b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/fluids/FluidRegistryHandler.java +++ /dev/null @@ -1,52 +0,0 @@ -package gtPlusPlus.core.fluids; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gtPlusPlus.core.block.ModBlocks.blockFluidSludge; -import static gtPlusPlus.core.block.ModBlocks.fluidSludge; - -import net.minecraft.block.material.Material; -import net.minecraftforge.fluids.FluidRegistry; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.core.block.general.fluids.BlockFluidSludge; - -public class FluidRegistryHandler { - - // Fluids - /** - * - * Luminosity .setLuminosity(luminosity) How much light does the fluid emit. Default: 0, Lava uses 15 Density - * .setDensity(density) How dense is the fluid, the only effect is whether or not a fluid replaces another fluid - * when they flow into each other. Default: 1000, the density of water at 4 degrees Celsius in kg/m³ Temperature - * .setTemperature(temp) How hot, or cold is the fluid. Has currently no effect. Default: 295, the "normal" room - * temperature in degrees Kelvin, this is approximately 72°F or 22°C. Viscosity .setViscosity(viscosity) How thick - * the fluid is. Determines how fast it flows. Default: 1000 for water, lava uses 6000 Is Gaseous - * .setGaseous(boolean) Indicates if the fluid is gaseous. Used for rendering. Default: false - * - */ - public static void registerFluids() { - run(); - } - - private static void run() { - fluidSludge(); - } - - private static void fluidSludge() { - // testFluid - fluidSludge.setLuminosity(8); - fluidSludge.setDensity(8196); - fluidSludge.setTemperature(295); - fluidSludge.setViscosity(3000); - fluidSludge.setGaseous(false); - fluidSludge.setUnlocalizedName("fluid.sludge"); - FluidRegistry.registerFluid(fluidSludge); - blockFluidSludge = new BlockFluidSludge(fluidSludge, Material.cactus).setBlockName("fluidBlockSludge"); - GameRegistry.registerBlock( - blockFluidSludge, - GTPlusPlus.ID + "_" - + blockFluidSludge.getUnlocalizedName() - .substring(5)); - fluidSludge.setUnlocalizedName(blockFluidSludge.getUnlocalizedName()); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/GUI_Base_Tile_Entity.java b/gtpp/src/main/java/gtPlusPlus/core/gui/GUI_Base_Tile_Entity.java deleted file mode 100644 index 379827a1db..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/GUI_Base_Tile_Entity.java +++ /dev/null @@ -1,14 +0,0 @@ -package gtPlusPlus.core.gui; - -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.inventory.Container; - -public abstract class GUI_Base_Tile_Entity extends GuiContainer { - - public final Container mContainer; - - public GUI_Base_Tile_Entity(Container aContainer) { - super(aContainer); - mContainer = aContainer; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java b/gtpp/src/main/java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java deleted file mode 100644 index 7da3d1a35c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java +++ /dev/null @@ -1,47 +0,0 @@ -package gtPlusPlus.core.gui.beta; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import gtPlusPlus.core.interfaces.IGuiManagerMiscUtils; - -public class Gui_ID_Registry { - - private static final Map, MU_GuiId> classMap = new HashMap<>(); - private static final Map idMap = new HashMap<>(); - private static int nextId = 0; - - static {} - - private static void registerGuiHandlers(final Gui_Types MU_GuiType, - final List> guiHandlerClasses) { - for (final Class tileGuiHandlerClass : guiHandlerClasses) { - final MU_GuiId guiId = new MU_GuiId(nextId++, MU_GuiType, tileGuiHandlerClass); - classMap.put(tileGuiHandlerClass, guiId); - idMap.put(Integer.valueOf(guiId.getId()), guiId); - } - } - - public static MU_GuiId getGuiIdForGuiHandler(final IGuiManagerMiscUtils guiHandler) { - final Class guiHandlerClass = guiHandler.getClass(); - MU_GuiId guiId = classMap.get(guiHandlerClass); - if (guiId == null) { - for (final Map.Entry, MU_GuiId> classGuiIdEntry : classMap - .entrySet()) { - if (((Class) classGuiIdEntry.getKey()).isAssignableFrom(guiHandlerClass)) { - guiId = classGuiIdEntry.getValue(); - break; - } - } - } - if (guiId == null) { - throw new IllegalStateException("No gui ID for gui handler: " + guiHandler); - } - return guiId; - } - - public static MU_GuiId getGuiId(final int id) { - return idMap.get(Integer.valueOf(id)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/beta/Gui_Types.java b/gtpp/src/main/java/gtPlusPlus/core/gui/beta/Gui_Types.java deleted file mode 100644 index f0bf946b23..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/beta/Gui_Types.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.gui.beta; - -public enum Gui_Types { - - Item, - Tile, - Entity; - - private Gui_Types() {} -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/beta/MU_GuiId.java b/gtpp/src/main/java/gtPlusPlus/core/gui/beta/MU_GuiId.java deleted file mode 100644 index 8b15f5b937..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/beta/MU_GuiId.java +++ /dev/null @@ -1,28 +0,0 @@ -package gtPlusPlus.core.gui.beta; - -import gtPlusPlus.core.interfaces.IGuiManagerMiscUtils; - -public class MU_GuiId { - - private final int id; - private final Gui_Types MU_GuiType; - private final Class guiHandlerClass; - - MU_GuiId(final int id, final Gui_Types MU_GuiType, final Class guiHandlerClass) { - this.id = id; - this.MU_GuiType = MU_GuiType; - this.guiHandlerClass = guiHandlerClass; - } - - public Gui_Types getGuiType() { - return this.MU_GuiType; - } - - public Class getGuiHandlerClass() { - return this.guiHandlerClass; - } - - public int getId() { - return this.id; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_CircuitProgrammer.java b/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_CircuitProgrammer.java deleted file mode 100644 index 71d3b36470..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_CircuitProgrammer.java +++ /dev/null @@ -1,46 +0,0 @@ -package gtPlusPlus.core.gui.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.container.Container_CircuitProgrammer; -import gtPlusPlus.core.tileentities.general.TileEntityCircuitProgrammer; - -@SideOnly(Side.CLIENT) -public class GUI_CircuitProgrammer extends GuiContainer { - - private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation( - GTPlusPlus.ID, - "textures/gui/CircuitProgrammer.png"); - - public GUI_CircuitProgrammer(final InventoryPlayer player_inventory, final TileEntityCircuitProgrammer te) { - super(new Container_CircuitProgrammer(player_inventory, te)); - } - - @Override - protected void drawGuiContainerForegroundLayer(final int i, final int j) { - super.drawGuiContainerForegroundLayer(i, j); - } - - @Override - protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j) { - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - this.mc.renderEngine.bindTexture(craftingTableGuiTextures); - final int x = (this.width - this.xSize) / 2; - final int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } - - // This method is called when the Gui is first called! - @Override - public void initGui() { - super.initGui(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_DecayablesChest.java b/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_DecayablesChest.java deleted file mode 100644 index 60e0f0e67e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_DecayablesChest.java +++ /dev/null @@ -1,54 +0,0 @@ -package gtPlusPlus.core.gui.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.container.Container_DecayablesChest; -import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest; - -@SideOnly(Side.CLIENT) -public class GUI_DecayablesChest extends GuiContainer { - - private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation( - GTPlusPlus.ID, - "textures/gui/FishTrap.png"); - - public GUI_DecayablesChest(final InventoryPlayer player_inventory, final TileEntityDecayablesChest te) { - super(new Container_DecayablesChest(player_inventory, te)); - } - - @Override - protected void drawGuiContainerForegroundLayer(final int i, final int j) { - - } - - @Override - protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j) { - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - this.mc.renderEngine.bindTexture(craftingTableGuiTextures); - final int x = (this.width - this.xSize) / 2; - final int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } - - // This method is called when the Gui is first called! - @Override - public void initGui() { - // You have to add this line for the Gui to function properly! - super.initGui(); - - // The parameters of GuiButton are(id, x, y, width, height, text); - // this.buttonList.add(new GuiButton( 1, 367, 132, 18, 18, "X")); - // this.buttonList.add(new GuiButton( 2, 385, 132, 18, 18, "Y")); - // NOTE: the id always has to be different or else it might get called twice or never! - - // Add any other buttons here too! - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_FishTrap.java b/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_FishTrap.java deleted file mode 100644 index d57ef408d0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_FishTrap.java +++ /dev/null @@ -1,52 +0,0 @@ -package gtPlusPlus.core.gui.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -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.tileentities.general.TileEntityFishTrap; - -@SideOnly(Side.CLIENT) -public class GUI_FishTrap extends GuiContainer { - - private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation( - GTPlusPlus.ID, - "textures/gui/FishTrap.png"); - - public GUI_FishTrap(final InventoryPlayer player_inventory, final TileEntityFishTrap te) { - super(new Container_FishTrap(player_inventory, te)); - } - - @Override - protected void drawGuiContainerForegroundLayer(final int i, final int j) {} - - @Override - protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j) { - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - this.mc.renderEngine.bindTexture(craftingTableGuiTextures); - final int x = (this.width - this.xSize) / 2; - final int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } - - // This method is called when the Gui is first called! - @Override - public void initGui() { - // You have to add this line for the Gui to function properly! - super.initGui(); - - // The parameters of GuiButton are(id, x, y, width, height, text); - // this.buttonList.add(new GuiButton( 1, 367, 132, 18, 18, "X")); - // this.buttonList.add(new GuiButton( 2, 385, 132, 18, 18, "Y")); - // NOTE: the id always has to be different or else it might get called twice or never! - - // Add any other buttons here too! - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_PestKiller.java b/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_PestKiller.java deleted file mode 100644 index bed8707fc4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_PestKiller.java +++ /dev/null @@ -1,175 +0,0 @@ -package gtPlusPlus.core.gui.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.awt.Color; - -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.FluidTank; -import net.minecraftforge.fluids.IFluidTank; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.container.Container_PestKiller; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.tileentities.machines.TileEntityPestKiller; -import gtPlusPlus.core.util.math.MathUtils; - -@SideOnly(Side.CLIENT) -public class GUI_PestKiller extends GuiContainer { - - private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation( - GTPlusPlus.ID, - "textures/gui/PestKiller.png"); - private final TileEntityPestKiller mTileKiller; - - public GUI_PestKiller(final InventoryPlayer player_inventory, final TileEntityPestKiller te) { - super(new Container_PestKiller(player_inventory, te)); - mTileKiller = te; - } - - @Override - protected void drawGuiContainerForegroundLayer(final int i, final int j) { - if (mTileKiller != null) { - this.fontRendererObj.drawString(I18n.format(mTileKiller.getInventoryName(), new Object[0]), 4, 6, 4210752); - drawFluidTank(mTileKiller.getTank(), 134, 35); - } - } - - @Override - protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j) { - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - this.mc.renderEngine.bindTexture(craftingTableGuiTextures); - final int x = (this.width - this.xSize) / 2; - final int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } - - // This method is called when the Gui is first called! - @Override - public void initGui() { - super.initGui(); - } - - private void drawFluidTank(IFluidTank tank, int x, int y) { - Color startGrad = new Color(50, 50, 50); - Color endGrad = new Color(20, 20, 20); - Container_PestKiller aCont = (Container_PestKiller) this.inventorySlots; - - double aPercentage = 0; - double aDivisor = (100 / 16); - int aFrameHeight = 16; - - boolean didRender = false; - if (aCont != null) { - TileEntityPestKiller aTile = mTileKiller; - if (aTile != null) { - FluidTank aTank = aTile.getTank(); - int aTier = aTile.getTier(); - drawGradientRect(x, y, x + 16, y + 16, startGrad.getRGB(), endGrad.getRGB()); - if (aTier <= 0 || aTier > 2) { - if (aTank != null && aTank.getFluidAmount() > 0) { - aPercentage = MathUtils.findPercentage(aTank.getFluidAmount(), aTank.getCapacity()); - // Logger.INFO("Percent = "+aPercentage); - aFrameHeight = (int) (aPercentage / aDivisor); - // Logger.INFO("Frame Height = "+aFrameHeight); - } - this.fontRendererObj.drawString("Tier: 0", 4, 18, 4210752); - this.fontRendererObj.drawString("Range: 1x1", 4, 30, 4210752); - this.fontRendererObj.drawString("Poison: None", 4, 42, 4210752); - this.fontRendererObj.drawString("Amount: 0", 4, 64, 4210752); - didRender = true; - } else if (aTier == 1) { - if (aTank != null && aTank.getFluidAmount() > 0) { - aPercentage = MathUtils.findPercentage(aTank.getFluidAmount(), aTank.getCapacity()); - // Logger.INFO("Percent = "+aPercentage); - aFrameHeight = (int) (aPercentage / aDivisor); - // Logger.INFO("Frame Height = "+aFrameHeight); - } - startGrad = new Color(240, 50, 240); - endGrad = new Color(130, 30, 130); - drawGradientRect(x, y + (16 - aFrameHeight), x + 16, y + 16, startGrad.getRGB(), endGrad.getRGB()); - this.fontRendererObj.drawString("Tier: 1", 4, 18, 4210752); - this.fontRendererObj.drawString("Range: 5x5", 4, 30, 4210752); - this.fontRendererObj.drawString("Poison: ", 4, 42, 4210752); - this.fontRendererObj.drawString( - "" + aTile.getTank() - .getFluid() - .getLocalizedName(), - 4, - 54, - 4210752); - this.fontRendererObj.drawString( - "Amount: " + aTile.getTank() - .getFluidAmount(), - 4, - 64, - 4210752); - didRender = true; - } else if (aTier == 2) { - if (aTank != null && aTank.getFluidAmount() > 0) { - aPercentage = MathUtils.findPercentage(aTank.getFluidAmount(), aTank.getCapacity()); - // Logger.INFO("Percent = "+aPercentage); - aFrameHeight = (int) (aPercentage / aDivisor); - // Logger.INFO("Frame Height = "+aFrameHeight); - } - short[] aRGB = MISC_MATERIALS.HYDROGEN_CYANIDE.getRGB(); - startGrad = new Color(aRGB[0], aRGB[1], aRGB[2]); - endGrad = new Color(Math.max(aRGB[0], 0), Math.max(aRGB[1], 0), Math.max(aRGB[2], 0)); - drawGradientRect(x, y + (16 - aFrameHeight), x + 16, y + 16, startGrad.getRGB(), endGrad.getRGB()); - this.fontRendererObj.drawString("Tier: 2", 4, 18, 4210752); - this.fontRendererObj.drawString("Range: 9x9", 4, 30, 4210752); - this.fontRendererObj.drawString("Poison: ", 4, 42, 4210752); - this.fontRendererObj.drawString( - "" + aTile.getTank() - .getFluid() - .getLocalizedName(), - 4, - 54, - 4210752); - this.fontRendererObj.drawString( - "Amount: " + aTile.getTank() - .getFluidAmount(), - 4, - 64, - 4210752); - didRender = true; - } - } - } - if (!didRender) { - startGrad = new Color(255, 30, 120); - endGrad = new Color(255, 0, 50); - drawGradientRect(x, y, x + 16, y + 16, startGrad.getRGB(), endGrad.getRGB()); - this.fontRendererObj.drawString("Tier: 0", 4, 18, 4210752); - } - - /* - * FluidStack fluid = tank.getFluid(); TextureManager manager = mc.getTextureManager(); if (fluid != null) { - * manager.bindTexture(manager.getResourceLocation(0)); float amount = fluid.amount; float capacity = - * tank.getCapacity(); float scale = amount / capacity; int fluidTankHeight = 60; int fluidAmount = (int) (scale - * * fluidTankHeight); drawFluid(x, y + fluidTankHeight - fluidAmount, fluid.getFluid().getIcon(fluid), 16, - * fluidAmount); } - */ - } - - private void drawFluid(int x, int y, IIcon icon, int width, int height) { - int i = 0; - int j = 0; - int drawHeight = 0; - int drawWidth = 0; - for (i = 0; i < width; i += 16) { - for (j = 0; j < height; j += 16) { - drawWidth = Math.min(width - i, 16); - drawHeight = Math.min(height - j, 16); - drawTexturedModelRectFromIcon(x + i, y + j, icon, drawWidth, drawHeight); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_ProjectTable.java b/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_ProjectTable.java deleted file mode 100644 index 3707855641..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_ProjectTable.java +++ /dev/null @@ -1,58 +0,0 @@ -package gtPlusPlus.core.gui.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -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 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.tileentities.machines.TileEntityProjectTable; - -@SideOnly(Side.CLIENT) -public class GUI_ProjectTable extends GuiContainer { - - private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation( - GTPlusPlus.ID, - "textures/gui/ProjectTable.png"); - - public GUI_ProjectTable(final InventoryPlayer player_inventory, final TileEntityProjectTable tile) { - super(new Container_ProjectTable(player_inventory, tile)); - } - - @Override - protected void drawGuiContainerForegroundLayer(final int i, final int j) { - - } - - @Override - protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j) { - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - this.mc.renderEngine.bindTexture(craftingTableGuiTextures); - final int x = (this.width - this.xSize) / 2; - final int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } - - // This method is called when the Gui is first called! - @Override - public void initGui() { - // You have to add this line for the Gui to function properly! - super.initGui(); - - // The parameters of GuiButton are(id, x, y, width, height, text); - // this.buttonList.add(new GuiButton( 1, 367, 132, 18, 18, "X")); - // this.buttonList.add(new GuiButton( 2, 385, 132, 18, 18, "Y")); - // NOTE: the id always has to be different or else it might get called twice or never! - - // Add any other buttons here too! - } - - @Override - protected void actionPerformed(final GuiButton B) {} -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_SuperJukebox.java b/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_SuperJukebox.java deleted file mode 100644 index 9afa2b4ce1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_SuperJukebox.java +++ /dev/null @@ -1,88 +0,0 @@ -package gtPlusPlus.core.gui.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.block.machine.Machine_SuperJukebox.TileEntitySuperJukebox; -import gtPlusPlus.core.container.Container_SuperJukebox; -import gtPlusPlus.core.gui.GUI_Base_Tile_Entity; - -@SideOnly(Side.CLIENT) -public class GUI_SuperJukebox extends GUI_Base_Tile_Entity { - - private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation( - GTPlusPlus.ID, - "textures/gui/SuperJukebox.png"); - private final Container_SuperJukebox mThisContainer; - - public GUI_SuperJukebox(final InventoryPlayer player_inventory, final TileEntitySuperJukebox te) { - super(new Container_SuperJukebox(player_inventory, te)); - mThisContainer = (Container_SuperJukebox) this.mContainer; - } - - // This method is called when the Gui is first called! - @Override - public void initGui() { - super.initGui(); - } - - @Override - protected void drawGuiContainerForegroundLayer(final int par1, final int par2) { - super.drawGuiContainerForegroundLayer(par1, par2); - - boolean a = mThisContainer.isPlaying; - boolean b = mThisContainer.isLooping; - - if (a && b) { - this.fontRendererObj.drawString("[X] [X]", 72, 74, 4210752); - } else if (a && !b) { - this.fontRendererObj.drawString("[X] [ ]", 72, 74, 4210752); - } else if (!a && b) { - this.fontRendererObj.drawString("[ ] [X]", 72, 74, 4210752); - } else { - this.fontRendererObj.drawString("[ ] [ ]", 72, 74, 4210752); - } - - this.drawTooltip(par1, par2); - } - - private void drawTooltip(final int x2, final int y2) { - final int xStart = (this.width - this.xSize) / 2; - final int yStart = (this.height - this.ySize) / 2; - final int x3 = x2 - xStart; - final int y3 = y2 - yStart + 5; - final List list = new ArrayList<>(); - - if (y3 >= 17 && y3 <= 33) { - if (x3 >= 80 && x3 <= 96) { - list.add("Play"); - } - } - if (y3 >= 35 && y3 <= 53) { - if (x3 >= 80 && x3 <= 96) { - list.add("Loop"); - } - } - if (!list.isEmpty()) { - this.drawHoveringText(list, x3, y3, this.fontRendererObj); - } - } - - @Override - protected void drawGuiContainerBackgroundLayer(final float par1, final int par2, final int par3) { - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - this.mc.renderEngine.bindTexture(craftingTableGuiTextures); - final int x = (this.width - this.xSize) / 2; - final int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_VolumetricFlaskSetter.java b/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_VolumetricFlaskSetter.java deleted file mode 100644 index 6595b510c0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/machine/GUI_VolumetricFlaskSetter.java +++ /dev/null @@ -1,228 +0,0 @@ -package gtPlusPlus.core.gui.machine; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.resources.I18n; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.input.Keyboard; -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_VolumetricFlaskSetter; -import gtPlusPlus.core.gui.widget.GuiValueField; -import gtPlusPlus.core.handler.PacketHandler; -import gtPlusPlus.core.network.packet.Packet_VolumetricFlaskGui; -import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter; - -@SideOnly(Side.CLIENT) -public class GUI_VolumetricFlaskSetter extends GuiContainer { - - private static final ResourceLocation mGuiTextures = new ResourceLocation( - GTPlusPlus.ID, - "textures/gui/VolumetricFlaskSetter.png"); - private Container_VolumetricFlaskSetter mContainer; - private boolean mIsOpen = false; - private GuiValueField mText; - private TileEntityVolumetricFlaskSetter mTile; - - public GUI_VolumetricFlaskSetter(Container_VolumetricFlaskSetter aContainer) { - super(aContainer); - mContainer = aContainer; - mTile = mContainer.mTileEntity; - } - - @Override - protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j) { - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - this.mc.renderEngine.bindTexture(mGuiTextures); - final int x = (this.width - this.xSize) / 2; - final int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } - - @Override - protected void drawGuiContainerForegroundLayer(final int i, final int j) { - super.drawGuiContainerForegroundLayer(i, j); - this.mText.drawTextBox(); - this.fontRendererObj.drawString(I18n.format("container.VolumetricFlaskSetter", new Object[0]), 4, 3, 4210752); - int aYVal = 49; - this.fontRendererObj.drawString(I18n.format("0 = 16l", new Object[0]), 8, aYVal, 4210752); - this.fontRendererObj.drawString(I18n.format("4 = 576l", new Object[0]), 64, aYVal, 4210752); - this.fontRendererObj.drawString(I18n.format("1 = 36l", new Object[0]), 8, aYVal += 8, 4210752); - this.fontRendererObj.drawString(I18n.format("5 = 720l", new Object[0]), 64, aYVal, 4210752); - this.fontRendererObj.drawString(I18n.format("2 = 144l", new Object[0]), 8, aYVal += 8, 4210752); - this.fontRendererObj.drawString(I18n.format("6 = 864l", new Object[0]), 64, aYVal, 4210752); - this.fontRendererObj.drawString(I18n.format("3 = 432l", new Object[0]), 8, aYVal += 8, 4210752); - this.fontRendererObj.drawString(I18n.format("-> = Custom", new Object[0]), 59, aYVal, 4210752); - } - - @Override - public void drawScreen(int par1, int par2, float par3) { - this.drawDefaultBackground(); - super.drawScreen(par1, par2, par3); - } - - protected String getText() { - return this.mText.getText(); - } - - @Override - public void initGui() { - super.initGui(); - // Keyboard.enableRepeatEvents(true); - mIsOpen = true; - this.mText = new GuiValueField( - this.fontRendererObj, - 26, - 31, - this.width / 2 - 62, - this.height / 2 - 52, - 106, - 14, - this); - mText.setMaxStringLength(5); - mText.setEnableBackgroundDrawing(true); - mText.setText("0"); - mText.setFocused(true); - } - - public boolean isNumber(char c) { - boolean isNum = ((c >= 48 && c <= 57) || c == 45); - if (isNum) { - log("Found Digit: " + c + " | char value"); - } else { - switch (c) { - case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' -> { - log("Found Digit: " + c + " | char switch"); - return true; - } - } - } - return isNum; - } - - public boolean isNumber(int c) { - switch (c) { - case Keyboard.KEY_0, Keyboard.KEY_1, Keyboard.KEY_2, Keyboard.KEY_3, Keyboard.KEY_4, Keyboard.KEY_5, Keyboard.KEY_6, Keyboard.KEY_7, Keyboard.KEY_8, Keyboard.KEY_9, Keyboard.KEY_NUMPAD0, Keyboard.KEY_NUMPAD1, Keyboard.KEY_NUMPAD2, Keyboard.KEY_NUMPAD3, Keyboard.KEY_NUMPAD4, Keyboard.KEY_NUMPAD5, Keyboard.KEY_NUMPAD6, Keyboard.KEY_NUMPAD7, Keyboard.KEY_NUMPAD8, Keyboard.KEY_NUMPAD9 -> { - log("Found Digit: " + Keyboard.getKeyName(c) + " | LWJGL Keybinding"); - return true; - } - } - return false; - } - - @Override - protected void keyTyped(char par1, int par2) { - if (mIsOpen) { - log("Pressed " + par1 + " | " + par2); - if (mText.isFocused()) { - log("Text box has focus."); - if (par2 == Keyboard.KEY_RETURN) { - log("Pressed Enter, unfocusing."); - mText.setFocused(false); - } else if (par2 == Keyboard.KEY_BACK) { - log("Pressed Backspace."); - String aCurrentText = getText(); - if (aCurrentText.length() > 0) { - this.mText.setText(aCurrentText.substring(0, aCurrentText.length() - 1)); - if (getText().length() <= 0) { - setText(0); - } - sendUpdateToServer(); - } - } else { - if (isNumber(par2) || isNumber(par1)) { - log("Pressed number."); - if (this.mText.getText() - .equals("0")) { - this.mText.textboxKeyTyped(par1, par2); - sendUpdateToServer(); - } else { - this.mText.textboxKeyTyped(par1, par2); - sendUpdateToServer(); - } - } else { - log("Pressed unused key."); - super.keyTyped(par1, par2); - } - } - } else { - log("Text box not focused."); - super.keyTyped(par1, par2); - } - } else { - log("Gui is not open?"); - } - } - - @Override - protected void mouseClicked(int x, int y, int btn) { - if (mIsOpen) { - log("Clicked."); - this.mText.mouseClicked(x, y, btn); - if (!mText.didClickInTextField(x, y)) { - log("Did not click in text box, passing to super."); - super.mouseClicked(x, y, btn); - } - } else { - log("Gui is not open?"); - } - } - - @Override - public void onGuiClosed() { - mIsOpen = false; - mText.setEnabled(false); - mText.setVisible(false); - super.onGuiClosed(); - // Keyboard.enableRepeatEvents(false); - } - - public int parse(String aValue) { - try { - return Integer.parseInt(getText()); - } catch (NumberFormatException e) { - return 0; - } - } - - public void sendUpdateToServer() { - if (getText().length() > 0) { - PacketHandler.sendToServer(new Packet_VolumetricFlaskGui(mTile, parse(getText()))); - } - } - - public void setText(int aValue) { - this.mText.setText("" + aValue); - } - - @Override - public void updateScreen() { - super.updateScreen(); - // Update Textbox to 0 if Empty - if (getText().length() <= 0) { - this.mText.setText("0"); - sendUpdateToServer(); - } - this.mText.updateCursorCounter(); - - // Check TextBox Value is correct - if (getText().length() > 0) { - int aCustomValue = parse(getText()); - int aTileValue = ((Container_VolumetricFlaskSetter) mContainer).mCustomValue; - if (mContainer != null) { - if (aTileValue != aCustomValue) { - setText(aTileValue); - } - } - } - } - - public void log(String aString) { - Logger.INFO("[Flask-GUI] " + aString); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/gui/widget/GuiValueField.java b/gtpp/src/main/java/gtPlusPlus/core/gui/widget/GuiValueField.java deleted file mode 100644 index 698aa1951a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/gui/widget/GuiValueField.java +++ /dev/null @@ -1,104 +0,0 @@ -package gtPlusPlus.core.gui.widget; - -import java.lang.reflect.Field; - -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.GuiTextField; - -import gtPlusPlus.core.gui.machine.GUI_VolumetricFlaskSetter; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; - -public class GuiValueField extends GuiTextField { - - private final FontRenderer mFontRenderer; - private final int mScreenLocationX; - private final int mScreenLocationY; - private final GUI_VolumetricFlaskSetter mGUI; - - public GuiValueField(FontRenderer aFontRenderer, int aX, int aY, int aScreenLocationX, int aScreenLocationY, - int aWidth, int aHeight, GUI_VolumetricFlaskSetter aGUI) { - super(aFontRenderer, aX, aY, aWidth, aHeight); - mFontRenderer = aFontRenderer; - mScreenLocationX = aScreenLocationX; - mScreenLocationY = aScreenLocationY; - mGUI = aGUI; - } - - @Override - public boolean isFocused() { - return super.isFocused(); - } - - public boolean isBackgroundDrawingEnabled() { - Field enableBackgroundDrawing = ReflectionUtils.getField( - GuiTextField.class, - !CORE_Preloader.DEV_ENVIRONMENT ? "field_146215_m" : "enableBackgroundDrawing"); - if (enableBackgroundDrawing != null) { - return ReflectionUtils.getFieldValue(enableBackgroundDrawing, this); - } - return true; - } - - public int getLineScrollOffset() { - Field lineScrollOffset = ReflectionUtils - .getField(GuiTextField.class, !CORE_Preloader.DEV_ENVIRONMENT ? "field_146225_q" : "lineScrollOffset"); - if (lineScrollOffset != null) { - return (int) ReflectionUtils.getFieldValue(lineScrollOffset, this); - } - return 0; - } - - public boolean didClickInTextField(int aX, int aY) { - mGUI.log("Clicked at X:" + aX + ", Y:" + aY); - boolean aDidClick = aX >= this.mScreenLocationX && aX < this.mScreenLocationX + this.width - && aY >= this.mScreenLocationY - && aY < this.mScreenLocationY + this.height; - mGUI.log("Did click in textbox? " + aDidClick); - mGUI.log("Expected Region: X:" + mScreenLocationX + "-" + (this.mScreenLocationX + this.width)); - mGUI.log("Expected Region: Y:" + mScreenLocationY + "-" + (this.mScreenLocationY + this.height)); - return aDidClick; - } - - /** - * Args: x, y, buttonClicked - */ - @Override - public void mouseClicked(int aX, int aY, int aButton) { - boolean aDidClick = didClickInTextField(aX, aY); - - mGUI.log("Did click inside text box? " + aDidClick); - mGUI.log("Focus 1: " + this.isFocused()); - this.setFocused(aDidClick); - mGUI.log("Focus 2: " + this.isFocused()); - if (isFocused()) { - int l = aX - this.mScreenLocationX; - if (isBackgroundDrawingEnabled()) { - l -= 4; - } - if (aButton == 0) { - mGUI.log("Left clicked in text box."); - String s = this.mFontRenderer.trimStringToWidth( - this.getText() - .substring(getLineScrollOffset()), - this.getWidth()); - this.setCursorPosition( - this.mFontRenderer.trimStringToWidth(s, l) - .length() + getLineScrollOffset()); - } else if (aButton == 1) { - mGUI.log("Right clicked in text box."); - mGUI.setText(0); - mGUI.sendUpdateToServer(); - String s = this.mFontRenderer.trimStringToWidth( - this.getText() - .substring(getLineScrollOffset()), - this.getWidth()); - this.setCursorPosition( - this.mFontRenderer.trimStringToWidth(s, l) - .length() + getLineScrollOffset()); - } - } else { - mGUI.log("Clicked, but no focus."); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/AchievementHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/AchievementHandler.java deleted file mode 100644 index 41513163a0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/AchievementHandler.java +++ /dev/null @@ -1,491 +0,0 @@ -package gtPlusPlus.core.handler; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; - -import java.util.concurrent.ConcurrentHashMap; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.Achievement; -import net.minecraftforge.common.AchievementPage; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.EntityItemPickupEvent; - -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent.ItemSmeltedEvent; -import gregtech.api.enums.Materials; -import gregtech.api.util.GT_Log; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools; - -public class AchievementHandler { - - public ConcurrentHashMap achievementList = new ConcurrentHashMap<>(); - - public int adjX = 5; - public int adjY = 9; - - private static final String aBaseAchievementName = "gtpp.start"; - - public AchievementHandler() { - - Logger.INFO("Initializing GT++ achievements"); - GT_Log.out.println("Initializing GT++ achievements"); - - // register first - this.registerAchievement( - aBaseAchievementName, - 0, - 0, - MetaGeneratedGregtechTools.INSTANCE.getToolWithStats( - MetaGeneratedGregtechTools.ANGLE_GRINDER, - 1, - Materials.Osmium, - Materials.Osmium, - null), - "", - true); - - this.registerAchievement( - "hatch.dynamo.buffered", - 2, - -2, - GregtechItemList.Hatch_Buffer_Dynamo_IV.get(1), - aBaseAchievementName, - false); - // First multi anyone really needs - this.registerAchievement( - "multi.abs", - -4, - -2, - GregtechItemList.Industrial_AlloyBlastSmelter.get(1), - aBaseAchievementName, - true); - - // Material Advancement - this.registerAchievement("dust.potin", 0, 2, ALLOY.POTIN.getDust(1), aBaseAchievementName, false); - this.registerAchievement("dust.eglin", 0, 4, ALLOY.EGLIN_STEEL.getDust(1), "dust.potin", false); - this.registerAchievement("dust.staballoy", 0, 6, ALLOY.STABALLOY.getDust(1), "dust.eglin", false); - this.registerAchievement("dust.quantum", 0, 8, ALLOY.QUANTUM.getDust(1), "dust.staballoy", true); - this.registerAchievement("dust.hypogen", 0, 10, ELEMENT.STANDALONE.HYPOGEN.getDust(1), "dust.quantum", true); - - // Blocks - this.registerAchievement( - "block.fishtrap", - -2, - 2, - ItemUtils.getSimpleStack(ModBlocks.blockFishTrap), - "dust.potin", - false); - this.registerAchievement( - "block.withercage", - -2, - 4, - ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard), - "dust.eglin", - false); - - // Machines (-10/-8/-6) - this.registerAchievement("rtg", -16, -10, GregtechItemList.RTG.get(1), aBaseAchievementName, false); - this.registerAchievement( - "dehydrate", - -15, - -10, - GregtechItemList.GT_Dehydrator_HV.get(1), - aBaseAchievementName, - false); - this.registerAchievement( - "semifluid", - -14, - -10, - GregtechItemList.Generator_SemiFluid_HV.get(1), - aBaseAchievementName, - false); - this.registerAchievement( - "earlywasher", - -13, - -10, - GregtechItemList.SimpleDustWasher_ULV.get(1), - aBaseAchievementName, - false); - this.registerAchievement( - "advancedsteam", - -12, - -10, - GregtechItemList.Boiler_Advanced_MV.get(1), - aBaseAchievementName, - false); - if (PollutionUtils.isPollutionEnabled()) { - this.registerAchievement( - "pollutionremoval", - -11, - -10, - GregtechItemList.Pollution_Cleaner_IV.get(1), - aBaseAchievementName, - false); - } - this.registerAchievement( - "hiampxform", - -10, - -10, - GregtechItemList.Transformer_HA_HV_MV.get(1), - aBaseAchievementName, - false); - - // Multis (-4/-2/0) - this.registerAchievement("multi.pss", -16, -7, GregtechItemList.PowerSubStation.get(1), "multi.abs", false); - this.registerAchievement("multi.cyclo", -15, -7, GregtechItemList.COMET_Cyclotron.get(1), "multi.abs", false); - this.registerAchievement( - "multi.sifter", - -14, - -7, - GregtechItemList.Industrial_Sifter.get(1), - "dust.eglin", - false); - this.registerAchievement( - "multi.cokeoven", - -13, - -7, - GregtechItemList.Industrial_CokeOven.get(1), - "multi.abs", - false); - this.registerAchievement( - "multi.boiler.thermal", - -12, - -7, - GregtechItemList.GT4_Thermal_Boiler.get(1), - "multi.abs", - false); - this.registerAchievement( - "multi.zhuhai", - -11, - -7, - GregtechItemList.Industrial_FishingPond.get(1), - aBaseAchievementName, - false); - - // Casings - this.registerAchievement( - "casing.abs", - 2, - -10, - GregtechItemList.Casing_Coil_BlastSmelter.get(1), - aBaseAchievementName, - false); - this.registerAchievement( - "casing.cyclotron.coil", - 3, - -10, - GregtechItemList.Casing_Cyclotron_Coil.get(1), - aBaseAchievementName, - false); - this.registerAchievement( - "casing.multiuse", - 4, - -10, - GregtechItemList.Casing_Multi_Use.get(1), - aBaseAchievementName, - false); - this.registerAchievement( - "casing.containment", - 5, - -10, - GregtechItemList.Casing_Containment.get(1), - aBaseAchievementName, - false); - - // Radioactive - this.registerAchievement( - "decay.neptunium238", - 11, - 8, - ItemUtils.getSimpleStack(ModItems.dustNeptunium238), - "multi.cyclo", - false); - this.registerAchievement( - "decay.radium226", - 12, - 8, - ItemUtils.getSimpleStack(ModItems.dustRadium226), - "multi.cyclo", - false); - this.registerAchievement( - "decay.molybdenum99", - 13, - 8, - ItemUtils.getSimpleStack(ModItems.dustMolybdenum99), - "multi.cyclo", - false); - - AchievementPage.registerAchievementPage( - new AchievementPage( - "GT++", - this.achievementList.values() - .toArray(new Achievement[0]))); - MinecraftForge.EVENT_BUS.register(this); - FMLCommonHandler.instance() - .bus() - .register(this); - } - - public Achievement registerAchievement(String textId, int x, int y, ItemStack icon, String requirement, - boolean special) { - Achievement achievement = new Achievement( - textId, - textId, - this.adjX + x, - this.adjY + y, - icon, - this.getAchievement(requirement)); - if (special) { - achievement.setSpecial(); - } - - achievement.registerStat(); - if (CORE.DEVENV) { - GT_Log.out.println("achievement." + textId + "="); - GT_Log.out.println("achievement." + textId + ".desc="); - } - - this.achievementList.put(textId, achievement); - return achievement; - } - - public void issueAchievement(EntityPlayer entityplayer, String textId) { - if (entityplayer != null) { - entityplayer.triggerAchievement(this.achievementList.get(textId)); - } - } - - public Achievement getAchievement(String textId) { - return this.achievementList.get(textId); - } - - /** - * A generic handler that will give an achievement for an item. Useful to only write this once, then call it from - * all handlers. - * - * @param aStack - The Itemstack to check for achievements. - * @param aPlayer - The player to unlock for. - */ - private void handleAchivement(ItemStack aStack, EntityPlayer aPlayer) { - - if (aPlayer != null && aStack != null) { - /* - * Copy this to all events because I am lazy - Alk 2019 - */ - - // Safe name - String aUnlocalName = ItemUtils.getUnlocalizedItemName(aStack); - - boolean isValid = false; - // Check if valid name // mod - String aModID = ItemUtils.getModId(aStack); - - if (aModID == null || aModID.isEmpty()) { - return; - } - - if (ItemUtils.getModId(aStack) - .equals(GTPlusPlus.ID) - || ItemUtils.getModId(aStack) - .equalsIgnoreCase(GregTech.ID)) { - isValid = true; - } - if (!isValid) { - return; - } - - // Should unlock base achievement from *ANY* GT++ item. (Too lazy to special case GT machineBlocks though) - if (ItemUtils.getModId(aStack) - .equals(GTPlusPlus.ID)) { - this.issueAchievement(aPlayer, aBaseAchievementName); - } - - if (aUnlocalName.contains("item.")) { - aUnlocalName = aUnlocalName.substring(5); - } else if (aUnlocalName.contains("tile.")) { - aUnlocalName = aUnlocalName.substring(5); - } - - /* - * Misc Blocks - */ - if (aUnlocalName.equals("blockFishTrap")) { - this.issueAchievement(aPlayer, "block.fishtrap"); - } - if (aUnlocalName.equals("blockBlackGate")) { - this.issueAchievement(aPlayer, "block.withercage"); - } - - /* - * Decayables - */ - if (aUnlocalName.equals("dustNeptunium238")) { - this.issueAchievement(aPlayer, "decay.neptunium238"); - } else if (aUnlocalName.equals("dustRadium226")) { - this.issueAchievement(aPlayer, "decay.radium226"); - } else if (aUnlocalName.equals("dustMolybdenum99")) { - this.issueAchievement(aPlayer, "decay.molybdenum99"); - } else if (aUnlocalName.equals("dustTechnetium99M")) { - this.issueAchievement(aPlayer, "decay.technetium99m"); - } else if (aUnlocalName.equals("dustTechnetium99")) { - this.issueAchievement(aPlayer, "decay.technetium99"); - } - - /* - * Random Materials worthy of Achievements - */ - else if (aUnlocalName.equals("itemDustPotin")) { - this.issueAchievement(aPlayer, "dust.potin"); - } else if (aUnlocalName.equals("itemDustEglinSteel")) { - this.issueAchievement(aPlayer, "dust.eglin"); - } else if (aUnlocalName.equals("itemDustStaballoy")) { - this.issueAchievement(aPlayer, "dust.staballoy"); - } else if (aUnlocalName.equals("itemDustQuantum")) { - this.issueAchievement(aPlayer, "dust.quantum"); - } else if (aUnlocalName.equals("itemDustHypogen")) { - this.issueAchievement(aPlayer, "dust.hypogen"); - } - - /* - * Machines - */ - else if (aUnlocalName.startsWith("gt.blockmachines.")) { - - // Readability - String aStartsWith = "gt.blockmachines."; - - /* - * Single Blocks - */ - - // RTG - if (aUnlocalName.startsWith(aStartsWith + "basicgenerator.rtg")) { - this.issueAchievement(aPlayer, "rtg"); - } - // Dehydrator - else if (aUnlocalName.startsWith(aStartsWith + "machine.dehydrator.tier.")) { - this.issueAchievement(aPlayer, "dehydrate"); - } - // SemiFluids - else if (aUnlocalName.startsWith(aStartsWith + "basicgenerator.semifluid.tier.")) { - this.issueAchievement(aPlayer, "semifluid"); - } - // Simple Washer - else if (aUnlocalName.startsWith(aStartsWith + "simplewasher.01.tier.")) { - this.issueAchievement(aPlayer, "earlywasher"); - } - // Advanced Boilers - else if (aUnlocalName.startsWith(aStartsWith + "electricboiler.")) { - this.issueAchievement(aPlayer, "advancedsteam"); - } - // Scrubers - else if (aUnlocalName.startsWith(aStartsWith + "pollutioncleaner.01.tier.")) { - this.issueAchievement(aPlayer, "pollutionremoval"); - } - // High-amp xformers - else if (aUnlocalName.startsWith(aStartsWith + "transformer.ha.tier.")) { - this.issueAchievement(aPlayer, "hiampxform"); - } - // Buffered Dynamos - else if (aUnlocalName.startsWith(aStartsWith + "hatch.dynamo.buffer.tier.")) { - this.issueAchievement(aPlayer, "hatch.dynamo.buffered"); - } - // Control Core Hatch - else if (aUnlocalName.startsWith(aStartsWith + "hatch.control.adv")) { - this.issueAchievement(aPlayer, "hatch.control"); - } - - /* - * Multis - */ - - // ABS - else if (aUnlocalName.equals(aStartsWith + "industrialsalloyamelter.controller.tier.single")) { - this.issueAchievement(aPlayer, "multi.abs"); - } - // PSS - else if (aUnlocalName.equals(aStartsWith + "substation.01.input.single")) { - this.issueAchievement(aPlayer, "multi.pss"); - } - // Cyclotron - else if (aUnlocalName.startsWith(aStartsWith + "cyclotron.tier.single")) { - this.issueAchievement(aPlayer, "multi.cyclo"); - } - // Sifter - else if (aUnlocalName.equals(aStartsWith + "industrialsifter.controller.tier.single")) { - this.issueAchievement(aPlayer, "multi.sifter"); - } - // Coke Oven - else if (aUnlocalName.equals(aStartsWith + "industrialcokeoven.controller.tier.single")) { - this.issueAchievement(aPlayer, "multi.cokeoven"); - } - // Thermal Boiler - else if (aUnlocalName.equals(aStartsWith + "gtplusplus.thermal.boiler")) { - this.issueAchievement(aPlayer, "multi.boiler.thermal"); - } - // Zhuhai - else if (aUnlocalName.equals(aStartsWith + "industrial.fishpond.controller.tier.single")) { - this.issueAchievement(aPlayer, "multi.zhuhai"); - } - - } - - /* - * Casings - */ - else if (aUnlocalName.equals("gtplusplus.blockcasings.14")) { - this.issueAchievement(aPlayer, "casing.abs"); - } else if (aUnlocalName.equals("gtplusplus.blockcasings.2.9")) { - this.issueAchievement(aPlayer, "casing.cyclotron.coil"); - } else if (aUnlocalName.equals("gtplusplus.blockcasings.3.2")) { - this.issueAchievement(aPlayer, "casing.multiuse"); - } else if (aUnlocalName.equals("gtplusplus.blockcasings.3.15")) { - this.issueAchievement(aPlayer, "casing.containment"); - } - } - } - - /* - * Handle achievements for all vanilla types of obtianment. - */ - - @SubscribeEvent - public void onCrafting(ItemCraftedEvent event) { - EntityPlayer player = event.player; - ItemStack stack = event.crafting; - if (player != null && stack != null) { - handleAchivement(stack, player); - } - } - - @SubscribeEvent - public void onSmelting(ItemSmeltedEvent event) { - EntityPlayer player = event.player; - ItemStack stack = event.smelting; - if (player != null && stack != null) { - handleAchivement(stack, player); - } - } - - @SubscribeEvent - public void onItemPickup(EntityItemPickupEvent event) { - EntityPlayer player = event.entityPlayer; - ItemStack stack = event.item.getEntityItem(); - if (player != null && stack != null) { - handleAchivement(stack, player); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/BookHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/BookHandler.java deleted file mode 100644 index 5725c1c710..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/BookHandler.java +++ /dev/null @@ -1,486 +0,0 @@ -package gtPlusPlus.core.handler; - -import static gtPlusPlus.core.util.Utils.addBookPagesLocalization; -import static gtPlusPlus.core.util.Utils.addBookTitleLocalization; - -import java.util.HashMap; -import java.util.Map; - -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -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.item.ModItems; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; - -public class BookHandler { - - public static int mBookKeeperCount = 0; - - public static Map mBookMap = new HashMap<>(); - - public static BookTemplate book_ThermalBoiler; - public static BookTemplate book_MultiPowerStation; - public static BookTemplate book_ModularBauble; - public static BookTemplate book_MultiMachineManual; - public static BookTemplate book_NuclearManual; - public static BookTemplate book_MultiChemicalPlant; - - public static void run() { - - Logger.INFO("Writing books."); - - // Thermal Boiler - book_ThermalBoiler = writeBookTemplate( - "Manual_Thermal_Boiler", - "Thermal Boiler Manual", - "GregoriusT", - new String[] { - "This Book explains how to set up and run your Thermal Boiler. We are not responsible for any Damage done by this Book itself nor its content.", - "First you need to craft the following things for a Thermal Boiler to Function: The Main Boiler Block, 20 Thermal Containment Casings, two Input Hatches, two Output Hatches, a bunch of different Tools and a Maintenance Hatch.", - "To begin the building, lay out the first 3x3 layer of Machine Casings on the ground (with a Hatch in the Middle), then place the Boiler Block facing outward in the middle of one of the 3m wide Sides.", - "Now grab 3 other Hatches and place them on the remaining three 3m wide Sides also facing outwards. And now the four corners of the Machine need also a Machine Casing. There should only be a Hole left in the middle of the Cube.", - "So, now place a 3x3 of Machine Casings on top, at the 3rd Layer with the last Hatch in the middle facing outwards as well.", - "When accessing the Boiler Block, it should now stop telling you, that the structure is incomplete (bottom Line of that Screen). Now go with a bunch of different Tools (Metal Hammer, Rubber Hammer, Screwdriver, Wrench, Soldering Iron and Crowbar)", - "to the Maintenance Hatch and access it. After that you grab the 6 Tools and rightclick the Slot with each of them in your Hand in the Maintenance GUI. Note that you need Soldering Tin/Lead in your Inventory to use the Soldering Iron.", - "The Main Block should now tell you that you need to use the Rubber Hammer on it to (re)activate the Machine. The Rubber Hammer can enable and disable Machines. The Machine disables itself after something important broke.", - "If you want to use Lava with this Device, then you should add a Lava Filter to extract additional Resources from the Lava. If the Filter breaks, the Machine won't explode like a Turbine would. If you use molten Salt, then you won't need a Filter.", - "You will get Obsidian when processing Lava, however if a Filter is used, you will get sometimes an Ingot instead of a Block of Obsidian. When using molten Salt, you will get the Salt back.", - "So, now for the Maintenance. After a few Hours of running nonstop, your Boiler will get small Problems, which don't prevent it from running, these Problems just decrease Efficiency. Every Problem listed on the Screen does -10% Efficiency.", - "To fix these Problems, just go to the Maintenance Hatch and click with the problem corresponding Tool on the Slot to repair. If all six possible runtime Problems happen, the Machine will auto-shutdown no matter what. No Explosion, it's just stopping.", - "The Thermal Boiler will produce 800 Liters of Steam per tick for about 5 or 6 Liters of Water per tick at reaching 100% Efficiency. In case of Lava it consumes 1666 Liters every Second.", - "A Thermal Boiler is worth about 33 small Thermal Generators, and as the Boilers get much less Efficient, when not having enough Fuel, you should consider making a large Nether Pump for Lava, or a good Nuclear Reactor for molten Salt.", - "Input and Output Slots are fully optional, you can place multiple ones of them or even none on the Machine. A Machine without Input couldn't process any Recipes, while a Machine without Output just voids all outputted Items and Liquids.", - "It might be useful to use the Screwdriver on the Output Hatches to determine what is outputted where." }); - - // Test Novel - book_MultiPowerStation = writeBookTemplate( - "Manual_Multi_PowerStation", - "Power Storage & You [Version 0.64]", - "Alkalus", - new String[] { - // Page 1 - """ - So, when it comes to power storage you really have three separate options: - \s - Battery Buffers, - Energy Buffers, - The Power Sub-Station - """, - // Page 2 - """ - Battery Buffer - \s - Is rather portable. Allowing you to throw set one up and insert batteries where ever you may need. - They output 1A for each battery stored inside, up to a maximum of 16A.""", - // Page 3 - """ - Energy Buffer - \s - Is a more optimal choice for storage in your base. Once placed down, they cannot be moved without losing all stored power. - Energy Buffers can output 4A from the output side, however accept 16A as input.""", - // Page 4 - """ - The Power Sub-Station\s - Is used for storing Insane amounts of power later game. - Consumes 2% of the average voltage of all energy type hatches every tick. - """, - // Page 5 - """ - Allows Insertion/Removal of power from the rear face of the controller, swap with a screwdriver. - Variable Height Structure, between 4-16Y. Inserted Redox Cells dictate max energy tier of structure. - """, - // Page 6 - """ - Redox Cells cannot be placed into the Top or Bottom layer and only take up 3xhx3 internally. - Different Tier cells CANNOT be mixed together. - """, - // Page 7 - """ - All Hatches Must be HV at a Minimum, this minimum tier is in place to stop people abusing ULV/LV hatches to lower the avg/t. - Currently the GUI will NOT display anything at all until the structure forms, this is a known bug. - """, - // Page 8 - """ - Valid Hatches: - Energy Hatch, - Dynamo Hatch, - Charging Bus, - Discharging Bus, - Dynamo Buffer, - Multi-Amp Dynamo Hatch. - - - Structure MUST contain at least one energy input and one energy output hatch.""" }); - - // Test Novel - book_ModularBauble = writeBookTemplate( - "Manual_Modular_Bauble", - "How to: Modular Baubles", - "Alkalus", - new String[] { - """ - Concept: This idea came from wanting flexibility.\s - First step, Build a Modularity table to begin customisation of your Bauble.\s - After this has been constructed, you can now combine the upgrades listed within this book to improve the baubles level/100.""", - """ - Defence: - Can be upgraded by combining metal plates with the bauble.\s - | +1 | Aluminium\s - | +2 | Stainless Steel\s - | +3 | Tungsten\s - | +4 | Tungsten Steel\s - | +5 | Naquadah\s - """, "There was once a sad and lonely oak tree. \n", "There was once a sad and lonely oak tree. \n", - "There was once a sad and lonely oak tree. \n" }); - - // 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, With a minimum of 6. Any Casing position can be substituted out with an Input Hatch/Bus, an Output Hatch/Bus, Muffler, 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.", - "[Metal Work] Mode Metal - 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 Fluid - Allows the multiblock to function as a Fermenter, a Fluid Extractor or an Extractor. To allow a hatch to run in Fermenter mode, insert a No. 20 circuit. For Fluid Extractor, use No. 21 and for Extractor use No. 22.", - "[Misc. Work] Mode Misc - Allows the multiblock to function as a Laser Engraver, an Autoclave or a Fluid Solidifier. To allow a hatch to run in Laser Engraver mode, insert a No. 20 circuit. For Autoclave, use No. 21 and for Solidifier use No. 22.", }); - - book_NuclearManual = writeBookTemplate( - "Manual_NuclearStuff_1", - "Nuclear Chemistry [FFPP]", - "Alkalus", - new String[] { - // Page 1 - """ - Fission Fuel Processing Plant - Size: 3x9x3 [LxHxW] - Controller: Center, Bottom - 4x Input Hatch - 2x Output Hatch - 1x Output Bus - 1x ZPM+ Muffler - 1x Maintenance Hatch - 1x Energy Hatch - """, - // Page 2 - """ - [1] 7x Hastelloy-X or I/O - [2] 5x Incoloy-DS Fluid Containment - [3] 4x Zeron-100 Shielding - [4] 17x Hastelloy-N Sealant Case - Multiblock Construction - Convention is [LxHxW] - - """, - // Page 3 - """ - Layer 1/2: - [1][1][1] - [1][1][1] - [1][1][1] - - Layer 3/5/6 - [ ][4][ ] - [4][2][4] - [ ][4][ ] - - """, - // Page 4 - """ - Layer 4 - [ ][3][ ] - [3][2][3] - [ ][3][ ] - - Layer 7/8/9 - [ ][ ][ ] - [ ][3][ ] - [ ][ ][ ] - """, - // Page 5 - """ - Fission Fuel - Processing Plant---------------------- - This structure is used to produce the Molten Salts required to run a Liquid Fluorine Thorium Reactor [LFTR].""" }); - - book_MultiChemicalPlant = writeBookTemplate( - "book_Multi_ChemicalPlant", - "Chemical Plant Manual", - "Alkalus", - new String[] { - - // Intro - "This book will explain how the Chemical Plant is constructed, which blocks are valid to upgrade it and also how the upgrades work.", - - // Info - """ - Solid Casings = Plant tier - Machine Casings = Hatch tier - Higher tier coils More Speed - T1 50% , T2 100% , T3 150%, etc - """, """ - Higher tier pipe casings boost parallel - and reduce catalyst consumption. - +2 parallel per tier, 20% extra chance of - not damaging catalyst per tier.""", """ - Awakened Draconium Coil (or above) with - Tungstensteel Pipe Casing - does not damage catalyst at all.""", - - // Machine Casings - """ - Valid Solid Machine Casings: - 1 - Strong Bronze - 2 - Solid Steel - 3 - Sturdy Aluminium - 4 - Clean Stainless Steel - 5 - Stable Titanium - 6 - Robust Tungstensteel - 7 - Vigorous Laurenium - 8 - Rugged Botmium""", - - // Machine Casings - "Valid Tiered Machine Casings:" + "\n" - + "\n" - + "1 - " - + GT_Values.VN[0] - + "\n" - + "2 - " - + GT_Values.VN[1] - + "\n" - + "3 - " - + GT_Values.VN[2] - + "\n" - + "4 - " - + GT_Values.VN[3] - + "\n" - + "5 - " - + GT_Values.VN[4] - + "\n" - + "6 - " - + GT_Values.VN[5] - + "\n" - + "7 - " - + GT_Values.VN[6] - + "\n" - + "8 - " - + GT_Values.VN[7] - + "\n" - + "9 - " - + GT_Values.VN[8] - + "\n" - + "10 - " - + GT_Values.VN[9], - - // Pipe Casings - """ - Valid Pipe Casings: - - 1 - Bronze - 2 - Steel - 3 - Titanium - 4 - Tungstensteel""", - - // Coils - """ - Valid Coils: - - 1 - Cupronickel - 2 - Kanthal - 3 - Nichrome - 4 - TPV-Alloy - 5 - HSS-G - 6 - HSS-S - 7 - Naquadah - 8 - Naquadah Alloy - 9 - Trinium - 10 - Fluxed Electrum""", """ - 11 - Awakened Draconium - 12 - Infinity - 13 - Hypogen - 14 - Eternal""", - - // Requirements - """ - Multiblock Requirements: - - 27x Coils - 18x Pipe Casings - 57x Tiered Machine Casings - 70+ Solid Casings - 1x Catalyst Housing (Catalysts cannot go inside an Input Bus)""", - - // Construction Guide - """ - Construction Guide Pt1: - - Controller is placed on a middle casing in the bottom layer - Hatches can only be placed on the bottom layer edges""", """ - Construction Guide Pt2: - - 7x7x7 Hollow frame of solid casings - 5x1x5 layer of solid casings (fills in top layer) - 5x1x5 layer of machine casings (fills in bottom layer)""", """ - Construction Guide Pt3: - In the central 3x5x3: - 3x1x3 layer of Coils, surrounded by ring of Machine Casings - 3x1x3 layer of Pipe Casings - 3x1x3 layer of Coils - 3x1x3 layer of Pipe Casings - 3x1x3 layer of Coils, surrounded by ring of Machine Casings""", - - // Construction Guide Info - """ - Information: - - A = Air - X = Solid Casing - M = Machine Casing - P = Pipe Casing - C = Coil Casing""", """ - Layer 1: - - XXXXXXX - XMMMMMX - XMMMMMX - XMMMMMX - XMMMMMX - XMMMMMX - XXXXXXX""", """ - Layer 2: - - XAAAAAX - AMMMMMA - AMCCCMA - AMCCCMA - AMCCCMA - AMMMMMA - XAAAAAX""", """ - Layer 3: - - XAAAAAX - AAAAAAA - AAPPPAA - AAPPPAA - AAPPPAA - AAAAAAA - XAAAAAX""", """ - Layer 4: - - XAAAAAX - AAAAAAA - AACCCAA - AACCCAA - AACCCAA - AAAAAAA - XAAAAAX""", """ - Layer 5: - - XAAAAAX - AAAAAAA - AAPPPAA - AAPPPAA - AAPPPAA - AAAAAAA - XAAAAAX""", """ - Layer 6: - - XAAAAAX - AMMMMMA - AMCCCMA - AMCCCMA - AMCCCMA - AMMMMMA - XAAAAAX""", """ - Layer 7: - - XXXXXXX - XXXXXXX - XXXXXXX - XXXXXXX - XXXXXXX - XXXXXXX - XXXXXXX""", }); - } - - public static ItemStack ItemBookWritten_ThermalBoiler; - public static ItemStack ItemBookWritten_NuclearManual; - public static ItemStack ItemBookWritten_ModularBaubles; - public static ItemStack ItemBookWritten_MultiPowerStorage; - public static ItemStack ItemBookWritten_MultiMachineManual; - public static ItemStack ItemBookWritten_MultiChemicalPlant; - - public static void runLater() { - ItemBookWritten_ThermalBoiler = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 0, 1); - ItemBookWritten_MultiPowerStorage = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 1, 1); - ItemBookWritten_ModularBaubles = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 2, 1); - ItemBookWritten_MultiMachineManual = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 3, 1); - ItemBookWritten_NuclearManual = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 4, 1); - ItemBookWritten_MultiChemicalPlant = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 5, 1); - - // Multiblock Manuals - RecipeUtils.addShapelessGregtechRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(Items.writable_book), - ItemUtils.getSimpleStack(Items.lava_bucket) }, - ItemBookWritten_ThermalBoiler); - GT_ModHandler.addCraftingRecipe( - ItemBookWritten_MultiMachineManual, - GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "Xw", 'X', ItemUtils.getSimpleStack(Items.writable_book) }); - RecipeUtils.addShapelessGregtechRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(Items.writable_book), - ItemUtils.getItemStackOfAmountFromOreDict("wireGt01Tin", 1) }, - ItemBookWritten_MultiPowerStorage); - RecipeUtils.addShapelessGregtechRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(Items.writable_book), - ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1) }, - ItemBookWritten_NuclearManual); - RecipeUtils.addShapelessGregtechRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(Items.writable_book), - ItemUtils.getItemStackOfAmountFromOreDict("wireGt01Copper", 1) }, - ItemBookWritten_MultiChemicalPlant); - - for (int i = 0; i < mBookKeeperCount; i++) { - ItemStack bookstack = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, i, 1); - GT_OreDictUnificator.registerOre("bookWritten", bookstack); - GT_OreDictUnificator.registerOre("craftingBook", bookstack); - } - } - - private static BookTemplate writeBookTemplate(String aMapping, String aTitle, String aAuthor, String[] aPages) { - mBookKeeperCount++; - for (int i = 0; i < aPages.length; i++) { - aPages[i] = aPages[i].replaceAll("\n", "
"); - } - addBookTitleLocalization(aTitle); - addBookPagesLocalization(aTitle, aPages); - BookTemplate mTemp = new BookTemplate(mBookKeeperCount, aMapping, aTitle, aAuthor, aPages); - mBookMap.put(mBookKeeperCount - 1, mTemp); - return mTemp; - } - - public static class BookTemplate { - - public final int mMeta; - public final String mMapping; - public final String mTitle; - public final String mAuthor; - public final String[] mPages; - - BookTemplate(int aMeta, String aMapping, String aTitle, String aAuthor, String[] aPages) { - this.mMeta = aMeta; - this.mMapping = aMapping; - this.mTitle = aTitle; - this.mAuthor = aAuthor; - this.mPages = aPages; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/BurnableFuelHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/BurnableFuelHandler.java deleted file mode 100644 index 8e3377b5f9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/BurnableFuelHandler.java +++ /dev/null @@ -1,35 +0,0 @@ -package gtPlusPlus.core.handler; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import cpw.mods.fml.common.IFuelHandler; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BurnableFuelHandler implements IFuelHandler { - - @Override - public int getBurnTime(ItemStack aStack) { - // Iterate over my burnables. - for (Pair temp : CORE.burnables) { - int aStackID = Item.getIdFromItem(aStack.getItem()); - int burnID = Item.getIdFromItem( - temp.getValue() - .getItem()); - if (aStackID == burnID) { - int burn = temp.getKey(); - ItemStack fuel = temp.getValue(); - ItemStack testItem = ItemUtils.getSimpleStack(fuel, aStack.stackSize); - - if (aStack.isItemEqual(testItem)) { - return burn; - } - } - } - - // If it's not my fuel, return 0. - return 0; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/gtpp/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java deleted file mode 100644 index cf276d90a1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java +++ /dev/null @@ -1,299 +0,0 @@ -package gtPlusPlus.core.handler; - -import static gregtech.api.enums.Mods.ExtraUtilities; -import static gregtech.api.enums.Mods.PamsHarvestCraft; -import static gregtech.api.enums.Mods.Thaumcraft; -import static gregtech.api.enums.Mods.Witchery; - -import java.util.LinkedList; -import java.util.Queue; -import java.util.Set; - -import net.minecraft.item.ItemStack; - -import cpw.mods.fml.common.event.FMLLoadCompleteEvent; -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.minecraft.ItemPackage; -import gtPlusPlus.core.common.compat.COMPAT_ExtraUtils; -import gtPlusPlus.core.common.compat.COMPAT_HarvestCraft; -import gtPlusPlus.core.common.compat.COMPAT_IC2; -import gtPlusPlus.core.common.compat.COMPAT_Thaumcraft; -import gtPlusPlus.core.common.compat.COMPAT_Witchery; -import gtPlusPlus.core.handler.Recipes.LateRegistrationHandler; -import gtPlusPlus.core.handler.Recipes.RegistrationHandler; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.recipe.RECIPES_GREGTECH; -import gtPlusPlus.core.recipe.RECIPES_LaserEngraver; -import gtPlusPlus.core.recipe.ShapedRecipeObject; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_FluidCanning; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Recycling; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_ChemicalSkips; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_GTNH; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_GlueLine; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_Nuclear; -import gtPlusPlus.xmod.gregtech.registration.gregtech.Gregtech4Content; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechAdvancedBoilers; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechAlgaeContent; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechAmazonWarehouse; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechBufferDynamos; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechCustomHatches; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechCyclotron; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechDehydrator; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechEnergyBuffer; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechFactoryGradeReplacementMultis; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechGeothermalThermalGenerator; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechHiAmpTransformer; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialAlloySmelter; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialArcFurnace; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialBlastSmelter; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialCentrifuge; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialChisel; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialCokeOven; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialCuttingFactory; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialElectrolyzer; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialElementDuplicator; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialExtruder; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialFishPond; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialFluidHeater; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialForgeHammer; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialFuelRefinery; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialMacerator; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialMassFabricator; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialMixer; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialMultiMachine; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialPlatePress; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialRockBreaker; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialSifter; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialThermalCentrifuge; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialTreeFarm; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialWashPlant; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialWiremill; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIsaMill; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechLFTR; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechLargeTurbinesAndHeatExchanger; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechMolecularTransformer; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechNuclearSaltProcessingPlant; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechPollutionDevices; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechPowerSubStation; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechQuantumForceTransformer; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechRTG; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechRocketFuelGenerator; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechSemiFluidgenerators; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechSimpleWasher; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechSolarTower; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechSteamMultis; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechSuperChests; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechThaumcraftDevices; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechThreadedBuffers; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechTieredFluidTanks; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechTreeFarmerTE; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechWirelessChargers; - -public class COMPAT_HANDLER { - - public static Queue RemoveRecipeQueue = new LinkedList<>(); - public static Queue AddRecipeQueue = new LinkedList<>(); - public static Boolean areInitItemsLoaded = false; - - public static void registerMyModsOreDictEntries() { - - Logger.INFO("Registering Materials with OreDict."); - // In-house - - for (int i = 1; i <= 10; i++) { - GT_OreDictUnificator.registerOre( - "bufferCore_" + GT_Values.VN[i - 1], - new ItemStack(ItemUtils.getItemFromFQRN("miscutils:item.itemBufferCore" + i))); - } - } - - public static void registerGregtechMachines() { - // Free IDs - /* - * --- 859 to 868 --- 911 to 940 - */ - - new RECIPES_LaserEngraver(); - GregtechEnergyBuffer.run(); - GregtechLFTR.run(); - GregtechNuclearSaltProcessingPlant.run(); - GregtechIndustrialCentrifuge.run(); - GregtechIndustrialCokeOven.run(); - GregtechIndustrialPlatePress.run(); - GregtechRocketFuelGenerator.run(); - GregtechIndustrialElectrolyzer.run(); - GregtechIndustrialMacerator.run(); - GregtechIndustrialWiremill.run(); - GregtechIndustrialMassFabricator.run(); - GregtechIndustrialBlastSmelter.run(); - GregtechQuantumForceTransformer.run(); - GregtechPowerSubStation.run(); - GregtechDehydrator.run(); - GregtechAdvancedBoilers.run(); - GregtechPollutionDevices.run(); - GregtechTieredFluidTanks.run(); - GregtechGeothermalThermalGenerator.run(); - Gregtech4Content.run(); - GregtechIndustrialFuelRefinery.run(); - GregtechTreeFarmerTE.run(); - GregtechIndustrialTreeFarm.run(); - GregtechIndustrialSifter.run(); - GregtechSimpleWasher.run(); - GregtechRTG.run(); - GregtechCyclotron.run(); - GregtechHiAmpTransformer.run(); - GregtechIndustrialThermalCentrifuge.run(); - GregtechIndustrialWashPlant.run(); - GregtechSemiFluidgenerators.run(); - GregtechWirelessChargers.run(); - GregtechIndustrialCuttingFactory.run(); - GregtechSuperChests.run(); - GregtechIndustrialFishPond.run(); - GregtechIndustrialExtruder.run(); - GregtechIndustrialMultiMachine.run(); - GregtechBufferDynamos.run(); - GregtechAmazonWarehouse.run(); - GregtechFactoryGradeReplacementMultis.run(); - GregtechThaumcraftDevices.run(); - GregtechThreadedBuffers.run(); - GregtechIndustrialMixer.run(); - GregtechCustomHatches.run(); - GregtechIndustrialArcFurnace.run(); - GregtechSolarTower.run(); - GregtechLargeTurbinesAndHeatExchanger.run(); - GregtechAlgaeContent.run(); - GregtechIndustrialAlloySmelter.run(); - GregtechIsaMill.run(); - GregtechSteamMultis.run(); - GregtechIndustrialForgeHammer.run(); - GregtechMolecularTransformer.run(); - GregtechIndustrialElementDuplicator.run(); - GregtechIndustrialRockBreaker.run(); - GregtechIndustrialChisel.run(); - GregtechIndustrialFluidHeater.run(); - } - - // InterMod - public static void intermodOreDictionarySupport() { - if (Thaumcraft.isModLoaded()) { - COMPAT_Thaumcraft.OreDict(); - } - if (ExtraUtilities.isModLoaded()) { - COMPAT_ExtraUtils.OreDict(); - } - if (PamsHarvestCraft.isModLoaded()) { - COMPAT_HarvestCraft.OreDict(); - } - COMPAT_IC2.OreDict(); - if (Witchery.isModLoaded()) { - COMPAT_Witchery.OreDict(); - } - } - - public static void RemoveRecipesFromOtherMods() { - // Removal of Recipes - for (final Object item : RemoveRecipeQueue) { - RecipeUtils.removeCraftingRecipe(item); - } - } - - public static void InitialiseHandlerThenAddRecipes() { - RegistrationHandler.run(); - } - - public static void InitialiseLateHandlerThenAddRecipes() { - LateRegistrationHandler.run(); - } - - public static void startLoadingGregAPIBasedRecipes() { - // Add hand-made recipes - RECIPES_GREGTECH.run(); - RecipeLoader_GTNH.generate(); - RecipeLoader_Nuclear.generate(); - RecipeLoader_GlueLine.generate(); - RecipeLoader_ChemicalSkips.generate(); - // Add autogenerated Recipes from Item Components - for (Set> m : MaterialGenerator.mRecipeMapsToGenerate) { - for (RunnableWithInfo r : m) { - try { - r.run(); - Logger.INFO( - "[FIND] " + r.getInfoData() - .getLocalizedName() + " recipes generated."); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO( - "[ERROR] " + r.getInfoData() - .getLocalizedName() + " recipes failed to generated."); - } - } - } - RecipeGen_Recycling.executeGenerators(); - runQueuedMisc(); - - // Do Fluid Canning Last, because they're not executed on demand, but rather queued. - RecipeGen_FluidCanning.init(); - } - - public static void onLoadComplete(FMLLoadCompleteEvent event) { - runQueuedOnLoadComplete(event); - } - - public static final AutoMap> mRecipesToGenerate = new AutoMap<>(); - public static final AutoMap> mGtRecipesToGenerate = new AutoMap<>(); - - public static final AutoMap> mObjectsToRunInPostInit = new AutoMap<>(); - public static final AutoMap mObjectsToRunInOnLoadComplete = new AutoMap<>(); - - public static void runQueuedRecipes() { - // Add autogenerated Recipes from Item Components - for (RunnableWithInfo m : mRecipesToGenerate) { - try { - m.run(); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO("[ERROR] " + m.getInfoData() + " recipe failed to generated."); - } - } - for (RunnableWithInfo m : mGtRecipesToGenerate) { - try { - m.run(); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO("[ERROR] " + m.getInfoData() + " recipe failed to generated."); - } - } - } - - public static void runQueuedMisc() { - for (RunnableWithInfo m : mObjectsToRunInPostInit) { - try { - m.run(); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO("[ERROR] " + m.getInfoData()); - } - } - } - - /** - * Generally used to register GT recipe map changes after they've been populated. - */ - public static void runQueuedOnLoadComplete(FMLLoadCompleteEvent event) { - for (ItemPackage m : mObjectsToRunInOnLoadComplete) { - try { - m.onLoadComplete(event); - } catch (Throwable t) { - t.printStackTrace(); - Logger.INFO("[ERROR] " + m.getInfoData()); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java b/gtpp/src/main/java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java deleted file mode 100644 index af09762c08..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java +++ /dev/null @@ -1,50 +0,0 @@ -package gtPlusPlus.core.handler; - -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLLoadCompleteEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import gtPlusPlus.recipes.RecipeRemovals; -import gtPlusPlus.xmod.bartcrops.HANDLER_CropsPlusPlus; -import gtPlusPlus.xmod.bop.HANDLER_BiomesOPlenty; -import gtPlusPlus.xmod.forestry.HANDLER_FR; -import gtPlusPlus.xmod.gregtech.HANDLER_GT; -import gtPlusPlus.xmod.ic2.HANDLER_IC2; -import gtPlusPlus.xmod.railcraft.HANDLER_Railcraft; -import gtPlusPlus.xmod.thermalfoundation.HANDLER_TF; -import gtPlusPlus.xmod.tinkers.HANDLER_Tinkers; - -public class COMPAT_IntermodStaging { - - public static void preInit(FMLPreInitializationEvent preinit) { - HANDLER_GT.preInit(); - HANDLER_TF.preInit(); - HANDLER_FR.preInit(); - HANDLER_IC2.preInit(); - HANDLER_BiomesOPlenty.preInit(); - HANDLER_CropsPlusPlus.preInit(preinit); - HANDLER_Railcraft.preInit(); - } - - public static void init(FMLInitializationEvent init) { - HANDLER_GT.init(); - HANDLER_TF.init(); - } - - public static void postInit(FMLPostInitializationEvent postinit) { - HANDLER_GT.postInit(); - HANDLER_TF.postInit(); - HANDLER_FR.postInit(); - HANDLER_IC2.postInit(); - HANDLER_BiomesOPlenty.postInit(); - HANDLER_Tinkers.postInit(); - HANDLER_CropsPlusPlus.postInit(postinit); - HANDLER_Railcraft.postInit(); - RecipeRemovals.postInit(); - } - - public static void onLoadComplete(FMLLoadCompleteEvent event) { - HANDLER_GT.onLoadComplete(event); - RecipeRemovals.onLoadComplete(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/GuiHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/GuiHandler.java deleted file mode 100644 index d5d0859472..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/GuiHandler.java +++ /dev/null @@ -1,159 +0,0 @@ -package gtPlusPlus.core.handler; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.world.World; - -import cpw.mods.fml.common.network.IGuiHandler; -import cpw.mods.fml.common.network.NetworkRegistry; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.machine.Machine_SuperJukebox.TileEntitySuperJukebox; -import gtPlusPlus.core.container.Container_CircuitProgrammer; -import gtPlusPlus.core.container.Container_DecayablesChest; -import gtPlusPlus.core.container.Container_FishTrap; -import gtPlusPlus.core.container.Container_PestKiller; -import gtPlusPlus.core.container.Container_ProjectTable; -import gtPlusPlus.core.container.Container_SuperJukebox; -import gtPlusPlus.core.container.Container_VolumetricFlaskSetter; -import gtPlusPlus.core.gui.beta.Gui_ID_Registry; -import gtPlusPlus.core.gui.beta.MU_GuiId; -import gtPlusPlus.core.gui.machine.GUI_CircuitProgrammer; -import gtPlusPlus.core.gui.machine.GUI_DecayablesChest; -import gtPlusPlus.core.gui.machine.GUI_FishTrap; -import gtPlusPlus.core.gui.machine.GUI_PestKiller; -import gtPlusPlus.core.gui.machine.GUI_ProjectTable; -import gtPlusPlus.core.gui.machine.GUI_SuperJukebox; -import gtPlusPlus.core.gui.machine.GUI_VolumetricFlaskSetter; -import gtPlusPlus.core.interfaces.IGuiManager; -import gtPlusPlus.core.tileentities.general.TileEntityCircuitProgrammer; -import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest; -import gtPlusPlus.core.tileentities.general.TileEntityFishTrap; -import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter; -import gtPlusPlus.core.tileentities.machines.TileEntityPestKiller; -import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable; - -public class GuiHandler implements IGuiHandler { - - public static final int GUI1 = 0; // Project Table - public static final int GUI2 = 1; // None - public static final int GUI3 = 2; // None - public static final int GUI4 = 3; // Workbench - public static final int GUI5 = 4; // Workbench Adv - public static final int GUI6 = 5; // Fish trap - public static final int GUI7 = 6; // None - public static final int GUI8 = 7; // Circuit Programmer - public static final int GUI9 = 8; // None - public static final int GUI10 = 9; // None - public static final int GUI11 = 10; // None - public static final int GUI12 = 11; // None - public static final int GUI13 = 12; // Decayables Chest - public static final int GUI14 = 13; // Super Jukebox - public static final int GUI15 = 14; // Pest Killer - public static final int GUI16 = 15; // None - public static final int GUI17 = 16; // None - public static final int GUI18 = 17; // Volumetric Flask Setter - - public static void init() { - Logger.INFO("Registering GUIs."); - NetworkRegistry.INSTANCE.registerGuiHandler(GTplusplus.instance, new GuiHandler()); - } - - @Override // ContainerModTileEntity - public Object getServerGuiElement(final int ID, final EntityPlayer player, final World world, final int x, - final int y, final int z) { - final TileEntity te = world.getTileEntity(x, y, z); - - if (te != null) { - if (ID == GUI1) { - return new Container_ProjectTable(player.inventory, (TileEntityProjectTable) te); - } else if (ID == GUI2) {} - } - - if (te != null) { - if (ID == GUI5) { - Logger.INFO("sad"); - // return new Container_WorkbenchAdvanced(player.inventory, (TileEntityWorkbenchAdvanced) te); - } else if (ID == GUI6) { - return new Container_FishTrap(player.inventory, (TileEntityFishTrap) te); - } else if (ID == GUI8) { - return new Container_CircuitProgrammer(player.inventory, (TileEntityCircuitProgrammer) te); - } else if (ID == GUI13) { - return new Container_DecayablesChest(player.inventory, (TileEntityDecayablesChest) te); - } else if (ID == GUI14) { - return new Container_SuperJukebox(player.inventory, (TileEntitySuperJukebox) te); - } else if (ID == GUI15) { - return new Container_PestKiller(player.inventory, (TileEntityPestKiller) te); - } else if (ID == GUI18) { - return new Container_VolumetricFlaskSetter(player.inventory, (TileEntityVolumetricFlaskSetter) te); - } - } - - return null; - } - - @Override // GuiModTileEntity - public Object getClientGuiElement(final int ID, final EntityPlayer player, final World world, final int x, - final int y, final int z) { - Logger.WARNING( - "getClientGuiElement Called by: " + player - + ", in world: " - + player.dimension - + " at x:" - + x - + ", y:" - + y - + ", z:" - + z - + "."); - final TileEntity te = world.getTileEntity(x, y, z); - if (te != null) { - if (ID == GUI1) { - return new GUI_ProjectTable(player.inventory, (TileEntityProjectTable) te); - } - } - - if (te != null) { - if (ID == GUI6) { - return new GUI_FishTrap(player.inventory, (TileEntityFishTrap) te); - } else if (ID == GUI8) { - return new GUI_CircuitProgrammer(player.inventory, (TileEntityCircuitProgrammer) te); - } else if (ID == GUI13) { - return new GUI_DecayablesChest(player.inventory, (TileEntityDecayablesChest) te); - } else if (ID == GUI14) { - return new GUI_SuperJukebox(player.inventory, (TileEntitySuperJukebox) te); - } else if (ID == GUI15) { - return new GUI_PestKiller(player.inventory, (TileEntityPestKiller) te); - } else if (ID == GUI18) { - return new GUI_VolumetricFlaskSetter( - new Container_VolumetricFlaskSetter(player.inventory, (TileEntityVolumetricFlaskSetter) te)); - } - } - - return null; - } - - // New Methods - public static void openGui(final EntityPlayer entityplayer, final IGuiManager guiHandler) { - openGui(entityplayer, guiHandler, (short) 0); - } - - public static void openGui(final EntityPlayer entityplayer, final IGuiManager guiHandler, final short data) { - final int guiData = encodeGuiData(guiHandler, data); - final ChunkCoordinates coordinates = guiHandler.getCoordinates(); - entityplayer.openGui( - GTplusplus.instance, - guiData, - entityplayer.worldObj, - coordinates.posX, - coordinates.posY, - coordinates.posZ); - } - - private static int encodeGuiData(final IGuiManager guiHandler, final short data) { - final MU_GuiId guiId = Gui_ID_Registry.getGuiIdForGuiHandler(guiHandler); - return (data << 16) | guiId.getId(); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/PacketHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/PacketHandler.java deleted file mode 100644 index af6a376f1a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/PacketHandler.java +++ /dev/null @@ -1,94 +0,0 @@ -package gtPlusPlus.core.handler; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; - -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import cpw.mods.fml.relauncher.Side; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.network.handler.AbstractClientMessageHandler; -import gtPlusPlus.core.network.packet.AbstractPacket; -import gtPlusPlus.core.network.packet.Packet_VolumetricFlaskGui; -import gtPlusPlus.core.network.packet.Packet_VolumetricFlaskGui2; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class PacketHandler { - - private static byte packetId = 0; - - private static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(GTPlusPlus.ID); - - public static final void init() { - registerMessage(Packet_VolumetricFlaskGui.class, Packet_VolumetricFlaskGui.class); - registerMessage(Packet_VolumetricFlaskGui2.class, Packet_VolumetricFlaskGui2.class); - } - - /** - * Registers a message and message handler - */ - private static void registerMessage(Class handlerClass, Class messageClass) { - Side side = AbstractClientMessageHandler.class.isAssignableFrom(handlerClass) ? Side.CLIENT : Side.SERVER; - registerMessage(handlerClass, messageClass, side); - } - - private static void registerMessage(Class handlerClass, Class messageClass, Side side) { - INSTANCE.registerMessage(handlerClass, messageClass, packetId++, side); - if (AbstractPacket.class.isInstance(messageClass.getClass())) { - AbstractPacket aPacket = ReflectionUtils.createNewInstanceFromConstructor( - ReflectionUtils.getConstructor(messageClass, new Class[] {}), - new Object[] {}); - if (aPacket != null) { - Logger.INFO("Registered Packet: " + aPacket.getPacketName()); - } - } - } - - /** - * Send this message to the specified player. See {@link SimpleNetworkWrapper#sendTo(IMessage, EntityPlayerMP)} - */ - public static final void sendTo(IMessage message, EntityPlayerMP player) { - INSTANCE.sendTo(message, player); - } - - /** - * Send this message to everyone within a certain range of a point. See - * {@link SimpleNetworkWrapper#sendToDimension(IMessage, NetworkRegistry.TargetPoint)} - */ - public static final void sendToAllAround(IMessage message, NetworkRegistry.TargetPoint point) { - INSTANCE.sendToAllAround(message, point); - } - - /** - * Sends a message to everyone within a certain range of the coordinates in the same dimension. - */ - public static final void sendToAllAround(IMessage message, int dimension, double x, double y, double z, - double range) { - sendToAllAround(message, new NetworkRegistry.TargetPoint(dimension, x, y, z, range)); - } - - /** - * Sends a message to everyone within a certain range of the player provided. - */ - public static final void sendToAllAround(IMessage message, EntityPlayer player, double range) { - sendToAllAround(message, player.worldObj.provider.dimensionId, player.posX, player.posY, player.posZ, range); - } - - /** - * Send this message to everyone within the supplied dimension. See - * {@link SimpleNetworkWrapper#sendToDimension(IMessage, int)} - */ - public static final void sendToDimension(IMessage message, int dimensionId) { - INSTANCE.sendToDimension(message, dimensionId); - } - - /** - * Send this message to the server. See {@link SimpleNetworkWrapper#sendToServer(IMessage)} - */ - public static final void sendToServer(IMessage message) { - INSTANCE.sendToServer(message); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/DecayableRecipe.java b/gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/DecayableRecipe.java deleted file mode 100644 index e50a76d5d5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/DecayableRecipe.java +++ /dev/null @@ -1,38 +0,0 @@ -package gtPlusPlus.core.handler.Recipes; - -import net.minecraft.item.ItemStack; - -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class DecayableRecipe { - - public static final AutoMap mRecipes = new AutoMap<>(); - - public final int mTime; - public final ItemStack mInput; - public final ItemStack mOutput; - - public DecayableRecipe(int time, ItemStack input, ItemStack output) { - mTime = time; - mInput = input; - mOutput = output; - mRecipes.put(this); - } - - @Override - public boolean equals(Object o) { - if (o instanceof DecayableRecipe i) { - if (i.mTime == this.mTime && GT_Utility.areStacksEqual(mInput, i.mInput) - && GT_Utility.areStacksEqual(mOutput, i.mOutput)) { - return true; - } - } - return false; - } - - public boolean isValid() { - return (mTime > 0 && ItemUtils.checkForInvalidItems(mInput) && ItemUtils.checkForInvalidItems(mOutput)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/LateRegistrationHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/LateRegistrationHandler.java deleted file mode 100644 index 9eb3a1826e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/LateRegistrationHandler.java +++ /dev/null @@ -1,27 +0,0 @@ -package gtPlusPlus.core.handler.Recipes; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.handler.COMPAT_HANDLER; -import gtPlusPlus.core.recipe.ShapedRecipeObject; - -public class LateRegistrationHandler { - - public static int recipesSuccess = 0; - public static int recipesFailed = 0; - - public static void run() { - init(); - } - - private static void init() { - for (final ShapedRecipeObject item : COMPAT_HANDLER.AddRecipeQueue) { - item.buildRecipe(); - } - try { - Thread.sleep(10); - } catch (final InterruptedException e) { - Logger.INFO(e.toString()); - } - Logger.INFO("Late Recipes Loaded: " + recipesSuccess + " Failed: " + recipesFailed); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java deleted file mode 100644 index abf7300f7a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java +++ /dev/null @@ -1,25 +0,0 @@ -package gtPlusPlus.core.handler.Recipes; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.handler.COMPAT_HANDLER; -import gtPlusPlus.core.recipe.RECIPES_General; -import gtPlusPlus.core.recipe.RECIPES_Machines; -import gtPlusPlus.core.recipe.RECIPE_Batteries; - -public class RegistrationHandler { - - public static int recipesSuccess = 0; - public static int recipesFailed = 0; - - public static void run() { - init(); - } - - private static void init() { - RECIPES_General.loadRecipes(); - RECIPES_Machines.loadRecipes(); - RECIPE_Batteries.loadRecipes(); - Logger.INFO("Loaded: " + recipesSuccess + " Failed: " + recipesFailed); - COMPAT_HANDLER.areInitItemsLoaded = true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/events/CustomMovementHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/events/CustomMovementHandler.java deleted file mode 100644 index 390efe0b35..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/events/CustomMovementHandler.java +++ /dev/null @@ -1,144 +0,0 @@ -package gtPlusPlus.core.handler.events; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.util.MovementInputFromOptions; - -/* - * Replacement for MovementInputFromOptions - Built from the source of ToggleSneak 3.0.3 - */ - -public class CustomMovementHandler { - - public boolean isDisabled; - public boolean canDoubleTap; - - public boolean sprint = false; - public boolean sprintHeldAndReleased = false; - public boolean sprintDoubleTapped = false; - - private long lastPressed; - private long lastSprintPressed; - private boolean handledSneakPress; - private boolean handledSprintPress; - private boolean wasRiding; - - /* - * MovementInputFromOptions.updatePlayerMoveState() - */ - public void update(final Minecraft mc, final MovementInputFromOptions options, final EntityPlayerSP thisPlayer) { - options.moveStrafe = 0.0F; - options.moveForward = 0.0F; - - final GameSettings settings = mc.gameSettings; - - if (settings.keyBindForward.getIsKeyPressed()) { - ++options.moveForward; - } - - if (settings.keyBindBack.getIsKeyPressed()) { - --options.moveForward; - } - - if (settings.keyBindLeft.getIsKeyPressed()) { - ++options.moveStrafe; - } - - if (settings.keyBindRight.getIsKeyPressed()) { - --options.moveStrafe; - } - - options.jump = settings.keyBindJump.getIsKeyPressed(); - - // - // Sneak Toggle - Essentially the same as old ToggleSneak - // - - // Check to see if Enabled - Added 6/17/14 to provide option to disable Sneak Toggle - final boolean isSneaking = SneakManager.get(thisPlayer) - .Sneaking(); - if (isSneaking) { - // Key Pressed - if (settings.keyBindSneak.getIsKeyPressed() && !this.handledSneakPress) { - // Descend if we are flying, note if we were riding (so we can unsneak once dismounted) - if (thisPlayer.isRiding() || thisPlayer.capabilities.isFlying) { - options.sneak = true; - this.wasRiding = thisPlayer.isRiding(); - } else { - options.sneak = !options.sneak; - } - - this.lastPressed = System.currentTimeMillis(); - this.handledSneakPress = true; - } - - // Key Released - if (!settings.keyBindSneak.getIsKeyPressed() && this.handledSneakPress) { - // If we are flying or riding, stop sneaking after descent/dismount. - if (thisPlayer.capabilities.isFlying || this.wasRiding) { - options.sneak = false; - this.wasRiding = false; - } - // If the key was held down for more than 300ms, stop sneaking upon release. - else if ((System.currentTimeMillis() - this.lastPressed) > 300L) { - options.sneak = false; - } - - this.handledSneakPress = false; - } - } else { - options.sneak = settings.keyBindSneak.getIsKeyPressed(); - } - - if (options.sneak || SneakManager.get(thisPlayer) - .Sneaking()) { - options.moveStrafe = (float) (options.moveStrafe * 0.3D); - options.moveForward = (float) (options.moveForward * 0.3D); - } - - // - // Sprint Toggle - Updated 6/18/2014 - // - - // Establish conditions where we don't want to start a sprint - sneaking, riding, flying, hungry - final boolean enoughHunger = (thisPlayer.getFoodStats() - .getFoodLevel() > 6.0F) || thisPlayer.capabilities.isFlying; - final boolean canSprint = !options.sneak && !thisPlayer.isRiding() - && !thisPlayer.capabilities.isFlying - && enoughHunger; - - this.isDisabled = !SneakManager.get(thisPlayer) - .Sprinting(); - this.canDoubleTap = SneakManager.get(thisPlayer).optionDoubleTap; - - // Key Pressed - if ((canSprint || this.isDisabled) && settings.keyBindSprint.getIsKeyPressed() && !this.handledSprintPress) { - if (!this.isDisabled) { - this.sprint = !this.sprint; - this.lastSprintPressed = System.currentTimeMillis(); - this.handledSprintPress = true; - this.sprintHeldAndReleased = false; - } - } - - // Key Released - if ((canSprint || this.isDisabled) && !settings.keyBindSprint.getIsKeyPressed() && this.handledSprintPress) { - // Was key held for longer than 300ms? If so, mark it so we can resume vanilla behavior - if ((System.currentTimeMillis() - this.lastSprintPressed) > 300L) { - this.sprintHeldAndReleased = true; - } - this.handledSprintPress = false; - } - } - - public void UpdateSprint(final boolean newValue, final boolean doubleTapped, SneakManager aSneak) { - if (!aSneak.Sprinting()) { - this.sprint = false; - this.sprintDoubleTapped = doubleTapped; - } else { - this.sprint = newValue; - this.sprintDoubleTapped = doubleTapped; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java deleted file mode 100644 index 07b027faa1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java +++ /dev/null @@ -1,61 +0,0 @@ -package gtPlusPlus.core.handler.events; - -import net.minecraft.entity.boss.EntityDragon; -import net.minecraftforge.event.entity.living.LivingDropsEvent; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class EnderDragonDeathHandler { - - private static final String mDragonClassName = "chylex.hee.entity.boss.EntityBossDragon"; - private static final boolean mHEE; - private static final Class mHardcoreDragonClass; - - private static final String mChaosDragonClassName = "com.brandon3055.draconicevolution.common.entity.EntityCustomDragon"; - private static final boolean mDE; - private static final Class mChaoseDragonClass; - - static { - mHEE = ReflectionUtils.doesClassExist(mDragonClassName); - mHardcoreDragonClass = (mHEE ? ReflectionUtils.getClass(mDragonClassName) : null); - mDE = ReflectionUtils.doesClassExist(mChaosDragonClassName); - mChaoseDragonClass = (mDE ? ReflectionUtils.getClass(mChaosDragonClassName) : null); - } - - @SubscribeEvent - public void onEntityDrop(LivingDropsEvent event) { - - int aCountTotal = 0; - - if (mHEE && mHardcoreDragonClass != null && mHardcoreDragonClass.isInstance(event.entityLiving)) { - for (int y = 0; y < MathUtils.randInt(100, 250); y++) { - int aAmount = MathUtils.randInt(5, 25); - event.entityLiving - .entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1)); - aCountTotal = +aAmount; - } - } else if (mDE && mChaoseDragonClass != null && mChaoseDragonClass.isInstance(event.entityLiving)) { - for (int y = 0; y < MathUtils.randInt(100, 200); y++) { - int aAmount = MathUtils.randInt(1, 5); - event.entityLiving - .entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getIngot(aAmount), MathUtils.randFloat(0, 1)); - aCountTotal = +aAmount; - } - } else if (event.entityLiving instanceof EntityDragon) { - for (int y = 0; y < MathUtils.randInt(25, 50); y++) { - int aAmount = MathUtils.randInt(1, 10); - event.entityLiving - .entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1)); - aCountTotal = +aAmount; - } - } - if (aCountTotal > 0) { - PlayerUtils - .messageAllPlayers(aCountTotal + " Shards of Dragons Blood have crystalized into a metallic form."); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/events/EntityDeathHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/events/EntityDeathHandler.java deleted file mode 100644 index 20d64f2b36..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/events/EntityDeathHandler.java +++ /dev/null @@ -1,126 +0,0 @@ -package gtPlusPlus.core.handler.events; - -import java.util.HashMap; -import java.util.HashSet; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.event.entity.living.LivingDropsEvent; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Triplet; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; - -public class EntityDeathHandler { - - private static final HashMap>> mMobDropMap = new HashMap<>(); - private static final HashSet mInternalClassKeyCache = new HashSet<>(); - - /** - * Provides the ability to provide custom drops upon the death of EntityLivingBase objects. - * - * @param aMobClass - The Base Class you want to drop this item. - * @param aStack - The ItemStack, stack size is not respected. - * @param aMaxAmount - The maximum size of the ItemStack which drops. - * @param aChance - Chance out of 10000, where 100 is 1%. (1 = 0.01% - this is ok) - */ - public static void registerDropsForMob(Class aMobClass, ItemStack aStack, int aMaxAmount, int aChance) { - Triplet aData = new Triplet<>(aStack, aMaxAmount, aChance); - AutoMap> aDataMap = mMobDropMap.get(aMobClass); - if (aDataMap == null) { - aDataMap = new AutoMap<>(); - } - aDataMap.put(aData); - mMobDropMap.put(aMobClass, aDataMap); - - Logger.INFO( - "[Loot] Registered " + aStack - .getDisplayName() + " (1-" + aMaxAmount + ") as a valid drop for " + aMobClass.getCanonicalName()); - - mInternalClassKeyCache.add(aMobClass); - } - - private static ItemStack processItemDropTriplet(Triplet aData) { - ItemStack aLoot = aData.getValue_1(); - int aMaxDrop = aData.getValue_2(); - int aChanceOutOf10000 = aData.getValue_3(); - if (MathUtils.randInt(0, 10000) <= aChanceOutOf10000) { - aLoot = ItemUtils.getSimpleStack(aLoot, MathUtils.randInt(1, aMaxDrop)); - if (ItemUtils.checkForInvalidItems(aLoot)) { - return aLoot; - } - } - return null; - } - - private static boolean processDropsForMob(EntityLivingBase entityLiving) { - AutoMap> aMobData = mMobDropMap.get(entityLiving.getClass()); - boolean aDidDrop = false; - if (aMobData != null) { - if (!aMobData.isEmpty()) { - ItemStack aPossibleDrop; - for (Triplet g : aMobData) { - aPossibleDrop = processItemDropTriplet(g); - if (aPossibleDrop != null) { - if (entityLiving.entityDropItem(aPossibleDrop, MathUtils.randFloat(0, 1)) != null) { - aDidDrop = true; - } - } - } - } - } - return aDidDrop; - } - - private static void dropMeatFromPlayer(EntityPlayer aPlayer) { - - // always drop some meat. - int aBigMeatStackSize1 = MathUtils.randInt(4, 8); - aPlayer.entityDropItem( - ItemUtils.simpleMetaStack(ModItems.itemMetaFood, 0, aBigMeatStackSize1), - MathUtils.randInt(0, 1)); - - // additional chances for more meat. - if (MathUtils.randInt(0, 10) < 7) { - int aBigMeatStackSize2 = MathUtils.randInt(4, 8); - aPlayer.entityDropItem( - ItemUtils.simpleMetaStack(ModItems.itemMetaFood, 0, aBigMeatStackSize2), - MathUtils.randInt(0, 1)); - } - if (MathUtils.randInt(0, 10) < 4) { - int aBigMeatStackSize3 = MathUtils.randInt(4, 8); - aPlayer.entityDropItem( - ItemUtils.simpleMetaStack(ModItems.itemMetaFood, 0, aBigMeatStackSize3), - MathUtils.randInt(0, 1)); - } - if (MathUtils.randInt(0, 10) < 2) { - int aBigMeatStackSize4 = MathUtils.randInt(4, 8); - aPlayer.entityDropItem( - ItemUtils.simpleMetaStack(ModItems.itemMetaFood, 0, aBigMeatStackSize4), - MathUtils.randInt(0, 1)); - } - } - - @SubscribeEvent - public void onEntityDrop(LivingDropsEvent event) { - if (event == null || event.entityLiving == null) { - return; - } - if (PlayerUtils.isRealPlayer(event.entityLiving)) { - EntityPlayer aPlayer = (EntityPlayer) event.entityLiving; - dropMeatFromPlayer(aPlayer); - } else { - for (Class c : mInternalClassKeyCache) { - if (c.isInstance(event.entityLiving)) { - processDropsForMob(event.entityLiving); - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java deleted file mode 100644 index 650fd70efd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java +++ /dev/null @@ -1,20 +0,0 @@ -package gtPlusPlus.core.handler.events; - -import net.minecraft.item.Item; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.event.entity.player.ItemTooltipEvent; - -import advsolar.common.AdvancedSolarPanel; -import cpw.mods.fml.common.Optional; -import gregtech.api.enums.Mods; - -public class GeneralTooltipEventHandler { - - @Optional.Method(modid = Mods.Names.ADVANCED_SOLAR_PANEL) - @SuppressWarnings("unused") - public static void molecularTransformer(ItemTooltipEvent event) { - if (event.itemStack.getItem() == Item.getItemFromBlock(AdvancedSolarPanel.blockMolecularTransformer)) { - event.toolTip.add("" + EnumChatFormatting.RED + "Disabled, Use the multiblock"); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/events/PlayerSleepEventHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/events/PlayerSleepEventHandler.java deleted file mode 100644 index 0ca315cc72..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/events/PlayerSleepEventHandler.java +++ /dev/null @@ -1,109 +0,0 @@ -package gtPlusPlus.core.handler.events; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Collection; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraftforge.event.entity.player.PlayerSleepInBedEvent; -import net.minecraftforge.event.entity.player.PlayerWakeUpEvent; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.potion.GtPotionEffect; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; - -public class PlayerSleepEventHandler { - - private static Field sEffectDuration = ReflectionUtils - .getField(PotionEffect.class, !CORE_Preloader.DEV_ENVIRONMENT ? "field_76460_b" : "duration"); - private static ArrayList sPositiveEffects = new ArrayList<>(); - private static ArrayList sNegativeEffects = new ArrayList<>(); - - public static void init() { - Utils.registerEvent(new PlayerSleepEventHandler()); - sPositiveEffects.add(Potion.moveSpeed); - sPositiveEffects.add(Potion.waterBreathing); - sPositiveEffects.add(Potion.resistance); - sPositiveEffects.add(Potion.regeneration); - sPositiveEffects.add(Potion.damageBoost); - sPositiveEffects.add(Potion.digSpeed); - sPositiveEffects.add(Potion.fireResistance); - sPositiveEffects.add(Potion.field_76434_w); // Health Boost - sPositiveEffects.add(Potion.field_76444_x); // Absorption - sNegativeEffects.add(Potion.blindness); - sNegativeEffects.add(Potion.confusion); - sNegativeEffects.add(Potion.digSlowdown); - sNegativeEffects.add(Potion.harm); - sNegativeEffects.add(Potion.hunger); - sNegativeEffects.add(Potion.moveSlowdown); - sNegativeEffects.add(Potion.poison); - sNegativeEffects.add(Potion.weakness); - sNegativeEffects.add(Potion.wither); - } - - @SubscribeEvent - public void sleep(PlayerSleepInBedEvent event) {} - - @SubscribeEvent - public void wake(PlayerWakeUpEvent event) { - EntityPlayer aPlayer = event.entityPlayer; - if (aPlayer != null && !aPlayer.worldObj.isRemote) { - if (event.entityPlayer.getEntityWorld() - .getWorldTime() % 24000 != 0) { - return; - } - boolean aRemovedBad = false; - try { - Collection aActive = aPlayer.getActivePotionEffects(); - for (PotionEffect aEffect : aActive) { - for (Potion aBadPotion : sNegativeEffects) { - if (aEffect.getPotionID() == aBadPotion.getId()) { - ReflectionUtils.setField(aEffect, sEffectDuration, 1); - aRemovedBad = true; - Logger.INFO("Set duration of " + aEffect.getEffectName() + " to 1 tick"); - } - } - } - } catch (Throwable t) { - t.printStackTrace(); - } - if (aRemovedBad) { - messagePlayer(aPlayer, "sleep.event.downsides"); - } else { - // Try Heal - float aCurrentHP = aPlayer.getHealth(); - float aMaxHP = aPlayer.getMaxHealth(); - if (aCurrentHP < aMaxHP) { - float aDamage = aMaxHP - aCurrentHP; - float aToHeal = MathUtils.randFloat(1, aDamage); - if (aToHeal > 0) { - aPlayer.heal(aToHeal); - messagePlayer(aPlayer, (aToHeal >= aDamage / 2 ? "sleep.event.good" : "sleep.event.okay")); - } - } - // Already healed, try give a buff - else { - int aRandomBuff = MathUtils.randInt(0, sPositiveEffects.size() - 1); - Potion aPotionToApply = sPositiveEffects.get(aRandomBuff); - if (aPotionToApply != null) { - aPlayer.addPotionEffect( - new GtPotionEffect(aPotionToApply.id, MathUtils.randInt(60, 180), MathUtils.randInt(0, 2))); - messagePlayer(aPlayer, "sleep.event.wellrested"); - } - } - } - } - } - - private static void messagePlayer(EntityPlayer aPlayer, String aChatKey) { - PlayerUtils.messagePlayer(aPlayer, new ChatComponentTranslation(aChatKey, new Object[0])); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/events/SneakManager.java b/gtpp/src/main/java/gtPlusPlus/core/handler/events/SneakManager.java deleted file mode 100644 index 7af831c675..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/events/SneakManager.java +++ /dev/null @@ -1,131 +0,0 @@ -package gtPlusPlus.core.handler.events; - -import java.util.concurrent.ConcurrentHashMap; - -import net.minecraft.entity.player.EntityPlayer; - -import gtPlusPlus.api.objects.Logger; - -public class SneakManager { - - // We make this a singleton for clientside data storage. - - public static ConcurrentHashMap mPlayerCache = new ConcurrentHashMap<>(); - - private static void addPlayer(EntityPlayer aPlayer) { - String aKey = getKey(aPlayer); - if (!mPlayerCache.containsKey(aKey)) { - mPlayerCache.put(aKey, new SneakManager(aPlayer)); - } - } - - public static SneakManager get(EntityPlayer aPlayer) { - - String aKey = getKey(aPlayer); - if (!mPlayerCache.containsKey(aKey)) { - addPlayer(aPlayer); - } - return mPlayerCache.get(aKey); - } - - private static String getKey(EntityPlayer aPlayer) { - return "" + aPlayer.getGameProfile() - .getId() - .toString(); - } - - public SneakManager instance; - public EntityPlayer owner; - public boolean canSprint = true; - public boolean isSneaking = true; - public boolean optionDoubleTap = true; - public boolean wasSprintDisabled = false; - public boolean mIsWearingRing = false; - - private State Sprinting = State.ON; - private State Crouching = State.OFF; - - public SneakManager(EntityPlayer aPlayer) { - owner = aPlayer; - } - - public boolean Sneaking() { - return Crouching.getState(); - } - - public boolean Sprinting() { - return Sprinting.getState(); - } - - public State getSneakingState() { - return Crouching; - } - - public State getSprintingDisabledState() { - return Sprinting; - } - - public void toggleSneaking() { - toggleState(Crouching); - } - - public void toggleSprinting() { - toggleState(Sprinting); - } - - private State toggleState(final State state) { - Logger.INFO("State Toggle"); - if (state == State.ON) { - return State.OFF; - } - return State.ON; - } - - private State setCrouchingStateON() { - return Crouching = State.ON; - } - - private State setCrouchingStateOFF() { - return Crouching = State.OFF; - } - - private State setSprintingStateON() { - return Sprinting = State.ON; - } - - private State setSprintingStateOFF() { - return Sprinting = State.OFF; - } - - public void putRingOn() { - mIsWearingRing = true; - setSprintingStateOFF(); - setCrouchingStateON(); - } - - public void takeRingOff() { - mIsWearingRing = false; - setSprintingStateON(); - setCrouchingStateOFF(); - } - - public boolean isWearingRing() { - return mIsWearingRing; - } - - public static enum State { - - ON(true), - OFF(false); - - private final boolean STATE; - - private State(final boolean State) { - this.STATE = State; - } - - public boolean getState() { - return this.STATE; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/handler/workbench/Workbench_CraftingHandler.java b/gtpp/src/main/java/gtPlusPlus/core/handler/workbench/Workbench_CraftingHandler.java deleted file mode 100644 index 6933c0f82d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/handler/workbench/Workbench_CraftingHandler.java +++ /dev/null @@ -1,161 +0,0 @@ -package gtPlusPlus.core.handler.workbench; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -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.IRecipe; -import net.minecraft.item.crafting.ShapedRecipes; -import net.minecraft.item.crafting.ShapelessRecipes; -import net.minecraft.world.World; - -public class Workbench_CraftingHandler { - - private static final Workbench_CraftingHandler instance = new Workbench_CraftingHandler(); - private final List recipes = new ArrayList<>(); - - public static final Workbench_CraftingHandler getInstance() { - return instance; - } - - public Workbench_CraftingHandler() { - - // just a example recipe so you know how to add them - this.addRecipe( - new ItemStack(Blocks.iron_block), - new Object[] { "###", "###", "###", Character.valueOf('#'), Items.iron_ingot }); - - // another example Recipe, but shapeless - this.addShapelessRecipe(new ItemStack(Items.cake), new Object[] { Items.stick }); - } - - void addRecipe(final ItemStack par1ItemStack, final Object par2ArrayOfObj[]) { - String s = ""; - int i = 0; - int j = 0; - int k = 0; - - if (par2ArrayOfObj[i] instanceof String[]) { - final String as[] = (String[]) par2ArrayOfObj[i++]; - - for (final String s2 : as) { - k++; - j = s2.length(); - s = (new StringBuilder()).append(s) - .append(s2) - .toString(); - } - } else { - while (par2ArrayOfObj[i] instanceof String) { - final String s1 = (String) par2ArrayOfObj[i++]; - k++; - j = s1.length(); - s = (new StringBuilder()).append(s) - .append(s1) - .toString(); - } - } - - final HashMap hashmap = new HashMap<>(); - - for (; i < par2ArrayOfObj.length; i += 2) { - final Character character = (Character) par2ArrayOfObj[i]; - ItemStack itemstack = null; - - if (par2ArrayOfObj[i + 1] instanceof Item) { - itemstack = new ItemStack((Item) par2ArrayOfObj[i + 1]); - } else if (par2ArrayOfObj[i + 1] instanceof Block) { - itemstack = new ItemStack((Block) par2ArrayOfObj[i + 1], 1, -1); - } else if (par2ArrayOfObj[i + 1] instanceof ItemStack) { - itemstack = (ItemStack) par2ArrayOfObj[i + 1]; - } - - hashmap.put(character, itemstack); - } - - final ItemStack aitemstack[] = new ItemStack[j * k]; - - for (int i1 = 0; i1 < (j * k); i1++) { - final char c = s.charAt(i1); - - if (hashmap.containsKey(Character.valueOf(c))) { - aitemstack[i1] = hashmap.get(Character.valueOf(c)) - .copy(); - } else { - aitemstack[i1] = null; - } - } - - this.recipes.add(new ShapedRecipes(j, k, aitemstack, par1ItemStack)); - } - - public void addShapelessRecipe(final ItemStack par1ItemStack, final Object par2ArrayOfObj[]) { - final ArrayList arraylist = new ArrayList<>(); - final Object aobj[] = par2ArrayOfObj; - final int i = aobj.length; - - for (final Object obj : aobj) { - if (obj instanceof ItemStack) { - arraylist.add(((ItemStack) obj).copy()); - continue; - } - - if (obj instanceof Item) { - arraylist.add(new ItemStack((Item) obj)); - continue; - } - - if (obj instanceof Block) { - arraylist.add(new ItemStack((Block) obj)); - } else { - throw new RuntimeException("Invalid shapeless recipe!"); - } - } - - this.recipes.add(new ShapelessRecipes(par1ItemStack, arraylist)); - } - - public ItemStack findMatchingRecipe(final InventoryCrafting par1InventoryCrafting, final World par2World) { - int i = 0; - for (int j = 0; j < par1InventoryCrafting.getSizeInventory(); j++) { - final ItemStack itemstack2 = par1InventoryCrafting.getStackInSlot(j); - - if (itemstack2 == null) { - continue; - } - - if (i == 0) {} - - if (i == 1) {} - - i++; - } - - // TODO - Update from itemIDs - /* - * if (i == 2 && itemstack.itemID == itemstack1.itemID && itemstack.stackSize == 1 && itemstack1.stackSize == 1 - * && Item.itemsList[itemstack.itemID].isDamageable()) { Item item = Item.itemsList[itemstack.itemID]; int l = - * item.getMaxDamage() - itemstack.getItemDamageForDisplay(); int i1 = item.getMaxDamage() - - * itemstack1.getItemDamageForDisplay(); int j1 = l + i1 + (item.getMaxDamage() * 10) / 100; int k1 = - * item.getMaxDamage() - j1; if (k1 < 0) { k1 = 0; } return new ItemStack(itemstack.itemID, 1, k1); } - */ - - for (final IRecipe irecipe : this.recipes) { - if (irecipe.matches(par1InventoryCrafting, par2World)) { - return irecipe.getCraftingResult(par1InventoryCrafting); - } - } - - return null; - } - - public List getRecipeList() { - return this.recipes; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/interfaces/IGuiManager.java b/gtpp/src/main/java/gtPlusPlus/core/interfaces/IGuiManager.java deleted file mode 100644 index 599ed6b59b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/interfaces/IGuiManager.java +++ /dev/null @@ -1,16 +0,0 @@ -package gtPlusPlus.core.interfaces; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.world.World; - -public abstract interface IGuiManager extends IGuiManagerMiscUtils { - - public abstract ChunkCoordinates getCoordinates(); - - public abstract World getWorld(); - - public abstract Object getGui(EntityPlayer paramEntityPlayer, int paramInt); - - public abstract Object getContainer(EntityPlayer paramEntityPlayer, int paramInt); -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/interfaces/IGuiManagerMiscUtils.java b/gtpp/src/main/java/gtPlusPlus/core/interfaces/IGuiManagerMiscUtils.java deleted file mode 100644 index f7f1194b9a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/interfaces/IGuiManagerMiscUtils.java +++ /dev/null @@ -1,4 +0,0 @@ -package gtPlusPlus.core.interfaces; - -public abstract interface IGuiManagerMiscUtils { -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/interfaces/IItemBlueprint.java b/gtpp/src/main/java/gtPlusPlus/core/interfaces/IItemBlueprint.java deleted file mode 100644 index b0fa752f3f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/interfaces/IItemBlueprint.java +++ /dev/null @@ -1,52 +0,0 @@ -package gtPlusPlus.core.interfaces; - -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; - -public interface IItemBlueprint { - - /** - * The inventory size for the blueprint~ - */ - public int INV_SIZE = 9; - - /** - * Meta Compatible function to allow meta items to be blueprints - * - * @param stack yourMetaItem - * @return true if it is a Blueprint - */ - public boolean isBlueprint(ItemStack stack); - - /** - * Sets the blueprint for this itemstack. - * - * @param stack yourMetaItem - * @return true if blueprint is set successfully - */ - public boolean setBlueprint(ItemStack stack, IInventory craftingTable, ItemStack output); - - /** - * Sets the name of the recipe/blueprint - * - * @param String Blueprint Name - * @return N/A - */ - public void setBlueprintName(ItemStack stack, String name); - - /** - * Does this itemstack hold a blueprint? - * - * @param stack yourMetaItem - * @return true if is holding a Blueprint - */ - public boolean hasBlueprint(ItemStack stack); - - /** - * Gets the recipe held by the item - * - * @param stack yourMetaItem - * @return the blueprints contents - */ - public ItemStack[] getBlueprint(ItemStack stack); -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryCircuitProgrammer.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryCircuitProgrammer.java deleted file mode 100644 index 180df60e81..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryCircuitProgrammer.java +++ /dev/null @@ -1,156 +0,0 @@ -package gtPlusPlus.core.inventories; - -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.slots.SlotIntegratedCircuit; - -public class InventoryCircuitProgrammer implements IInventory { - - private final String name = "Circuit Programmer"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 26; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - // Utils.LOG_INFO("Trying to read NBT data from inventory."); - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - // Utils.LOG_INFO("Trying to write NBT data to inventory."); - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.inventory[slot]; - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - return SlotIntegratedCircuit.isItemValidForSlot(itemstack); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryFishTrap.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryFishTrap.java deleted file mode 100644 index e4797d67bc..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryFishTrap.java +++ /dev/null @@ -1,157 +0,0 @@ -package gtPlusPlus.core.inventories; - -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; - -public class InventoryFishTrap implements IInventory { - - private final String name = "Fishtrap"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 15; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - // Utils.LOG_INFO("Trying to read NBT data from inventory."); - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - // Utils.LOG_INFO("Trying to write NBT data to inventory."); - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.inventory[slot]; - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - // Don't want to be able to store the inventory item within itself - // Bad things will happen, like losing your inventory - // Actually, this needs a custom Slot to work - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryPestKiller.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryPestKiller.java deleted file mode 100644 index b508de1d6d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/InventoryPestKiller.java +++ /dev/null @@ -1,157 +0,0 @@ -package gtPlusPlus.core.inventories; - -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; - -public class InventoryPestKiller implements IInventory { - - private final String name = "Pest Killer"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 3; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - // Utils.LOG_INFO("Trying to read NBT data from inventory."); - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - // Utils.LOG_INFO("Trying to write NBT data to inventory."); - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.inventory[slot]; - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - // Don't want to be able to store the inventory item within itself - // Bad things will happen, like losing your inventory - // Actually, this needs a custom Slot to work - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_DecayablesChest.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_DecayablesChest.java deleted file mode 100644 index 83b3631fe9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_DecayablesChest.java +++ /dev/null @@ -1,157 +0,0 @@ -package gtPlusPlus.core.inventories; - -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; - -public class Inventory_DecayablesChest implements IInventory { - - private final String name = "DecayablesChest"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 15; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - // Utils.LOG_INFO("Trying to read NBT data from inventory."); - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - // Utils.LOG_INFO("Trying to write NBT data to inventory."); - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.inventory[slot]; - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - // Don't want to be able to store the inventory item within itself - // Bad things will happen, like losing your inventory - // Actually, this needs a custom Slot to work - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_EggBox.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_EggBox.java deleted file mode 100644 index 04a95a4f9a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_EggBox.java +++ /dev/null @@ -1,157 +0,0 @@ -package gtPlusPlus.core.inventories; - -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; - -public class Inventory_EggBox implements IInventory { - - private final String name = "EggBox"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 15; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - // Utils.LOG_INFO("Trying to read NBT data from inventory."); - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - // Utils.LOG_INFO("Trying to write NBT data to inventory."); - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.inventory[slot]; - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - // Don't want to be able to store the inventory item within itself - // Bad things will happen, like losing your inventory - // Actually, this needs a custom Slot to work - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_SuperJukebox.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_SuperJukebox.java deleted file mode 100644 index bd44e89776..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_SuperJukebox.java +++ /dev/null @@ -1,154 +0,0 @@ -package gtPlusPlus.core.inventories; - -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; - -public class Inventory_SuperJukebox implements IInventory { - - private final String name = "Sir Mixalot"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 21; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - // Utils.LOG_INFO("Trying to read NBT data from inventory."); - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - // Utils.LOG_INFO("Trying to write NBT data to inventory."); - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.inventory[slot]; - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 1; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_VolumetricFlaskSetter.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_VolumetricFlaskSetter.java deleted file mode 100644 index 25a03aa212..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/Inventory_VolumetricFlaskSetter.java +++ /dev/null @@ -1,156 +0,0 @@ -package gtPlusPlus.core.inventories; - -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.xmod.gregtech.common.helpers.VolumetricFlaskHelper; - -public class Inventory_VolumetricFlaskSetter implements IInventory { - - private final String name = "Volumetric Flask Setter"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 9; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - // Utils.LOG_INFO("Trying to read NBT data from inventory."); - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - // Utils.LOG_INFO("Trying to write NBT data to inventory."); - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.inventory[slot]; - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 16; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - return VolumetricFlaskHelper.isVolumetricFlask(itemstack); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/projecttable/InventoryProjectMain.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/projecttable/InventoryProjectMain.java deleted file mode 100644 index 40e848dc3c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/projecttable/InventoryProjectMain.java +++ /dev/null @@ -1,173 +0,0 @@ -package gtPlusPlus.core.inventories.projecttable; - -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; - -public class InventoryProjectMain implements IInventory { - - private final String name = "Inventory Grid"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 9; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - /** - * @param itemstack - the ItemStack to which this inventory belongs - */ - public InventoryProjectMain() {} - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - // Utils.LOG_INFO("getStackInSlot["+slot+"]"); - try { - if (slot >= this.inventory.length) { - // Utils.LOG_INFO("Returning invalid slot item."); - return null; - } - return this.inventory[slot]; - } catch (Throwable t) { - t.printStackTrace(); - return null; - } - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - if (slot >= this.inventory.length) { - return; - } - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - // Don't want to be able to store the inventory item within itself - // Bad things will happen, like losing your inventory - // Actually, this needs a custom Slot to work - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/projecttable/InventoryProjectOutput.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/projecttable/InventoryProjectOutput.java deleted file mode 100644 index 77bcbd1e35..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/projecttable/InventoryProjectOutput.java +++ /dev/null @@ -1,160 +0,0 @@ -package gtPlusPlus.core.inventories.projecttable; - -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; - -public class InventoryProjectOutput implements IInventory { - - private final String name = "Inventory Output"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 2; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - /** - * @param itemstack - the ItemStack to which this inventory belongs - */ - public InventoryProjectOutput() {} - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.inventory[slot]; - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - // Don't want to be able to store the inventory item within itself - // Bad things will happen, like losing your inventory - // Actually, this needs a custom Slot to work - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/tradetable/InventoryTradeMain.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/tradetable/InventoryTradeMain.java deleted file mode 100644 index 24dd053e31..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/tradetable/InventoryTradeMain.java +++ /dev/null @@ -1,173 +0,0 @@ -package gtPlusPlus.core.inventories.tradetable; - -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; - -public class InventoryTradeMain implements IInventory { - - private final String name = "Inventory Grid"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 9; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - /** - * @param itemstack - the ItemStack to which this inventory belongs - */ - public InventoryTradeMain() {} - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - // Utils.LOG_INFO("getStackInSlot["+slot+"]"); - try { - if (slot >= this.inventory.length) { - // Utils.LOG_INFO("Returning invalid slot item."); - return null; - } - return this.inventory[slot]; - } catch (Throwable t) { - t.printStackTrace(); - return null; - } - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - if (slot >= this.inventory.length) { - return; - } - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - // Don't want to be able to store the inventory item within itself - // Bad things will happen, like losing your inventory - // Actually, this needs a custom Slot to work - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/inventories/tradetable/InventoryTradeOutput.java b/gtpp/src/main/java/gtPlusPlus/core/inventories/tradetable/InventoryTradeOutput.java deleted file mode 100644 index edfbe7602e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/inventories/tradetable/InventoryTradeOutput.java +++ /dev/null @@ -1,160 +0,0 @@ -package gtPlusPlus.core.inventories.tradetable; - -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; - -public class InventoryTradeOutput implements IInventory { - - private final String name = "Inventory Output"; - - /** Defining your inventory size this way is handy */ - public static final int INV_SIZE = 2; - - /** Inventory's size must be same as number of slots you add to the Container class */ - private ItemStack[] inventory = new ItemStack[INV_SIZE]; - - /** - * @param itemstack - the ItemStack to which this inventory belongs - */ - public InventoryTradeOutput() {} - - public void readFromNBT(final NBTTagCompound nbt) { - final NBTTagList list = nbt.getTagList("Items", 10); - this.inventory = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - this.inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - - public void writeToNBT(final NBTTagCompound nbt) { - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = this.inventory[i]; - if (stack != null) { - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Items", list); - } - - @Override - public int getSizeInventory() { - return this.inventory.length; - } - - public ItemStack[] getInventory() { - return this.inventory; - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.inventory[slot]; - } - - @Override - public ItemStack decrStackSize(final int slot, final int amount) { - ItemStack stack = this.getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } else { - // this method also calls markDirty, so we don't need to call it again - this.setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - final ItemStack stack = this.getStackInSlot(slot); - this.setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.inventory[slot] = stack; - - if ((stack != null) && (stack.stackSize > this.getInventoryStackLimit())) { - stack.stackSize = this.getInventoryStackLimit(); - } - - // Don't forget this line or your inventory will not be saved! - this.markDirty(); - } - - // 1.7.2+ renamed to getInventoryName - @Override - public String getInventoryName() { - return this.name; - } - - // 1.7.2+ renamed to hasCustomInventoryName - @Override - public boolean hasCustomInventoryName() { - return this.name.length() > 0; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - /** - * This is the method that will handle saving the inventory contents, as it is called (or should be called!) anytime - * the inventory changes. Perfect. Much better than using onUpdate in an Item, as this will also let you change - * things in your inventory without ever opening a Gui, if you want. - */ - // 1.7.2+ renamed to markDirty - @Override - public void markDirty() { - for (int i = 0; i < this.getSizeInventory(); ++i) { - final ItemStack temp = this.getStackInSlot(i); - if (temp != null) { - // Utils.LOG_INFO("Slot "+i+" contains "+temp.getDisplayName()+" x"+temp.stackSize); - } - - if ((temp != null) && (temp.stackSize == 0)) { - this.inventory[i] = null; - } - } - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return true; - } - - // 1.7.2+ renamed to openInventory(EntityPlayer player) - @Override - public void openInventory() {} - - // 1.7.2+ renamed to closeInventory(EntityPlayer player) - @Override - public void closeInventory() {} - - /** - * This method doesn't seem to do what it claims to do, as items can still be left-clicked and placed in the - * inventory even when this returns false - */ - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - // Don't want to be able to store the inventory item within itself - // Bad things will happen, like losing your inventory - // Actually, this needs a custom Slot to work - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/ModItems.java b/gtpp/src/main/java/gtPlusPlus/core/item/ModItems.java deleted file mode 100644 index 0fabf375a2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/ModItems.java +++ /dev/null @@ -1,988 +0,0 @@ -package gtPlusPlus.core.item; - -import static gregtech.api.enums.Mods.Forestry; -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; -import static gregtech.api.enums.Mods.Thaumcraft; -import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; -import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc; - -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; -import gtPlusPlus.core.block.base.BlockBaseModular; -import gtPlusPlus.core.common.compat.COMPAT_Baubles; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.base.BaseItemComponent.ComponentTypes; -import gtPlusPlus.core.item.base.BaseItemDamageable; -import gtPlusPlus.core.item.base.BaseItemTCShard; -import gtPlusPlus.core.item.base.CoreItem; -import gtPlusPlus.core.item.base.dusts.BaseItemDust; -import gtPlusPlus.core.item.base.foil.BaseItemFoil; -import gtPlusPlus.core.item.base.gears.BaseItemSmallGear; -import gtPlusPlus.core.item.base.ingots.BaseItemIngot; -import gtPlusPlus.core.item.base.ingots.BaseItemIngot_OLD; -import gtPlusPlus.core.item.base.plates.BaseItemPlate; -import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble; -import gtPlusPlus.core.item.bauble.BatteryPackBaseBauble; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.item.chemistry.CoalTar; -import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.item.chemistry.IonParticles; -import gtPlusPlus.core.item.chemistry.MilledOreProcessing; -import gtPlusPlus.core.item.chemistry.NuclearChem; -import gtPlusPlus.core.item.chemistry.RocketFuels; -import gtPlusPlus.core.item.chemistry.StandardBaseParticles; -import gtPlusPlus.core.item.crafting.ItemDummyResearch; -import gtPlusPlus.core.item.food.BaseItemMetaFood; -import gtPlusPlus.core.item.general.BufferCore; -import gtPlusPlus.core.item.general.ItemAirFilter; -import gtPlusPlus.core.item.general.ItemBasicScrubberTurbine; -import gtPlusPlus.core.item.general.ItemBlueprint; -import gtPlusPlus.core.item.general.ItemEmpty; -import gtPlusPlus.core.item.general.ItemGenericToken; -import gtPlusPlus.core.item.general.ItemHalfCompleteCasings; -import gtPlusPlus.core.item.general.ItemLavaFilter; -import gtPlusPlus.core.item.general.ItemMagicFeather; -import gtPlusPlus.core.item.general.books.ItemBaseBook; -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.spawn.ItemCustomSpawnEgg; -import gtPlusPlus.core.item.init.ItemsFoods; -import gtPlusPlus.core.item.materials.DustDecayable; -import gtPlusPlus.core.item.tool.misc.GregtechPump; -import gtPlusPlus.core.item.wearable.WearableLoader; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.material.NONMATERIAL; -import gtPlusPlus.core.material.nuclear.FLUORIDES; -import gtPlusPlus.core.material.nuclear.NUCLIDE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.data.StringUtils; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.everglades.GTplusplus_Everglades; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper; -import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems; - -public final class ModItems { - - public static Item ZZZ_Empty; - public static Item AAA_Broken; - - public static Item itemAlkalusDisk; - public static ItemCustomSpawnEgg itemCustomSpawnEgg; - - public static Item itemIngotBatteryAlloy; - - public static Item itemBedLocator_Base; - public static Item itemBaseItemWithCharge; - - public static Item itemPersonalCloakingDevice; - public static Item itemPersonalHealingDevice; - public static Item itemSupremePizzaGloves; - - public static ItemBlueprint itemBlueprintBase; - - public static Item dustLithiumCarbonate; - public static Item dustLithiumHydroxide; - public static Item dustLithiumPeroxide; - - public static Item dustQuicklime; - public static Item dustCalciumHydroxide; - public static Item dustCalciumCarbonate; - public static Item dustLi2CO3CaOH2; - public static Item dustLi2BeF4; - - public static Item dustTumbagaMix; - - public static Item dustAer; - public static Item dustIgnis; - public static Item dustTerra; - public static Item dustAqua; - - public static Item cellHydrogenChlorideMix; - - public static Item shardAer; - public static Item shardIgnis; - public static Item shardTerra; - public static Item shardAqua; - - // Zirconium - public static Item itemZirconiumChlorideCinterPellet; - public static Item dustZrCl4; - public static Item dustCookedZrCl4; - - public static Item dustCalciumSulfate; - - public static Item dustFertUN18; - public static Item dustFertUN32; - public static Fluid fluidNuclearWaste; - - // Possibly missing base items that GT may be missing. - - public static Item itemSmallWroughtIronGear; - public static Item itemPlateRawMeat; - public static Item itemPlateClay; - public static Item itemPlateLithium; - public static Item itemPlateEuropium; - public static Item itemPlateVanadium; - public static Item itemDoublePlateClay; - public static Item itemDoublePlateEuropium; - public static Item itemFoilUranium235; - public static Item itemDustIndium; - public static BlockBaseModular blockRawMeat; - - 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 Item itemCactusCharcoal; - public static Item itemSugarCharcoal; - public static Item itemCactusCoke; - public static Item itemSugarCoke; - - public static Item itemCircuitLFTR; - public static Item itemBasicTurbine; - - public static Item itemHalfCompleteCasings; - - public static Item itemCustomBook; - - // Unstable Elements & Related Content - public static Item dustNeptunium238; - public static Item dustDecayedRadium226; - public static Item dustRadium226; - public static Item dustProtactinium233; - - public static GregtechPump toolGregtechPump; - - public static ItemGenericToken itemGenericToken; - - public static ItemStack itemHotTitaniumIngot; - - public static Fluid fluidZrF4; - public static Fluid fluidFertBasic; - public static Fluid fluidFertUN32; - public static Fluid fluidFertUN18; - - public static DustDecayable dustMolybdenum99; - public static DustDecayable dustTechnetium99; - public static DustDecayable dustTechnetium99M; - - public static IonParticles itemIonParticleBase; - public static StandardBaseParticles itemStandarParticleBase; - - public static BatteryPackBaseBauble itemChargePack_Low_1; - public static BatteryPackBaseBauble itemChargePack_Low_2; - public static BatteryPackBaseBauble itemChargePack_Low_3; - public static BatteryPackBaseBauble itemChargePack_Low_4; - public static BatteryPackBaseBauble itemChargePack_Low_5; - public static BatteryPackBaseBauble itemChargePack_High_1; - public static BatteryPackBaseBauble itemChargePack_High_2; - public static BatteryPackBaseBauble itemChargePack_High_3; - public static BatteryPackBaseBauble itemChargePack_High_4; - - public static ItemDummyResearch itemDummyResearch; - - public static BaseItemMetaFood itemMetaFood; - - public static ItemMagicFeather itemMagicFeather; - - 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 void init() { - - itemMagicFeather = new ItemMagicFeather(); - - itemAlkalusDisk = new BaseItemDamageable( - "itemAlkalusDisk", - AddToCreativeTab.tabMisc, - 1, - 0, - "Unknown Use", - EnumRarity.rare, - EnumChatFormatting.AQUA, - false, - null); - - itemGenericToken = new ItemGenericToken(); - itemDummyResearch = new ItemDummyResearch(); - itemCustomSpawnEgg = new ItemCustomSpawnEgg(); - - // Register meta item, because we need them for everything. - MetaGeneratedGregtechItems.INSTANCE.generateMetaItems(); - - // Register Hydrogen Blobs first, so we can replace old helium blobs. - // Register Old Helium Blob, this will be replaced when held by a player. - - // Load Wearable Items - WearableLoader.run(); - - itemBlueprintBase = new ItemBlueprint("itemBlueprint"); - - 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.ID + ":" + "gt.metaitem.01/" + "761"); - - // Start meta Item Generation - ItemsFoods.load(); - - try { - - registerCustomMaterialComponents(); - - // Elements generate first so they can be used in compounds. - // Missing Elements - MaterialGenerator.generate(ELEMENT.getInstance().SELENIUM); // LFTR byproduct - MaterialGenerator.generate(ELEMENT.getInstance().BROMINE); - MaterialGenerator.generate(ELEMENT.getInstance().KRYPTON); // LFTR byproduct - MaterialGenerator.generate(ELEMENT.getInstance().STRONTIUM); - MaterialGenerator.generate(ELEMENT.getInstance().ZIRCONIUM); - MaterialGenerator.generate(ELEMENT.getInstance().RUTHENIUM); - MaterialGenerator.generate(ELEMENT.getInstance().IODINE); // LFTR byproduct - MaterialGenerator.generate(ELEMENT.getInstance().HAFNIUM); - MaterialGenerator.generate(ELEMENT.getInstance().DYSPROSIUM); - MaterialGenerator.generate(ELEMENT.getInstance().ERBIUM); - MaterialGenerator.generate(ELEMENT.getInstance().PRASEODYMIUM); - MaterialGenerator.generate(ELEMENT.getInstance().TELLURIUM); // LFTR byproduct - MaterialGenerator.generate(ELEMENT.getInstance().RHODIUM); - MaterialGenerator.generate(ELEMENT.getInstance().RHENIUM); - MaterialGenerator.generate(ELEMENT.getInstance().THALLIUM); - MaterialGenerator.generate(ELEMENT.getInstance().GERMANIUM); - - // RADIOACTIVE ELEMENTS - MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().POLONIUM, false); - // MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().RADON, false); - MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().RADIUM, false); - MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().PROMETHIUM, false); - MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().PROTACTINIUM, false); - MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().CURIUM, false); - MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().CALIFORNIUM, false); - MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().NEPTUNIUM, false); - MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().FERMIUM, false); - - // Nuclear Isotopes - - // Lithium-7 is used as a part of the molten lithium fluoride in molten salt reactors: liquid-fluoride - // nuclear reactors. - // The large neutron-absorption cross-section of lithium-6 (about 940 barns[5]) as compared with the very - // small - // neutron cross-section of lithium-7 (about 45 millibarns) makes high separation of lithium-7 from natural - // lithium a - // strong requirement for the possible use in lithium fluoride reactors. - MaterialGenerator.generate(ELEMENT.getInstance().LITHIUM7, false); - // Thorium-232 is the most stable isotope of Thorium, purified for nuclear fuel use in this case. - MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().THORIUM232); - // Production of 233U (through the neutron irradiation of 232Th) invariably produces small amounts of 232U - // as an impurity - // because of parasitic (n,2n) reactions on uranium-233 itself, or on protactinium-233, or on thorium-232: - MaterialGenerator.generate(ELEMENT.getInstance().URANIUM232); - // Uranium-233 is a fissile isotope of uranium that is bred from thorium-232 as part of the thorium fuel - // cycle. - MaterialGenerator.generate(ELEMENT.getInstance().URANIUM233); - // 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(ELEMENT.getInstance().PLUTONIUM238, false); - - // Custom Materials that will have standalone refinery processes - MaterialGenerator.generate(ELEMENT.STANDALONE.ADVANCED_NITINOL, false); - MaterialGenerator.generate(ELEMENT.STANDALONE.ASTRAL_TITANIUM); - MaterialGenerator.generate(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN); - MaterialGenerator.generate(ELEMENT.STANDALONE.HYPOGEN); - MaterialGenerator.generate(ELEMENT.STANDALONE.CHRONOMATIC_GLASS); - - // Custom Materials that are from Runescape - MaterialGenerator.generate(ELEMENT.STANDALONE.BLACK_METAL); - MaterialGenerator.generate(ELEMENT.STANDALONE.WHITE_METAL); - MaterialGenerator.generateOreMaterialWithAllExcessComponents(ELEMENT.STANDALONE.GRANITE); - MaterialGenerator.generateOreMaterialWithAllExcessComponents(ELEMENT.STANDALONE.RUNITE); - MaterialGenerator.generate(ELEMENT.STANDALONE.DRAGON_METAL, false); - - MISC_MATERIALS.run(); - - MaterialGenerator.generate(ALLOY.SILICON_CARBIDE); - MaterialGenerator.generate(ALLOY.ZIRCONIUM_CARBIDE); - MaterialGenerator.generate(ALLOY.TANTALUM_CARBIDE); - MaterialGenerator.generate(ALLOY.NIOBIUM_CARBIDE); - MaterialGenerator.generate(ALLOY.TUNGSTEN_TITANIUM_CARBIDE); - - // LFTR Fuel components - MaterialGenerator.generateNuclearDusts(FLUORIDES.AMMONIUM_BIFLUORIDE); // LFTR fuel component - MaterialGenerator.generateNuclearDusts(FLUORIDES.BERYLLIUM_HYDROXIDE); // LFTR fuel component - // MaterialGenerator.generateNuclearDusts(FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE); // LFTR fuel component - - // Generate Fluorides - MaterialGenerator.generateNuclearDusts(FLUORIDES.BERYLLIUM_FLUORIDE); - MaterialGenerator.generateNuclearDusts(FLUORIDES.LITHIUM_FLUORIDE); - MaterialGenerator.generateNuclearDusts(FLUORIDES.THORIUM_TETRAFLUORIDE); - MaterialGenerator.generateNuclearDusts(FLUORIDES.THORIUM_HEXAFLUORIDE); - MaterialGenerator.generateNuclearDusts(FLUORIDES.URANIUM_TETRAFLUORIDE, false); - MaterialGenerator.generateNuclearDusts(FLUORIDES.URANIUM_HEXAFLUORIDE, false); - MaterialGenerator.generateNuclearDusts(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE); - // LFTR Fluoride outputs - MaterialGenerator.generateNuclearDusts(FLUORIDES.NEPTUNIUM_HEXAFLUORIDE); - MaterialGenerator.generateNuclearDusts(FLUORIDES.TECHNETIUM_HEXAFLUORIDE); - MaterialGenerator.generateNuclearDusts(FLUORIDES.SELENIUM_HEXAFLUORIDE); - - // Generate Reactor Fuel Salts - MaterialGenerator.generateNuclearDusts(NUCLIDE.LiFBeF2ZrF4U235); - MaterialGenerator.generateNuclearDusts(NUCLIDE.LiFBeF2ZrF4UF4); - MaterialGenerator.generateNuclearDusts(NUCLIDE.LiFBeF2ThF4UF4); - // MaterialGenerator.generateNuclearMaterial(NUCLIDE.Li2BeF4, false); - - // Generate some Alloys - - // Misc Alloys - MaterialGenerator.generate(ALLOY.ENERGYCRYSTAL); - MaterialGenerator.generate(ALLOY.BLOODSTEEL); - - MaterialGenerator.generate(ALLOY.ZERON_100); - // Tumbaga was the name given by Spaniards to a non-specific alloy of gold and copper - MaterialGenerator.generate(ALLOY.TUMBAGA); - // Potin is traditionally an alloy of bronze, tin and lead, with varying quantities of each possible - MaterialGenerator.generate(ALLOY.POTIN); - - // Staballoy & Tantalloy - MaterialGenerator.generate(ALLOY.STABALLOY); - MaterialGenerator.generate(ALLOY.TANTALLOY_60); - MaterialGenerator.generate(ALLOY.TANTALLOY_61); - - // Inconel - MaterialGenerator.generate(ALLOY.INCONEL_625); - MaterialGenerator.generate(ALLOY.INCONEL_690); - MaterialGenerator.generate(ALLOY.INCONEL_792); - - // Steels - MaterialGenerator.generateDusts(ALLOY.EGLIN_STEEL_BASE); - MaterialGenerator.generate(ALLOY.EGLIN_STEEL); - MaterialGenerator.generate(ALLOY.MARAGING250); - MaterialGenerator.generate(ALLOY.MARAGING300); - MaterialGenerator.generate(ALLOY.MARAGING350); - MaterialGenerator.generate(ALLOY.AQUATIC_STEEL); - - MaterialGenerator.generate(ALLOY.NITINOL_60, true); - - // Composite Alloys - MaterialGenerator.generate(ALLOY.STELLITE); - MaterialGenerator.generate(ALLOY.TALONITE); - - // Hastelloy - MaterialGenerator.generate(ALLOY.HASTELLOY_W); - MaterialGenerator.generate(ALLOY.HASTELLOY_X); - MaterialGenerator.generate(ALLOY.HASTELLOY_C276); - MaterialGenerator.generate(ALLOY.HASTELLOY_N); - - // Incoloy - MaterialGenerator.generate(ALLOY.INCOLOY_020); - MaterialGenerator.generate(ALLOY.INCOLOY_DS); - MaterialGenerator.generate(ALLOY.INCOLOY_MA956); - - // Leagrisium - MaterialGenerator.generate(ALLOY.LEAGRISIUM); - - // Super Conductor - MaterialGenerator.generate(ALLOY.HG1223, false, false); - - // Generate Fictional Materials - MaterialGenerator.generate(ALLOY.TRINIUM_TITANIUM); - MaterialGenerator.generate(ALLOY.TRINIUM_NAQUADAH, false); - MaterialGenerator.generate(ALLOY.TRINIUM_NAQUADAH_CARBON); - MaterialGenerator.generate(ALLOY.TRINIUM_REINFORCED_STEEL); - - // Top Tier Alloys - MaterialGenerator.generate(ALLOY.HELICOPTER); - MaterialGenerator.generate(ALLOY.LAFIUM); - MaterialGenerator.generate(ALLOY.CINOBITE); - MaterialGenerator.generate(ALLOY.PIKYONIUM); - MaterialGenerator.generate(ALLOY.ABYSSAL); - MaterialGenerator.generate(ALLOY.LAURENIUM); - - // abs recipe in RECIPES_GREGTECH.java - MaterialGenerator.generate(ALLOY.BOTMIUM, true, false); - - MaterialGenerator.generate(ALLOY.HS188A); - - MaterialGenerator.generate(ALLOY.TITANSTEEL); - MaterialGenerator.generate(ALLOY.ARCANITE); - MaterialGenerator.generate(ALLOY.OCTIRON); - - MaterialGenerator.generate(ALLOY.BABBIT_ALLOY, false); - MaterialGenerator.generate(ALLOY.BLACK_TITANIUM, false); - MaterialGenerator.generate(ALLOY.INDALLOY_140, false, false); - - // High Level Bioplastic - MaterialGenerator.generate(ELEMENT.STANDALONE.RHUGNOR, false, false); - - // Must be the final Alloy to Generate - MaterialGenerator.generate(ALLOY.QUANTUM); - - // Ores - MaterialGenerator.generateOreMaterial(FLUORIDES.FLUORITE); - MaterialGenerator.generateOreMaterial(ALLOY.KOBOLDITE); - GTplusplus_Everglades.GenerateOreMaterials(); - - // formula override - ALLOY.TUNGSTEN_TITANIUM_CARBIDE.vChemicalFormula = StringUtils.subscript("(CW)7Ti3"); - ALLOY.TITANSTEEL.vChemicalFormula = StringUtils.subscript("((CW)7Ti3)3???"); - - // Werkstoff bridge - ELEMENT.getInstance().ZIRCONIUM.setWerkstoffID((short) 3); - ELEMENT.getInstance().THORIUM232.setWerkstoffID((short) 30); - ELEMENT.getInstance().RUTHENIUM.setWerkstoffID((short) 64); - ELEMENT.getInstance().HAFNIUM.setWerkstoffID((short) 11000); - ELEMENT.getInstance().IODINE.setWerkstoffID((short) 11012); - - } catch (final Throwable r) { - Logger.INFO("Failed to Generated a Material. " + r.getMessage()); - r.printStackTrace(); - } - - // Generates four elemental shards when TC is not installed. - if (!Thaumcraft.isModLoaded()) { - shardAer = new BaseItemTCShard("Aer", Utils.rgbtoHexValue(225, 225, 5)); - shardIgnis = new BaseItemTCShard("Ignis", Utils.rgbtoHexValue(255, 5, 5)); - shardTerra = new BaseItemTCShard("Terra", Utils.rgbtoHexValue(5, 255, 5)); - shardAqua = new BaseItemTCShard("Aqua", Utils.rgbtoHexValue(5, 5, 255)); - } else { - shardAer = ItemUtils - .getItemStackWithMeta(Thaumcraft.isModLoaded(), "Thaumcraft:ItemShard", "Air Shard", 0, 1) - .getItem(); - shardIgnis = ItemUtils - .getItemStackWithMeta(Thaumcraft.isModLoaded(), "Thaumcraft:ItemShard", "Fire Shard", 1, 1) - .getItem(); - shardAqua = ItemUtils - .getItemStackWithMeta(Thaumcraft.isModLoaded(), "Thaumcraft:ItemShard", "Warer Shard", 2, 1) - .getItem(); - shardTerra = ItemUtils - .getItemStackWithMeta(Thaumcraft.isModLoaded(), "Thaumcraft:ItemShard", "Earth Shard", 3, 1) - .getItem(); - } - // Generates a set of four special dusts to be used in my recipes. - dustAer = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().AER, true)[0]; - dustIgnis = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().IGNIS, true)[0]; - dustTerra = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().TERRA, true)[0]; - dustAqua = ItemUtils.generateSpecialUseDusts(ELEMENT.getInstance().AQUA, true)[0]; - - ItemUtils.generateSpecialUseDusts(MISC_MATERIALS.WOODS_GLASS, false); - cellHydrogenChlorideMix = MISC_MATERIALS.HYDROGEN_CHLORIDE_MIX.getCell(1) - .getItem(); - - // Nuclear Fuel Dusts - dustLithiumCarbonate = ItemUtils.generateSpecialUseDusts( - "LithiumCarbonate", - "Lithium Carbonate", - "Li2CO3", - Utils.rgbtoHexValue(240, 240, 240))[0]; // https://en.wikipedia.org/wiki/Lithium_carbonate - dustLithiumPeroxide = ItemUtils.generateSpecialUseDusts( - "LithiumPeroxide", - "Lithium Peroxide", - "Li2O2", - Utils.rgbtoHexValue(250, 250, 250))[0]; // https://en.wikipedia.org/wiki/Lithium_peroxide - dustLithiumHydroxide = ItemUtils.generateSpecialUseDusts( - "LithiumHydroxide", - "Lithium Hydroxide", - "LiOH", - Utils.rgbtoHexValue(250, 250, 250))[0]; // https://en.wikipedia.org/wiki/Lithium_hydroxide - - if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) { - dustQuicklime = ItemUtils - .generateSpecialUseDusts("Quicklime", "Quicklime", "CaO", Utils.rgbtoHexValue(255, 255, 175))[0]; // https://en.wikipedia.org/wiki/Calcium_oxide - } - dustCalciumHydroxide = ItemUtils.generateSpecialUseDusts( - "CalciumHydroxide", - "Hydrated Lime", - "Ca(OH)2", - Utils.rgbtoHexValue(255, 255, 255))[0]; // https://en.wikipedia.org/wiki/Calcium_hydroxide - dustCalciumCarbonate = ItemUtils.generateSpecialUseDusts( - "CalciumCarbonate", - "Calcium Carbonate", - "CaCO3", - Utils.rgbtoHexValue(255, 255, 255))[0]; // https://en.wikipedia.org/wiki/Calcium_carbonate - if ((ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustGypsum", 1) == null) - || (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustCalciumSulfate", 1) == null)) { - dustCalciumSulfate = ItemUtils.generateSpecialUseDusts( - "Gypsum", - "Calcium Sulfate (Gypsum)", - "CaSO4", - Utils.rgbtoHexValue(255, 255, 255))[0]; // https://en.wikipedia.org/wiki/Calcium_sulfate - GT_OreDictUnificator.registerOre("dustCalciumSulfate", ItemUtils.getSimpleStack(dustCalciumSulfate)); - } else { - GT_OreDictUnificator - .registerOre("dustCalciumSulfate", ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustGypsum", 1)); - } - dustLi2CO3CaOH2 = ItemUtils.generateSpecialUseDusts( - "Li2CO3CaOH2", - "Li2CO3 + Ca(OH)2 Compound", - "Li2CO3CaOH2", - Utils.rgbtoHexValue(255, 255, 255))[0]; // https://en.wikipedia.org/wiki/Calcium_carbonate - MaterialUtils.generateSpecialDustAndAssignToAMaterial(FLUORIDES.SODIUM_FLUORIDE, false); - // FLiBe Fuel Compounds - dustLi2BeF4 = ItemUtils.generateSpecialUseDusts( - "Li2BeF4", - "Lithium Tetrafluoroberyllate Fuel Compound", - "Li2BeF4", - Utils.rgbtoHexValue(255, 255, 255))[0]; // https://en.wikipedia.org/wiki/FLiBe - Material.registerComponentForMaterial(NUCLIDE.Li2BeF4, OrePrefixes.dust, ItemUtils.getSimpleStack(dustLi2BeF4)); - // fluidFLiBeSalt = ("Li2BeF4", "Li2BeF4", 7430, new short[]{255, 255, 255, 100}, 0); - // fluidFLiBeSalt = FluidUtils.addGTFluidNoPrefix("Li2BeF4", "Lithium Tetrafluoroberyllate", new short[]{255, - // 255, 255, 100}, 0, 743, null, CI.emptyCells(1), 1000, true); - // fluidFLiBeSaltBurnt = FluidUtils.addGTFluidNoPrefix("Li2BeF2UF4", "Li2BeF2UF4", new short[]{50, 255, 50, - // 100}, 0, 743, null, CI.emptyCells(1), 1000, true); - - // LFTR Core Fluid Processing - // fluidLftrCore1 = FluidUtils.addGTFluidNoPrefix("LiBeF2UF4FP", "LiBeF2UF4FP", new short[]{110, 255, 110, 100}, - // 0, 800, null, CI.emptyCells(1), 1000, true); - // fluidLftrCore2 = FluidUtils.addGTFluidNoPrefix("UF6F2FP", "UF6F2FP", new short[]{150, 255, 150, 100}, 0, 800, - // null, CI.emptyCells(1), 1000, true); - // fluidLftrCore3 = FluidUtils.addGTFluidNoPrefix("LiFBeF2", "LiFBeF2", new short[]{100, 255, 50, 100}, 0, 800, - // null, CI.emptyCells(1), 1000, true); - // fluidLftrCore4 = FluidUtils.addGTFluidNoPrefix("LiFBeF2UF4", "LiFBeF2UF4", new short[]{50, 255, 100, 100}, 0, - // 800, null, CI.emptyCells(1), 1000, true); - // LFTR Blanket Fluid Processing - fluidNuclearWaste = FluidUtils.addGTFluidNoPrefix( - "nuclear.waste", - "Nuclear Waste", - new short[] { 10, 250, 10, 100 }, - 0, - 1000, - null, - CI.emptyCells(1), - 1000, - true); - - // LFTR Control Circuit - itemCircuitLFTR = new CoreItem( - "itemCircuitLFTR", - "" + EnumChatFormatting.GREEN + "Control Circuit", - AddToCreativeTab.tabMisc, - 1, - 0, - new String[] { "Keeps Multiblocks Stable" }, - EnumRarity.epic, - EnumChatFormatting.DARK_GREEN, - false, - null); - - if (CORE.ConfigSwitches.enableMachine_Pollution) { - itemBasicTurbine = new ItemBasicScrubberTurbine(); - } - - // Zirconium - // Cinter Pellet. - itemZirconiumChlorideCinterPellet = new CoreItem( - "itemZirconiumPellet", - "Zirconium Pellet [" + StringUtils.subscript("ZrCl4") + "]", - tabMisc).setTextureName(GTPlusPlus.ID + ":itemShard"); - GT_OreDictUnificator.registerOre("pelletZirconium", new ItemStack(itemZirconiumChlorideCinterPellet)); - // Zirconium Chloride - dustZrCl4 = ItemUtils.generateSpecialUseDusts("ZrCl4", "ZrCl4", "ZrCl4", Utils.rgbtoHexValue(180, 180, 180))[0]; // http://www.iaea.org/inis/collection/NCLCollectionStore/_Public/39/036/39036750.pdf - dustCookedZrCl4 = ItemUtils - .generateSpecialUseDusts("CookedZrCl4", "Cooked ZrCl4", "ZrCl4", Utils.rgbtoHexValue(180, 180, 180))[0]; // http://www.iaea.org/inis/collection/NCLCollectionStore/_Public/39/036/39036750.pdf - - // Zirconium Tetrafluoride - /* - * GT_OreDictUnificator.registerOre("cellZrF4", - * ItemUtils.getItemStackOfAmountFromOreDict("cellZirconiumTetrafluoride", 1)); - * GT_OreDictUnificator.registerOre("dustZrF4", - * ItemUtils.getItemStackOfAmountFromOreDict("dustZirconiumTetrafluoride", 1)); - */ - fluidZrF4 = FluidUtils.generateFluidNoPrefix( - "ZirconiumTetrafluoride", - "Zirconium Tetrafluoride", - 500, - new short[] { 170, 170, 140, 100 }); // https://en.wikipedia.org/wiki/Zirconium_tetrafluoride - FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.setFluid(fluidZrF4); - - // Coolant Salt - // NaBF4 - NaF - 621C - // dustNaBF4NaF = ItemUtils.generateSpecialUseDusts("NaBF4NaF", "NaBF4NaF", Utils.rgbtoHexValue(45, 45, 90))[0]; - // //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride - - // Load Tree Farmer - if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer) { // https://en.wikipedia.org/wiki/UAN - dustFertUN18 = ItemUtils - .generateSpecialUseDusts("UN18Fertiliser", "UN-18 Fertiliser", Utils.rgbtoHexValue(60, 155, 60))[0]; - dustFertUN32 = ItemUtils - .generateSpecialUseDusts("UN32Fertiliser", "UN-32 Fertiliser", Utils.rgbtoHexValue(55, 190, 55))[0]; - - ItemStack temp1 = ItemUtils.getCorrectStacktype("IC2:itemFertilizer", 1); - ItemStack temp2 = null; - - if (Forestry.isModLoaded()) { - temp2 = ItemUtils.getCorrectStacktype("Forestry:fertilizerCompound", 1); - } - if (temp1 != null) { - fluidFertBasic = FluidUtils.generateFluidNonMolten( - "Fertiliser", - "Fertiliser", - 32, - new short[] { 45, 170, 45, 100 }, - temp1, - null, - true); - GT_Values.RA.stdBuilder() - .itemInputs(temp2) - .fluidOutputs(new FluidStack(fluidFertBasic, 36)) - .duration(5 * TICKS) - .eut(16) - .addTo(fluidExtractionRecipes); - } - fluidFertUN32 = FluidUtils.generateFluidNonMolten( - "UN32Fertiliser", - "UN-32 Fertiliser", - 24, - new short[] { 55, 190, 55, 100 }, - null, - null, - true); - fluidFertUN18 = FluidUtils.generateFluidNonMolten( - "UN18Fertiliser", - "UN-18 Fertiliser", - 22, - new short[] { 60, 155, 60, 100 }, - null, - null, - true); - - /* - * GT_Values.RA.addMixerRecipe( arg0, //Item In arg1, arg2, arg3, arg4, //Fluid in arg5, //Fluid Out arg6, - * //Item out arg7, //Eu arg8); //Time - */ - - } - - // Juice - FluidUtils.generateFluidNonMolten( - "RaisinJuice", - "Raisin Juice", - 2, - new short[] { 51, 0, 51, 100 }, - ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foodRaisins", 1), - ItemUtils.getItemStackOfAmountFromOreDictNoBroken("fruitRaisins", 1), - 50, - true); - - // Test items - toolGregtechPump = new GregtechPump(); - toolGregtechPump.registerPumpType(0, "Simple Hand Pump", 0, 0); - toolGregtechPump.registerPumpType(1, "Advanced Hand Pump", 32000, 1); - toolGregtechPump.registerPumpType(2, "Super Hand Pump", 128000, 2); - toolGregtechPump.registerPumpType(3, "Ultimate Hand Pump", 512000, 3); - - // Xp Fluids - Dev - if (!FluidRegistry.isFluidRegistered("mobessence")) { - FluidUtils.generateFluidNoPrefix("mobessence", "Mob Essence", 0, new short[] { 125, 175, 125, 100 }); - } - - dustNeptunium238 = new DustDecayable( - "dustNeptunium238", - Utils.rgbtoHexValue(175, 240, 75), - 50640, - new String[] { StringUtils.superscript("238Np"), - "Result: Plutonium 238 (" + StringUtils.superscript("238Pu") + ")" }, - ELEMENT.getInstance().PLUTONIUM238.getDust(1) - .getItem(), - 5); - dustDecayedRadium226 = ItemUtils.generateSpecialUseDusts( - "DecayedRadium226", - "Decayed Radium-226", - "Contains Radon (" + StringUtils.superscript("222Rn") + ")", - ELEMENT.getInstance().RADIUM.getRgbAsHex())[0]; - dustRadium226 = new DustDecayable( - "dustRadium226", - ELEMENT.getInstance().RADIUM.getRgbAsHex(), - 90000, - new String[] { StringUtils.superscript("226Ra"), - "Result: Radon (" + StringUtils.superscript("222Rn") + ")" }, - ItemUtils.getSimpleStack(dustDecayedRadium226) - .getItem(), - 5); - dustProtactinium233 = new DustDecayable( - "dustProtactinium233", - ELEMENT.getInstance().PROTACTINIUM.getRgbAsHex(), - 32000, - new String[] { StringUtils.superscript("233Pa"), - "Result: Uranium 233(" + StringUtils.superscript("233U") + ")" }, - ELEMENT.getInstance().URANIUM233.getDust(1) - .getItem(), - 6); - dustMolybdenum99 = new DustDecayable( - "dustMolybdenum99", - ELEMENT.getInstance().MOLYBDENUM.getRgbAsHex(), - 16450, - new String[] { StringUtils.superscript("99Mo"), - "Result: Technicium 99ᵐ (" + StringUtils.superscript("99ᵐTc") + ")" }, - dustTechnetium99M, - 4); - - itemIonParticleBase = new IonParticles(); - itemStandarParticleBase = new StandardBaseParticles(); - - Item a8kFlask = VolumetricFlaskHelper.generateNewFlask("Volumetric_Flask_8k", "Large Volumetric Flask", 8000); - Item a64kFlask = VolumetricFlaskHelper - .generateNewFlask("Volumetric_Flask_32k", "Gigantic Volumetric Flask", 32000); - GregtechItemList.VOLUMETRIC_FLASK_8k.set(a8kFlask); - GregtechItemList.VOLUMETRIC_FLASK_32k.set(a64kFlask); - - itemBoilerChassis = new ItemBoilerChassis(); - itemDehydratorCoilWire = new ItemDehydratorCoilWire(); - itemDehydratorCoil = new ItemDehydratorCoil(); - - itemAirFilter = new ItemAirFilter(); - itemLavaFilter = new ItemLavaFilter(); - - // Chemistry - new CoalTar(); - new RocketFuels(); - - // Nuclear Processing - new NuclearChem(); - - // Farm Animal Fun - new AgriculturalChem(); - - // General Chemistry - new GenericChem(); - - // Milled Ore Processing - new MilledOreProcessing(); - - // IC2 Exp - Logger.INFO("IndustrialCraft2 Found - Loading Resources."); - - // Baubles Mod Test - try { - final Class baublesTest = ReflectionUtils.getClass("baubles.api.IBauble"); - if (baublesTest != null) { - COMPAT_Baubles.run(); - } else { - Logger.INFO("Baubles Not Found - Skipping Resources."); - } - } catch (final Throwable T) { - Logger.INFO("Baubles Not Found - Skipping Resources."); - } - - // Buffer Cores! - Item itemBufferCore; - for (int i = 1; i <= 10; i++) { - itemBufferCore = new BufferCore("itemBufferCore", i).setCreativeTab(AddToCreativeTab.tabMachines); - GameRegistry.registerItem(itemBufferCore, itemBufferCore.getUnlocalizedName()); - } - - itemCustomBook = new ItemBaseBook(); - registerCustomTokens(); - } - - public static void registerCustomTokens() { - itemGenericToken.register(0, "BitCoin", 16, "Can be used on the dark web"); - itemGenericToken.register(1, "Hand Pump Trade Token I", 1, "Craft into a Tier I Hand pump"); - itemGenericToken.register(2, "Hand Pump Trade Token II", 1, "Craft into a Tier II Hand pump"); - itemGenericToken.register(3, "Hand Pump Trade Token III", 1, "Craft into a Tier III Hand pump"); - itemGenericToken.register(4, "Hand Pump Trade Token IV", 1, "Craft into a Tier IV Hand pump"); - } - - public static void registerCustomMaterialComponents() { - // Custom GT++ Crafting Components - - /* - * Try to generate dusts for missing rare earth materials if they don't exist - */ - if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustGadolinium", 1))) { - ItemUtils.generateSpecialUseDusts( - "Gadolinium", - "Gadolinium", - Materials.Gadolinium.mElement.name(), - Utils.rgbtoHexValue(226, 172, 9)); - } - if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustYtterbium", 1))) { - ItemUtils.generateSpecialUseDusts( - "Ytterbium", - "Ytterbium", - Materials.Ytterbium.mElement.name(), - Utils.rgbtoHexValue( - Materials.Yttrium.mRGBa[0] - 60, - Materials.Yttrium.mRGBa[1] - 60, - Materials.Yttrium.mRGBa[2] - 60)); - } - if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustSamarium", 1))) { - ItemUtils.generateSpecialUseDusts( - "Samarium", - "Samarium", - Materials.Samarium.mElement.name(), - Utils.rgbtoHexValue(161, 168, 114)); - } - if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustLanthanum", 1))) { - ItemUtils.generateSpecialUseDusts( - "Lanthanum", - "Lanthanum", - Materials.Lanthanum.mElement.name(), - Utils.rgbtoHexValue(106, 127, 163)); - } - - // Just an unusual plate needed for some black magic. - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateClay", 1) == null) { - itemPlateClay = new BaseItemPlate(NONMATERIAL.CLAY); - } - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDoubleClay", 1) == null) { - itemDoublePlateClay = new BaseItemPlateDouble(NONMATERIAL.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(NONMATERIAL.WROUGHT_IRON); - } - // Krypton Processing - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingotHotTitanium", 1) == null) { - itemHotTitaniumIngot = ItemUtils - .getSimpleStack(new BaseItemIngot(ELEMENT.getInstance().TITANIUM, ComponentTypes.HOTINGOT)); - } else { - itemHotTitaniumIngot = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingotHotTitanium", 1); - } - - // Need this for Laurenium - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustIndium", 1) == null) { - itemDustIndium = new BaseItemDust(ELEMENT.getInstance().INDIUM); - } - - // Springs - MaterialUtils - .generateComponentAndAssignToAMaterial(ComponentTypes.SPRING, ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.SPRING, ELEMENT.STANDALONE.WHITE_METAL); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.SPRING, ALLOY.NITINOL_60); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.SPRING, ALLOY.AQUATIC_STEEL); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.SPRING, ALLOY.EGLIN_STEEL); - - // Small Springs - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.SMALLSPRING, ALLOY.MARAGING250); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.SMALLSPRING, ALLOY.NICHROME); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.SMALLSPRING, ALLOY.STABALLOY); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.SMALLSPRING, ALLOY.STEEL_BLACK); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.SMALLSPRING, ALLOY.BLACK_TITANIUM); - - // Fine Wire - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ELEMENT.STANDALONE.WHITE_METAL); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ELEMENT.getInstance().PALLADIUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ELEMENT.getInstance().ZIRCONIUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ALLOY.LEAGRISIUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ALLOY.BABBIT_ALLOY); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ALLOY.KOBOLDITE); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ALLOY.HG1223); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ALLOY.QUANTUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ELEMENT.STANDALONE.HYPOGEN); - MaterialUtils - .generateComponentAndAssignToAMaterial(ComponentTypes.FINEWIRE, ELEMENT.STANDALONE.CHRONOMATIC_GLASS); - - // Foil - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.BLACK_TITANIUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.BOTMIUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.TITANSTEEL); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.NITINOL_60); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.QUANTUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.LAURENIUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ELEMENT.STANDALONE.HYPOGEN); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ELEMENT.STANDALONE.ASTRAL_TITANIUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ELEMENT.STANDALONE.RHUGNOR); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ELEMENT.STANDALONE.WHITE_METAL); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ELEMENT.STANDALONE.ADVANCED_NITINOL); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.PIKYONIUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.CINOBITE); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.LAFIUM); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ALLOY.TRINIUM_REINFORCED_STEEL); - MaterialUtils.generateComponentAndAssignToAMaterial(ComponentTypes.FOIL, ELEMENT.STANDALONE.CHRONOMATIC_GLASS); - - // Special Sillyness - if (true) { - - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateSodium", 1) == null) { - new BaseItemPlate(ELEMENT.getInstance().SODIUM); - } - - Material meatRaw = NONMATERIAL.MEAT; - // A plate of Meat. - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateMeatRaw", 1) == null) { - itemPlateRawMeat = new BaseItemPlate(meatRaw); - ItemUtils.registerFuel(ItemUtils.getSimpleStack(itemPlateRawMeat), 100); - } - // A Block of Meat. - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("blockMeatRaw", 1) == null) { - blockRawMeat = new BlockBaseModular(meatRaw, BlockTypes.STANDARD); - ItemUtils.registerFuel(ItemUtils.getSimpleStack(blockRawMeat), 900); - } - } - - // 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) { - itemPlateLithium = new BaseItemPlate(ELEMENT.getInstance().LITHIUM); - } - - // A plate of Europium. - if ((ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateEuropium", 1) == null) - && CORE.ConfigSwitches.enableCustom_Pipes) { - itemPlateEuropium = new BaseItemPlate(ELEMENT.getInstance().EUROPIUM); - } - if ((ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDoubleEuropium", 1) == null) - && CORE.ConfigSwitches.enableCustom_Pipes) { - itemDoublePlateEuropium = new BaseItemPlateDouble(ELEMENT.getInstance().EUROPIUM); - } - - // Tumbaga Mix (For Simple Crafting) - dustTumbagaMix = ItemUtils - .generateSpecialUseDusts("MixTumbaga", "Tumbaga Mix", "Au2Cu", Utils.rgbtoHexValue(255, 150, 80))[0]; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemBurnable.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemBurnable.java deleted file mode 100644 index 8bbc5a3b08..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemBurnable.java +++ /dev/null @@ -1,42 +0,0 @@ -package gtPlusPlus.core.item.base; - -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; - - public BaseItemBurnable(String unlocalizedName, String displayName, CreativeTabs creativeTab, int stackSize, - int maxDmg, String description, String oredictName, int burnTime, int meta) { - super(unlocalizedName, creativeTab, stackSize, maxDmg, description); - this.itemName = displayName; - this.meta = meta; - if (oredictName != null && !oredictName.equals("")) { - registerOrdictionary(oredictName); - } - registerFuel(burnTime); - } - - public void registerFuel(int burn) { - CORE.burnables.add(new Pair<>(burn, ItemUtils.getSimpleStack(this, 1))); - } - - public final void registerOrdictionary(String name) { - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), name); - } - - @Override - public int getDamage(ItemStack stack) { - return this.meta; - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemColourable.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemColourable.java deleted file mode 100644 index d391207a56..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemColourable.java +++ /dev/null @@ -1,100 +0,0 @@ -package gtPlusPlus.core.item.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -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 cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.util.GT_LanguageManager; - -public class BaseItemColourable extends Item { - - private final EnumRarity rarity; - private final EnumChatFormatting descColour; - private final boolean hasEffect; - public final int componentColour; - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - return this.componentColour; - } - - // 5 - /* - * Name, Tab, Stack, Dmg, Description, Rarity, Text Colour, Effect - */ - public BaseItemColourable(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, - final int maxDmg, final String description, final EnumRarity regRarity, final EnumChatFormatting colour, - final boolean Effect, int rgb) { - this.setUnlocalizedName(unlocalizedName); - this.setTextureName(GTPlusPlus.ID + ":" + unlocalizedName); - this.setCreativeTab(creativeTab); - this.setMaxStackSize(stackSize); - this.setMaxDamage(maxDmg); - this.setHasSubtypes(true); - this.rarity = regRarity; - GT_LanguageManager.addStringLocalization("gtplusplus." + this.getUnlocalizedName() + ".tooltip", description); - this.descColour = colour; - this.hasEffect = Effect; - this.componentColour = rgb; - GameRegistry.registerItem(this, unlocalizedName); - } - - // 6 - /* - * Name, Tab, Stack, Dmg, Description, Rarity, Text Colour, Effect - */ - public BaseItemColourable(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, int rgb) { - this.setUnlocalizedName(unlocalizedName); - GT_LanguageManager.addStringLocalization("gtplusplus." + this.getUnlocalizedName() + ".name", displayName); - this.setTextureName(GTPlusPlus.ID + ":" + unlocalizedName); - this.setCreativeTab(creativeTab); - this.setMaxStackSize(stackSize); - this.setMaxDamage(maxDmg); - this.rarity = regRarity; - GT_LanguageManager.addStringLocalization("gtplusplus." + this.getUnlocalizedName() + ".tooltip", description); - this.descColour = colour; - this.hasEffect = Effect; - this.componentColour = rgb; - GameRegistry.registerItem(this, unlocalizedName); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - list.add( - this.descColour - + GT_LanguageManager.getTranslation("gtplusplus." + this.getUnlocalizedName() + ".tooltip")); - // super.addInformation(stack, aPlayer, list, bool); - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(final ItemStack par1ItemStack) { - return this.rarity; - } - - @Override - public boolean hasEffect(final ItemStack par1ItemStack, final int pass) { - return this.hasEffect; - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - if (!("gtplusplus." + this.getUnlocalizedName() + ".name") - .equals(GT_LanguageManager.getTranslation("gtplusplus." + this.getUnlocalizedName() + ".name"))) { - return GT_LanguageManager.getTranslation("gtplusplus." + this.getUnlocalizedName() + ".name"); - } else return super.getItemStackDisplayName(tItem); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java deleted file mode 100644 index 6846f8febb..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java +++ /dev/null @@ -1,459 +0,0 @@ -package gtPlusPlus.core.item.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; - -import java.awt.Color; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -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.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.GregTech_API; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TextureSet; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_LanguageManager; -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.util.Utils; -import gtPlusPlus.core.util.data.StringUtils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.sys.KeyboardUtils; - -public class BaseItemComponent extends Item { - - private static final Class mTextureSetPreload; - - static { - mTextureSetPreload = TextureSet.class; - } - - public final Material componentMaterial; - public final String materialName; - public final String unlocalName; - public final String translatedMaterialName; - public final ComponentTypes componentType; - public final int componentColour; - public Object extraData; - - protected IIcon base; - protected IIcon overlay; - - public BaseItemComponent(final Material material, final ComponentTypes componentType) { - this.componentMaterial = material; - this.unlocalName = "item" + componentType.COMPONENT_NAME + material.getUnlocalizedName(); - this.materialName = material.getLocalizedName(); - this.translatedMaterialName = material.getTranslatedName(); - this.componentType = componentType; - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setUnlocalizedName(this.unlocalName); - this.setMaxStackSize(64); - // this.setTextureName(this.getCorrectTextures()); - this.componentColour = material.getRgbAsHex(); - GameRegistry.registerItem(this, this.unlocalName); - - // if (componentType != ComponentTypes.DUST) - - GT_OreDictUnificator.registerOre( - componentType.getOreDictName() + material.getUnlocalizedName(), - ItemUtils.getSimpleStack(this)); - if (componentType == ComponentTypes.GEAR) { - GT_OreDictUnificator.registerOre("gear" + material.getUnlocalizedName(), ItemUtils.getSimpleStack(this)); - } - registerComponent(); - - GT_LanguageManager.addStringLocalization("gtplusplus.item." + unlocalName + ".name", getFormattedLangName()); - } - - // For Cell Generation - public BaseItemComponent(final String unlocalName, final String localName, final short[] RGBA) { - - // Handles .'s from fluid internal names. - String aFormattedNameForFluids; - if (unlocalName.contains(".")) { - aFormattedNameForFluids = StringUtils.splitAndUppercase(unlocalName, "."); - } else { - aFormattedNameForFluids = unlocalName; - } - Material aTempMaterial = Material.mMaterialCache.get(localName.toLowerCase()); - Logger.INFO("Attempted to get " + localName + " cell material from cache. Valid? " + (aTempMaterial != null)); - this.componentMaterial = aTempMaterial; - this.unlocalName = "itemCell" + aFormattedNameForFluids; - this.materialName = localName; - this.translatedMaterialName = getFluidName( - "fluid." + this.materialName.toLowerCase() - .replace(" ", "")); - this.componentType = ComponentTypes.CELL; - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setUnlocalizedName(aFormattedNameForFluids); - this.setMaxStackSize(64); - this.componentColour = MathUtils.getRgbAsHex(RGBA); - this.extraData = RGBA; - - this.setTextureName(GTPlusPlus.ID + ":" + "item" + ComponentTypes.CELL.COMPONENT_NAME); - GameRegistry.registerItem(this, aFormattedNameForFluids); - GT_OreDictUnificator.registerOre( - ComponentTypes.CELL.getOreDictName() + Utils.sanitizeStringKeepBrackets(localName), - ItemUtils.getSimpleStack(this)); - registerComponent(); - - GT_LanguageManager - .addStringLocalization("gtplusplus.item." + this.unlocalName + ".name", getFormattedLangName()); - } - - private String getFormattedLangName() { - return componentType.getName() - .replace("@", "%material"); - } - - public boolean registerComponent() { - if (this.componentMaterial == null) { - return false; - } - // Register Component - Map aMap = Material.mComponentMap.get(componentMaterial.getUnlocalizedName()); - if (aMap == null) { - aMap = new HashMap<>(); - } - String aKey = componentType.getGtOrePrefix() - .name(); - ItemStack x = aMap.get(aKey); - if (x == null) { - aMap.put(aKey, ItemUtils.getSimpleStack(this)); - Logger.MATERIALS( - "Registering a material component. Item: [" + componentMaterial.getUnlocalizedName() - + "] Map: [" - + aKey - + "]"); - Material.mComponentMap.put(componentMaterial.getUnlocalizedName(), aMap); - if (componentType == ComponentTypes.PLATE) { - GregTech_API.registerCover( - componentMaterial.getPlate(1), - new GT_RenderedTexture( - componentMaterial.getTextureSet().mTextures[71], - componentMaterial.getRGBA(), - false), - null); - } else if (componentType == ComponentTypes.PLATEDOUBLE) { - GregTech_API.registerCover( - componentMaterial.getPlateDouble(1), - new GT_RenderedTexture( - componentMaterial.getTextureSet().mTextures[72], - componentMaterial.getRGBA(), - false), - null); - } - return true; - } else { - // Bad - Logger.MATERIALS("Tried to double register a material component. "); - return false; - } - } - - public String getCorrectTextures() { - if (!CORE.ConfigSwitches.useGregtechTextures) { - return GTPlusPlus.ID + ":" + "item" + this.componentType.COMPONENT_NAME; - } - String metType = "9j4852jyo3rjmh3owlhw9oe"; - if (this.componentMaterial != null) { - TextureSet u = this.componentMaterial.getTextureSet(); - if (u != null) { - metType = u.mSetName; - } - } - metType = (metType.equals("9j4852jyo3rjmh3owlhw9oe") ? "METALLIC" : metType); - return GregTech.ID + ":" + "materialicons/" + metType + "/" + this.componentType.getOreDictName(); - - // return GregTech.ID + ":" + "materialicons/"+metType+"/" + this.componentType.COMPONENT_NAME.toLowerCase(); - } - - /* - * @Override public String getItemStackDisplayName(final ItemStack p_77653_1_) { if (this.componentType == - * ComponentTypes.SMALLGEAR){ return "Small " + this.materialName+" Gear"; } if (this.componentMaterial != null) { - * return (this.componentMaterial.getLocalizedName()+this.componentType.DISPLAY_NAME); } return - * this.materialName+" Cell"; } - */ - - public final String getMaterialName() { - return this.materialName; - } - - public String getFluidName(String aKey) { - String trans; - trans = GT_LanguageManager.getTranslation(aKey); - if (!trans.equals(aKey)) return trans; - aKey = "fluid." + aKey; - trans = GT_LanguageManager.getTranslation(aKey); - if (!trans.equals(aKey)) return trans; - return GT_LanguageManager.addStringLocalization( - "gtplusplus.fluid." + this.materialName.toLowerCase() - .replace(" ", ""), - this.materialName); - } - - @Override - public String getItemStackDisplayName(ItemStack stack) { - return GT_LanguageManager.getTranslation("gtplusplus.item." + unlocalName + ".name") - .replace("%s", "%temp") - .replace("%material", translatedMaterialName) - .replace("%temp", "%s"); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public final void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, - final boolean bool) { - - try { - - if (this.componentMaterial == null) { - if (this.materialName != null) { - // list.add(Utils.sanitizeStringKeepBrackets(materialName)); - } - } - - if ((this.materialName != null) && (this.materialName != "") - && !this.materialName.equals("") - && (this.componentMaterial != null)) { - - if (this.componentMaterial != null) { - if (!this.componentMaterial.vChemicalFormula.contains("?")) { - list.add(Utils.sanitizeStringKeepBrackets(this.componentMaterial.vChemicalFormula)); - } else if (this.componentMaterial.vChemicalFormula.contains("?")) { - String temp = componentMaterial.vChemicalFormula; - temp = temp.replace(" ", ""); - temp = temp.replace("-", ""); - temp = temp.replace("_", ""); - temp = temp.replace("!", ""); - temp = temp.replace("@", ""); - temp = temp.replace("#", ""); - temp = temp.replace(" ", ""); - list.add(temp); - } - - if (this.componentMaterial.isRadioactive) { - list.add(CORE.GT_Tooltip_Radioactive.get()); - } - - if (this.componentType == ComponentTypes.INGOT || this.componentType == ComponentTypes.HOTINGOT) { - if ((this.materialName != null) && (this.materialName != "") - && !this.materialName.equals("") - && this.unlocalName.toLowerCase() - .contains("hot")) { - list.add( - EnumChatFormatting.GRAY + "Warning: " - + EnumChatFormatting.RED - + "Very hot! " - + EnumChatFormatting.GRAY - + " Avoid direct handling.."); - } - } - } else { - String aChemicalFormula = Material.sChemicalFormula.get(materialName.toLowerCase()); - if (aChemicalFormula != null && aChemicalFormula.length() > 0) { - list.add(Utils.sanitizeStringKeepBrackets(aChemicalFormula)); - } - } - - // Hidden Tooltip - if (KeyboardUtils.isCtrlKeyDown()) { - if (this.componentMaterial != null) { - String type = this.componentMaterial.getTextureSet().mSetName; - String output = type.substring(0, 1) - .toUpperCase() + type.substring(1); - list.add(EnumChatFormatting.GRAY + "Material Type: " + output + "."); - list.add( - EnumChatFormatting.GRAY + "Material State: " - + this.componentMaterial.getState() - .name() - + "."); - list.add( - EnumChatFormatting.GRAY + "Radioactivity Level: " - + this.componentMaterial.vRadiationLevel - + "."); - } - } else { - list.add(EnumChatFormatting.DARK_GRAY + "Hold Ctrl to show additional info."); - } - } - } catch (Throwable t) {} - - super.addInformation(stack, aPlayer, list, bool); - } - - @SuppressWarnings("unchecked") - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - if (this.componentMaterial != null) { - if (entityHolding instanceof EntityPlayer) { - if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode) { - EntityUtils.applyRadiationDamageToEntity( - iStack.stackSize, - this.componentMaterial.vRadiationLevel, - world, - entityHolding); - } - } - } - } - - /** - * - * Handle Custom Rendering - * - */ - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return (CORE.ConfigSwitches.useGregtechTextures ? true : false); - } - - @SuppressWarnings("unchecked") - @Override - public int getColorFromItemStack(final ItemStack stack, final int renderPass) { - - if (this.componentType == ComponentTypes.CELL || this.componentType == ComponentTypes.PLASMACELL) { - if (renderPass == 0 && !CORE.ConfigSwitches.useGregtechTextures) { - return Utils.rgbtoHexValue(255, 255, 255); - } - if (renderPass == 1 && CORE.ConfigSwitches.useGregtechTextures) { - return Utils.rgbtoHexValue(255, 255, 255); - } - } - - try { - if (this.componentMaterial == null) { - if (extraData != null) { - if (short.class.isInstance(extraData)) { - short[] abc = (short[]) extraData; - return Utils.rgbtoHexValue(abc[0], abc[1], abc[2]); - } - } - return this.componentColour; - } - - if (this.componentMaterial.getRGBA()[3] <= 1) { - return this.componentColour; - } else { - // Mild Glow Effect - if (this.componentMaterial.getRGBA()[3] == 2) { - // 4 sec cycle, 200 control point. 20ms interval. - int currentFrame = (int) ((System.nanoTime() % 4_000_000_000L) / 20_000_000L); - int value = currentFrame < 50 ? currentFrame + 1 - : currentFrame < 100 ? 50 : currentFrame < 150 ? 149 - currentFrame : 0; - return Utils.rgbtoHexValue( - Math.min(255, Math.max(componentMaterial.getRGBA()[0] + value, 0)), - Math.min(255, Math.max(componentMaterial.getRGBA()[1] + value, 0)), - Math.min(255, Math.max(componentMaterial.getRGBA()[2] + value, 0))); - } - - // Rainbow Hue Cycle - else if (this.componentMaterial.getRGBA()[3] == 3) { - return Color.HSBtoRGB((float) (System.nanoTime() % 8_000_000_000L) / 8_000_000_000f, 1, 1); - } - } - - } catch (Throwable t) { - - } - return this.componentColour; - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - if (CORE.ConfigSwitches.useGregtechTextures) { - if (pass == 0) { - return this.base; - } - return this.overlay; - } - return this.base; - } - - @Override - public void registerIcons(final IIconRegister i) { - - if (CORE.ConfigSwitches.useGregtechTextures) { - this.base = i.registerIcon(getCorrectTextures()); - this.overlay = i.registerIcon(getCorrectTextures() + "_OVERLAY"); - } else { - this.base = i.registerIcon(getCorrectTextures()); - // this.overlay = i.registerIcon(getCorrectTextures() + "_OVERLAY"); - } - } - - public static enum ComponentTypes { - - DUST("Dust", "@ Dust", "dust", OrePrefixes.dust), - DUSTSMALL("DustSmall", "Small Pile of @ Dust", "dustSmall", OrePrefixes.dustSmall), - DUSTTINY("DustTiny", "Tiny Pile of @ Dust", "dustTiny", OrePrefixes.dustTiny), - INGOT("Ingot", "@ Ingot", "ingot", OrePrefixes.ingot), - HOTINGOT("HotIngot", "Hot @ Ingot", "ingotHot", OrePrefixes.ingotHot), - PLATE("Plate", "@ Plate", "plate", OrePrefixes.plate), - PLATEDOUBLE("PlateDouble", "Double @ Plate", "plateDouble", OrePrefixes.plateDouble), - ROD("Rod", "@ Rod", "stick", OrePrefixes.stick), - RODLONG("RodLong", "Long @ Rod", "stickLong", OrePrefixes.stickLong), - GEAR("Gear", "@ Gear", "gearGt", OrePrefixes.gearGt), - SMALLGEAR("SmallGear", "Small @ Gear", "gearGtSmall", OrePrefixes.gearGtSmall), // TODO - SCREW("Screw", "@ Screw", "screw", OrePrefixes.screw), - BOLT("Bolt", "@ Bolt", "bolt", OrePrefixes.bolt), - ROTOR("Rotor", "@ Rotor", "rotor", OrePrefixes.rotor), - RING("Ring", "@ Ring", "ring", OrePrefixes.ring), - FOIL("Foil", "@ Foil", "foil", OrePrefixes.foil), - PLASMACELL("CellPlasma", "@ Plasma Cell", "cellPlasma", OrePrefixes.cellPlasma), - CELL("Cell", "@ Cell", "cell", OrePrefixes.cell), - NUGGET("Nugget", "@ Nugget", "nugget", OrePrefixes.nugget), - SPRING("Spring", "@ Spring", "spring", OrePrefixes.spring), - SMALLSPRING("SmallSpring", "Small @ Spring", "springSmall", OrePrefixes.springSmall), - FINEWIRE("FineWire", "Fine @ Wire", "wireFine", OrePrefixes.wireFine), - PLATEDENSE("PlateDense", "Dense @ Plate", "plateDense", OrePrefixes.plateDense),; - - private final String COMPONENT_NAME; - private final String DISPLAY_NAME; - private final String OREDICT_NAME; - private final OrePrefixes a_GT_EQUAL; - - private ComponentTypes(final String LocalName, final String DisplayName, final String OreDictName, - final OrePrefixes aPrefix) { - this.COMPONENT_NAME = LocalName; - this.DISPLAY_NAME = DisplayName; - this.OREDICT_NAME = OreDictName; - this.a_GT_EQUAL = aPrefix; - } - - public String getComponent() { - return this.COMPONENT_NAME; - } - - public String getName() { - return this.DISPLAY_NAME; - } - - public String getOreDictName() { - return this.OREDICT_NAME; - } - - public OrePrefixes getGtOrePrefix() { - return this.a_GT_EQUAL; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemDamageable.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemDamageable.java deleted file mode 100644 index 9a4109a1de..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemDamageable.java +++ /dev/null @@ -1,194 +0,0 @@ -package gtPlusPlus.core.item.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -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.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.api.objects.Logger; - -public class BaseItemDamageable extends Item { - - private final EnumRarity rarity; - private final String itemDescription; - protected String itemName; - private final boolean hasEffect; - - public BaseItemDamageable(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(GTPlusPlus.ID + ":" + unlocalizedName); - this.setCreativeTab(creativeTab); - this.setMaxStackSize(1); - this.setMaxDamage(251); - this.setNoRepair(); - this.rarity = regRarity; - this.itemDescription = description; - this.hasEffect = Effect; - GameRegistry.registerItem(this, unlocalizedName); - } - - public String getItemDescription() { - return this.itemDescription; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - int dmg = (int) getItemDamage(stack); - if (dmg <= 3) { - list.add(EnumChatFormatting.GRAY + this.itemDescription); - } - if (dmg > 3 && dmg <= 25) { - list.add( - EnumChatFormatting.GRAY - + "You have discovered that smashing this against valuable stones has some function.."); - } else if (dmg > 0) { - int maxDamage = 250; - list.add( - EnumChatFormatting.GRAY + "" - + (maxDamage - getItemDamage(stack)) - + "/" - + maxDamage - + " gems remaining."); - } - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(final ItemStack par1ItemStack) { - int dmg = (int) getItemDamage(par1ItemStack); - if (dmg > 200) { - return EnumRarity.epic; - } - return this.rarity; - } - - @Override - public boolean hasEffect(final ItemStack par1ItemStack, final int pass) { - int dmg = (int) getItemDamage(par1ItemStack); - if (dmg > 200) { - return true; - } - return this.hasEffect; - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - if ((this.itemName == null) || this.itemName.equals("")) { - return super.getItemStackDisplayName(tItem); - } - return this.itemName; - } - - private static boolean createNBT(ItemStack rStack) { - final NBTTagCompound tagMain = new NBTTagCompound(); - final NBTTagCompound tagNBT = new NBTTagCompound(); - tagNBT.setLong("Value", 0); - tagMain.setTag("Damage", tagNBT); - rStack.setTagCompound(tagMain); - return true; - } - - public static final long getItemDamage(final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("Damage"); - if (aNBT != null) { - return aNBT.getLong("Value"); - } - } else { - createNBT(aStack); - } - return 0L; - } - - public static final boolean setItemDamage(final ItemStack aStack, final long aDamage) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("Damage"); - if (aNBT != null) { - aNBT.setLong("Value", aDamage); - return true; - } - } else { - createNBT(aStack); - } - return false; - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - if (stack.getTagCompound() == null) { - createNBT(stack); - } - double currentDamage = getItemDamage(stack); - double durabilitypercent = currentDamage / 100; - double inverse = (100 - durabilitypercent); - return durabilitypercent; - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - int dmg = (int) getItemDamage(stack); - if (dmg <= 20) { - return false; - } else { - return true; - } - } - - public static ItemStack damageItem(ItemStack item) { - if (item != null) { - long currentUse = BaseItemDamageable.getItemDamage(item); - if (currentUse >= 0 && currentUse <= 250) { - BaseItemDamageable.setItemDamage(item, currentUse + 1); - return item; - } else { - return item; - } - } - return null; - } - - @Override - public boolean doesContainerItemLeaveCraftingGrid(ItemStack stack) { - Logger.INFO("Does Leave Table? " + stack.getDisplayName()); - return true; - } - - @Override - public boolean getShareTag() { - return true; - } - - @Override - public boolean hasContainerItem(ItemStack stack) { - return true; - } - - @Override - public ItemStack getContainerItem(ItemStack itemStack) { - ItemStack stack = itemStack.copy(); - // stack.setItemDamage(stack.getItemDamage() + 1); - damageItem(stack); - stack.stackSize = 1; - return stack; - } - - @Override - public int getDamage(ItemStack stack) { - return (int) getItemDamage(stack); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemTCShard.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemTCShard.java deleted file mode 100644 index 3ecb6960d6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemTCShard.java +++ /dev/null @@ -1,69 +0,0 @@ -package gtPlusPlus.core.item.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -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 cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BaseItemTCShard extends Item { - - public final String unlocalName; - public final String displayName; - public final int itemColour; - - public BaseItemTCShard(final String DisplayName, final int colour) { - this(DisplayName, colour, null); - } - - public BaseItemTCShard(final String DisplayName, final int colour, final String[] Description) { - this.unlocalName = "item" + Utils.sanitizeString(DisplayName); - this.displayName = DisplayName; - this.itemColour = colour; - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setUnlocalizedName(this.unlocalName); - if (Description != null) { - for (int i = 0; i < Description.length; i++) { - GT_LanguageManager - .addStringLocalization("gtplusplus." + getUnlocalizedName() + ".tooltip." + i, Description[i]); - } - } - this.setMaxStackSize(64); - this.setTextureName(GTPlusPlus.ID + ":" + "itemShard"); - GameRegistry.registerItem(this, this.unlocalName); - GT_OreDictUnificator.registerOre("shard" + DisplayName, ItemUtils.getSimpleStack(this)); - GT_OreDictUnificator.registerOre("gemInfused" + DisplayName, ItemUtils.getSimpleStack(this)); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - for (int i = 0;; i++) { - String tooltip = GT_LanguageManager - .getTranslation("gtplusplus." + this.getUnlocalizedName() + ".tooltip" + "." + i); - if (!("gtplusplus." + this.getUnlocalizedName() + ".tooltip" + "." + i).equals(tooltip)) { - list.add(tooltip); - } else break; - } - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - return this.itemColour; - } - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) {} -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemTickable.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemTickable.java deleted file mode 100644 index 8417eba3d1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemTickable.java +++ /dev/null @@ -1,332 +0,0 @@ -package gtPlusPlus.core.item.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -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.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 cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.creative.AddToCreativeTab; -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; - this.maxStackSize = 1; - // 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; - } - if (world.isRemote) { - return; - } - - boolean active = isTicking(world, iStack); - if (active) { - 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(GTPlusPlus.ID + ":" + this.getUnlocalizedName()); - this.mIcon[1] = i.registerIcon(GTPlusPlus.ID + ":" + this.getUnlocalizedName() + "_OVERLAY"); - } else { - this.mIcon[0] = i.registerIcon(GTPlusPlus.ID + ":" + this.getUnlocalizedName()); - // this.overlay = i.registerIcon(getCorrectTextures() + "_OVERLAY"); - } - } - - protected int getMaxTicks(ItemStack aStack) { - return maxTicks; - } - - protected boolean createNBT(World world, ItemStack rStack) { - final NBTTagCompound tagMain = new NBTTagCompound(); - final NBTTagCompound tagNBT = new NBTTagCompound(); - tagNBT.setLong("Tick", 0); - tagNBT.setLong("maxTick", getMaxTicks(rStack)); - tagNBT.setBoolean("isActive", true); - - // Try set world time - if (world != null) { - // tagNBT.setLong("CreationDate", world.getTotalWorldTime()); - } - - tagMain.setTag("TickableItem", tagNBT); - rStack.setTagCompound(tagMain); - Logger.INFO("Created Tickable NBT data."); - return true; - } - - public final long getTicks(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 setTicks(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 isTicking(World world, final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("TickableItem"); - if (aNBT != null) { - return aNBT.getBoolean("isActive"); - } - } else { - return createNBT(world, aStack); - } - return true; - } - - public final boolean setTicking(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"); - // Done Ticking - if (getMaxTicks(aStack) - getTicks(world, aStack) <= 0) { - setTicking(world, aStack, false); - return false; - } - if (isTicking(world, aStack)) { - if (aNBT != null) { - aNBT.setLong("Tick", getTicks(world, aStack) + 1); - return true; - } else { - return false; - } - } else { - return false; - } - } - } - return createNBT(world, aStack); - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - if (stack.getTagCompound() == null) { - // createNBT(null, stack); - return 0; - } - double currentDamage = getTicks(null, stack); - double durabilitypercent = currentDamage / getMaxTicks(stack); - return durabilitypercent; - } - - @SuppressWarnings("unchecked") - @Override - public void addInformation(ItemStack stack, EntityPlayer player, @SuppressWarnings("rawtypes") List list, - boolean bool) { - World world = player.getEntityWorld(); - if (this.descriptionString.length > 0) { - list.add(EnumChatFormatting.GRAY + this.descriptionString[0]); - } - long maxTicks = getMaxTicks(stack); - long ticks = 0; - if (stack.hasTagCompound()) { - ticks = getTicks(world, stack); - } - EnumChatFormatting durability = EnumChatFormatting.GRAY; - if (maxTicks - ticks > (maxTicks * 0.8)) { - durability = EnumChatFormatting.GRAY; - } else if (maxTicks - ticks > (maxTicks * 0.6)) { - durability = EnumChatFormatting.GREEN; - } else if (maxTicks - ticks > (maxTicks * 0.4)) { - durability = EnumChatFormatting.YELLOW; - } else if (maxTicks - ticks > (maxTicks * 0.2)) { - durability = EnumChatFormatting.GOLD; - } else if (maxTicks - ticks > 0) { - durability = EnumChatFormatting.RED; - } - list.add(durability + "" + ((maxTicks - ticks) / 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/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java deleted file mode 100644 index 0e1b0ab0f2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java +++ /dev/null @@ -1,30 +0,0 @@ -package gtPlusPlus.core.item.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -public class BaseItemWithDamageValue extends Item { - - public BaseItemWithDamageValue(final String unlocalizedName) { - this.setUnlocalizedName(unlocalizedName); - this.setTextureName(GTPlusPlus.ID + ":" + unlocalizedName); - this.setMaxStackSize(1); - this.setMaxDamage(100); - } - - @Override - public void setDamage(final ItemStack stack, final int damage) { - super.setDamage(stack, damage); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - super.addInformation(stack, aPlayer, list, bool); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/BasicSpawnEgg.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/BasicSpawnEgg.java deleted file mode 100644 index b564d60424..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/BasicSpawnEgg.java +++ /dev/null @@ -1,238 +0,0 @@ -package gtPlusPlus.core.item.base; - -import java.util.List; - -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.Entity; -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IEntityLivingData; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemMonsterPlacer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Facing; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.creative.AddToCreativeTab; - -public class BasicSpawnEgg extends ItemMonsterPlacer { - - @SideOnly(Side.CLIENT) - private IIcon theIcon; - - protected int colorBase = 0x000000; - protected int colorSpots = 0xFFFFFF; - protected String entityMODID = ""; - protected String entityToSpawnName = ""; - protected String entityToSpawnNameFull = ""; - protected EntityLiving entityToSpawn = null; - - public BasicSpawnEgg() { - super(); - } - - public BasicSpawnEgg(final String MODID, final String parEntityToSpawnName, final int parPrimaryColor, - final int parSecondaryColor) { - this.setHasSubtypes(false); - this.maxStackSize = 64; - this.setCreativeTab(AddToCreativeTab.tabOther); - this.setEntityToSpawnName(parEntityToSpawnName); - this.colorBase = parPrimaryColor; - this.colorSpots = parSecondaryColor; - this.entityMODID = MODID; - - // DEBUG - Logger.WARNING("Spawn egg constructor for " + this.entityToSpawnName); - } - - /** - * Callback for item usage. If the item does something special on right clicking, - * - * he will have one of those. Return True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public boolean onItemUse(final ItemStack par1ItemStack, final EntityPlayer par2EntityPlayer, final World par3World, - int par4, int par5, int par6, final int par7, final float par8, final float par9, final float par10) { - if (par3World.isRemote) { - return true; - } - final Block block = par3World.getBlock(par4, par5, par6); - par4 += Facing.offsetsXForSide[par7]; - par5 += Facing.offsetsYForSide[par7]; - par6 += Facing.offsetsZForSide[par7]; - double d0 = 0.0D; - - if ((par7 == 1) && (block.getRenderType() == 11)) { - d0 = 0.5D; - } - - final Entity entity = this.spawnEntity(par3World, par4 + 0.5D, par5 + d0, par6 + 0.5D); - - if (entity != null) { - if ((entity instanceof EntityLivingBase) && par1ItemStack.hasDisplayName()) { - ((EntityLiving) entity).setCustomNameTag(par1ItemStack.getDisplayName()); - } - - if (!par2EntityPlayer.capabilities.isCreativeMode) { - --par1ItemStack.stackSize; - } - } - - return true; - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. - * - * Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(final ItemStack par1ItemStack, final World par2World, - final EntityPlayer par3EntityPlayer) { - if (par2World.isRemote) { - return par1ItemStack; - } - final MovingObjectPosition movingobjectposition = this - .getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true); - - if (movingobjectposition == null) { - return par1ItemStack; - } - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { - - final int i = movingobjectposition.blockX; - final int j = movingobjectposition.blockY; - final int k = movingobjectposition.blockZ; - - if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) { - return par1ItemStack; - } - - if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, par1ItemStack)) { - return par1ItemStack; - } - - if (par2World.getBlock(i, j, k) instanceof BlockLiquid) { - final Entity entity = this.spawnEntity(par2World, i, j, k); - - if (entity != null) { - if ((entity instanceof EntityLivingBase) && par1ItemStack.hasDisplayName()) { - ((EntityLiving) entity).setCustomNameTag(par1ItemStack.getDisplayName()); - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) { - --par1ItemStack.stackSize; - } - } - } - } - - return par1ItemStack; - } - - /** - * Spawns the creature specified by the egg's type in the location specified by - * - * the last three parameters. Parameters: world, entityID, x, y, z. - */ - public Entity spawnEntity(final World parWorld, final double parX, final double parY, final double parZ) { - - if (!parWorld.isRemote) // never spawn entity on client side - { - this.entityToSpawnNameFull = this.entityMODID + "." + this.entityToSpawnName; - if (EntityList.stringToClassMapping.containsKey(this.entityToSpawnNameFull)) { - this.entityToSpawn = (EntityLiving) EntityList.createEntityByName(this.entityToSpawnNameFull, parWorld); - - this.entityToSpawn.setLocationAndAngles( - parX, - parY, - parZ, - MathHelper.wrapAngleTo180_float(parWorld.rand.nextFloat() * 360.0F), - 0.0F); - - parWorld.spawnEntityInWorld(this.entityToSpawn); - this.entityToSpawn.onSpawnWithEgg((IEntityLivingData) null); - this.entityToSpawn.playLivingSound(); - } else { - // DEBUG - Logger.WARNING("Entity not found " + this.entityToSpawnName); - } - } - - return this.entityToSpawn; - } - - /** - * returns a list of items with the same ID, but different meta (eg: dye returns 16 items) - */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(final Item parItem, final CreativeTabs parTab, final List parList) { - parList.add(new ItemStack(parItem, 1, 0)); - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(final ItemStack par1ItemStack, final int parColorType) { - return (parColorType == 0) ? this.colorBase : this.colorSpots; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - // Doing this override means that there is no localization for language - // unless you specifically check for localization here and convert - public String getItemStackDisplayName(final ItemStack par1ItemStack) { - return "Spawn " + this.entityToSpawnName; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister par1IconRegister) { - super.registerIcons(par1IconRegister); - this.theIcon = par1IconRegister.registerIcon(this.getIconString() + "_overlay"); - } - - /** - * Gets an icon index based on an item's damage value and the given render pass - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamageForRenderPass(final int parDamageVal, final int parRenderPass) { - return parRenderPass > 0 ? this.theIcon : super.getIconFromDamageForRenderPass(parDamageVal, parRenderPass); - } - - public void setColors(final int parColorBase, final int parColorSpots) { - this.colorBase = parColorBase; - this.colorSpots = parColorSpots; - } - - public int getColorBase() { - return this.colorBase; - } - - public int getColorSpots() { - return this.colorSpots; - } - - public final void setEntityToSpawnName(final String parEntityToSpawnName) { - this.entityToSpawnName = parEntityToSpawnName; - this.entityToSpawnNameFull = this.entityMODID + "." + this.entityToSpawnName; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/CoreItem.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/CoreItem.java deleted file mode 100644 index 4745fda281..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/CoreItem.java +++ /dev/null @@ -1,286 +0,0 @@ -package gtPlusPlus.core.item.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -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 cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class CoreItem extends Item { - - private final EnumRarity rarity; - private final EnumChatFormatting descColour; - protected String itemName; - private final boolean hasEffect; - - // Replace Item - What does this item turn into when held. - private final ItemStack turnsInto; - - // 0 - /* - * Name, Tab - 64 Stack, 0 Dmg - */ - public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab) { - this(unlocalizedName, creativeTab, 64, 0); // Calls 3 - } - - // 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 - this.itemName = displayName; - } - - // 0.1 - /* - * Name, Tab - 64 Stack, 0 Dmg - */ - public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final ItemStack OverrideItem) { - 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 - /* - * Name, Tab - 64 Stack, 0 Dmg - */ - public CoreItem(final String unlocalizedName, final String displayName, final CreativeTabs creativeTab, - final ItemStack OverrideItem) { - 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; - } - - // 1 - /* - * Name, Tab, Stack - 0 Dmg - */ - public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize) { - this(unlocalizedName, creativeTab, stackSize, 0); // Calls 3 - } - - // 2 - /* - * Name, Tab, Stack, Description - 0 Dmg - */ - public CoreItem(final String unlocalizedName, final CreativeTabs creativeTab, final int stackSize, - final String[] description) { - this(unlocalizedName, creativeTab, stackSize, 0, description); // Calls 4 - } - - // 3 - /* - * 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, new String[] {}); // Calls 4 - } - - // 4 //Not Rare + basic tooltip - /* - * Name, Tab, Stack, Dmg, 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 - } - - // 4.5 - /* - * 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) { - this(unlocalizedName, creativeTab, stackSize, maxDmg, description, EnumRarity.common, colour, false, null); // Calls - // 5 - } - - // 4.75 - /* - * Name, Tab, Stack, Dmg, Description, Rarity - Gray text - */ - 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 - } - - // 5 - /* - * 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) { - this.setUnlocalizedName(unlocalizedName); - this.setTextureName(GTPlusPlus.ID + ":" + unlocalizedName); - this.setCreativeTab(creativeTab); - this.setMaxStackSize(stackSize); - this.setMaxDamage(maxDmg); - this.rarity = regRarity; - this.setItemDescription(description); - this.descColour = colour != null ? colour : EnumChatFormatting.RESET; - this.hasEffect = Effect; - this.turnsInto = OverrideItem; - GameRegistry.registerItem(this, unlocalizedName); - } - - // 6 - /* - * 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) { - this.setUnlocalizedName(unlocalizedName); - this.itemName = displayName; - this.setTextureName(GTPlusPlus.ID + ":" + unlocalizedName); - this.setCreativeTab(creativeTab); - this.setMaxStackSize(stackSize); - this.setMaxDamage(maxDmg); - this.rarity = regRarity; - this.setItemDescription(description); - this.descColour = colour != null ? colour : EnumChatFormatting.RESET; - 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) { - for (int i = 0;; i++) { - String tooltip = GT_LanguageManager - .getTranslation("gtplusplus." + this.getUnlocalizedName() + ".tooltip" + "." + i); - if (!("gtplusplus." + this.getUnlocalizedName() + ".tooltip" + "." + i).equals(tooltip)) { - list.add(tooltip); - } else break; - } - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(final ItemStack par1ItemStack) { - return this.rarity; - } - - @Override - public boolean hasEffect(final ItemStack par1ItemStack, final int pass) { - return this.hasEffect; - } - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - if (this.turnsInto != null) { - if (entityHolding instanceof EntityPlayer) { - - Logger.INFO("Replacing " + iStack.getDisplayName() + " with " + this.turnsInto.getDisplayName() + "."); - final ItemStack tempTransform = this.turnsInto; - 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); - } - } - } - } - - @Override - public boolean isDamageable() { - return false; - } - - @Override - public boolean isRepairable() { - return false; - } - - public ItemStack getStack() { - return ItemUtils.getSimpleStack(this); - } - - public void setItemDescription(String[] description) { - for (int i = 0; i < description.length; i++) { - GT_LanguageManager.addStringLocalization( - "gtplusplus." + this.getUnlocalizedName() + ".tooltip" + "." + i, - description[i]); - } - } - /* - * @Override public String getItemStackDisplayName(final ItemStack tItem) { if ((this.itemName == null) || - * this.itemName.equals("")) { return super.getItemStackDisplayName(tItem); } return this.itemName; } - */ -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/bolts/BaseItemBolt.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/bolts/BaseItemBolt.java deleted file mode 100644 index 74ff99a7fe..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/bolts/BaseItemBolt.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.bolts; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemBolt extends BaseItemComponent { - - public BaseItemBolt(final Material material) { - super(material, BaseItemComponent.ComponentTypes.BOLT); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/cell/BaseItemCell.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/cell/BaseItemCell.java deleted file mode 100644 index 1140390375..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/cell/BaseItemCell.java +++ /dev/null @@ -1,73 +0,0 @@ -package gtPlusPlus.core.item.base.cell; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidStack; - -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.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import ic2.core.Ic2Items; - -public class BaseItemCell extends BaseItemComponent { - - ComponentTypes Cell = ComponentTypes.CELL; - - public BaseItemCell(final Material material) { - super(material, BaseItemComponent.ComponentTypes.CELL); - this.fluidColour = (short[]) material.getRGBA(); - } - - public BaseItemCell(final String unlocalName, final String localName, final short[] RGBa) { - super(unlocalName, localName, RGBa); - this.fluidColour = RGBa; - FluidStack aFluid = FluidUtils.getFluidStack(unlocalName.toLowerCase(), 1000); - if (aFluid != null) { - FluidContainerRegistry.registerFluidContainer(aFluid, ItemUtils.getSimpleStack(this), Ic2Items.cell.copy()); - } - } - - public BaseItemCell(final String unlocalName, final String localName, final short[] RGBa, final Fluid cellFluid) { - super(unlocalName, localName, RGBa); - this.fluidColour = RGBa; - FluidContainerRegistry.registerFluidContainer( - FluidUtils.getFluidStack(cellFluid, 1000), - ItemUtils.getSimpleStack(this), - Ic2Items.cell.copy()); - } - - @Override - public void registerIcons(final IIconRegister i) { - - if (CORE.ConfigSwitches.useGregtechTextures) { - this.base = i.registerIcon(GregTech.ID + ":" + "materialicons/METALLIC/" + "cell"); - this.overlay = i.registerIcon(GregTech.ID + ":" + "materialicons/METALLIC/" + "cell_OVERLAY"); - } else { - this.base = i.registerIcon(GTPlusPlus.ID + ":" + "item" + this.Cell.getComponent()); - this.overlay = i.registerIcon(GTPlusPlus.ID + ":" + "item" + this.Cell.getComponent() + "_Overlay"); - } - // this.overlay = cellMaterial.getFluid(1000).getFluid().get - } - - private final short[] fluidColour; - boolean upwards = true; - - @Override - public int getColorFromItemStack(final ItemStack stack, final int renderPass) { - if (renderPass == 0 && !CORE.ConfigSwitches.useGregtechTextures) { - return Utils.rgbtoHexValue(230, 230, 230); - } - if (renderPass == 1 && CORE.ConfigSwitches.useGregtechTextures) { - return Utils.rgbtoHexValue(230, 230, 230); - } - return this.componentColour; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/cell/BaseItemPlasmaCell.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/cell/BaseItemPlasmaCell.java deleted file mode 100644 index 151f3f3860..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/cell/BaseItemPlasmaCell.java +++ /dev/null @@ -1,76 +0,0 @@ -package gtPlusPlus.core.item.base.cell; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; - -public class BaseItemPlasmaCell extends BaseItemComponent { - - private IIcon base; - private IIcon overlay; - ComponentTypes PlasmaCell = ComponentTypes.PLASMACELL; - private int tickCounter = 0; - private final int tickCounterMax = 200; - private final short[] fluidColour; - - public BaseItemPlasmaCell(final Material material) { - super(material, ComponentTypes.PLASMACELL); - this.fluidColour = (short[]) material.getRGBA(); - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - public void registerIcons(final IIconRegister i) { - this.base = i.registerIcon(GTPlusPlus.ID + ":" + "item" + this.PlasmaCell.getComponent()); - this.overlay = i.registerIcon(GTPlusPlus.ID + ":" + "item" + this.PlasmaCell.getComponent() + "_Overlay"); - // this.overlay = cellMaterial.getFluid(1000).getFluid().get - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int renderPass) { - if (renderPass == 0) { - return Utils.rgbtoHexValue(230, 230, 230); - } - return this.componentColour; - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - if (pass == 0) { - return this.base; - } - return this.overlay; - } - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - if (this.componentMaterial != null) { - if (!world.isRemote) { - if (this.tickCounter < this.tickCounterMax) { - this.tickCounter++; - } else if (this.tickCounter >= this.tickCounterMax) { - entityHolding.attackEntityFrom(DamageSource.onFire, 2); - this.tickCounter = 0; - } - } - } - super.onUpdate(iStack, world, entityHolding, p_77663_4_, p_77663_5_); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java deleted file mode 100644 index fd52fe78c4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java +++ /dev/null @@ -1,135 +0,0 @@ -package gtPlusPlus.core.item.base.dusts; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemDust extends BaseItemComponent { - - private BaseItemComponent[] mSizedDusts = new BaseItemComponent[2]; - - public BaseItemDust(Material aMat) { - this(aMat, true); - } - - public BaseItemDust(Material aMat, boolean generateSmallDusts) { - super(aMat, ComponentTypes.DUST); - if (generateSmallDusts) { - mSizedDusts[0] = new BaseItemComponent(aMat, ComponentTypes.DUSTSMALL); - mSizedDusts[1] = new BaseItemComponent(aMat, ComponentTypes.DUSTTINY); - } - } - - public BaseItemDust(DustState aState, Material aMat) { - super(aMat, ComponentTypes.DUST); - if (aState.generatesSmallDust()) { - mSizedDusts[0] = new BaseItemComponent(aMat, ComponentTypes.DUSTSMALL); - } - if (aState.generatesTinyDust()) { - mSizedDusts[1] = new BaseItemComponent(aMat, ComponentTypes.DUSTTINY); - } - } - - private BaseItemDust(String unlocalizedName, String materialName, Material matInfo, int colour, String pileSize, - int tier, boolean addRecipes) { - super(matInfo, ComponentTypes.DUST); - } - - public static class DustState { - - static final int NORMAL = (1); - static final int SMALL = (10); - static final int TINY = (100); - final int MIXTURE; - final boolean[] doesThings = new boolean[3]; - - public DustState(boolean genDust, boolean genSmallDust, boolean genDustTiny) { - int aTotal = 0; - if (genDust) { - aTotal += NORMAL; - doesThings[0] = true; - } else { - doesThings[0] = false; - } - if (genSmallDust) { - aTotal += SMALL; - doesThings[1] = true; - } else { - doesThings[1] = false; - } - if (genDustTiny) { - aTotal += TINY; - doesThings[2] = true; - } else { - doesThings[2] = false; - } - MIXTURE = aTotal; - } - - public boolean generatesDust() { - return doesThings[0]; - } - - public boolean generatesSmallDust() { - return doesThings[1]; - } - - public boolean generatesTinyDust() { - return doesThings[2]; - } - - private DustState(int amount) { - - if (amount == 1) { - doesThings[0] = true; - doesThings[1] = false; - doesThings[2] = false; - - } else if (amount == 10) { - doesThings[0] = false; - doesThings[1] = true; - doesThings[2] = false; - } else if (amount == 100) { - doesThings[0] = false; - doesThings[1] = false; - doesThings[2] = true; - - } else if (amount == 11) { - doesThings[0] = true; - doesThings[1] = true; - doesThings[2] = false; - - } else if (amount == 101) { - doesThings[0] = true; - doesThings[1] = false; - doesThings[2] = true; - - } else if (amount == 110) { - doesThings[0] = false; - doesThings[1] = true; - doesThings[2] = true; - - } else if (amount == 111) { - doesThings[0] = true; - doesThings[1] = true; - doesThings[2] = true; - } else { - doesThings[0] = false; - doesThings[1] = false; - doesThings[2] = false; - } - MIXTURE = amount; - } - - public DustState get(int a) { - if (a == 1) { - return new DustState(NORMAL); - } else if (a == 10) { - return new DustState(SMALL); - } else if (a == 100) { - return new DustState(TINY); - } else { - return new DustState(MIXTURE); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/dusts/BaseItemDustUnique.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/dusts/BaseItemDustUnique.java deleted file mode 100644 index 2592fe3cf7..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/dusts/BaseItemDustUnique.java +++ /dev/null @@ -1,164 +0,0 @@ -package gtPlusPlus.core.item.base.dusts; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; -import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.util.GT_LanguageManager; -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.data.StringUtils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BaseItemDustUnique extends Item { - - protected final int colour; - protected final int sRadiation; - protected final String materialName; - protected final String chemicalNotation; - - public BaseItemDustUnique(final String unlocalizedName, final String materialName, final int colour, - final String pileSize) { - this(unlocalizedName, materialName, "NullFormula", colour, pileSize); - } - - public BaseItemDustUnique(final String unlocalizedName, final String materialName, final String mChemicalFormula, - final int colour, final String pileSize) { - this.setUnlocalizedName(unlocalizedName); - this.setMaxStackSize(64); - this.setTextureName(this.getCorrectTexture(pileSize)); - this.setCreativeTab(tabMisc); - this.colour = colour; - this.materialName = materialName; - if (mChemicalFormula == null || mChemicalFormula.equals("") || mChemicalFormula.equals("NullFormula")) { - this.chemicalNotation = StringUtils.subscript(materialName); - } else { - this.chemicalNotation = StringUtils.subscript(mChemicalFormula); - } - this.sRadiation = ItemUtils.getRadioactivityLevel(materialName); - GameRegistry.registerItem(this, unlocalizedName); - - String type; - if (this.getUnlocalizedName() - .contains("DustTiny")) { - type = "Tiny Pile of %material Dust"; - } else if (this.getUnlocalizedName() - .contains("DustSmall")) { - type = "Small Pile of %material Dust"; - } else { - type = "%material Dust"; - } - GT_LanguageManager.addStringLocalization("gtplusplus." + this.getUnlocalizedName() + ".name", type); - - String temp = ""; - Logger.WARNING("Unlocalized name for OreDict nameGen: " + this.getUnlocalizedName()); - if (this.getUnlocalizedName() - .contains("item.")) { - temp = this.getUnlocalizedName() - .replace("item.", ""); - Logger.WARNING("Generating OreDict Name: " + temp); - } else { - temp = this.getUnlocalizedName(); - } - if (temp.contains("DustTiny")) { - temp = temp.replace("itemD", "d"); - Logger.WARNING("Generating OreDict Name: " + temp); - } else if (temp.contains("DustSmall")) { - temp = temp.replace("itemD", "d"); - Logger.WARNING("Generating OreDict Name: " + temp); - } else { - temp = temp.replace("itemD", "d"); - Logger.WARNING("Generating OreDict Name: " + temp); - } - if ((temp != null) && !temp.equals("")) { - GT_OreDictUnificator.registerOre(temp, ItemUtils.getSimpleStack(this)); - } - registerComponent(); - } - - public boolean registerComponent() { - if (this.materialName == null) { - return false; - } - String aName = materialName; - // Register Component - Map aMap = Material.mComponentMap.get(aName); - if (aMap == null) { - aMap = new HashMap<>(); - } - String aKey = OrePrefixes.dust.name(); - ItemStack x = aMap.get(aKey); - if (x == null) { - aMap.put(aKey, ItemUtils.getSimpleStack(this)); - Logger.MATERIALS("Registering a material component. Item: [" + aName + "] Map: [" + aKey + "]"); - Material.mComponentMap.put(aName, aMap); - return true; - } else { - // Bad - Logger.MATERIALS("Tried to double register a material component. "); - return false; - } - } - - @Override - public String getItemStackDisplayName(final ItemStack iStack) { - return GT_LanguageManager.getTranslation("gtplusplus." + getUnlocalizedName() + ".name") - .replace("%material", GT_LanguageManager.getTranslation("gtplusplus.material." + materialName)); - } - - private String getCorrectTexture(final String pileSize) { - if (!CORE.ConfigSwitches.useGregtechTextures) { - if ((pileSize.equals("dust")) || (pileSize.equals("Dust"))) { - this.setTextureName(GTPlusPlus.ID + ":" + "dust"); - } else { - this.setTextureName(GTPlusPlus.ID + ":" + "dust" + pileSize); - } - } - if (pileSize.toLowerCase() - .contains("small")) { - return GregTech.ID + ":" + "materialicons/SHINY/dustSmall"; - } else if (pileSize.toLowerCase() - .contains("tiny")) { - return GregTech.ID + ":" + "materialicons/SHINY/dustTiny"; - } - return GregTech.ID + ":" + "materialicons/SHINY/dust"; - } - - @SuppressWarnings({ "rawtypes", "unchecked" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - if (this.sRadiation > 0) { - list.add(CORE.GT_Tooltip_Radioactive.get()); - } - if (this.chemicalNotation.length() > 0 && !chemicalNotation.equals("") - && !chemicalNotation.equals("NullFormula")) { - list.add(this.chemicalNotation); - } - super.addInformation(stack, aPlayer, list, bool); - } - - public final String getMaterialName() { - return StringUtils.subscript(this.materialName); - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - if (this.colour == 0) { - return MathUtils.generateSingularRandomHexValue(); - } - return this.colour; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/foil/BaseItemFoil.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/foil/BaseItemFoil.java deleted file mode 100644 index 9b55461cfd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/foil/BaseItemFoil.java +++ /dev/null @@ -1,11 +0,0 @@ -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/gtpp/src/main/java/gtPlusPlus/core/item/base/gears/BaseItemGear.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/gears/BaseItemGear.java deleted file mode 100644 index d759c7f116..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/gears/BaseItemGear.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.gears; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemGear extends BaseItemComponent { - - public BaseItemGear(final Material material) { - super(material, BaseItemComponent.ComponentTypes.GEAR); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/gears/BaseItemSmallGear.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/gears/BaseItemSmallGear.java deleted file mode 100644 index ddfdbd7534..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/gears/BaseItemSmallGear.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.gears; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemSmallGear extends BaseItemComponent { - - public BaseItemSmallGear(final Material material) { - super(material, BaseItemComponent.ComponentTypes.SMALLGEAR); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java deleted file mode 100644 index fc2748ec23..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java +++ /dev/null @@ -1,20 +0,0 @@ -package gtPlusPlus.core.item.base.ingots; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemIngot extends BaseItemComponent { - - protected final String materialName; - protected final String unlocalName; - - public BaseItemIngot(final Material material) { - this(material, ComponentTypes.INGOT); - } - - public BaseItemIngot(final Material material, final ComponentTypes type) { - super(material, type); - this.materialName = material.getLocalizedName(); - this.unlocalName = material.getUnlocalizedName(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java deleted file mode 100644 index 9d22c0faf8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java +++ /dev/null @@ -1,111 +0,0 @@ -package gtPlusPlus.core.item.base.ingots; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; -import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -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.minecraft.EntityUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BaseItemIngotHot extends BaseItemIngot { - - private final ItemStack outputIngot; - private int tickCounter = 0; - private final int tickCounterMax = 200; - private final int mTier; - - private IIcon base; - private IIcon overlay; - - public BaseItemIngotHot(final Material material) { - super(material, ComponentTypes.HOTINGOT); - this.setTextureName(GTPlusPlus.ID + ":" + "itemIngotHot"); - this.outputIngot = material.getIngot(1); - this.mTier = material.vTier; - this.generateRecipe(); - } - - @Override - public String getItemStackDisplayName(final ItemStack p_77653_1_) { - return super.getItemStackDisplayName(p_77653_1_); - // return ("Hot "+this.materialName+ " Ingot"); - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - return Utils.rgbtoHexValue(225, 225, 225); - } - - private void generateRecipe() { - Logger.WARNING("Adding Vacuum Freezer recipe for a Hot Ingot of " + this.materialName + "."); - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(this)) - .itemOutputs(this.outputIngot.copy()) - .duration(Math.max(this.componentMaterial.getMass() * 3L, 1L) * TICKS) - .eut(this.componentMaterial.vVoltageMultiplier) - .addTo(vacuumFreezerRecipes); - } - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - if (this.componentMaterial != null) { - if (entityHolding != null && entityHolding instanceof EntityPlayer) { - if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode) { - EntityUtils.applyHeatDamageToEntity(1, world, entityHolding); - } - } - } - super.onUpdate(iStack, world, entityHolding, p_77663_4_, p_77663_5_); - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - if (CORE.ConfigSwitches.useGregtechTextures) { - return true; - } else { - return false; - } - } - - @Override - public void registerIcons(final IIconRegister i) { - - if (CORE.ConfigSwitches.useGregtechTextures) { - this.base = i.registerIcon(GregTech.ID + ":" + "materialicons/METALLIC/" + "ingotHot"); - this.overlay = i.registerIcon(GregTech.ID + ":" + "materialicons/METALLIC/" + "ingotHot_OVERLAY"); - } else { - this.base = i - .registerIcon(GTPlusPlus.ID + ":" + "item" + BaseItemComponent.ComponentTypes.HOTINGOT.getComponent()); - } - // this.overlay = cellMaterial.getFluid(1000).getFluid().get - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - if (pass == 0 && CORE.ConfigSwitches.useGregtechTextures) { - return this.base; - } else if (pass == 1 && CORE.ConfigSwitches.useGregtechTextures) { - return this.overlay; - } else { - return this.overlay; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java deleted file mode 100644 index 6335820c9a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java +++ /dev/null @@ -1,106 +0,0 @@ -package gtPlusPlus.core.item.base.ingots; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.recipe.RecipeMaps.compressorRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; - -import net.minecraft.entity.Entity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BaseItemIngot_OLD extends Item { - - protected int colour; - protected String materialName; - protected String unlocalName; - - public BaseItemIngot_OLD(final String unlocalizedName, final String materialName, final int colour, - final int sRadioactivity) { - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.unlocalName = unlocalizedName; - this.setMaxStackSize(64); - this.setTextureName(GTPlusPlus.ID + ":" + "itemIngot"); - this.colour = colour; - this.materialName = materialName; - this.sRadiation = sRadioactivity; - GameRegistry.registerItem(this, unlocalizedName); - String temp = ""; - if (this.unlocalName.contains("itemIngot")) { - temp = this.unlocalName.replace("itemI", "i"); - } else if (this.unlocalName.contains("itemHotIngot")) { - temp = this.unlocalName.replace("itemHotIngot", "ingotHot"); - } - if ((temp != null) && !temp.equals("")) { - GT_OreDictUnificator.registerOre(temp, ItemUtils.getSimpleStack(this)); - } - // this.generateCompressorRecipe(); - } - - @Override - public String getItemStackDisplayName(final ItemStack p_77653_1_) { - - return (this.materialName + " Ingot"); - } - - public final String getMaterialName() { - return this.materialName; - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - if (this.colour == 0) { - return MathUtils.generateSingularRandomHexValue(); - } - return this.colour; - } - - private void generateCompressorRecipe() { - if (this.unlocalName.contains("itemIngot")) { - final ItemStack tempStack = ItemUtils.getSimpleStack(this, 9); - ItemStack tempOutput = null; - String temp = this.getUnlocalizedName() - .replace("item.itemIngot", "block"); - Logger.WARNING("Unlocalized name for OreDict nameGen: " + this.getUnlocalizedName()); - if (this.getUnlocalizedName() - .contains("item.")) { - temp = this.getUnlocalizedName() - .replace("item.", ""); - Logger.WARNING("Generating OreDict Name: " + temp); - } - temp = temp.replace("itemIngot", "block"); - Logger.WARNING("Generating OreDict Name: " + temp); - if ((temp != null) && !temp.equals("")) { - tempOutput = ItemUtils.getItemStackOfAmountFromOreDict(temp, 1); - if (tempOutput != null) { - GT_Values.RA.stdBuilder() - .itemInputs(tempStack) - .itemOutputs(tempOutput) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - } - } - } else if (this.unlocalName.contains("itemHotIngot")) { - return; - } - } - - protected final int sRadiation; - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - EntityUtils.applyRadiationDamageToEntity(iStack.stackSize, this.sRadiation, world, entityHolding); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java deleted file mode 100644 index cf50da52a3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java +++ /dev/null @@ -1,51 +0,0 @@ -package gtPlusPlus.core.item.base.itemblock; - -import java.util.List; - -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; - - public ItemBlockBasicTile(final Block block) { - super(block); - this.mID = ((ITileTooltip) block).getTooltipID(); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - if (this.mID == 0) { // Fish trap - list.add("This trap catches fish faster if surrounded by more water blocks"); - list.add("Can also be placed beside upto 4 other fish traps"); - list.add("Requires at least two faces touching water"); - list.add("1/1000 chance to produce triple loot."); - } else if (this.mID == 4) { // Circuit Table - list.add("Easy Circuit Configuration"); - list.add("Change default setting with a Screwdriver"); - list.add("Default is used to select slot for auto-insertion"); - } else if (this.mID == 5) { // Decayables Chest - list.add("Chest which holds radioactive materials"); - list.add("Items which decay will tick while inside"); - list.add("Place with right click"); - } else if (this.mID == 6) { // Butterfly Killer - list.add("Kills Forestry Butterflies, Bats and other pests"); - list.add("Use either Formaldehyde or Hydrogen cyanide"); - list.add("Be weary of your neighbours"); - } else if (this.mID == 8) { // Volumetric Flask Setter - list.add("Easy Flask Configuration"); - list.add("Configure default input slot with a screwdriver"); - } else if (this.mID == 9) { - - } else { - list.add("Bad Tooltip ID - " + mID); - } - super.addInformation(stack, aPlayer, list, bool); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java deleted file mode 100644 index 98c652a1ba..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java +++ /dev/null @@ -1,184 +0,0 @@ -package gtPlusPlus.core.item.base.itemblock; - -import java.util.HashMap; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; -import gtPlusPlus.core.block.base.BlockBaseModular; -import gtPlusPlus.core.block.base.BlockBaseOre; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialStack; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.sys.KeyboardUtils; - -public class ItemBlockGtBlock extends ItemBlock { - - public static HashMap sNameCache = new HashMap<>(); - - protected final int blockColour; - private int sRadiation; - - private Material mMaterial; - protected BlockTypes thisBlockType; - - private final Block thisBlock; - private boolean isOre = false; - private boolean isModular = false; - - public ItemBlockGtBlock(final Block block) { - super(block); - this.thisBlock = block; - if (block instanceof BlockBaseOre) { - this.isOre = true; - } else if (block instanceof BlockBaseModular) { - this.isModular = true; - } - final BlockBaseModular baseBlock = (BlockBaseModular) block; - if (isModular) { - this.blockColour = baseBlock.getRenderColor(0); - } else if (isOre) { - this.blockColour = block.getBlockColor(); - } else { - this.blockColour = block.getBlockColor(); - } - - if (block instanceof BlockBaseModular g) { - this.mMaterial = g.getMaterialEx(); - this.thisBlockType = g.thisBlock; - } else { - this.mMaterial = null; - this.thisBlockType = BlockTypes.STANDARD; - } - } - - public int getBlockTypeMeta() { - if (this.thisBlockType.equals(BlockTypes.STANDARD)) { - return 0; - } else if (this.thisBlockType.equals(BlockTypes.FRAME)) { - return 1; - } else if (this.thisBlockType.equals(BlockTypes.ORE)) { - return 2; - } - return 0; - } - - public String getUnlocalizedBlockName() { - return "block." + mMaterial.getUnlocalizedName() - + "." - + this.thisBlockType.name() - .toLowerCase(); - } - - public String GetProperName() { - String tempIngot = sNameCache.get(getUnlocalizedBlockName()); - if (tempIngot == null) { - tempIngot = "BAD.UNLOCAL.NAME"; - } - return tempIngot; - } - - @Override - public String getItemStackDisplayName(ItemStack stack) { - return this.thisBlock.getLocalizedName(); - } - - public int getRenderColor(final int aMeta) { - return this.blockColour; - } - - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - - if (this.mMaterial != null) { - list.add(this.mMaterial.vChemicalFormula); - } else { - - try { - BlockBaseModular g = (BlockBaseModular) thisBlock; - this.mMaterial = g.getMaterialEx(); - } catch (Throwable t) { - - } - - // list.add("Material is Null."); - } - - if (this.isOre) { - if (KeyboardUtils.isCtrlKeyDown()) { - Block b = Block.getBlockFromItem(stack.getItem()); - if (b != null) { - - String aTool = b.getHarvestTool(stack.getItemDamage()); - int aMiningLevel1 = b.getHarvestLevel(stack.getItemDamage()); - - if (this.mMaterial != null) { - list.add("Mining Level: " + Math.min(Math.max(aMiningLevel1, 0), 5)); - list.add("Contains: "); - if (mMaterial.getComposites() - .isEmpty()) { - list.add("- " + mMaterial.getLocalizedName()); - } else { - for (MaterialStack m : mMaterial.getComposites()) { - list.add( - "- " + m.getStackMaterial() - .getLocalizedName() + " x" + m.getPartsPerOneHundred()); - } - } - } - } - } else { - list.add(EnumChatFormatting.DARK_GRAY + "Hold Ctrl to show additional info."); - } - } else { - Block b = Block.getBlockFromItem(stack.getItem()); - if (b != null) { - String aTool = b.getHarvestTool(stack.getItemDamage()); - int aMiningLevel1 = b.getHarvestLevel(stack.getItemDamage()); - list.add("Mining Level: " + Math.min(Math.max(aMiningLevel1, 0), 5)); - } - } - - if (this.mMaterial != null) { - if (this.mMaterial.vRadiationLevel > 0) { - list.add(CORE.GT_Tooltip_Radioactive.get()); - } - } - - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - - if (!isModular && !isOre) { - mMaterial = null; - } else { - if (this.mMaterial == null) { - Block b = Block.getBlockFromItem(iStack.getItem()); - if (isOre) { - mMaterial = ((BlockBaseOre) b).getMaterialEx(); - } else { - mMaterial = ((BlockBaseModular) b).getMaterialEx(); - } - if (mMaterial != null) { - this.sRadiation = mMaterial.vRadiationLevel; - } else { - this.sRadiation = 0; - } - } - if (this.sRadiation > 0) { - EntityUtils.applyRadiationDamageToEntity(iStack.stackSize, this.sRadiation, world, entityHolding); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java deleted file mode 100644 index 54cfefbac2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java +++ /dev/null @@ -1,106 +0,0 @@ -package gtPlusPlus.core.item.base.itemblock; - -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlockWithMetadata; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.api.interfaces.ITileTooltip; -import gtPlusPlus.api.objects.data.AutoMap; - -public class ItemBlockMeta extends ItemBlockWithMetadata { - - private final Block mBlock; - private HashMap> aTooltips = new LinkedHashMap<>(); - - public ItemBlockMeta(final Block aBlock) { - super(aBlock, aBlock); - this.mBlock = aBlock; - this.setMaxDamage(0); - this.setHasSubtypes(true); - if (aBlock instanceof ITileTooltip aTooltip) { - // aTooltips.put(aTooltip.getTooltipID(), aTooltip.getTooltipMap()); - } - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - Block aThis = Block.getBlockFromItem(stack.getItem()); - if (aThis != null) { - if (!aTooltips.isEmpty()) { - AutoMap h = aTooltips.get(stack.getItemDamage()); - if (h != null && !h.isEmpty()) { - for (String s : h) { - list.add(s); - } - } - } - } - super.addInformation(stack, aPlayer, list, bool); - } - - /** - * Gets an icon index based on an item's damage value - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(final int p_77617_1_) { - return this.mBlock.getIcon(2, p_77617_1_); - } - - /** - * Returns the metadata of the block which this Item (ItemBlock) can place - */ - @Override - public int getMetadata(final int p_77647_1_) { - return p_77647_1_; - } - - @Override - public String getUnlocalizedName(final ItemStack stack) { - return this.getUnlocalizedName() + "." + stack.getItemDamage(); - } - - @Override - public boolean isDamageable() { - return false; - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) { - return false; - } - - @Override - public boolean isBookEnchantable(ItemStack stack, ItemStack book) { - return false; - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - return 0; - } - - @Override - public int getItemEnchantability(ItemStack stack) { - return 0; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java deleted file mode 100644 index 0cee16b3f6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java +++ /dev/null @@ -1,148 +0,0 @@ -package gtPlusPlus.core.item.base.itemblock; - -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.block.base.BlockBaseOre; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialStack; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.sys.KeyboardUtils; -import gtPlusPlus.everglades.gen.gt.WorldGen_GT_Ore_Layer; - -public class ItemBlockOre extends ItemBlock { - - private final BlockBaseOre mThisOre; - private final Material mThisMaterial; - private final int mThisRadiation; - - public ItemBlockOre(final Block block) { - super(block); - if (block instanceof BlockBaseOre) { - this.mThisOre = (BlockBaseOre) block; - this.mThisMaterial = this.mThisOre.getMaterialEx(); - this.mThisRadiation = this.mThisMaterial.vRadiationLevel; - } else { - this.mThisOre = null; - this.mThisMaterial = null; - this.mThisRadiation = 0; - } - } - - private static Map> mMapOreBlockItemToDimName = new LinkedHashMap<>(); - private static boolean mInitOres_Everglades = false; - private AutoMap mDimsForThisOre = new AutoMap<>(); - - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - - if (!mInitOres_Everglades) { - for (WorldGen_GT_Ore_Layer f : gtPlusPlus.everglades.gen.gt.WorldGen_Ores.validOreveins.values()) { - Material[] m2 = new Material[] { f.mPrimary, f.mSecondary, f.mBetween, f.mSporadic }; - for (Material m1 : m2) { - AutoMap aMap = mMapOreBlockItemToDimName.get( - m1.getUnlocalizedName() - .toLowerCase()); - if (aMap == null) { - aMap = new AutoMap<>(); - } - String aDimName = "Everglades"; - if (!aMap.containsValue(aDimName)) { - aMap.put(aDimName); - } - mMapOreBlockItemToDimName.put( - m1.getUnlocalizedName() - .toLowerCase(), - aMap); - } - } - mInitOres_Everglades = true; - } - - if (this.mThisMaterial != null) { - list.add(this.mThisMaterial.vChemicalFormula); - } - - // Radioactive? - if (this.mThisRadiation > 0) { - list.add(CORE.GT_Tooltip_Radioactive.get()); - } - - if (this.mThisMaterial != null) { - list.add("Ore contains: "); - if (mThisMaterial.getComposites() - .isEmpty()) { - list.add("- " + mThisMaterial.getLocalizedName()); - } else { - for (MaterialStack m : mThisMaterial.getComposites()) { - list.add( - "- " + m.getStackMaterial() - .getLocalizedName() + " x" + m.getPartsPerOneHundred()); - } - } - } - - if (KeyboardUtils.isCtrlKeyDown()) { - - Block b = Block.getBlockFromItem(stack.getItem()); - if (b != null) { - int aMiningLevel1 = b.getHarvestLevel(stack.getItemDamage()); - if (aMiningLevel1 != 0) { - list.add("Mining Level: " + Math.min(Math.max(aMiningLevel1, 0), 5)); - } - } - - if (mDimsForThisOre.isEmpty()) { - AutoMap A = mMapOreBlockItemToDimName.get( - this.mThisMaterial.getUnlocalizedName() - .toLowerCase()); - if (A != null) { - mDimsForThisOre = A; - } - } - - list.add("Found: "); - if (!mDimsForThisOre.isEmpty()) { - for (String m : mDimsForThisOre) { - list.add("- " + m); - } - } else { - list.add("- Unknown"); - } - - } else { - list.add(EnumChatFormatting.DARK_GRAY + "Hold Ctrl to show additional info."); - } - - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - if (this.mThisMaterial != null) { - if (this.mThisRadiation > 0) { - if (entityHolding instanceof EntityPlayer) { - if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode) { - EntityUtils.applyRadiationDamageToEntity( - iStack.stackSize, - this.mThisMaterial.vRadiationLevel, - world, - entityHolding); - } - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/misc/BaseItemMisc.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/misc/BaseItemMisc.java deleted file mode 100644 index 020becc687..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/misc/BaseItemMisc.java +++ /dev/null @@ -1,154 +0,0 @@ -package gtPlusPlus.core.item.base.misc; - -import static gregtech.api.enums.Mods.Forestry; -import static gregtech.api.enums.Mods.GTPlusPlus; - -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.util.IIcon; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BaseItemMisc extends Item { - - public final String displayName; - public final String unlocalName; - public final MiscTypes miscType; - public final Object componentColour; - - public BaseItemMisc(final String displayName, final short[] RGB, final int maxStackSize, final MiscTypes miscType, - String[] description) { - - // Set-up the Misc Generic Item - this.displayName = displayName; - String unlocalName = Utils.sanitizeString(displayName); - this.unlocalName = "item" + miscType.TYPE + unlocalName; - this.miscType = miscType; - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setUnlocalizedName(this.unlocalName); - this.setMaxStackSize(maxStackSize); - // this.setTextureName(this.getCorrectTextures()); - if (RGB != null) { - this.componentColour = Utils.rgbtoHexValue(RGB[0], RGB[1], RGB[2]); - } else { - this.componentColour = null; - } - if (description != null) { - for (int i = 0; i < description.length; i++) { - GT_LanguageManager - .addStringLocalization("gtplusplus." + this.getUnlocalizedName() + ".tooltip." + i, description[i]); - } - } - GameRegistry.registerItem(this, this.unlocalName); - GT_OreDictUnificator.registerOre(miscType.getOreDictPrefix() + unlocalName, ItemUtils.getSimpleStack(this)); - } - - private String getCorrectTextures() { - return GTPlusPlus.ID + ":" + "item" + this.miscType.TYPE; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return this.miscType == MiscTypes.DROP; - } - - @Override - public int getRenderPasses(int meta) { - return (this.miscType == MiscTypes.DROP) ? 2 : 1; - } - - @SideOnly(Side.CLIENT) - private IIcon secondIcon; - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) { - if (this.miscType == MiscTypes.DROP && Forestry.isModLoaded()) { - this.itemIcon = par1IconRegister.registerIcon("forestry:honeyDrop.0"); - this.secondIcon = par1IconRegister.registerIcon("forestry:honeyDrop.1"); - } else { - this.itemIcon = par1IconRegister.registerIcon(getCorrectTextures()); - } - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return (pass == 0) ? itemIcon : secondIcon; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public final void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, - final boolean bool) { - for (int i = 0;; i++) { - String tooltip = GT_LanguageManager - .getTranslation("gtplusplus." + this.getUnlocalizedName() + ".tooltip" + "." + i); - if (!("gtplusplus." + this.getUnlocalizedName() + ".tooltip" + "." + i).equals(tooltip)) { - list.add(tooltip); - } else break; - } - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - // Returns default colour if a custom one is not set. - if (this.componentColour == null) { - return 16777215; - } else { - return (int) this.componentColour; - } - } - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - // Nothing Fancy here yet. - } - - public static enum MiscTypes { - - POTION("Potion", " Potion", "potion"), - KEY("Key", " Key", "key"), - BIGKEY("KeyBig", " Big Key", "bosskey"), - BOTTLE("Bottle", " Bottle", "bottle"), - GEM("Gem", " Gemstone", "gem"), - DROP("Droplet", " Droplet", "droplet"), - MUSHROOM("Mushroom", " Mushroom", "mushroom"); - - private final String TYPE; - private final String DISPLAY_NAME_SUFFIX; - private final String OREDICT_PREFIX; - - private MiscTypes(final String LocalName, final String DisplayNameSuffix, final String OreDictPrefix) { - this.TYPE = LocalName; - this.DISPLAY_NAME_SUFFIX = DisplayNameSuffix; - this.OREDICT_PREFIX = OreDictPrefix; - } - - public String getType() { - return this.TYPE; - } - - public String getName() { - return this.DISPLAY_NAME_SUFFIX; - } - - public String getOreDictPrefix() { - return this.OREDICT_PREFIX; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java deleted file mode 100644 index b6292c695e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java +++ /dev/null @@ -1,66 +0,0 @@ -package gtPlusPlus.core.item.base.misc; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.base.CoreItem; - -public abstract class BaseItemParticle extends CoreItem { - - protected static final Map aColourMap = new LinkedHashMap<>(); - private final int aMaxCount; - - public BaseItemParticle(String aType, int aCount, EnumRarity aRarity) { - super( - "particle" + aType, - aType, - AddToCreativeTab.tabOther, - 64, - 0, - new String[] {}, - aRarity, - EnumChatFormatting.DARK_AQUA, - false, - null); - this.setTextureName(GTPlusPlus.ID + ":" + "science/Atom"); - aMaxCount = aCount; - this.setHasSubtypes(true); - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - return aColourMap.get(stack.getItemDamage()); - } - - public int getColorFromParentClass(ItemStack stack, int aaa) { - return super.getColorFromItemStack(stack, aaa); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < aMaxCount; i++) { - list.add(new ItemStack(item, 1, i)); - } - } - - @Override - public final String getItemStackDisplayName(final ItemStack tItem) { - String aReturnValue = super.getItemStackDisplayName(tItem); - String[] a2 = getAffixes(); - aReturnValue = (a2[0] + aReturnValue + a2[1]); - return aReturnValue; - } - - public abstract String[] getAffixes(); -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/nugget/BaseItemNugget.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/nugget/BaseItemNugget.java deleted file mode 100644 index b0537f022f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/nugget/BaseItemNugget.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.nugget; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemNugget extends BaseItemComponent { - - public BaseItemNugget(final Material material) { - super(material, BaseItemComponent.ComponentTypes.NUGGET); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemCentrifugedCrushedOre.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemCentrifugedCrushedOre.java deleted file mode 100644 index 9a72f62040..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemCentrifugedCrushedOre.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.item.base.ore; - -import gtPlusPlus.core.material.Material; - -public class BaseItemCentrifugedCrushedOre extends BaseOreComponent { - - public BaseItemCentrifugedCrushedOre(final Material material) { - super(material, BaseOreComponent.ComponentTypes.CRUSHEDCENTRIFUGED); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemCrushedOre.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemCrushedOre.java deleted file mode 100644 index e9588f9f96..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemCrushedOre.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.item.base.ore; - -import gtPlusPlus.core.material.Material; - -public class BaseItemCrushedOre extends BaseOreComponent { - - public BaseItemCrushedOre(final Material material) { - super(material, BaseOreComponent.ComponentTypes.CRUSHED); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemImpureDust.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemImpureDust.java deleted file mode 100644 index f80e392703..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemImpureDust.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.item.base.ore; - -import gtPlusPlus.core.material.Material; - -public class BaseItemImpureDust extends BaseOreComponent { - - public BaseItemImpureDust(final Material material) { - super(material, BaseOreComponent.ComponentTypes.DUSTIMPURE); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java deleted file mode 100644 index 90235a18b3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java +++ /dev/null @@ -1,24 +0,0 @@ -package gtPlusPlus.core.item.base.ore; - -import net.minecraft.item.Item; - -import gregtech.api.enums.Materials; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public class BaseItemMilledOre extends BaseOreComponent { - - public BaseItemMilledOre(final Material material, int aMaterialEU) { - super(material, BaseOreComponent.ComponentTypes.MILLED); - CORE.RA.addMillingRecipe(material, aMaterialEU); - } - - public static Item generate(Materials aMat, int aMaterialEU) { - return generate(MaterialUtils.generateMaterialFromGtENUM(aMat), aMaterialEU); - } - - public static Item generate(Material aMat, int aMaterialEU) { - return new BaseItemMilledOre(aMat, aMaterialEU); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemPurifiedCrushedOre.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemPurifiedCrushedOre.java deleted file mode 100644 index 744b204d43..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemPurifiedCrushedOre.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.item.base.ore; - -import gtPlusPlus.core.material.Material; - -public class BaseItemPurifiedCrushedOre extends BaseOreComponent { - - public BaseItemPurifiedCrushedOre(final Material material) { - super(material, BaseOreComponent.ComponentTypes.CRUSHEDPURIFIED); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemPurifiedDust.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemPurifiedDust.java deleted file mode 100644 index 4b94b98e64..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemPurifiedDust.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.item.base.ore; - -import gtPlusPlus.core.material.Material; - -public class BaseItemPurifiedDust extends BaseOreComponent { - - public BaseItemPurifiedDust(final Material material) { - super(material, BaseOreComponent.ComponentTypes.DUSTPURE); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemRawOre.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemRawOre.java deleted file mode 100644 index bca44d0045..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemRawOre.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.item.base.ore; - -import gtPlusPlus.core.material.Material; - -public class BaseItemRawOre extends BaseOreComponent { - - public BaseItemRawOre(final Material material) { - super(material, BaseOreComponent.ComponentTypes.RAWORE); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java deleted file mode 100644 index 2074bb2ede..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java +++ /dev/null @@ -1,272 +0,0 @@ -package gtPlusPlus.core.item.base.ore; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -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.util.IIcon; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.OrePrefixes; -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.util.Utils; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BaseOreComponent extends Item { - - @SideOnly(Side.CLIENT) - private IIcon base; - - @SideOnly(Side.CLIENT) - private IIcon overlay; - - public final Material componentMaterial; - public final String materialName; - public final String unlocalName; - public final ComponentTypes componentType; - public final int componentColour; - public Object extraData; - - public BaseOreComponent(final Material material, final ComponentTypes componentType) { - this.componentMaterial = material; - this.unlocalName = componentType.COMPONENT_NAME + material.getUnlocalizedName(); - this.materialName = material.getLocalizedName(); - this.componentType = componentType; - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setUnlocalizedName(this.unlocalName); - this.setMaxStackSize(64); - this.componentColour = material.getRgbAsHex(); - GameRegistry.registerItem(this, this.unlocalName); - registerComponent(); - GT_OreDictUnificator - .registerOre(componentType.getComponent() + material.getUnlocalizedName(), ItemUtils.getSimpleStack(this)); - } - - public boolean registerComponent() { - Logger.MATERIALS("Attempting to register " + this.getUnlocalizedName() + "."); - if (this.componentMaterial == null) { - Logger.MATERIALS("Tried to register " + this.getUnlocalizedName() + " but the material was null."); - return false; - } - // Register Component - Map aMap = Material.mComponentMap.get(componentMaterial.getUnlocalizedName()); - if (aMap == null) { - aMap = new HashMap<>(); - } - String aKey = "Invalid"; - switch (componentType) { - case CRUSHED -> aKey = OrePrefixes.crushed.name(); - case CRUSHEDCENTRIFUGED -> aKey = OrePrefixes.crushedCentrifuged.name(); - case CRUSHEDPURIFIED -> aKey = OrePrefixes.crushedPurified.name(); - case DUST -> aKey = OrePrefixes.dust.name(); - case DUSTIMPURE -> aKey = OrePrefixes.dustImpure.name(); - case DUSTPURE -> aKey = OrePrefixes.dustPure.name(); - case MILLED -> aKey = OrePrefixes.milled.name(); - case RAWORE -> aKey = OrePrefixes.rawOre.name(); - } - - ItemStack x = aMap.get(aKey); - if (x == null) { - aMap.put(aKey, ItemUtils.getSimpleStack(this)); - Logger.MATERIALS( - "Registering a material component. Item: [" + componentMaterial.getUnlocalizedName() - + "] Map: [" - + aKey - + "]"); - Material.mComponentMap.put(componentMaterial.getUnlocalizedName(), aMap); - return true; - } else { - // Bad - Logger.MATERIALS("Tried to double register a material component. "); - return false; - } - } - - /* - * @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; - } - - @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.equals("")) { - if (this.componentMaterial != null) { - if (!this.componentMaterial.vChemicalFormula.contains("?")) { - list.add(Utils.sanitizeStringKeepBrackets(this.componentMaterial.vChemicalFormula)); - } else if (this.componentMaterial.vChemicalFormula.contains("?")) { - String temp = componentMaterial.vChemicalFormula; - temp = temp.replace(" ", ""); - temp = temp.replace("-", ""); - temp = temp.replace("_", ""); - temp = temp.replace("!", ""); - temp = temp.replace("@", ""); - temp = temp.replace("#", ""); - temp = temp.replace(" ", ""); - list.add(temp); - } - if (this.componentMaterial.isRadioactive) { - list.add(CORE.GT_Tooltip_Radioactive.get() + " | Level: " + this.componentMaterial.vRadiationLevel); - } - } else { - String aChemicalFormula = Material.sChemicalFormula.get(materialName.toLowerCase()); - if (aChemicalFormula != null && aChemicalFormula.length() > 0) { - list.add(Utils.sanitizeStringKeepBrackets(aChemicalFormula)); - } - } - } - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - if (this.componentMaterial != null) { - if (entityHolding instanceof EntityPlayer) { - if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode) { - EntityUtils.applyRadiationDamageToEntity( - iStack.stackSize, - this.componentMaterial.vRadiationLevel, - world, - entityHolding); - } - } - } - } - - /** - * Rendering Related - * - * @author Alkalus - * - */ - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - if (this.componentType.hasOverlay()) { - return true; - } - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister par1IconRegister) { - if (this.componentType == ComponentTypes.MILLED) { - this.base = par1IconRegister.registerIcon(GTPlusPlus.ID + ":" + "processing/MilledOre/milled"); - if (this.componentType.hasOverlay()) { - this.overlay = par1IconRegister - .registerIcon(GTPlusPlus.ID + ":" + "processing/MilledOre/milled_OVERLAY"); - } - } else if (CORE.ConfigSwitches.useGregtechTextures) { - // Logger.MATERIALS(this.componentType.getPrefix()+this.componentMaterial.getLocalizedName()+this.componentType.DISPLAY_NAME+" - // is using `"+GregTech.ID + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME+"' as the - // layer 0 texture path."); - this.base = par1IconRegister - .registerIcon(GregTech.ID + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME); - if (this.componentType.hasOverlay()) { - // Logger.MATERIALS(this.componentType.getPrefix()+this.componentMaterial.getLocalizedName()+this.componentType.DISPLAY_NAME+" - // is using `"+GregTech.ID + ":" + "materialicons/METALLIC/" + - // this.componentType.COMPONENT_NAME+"_OVERLAY"+"' as the layer 1 texture path."); - this.overlay = par1IconRegister.registerIcon( - GregTech.ID + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME + "_OVERLAY"); - } - } else { - this.base = par1IconRegister.registerIcon(GTPlusPlus.ID + ":" + "item" + this.componentType.getComponent()); - if (this.componentType.hasOverlay()) { - this.overlay = par1IconRegister - .registerIcon(GTPlusPlus.ID + ":" + "item" + this.componentType.getComponent() + "_Overlay"); - } - } - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int renderPass) { - if (this.componentType == ComponentTypes.MILLED) { - if (renderPass == 1) { - return Utils.rgbtoHexValue(230, 230, 230); - } - return this.componentColour; - } else { - if (renderPass == 0 && !CORE.ConfigSwitches.useGregtechTextures) { - return this.componentColour; - } - if (renderPass == 1 && CORE.ConfigSwitches.useGregtechTextures) { - return Utils.rgbtoHexValue(230, 230, 230); - } - return this.componentColour; - } - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - if (pass == 0) { - return this.base; - } - return this.overlay; - } - - public static enum ComponentTypes { - - DUST("dust", "", " Dust", true), - DUSTIMPURE("dustImpure", "Impure ", " Dust", true), - DUSTPURE("dustPure", "Purified ", " Dust", true), - CRUSHED("crushed", "Crushed ", " Ore", true), - CRUSHEDCENTRIFUGED("crushedCentrifuged", "Centrifuged Crushed ", " Ore", true), - CRUSHEDPURIFIED("crushedPurified", "Purified Crushed ", " Ore", true), - RAWORE("oreRaw", "Raw ", " Ore", true), - MILLED("milled", "Milled ", " Ore", true); - - private final String COMPONENT_NAME; - private final String PREFIX; - private final String DISPLAY_NAME; - private final boolean HAS_OVERLAY; - - private ComponentTypes(final String LocalName, final String prefix, final String DisplayName, - final boolean overlay) { - this.COMPONENT_NAME = LocalName; - this.PREFIX = prefix; - this.DISPLAY_NAME = DisplayName; - this.HAS_OVERLAY = overlay; - // dust + Dirty, Impure, Pure, Refined - // crushed + centrifuged, purified - } - - public String getComponent() { - return this.COMPONENT_NAME; - } - - public String getName() { - return this.DISPLAY_NAME; - } - - public boolean hasOverlay() { - return this.HAS_OVERLAY; - } - - public String getPrefix() { - return this.PREFIX; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java deleted file mode 100644 index 0fad7a8258..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java +++ /dev/null @@ -1,23 +0,0 @@ -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.minecraft.MaterialUtils; - -public class BaseItemPlate extends BaseItemComponent { - - public BaseItemPlate(final Material material) { - super(material, BaseItemComponent.ComponentTypes.PLATE); - } - - public BaseItemPlate(final String unlocalizedName, final String materialName, final MaterialState state, - final short[] colour, final int tier, final int sRadioactivity) { - this( - MaterialUtils.generateQuickMaterial( - materialName, - state, - new short[] { colour[0], colour[1], colour[2], 0 }, - sRadioactivity)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDense.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDense.java deleted file mode 100644 index 580e028c00..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDense.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.plates; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemPlateDense extends BaseItemComponent { - - public BaseItemPlateDense(Material material) { - super(material, ComponentTypes.PLATEDENSE); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDouble.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDouble.java deleted file mode 100644 index 4f5bc12829..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDouble.java +++ /dev/null @@ -1,12 +0,0 @@ -package gtPlusPlus.core.item.base.plates; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemPlateDouble extends BaseItemComponent { - - public BaseItemPlateDouble(final Material material) { - super(material, BaseItemComponent.ComponentTypes.PLATEDOUBLE); - this.setMaxStackSize(32); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlate_OLD.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlate_OLD.java deleted file mode 100644 index 168d5236c6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlate_OLD.java +++ /dev/null @@ -1,91 +0,0 @@ -package gtPlusPlus.core.item.base.plates; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -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 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.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; - protected final int sRadiation; - protected final String materialName; - protected final String unlocalName; - protected final String chemicalNotation; - - public BaseItemPlate_OLD(final String unlocalizedName, final String materialName, final int colour, - final int sRadioactivity) { - this(unlocalizedName, materialName, "NullFormula", colour, sRadioactivity); - } - - public BaseItemPlate_OLD(final String unlocalizedName, final String materialName, final String mChemicalFormula, - final int colour, final int sRadioactivity) { - this.setUnlocalizedName("itemPlate" + unlocalizedName); - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.unlocalName = "itemPlate" + unlocalizedName; - this.setMaxStackSize(64); - this.setTextureName(GTPlusPlus.ID + ":" + "itemPlate"); - this.setMaxStackSize(64); - this.colour = colour; - this.materialName = materialName; - if (mChemicalFormula.equals("") || mChemicalFormula.equals("NullFormula")) { - this.chemicalNotation = StringUtils.subscript(materialName); - } else { - this.chemicalNotation = StringUtils.subscript(mChemicalFormula); - } - this.sRadiation = sRadioactivity; - GameRegistry.registerItem(this, "itemPlate" + unlocalizedName); - String temp; - if (this.unlocalName.toLowerCase() - .contains("itemplate")) { - temp = this.unlocalName.replace("itemP", "p"); - if ((temp != null) && !temp.equals("")) { - GT_OreDictUnificator.registerOre(temp, ItemUtils.getSimpleStack(this)); - } - } - } - - public final String getMaterialName() { - return this.materialName; - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - if (this.colour == 0) { - return MathUtils.generateSingularRandomHexValue(); - } - return this.colour; - } - - @Override - public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, - final boolean p_77663_5_) { - EntityUtils.applyRadiationDamageToEntity(iStack.stackSize, this.sRadiation, world, entityHolding); - } - - @SuppressWarnings({ "rawtypes", "unchecked" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - if (this.sRadiation > 0) { - list.add(CORE.GT_Tooltip_Radioactive.get()); - } - if (StringUtils.containsSuperOrSubScript(this.chemicalNotation)) { - list.add(this.chemicalNotation); - } - super.addInformation(stack, aPlayer, list, bool); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/rings/BaseItemRing.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/rings/BaseItemRing.java deleted file mode 100644 index d25ea02d52..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/rings/BaseItemRing.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.rings; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemRing extends BaseItemComponent { - - public BaseItemRing(final Material material) { - super(material, BaseItemComponent.ComponentTypes.RING); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/rods/BaseItemRod.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/rods/BaseItemRod.java deleted file mode 100644 index 9a9998d63a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/rods/BaseItemRod.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.rods; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemRod extends BaseItemComponent { - - public BaseItemRod(final Material material) { - super(material, BaseItemComponent.ComponentTypes.ROD); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java deleted file mode 100644 index bf7dd3bccc..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.rods; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemRodLong extends BaseItemComponent { - - public BaseItemRodLong(final Material material) { - super(material, BaseItemComponent.ComponentTypes.RODLONG); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/rotors/BaseItemRotor.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/rotors/BaseItemRotor.java deleted file mode 100644 index c2fae0fc8b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/rotors/BaseItemRotor.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.rotors; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemRotor extends BaseItemComponent { - - public BaseItemRotor(final Material material) { - super(material, BaseItemComponent.ComponentTypes.ROTOR); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java deleted file mode 100644 index 7f0ba8c504..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.screws; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemScrew extends BaseItemComponent { - - public BaseItemScrew(final Material material) { - super(material, BaseItemComponent.ComponentTypes.SCREW); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/base/wire/BaseItemFineWire.java b/gtpp/src/main/java/gtPlusPlus/core/item/base/wire/BaseItemFineWire.java deleted file mode 100644 index 3e2cee49a9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/base/wire/BaseItemFineWire.java +++ /dev/null @@ -1,11 +0,0 @@ -package gtPlusPlus.core.item.base.wire; - -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.material.Material; - -public class BaseItemFineWire extends BaseItemComponent { - - public BaseItemFineWire(final Material material) { - super(material, BaseItemComponent.ComponentTypes.FINEWIRE); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/bauble/BaseBauble.java b/gtpp/src/main/java/gtPlusPlus/core/item/bauble/BaseBauble.java deleted file mode 100644 index 92468aa6d8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/bauble/BaseBauble.java +++ /dev/null @@ -1,133 +0,0 @@ -package gtPlusPlus.core.item.bauble; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.EntityLivingBase; -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.world.World; -import net.minecraftforge.event.entity.living.LivingAttackEvent; - -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 gregtech.api.enums.Mods; -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.NBTUtils; - -@Optional.InterfaceList( - value = { @Optional.Interface(iface = "baubles.api.IBauble", modid = Mods.Names.BAUBLES), - @Optional.Interface(iface = "baubles.api.BaubleType", modid = Mods.Names.BAUBLES) }) -public class BaseBauble extends Item implements IBauble { - - /** - * Implementation suggestions taken from Botania. - */ - private BaubleType mThisBauble; - - private List damageNegations = new ArrayList<>(); - Multimap attributes = HashMultimap.create(); - - public BaseBauble(BaubleType type) { - this.mThisBauble = type; - Utils.registerEvent(this); - this.setMaxStackSize(1); - this.setCreativeTab(AddToCreativeTab.tabMisc); - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - String key = "gtplusplus." + getUnlocalizedName() + ".name"; - if (key.equals(GT_LanguageManager.getTranslation(key))) { - return super.getItemStackDisplayName(tItem).replaceAll(".name", ""); - } - return GT_LanguageManager.getTranslation(key); - } - - @SubscribeEvent - public void onPlayerAttacked(LivingAttackEvent event) { - if (event.entityLiving instanceof EntityPlayer player) { - if (getCorrectBauble(player) != null && damageNegations.contains(event.source.damageType)) - event.setCanceled(true); - } - } - - @Override - public boolean canEquip(ItemStack arg0, EntityLivingBase arg1) { - return arg1 instanceof EntityPlayer; - } - - @Override - public boolean canUnequip(ItemStack arg0, EntityLivingBase arg1) { - return arg1 instanceof EntityPlayer; - } - - @Override - public BaubleType getBaubleType(ItemStack arg0) { - return mThisBauble; - } - - @Override - public void onEquipped(ItemStack stack, EntityLivingBase entity) { - if (entity instanceof EntityPlayer) { - onEquippedOrLoadedIntoWorld(entity); - setPlayerHashcode(stack, entity.hashCode()); - } - } - - @Override - public void onWornTick(ItemStack stack, EntityLivingBase player) { - if (getPlayerHashcode(stack) != player.hashCode()) { - onEquippedOrLoadedIntoWorld(player); - setPlayerHashcode(stack, player.hashCode()); - } - } - - public void onEquippedOrLoadedIntoWorld(EntityLivingBase player) { - attributes.clear(); - player.getAttributeMap() - .applyAttributeModifiers(attributes); - } - - @Override - public void onUnequipped(ItemStack stack, EntityLivingBase player) { - attributes.clear(); - player.getAttributeMap() - .removeAttributeModifiers(attributes); - } - - public ItemStack getCorrectBauble(EntityPlayer player) { - InventoryBaubles baubles = PlayerHandler.getPlayerBaubles(player); - ItemStack stack1 = baubles.getStackInSlot(1); - ItemStack stack2 = baubles.getStackInSlot(2); - return isCorrectBauble(stack1) ? stack1 : isCorrectBauble(stack2) ? stack2 : null; - } - - private boolean isCorrectBauble(ItemStack stack) { - return stack != null && (stack.getItem() == this); - } - - @Override - public int getEntityLifespan(ItemStack itemStack, World world) { - return Integer.MAX_VALUE; - } - - public static int getPlayerHashcode(ItemStack stack) { - return NBTUtils.getInteger(stack, "mPlayerHashcode"); - } - - public static void setPlayerHashcode(ItemStack stack, int hash) { - NBTUtils.setInteger(stack, "mPlayerHashcode", hash); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java b/gtpp/src/main/java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java deleted file mode 100644 index 881146b15d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java +++ /dev/null @@ -1,261 +0,0 @@ -package gtPlusPlus.core.item.bauble; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; - -import baubles.api.BaubleType; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.GT_Values; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.xmod.gregtech.common.helpers.ChargingHelper; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; - -public class BatteryPackBaseBauble extends ElectricBaseBauble { - - public BatteryPackBaseBauble(int tier) { - super(BaubleType.BELT, tier, GT_Values.V[tier] * 20 * 300, "GTPP.BattPack.0" + tier + ".name"); - String aUnlocalName = "GTPP.BattPack.0" + tier + ".name"; - this.setCreativeTab(AddToCreativeTab.tabMachines); - if (GameRegistry.findItem(GTPlusPlus.ID, aUnlocalName) == null) { - GameRegistry.registerItem(this, aUnlocalName); - } - } - - @SideOnly(Side.CLIENT) - @Override - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - ItemStack charged; - if (this.getEmptyItem(itemStack) == this) { - charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 0.0D, Integer.MAX_VALUE, true, false); - itemList.add(charged); - } - if (this.getChargedItem(itemStack) == this) { - charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, Double.POSITIVE_INFINITY, Integer.MAX_VALUE, true, false); - itemList.add(charged); - } - } - - @Override - public void onUpdate(final ItemStack itemStack, final World worldObj, final Entity player, final int p_77663_4_, - final boolean p_77663_5_) { - super.onUpdate(itemStack, worldObj, player, p_77663_4_, p_77663_5_); - } - - @Override - public boolean canProvideEnergy(final ItemStack itemStack) { - double aItemCharge = ElectricItem.manager.getCharge(itemStack); - return aItemCharge > 0; - } - - @Override - public String getItemStackDisplayName(final ItemStack p_77653_1_) { - return (EnumChatFormatting.BLUE + super.getItemStackDisplayName(p_77653_1_) + EnumChatFormatting.GRAY); - } - - @Override - public boolean showDurabilityBar(final ItemStack stack) { - return true; - } - - public int secondsLeft(final ItemStack stack) { - double r = 0; - r = this.getCharge(stack) / (10000 * 20); - return (int) MathUtils.decimalRounding(r); - } - - @SuppressWarnings("unchecked") - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - list.add(""); - String aString1 = StatCollector.translateToLocal("GTPP.battpack.tooltip.1"); - String aString2 = StatCollector.translateToLocal("GTPP.battpack.tooltip.2"); - String aString3 = StatCollector.translateToLocal("GTPP.battpack.tooltip.3"); - String aString4 = StatCollector.translateToLocal("GTPP.battpack.tooltip.4"); - - String aEU = StatCollector.translateToLocal("GTPP.info.eu"); - String aEUT = aEU + "/t"; - - list.add(EnumChatFormatting.GREEN + aString1 + EnumChatFormatting.GRAY); - list.add( - EnumChatFormatting.GREEN + aString2 - + " " - + (int) getTransferLimit(stack) - + aEUT - + " " - + aString3 - + EnumChatFormatting.GRAY); - list.add(EnumChatFormatting.GREEN + aString4 + EnumChatFormatting.GRAY); - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - public String getToolTip(final ItemStack stack) { - return ElectricItem.manager.getToolTip(stack); - } - - @Override - public boolean canEquip(final ItemStack arg0, final EntityLivingBase arg1) { - return true; - } - - @Override - public boolean canUnequip(final ItemStack arg0, final EntityLivingBase arg1) { - return true; - } - - @Override // TODO - public void onEquipped(final ItemStack arg0, final EntityLivingBase arg1) {} - - @Override // TODO - public void onUnequipped(final ItemStack arg0, final EntityLivingBase arg1) {} - - @Override // TODO - public void onWornTick(final ItemStack aBaubleStack, final EntityLivingBase aPlayer) { - if (!aPlayer.worldObj.isRemote) { - - try { - - if (this.getCharge(aBaubleStack) >= getTransferLimit(aBaubleStack)) { - // Try Iterate Armour Slots of Player - if (aPlayer instanceof EntityPlayer) { - - // amour - for (final ItemStack aInvStack : ((EntityPlayer) aPlayer).inventory.armorInventory) { - if (aInvStack != null) { - if (aInvStack == aBaubleStack) { - continue; - } - if (ChargingHelper.isItemValid(aInvStack)) { - double aTransferRate = 0; - final IElectricItem electricItem = (IElectricItem) aInvStack.getItem(); - if (electricItem != null) { - aTransferRate = electricItem.getTransferLimit(aInvStack); - double aItemCharge = ElectricItem.manager.getCharge(aInvStack); - if (aItemCharge >= 0 && aItemCharge != electricItem.getMaxCharge(aInvStack)) { - if (aItemCharge <= (electricItem.getMaxCharge(aInvStack) - aTransferRate)) { - if (ElectricItem.manager.getCharge(aBaubleStack) >= aTransferRate) { - if (ElectricItem.manager.getCharge(aInvStack) - <= (electricItem.getMaxCharge(aInvStack) - aTransferRate)) { - double d = ElectricItem.manager - .charge(aInvStack, aTransferRate * 16, mTier, false, true); - if (d > 0) { - d = ElectricItem.manager.charge( - aInvStack, - aTransferRate * 16, - mTier, - false, - false); - ElectricItem.manager - .discharge(aBaubleStack, d, mTier, false, true, false); - // Logger.INFO("Charging " + aInvStack.getDisplayName() + " - // | " + d + " | "+electricItem.getMaxCharge(aInvStack)); - } - } else { - // Logger.INFO("5"); - } - } else { - // Logger.INFO("4"); - } - } else { - // Logger.INFO("3"); - } - - } else { - // Logger.INFO("1"); - } - } - } - } - if (this.getCharge(aBaubleStack) > 0) { - continue; - } else { - break; - } - } - - // Hotbar Slots - int aSlotCounter = 0; - for (final ItemStack aInvStack : ((EntityPlayer) aPlayer).inventory.mainInventory) { - if (aSlotCounter > (InventoryPlayer.getHotbarSize() - 1)) { - break; - } - aSlotCounter++; - if (aInvStack != null) { - if (aInvStack == aBaubleStack) { - continue; - } - if (ChargingHelper.isItemValid(aInvStack)) { - double aTransferRate = 0; - final IElectricItem electricItem = (IElectricItem) aInvStack.getItem(); - if (electricItem != null) { - aTransferRate = electricItem.getTransferLimit(aInvStack); - double aItemCharge = ElectricItem.manager.getCharge(aInvStack); - if (aItemCharge >= 0 && aItemCharge != electricItem.getMaxCharge(aInvStack)) { - if (aItemCharge <= (electricItem.getMaxCharge(aInvStack) - aTransferRate)) { - if (ElectricItem.manager.getCharge(aBaubleStack) >= aTransferRate) { - if (ElectricItem.manager.getCharge(aInvStack) - <= (electricItem.getMaxCharge(aInvStack) - aTransferRate)) { - double d = ElectricItem.manager - .charge(aInvStack, aTransferRate, mTier, false, true); - if (d > 0) { - d = ElectricItem.manager - .charge(aInvStack, aTransferRate, mTier, false, false); - ElectricItem.manager - .discharge(aBaubleStack, d, mTier, false, true, false); - // Logger.INFO("Charging " + aInvStack.getDisplayName() + " - // | " + d + " | "+electricItem.getMaxCharge(aInvStack)); - } - } else { - // Logger.INFO("5"); - } - } else { - // Logger.INFO("4"); - } - } else { - // Logger.INFO("3"); - } - - } else { - // Logger.INFO("1"); - } - } - } - } - if (this.getCharge(aBaubleStack) > 0) { - continue; - } else { - break; - } - } - } - } - } catch (Throwable t) { - - } - } - } - - @Override - public String getTextureNameForBauble() { - return "chargepack/" + mTier; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/bauble/ElectricBaseBauble.java b/gtpp/src/main/java/gtPlusPlus/core/item/bauble/ElectricBaseBauble.java deleted file mode 100644 index ab17e91232..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/bauble/ElectricBaseBauble.java +++ /dev/null @@ -1,220 +0,0 @@ -package gtPlusPlus.core.item.bauble; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; - -import baubles.api.BaubleType; -import baubles.api.IBauble; -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 gregtech.api.enums.GT_Values; -import gregtech.api.enums.Mods; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.math.MathUtils; -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 = Mods.Names.BAUBLES), - @Optional.Interface(iface = "baubles.api.BaubleType", modid = Mods.Names.BAUBLES) }) -public abstract class ElectricBaseBauble extends BaseBauble implements IElectricItem, IElectricItemManager, IBauble { - - public final int mTier; - private final double maxValueEU; - private final BaubleType mType; - - public ElectricBaseBauble(BaubleType aType, int aTier, double aMaxEU, String aUnlocalName) { - super(aType); - mType = aType; - mTier = aTier; - maxValueEU = aMaxEU; - this.setUnlocalizedName(aUnlocalName); - this.setTextureName(GTPlusPlus.ID + ":" + getTextureNameForBauble()); - this.setMaxDamage(27); - this.setMaxStackSize(1); - this.setNoRepair(); - this.setCreativeTab(AddToCreativeTab.tabMachines); - if (GameRegistry.findItem(GTPlusPlus.ID, aUnlocalName) == null) { - GameRegistry.registerItem(this, aUnlocalName); - } - } - - public abstract String getTextureNameForBauble(); - - @SuppressWarnings("unchecked") - @SideOnly(Side.CLIENT) - @Override - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - ItemStack charged; - if (this.getEmptyItem(itemStack) == this) { - charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 0.0D, Integer.MAX_VALUE, true, false); - itemList.add(charged); - } - if (this.getChargedItem(itemStack) == this) { - charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, Double.POSITIVE_INFINITY, Integer.MAX_VALUE, true, false); - itemList.add(charged); - } - } - - @Override - public void onUpdate(final ItemStack itemStack, final World worldObj, final Entity player, final int p_77663_4_, - final boolean p_77663_5_) { - super.onUpdate(itemStack, worldObj, player, p_77663_4_, p_77663_5_); - } - - @Override - public boolean canProvideEnergy(final ItemStack itemStack) { - double aItemCharge = ElectricItem.manager.getCharge(itemStack); - return aItemCharge > 0; - } - - @Override - public final Item getChargedItem(final ItemStack itemStack) { - final ItemStack x = itemStack.copy(); - x.setItemDamage(27); - return x.getItem(); - } - - @Override - public final Item getEmptyItem(final ItemStack itemStack) { - final ItemStack x = itemStack.copy(); - x.setItemDamage(0); - return x.getItem(); - } - - @Override - public final double getMaxCharge(final ItemStack itemStack) { - return maxValueEU; - } - - @Override - public final int getTier(final ItemStack itemStack) { - return mTier; - } - - @Override - public final double getTransferLimit(final ItemStack itemStack) { - return GT_Values.V[mTier]; - } - - @Override - public final double getDurabilityForDisplay(final ItemStack stack) { - return 1.0D - (this.getCharge(stack) / this.getMaxCharge(stack)); - } - - @Override - public boolean showDurabilityBar(final ItemStack stack) { - return true; - } - - @SuppressWarnings("unchecked") - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - list.add(""); - String aEuInfo = StatCollector.translateToLocal("GTPP.info.euInfo"); - String aTier = StatCollector.translateToLocal("GTPP.machines.tier"); - String aInputLimit = StatCollector.translateToLocal("GTPP.info.inputLimit"); - String aCurrentPower = StatCollector.translateToLocal("GTPP.info.currentPower"); - String aEU = StatCollector.translateToLocal("GTPP.info.eu"); - String aEUT = aEU + "/t"; - - list.add(EnumChatFormatting.GOLD + aEuInfo + EnumChatFormatting.GRAY); - list.add( - EnumChatFormatting.GRAY + aTier - + ": [" - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(this.getTier(stack)) - + EnumChatFormatting.GRAY - + "] " - + aInputLimit - + ": [" - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(this.getTransferLimit(stack)) - + EnumChatFormatting.GRAY - + aEUT - + "]"); - list.add( - EnumChatFormatting.GRAY + aCurrentPower - + ": [" - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(this.getCharge(stack)) - + EnumChatFormatting.GRAY - + aEU - + "] [" - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(MathUtils.findPercentage(this.getCharge(stack), this.getMaxCharge(stack))) - + EnumChatFormatting.GRAY - + "%]"); - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - public final double charge(final ItemStack stack, final double amount, final int tier, - final boolean ignoreTransferLimit, final boolean simulate) { - /* - * if (!simulate) { ElectricItem.manager.charge(stack, amount, tier, true, simulate); } - */ - - return ElectricItem.manager.charge(stack, amount, tier, true, simulate); - } - - @Override - public final double discharge(final ItemStack stack, final double amount, final int tier, - final boolean ignoreTransferLimit, final boolean externally, final boolean simulate) { - /* - * if (!simulate) { ElectricItem.manager.discharge(stack, amount, tier, ignoreTransferLimit, externally, - * simulate); } - */ - - return ElectricItem.manager.discharge(stack, amount, tier, ignoreTransferLimit, externally, simulate); - } - - @Override - public final double getCharge(final ItemStack stack) { - return ElectricItem.manager.getCharge(stack); - } - - @Override - public final boolean canUse(final ItemStack stack, final double amount) { - return ElectricItem.manager.canUse(stack, amount); - } - - @Override - public final boolean use(final ItemStack stack, final double amount, final EntityLivingBase entity) { - return ElectricItem.manager.use(stack, amount, entity); - } - - @Override - public final void chargeFromArmor(final ItemStack stack, final EntityLivingBase entity) { - ElectricItem.manager.chargeFromArmor(stack, entity); - } - - @Override - public String getToolTip(final ItemStack stack) { - // return ElectricItem.manager.getToolTip(stack); - return null; - } - - @Override - public final BaubleType getBaubleType(final ItemStack arg0) { - return mType; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/bauble/FireProtectionBauble.java b/gtpp/src/main/java/gtPlusPlus/core/item/bauble/FireProtectionBauble.java deleted file mode 100644 index c3c371ae35..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/bauble/FireProtectionBauble.java +++ /dev/null @@ -1,120 +0,0 @@ -package gtPlusPlus.core.item.bauble; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.lang.reflect.Field; -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -import baubles.api.BaubleType; -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; - -public class FireProtectionBauble extends BaseBauble { - - private static Field isImmuneToFire; - - static { - isImmuneToFire = ReflectionUtils - .getField(Entity.class, !CORE_Preloader.DEV_ENVIRONMENT ? "func_70045_F" : "isImmuneToFire"); - } - - public static boolean fireImmune(Entity aEntity) { - return aEntity.isImmuneToFire(); - } - - public static boolean setEntityImmuneToFire(Entity aEntity, boolean aImmune) { - try { - return ReflectionUtils.setField(aEntity, isImmuneToFire, aImmune); - } catch (Throwable t) {} - return false; - } - - public FireProtectionBauble() { - super(BaubleType.RING); - String aUnlocalName = "GTPP.bauble.fireprotection.0" + ".name"; - this.setUnlocalizedName(aUnlocalName); - this.setTextureName(GTPlusPlus.ID + ":" + getTextureNameForBauble()); - this.setMaxDamage(100); - this.setMaxStackSize(1); - this.setNoRepair(); - this.setCreativeTab(AddToCreativeTab.tabMachines); - if (GameRegistry.findItem(GTPlusPlus.ID, aUnlocalName) == null) { - GameRegistry.registerItem(this, aUnlocalName); - } - } - - @Override - public void onUpdate(final ItemStack itemStack, final World worldObj, final Entity player, final int p_77663_4_, - final boolean p_77663_5_) { - super.onUpdate(itemStack, worldObj, player, p_77663_4_, p_77663_5_); - } - - @Override - public String getItemStackDisplayName(final ItemStack p_77653_1_) { - return (EnumChatFormatting.DARK_RED + super.getItemStackDisplayName(p_77653_1_) + EnumChatFormatting.GRAY); - } - - @Override - public boolean showDurabilityBar(final ItemStack stack) { - return false; - } - - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - public boolean canEquip(final ItemStack arg0, final EntityLivingBase arg1) { - return true; - } - - @Override - public boolean canUnequip(final ItemStack arg0, final EntityLivingBase arg1) { - return true; - } - - @Override - public void onEquipped(final ItemStack arg0, final EntityLivingBase aPlayer) {} - - @Override - public void onUnequipped(final ItemStack arg0, final EntityLivingBase aPlayer) { - if (!aPlayer.worldObj.isRemote) { - if (aPlayer instanceof EntityPlayer bPlayer) { - if (bPlayer.isPotionActive(Potion.fireResistance)) { - bPlayer.removePotionEffect(Potion.fireResistance.id); - } - setEntityImmuneToFire(bPlayer, false); - } - } - } - - @Override - public void onWornTick(final ItemStack aBaubleStack, final EntityLivingBase aPlayer) { - if (!aPlayer.worldObj.isRemote) { - if (aPlayer instanceof EntityPlayer bPlayer) { - if (!fireImmune(bPlayer)) { - setEntityImmuneToFire(bPlayer, true); - } - if (!bPlayer.isPotionActive(Potion.fireResistance)) { - bPlayer.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 100, 4)); - } - } - } - } - - public String getTextureNameForBauble() { - return "baubles/itemFireProtectGlovesBetter"; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java deleted file mode 100644 index e14d9f7f08..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java +++ /dev/null @@ -1,667 +0,0 @@ -package gtPlusPlus.core.item.chemistry; - -import static gregtech.api.enums.Mods.BiomesOPlenty; -import static gregtech.api.enums.Mods.Forestry; -import static gregtech.api.enums.Mods.TinkerConstruct; -import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; -import static gregtech.api.recipe.RecipeMaps.compressorRecipes; -import static gregtech.api.recipe.RecipeMaps.mixerRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TierEU; -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.minecraft.ItemPackage; -import gtPlusPlus.core.item.circuit.GTPP_IntegratedCircuit_Item; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.plugin.agrichem.BioRecipes; -import gtPlusPlus.plugin.agrichem.item.algae.ItemAgrichemBase; -import gtPlusPlus.plugin.agrichem.item.algae.ItemAlgaeBase; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class AgriculturalChem extends ItemPackage { - - private static boolean aBOP; - private static boolean aTiCon; - - private static AutoMap mBloodFluids = new AutoMap<>(); - - /** - * Fluids - */ - - // Poop Juice - public static Fluid PoopJuice; - // Manure Slurry - public static Fluid ManureSlurry; - // Fertile Manure Slurry - public static Fluid FertileManureSlurry; - // Blood - public static Fluid CustomBlood; - // Red Mud - public static Fluid RedMud; - /** - * Items - */ - - // Manure Byproducts - public static Item dustManureByproducts; - // Organic Fertilizer - public static Item dustOrganicFertilizer; - // Dirt - public static Item dustDirt; - - // Poop Juice - // vv - Centrifuge - // Manure Slurry && Manure Byproducts -> (Elements) Centrifuge to several tiny - // piles - // vv - Chem Reactor - Add Peat, Meat - // Organic Fertilizer - // vv - Dehydrate - // Fertilizer - - // Poop Juice - // vv - Mixer - Add Blood, Bone, Meat (1000L Poo, 200L Blood, x2 Bone, x3 Meat) - // Fertile Manure Slurry - // vv - Chem Reactor - Add Peat x1.5 - // Organic Fertilizer x3 - // vv - Dehydrate - // Fertilizer - - public static Item mAlgae; - public static Item mBioCircuit; - public static Item mAgrichemItem1; - - /* - * 0 - Algae Biomass 1 - Green Algae Biomass 2 - Brown Algae Biomass 3 - Golden-Brown Algae Biomass 4 - Red Algae - * Biomass 5 - Cellulose Fiber 6 - Golden-Brown Cellulose Fiber 7 - Red Cellulose Fiber 8 - Compost 9 - Wood Pellet - * 10 - Wood Brick 11 - Cellulose Pulp 12 - Raw Bio Resin 13 - Catalyst Carrier 14 - Green Metal Catalyst 15 - - * Alginic Acid 16 - Alumina 17 - Aluminium Pellet 18 - Sodium Aluminate 19 - Sodium Hydroxide // Exists in Newer GT - * 20 - Sodium Carbonate 21 - Lithium Chloride 22 - Pellet Mold 23 - Clean Aluminium Mix 24 - Pinecone - */ - - public static ItemStack mAlgaeBiosmass; - public static ItemStack mGreenAlgaeBiosmass; - public static ItemStack mBrownAlgaeBiosmass; - public static ItemStack mGoldenBrownAlgaeBiosmass; - public static ItemStack mRedAlgaeBiosmass; - public static ItemStack mCelluloseFiber; - public static ItemStack mGoldenBrownCelluloseFiber; - public static ItemStack mRedCelluloseFiber; - public static ItemStack mCompost; - public static ItemStack mWoodPellet; - public static ItemStack mWoodBrick; - public static ItemStack mCellulosePulp; - public static ItemStack mRawBioResin; - public static ItemStack mCatalystCarrier; - public static ItemStack mGreenCatalyst; - public static ItemStack mAlginicAcid; - public static ItemStack mAlumina; - public static ItemStack mAluminiumPellet; - public static ItemStack mSodiumAluminate; - public static ItemStack mSodiumHydroxide; - public static ItemStack mSodiumCarbonate; - public static ItemStack mLithiumChloride; - public static ItemStack mPelletMold; - public static ItemStack mCleanAluminiumMix; - public static ItemStack mPinecone; - public static ItemStack mCrushedPine; - - @Override - public void items() { - // Nitrogen, Ammonium Nitrate, Phosphates, Calcium, Copper, Carbon - dustManureByproducts = ItemUtils.generateSpecialUseDusts( - "ManureByproducts", - "Manure Byproduct", - "(N2H4O3)N2P2Ca3CuC8", - Utils.rgbtoHexValue(110, 75, 25))[0]; - - // Basically Guano - dustOrganicFertilizer = ItemUtils.generateSpecialUseDusts( - "OrganicFertilizer", - "Organic Fertilizer", - "Ca5(PO4)3(OH)", - Utils.rgbtoHexValue(240, 240, 240))[0]; - - // Dirt Dust :) - dustDirt = ItemUtils.generateSpecialUseDusts("Dirt", "Dried Earth", Utils.rgbtoHexValue(65, 50, 15))[0]; - - mAlgae = new ItemAlgaeBase(); - mAgrichemItem1 = new ItemAgrichemBase(); - mBioCircuit = new GTPP_IntegratedCircuit_Item("BioRecipeSelector", "bioscience/BioCircuit"); - GregtechItemList.Circuit_BioRecipeSelector.set(mBioCircuit); - - mAlgaeBiosmass = ItemUtils.simpleMetaStack(mAgrichemItem1, 0, 1); - mGreenAlgaeBiosmass = ItemUtils.simpleMetaStack(mAgrichemItem1, 1, 1); - mBrownAlgaeBiosmass = ItemUtils.simpleMetaStack(mAgrichemItem1, 2, 1); - mGoldenBrownAlgaeBiosmass = ItemUtils.simpleMetaStack(mAgrichemItem1, 3, 1); - mRedAlgaeBiosmass = ItemUtils.simpleMetaStack(mAgrichemItem1, 4, 1); - mCelluloseFiber = ItemUtils.simpleMetaStack(mAgrichemItem1, 5, 1); - mGoldenBrownCelluloseFiber = ItemUtils.simpleMetaStack(mAgrichemItem1, 6, 1); - mRedCelluloseFiber = ItemUtils.simpleMetaStack(mAgrichemItem1, 7, 1); - mCompost = ItemUtils.simpleMetaStack(mAgrichemItem1, 8, 1); - mWoodPellet = ItemUtils.simpleMetaStack(mAgrichemItem1, 9, 1); - mWoodBrick = ItemUtils.simpleMetaStack(mAgrichemItem1, 10, 1); - mCellulosePulp = ItemUtils.simpleMetaStack(mAgrichemItem1, 11, 1); - mRawBioResin = ItemUtils.simpleMetaStack(mAgrichemItem1, 12, 1); - mCatalystCarrier = ItemUtils.simpleMetaStack(mAgrichemItem1, 13, 1); - mGreenCatalyst = ItemUtils.simpleMetaStack(mAgrichemItem1, 14, 1); - mAlginicAcid = ItemUtils.simpleMetaStack(mAgrichemItem1, 15, 1); - mAlumina = ItemUtils.simpleMetaStack(mAgrichemItem1, 16, 1); - mAluminiumPellet = ItemUtils.simpleMetaStack(mAgrichemItem1, 17, 1); - mSodiumAluminate = ItemUtils.simpleMetaStack(mAgrichemItem1, 18, 1); - - /* - * If It exists, don't add a new one. - */ - if (OreDictionary.doesOreNameExist("dustSodiumHydroxide_GT5U") - || OreDictionary.doesOreNameExist("dustSodiumHydroxide")) { - List aTest = OreDictionary.getOres("dustSodiumHydroxide", false); - ItemStack aTestStack; - if (aTest.isEmpty()) { - aTest = OreDictionary.getOres("dustSodiumHydroxide_GT5U", false); - if (aTest.isEmpty()) { - aTestStack = ItemUtils.simpleMetaStack(mAgrichemItem1, 19, 1); - } else { - aTestStack = aTest.get(0); - } - } else { - aTestStack = aTest.get(0); - } - mSodiumHydroxide = aTestStack; - } else { - mSodiumHydroxide = ItemUtils.simpleMetaStack(mAgrichemItem1, 19, 1); - } - mSodiumCarbonate = ItemUtils.simpleMetaStack(mAgrichemItem1, 20, 1); - mLithiumChloride = ItemUtils.simpleMetaStack(mAgrichemItem1, 21, 1); - mPelletMold = ItemUtils.simpleMetaStack(mAgrichemItem1, 22, 1); - mCleanAluminiumMix = ItemUtils.simpleMetaStack(mAgrichemItem1, 23, 1); - mPinecone = ItemUtils.simpleMetaStack(mAgrichemItem1, 24, 1); - mCrushedPine = ItemUtils.simpleMetaStack(mAgrichemItem1, 25, 1); - - ItemUtils.addItemToOreDictionary(mGreenAlgaeBiosmass, "biomassGreenAlgae"); - ItemUtils.addItemToOreDictionary(mBrownAlgaeBiosmass, "biomassBrownAlgae"); - ItemUtils.addItemToOreDictionary(mGoldenBrownAlgaeBiosmass, "biomassGoldenBrownAlgae"); - ItemUtils.addItemToOreDictionary(mRedAlgaeBiosmass, "biomassRedAlgae"); - - ItemUtils.addItemToOreDictionary(mCelluloseFiber, "fiberCellulose"); - ItemUtils.addItemToOreDictionary(mGoldenBrownCelluloseFiber, "fiberCellulose"); - ItemUtils.addItemToOreDictionary(mGoldenBrownCelluloseFiber, "fiberGoldenBrownCellulose"); - ItemUtils.addItemToOreDictionary(mRedCelluloseFiber, "fiberCellulose"); - ItemUtils.addItemToOreDictionary(mRedCelluloseFiber, "fiberRedCellulose"); - - ItemUtils.addItemToOreDictionary(mWoodPellet, "pelletWood"); - ItemUtils.addItemToOreDictionary(mWoodBrick, "brickWood"); - ItemUtils.addItemToOreDictionary(mCellulosePulp, "pulpCellulose"); - - ItemUtils.addItemToOreDictionary(mCatalystCarrier, "catalystEmpty"); - ItemUtils.addItemToOreDictionary(mGreenCatalyst, "catalystAluminiumSilver"); - ItemUtils.addItemToOreDictionary(mAlginicAcid, "dustAlginicAcid"); - ItemUtils.addItemToOreDictionary(mAlumina, "dustAlumina"); - ItemUtils.addItemToOreDictionary(mAluminiumPellet, "pelletAluminium"); - - ItemUtils.addItemToOreDictionary(mSodiumAluminate, "dustSodiumAluminate"); - ItemUtils.addItemToOreDictionary(mSodiumHydroxide, "dustSodiumHydroxide"); - ItemUtils.addItemToOreDictionary(mSodiumCarbonate, "dustSodiumCarbonate"); - ItemUtils.addItemToOreDictionary(mLithiumChloride, "dustLithiumChloride"); - ItemUtils.addItemToOreDictionary(mPinecone, "pinecone"); - ItemUtils.addItemToOreDictionary(mCrushedPine, "crushedPineMaterial"); - - // Handle GT NaOH dusts - List NaOHSmall = OreDictionary.getOres("dustSmallSodiumHydroxide_GT5U", false); - if (!NaOHSmall.isEmpty()) { - ItemUtils.addItemToOreDictionary(NaOHSmall.get(0), "dustSmallSodiumHydroxide"); - } - List NaOHTiny = OreDictionary.getOres("dustTinySodiumHydroxide_GT5U", false); - if (!NaOHTiny.isEmpty()) { - ItemUtils.addItemToOreDictionary(NaOHTiny.get(0), "dustTinySodiumHydroxide"); - } - } - - @Override - public void blocks() { - // None yet - } - - @Override - public void fluids() { - // Sewage - PoopJuice = FluidUtils.generateFluidNonMolten( - "raw.waste", - "Raw Animal Waste", - 32 + 175, - new short[] { 100, 70, 30, 100 }, - null, - null, - 0, - true); - - // Sewage - ManureSlurry = FluidUtils.generateFluidNonMolten( - "manure.slurry", - "Manure Slurry", - 39 + 175, - new short[] { 75, 45, 15, 100 }, - null, - null, - 0, - true); - - // Sewage - FertileManureSlurry = FluidUtils.generateFluidNonMolten( - "fertile.manure.slurry", - "Fertile Manure Slurry", - 45 + 175, - new short[] { 65, 50, 15, 100 }, - null, - null, - 0, - true); - - RedMud = FluidUtils.generateFluidNoPrefix( - "mud.red.slurry", - "Red Mud Slurry", - 32 + 175, - new short[] { 180, 35, 25, 100 }, - true); - } - - public AgriculturalChem() { - super(); - - aBOP = BiomesOPlenty.isModLoaded(); - aTiCon = TinkerConstruct.isModLoaded(); - - Logger.INFO("Adding Agrochemical content"); - - FluidStack aBlood; - if (aBOP) { - aBlood = FluidUtils.getFluidStack("hell_blood", 100); - if (aBlood != null) { - Logger.INFO("Found Biome's o Plenty, enabled Blood support."); - CustomBlood = aBlood.getFluid(); - mBloodFluids.put(aBlood); - } - } - - if (aTiCon) { - aBlood = FluidUtils.getFluidStack("blood", 100); - if (aBlood != null) { - Logger.INFO("Found Tinker's Construct, enabled Blood support."); - CustomBlood = aBlood.getFluid(); - mBloodFluids.put(FluidUtils.getFluidStack("blood", 100)); - } - } - - // Handle Blood Internally, Create if required. - if (mBloodFluids.isEmpty() || CustomBlood == null) { - Logger.INFO( - "Did not find any existing Blood fluids. Trying to wildcard search the fluid registry, then generate our own if that fails."); - FluidStack aTempBlood = FluidUtils.getWildcardFluidStack("blood", 100); - if (aTempBlood != null) { - CustomBlood = aTempBlood.getFluid(); - } else { - aTempBlood = FluidUtils.getWildcardFluidStack("hell_blood", 100); - if (aTempBlood == null) { - CustomBlood = FluidUtils - .generateFluidNoPrefix("blood", "Blood", 32 + 175, new short[] { 175, 25, 25, 100 }, true); - } else { - CustomBlood = aTempBlood.getFluid(); - } - } - Logger.INFO("Using " + CustomBlood.getName()); - mBloodFluids.put(FluidUtils.getFluidStack(CustomBlood, 100)); - } - } - - private static final AutoMap mMeats = new AutoMap<>(); - private static final AutoMap mFish = new AutoMap<>(); - private static final AutoMap mFruits = new AutoMap<>(); - private static final AutoMap mVege = new AutoMap<>(); - private static final AutoMap mNuts = new AutoMap<>(); - private static final AutoMap mSeeds = new AutoMap<>(); - private static final AutoMap mPeat = new AutoMap<>(); - private static final AutoMap mBones = new AutoMap<>(); - private static final AutoMap mBoneMeal = new AutoMap<>(); - - private static final AutoMap mList_Master_Meats = new AutoMap<>(); - private static final AutoMap mList_Master_FruitVege = new AutoMap<>(); - private static final AutoMap mList_Master_Seeds = new AutoMap<>(); - private static final AutoMap mList_Master_Bones = new AutoMap<>(); - - private static void processAllOreDict() { - processOreDict("listAllmeatraw", mMeats); - processOreDict("listAllfishraw", mFish); - processOreDict("listAllfruit", mFruits); - processOreDict("listAllVeggie", mVege); - processOreDict("listAllnut", mNuts); - processOreDict("listAllSeed", mSeeds); - processOreDict("brickPeat", mPeat); - processOreDict("bone", mBones); - processOreDict("dustBone", mBoneMeal); - // Just make a mega list, makes life easier. - if (!mMeats.isEmpty()) { - for (ItemStack g : mMeats) { - mList_Master_Meats.put(g); - } - } - if (!mFish.isEmpty()) { - for (ItemStack g : mFish) { - mList_Master_Meats.put(g); - } - } - if (!mFruits.isEmpty()) { - for (ItemStack g : mFruits) { - mList_Master_FruitVege.put(g); - } - } - if (!mVege.isEmpty()) { - for (ItemStack g : mVege) { - mList_Master_FruitVege.put(g); - } - } - if (!mNuts.isEmpty()) { - for (ItemStack g : mNuts) { - mList_Master_FruitVege.put(g); - } - } - if (!mSeeds.isEmpty()) { - for (ItemStack g : mSeeds) { - mList_Master_Seeds.put(g); - } - } - if (!mBoneMeal.isEmpty()) { - for (ItemStack g : mBoneMeal) { - mList_Master_Bones.put(g); - } - } - if (!mBones.isEmpty()) { - for (ItemStack g : mBones) { - mList_Master_Bones.put(g); - } - } - } - - private static void processOreDict(String aOreName, AutoMap aMap) { - ArrayList aTemp = OreDictionary.getOres(aOreName); - if (!aTemp.isEmpty()) { - for (ItemStack stack : aTemp) { - aMap.put(stack); - } - } - } - - private static void addBasicSlurryRecipes() { - - ItemStack aManureByprod1 = ItemUtils.getItemStackOfAmountFromOreDict("dustTinyManureByproducts", 1); - ItemStack aManureByprod2 = ItemUtils.getItemStackOfAmountFromOreDict("dustSmallManureByproducts", 1); - ItemStack aDirtDust = ItemUtils.getSimpleStack(dustDirt, 1); - - // Poop Juice to Basic Slurry - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(10)) - .itemOutputs(aDirtDust, aDirtDust, aManureByprod1, aManureByprod1, aManureByprod1, aManureByprod1) - .outputChances(2000, 2000, 500, 500, 250, 250) - .fluidInputs(FluidUtils.getFluidStack(PoopJuice, 1000)) - .fluidOutputs(FluidUtils.getFluidStack(ManureSlurry, 250)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(centrifugeRecipes); - - // More Efficient way to get byproducts, less Slurry - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(20)) - .itemOutputs(aDirtDust, aDirtDust, aManureByprod1, aManureByprod1, aManureByprod2, aManureByprod2) - .outputChances(4000, 3000, 1250, 1250, 675, 675) - .fluidInputs(FluidUtils.getFluidStack(PoopJuice, 1000)) - .fluidOutputs(FluidUtils.getFluidStack(ManureSlurry, 50)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(centrifugeRecipes); - } - - private static void addAdvancedSlurryRecipes() { - - ItemStack aCircuit = GT_Utility.getIntegratedCircuit(10); - ItemStack aBone; - ItemStack aMeat; - ItemStack aEmptyCells = Materials.Empty.getCells(2); - ItemStack aInputCells = ItemUtils.getItemStackOfAmountFromOreDict("cellRawAnimalWaste", 2); - FluidStack aOutput = FluidUtils.getFluidStack(FertileManureSlurry, 1000); - - for (FluidStack aBloodStack : mBloodFluids) { - for (ItemStack aBoneStack : mList_Master_Bones) { - aBone = ItemUtils.getSimpleStack(aBoneStack, 2); - for (ItemStack aMeatStack : mList_Master_Meats) { - aMeat = ItemUtils.getSimpleStack(aMeatStack, 5); - // Poop Juice to Fertile Slurry - GT_Values.RA.stdBuilder() - .itemInputs(aCircuit, aBone, aMeat, aInputCells) - .itemOutputs(aEmptyCells) - .fluidInputs(aBloodStack) - .fluidOutputs(aOutput) - .duration(8 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(mixerRecipes); - } - } - } - } - - private static void addBasicOrganiseFertRecipes() { - FluidStack aInputFluid = FluidUtils.getFluidStack(ManureSlurry, 1000); - ItemStack aOutputDust = ItemUtils.getSimpleStack(dustOrganicFertilizer, 3); - ItemStack aPeat; - ItemStack aMeat; - for (ItemStack aPeatStack : mPeat) { - aPeat = ItemUtils.getSimpleStack(aPeatStack, 3); - for (ItemStack aMeatStack : mList_Master_Meats) { - aMeat = ItemUtils.getSimpleStack(aMeatStack, 5); - GT_Values.RA.stdBuilder() - .itemInputs(aPeat, aMeat) - .itemOutputs(aOutputDust) - .fluidInputs(aInputFluid) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(UniversalChemical); - } - aPeat = ItemUtils.getSimpleStack(aPeatStack, 2); - for (ItemStack aMeatStack : mList_Master_FruitVege) { - aMeat = ItemUtils.getSimpleStack(aMeatStack, 9); - GT_Values.RA.stdBuilder() - .itemInputs(aPeat, aMeat) - .itemOutputs(aOutputDust) - .fluidInputs(aInputFluid) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(UniversalChemical); - } - } - } - - private static void addAdvancedOrganiseFertRecipes() { - FluidStack aInputFluid = FluidUtils.getFluidStack(FertileManureSlurry, 1000); - ItemStack aOutputDust = ItemUtils.getSimpleStack(dustOrganicFertilizer, 7); - ItemStack aPeat; - ItemStack aMeat; - for (ItemStack aPeatStack : mPeat) { - aPeat = ItemUtils.getSimpleStack(aPeatStack, 5); - for (ItemStack aMeatStack : mList_Master_Meats) { - aMeat = ItemUtils.getSimpleStack(aMeatStack, 7); - GT_Values.RA.stdBuilder() - .itemInputs(aPeat, aMeat) - .itemOutputs(aOutputDust) - .fluidInputs(aInputFluid) - .duration(10 * SECONDS) - .eut(140) - .addTo(UniversalChemical); - } - aPeat = ItemUtils.getSimpleStack(aPeatStack, 3); - for (ItemStack aMeatStack : mList_Master_FruitVege) { - aMeat = ItemUtils.getSimpleStack(aMeatStack, 12); - GT_Values.RA.stdBuilder() - .itemInputs(aPeat, aMeat) - .itemOutputs(aOutputDust) - .fluidInputs(aInputFluid) - .duration(5 * SECONDS) - .eut(140) - .addTo(UniversalChemical); - } - } - } - - public static ItemStack aFertForestry; - public static ItemStack aFertIC2; - - private static void addMiscRecipes() { - - ItemStack aDustOrganicFert = ItemUtils.getSimpleStack(dustOrganicFertilizer, 1); - ItemStack aManureByprod = ItemUtils.getSimpleStack(dustManureByproducts, 1); - - // Dehydrate Organise Fert to Normal Fert. - - /* - * Forestry Support - */ - if (Forestry.isModLoaded()) { - Field aItemField = ReflectionUtils - .getField(ReflectionUtils.getClass("forestry.plugins.PluginCore"), "items"); - try { - Object aItemRegInstance = aItemField != null ? aItemField.get(aItemField) : null; - if (aItemRegInstance != null) { - Field aFertField = ReflectionUtils.getField(aItemRegInstance.getClass(), "fertilizerCompound"); - Object aItemInstance = aFertField.get(aItemRegInstance); - if (aItemInstance instanceof Item aForestryFert) { - aFertForestry = ItemUtils.getSimpleStack((Item) aItemInstance); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(11), - ItemUtils.getSimpleStack(aDustOrganicFert, 4) }, - null, - null, - new ItemStack[] { ItemUtils.getSimpleStack(aForestryFert, 3), aManureByprod, - aManureByprod }, - new int[] { 10000, 2000, 2000 }, - 20 * 20, - 240); - } - } - } catch (IllegalArgumentException | IllegalAccessException e) { - - } - } - - /* - * IC2 Support - */ - aFertIC2 = ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 1); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(12), ItemUtils.getSimpleStack(aDustOrganicFert, 4) }, - null, - null, - new ItemStack[] { ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 3), aManureByprod, aManureByprod }, - new int[] { 10000, 2000, 2000 }, - 20 * 20, - 240); - - // Dirt Production - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(dustDirt, 9)) - .itemOutputs(ItemUtils.getSimpleStack(Blocks.dirt)) - .duration(2 * SECONDS) - .eut(8) - .addTo(compressorRecipes); - - // Centrifuge Byproducts - - // Ammonium Nitrate, Phosphates, Calcium, Copper, Carbon - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(aManureByprod, 4), GT_Utility.getIntegratedCircuit(20)) - .itemOutputs( - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Phosphorus, 2L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Calcium, 2L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), - ItemUtils.getSimpleStack(dustDirt, 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAmmoniumNitrate", 1)) - .outputChances(2500, 2500, 750, 1000, 5000, 250) - .fluidInputs(Materials.SulfuricAcid.getFluid(250)) - .fluidOutputs(FluidUtils.getFluidStack("sulfuricapatite", 50)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(centrifugeRecipes); - - // Add Fuel Usages - CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(PoopJuice, 1000), 12); - CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(ManureSlurry, 1000), 24); - CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(FertileManureSlurry, 1000), 32); - - // Red Slurry / Tailings Processing - GT_Values.RA.stdBuilder() - .itemInputs(CI.getNumberedBioCircuit(10)) - .itemOutputs( - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Iron, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Copper, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Tin, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Sulfur, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Nickel, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L)) - .outputChances(3000, 3000, 2000, 2000, 1000, 1000) - .fluidInputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 1000)) - .fluidOutputs(Materials.Water.getFluid(500)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(centrifugeRecipes); - } - - @Override - public String errorMessage() { - return "Failed to generate recipes for AgroChem."; - } - - @Override - public boolean generateRecipes() { - if (mBloodFluids.isEmpty()) { - Logger.INFO("Could not find, nor create Blood fluid. Unable to add recipes."); - return false; - } - - // Organise OreDict - processAllOreDict(); - - // Slurry Production - addBasicSlurryRecipes(); - addAdvancedSlurryRecipes(); - - // Organic Fert. Production - addBasicOrganiseFertRecipes(); - addAdvancedOrganiseFertRecipes(); - - addMiscRecipes(); - - BioRecipes.init(); - - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java b/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java deleted file mode 100644 index 1fafbb5088..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java +++ /dev/null @@ -1,319 +0,0 @@ -package gtPlusPlus.core.item.chemistry; - -import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; -import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; -import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.minecraft.ItemPackage; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.AddGregtechRecipe; - -public class CoalTar extends ItemPackage { - - public static Fluid Coal_Gas; - public static Fluid Coal_Oil; - public static Fluid Ethylene; - public static Fluid Ethylbenzene; - public static Fluid Anthracene; - public static Fluid Toluene; - public static Fluid Coal_Tar; - public static Fluid Coal_Tar_Oil; - public static Fluid Sulfuric_Coal_Tar_Oil; - public static Fluid Naphthalene; - - public static void recipeCreateEthylene() { - - FluidStack bioEth1 = FluidUtils.getFluidStack("fluid.bioethanol", 1000); - FluidStack bioEth2 = FluidUtils.getFluidStack("bioethanol", 1000); - - // C2H6O = C2H4 + H2O - if (bioEth1 != null) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(17), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1) }, - bioEth1, - FluidUtils.getWater(1000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1) }, - new int[] { 10000 }, - 120 * 20, - 80); - } - - if (bioEth2 != null) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(18), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1) }, - bioEth2, - FluidUtils.getWater(1000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1) }, - new int[] { 10000 }, - 120 * 20, - 80); - } - } - - public static void recipeCreateBenzene() { - // C7H8 + 2H = CH4 + C6H6 - GT_Values.RA.stdBuilder() - .itemInputs(Materials.Toluene.getCells(1)) - .itemOutputs(Materials.Benzene.getCells(1)) - .fluidInputs(Materials.Hydrogen.getGas(2000)) - .fluidOutputs(Materials.Methane.getGas(1000)) - .duration(10 * SECONDS) - .eut(90) - .noOptimize() - .addTo(chemicalDehydratorRecipes); - } - - public static void recipeCreateEthylbenzene() { - // C2H4 + C6H6 = C8H10 - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 2), - ItemUtils.getGregtechCircuit(1), - FluidUtils.getFluidStack("benzene", 2000), - FluidUtils.getFluidStack("fluid.ethylbenzene", 2000), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), - 300); - - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellBenzene", 2), - ItemUtils.getGregtechCircuit(1), - FluidUtils.getFluidStack("ethylene", 2000), - FluidUtils.getFluidStack("fluid.ethylbenzene", 2000), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), - 300); - } - - public static void recipeCoalToCoalTar() { - // Charcoal - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 32L), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDirt", 2), - FluidUtils.getFluidStack("fluid.coaltar", 800), - 15, - 120); - // Lignite - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 16L), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2), - FluidUtils.getFluidStack("fluid.coaltar", 800), - 45, - 60); - - // Coal - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2), - FluidUtils.getFluidStack("fluid.coaltar", 2200), - 30, - 120); - - // Coke - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 8), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallAsh", 3), - FluidUtils.getFluidStack("fluid.coaltar", 3400), - 15, - 240); - } - - private static void recipeCoalTarToCoalTarOil() { - // v - Distill (60% Tar oil/15% Naphtha/20% Ethylbenzene/5% Anthracene) +60% Kerosene - // Create Coal Tar Oil - - FluidStack[] distOutputs = new FluidStack[] { FluidUtils.getFluidStack("fluid.coaltaroil", 600), - FluidUtils.getFluidStack("liquid_naphtha", 150), FluidUtils.getFluidStack("fluid.ethylbenzene", 200), - FluidUtils.getFluidStack("fluid.anthracene", 50), FluidUtils.getFluidStack("fluid.kerosene", 600) }; - for (int i = 0; i < distOutputs.length; i++) { - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(i + 1)) - .fluidInputs(FluidUtils.getFluidStack("fluid.coaltar", 1000)) - .fluidOutputs(distOutputs[i]) - .duration(30 * SECONDS) - .eut(64) - .addTo(distilleryRecipes); - } - GT_Values.RA.stdBuilder() - .fluidInputs(FluidUtils.getFluidStack("fluid.coaltar", 1000)) - .fluidOutputs(distOutputs) - .duration(15 * SECONDS) - .eut(256) - .addTo(distillationTowerRecipes); - } - - private static void recipeCoalTarOilToSulfuricOilToNaphthalene() { - // SulfuricCoalTarOil - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 8), - ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 8), - null, - null, - ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 16), - 20 * 16); - GT_Values.RA.addDistilleryRecipe( - CI.getNumberedCircuit(6), // Circuit - FluidUtils.getFluidStack("fluid.sulfuriccoaltaroil", 1000), // aInput - FluidUtils.getFluidStack("fluid.naphthalene", 1000), // aOutput - 1200, // aDuration - 30, // aEUt - false // Hidden? - ); - } - - private static void recipeNaphthaleneToPhthalicAcid() { - // SulfuricCoalTarOil - GT_Values.RA.stdBuilder() - .itemInputs(Materials.Lithium.getDust(5)) - .fluidInputs(FluidUtils.getFluidStack(Naphthalene, 2000)) - .fluidOutputs(Materials.PhthalicAcid.getFluid(2500)) - .eut(30) - .duration(16 * SECONDS) - .noOptimize() - .addTo(UniversalChemical); - } - - private static void recipePhthalicAcidToPhthalicAnhydride() { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(15) }, - Materials.PhthalicAcid.getFluid(1000), - null, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15) }, - new int[] { 10000 }, - 60 * 20, - 120); - } - - @Override - public String errorMessage() { - return "Bad Coal Science!"; - } - - @Override - public boolean generateRecipes() { - recipeCreateEthylene(); - recipeCreateBenzene(); - recipeCreateEthylbenzene(); - - recipeCoalToCoalTar(); - recipeCoalTarToCoalTarOil(); - recipeCoalTarOilToSulfuricOilToNaphthalene(); - recipeNaphthaleneToPhthalicAcid(); - recipePhthalicAcidToPhthalicAnhydride(); - - // Burn the coal gas! - GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalGas", 1), null, 96, 1); - CORE.RA.addSemifluidFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 1), 64); - CORE.RA.addSemifluidFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 1), 32); - CORE.RA.addSemifluidFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTar", 1), 16); - - return true; - } - - @Override - public void items() { - // v - Dehydrate at 180C+ - // Create Phthalic Anhydride - ItemUtils.generateSpecialUseDusts( - "PhthalicAnhydride", - "Phthalic Anhydride", - "C6H4(CO)2O", - Utils.rgbtoHexValue(175, 175, 175)); - - // Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O - ItemUtils.generateSpecialUseDusts( - "LithiumHydroperoxide", - "Lithium Hydroperoxide", - "HLiO2", - Utils.rgbtoHexValue(125, 125, 125)); - // v - Dehydrate - // Lithium Peroxide - 2 LiOOH → Li2O2 + H2O2 + 2 H2O - } - - @Override - public void blocks() {} - - @Override - public void fluids() { - - // Create Coal Gas - Coal_Gas = FluidUtils - .generateFluidNonMolten("CoalGas", "Coal Gas", 500, new short[] { 48, 48, 48, 100 }, null, null); - // Ethanol - // v - Dehydrate cells to remove water - - // Create Ethylene - if (!FluidUtils.doesFluidExist("ethylene")) { - Ethylene = FluidUtils - .generateFluidNonMolten("ethylene", "Ethylene", -103, new short[] { 255, 255, 255, 100 }, null, null); - } else { - Ethylene = FluidUtils.getWildcardFluidStack("ethylene", 1) - .getFluid(); - } - - // Create Ethylbenzene - Ethylbenzene is produced in on a large scale by combining benzene and ethylene in an - // acid-catalyzed chemical reaction - // Use Chemical Reactor - Ethylbenzene = FluidUtils.generateFluidNonMolten( - "Ethylbenzene", - "Ethylbenzene", - 136, - new short[] { 255, 255, 255, 100 }, - null, - null); - // Create Anthracene - Anthracene = FluidUtils - .generateFluidNonMolten("Anthracene", "Anthracene", 340, new short[] { 255, 255, 255, 100 }, null, null); - // Toluene - if (!FluidUtils.doesFluidExist("liquid_toluene")) { - Toluene = FluidUtils - .generateFluidNonMolten("liquid_toluene", "Toluene", -95, new short[] { 140, 70, 20, 100 }, null, null); - } else { - Toluene = FluidUtils.getWildcardFluidStack("liquid_toluene", 1) - .getFluid(); - } - - // Create Coal Tar - Coal_Tar = FluidUtils - .generateFluidNonMolten("CoalTar", "Coal Tar", 450, new short[] { 32, 32, 32, 100 }, null, null); - // v - Distill (60% Tar oil/15% Naphtha/20% Ethylbenzene/5% Anthracene) - // Create Coal Tar Oil - Coal_Tar_Oil = FluidUtils - .generateFluidNonMolten("CoalTarOil", "Coal Tar Oil", 240, new short[] { 240, 240, 150, 100 }, null, null); - // v - Wash With Sulfuric Acid - // Create Sulfuric Coal Tar Oil - Sulfuric_Coal_Tar_Oil = FluidUtils.generateFluidNonMolten( - "SulfuricCoalTarOil", - "Sulfuric Coal Tar Oil", - 240, - new short[] { 250, 170, 12, 100 }, - null, - null); - // v - Distill (No loss, just time consuming) - // Create Naphthalene - Naphthalene = FluidUtils - .generateFluidNonMolten("Naphthalene", "Naphthalene", 115, new short[] { 210, 185, 135, 100 }, null, null); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java b/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java deleted file mode 100644 index 31ea030c64..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java +++ /dev/null @@ -1,961 +0,0 @@ -package gtPlusPlus.core.item.chemistry; - -import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; -import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; -import static gregtech.api.util.GT_RecipeBuilder.MINUTES; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; -import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; -import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; -import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; - -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -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.TierEU; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_RecipeConstants; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.minecraft.ItemPackage; -import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; -import gtPlusPlus.core.item.circuit.GTPP_IntegratedCircuit_Item; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.material.MaterialStack; -import gtPlusPlus.core.material.NONMATERIAL; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.plugin.agrichem.BioRecipes; -import gtPlusPlus.plugin.agrichem.block.AgrichemFluids; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class GenericChem extends ItemPackage { - - /** - * Materials - */ - - // Refined PTFE - public static final Material TEFLON = new Material( - "Teflon", - MaterialState.SOLID, - TextureSet.SET_SHINY, - new short[] { 75, 45, 75 }, - 330, - 640, - -1, - -1, - false, - null, - 0, - new MaterialStack(NONMATERIAL.PTFE, 75), - new MaterialStack(NONMATERIAL.PLASTIC, 15), - new MaterialStack(ELEMENT.getInstance().CARBON, 5), - new MaterialStack(ELEMENT.getInstance().SODIUM, 5)); - - /** - * Fluids - */ - public static Fluid Benzene; - - public static Fluid NitroBenzene; - public static Fluid Aniline; - public static Fluid Polyurethane; - public static Fluid Phenol; // https://en.wikipedia.org/wiki/Phenol#Uses - public static Fluid Cyclohexane; // https://en.wikipedia.org/wiki/Cyclohexane - public static Fluid Cyclohexanone; // https://en.wikipedia.org/wiki/Cyclohexanone - public static Fluid Cadaverine; // https://en.wikipedia.org/wiki/Cadaverine - public static Fluid Putrescine; // https://en.wikipedia.org/wiki/Putrescine - public static Fluid BoricAcid; - public static Fluid HydrochloricAcid; - - public static Fluid Ethylanthraquinone2; - public static Fluid Ethylanthrahydroquinone2; - public static Fluid Hydrogen_Peroxide; - public static Fluid Lithium_Peroxide; - public static Fluid Carbon_Disulfide; - - /** - * Items - */ - - // Phenol Byproducts - - public static ItemGenericChemBase mGenericChemItem1; - public static Item mAdvancedCircuit; - - private ItemStack mCatalystCarrier; - - public static ItemStack mRedCatalyst; - public static ItemStack mYellowCatalyst; - public static ItemStack mBlueCatalyst; - public static ItemStack mOrangeCatalyst; - public static ItemStack mPurpleCatalyst; - public static ItemStack mBrownCatalyst; - public static ItemStack mPinkCatalyst; - public static ItemStack mFormaldehydeCatalyst; - public static ItemStack mSolidAcidCatalyst; - public static ItemStack mInfiniteMutationCatalyst; - - // QFT Catalysts - public static ItemStack mPlatinumGroupCatalyst; - public static ItemStack mPlasticPolymerCatalyst; - public static ItemStack mRubberPolymerCatalyst; - public static ItemStack mAdhesionPromoterCatalyst; - public static ItemStack mTitaTungstenIndiumCatalyst; - public static ItemStack mRadioactivityCatalyst; - public static ItemStack mRareEarthGroupCatalyst; - public static ItemStack mLimpidWaterCatalyst; - public static ItemStack mSimpleNaquadahCatalyst; - public static ItemStack mAdvancedNaquadahCatalyst; - public static ItemStack mRawIntelligenceCatalyst; - public static ItemStack mParticleAccelerationCatalyst; - public static ItemStack mUltimatePlasticCatalyst; - public static ItemStack mBiologicalIntelligenceCatalyst; - public static ItemStack mFlawlessWaterCatalyst; - public static ItemStack TemporalHarmonyCatalyst; - public static ItemStack mSynchrotronCapableCatalyst; - public static ItemStack mAlgagenicGrowthPromoterCatalyst; - - public static ItemStack mMillingBallAlumina; - public static ItemStack mMillingBallSoapstone; - - public static ItemStack mSodiumEthoxide; - public static ItemStack mSodiumEthylXanthate; - public static ItemStack mPotassiumEthylXanthate; - public static ItemStack mPotassiumHydroxide; - - @Override - public void items() { - - MaterialGenerator.generate(TEFLON, false); - - mGenericChemItem1 = new ItemGenericChemBase(); - mAdvancedCircuit = new GTPP_IntegratedCircuit_Item("T3RecipeSelector", "science/general/AdvancedCircuit"); - GregtechItemList.Circuit_T3RecipeSelector.set(mAdvancedCircuit); - - registerItemStacks(); - registerOreDict(); - - GregtechItemList.Milling_Ball_Alumina.set(mMillingBallAlumina); - GregtechItemList.Milling_Ball_Soapstone.set(mMillingBallSoapstone); - } - - public void registerItemStacks() { - - mCatalystCarrier = ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 13, 1); - - mRedCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 0, 1); - mYellowCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 1, 1); - mBlueCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 2, 1); - mOrangeCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 3, 1); - mPurpleCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 4, 1); - mBrownCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 5, 1); - mPinkCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 6, 1); - mMillingBallAlumina = ItemUtils.simpleMetaStack(mGenericChemItem1, 7, 1); - mMillingBallSoapstone = ItemUtils.simpleMetaStack(mGenericChemItem1, 8, 1); - mSodiumEthoxide = ItemUtils.simpleMetaStack(mGenericChemItem1, 9, 1); - mSodiumEthylXanthate = ItemUtils.simpleMetaStack(mGenericChemItem1, 10, 1); - mPotassiumEthylXanthate = ItemUtils.simpleMetaStack(mGenericChemItem1, 11, 1); - mPotassiumHydroxide = ItemUtils.simpleMetaStack(mGenericChemItem1, 12, 1); - mFormaldehydeCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 13, 1); - mSolidAcidCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 14, 1); - mInfiniteMutationCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 15, 1); - - // QFT Catalysts - mPlatinumGroupCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 16, 1); - mPlasticPolymerCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 17, 1); - mRubberPolymerCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 18, 1); - mAdhesionPromoterCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 19, 1); - mTitaTungstenIndiumCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 20, 1); - mRadioactivityCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 21, 1); - mRareEarthGroupCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 22, 1); - mSimpleNaquadahCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 23, 1); - mAdvancedNaquadahCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 24, 1); - mRawIntelligenceCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 25, 1); - mUltimatePlasticCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 26, 1); - mBiologicalIntelligenceCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 27, 1); - TemporalHarmonyCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 28, 1); - mLimpidWaterCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 29, 1); - mFlawlessWaterCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 30, 1); - mParticleAccelerationCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 31, 1); - mSynchrotronCapableCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 32, 1); - mAlgagenicGrowthPromoterCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 33, 1); - } - - public void registerOreDict() { - - ItemUtils.addItemToOreDictionary(mRedCatalyst, "catalystIronCopper"); - ItemUtils.addItemToOreDictionary(mYellowCatalyst, "catalystTungstenNickel"); - ItemUtils.addItemToOreDictionary(mBlueCatalyst, "catalystCobaltTitanium"); - ItemUtils.addItemToOreDictionary(mOrangeCatalyst, "catalystVanadiumPalladium"); - ItemUtils.addItemToOreDictionary(mPurpleCatalyst, "catalystIridiumRuthenium"); - ItemUtils.addItemToOreDictionary(mBrownCatalyst, "catalystNickelAluminium"); - ItemUtils.addItemToOreDictionary(mPinkCatalyst, "catalystPlatinumRhodium"); - ItemUtils.addItemToOreDictionary(mMillingBallAlumina, "millingballAlumina"); - ItemUtils.addItemToOreDictionary(mMillingBallSoapstone, "millingballSoapstone"); - ItemUtils.addItemToOreDictionary(mSodiumEthoxide, "dustSodiumEthoxide"); - ItemUtils.addItemToOreDictionary(mSodiumEthylXanthate, "dustSodiumEthylXanthate"); - ItemUtils.addItemToOreDictionary(mPotassiumEthylXanthate, "dustPotassiumEthylXanthate"); - ItemUtils.addItemToOreDictionary(mPotassiumHydroxide, "dustPotassiumHydroxide"); - ItemUtils.addItemToOreDictionary(mFormaldehydeCatalyst, "catalystFormaldehyde"); - ItemUtils.addItemToOreDictionary(mSolidAcidCatalyst, "catalystSolidAcid"); - ItemUtils.addItemToOreDictionary(mInfiniteMutationCatalyst, "catalystInfiniteMutation"); - ItemUtils.addItemToOreDictionary(mPlatinumGroupCatalyst, "catalystPlatinumGroup"); - ItemUtils.addItemToOreDictionary(mPlasticPolymerCatalyst, "catalystPlasticPolymer"); - ItemUtils.addItemToOreDictionary(mRubberPolymerCatalyst, "catalystRubberPolymer"); - ItemUtils.addItemToOreDictionary(mAdhesionPromoterCatalyst, "catalystAdhesionPromoter"); - ItemUtils.addItemToOreDictionary(mTitaTungstenIndiumCatalyst, "catalystTitaTungstenIndium"); - ItemUtils.addItemToOreDictionary(mRadioactivityCatalyst, "catalystRadioactivity"); - ItemUtils.addItemToOreDictionary(mRareEarthGroupCatalyst, "catalystRareEarthGroup"); - ItemUtils.addItemToOreDictionary(mSimpleNaquadahCatalyst, "catalystSimpleNaquadah"); - ItemUtils.addItemToOreDictionary(mAdvancedNaquadahCatalyst, "catalystAdvancedNaquadah"); - ItemUtils.addItemToOreDictionary(mRawIntelligenceCatalyst, "catalystRawIntelligence"); - ItemUtils.addItemToOreDictionary(mUltimatePlasticCatalyst, "catalystUltimatePlastic"); - ItemUtils.addItemToOreDictionary(mBiologicalIntelligenceCatalyst, "catalystBiologicalIntelligence"); - ItemUtils.addItemToOreDictionary(TemporalHarmonyCatalyst, "catalystTemporalHarmony"); - ItemUtils.addItemToOreDictionary(mLimpidWaterCatalyst, "catalystLimpidWater"); - ItemUtils.addItemToOreDictionary(mFlawlessWaterCatalyst, "catalystFlawlessWater"); - ItemUtils.addItemToOreDictionary(mParticleAccelerationCatalyst, "catalystParticleAcceleration"); - ItemUtils.addItemToOreDictionary(mSynchrotronCapableCatalyst, "catalystSynchrotronCapable"); - ItemUtils.addItemToOreDictionary(mAlgagenicGrowthPromoterCatalyst, "catalystAlgagenicGrowthPromoter"); - } - - @Override - public void blocks() {} - - @Override - public void fluids() { - - if (!FluidRegistry.isFluidRegistered("benzene")) { - Benzene = FluidUtils - .generateFluidNoPrefix("benzene", "Benzene", 278, new short[] { 100, 70, 30, 100 }, true); - } else { - Benzene = FluidRegistry.getFluid("benzene"); - } - - NitroBenzene = FluidUtils - .generateFluidNoPrefix("nitrobenzene", "Nitrobenzene", 278, new short[] { 70, 50, 40, 100 }, true); - - Aniline = FluidUtils.generateFluidNoPrefix("aniline", "Aniline", 266, new short[] { 100, 100, 30, 100 }, true); - - BoricAcid = FluidUtils - .generateFluidNoPrefix("boricacid", "Boric Acid", 278, new short[] { 90, 30, 120, 100 }, true); - - Polyurethane = FluidUtils - .generateFluidNoPrefix("polyurethane", "Polyurethane", 350, new short[] { 100, 70, 100, 100 }, true); - - if (!FluidRegistry.isFluidRegistered("phenol")) { - Phenol = FluidUtils.generateFluidNoPrefix("phenol", "Phenol", 313, new short[] { 100, 70, 30, 100 }, true); - } else { - Phenol = FluidRegistry.getFluid("phenol"); - } - - // Use GT's if it exists, else make our own. - if (FluidRegistry.isFluidRegistered("hydrochloricacid_gt5u")) { - HydrochloricAcid = FluidRegistry.getFluid("hydrochloricacid_gt5u"); - } else { - HydrochloricAcid = FluidUtils.generateFluidNoPrefix( - "hydrochloricacid", - "Hydrochloric Acid", - 285, - new short[] { 183, 200, 196, 100 }, - true); - } - - Cyclohexane = FluidUtils - .generateFluidNoPrefix("cyclohexane", "Cyclohexane", 32 + 175, new short[] { 100, 70, 30, 100 }, true); - Cyclohexanone = FluidUtils - .generateFluidNoPrefix("cyclohexanone", "Cyclohexanone", 32 + 175, new short[] { 100, 70, 30, 100 }, true); - - Cadaverine = FluidUtils - .generateFluidNoPrefix("cadaverine", "Cadaverine", 32 + 175, new short[] { 100, 70, 30, 100 }, true); - Putrescine = FluidUtils - .generateFluidNoPrefix("putrescine", "Putrescine", 32 + 175, new short[] { 100, 70, 30, 100 }, true); - - // Create 2-Ethylanthraquinone - // 2-Ethylanthraquinone is prepared from the reaction of phthalic anhydride and ethylbenzene - Ethylanthraquinone2 = FluidUtils.generateFluidNonMolten( - "2Ethylanthraquinone", - "2-Ethylanthraquinone", - 415, - new short[] { 227, 255, 159, 100 }, - null, - null); - // Create 2-Ethylanthrahydroquinone - // Palladium plate + Hydrogen(250) + 2-Ethylanthraquinone(500) = 600 Ethylanthrahydroquinone - Ethylanthrahydroquinone2 = FluidUtils.generateFluidNonMolten( - "2Ethylanthrahydroquinone", - "2-Ethylanthrahydroquinone", - 415, - new short[] { 207, 225, 129, 100 }, - null, - null); - // Create Hydrogen Peroxide - // Compressed Air(1500) + Ethylanthrahydroquinone(500) + Anthracene(5) = 450 Ethylanthraquinone && 200 Peroxide - Hydrogen_Peroxide = FluidUtils.generateFluidNonMolten( - "HydrogenPeroxide", - "Hydrogen Peroxide", - 150, - new short[] { 210, 255, 255, 100 }, - null, - null); - - // Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O - // ItemUtils.generateSpecialUseDusts("LithiumHydroperoxide", "Lithium Hydroperoxide", "HLiO2", - // Utils.rgbtoHexValue(125, 125, 125)); - // v - Dehydrate - // Lithium Peroxide - 2 LiOOH → Li2O2 + H2O2 + 2 H2O - Lithium_Peroxide = FluidUtils.generateFluidNonMolten( - "LithiumPeroxide", - "Lithium Peroxide", - 446, - new short[] { 135, 135, 135, 100 }, - null, - null); - - Carbon_Disulfide = FluidUtils - .generateFluidNoPrefix("CarbonDisulfide", "Carbon Disulfide", 350, new short[] { 175, 175, 175, 100 }); - } - - @Override - public String errorMessage() { - return "Failed to generate recipes for GenericChem."; - } - - @Override - public boolean generateRecipes() { - - recipeAdvancedChip(); - recipeCatalystRed(); - recipeCatalystYellow(); - recipeCatalystBlue(); - recipeCatalystOrange(); - recipeCatalystPurple(); - recipeCatalystBrown(); - recipeCatalystPink(); - recipeCatalystFormaldehyde(); - recipeCatalystSolidAcid(); - recipeCatalystInfiniteMutation(); - - recipeGrindingBallAlumina(); - recipeGrindingBallSoapstone(); - - recipeNitroBenzene(); - recipeAniline(); - recipeCadaverineAndPutrescine(); - recipeCyclohexane(); - recipeCyclohexanone(); - - recipe2Ethylanthraquinone(); - recipe2Ethylanthrahydroquinone(); - recipeHydrogenPeroxide(); - recipeLithiumHydroperoxide(); - recipeLithiumPeroxide(); - - recipeSodiumEthoxide(); - recipeCarbonDisulfide(); - recipeEthylXanthates(); - recipePotassiumHydroxide(); - - recipeMutatedLivingSolder(); - - registerFuels(); - - return true; - } - - private void recipeSodiumEthoxide() { - // C2H5OH + Na → C2H5ONa + H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(16), ELEMENT.getInstance().SODIUM.getDust(1) }, - new FluidStack[] { Materials.Ethanol.getFluid(1000) }, - new ItemStack[] { ItemUtils.getSimpleStack(mSodiumEthoxide, 9) }, - new FluidStack[] { ELEMENT.getInstance().HYDROGEN.getFluidStack(1000) }, - 20 * 20, - 120, - 2); - } - - private void recipePotassiumHydroxide() { - // Ca(OH)2 + K2O + CO2 → CaCO3 + 2 KOH - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(18), Materials.Potash.getDust(3), - ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), }, - new FluidStack[] { Materials.CarbonDioxide.getGas(1000) }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5), - ItemUtils.getSimpleStack(mPotassiumHydroxide, 6) }, - new FluidStack[] {}, - 20 * 30, - 120, - 2); - } - - private void recipeEthylXanthates() { - - // Potassium ethyl xanthate - CH3CH2OH + CS2 + KOH → C3H5KOS2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), ItemUtils.getSimpleStack(mPotassiumHydroxide, 3), }, - new FluidStack[] { Materials.Ethanol.getFluid(1000), FluidUtils.getFluidStack(Carbon_Disulfide, 1000), }, - new ItemStack[] { ItemUtils.getSimpleStack(mPotassiumEthylXanthate, 12) }, - new FluidStack[] { FluidUtils.getWater(1000) }, - 20 * 60, - 120, - 4); - - // Sodium ethyl xanthate - CH3CH2ONa + CS2 → CH3CH2OCS2Na - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), ItemUtils.getSimpleStack(mSodiumEthoxide, 9) }, - new FluidStack[] { FluidUtils.getFluidStack(Carbon_Disulfide, 1000), }, - new ItemStack[] { ItemUtils.getSimpleStack(mSodiumEthylXanthate, 12) }, - new FluidStack[] {}, - 20 * 60, - 120, - 4); - } - - private void recipeCarbonDisulfide() { - - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 8), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 16L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1L)) - .fluidOutputs(FluidUtils.getFluidStack(Carbon_Disulfide, 4000)) - .duration(10 * MINUTES) - .eut(TierEU.RECIPE_LV) - .metadata(COIL_HEAT, 1500) - .addTo(blastFurnaceRecipes); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(mBrownCatalyst, 0), - ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 4) }, - new FluidStack[] { FluidUtils.getFluidStack(CoalTar.Coal_Gas, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Carbon_Disulfide, 2000) }, - 20 * 60 * 5, - 30, - 2); - } - - private void recipeMutatedLivingSolder() { - - // Endgame soldering alloy meant for the bioware circuit line and beyond. - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mInfiniteMutationCatalyst, 0), - ItemList.Circuit_Chip_Biocell.get(64), ItemList.Gravistar.get(8), - Materials.InfinityCatalyst.getDust(2) }, - new FluidStack[] { FluidUtils.getFluidStack("plasma.tin", 18000), - FluidUtils.getFluidStack("plasma.bismuth", 18000), FluidUtils.getFluidStack("cryotheum", 4000) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 280) }, - 20 * 800, - 3842160, - 7); - } - - private static void registerFuels() { - - // Burnables - - // Gas Fuels - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("cellNitrobenzene", 1)) - .metadata(FUEL_VALUE, 1600) - .metadata(FUEL_TYPE, 1) - .duration(0) - .eut(0) - .addTo(GT_RecipeConstants.Fuel); - } - - private void recipeGrindingBallAlumina() { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mAlumina, 64), GT_Utility.getIntegratedCircuit(10)) - .itemOutputs(ItemUtils.getSimpleStack(mMillingBallAlumina, 8)) - .fluidInputs(FluidUtils.getFluidStack(GenericChem.Aniline, 4000)) - .duration(3 * MINUTES) - .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); - } - - private void recipeGrindingBallSoapstone() { - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Soapstone, 32L), - GT_Utility.getIntegratedCircuit(10)) - .itemOutputs(ItemUtils.getSimpleStack(mMillingBallSoapstone, 8)) - .fluidInputs(FluidUtils.getFluidStack(AgrichemFluids.mLiquidResin, 2500)) - .duration(2 * MINUTES) - .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); - } - - private void recipeCyclohexane() { - - // C6H6 + 6H = C6H12 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(mBrownCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack(Benzene, 1000), FluidUtils.getFluidStack("hydrogen", 6000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexane, 1000), }, - 20 * 120, - 120, - 2); - } - - private void recipeCyclohexanone() { - - // C6H12 + 2O(Air) = C6H10O + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("air", 4000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexanone, 1000), }, - 20 * 120, - 120, - 2); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), }, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("oxygen", 2000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexanone, 1000), }, - 20 * 120, - 120, - 2); - } - - private void recipeCatalystRed() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierOneChip(), - CI.getEmptyCatalyst(10), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 2L)) - .itemOutputs(ItemUtils.getSimpleStack(mRedCatalyst, 10)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(assemblerRecipes); - } - - private void recipeCatalystYellow() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierThreeChip(), - CI.getEmptyCatalyst(10), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 4L)) - .itemOutputs(ItemUtils.getSimpleStack(mYellowCatalyst, 10)) - .duration(1 * MINUTES) - .eut(TierEU.RECIPE_EV) - .addTo(assemblerRecipes); - } - - private void recipeCatalystBlue() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierTwoChip(), - CI.getEmptyCatalyst(10), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 3L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 3L)) - .itemOutputs(ItemUtils.getSimpleStack(mBlueCatalyst, 10)) - .duration(40 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); - } - - private void recipeCatalystOrange() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierTwoChip(), - CI.getEmptyCatalyst(10), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 5L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 5L)) - .itemOutputs(ItemUtils.getSimpleStack(mOrangeCatalyst, 10)) - .duration(40 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); - } - - private void recipeCatalystPurple() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierFourChip(), - CI.getEmptyCatalyst(10), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 6L), - ELEMENT.getInstance().RUTHENIUM.getDust(6)) - .itemOutputs(ItemUtils.getSimpleStack(mPurpleCatalyst, 10)) - .duration(2 * MINUTES) - .eut(TierEU.RECIPE_IV) - .addTo(assemblerRecipes); - } - - private void recipeCatalystBrown() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierOneChip(), - CI.getEmptyCatalyst(10), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4L)) - .itemOutputs(ItemUtils.getSimpleStack(mBrownCatalyst, 10)) - .duration(15 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(assemblerRecipes); - } - - private void recipeCatalystPink() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierThreeChip(), - CI.getEmptyCatalyst(10), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 4L), - ELEMENT.getInstance().RHODIUM.getDust(4)) - .itemOutputs(ItemUtils.getSimpleStack(mPinkCatalyst, 10)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_EV) - .addTo(assemblerRecipes); - } - - private void recipeCatalystFormaldehyde() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierThreeChip(), - CI.getEmptyCatalyst(4), - ItemUtils.getSimpleStack(RocketFuels.Formaldehyde_Catalyst_Dust, 8)) - .itemOutputs(ItemUtils.getSimpleStack(mFormaldehydeCatalyst, 4)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_HV / 2) - .addTo(assemblerRecipes); - } - - private void recipeCatalystSolidAcid() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierThreeChip(), - CI.getEmptyCatalyst(5), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lapis, 2L)) - .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 5)) - .fluidInputs(MISC_MATERIALS.SOLID_ACID_MIXTURE.getFluidStack(1000)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_EV) - .addTo(assemblerRecipes); - } - - private void recipeCatalystInfiniteMutation() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getTierThreeChip(), - CI.getEmptyCatalyst(5), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Infinity, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 10L)) - .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mInfiniteMutationCatalyst, 5)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_UHV) - .addTo(assemblerRecipes); - } - - private void recipeCadaverineAndPutrescine() { - - // Basic Recipe - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierOneChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 64) }, - new FluidStack[] { FluidUtils.getHotWater(2000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cadaverine, 250), FluidUtils.getFluidStack(Putrescine, 250), }, - 20 * 120, - 120, - 1); - - // Advanced Recipe - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 128), - ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 8, 32) }, - new FluidStack[] { FluidUtils.getHotWater(3000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cadaverine, 750), FluidUtils.getFluidStack(Putrescine, 750), }, - 20 * 120, - 240, - 2); - } - - private void recipeAniline() { - - // C6H5NO2 + 6H = C6H7N + 2H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierThreeChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack(NitroBenzene, 1000), - FluidUtils.getFluidStack("hydrogen", 6000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Aniline, 1000), }, - 20 * 30, - 500, - 3); - } - - private void recipeNitroBenzene() { - - // C6H6 + HNO3 =H2SO4= C6H5NO2 +H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierThreeChip(), }, - new FluidStack[] { FluidUtils.getFluidStack(Benzene, 5000), FluidUtils.getFluidStack("sulfuricacid", 1000), - FluidUtils.getFluidStack("nitricacid", 5000), FluidUtils.getDistilledWater(10000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(NitroBenzene, 5000), }, - 20 * 30, - 500, - 4); - } - - private void recipe2Ethylanthraquinone() { - - // C6H4(CO)2O + C6H5CH2CH3 = C6H4(CO)2C6H3CH2CH3 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), - ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15), }, - new FluidStack[] { FluidUtils.getFluidStack(CoalTar.Ethylbenzene, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 1000), }, - 20 * 15, - 120, - 2); - } - - private void recipe2Ethylanthrahydroquinone() { - - // C6H4(CO)2C6H3CH2CH3 + 2H = C6H4(COH)2C6H3CH2CH3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), ItemUtils.getSimpleStack(mOrangeCatalyst, 0), }, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 1000), - FluidUtils.getFluidStack("hydrogen", 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 1000), }, - 20 * 40, - 120, - 2); - } - - private void recipeLithiumPeroxide() { - // 2HLiO2 = Li2O2 + H2O2 - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroperoxide", 8)) - .fluidOutputs(FluidUtils.getFluidStack("fluid.hydrogenperoxide", 1000)) - .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumPeroxide", 4)) - .duration(100 * SECONDS) - .eut(120) - .noOptimize() - .addTo(chemicalDehydratorRecipes); - } - - private void recipeLithiumHydroperoxide() { - - // LiOH + H2O2 = HLiO2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3), }, - new FluidStack[] { FluidUtils.getFluidStack("fluid.hydrogenperoxide", 1000), }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroperoxide", 4), }, - new FluidStack[] {}, - 20 * 30, - 240, - 1); - - } - - private void recipeHydrogenPeroxide() { - - // C6H4(COH)2C6H3CH2CH3 + 2O =(C6H4CH)2= H2O2 + C6H4(CO)2C6H3CH2CH3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), }, - new FluidStack[] { FluidUtils.getFluidStack("air", 20000), - FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000), - FluidUtils.getFluidStack("fluid.anthracene", 50), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), - FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000), }, - 20 * 30, - 240, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), }, - new FluidStack[] { Materials.Oxygen.getGas(10000), FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000), - FluidUtils.getFluidStack("fluid.anthracene", 50), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), - FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000), }, - 20 * 5, - 240, - 1); - - } - - private static ItemStack getTierOneChip() { - return CI.getNumberedAdvancedCircuit(4); - } - - private static ItemStack getTierTwoChip() { - return CI.getNumberedAdvancedCircuit(8); - } - - private static ItemStack getTierThreeChip() { - return CI.getNumberedAdvancedCircuit(12); - } - - private static ItemStack getTierFourChip() { - return CI.getNumberedAdvancedCircuit(16); - } - - private static void recipeAdvancedChip() { - GT_ModHandler.addShapelessCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 0L), - 0, - new Object[] { OrePrefixes.circuit.get(Materials.Advanced) }); - - long bits = 0; - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 1L, new Object[0]), - bits, - new Object[] { "d ", " P ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 2L, new Object[0]), - bits, - new Object[] { " d ", " P ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 3L, new Object[0]), - bits, - new Object[] { " d", " P ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 4L, new Object[0]), - bits, - new Object[] { " ", " Pd", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 5L, new Object[0]), - bits, - new Object[] { " ", " P ", " d", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 6L, new Object[0]), - bits, - new Object[] { " ", " P ", " d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 7L, new Object[0]), - bits, - new Object[] { " ", " P ", "d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 8L, new Object[0]), - bits, - new Object[] { " ", "dP ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 9L, new Object[0]), - bits, - new Object[] { "P d", " ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 10L, new Object[0]), - bits, - new Object[] { "P ", " d", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 11L, new Object[0]), - bits, - new Object[] { "P ", " ", " d", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 12L, new Object[0]), - bits, - new Object[] { "P ", " ", " d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 13L, new Object[0]), - bits, - new Object[] { " P", " ", " d", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 14L, new Object[0]), - bits, - new Object[] { " P", " ", " d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 15L, new Object[0]), - bits, - new Object[] { " P", " ", "d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 16L, new Object[0]), - bits, - new Object[] { " P", "d ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 17L, new Object[0]), - bits, - new Object[] { " ", " ", "d P", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 18L, new Object[0]), - bits, - new Object[] { " ", "d ", " P", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 19L, new Object[0]), - bits, - new Object[] { "d ", " ", " P", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 20L, new Object[0]), - bits, - new Object[] { " d ", " ", " P", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 21L, new Object[0]), - bits, - new Object[] { "d ", " ", "P ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 22L, new Object[0]), - bits, - new Object[] { " d ", " ", "P ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 23L, new Object[0]), - bits, - new Object[] { " d", " ", "P ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 24L, new Object[0]), - bits, - new Object[] { " ", " d", "P ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/IonParticles.java b/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/IonParticles.java deleted file mode 100644 index d4f5e832f6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/IonParticles.java +++ /dev/null @@ -1,171 +0,0 @@ -package gtPlusPlus.core.item.chemistry; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.HashMap; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -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 gregtech.api.enums.Materials; -import gtPlusPlus.core.item.base.misc.BaseItemParticle; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.util.Utils; - -public class IonParticles extends BaseItemParticle { - - public static HashMap NameToMetaMap = new HashMap<>(); - public static HashMap MetaToNameMap = new HashMap<>(); - - public IonParticles() { - super("Ion", ELEMENT.NAMES.length, EnumRarity.rare); - } - - public static IIcon[] overlays = new IIcon[ELEMENT.NAMES.length]; - public static IIcon baseTexture; - - static { - // Generate Ions - int key = 0; - for (String s : ELEMENT.NAMES) { - // Map names to Meta - NameToMetaMap.put(Utils.sanitizeString(s.toLowerCase()), key); - MetaToNameMap.put(key, Utils.sanitizeString(s.toLowerCase())); - Materials m = Materials.get(s); - int aColour = 0; - if (m == null) { - aColour = Utils.rgbtoHexValue(128, 128, 128); - } else { - aColour = Utils.rgbtoHexValue(m.mRGBa[0], m.mRGBa[1], m.mRGBa[2]); - } - aColourMap.put(key++, aColour); - } - } - - @Override - public String[] getAffixes() { - return new String[] { "", "" }; - } - - @Override - public String getUnlocalizedName() { - return ""; - } - - @Override - public String getUnlocalizedName(final ItemStack itemStack) { - return "item.particle.ion" + "." + ELEMENT.NAMES[itemStack.getItemDamage()]; - } - - private static boolean createNBT(ItemStack rStack) { - final NBTTagCompound tagMain = new NBTTagCompound(); - final NBTTagCompound tagNBT = new NBTTagCompound(); - tagNBT.setLong("Charge", 0); - tagMain.setTag("Ion", tagNBT); - rStack.setTagCompound(tagMain); - return true; - } - - public static final long getChargeState(final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("Ion"); - if (aNBT != null) { - return aNBT.getLong("Charge"); - } - } else { - createNBT(aStack); - } - return 0L; - } - - public static final boolean setChargeState(final ItemStack aStack, final long aCharge) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("Ion"); - if (aNBT != null) { - aNBT.setLong("Charge", aCharge); - return true; - } - } - return false; - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - if (stack.getTagCompound() == null) { - createNBT(stack); - } - double chargeState = getChargeState(stack); - return chargeState; - } - - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - long aCharge = getChargeState(stack); - String aState = EnumChatFormatting.YELLOW + "Unknown" + EnumChatFormatting.GRAY; - // State not set - if (aCharge == 0) { - list.add( - EnumChatFormatting.GRAY + "A " - + MetaToNameMap.get(stack.getItemDamage()) - + " Ion with an " - + aState - + " charge state"); - } else { - if (aCharge > 0) { - aState = EnumChatFormatting.GREEN + "Positive" + EnumChatFormatting.GRAY; - } else { - aState = EnumChatFormatting.RED + "Negative" + EnumChatFormatting.GRAY; - } - - list.add( - EnumChatFormatting.GRAY + "A " - + MetaToNameMap.get(stack.getItemDamage()) - + " Ion with a " - + aState - + " charge state of " - + aCharge - + ""); - } - super.addInformation(stack, player, list, bool); - } - - @Override - public void registerIcons(IIconRegister reg) { - for (int i = 0; i < IonParticles.overlays.length; i++) { - IonParticles.overlays[i] = reg.registerIcon(GTPlusPlus.ID + ":" + "ion/" + i); - } - IonParticles.baseTexture = reg.registerIcon(GTPlusPlus.ID + ":" + "ion/IonBase"); - } - - @Override - public IIcon getIconFromDamage(int meta) { - return IonParticles.overlays[meta]; - } - - @Override - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - public IIcon getIconFromDamageForRenderPass(int aMeta, int aPass) { - if (aPass == 0) { - return IonParticles.baseTexture; - } else { - return IonParticles.overlays[aMeta]; - } - } - - @Override - public int getRenderPasses(int metadata) { - return 2; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java b/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java deleted file mode 100644 index 5a848d2616..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java +++ /dev/null @@ -1,752 +0,0 @@ -package gtPlusPlus.core.item.chemistry; - -import static gregtech.api.enums.Mods.BiomesOPlenty; -import static gregtech.api.enums.Mods.Forestry; - -import java.util.HashMap; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.Materials; -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.api.objects.data.Quad; -import gtPlusPlus.api.objects.minecraft.ItemPackage; -import gtPlusPlus.core.item.base.ore.BaseItemMilledOre; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.NONMATERIAL; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.NBTUtils; -import gtPlusPlus.xmod.bop.HANDLER_BiomesOPlenty; -import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator; - -public class MilledOreProcessing extends ItemPackage { - - /** - * Fluids - */ - public static Fluid SphaleriteFlotationFroth; - - public static Fluid ChalcopyriteFlotationFroth; - public static Fluid NickelFlotationFroth; - public static Fluid PlatinumFlotationFroth; - public static Fluid PentlanditeFlotationFroth; - - public static Fluid RedstoneFlotationFroth; - public static Fluid SpessartineFlotationFroth; - public static Fluid GrossularFlotationFroth; - public static Fluid AlmandineFlotationFroth; - public static Fluid PyropeFlotationFroth; - public static Fluid MonaziteFlotationFroth; - - public static Fluid PineOil; - - /** - * Items - */ - - // Zinc, Iron, Indium, Germanium - public static Item milledSphalerite; - - // Copper, Iron, Cadmium, Indium - public static Item milledChalcopyrite; - - // Nickel, Cobalt, Rhodium, Ruthenium - public static Item milledNickel; - - // Platinum, Rhodium, Selenium, Tellurium - public static Item milledPlatinum; - - // Iron, Nickel, Promethium, Hafnium - public static Item milledPentlandite; - - // Redstone, Chrome, Firestone, Dysprosium - public static Item milledRedstone; - - // Manganese, Aluminium, Osmium, Strontium - public static Item milledSpessartine; - - // Calcium, Aluminium, Tungsten, Thallium - public static Item milledGrossular; - - // Aluminium, Magnesium, Yttrium, Ytterbium - public static Item milledAlmandine; - - // Magnesium, Manganese, Borax, Rhenium - public static Item milledPyrope; - - // Erbium, Lanthanum, Praseodymium, Europium - public static Item milledMonazite; - - @Override - public void items() { - - milledSphalerite = BaseItemMilledOre.generate(Materials.Sphalerite, MaterialUtils.getVoltageForTier(6)); - milledChalcopyrite = BaseItemMilledOre.generate(Materials.Chalcopyrite, MaterialUtils.getVoltageForTier(5)); - milledNickel = BaseItemMilledOre.generate(Materials.Nickel, MaterialUtils.getVoltageForTier(5)); - milledPlatinum = BaseItemMilledOre.generate(Materials.Platinum, MaterialUtils.getVoltageForTier(6)); - milledPentlandite = BaseItemMilledOre.generate(Materials.Pentlandite, MaterialUtils.getVoltageForTier(6)); - - milledRedstone = BaseItemMilledOre.generate(Materials.Redstone, MaterialUtils.getVoltageForTier(5)); - milledSpessartine = BaseItemMilledOre.generate(Materials.Spessartine, MaterialUtils.getVoltageForTier(6)); - milledGrossular = BaseItemMilledOre.generate(Materials.Grossular, MaterialUtils.getVoltageForTier(6)); - milledAlmandine = BaseItemMilledOre.generate(Materials.Almandine, MaterialUtils.getVoltageForTier(6)); - milledPyrope = BaseItemMilledOre.generate(Materials.Pyrope, MaterialUtils.getVoltageForTier(4)); - milledMonazite = BaseItemMilledOre.generate(Materials.Monazite, MaterialUtils.getVoltageForTier(7)); - } - - @Override - public void blocks() { - // None yet - } - - @Override - public void fluids() { - - short[] aZincFrothRGB = Materials.Sphalerite.mRGBa; - SphaleriteFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.zincflotation", - "Sphalerite Froth", - 32 + 175, - new short[] { aZincFrothRGB[0], aZincFrothRGB[1], aZincFrothRGB[2], 100 }, - true); - short[] aCopperFrothRGB = Materials.Chalcopyrite.mRGBa; - ChalcopyriteFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.copperflotation", - "Chalcopyrite Froth", - 32 + 175, - new short[] { aCopperFrothRGB[0], aCopperFrothRGB[1], aCopperFrothRGB[2], 100 }, - true); - short[] aNickelFrothRGB = Materials.Nickel.mRGBa; - NickelFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.nickelflotation", - "Nickel Froth", - 32 + 175, - new short[] { aNickelFrothRGB[0], aNickelFrothRGB[1], aNickelFrothRGB[2], 100 }, - true); - short[] aPlatinumFrothRGB = Materials.Platinum.mRGBa; - PlatinumFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.platinumflotation", - "Platinum Froth", - 32 + 175, - new short[] { aPlatinumFrothRGB[0], aPlatinumFrothRGB[1], aPlatinumFrothRGB[2], 100 }, - true); - short[] aPentlanditeFrothRGB = Materials.Pentlandite.mRGBa; - PentlanditeFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.pentlanditeflotation", - "Pentlandite Froth", - 32 + 175, - new short[] { aPentlanditeFrothRGB[0], aPentlanditeFrothRGB[1], aPentlanditeFrothRGB[2], 100 }, - true); - - short[] aRedstoneFrothRGB = Materials.Redstone.mRGBa; - RedstoneFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.redstoneflotation", - "Redstone Froth", - 32 + 175, - new short[] { aRedstoneFrothRGB[0], aRedstoneFrothRGB[1], aRedstoneFrothRGB[2], 100 }, - true); - short[] aSpessartineFrothRGB = Materials.Spessartine.mRGBa; - SpessartineFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.spessartineflotation", - "Spessartine Froth", - 32 + 175, - new short[] { aSpessartineFrothRGB[0], aSpessartineFrothRGB[1], aSpessartineFrothRGB[2], 100 }, - true); - short[] aGrossularFrothRGB = Materials.Grossular.mRGBa; - GrossularFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.grossularflotation", - "Grossular Froth", - 32 + 175, - new short[] { aGrossularFrothRGB[0], aGrossularFrothRGB[1], aGrossularFrothRGB[2], 100 }, - true); - short[] aAlmandineFrothRGB = Materials.Almandine.mRGBa; - AlmandineFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.almandineflotation", - "Almandine Froth", - 32 + 175, - new short[] { aAlmandineFrothRGB[0], aAlmandineFrothRGB[1], aAlmandineFrothRGB[2], 100 }, - true); - short[] aPyropeFrothRGB = Materials.Pyrope.mRGBa; - PyropeFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.pyropeflotation", - "Pyrope Froth", - 32 + 175, - new short[] { aPyropeFrothRGB[0], aPyropeFrothRGB[1], aPyropeFrothRGB[2], 100 }, - true); - short[] aMonaziteFrothRGB = Materials.Monazite.mRGBa; - MonaziteFlotationFroth = FluidUtils.generateFluidNoPrefix( - "froth.Monaziteflotation", - "Monazite Froth", - 32 + 175, - new short[] { aMonaziteFrothRGB[0], aMonaziteFrothRGB[1], aMonaziteFrothRGB[2], 100 }, - true); - - PineOil = FluidUtils - .generateFluidNoPrefix("pineoil", "Pine Oil", 32 + 175, new short[] { 250, 200, 60, 100 }, true); - } - - public MilledOreProcessing() { - super(); - Logger.INFO("Adding Ore Milling content"); - } - - private static void addMiscRecipes() { - - /* - * First 5 - */ - - // milledSphalerite - registerOreDataForMilledType( - SphaleriteFlotationFroth, - ELEMENT.getInstance().ZINC, - 180, - ELEMENT.getInstance().IRON, - 120, - ELEMENT.getInstance().INDIUM, - 64, - ELEMENT.getInstance().GERMANIUM, - 15); - // milledChalcopyrite - registerOreDataForMilledType( - ChalcopyriteFlotationFroth, - ELEMENT.getInstance().COPPER, - 180, - ELEMENT.getInstance().IRON, - 120, - ELEMENT.getInstance().CADMIUM, - 50, - ELEMENT.getInstance().INDIUM, - 10); - // milledNickel - registerOreDataForMilledType( - NickelFlotationFroth, - ELEMENT.getInstance().NICKEL, - 150, - ELEMENT.getInstance().COBALT, - 120, - ELEMENT.getInstance().RHODIUM, - 32, - ELEMENT.getInstance().RUTHENIUM, - 16); - // milledPlatinum - registerOreDataForMilledType( - PlatinumFlotationFroth, - ELEMENT.getInstance().PLATINUM, - 120, - ELEMENT.getInstance().RHODIUM, - 60, - ELEMENT.getInstance().SELENIUM, - 40, - ELEMENT.getInstance().TELLURIUM, - 10); - // milledPentlandite - registerOreDataForMilledType( - PentlanditeFlotationFroth, - ELEMENT.getInstance().IRON, - 150, - ELEMENT.getInstance().NICKEL, - 100, - ELEMENT.getInstance().PROMETHIUM, - 20, - ELEMENT.getInstance().HAFNIUM, - 10); - - /* - * Second 5 - */ - // milledRedstone - registerOreDataForMilledType( - RedstoneFlotationFroth, - NONMATERIAL.REDSTONE, - 300, - ELEMENT.getInstance().CHROMIUM, - 60, - MaterialUtils.generateMaterialFromGtENUM(Materials.Firestone), - 45, - ELEMENT.getInstance().DYSPROSIUM, - 16); - // milledSpessartine - registerOreDataForMilledType( - SpessartineFlotationFroth, - ELEMENT.getInstance().MANGANESE, - 150, - ELEMENT.getInstance().ALUMINIUM, - 90, - ELEMENT.getInstance().OSMIUM, - 30, - ELEMENT.getInstance().STRONTIUM, - 20); - // milledGrossular - registerOreDataForMilledType( - GrossularFlotationFroth, - ELEMENT.getInstance().CALCIUM, - 180, - ELEMENT.getInstance().ALUMINIUM, - 110, - ELEMENT.getInstance().TUNGSTEN, - 60, - ELEMENT.getInstance().THALLIUM, - 15); - // milledAlmandine - registerOreDataForMilledType( - AlmandineFlotationFroth, - ELEMENT.getInstance().ALUMINIUM, - 150, - ELEMENT.getInstance().MAGNESIUM, - 75, - ELEMENT.getInstance().YTTRIUM, - 25, - ELEMENT.getInstance().YTTERBIUM, - 15); - // milledPyrope - registerOreDataForMilledType( - PyropeFlotationFroth, - ELEMENT.getInstance().MAGNESIUM, - 110, - ELEMENT.getInstance().MANGANESE, - 70, - MaterialUtils.generateMaterialFromGtENUM(Materials.Borax), - 60, - ELEMENT.getInstance().RHENIUM, - 20); - // milledMonazite TODO - registerOreDataForMilledType( - MonaziteFlotationFroth, - ELEMENT.getInstance().ERBIUM, - 64, - ELEMENT.getInstance().LANTHANUM, - 32, - ELEMENT.getInstance().LUTETIUM, - 16, - ELEMENT.getInstance().EUROPIUM, - 8); - } - - @Override - public String errorMessage() { - return "Failed to generate recipes for OreMillingProc."; - } - - @Override - public boolean generateRecipes() { - addMiscRecipes(); - addPineOilExtraction(); - addFlotationRecipes1(); - addFlotationRecipes2(); - addVacuumFurnaceRecipes(); - return true; - } - - private void addVacuumFurnaceRecipes() { - int aCircuitID = 1; - - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(SphaleriteFlotationFroth, 4000) }, - getOutputsFromMap(SphaleriteFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(ChalcopyriteFlotationFroth, 4000) }, - getOutputsFromMap(ChalcopyriteFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(5), - 4500); - - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(NickelFlotationFroth, 4000) }, - getOutputsFromMap(NickelFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(5), - 4500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(PlatinumFlotationFroth, 4000) }, - getOutputsFromMap(PlatinumFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(PentlanditeFlotationFroth, 4000) }, - getOutputsFromMap(PentlanditeFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(RedstoneFlotationFroth, 4000) }, - getOutputsFromMap(RedstoneFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(5), - 4500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(SpessartineFlotationFroth, 4000) }, - getOutputsFromMap(SpessartineFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(GrossularFlotationFroth, 4000) }, - getOutputsFromMap(GrossularFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(AlmandineFlotationFroth, 4000) }, - getOutputsFromMap(AlmandineFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(PyropeFlotationFroth, 4000) }, - getOutputsFromMap(PyropeFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(4), - 3500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(MonaziteFlotationFroth, 4000) }, - getOutputsFromMap(MonaziteFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(7), - 7500); - } - - private void addFlotationRecipes1() { - - // Sphalerite - CORE.RA.addFlotationRecipe( - Materials.Sphalerite, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 14000), }, - new FluidStack[] { FluidUtils.getFluidStack(SphaleriteFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); - - // Chalcopyrite - CORE.RA.addFlotationRecipe( - Materials.Chalcopyrite, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 12000), }, - new FluidStack[] { FluidUtils.getFluidStack(ChalcopyriteFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(5)); - - // Nickel - CORE.RA.addFlotationRecipe( - Materials.Nickel, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 25000), }, - new FluidStack[] { FluidUtils.getFluidStack(NickelFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(5)); - - // Platinum - CORE.RA.addFlotationRecipe( - Materials.Platinum, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 35000), }, - new FluidStack[] { FluidUtils.getFluidStack(PlatinumFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); - - // Pentlandite - CORE.RA.addFlotationRecipe( - Materials.Pentlandite, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 14000), }, - new FluidStack[] { FluidUtils.getFluidStack(PentlanditeFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); - } - - private void addFlotationRecipes2() { - - // Redstone - CORE.RA.addFlotationRecipe( - Materials.Redstone, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 13000), }, - new FluidStack[] { FluidUtils.getFluidStack(RedstoneFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(5)); - - // Spessartine - CORE.RA.addFlotationRecipe( - Materials.Spessartine, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 35000), }, - new FluidStack[] { FluidUtils.getFluidStack(SpessartineFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); - - // Grossular - CORE.RA.addFlotationRecipe( - Materials.Grossular, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 28000), }, - new FluidStack[] { FluidUtils.getFluidStack(GrossularFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); - - // Almandine - CORE.RA.addFlotationRecipe( - Materials.Almandine, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 18000), }, - new FluidStack[] { FluidUtils.getFluidStack(AlmandineFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(5)); - - // Pyrope - CORE.RA.addFlotationRecipe( - Materials.Pyrope, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 8000), }, - new FluidStack[] { FluidUtils.getFluidStack(PyropeFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(4)); - - // Monazite - CORE.RA.addFlotationRecipe( - Materials.Monazite, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 30000), }, - new FluidStack[] { FluidUtils.getFluidStack(MonaziteFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); - } - - private void addPineOilExtraction() { - AutoMap aLogs = new AutoMap<>(); - AutoMap aLeaves = new AutoMap<>(); - AutoMap aSaplings = new AutoMap<>(); - AutoMap aPinecones = new AutoMap<>(); - - ItemStack aCrushedPine = ItemUtils.getSimpleStack(AgriculturalChem.mCrushedPine, 1); - - aLogs.add(ItemUtils.getSimpleStack(BOP_Block_Registrator.log_Pine)); - aLeaves.add(ItemUtils.getSimpleStack(BOP_Block_Registrator.leaves_Pine)); - aSaplings.add(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Pine)); - aPinecones.add(ItemUtils.getSimpleStack(AgriculturalChem.mPinecone, 1)); - - if (BiomesOPlenty.isModLoaded()) { - aLogs.add(HANDLER_BiomesOPlenty.getStack(HANDLER_BiomesOPlenty.logs4, 0, 1)); - aLeaves.add(HANDLER_BiomesOPlenty.getStack(HANDLER_BiomesOPlenty.colorizedLeaves2, 1, 1)); - aSaplings.add(HANDLER_BiomesOPlenty.getStack(HANDLER_BiomesOPlenty.colorizedSaplings, 5, 1)); - aPinecones.add(ItemUtils.simpleMetaStack(HANDLER_BiomesOPlenty.mPineCone, 13, 1)); - } - if (Forestry.isModLoaded()) { - ItemStack aForestryLog = ItemUtils.getItemStackFromFQRN("Forestry:logs", 1); - if (aForestryLog != null) { - aForestryLog.setItemDamage(20); // Set to Pine - aLogs.add(aForestryLog); - } - ItemStack aForestryLeaves = ItemUtils.getItemStackFromFQRN("Forestry:leaves", 1); - if (aForestryLeaves != null) { - NBTUtils.setString(aForestryLeaves, "species", "forestry.treePine"); // Set to Pine - aLeaves.add(aForestryLeaves); - } - } - - for (ItemStack aLog : aLogs) { - addRecipe(aLog, ItemUtils.getSimpleStack(aCrushedPine, 16), new int[] { 10000, 7500, 5000, 2500 }, 10, 120); - } - for (ItemStack aLeaf : aLeaves) { - addRecipe(aLeaf, ItemUtils.getSimpleStack(aCrushedPine, 2), new int[] { 5000, 5000, 2500, 2500 }, 10, 30); - } - for (ItemStack aSapling : aSaplings) { - addRecipe( - aSapling, - ItemUtils.getSimpleStack(aCrushedPine, 4), - new int[] { 7500, 7500, 2500, 2500 }, - 10, - 60); - } - for (ItemStack aCone : aPinecones) { - addRecipe(aCone, ItemUtils.getSimpleStack(aCrushedPine, 1), new int[] { 7500, 7500, 5000, 2500 }, 10, 60); - } - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), ItemUtils.getSimpleStack(aCrushedPine, 64) }, - new FluidStack[] { FluidUtils.getSteam(5000), }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5) }, - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 500) }, - new int[] { 2000, 2000, 2000, 2000 }, - 20 * 60, - 120, - 3); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemUtils.getSimpleStack(aCrushedPine, 64) }, - new FluidStack[] { FluidUtils.getSuperHeatedSteam(5000), }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5) }, - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 1500) }, - new int[] { 3000, 3000, 3000, 3000 }, - 20 * 45, - 120, - 4); - } - - public boolean addRecipe(ItemStack aInput, ItemStack aOutput1, int[] aChances, int aTime, int aEU) { - aOutput1 = GT_OreDictUnificator.get(true, aOutput1); - ItemStack aOutputs[] = new ItemStack[4]; - for (int i = 0; i < aChances.length; i++) { - aOutputs[i] = aOutput1; - } - aOutputs = cleanArray(aOutputs); - if ((GT_Utility.isStackInvalid(aInput)) - || (GT_Utility.isStackInvalid(aOutput1) || (GT_Utility.getContainerItem(aInput, false) != null))) { - return false; - } - - return CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(14), aInput }, - new FluidStack[] {}, - aOutputs, - new FluidStack[] {}, - aChances, - aTime * 20, - aEU, - 3); - } - - public static ItemStack[] cleanArray(ItemStack[] input) { - int aArraySize = input.length; - AutoMap aCleanedItems = new AutoMap<>(); - for (ItemStack checkStack : input) { - if (ItemUtils.checkForInvalidItems(checkStack)) { - aCleanedItems.put(checkStack); - } - } - ItemStack[] aOutput = new ItemStack[aCleanedItems.size()]; - for (int i = 0; i < aArraySize; i++) { - ItemStack aMappedStack = aCleanedItems.get(i); - if (aMappedStack != null) { - aOutput[i] = aMappedStack; - } - } - return aOutput; - } - - private static final HashMap, Pair, Pair, Pair>> aMilledFluidMap = new HashMap<>(); - - public static void registerOreDataForMilledType(Fluid aMilledFluid, Materials aOutput1, int aPerc1, - Materials aOutput2, int aPerc2, Materials aOutput3, int aPerc3, Materials aOutput4, int aPerc4) { - registerOreDataForMilledType( - aMilledFluid, - MaterialUtils.generateMaterialFromGtENUM(aOutput1), - aPerc1, - MaterialUtils.generateMaterialFromGtENUM(aOutput2), - aPerc2, - MaterialUtils.generateMaterialFromGtENUM(aOutput3), - aPerc3, - MaterialUtils.generateMaterialFromGtENUM(aOutput4), - aPerc4); - } - - public static void registerOreDataForMilledType(Fluid aMilledFluid, Material aOutput1, int aPerc1, - Material aOutput2, int aPerc2, Material aOutput3, int aPerc3, Material aOutput4, int aPerc4) { - - Pair aFluidOutput1 = new Pair<>(aOutput1, aPerc1); - Pair aFluidOutput2 = new Pair<>(aOutput2, aPerc2); - Pair aFluidOutput3 = new Pair<>(aOutput3, aPerc3); - Pair aFluidOutput4 = new Pair<>(aOutput4, aPerc4); - Quad, Pair, Pair, Pair> aDataQuad = new Quad<>( - aFluidOutput1, - aFluidOutput2, - aFluidOutput3, - aFluidOutput4); - aMilledFluidMap.put(aMilledFluid.getUnlocalizedName(), aDataQuad); - } - - private static ItemStack[] getOutputsFromMap(Fluid aFluid) { - String aKey = aFluid.getUnlocalizedName(); - return getArrayFromQuad(aMilledFluidMap.get(aKey)); - } - - private static ItemStack[] getArrayFromQuad( - Quad, Pair, Pair, Pair> aData) { - AutoMap aOutputs = new AutoMap<>(); - for (Object aPair : aData.values()) { - if (aPair != null && Pair.class.isInstance(aPair)) { - Pair aObj = (Pair) aPair; - Material aMat = (Material) aObj.getKey(); - int aCount = (int) aObj.getValue(); - aOutputs.addAll(getItemStackFromPair(aMat, aCount)); - } - } - ItemStack[] aRealOutputArray = new ItemStack[aOutputs.size()]; - int aIndex = 0; - for (ItemStack aStack : aOutputs) { - aRealOutputArray[aIndex++] = aStack; - } - return aRealOutputArray; - } - - private static AutoMap getItemStackFromPair(Material aMat, Integer aCount) { - AutoMap aOutputs = new AutoMap<>(); - if (aCount > 64) { - AutoMap sizes = getStackSizes(aCount); - for (int aSplitSize : sizes) { - ItemStack aDustStack = aMat.getDust(aSplitSize); - aOutputs.put(aDustStack); - } - } else { - ItemStack aDustStack = aMat.getDust(aCount); - aOutputs.put(aDustStack); - } - return aOutputs; - } - - private static AutoMap getStackSizes(int aBigSize) { - AutoMap aSizes = new AutoMap<>(); - if (aBigSize <= 64) { - aSizes.add(aBigSize); - } else { - for (int i = aBigSize; i > 0; i -= 64) { - aSizes.add(i); - } - } - return aSizes; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/NuclearChem.java b/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/NuclearChem.java deleted file mode 100644 index d83b5a7cea..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/NuclearChem.java +++ /dev/null @@ -1,105 +0,0 @@ -package gtPlusPlus.core.item.chemistry; - -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; - -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TierEU; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.minecraft.ItemPackage; -import gtPlusPlus.core.util.minecraft.FluidUtils; - -public class NuclearChem extends ItemPackage { - - public static Fluid Burnt_LiFBeF2ThF4UF4; - public static Fluid Burnt_LiFBeF2ZrF4UF4; - public static Fluid Burnt_LiFBeF2ZrF4U235; - - public static Fluid Impure_LiFBeF2; - - public static Fluid GeneticMutagen; - private static boolean generateMutagenRecipe = false; - - @Override - public void items() {} - - @Override - public void blocks() {} - - @Override - public void fluids() { - // Create Used Nuclear Fuels - Burnt_LiFBeF2ThF4UF4 = FluidUtils.generateFluidNonMolten( - "BurntLiFBeF2ThF4UF4", - "Burnt LiFBeF2ThF4UF4 Salt", - 545, - new short[] { 48, 175, 48, 100 }, - null, - null); - Burnt_LiFBeF2ZrF4UF4 = FluidUtils.generateFluidNonMolten( - "BurntLiFBeF2ZrF4UF4", - "Burnt LiFBeF2ZrF4UF4 Salt", - 520, - new short[] { 48, 168, 68, 100 }, - null, - null); - Burnt_LiFBeF2ZrF4U235 = FluidUtils.generateFluidNonMolten( - "BurntLiFBeF2ZrF4U235", - "Burnt LiFBeF2ZrF4U235 Salt", - 533, - new short[] { 68, 185, 48, 100 }, - null, - null); - Impure_LiFBeF2 = FluidUtils.generateFluidNonMolten( - "ImpureLiFBeF2", - "Impure Molten Salt Base", - 533, - new short[] { 110, 75, 186, 100 }, - null, - null); - if (FluidUtils.getFluidStack("fluid.Mutagen", 1) == null) { - GeneticMutagen = FluidUtils.generateFluidNonMolten( - "GeneticMutagen", - "Genetic Mutagen", - 12, - new short[] { 22, 148, 185, 100 }, - null, - null); - generateMutagenRecipe = true; - } else { - GeneticMutagen = FluidUtils.getFluidStack("fluid.Mutagen", 1) - .getFluid(); - } - } - - @Override - public String errorMessage() { - return "Bad Nuclear Chemistry Recipes."; - } - - @Override - public boolean generateRecipes() { - if (generateMutagenRecipe) { - chemReactor_CreateMutagen(); - } - return true; - } - - private static void chemReactor_CreateMutagen() { - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherStar, 2), - GT_Utility.getIntegratedCircuit(20)) - .fluidInputs(FluidRegistry.getFluidStack("mobessence", 5000)) - .fluidOutputs(FluidUtils.getFluidStack(GeneticMutagen, 8000)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(UniversalChemical); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java deleted file mode 100644 index 3fc682e7cc..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java +++ /dev/null @@ -1,562 +0,0 @@ -package gtPlusPlus.core.item.chemistry; - -import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; -import static gregtech.api.recipe.RecipeMaps.mixerRecipes; -import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TierEU; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.minecraft.ItemPackage; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -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.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public class RocketFuels extends ItemPackage { - - public static HashSet mValidRocketFuelNames = new HashSet<>(); - public static HashMap mValidRocketFuels = new HashMap<>(); - - public static Fluid Oil_Heavy; - public static Fluid Diesel; - public static Fluid Kerosene; - public static Fluid RP1; - public static Fluid Nitrogen_Tetroxide; - public static Fluid Hydrazine; - public static Fluid Monomethylhydrazine; - public static Fluid Unsymmetrical_Dimethylhydrazine; - public static Fluid Nitrous_Oxide; - public static Fluid Hydrated_Ammonium_Nitrate_Slurry; - public static Fluid Liquid_Oxygen; - public static Fluid Liquid_Hydrogen; - public static Fluid Formaldehyde; - - // Rocket Fuel Mixes - public static Fluid Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide; - public static Fluid RP1_Plus_Liquid_Oxygen; - public static Fluid Dense_Hydrazine_Mix; - public static Fluid Monomethylhydrazine_Plus_Nitric_Acid; - - public static Item Ammonium_Nitrate_Dust; - public static Item Formaldehyde_Catalyst_Dust; - public static ItemStack Formaldehyde_Catalyst_Stack; - - public RocketFuels() { - super(true); - } - - public static void createKerosene() { - - FluidStack fuelA = FluidUtils.getFluidStack("diesel", 3000); - FluidStack fuelB = FluidUtils.getFluidStack("fuel", 3000); - - if (fuelA != null) { - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(23)) - .fluidInputs(fuelA) - .fluidOutputs(FluidUtils.getFluidStack(Kerosene, 1800)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(distilleryRecipes); - } - if (fuelA == null && fuelB != null) { - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(23)) - .fluidInputs(fuelB) - .fluidOutputs(FluidUtils.getFluidStack(Kerosene, 1800)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(distilleryRecipes); - } - } - - public static void createRP1() { - FluidStack fuelA = FluidUtils.getFluidStack(Kerosene, 1000); - if (fuelA != null) { - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(23)) - .fluidInputs(fuelA) - .fluidOutputs(FluidUtils.getFluidStack(RP1, 750)) - .duration(40 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(distilleryRecipes); - } - } - - public static void createNitrogenTetroxide() { - // 2HNO3 + Cu = N2O4 + H2O + CuO - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1), - ItemUtils.getSimpleStack(GenericChem.mOrangeCatalyst, 0), }, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 2000) }, - new ItemStack[] { Materials.CupricOxide.getDust(2), }, - new FluidStack[] { FluidUtils.getFluidStack(Nitrogen_Tetroxide, 1000), }, - new int[] { 100, 100, 50, 50 }, - 20 * 30, - MaterialUtils.getVoltageForTier(3), - 3); - } - - public static void createHydrazine() { - - // H2O2 + 2NH3 = N2H4 + 2H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(21) }, - new FluidStack[] { FluidUtils.getFluidStack("fluid.hydrogenperoxide", 1000), - FluidUtils.getFluidStack("ammonia", 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Hydrazine, 1000), }, - 20 * 30, - MaterialUtils.getVoltageForTier(2), - 1); - } - - public static void createMonomethylhydrazine() { - - // C + 2H + N2H4 = CH6N2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(21), ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1) }, - new FluidStack[] { FluidUtils.getFluidStack("hydrogen", 2000), FluidUtils.getFluidStack(Hydrazine, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Monomethylhydrazine, 1000), }, - 20 * 48, - 240, - 2); - } - - private static void createLOH() { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1)) - .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellLiquidHydrogen", 1)) - .duration(16 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(vacuumFreezerRecipes); - } - - private static void createHydratedAmmoniumNitrateSlurry() { - - // NH3 + HNO3 = NH4NO3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(21), }, - new FluidStack[] { FluidUtils.getFluidStack("ammonia", 4000), - FluidUtils.getFluidStack("nitricacid", 4000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 5184), }, - 20 * 60, - 120, - 1); - } - - private static void createAmmoniumNitrateDust() { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(8) }, - FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 8 * 144), - FluidUtils.getWater(2000), - new ItemStack[] { ItemUtils.getSimpleStack(Ammonium_Nitrate_Dust, 8) }, - new int[] { 10000 }, - 90 * 20, - 480); - } - - private static void createFormaldehyde() { - - // O + CH4O = CH2O + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(21), - ItemUtils.getSimpleStack(GenericChem.mFormaldehydeCatalyst, 0), }, - new FluidStack[] { FluidUtils.getFluidStack("oxygen", 32000), - FluidUtils.getFluidStack("methanol", 32000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Formaldehyde, 32000), }, - 20 * 90, - 120, - 1); - } - - private static void createFormaldehydeCatalyst() { - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 16L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 1L), - GT_Utility.getIntegratedCircuit(18)) - .itemOutputs(ItemUtils.getSimpleStack(Formaldehyde_Catalyst_Dust, 4)) - .duration(8 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(mixerRecipes); - } - - private static void createUnsymmetricalDimethylhydrazine() { - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(21), - ItemUtils.getSimpleStack(GenericChem.mFormaldehydeCatalyst, 0), }, - new FluidStack[] { FluidUtils.getFluidStack("fluid.hydrazine", 2000), - FluidUtils.getFluidStack(Formaldehyde, 2000), FluidUtils.getFluidStack("hydrogen", 4000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000), - FluidUtils.getWater(2000) }, - 20 * 60, - 120, - 3); - } - - private static void addRocketFuelsToMap() { - HashMap mRocketFuels = new LinkedHashMap<>(); - mRocketFuels.put( - 0, - new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 1000) }, - new FluidStack[] {}, - 0, - 0, - 512)); // Fuel Value - - mRocketFuels.put( - 1, - new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 1000) }, - new FluidStack[] {}, - 0, - 0, - 1024)); // Fuel Value - - mRocketFuels.put( - 2, - new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 1000) }, - new FluidStack[] {}, - 0, - 0, - 2048)); // Fuel Value - - mRocketFuels.put( - 3, - new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { - FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 1000) }, - new FluidStack[] {}, - 0, - 0, - 4196)); // Fuel Value - - // Add in default Diesel for the Buggy - mValidRocketFuels.put(-1, Diesel); - - mValidRocketFuelNames.add(FluidRegistry.getFluidName(Diesel)); - for (int mID : mRocketFuels.keySet()) { - GT_Recipe aFuelRecipe = mRocketFuels.get(mID); - if (aFuelRecipe != null) { - mValidRocketFuelNames.add(FluidRegistry.getFluidName(aFuelRecipe.mFluidInputs[0].getFluid())); - mValidRocketFuels.put(mID, aFuelRecipe.mFluidInputs[0].getFluid()); - GTPPRecipeMaps.rocketFuels.add(aFuelRecipe); - } - } - } - - private static void createRocketFuels() { - - // RP1_Plus_Liquid_Oxygen - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(1), }, - new FluidStack[] { FluidUtils.getFluidStack(Liquid_Oxygen, 2000), FluidUtils.getFluidStack(RP1, 500), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 1500), }, - 20 * 15, - 240, - 3); - - // Dense_Hydrazine_Mix - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(2), }, - new FluidStack[] { FluidUtils.getFluidStack(Hydrazine, 4000), FluidUtils.getFluidStack("methanol", 6000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 10000), }, - 20 * 30, - 240, - 4); - - // Monomethylhydrazine_Plus_Nitric_Acid - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(3), }, - new FluidStack[] { FluidUtils.getFluidStack(Monomethylhydrazine, 2000), - FluidUtils.getFluidStack("nitricacid", 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 2000), }, - 20 * 45, - 480, - 5); - - // Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), }, - new FluidStack[] { FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000), - FluidUtils.getFluidStack(Nitrogen_Tetroxide, 2000), }, - new ItemStack[] {}, - new FluidStack[] { - FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 5000), }, - 20 * 60, - 480, - 6); - } - - @Override - public String errorMessage() { - return "Bad Rocket Fuel Science!"; - } - - @Override - public boolean generateRecipes() { - createKerosene(); - createRP1(); - createNitrogenTetroxide(); - createHydrazine(); - createMonomethylhydrazine(); - - createLOH(); - - createHydratedAmmoniumNitrateSlurry(); - createAmmoniumNitrateDust(); - createFormaldehyde(); - createFormaldehydeCatalyst(); - createUnsymmetricalDimethylhydrazine(); - - createRocketFuels(); - addRocketFuelsToMap(); - - return true; - } - - @Override - public void items() { - Formaldehyde_Catalyst_Dust = ItemUtils.generateSpecialUseDusts( - "FormaldehydeCatalyst", - "Formaldehyde Catalyst", - "Fe16V1", - Utils.rgbtoHexValue(25, 5, 25))[0]; - Formaldehyde_Catalyst_Stack = ItemUtils.getSimpleStack(Formaldehyde_Catalyst_Dust); - } - - @Override - public void blocks() {} - - @Override - public void fluids() { - - // Register default fluids - Diesel = MaterialUtils.getMaterial("Fuel", "Diesel") - .getFluid(1) - .getFluid(); - - // 5.08 Compat - if (!FluidUtils.doesFluidExist("liquid_heavy_oil")) { - Oil_Heavy = FluidUtils - .generateFluidNoPrefix("liquid_heavy_oil", "Heavy Oil", 200, new short[] { 10, 10, 10, 100 }); - } else { - Oil_Heavy = MaterialUtils.getMaterial("OilHeavy", "Oil") - .getFluid(1) - .getFluid(); - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellOilHeavy", 1) == null) { - new BaseItemComponent("OilHeavy", "Heavy Oil", new short[] { 10, 10, 10 }); - } - } - - // Create Kerosene - Kerosene = FluidUtils - .generateFluidNonMolten("Kerosene", "Kerosene", 233, new short[] { 150, 40, 150, 100 }, null, null); - CoalTar.Coal_Oil = Kerosene; - - // RP! Focket Fuel - RP1 = FluidUtils.generateFluidNonMolten("RP1Fuel", "RP-1", 500, new short[] { 210, 50, 50, 100 }, null, null); - - // Create Nitrogen Tetroxide - Nitrogen_Tetroxide = FluidUtils.generateFluidNonMolten( - "NitrogenTetroxide", - "Nitrogen Tetroxide", - 261, - new short[] { 170, 170, 0, 100 }, - null, - null); - - // Create Hydrazine - Hydrazine = FluidUtils - .generateFluidNonMolten("Hydrazine", "Hydrazine", 275, new short[] { 250, 250, 250, 100 }, null, null); - - // Create Monomethylhydrazine - Monomethylhydrazine = FluidUtils.generateFluidNonMolten( - "Monomethylhydrazine", - "Monomethylhydrazine", - 221, - new short[] { 125, 125, 125, 100 }, - null, - null); - - // Create Anthracene - Nitrous_Oxide = FluidUtils.generateFluidNonMolten( - "NitrousOxide", - "Nitrous Oxide", - 182, - new short[] { 255, 255, 255, 100 }, - null, - null); - - // Nos - if (!FluidUtils.doesFluidExist("NitrousOxide")) { - Nitrous_Oxide = FluidUtils - .generateFluidNoPrefix("NitrousOxide", "Nitrous Oxide", 182, new short[] { 255, 255, 255, 100 }); - } else { - Nitrous_Oxide = FluidUtils.getWildcardFluidStack("NitrousOxide", 1) - .getFluid(); - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellNitrousOxide", 1) == null) { - new BaseItemComponent("NitrousOxide", "Nitrous Oxide", new short[] { 10, 10, 175 }); - } - } - - // Unsymmetrical_Dimethylhydrazine - if (FluidUtils.getFluidStack("1,1dimethylhydrazine", 1) == null) { - Unsymmetrical_Dimethylhydrazine = FluidUtils.generateFluidNonMolten( - "UnsymmetricalDimethylhydrazine", - "Unsymmetrical Dimethylhydrazine", - 216, - new short[] { 70, 210, 20, 100 }, - null, - null); - } else { - Unsymmetrical_Dimethylhydrazine = FluidUtils.getFluidStack("1,1dimethylhydrazine", 1000) - .getFluid(); - } - - // Create Hydrated_Ammonium_Nitrate_Slurry - Hydrated_Ammonium_Nitrate_Slurry = FluidUtils.generateFluidNonMolten( - "AmmoniumNitrateSlurry", - "Hydrated Ammonium Nitrate Slurry", - 450, - new short[] { 150, 75, 150, 100 }, - null, - null); - - // Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O - Ammonium_Nitrate_Dust = ItemUtils.generateSpecialUseDusts( - "AmmoniumNitrate", - "Ammonium Nitrate", - "N2H4O3", - Utils.rgbtoHexValue(150, 75, 150))[0]; - - // Create Liquid_Oxygen - if (FluidUtils.getFluidStack("LiquidOxygen", 1) == null - && FluidUtils.getFluidStack("liquidoxygen", 1) == null) { - Liquid_Oxygen = FluidUtils.generateFluidNonMolten( - "LiquidOxygen", - "Liquid Oxygen", - 54, - new short[] { 75, 75, 220, 100 }, - null, - null); - } else { - if (FluidUtils.getFluidStack("LiquidOxygen", 1) != null) { - Liquid_Oxygen = FluidUtils.getFluidStack("LiquidOxygen", 1) - .getFluid(); - } else { - Liquid_Oxygen = FluidUtils.getFluidStack("liquidoxygen", 1) - .getFluid(); - } - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellLiquidOxygen", 1) == null) { - new BaseItemComponent("LiquidOxygen", "Liquid Oxygen", new short[] { 10, 10, 175 }); - } - } - - // Create Liquid_Hydrogen - if (FluidUtils.getFluidStack("LiquidHydrogen", 1) == null - && FluidUtils.getFluidStack("liquidhydrogen", 1) == null) { - Liquid_Hydrogen = FluidUtils.generateFluidNonMolten( - "LiquidHydrogen", - "Liquid Hydrogen", - 14, - new short[] { 75, 75, 220, 100 }, - null, - null); - } else { - if (FluidUtils.getFluidStack("LiquidHydrogen", 1) != null) { - Liquid_Hydrogen = FluidUtils.getFluidStack("LiquidHydrogen", 1) - .getFluid(); - } else { - Liquid_Hydrogen = FluidUtils.getFluidStack("liquidhydrogen", 1) - .getFluid(); - } - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellLiquidHydrogen", 1) == null) { - new BaseItemComponent("LiquidHydrogen", "Liquid Hydrogen", new short[] { 10, 10, 175 }); - } - } - - Formaldehyde = FluidUtils - .generateFluidNonMolten("Formaldehyde", "Formaldehyde", 185, new short[] { 150, 75, 150, 100 }, null, null); - - Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide = FluidUtils.generateFluidNonMolten( - "RocketFuelMixA", - "H8N4C2O4 Rocket Fuel", - 216, - new short[] { 50, 220, 50, 100 }, - null, - null); - RP1_Plus_Liquid_Oxygen = FluidUtils.generateFluidNonMolten( - "RocketFuelMixB", - "Rp-1 Rocket Fuel", - 250, - new short[] { 250, 50, 50, 100 }, - null, - null); - Monomethylhydrazine_Plus_Nitric_Acid = FluidUtils.generateFluidNonMolten( - "RocketFuelMixC", - "CN3H7O3 Rocket Fuel", - 221, - new short[] { 125, 75, 180, 100 }, - null, - null); - Dense_Hydrazine_Mix = FluidUtils.generateFluidNonMolten( - "RocketFuelMixD", - "Dense Hydrazine Fuel Mixture", - 275, - new short[] { 175, 80, 120, 100 }, - null, - null); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java b/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java deleted file mode 100644 index 1604bcb571..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java +++ /dev/null @@ -1,156 +0,0 @@ -package gtPlusPlus.core.item.chemistry; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.HashMap; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; - -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.item.base.misc.BaseItemParticle; -import gtPlusPlus.core.material.Particle; -import gtPlusPlus.core.material.Particle.ElementaryGroup; -import gtPlusPlus.core.util.Utils; - -public class StandardBaseParticles extends BaseItemParticle { - - public static HashMap NameToMetaMap = new HashMap<>(); - public static HashMap MetaToNameMap = new HashMap<>(); - - public StandardBaseParticles() { - super("Base", aTypes.length, EnumRarity.rare); - } - - private static final String[] aTypes = new String[] { "Graviton", "Up", "Down", "Charm", "Strange", "Top", "Bottom", - "Electron", "Electron Neutrino", "Muon", "Muon Neutrino", "Tau", "Tau Neutrino", "Gluon", "Photon", "Z Boson", - "W Boson", "Higgs Boson", "Proton", "Neutron", "Lambda", "Omega", "Pion", "ETA Meson", "Unknown" }; - - public IIcon[] icons = new IIcon[aTypes.length]; - - static { - // Generate Ions - int key = 0; - - for (String s : aTypes) { - // Map names to Meta - NameToMetaMap.put(Utils.sanitizeString(s.toLowerCase()), key); - MetaToNameMap.put(key, Utils.sanitizeString(s.toLowerCase())); - for (Particle o : Particle.aMap) { - int aColour = 0; - if (o.mParticleName.toLowerCase() - .equals(s.toLowerCase())) { - if (o.mParticleType == ElementaryGroup.BARYON) { - aColour = Utils.rgbtoHexValue(174, 226, 156); - aColourMap.put(key++, aColour); - } else if (o.mParticleType == ElementaryGroup.BOSON) { - if (o == Particle.HIGGS_BOSON) { - aColour = Utils.rgbtoHexValue(226, 196, 104); - aColourMap.put(key++, aColour); - } else { - aColour = Utils.rgbtoHexValue(226, 52, 66); - aColourMap.put(key++, aColour); - } - } else if (o.mParticleType == ElementaryGroup.LEPTON) { - aColour = Utils.rgbtoHexValue(126, 226, 95); - aColourMap.put(key++, aColour); - } else if (o.mParticleType == ElementaryGroup.MESON) { - aColour = Utils.rgbtoHexValue(90, 154, 226); - aColourMap.put(key++, aColour); - } else { - aColour = Utils.rgbtoHexValue(188, 61, 226); - aColourMap.put(key++, aColour); - } - } - } - } - } - - @Override - public String[] getAffixes() { - return new String[] { "", "" }; - } - - @Override - public String getUnlocalizedName() { - return ""; - } - - @Override - public String getUnlocalizedName(final ItemStack itemStack) { - return "item.particle.base" + "." + aTypes[itemStack.getItemDamage()]; - } - - public static Particle getParticle(ItemStack aStack) { - AutoMap g = Particle.aMap; - for (Particle p : g) { - String aPartName = Utils.sanitizeString(p.mParticleName.toLowerCase()); - String expectedPart = Utils.sanitizeString(aTypes[aStack.getItemDamage()].toLowerCase()); - if (aPartName.equals(expectedPart)) { - return p; - } - } - return Particle.UNKNOWN; - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - // return Utils.rgbtoHexValue(200, 200, 200); - return super.getColorFromParentClass(stack, HEX_OxFFFFFF); - } - - @SuppressWarnings({ "rawtypes", "unchecked" }) - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - Particle aCharge = getParticle(stack); - EnumChatFormatting aColour = EnumChatFormatting.GRAY; - String aState = aColour + "Unknown" + EnumChatFormatting.RESET; - if (aCharge != null) { - String aGroup = aCharge.mParticleType.name() - .toLowerCase(); - if (aGroup.toLowerCase() - .contains("quark")) { - aColour = EnumChatFormatting.LIGHT_PURPLE; - } else if (aGroup.toLowerCase() - .contains("lepton")) { - aColour = EnumChatFormatting.GREEN; - } else if (aCharge == Particle.HIGGS_BOSON) { - aColour = EnumChatFormatting.YELLOW; - } else if (aGroup.toLowerCase() - .contains("boson")) { - aColour = EnumChatFormatting.RED; - } else if (aGroup.toLowerCase() - .contains("baryon")) { - aColour = EnumChatFormatting.BLUE; - } else if (aGroup.toLowerCase() - .contains("meson")) { - aColour = EnumChatFormatting.WHITE; - } else { - aColour = EnumChatFormatting.GRAY; - } - String aFirstLet = aGroup.substring(0, 1) - .toUpperCase(); - aGroup = aGroup.replaceFirst(aGroup.substring(0, 1), aFirstLet); - aState = aColour + aGroup + EnumChatFormatting.RESET; - list.add(EnumChatFormatting.GRAY + "Type: " + aState); - } - super.addInformation(stack, player, list, bool); - } - - @Override - public void registerIcons(IIconRegister reg) { - for (int i = 0; i < this.icons.length; i++) { - this.icons[i] = reg.registerIcon(GTPlusPlus.ID + ":" + "particle/new/" + i); - } - } - - @Override - public IIcon getIconFromDamage(int meta) { - return this.icons[meta]; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java b/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java deleted file mode 100644 index 8ef674ac19..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java +++ /dev/null @@ -1,321 +0,0 @@ -package gtPlusPlus.core.item.chemistry.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.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 net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class ItemGenericChemBase extends Item { - - protected final IIcon base[]; - - private final int aMetaSize = 34; - - /* - * 0 - Red Metal Catalyst //FeCu 1 - Yellow Metal Catalyst //WNi 2 - Blue Metal Catalyst //CoTi 3 - Orange Metal - * Catalyst //Vanadium Pd 4 - Purple Metal Catalyst //IrIdium Ruthenium 5 - Brown Metal Catalyst //NiAl 6 - Pink - * Metal Catalyst //PtRh 7 - Alumina Grinding Ball 8 - Soapstone Grinding Ball 9 - Sodium Ethoxide // 2 Sodium + 1 - * Ethanol | 2 C2H5OH + 2 Na → 2 C2H5ONa + H2 10 - Sodium Ethyl Xanthate //CH3CH2ONa + CS2 → CH3CH2OCS2Na 11 - - * Potassium Ethyl Xanthate //CH3CH2OH + CS2 + KOH → CH3CH2OCS2K + H2O 12 - Potassium Hydroxide // KOH 13 - - * Formaldehyde Catalyst //Fe16V1 14 - Solid Acid Catalyst //H2SO4 15 - Infinite Mutation Catalyst (for Mutated - * Living Solder) 16 - Platinum Group Catalyst (for platline skip) 17 - Plastic Polymer Catalyst (for early plastics - * skip) 18 - Rubber Polymer Catalyst (for early rubbers skip) 19 - Adhesion Promoter Catalyst (for glue/solder - * skip) 20 - Tita-Tungsten Indium Catalyst (for titanium/tungsten/indium skip) 21 - Radioactivity Catalyst (for - * thorium/uranium/plutonium skip) 22 - Rare-Earth Group Catalyst (for monaline skip) 23 - Simple Naquadah Catalyst - * (for early naqline skip) 24 - Advanced Naquadah Catalyst (for late naqline skip) 25 - Raw Intelligence Catalyst - * (for stem cells skip) 26 - Ultimate Plasticizer Catalyst (for late plastics skip) 27 - Biological Intelligence - * Catalyst (for bio cells skip) 28 - Temporal Harmonizer Catalyst (for Eternity processing) 29 - Limpid Water - * Catalyst (for early waterline skip) 30 - Flawless Water Catalyst (for advanced waterline skip) 33 - Algagenic - * Growth Promoter Catalyst (for seaweed skip) - */ - - public ItemGenericChemBase() { - this.setHasSubtypes(true); - this.setNoRepair(); - this.setMaxStackSize(64); - this.setMaxDamage(0); - base = new IIcon[aMetaSize]; - this.setUnlocalizedName("BasicGenericChemItem"); - GameRegistry.registerItem(this, this.getUnlocalizedName()); - } - - @Override - public int getItemStackLimit(ItemStack stack) { - if (ItemUtils.isMillingBall(stack)) { - return 16; - } - return super.getItemStackLimit(stack); - } - - @Override - public boolean isDamageable() { - return false; - } - - @Override - public boolean shouldRotateAroundWhenRendering() { - return super.shouldRotateAroundWhenRendering(); - } - - @Override - public void onUpdate(ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, - boolean p_77663_5_) { - super.onUpdate(p_77663_1_, p_77663_2_, p_77663_3_, p_77663_4_, p_77663_5_); - } - - @Override - public String getItemStackDisplayName(ItemStack aStack) { - return super.getItemStackDisplayName(aStack); - } - - @Override - public EnumRarity getRarity(ItemStack p_77613_1_) { - return EnumRarity.common; - } - - @Override - public boolean requiresMultipleRenderPasses() { - return false; - } - - @Override - public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) { - for (int i = 0; i < aMetaSize; i++) { - aList.add(ItemUtils.simpleMetaStack(aItem, i, 1)); - } - } - - @Override - public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) { - return false; - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public boolean isBookEnchantable(ItemStack stack, ItemStack book) { - return false; - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public int getItemEnchantability(ItemStack stack) { - return 0; - } - - @Override - public void registerIcons(final IIconRegister u) { - for (int i = 0; i < this.aMetaSize; i++) { - String aPath = GTPlusPlus.ID + ":" + "science/general/MetaItem1/" + i; - this.base[i] = u.registerIcon(aPath); - } - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - return this.base[damage]; - } - - @Override - public IIcon getIconFromDamage(int damage) { - return this.base[damage]; - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - return this.base[stack.getItemDamage()]; - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return this.base[stack.getItemDamage()]; - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return super.getUnlocalizedName() + "." + stack.getItemDamage(); - } - - @Override - public double getDurabilityForDisplay(ItemStack aStack) { - if (ItemUtils.isMillingBall(aStack)) { - if (aStack.getTagCompound() == null || aStack.getTagCompound() - .hasNoTags()) { - createMillingBallNBT(aStack); - } - double currentDamage = getMillingBallDamage(aStack); - return currentDamage / getMaxBallDurability(aStack); - } else if (ItemUtils.isCatalyst(aStack)) { - if (aStack.getTagCompound() == null || aStack.getTagCompound() - .hasNoTags()) { - createCatalystNBT(aStack); - } - double currentDamage = getCatalystDamage(aStack); - return currentDamage / getCatalystMaxDamage(aStack); - } else { - return 1D; - } - } - - @SuppressWarnings("unchecked") - @Override - public void addInformation(ItemStack aStack, EntityPlayer player, List list, boolean bool) { - boolean aHasSpecialTooltips = false; - int aMaxDamage = 0; - int aDamageSegment = 0; - int aDam = 0; - EnumChatFormatting durability = EnumChatFormatting.GRAY; - if (ItemUtils.isMillingBall(aStack)) { - list.add(EnumChatFormatting.GRAY + "Tumble Tumble Tumble"); - aMaxDamage = getMillingBallMaxDamage(aStack); - aDamageSegment = aMaxDamage / 5; - aDam = aMaxDamage - getMillingBallDamage(aStack); - aHasSpecialTooltips = true; - } - if (ItemUtils.isCatalyst(aStack)) { - list.add(EnumChatFormatting.GRAY + "Active Reaction Agent"); - aMaxDamage = getCatalystMaxDamage(aStack); - aDamageSegment = aMaxDamage / 5; - aDam = aMaxDamage - getCatalystDamage(aStack); - aHasSpecialTooltips = true; - } - if (aHasSpecialTooltips) { - if (aDam > aDamageSegment * 3) { - durability = EnumChatFormatting.GREEN; - } else if (aDam > aDamageSegment * 2) { - durability = EnumChatFormatting.YELLOW; - } else if (aDam > aDamageSegment) { - durability = EnumChatFormatting.GOLD; - } else if (aDam >= 0) { - durability = EnumChatFormatting.RED; - } - list.add(durability + "" + (aDam) + EnumChatFormatting.GRAY + " / " + aMaxDamage); - } - super.addInformation(aStack, player, list, bool); - } - - @Override - public boolean showDurabilityBar(ItemStack aStack) { - if (ItemUtils.isMillingBall(aStack)) { - int aDam = getMillingBallDamage(aStack); - if (aDam > 0) { - return true; - } - } else if (ItemUtils.isCatalyst(aStack)) { - int aDam = getCatalystDamage(aStack); - if (aDam > 0) { - return true; - } - } - return false; - } - - public static boolean createMillingBallNBT(ItemStack rStack) { - final NBTTagCompound tagMain = new NBTTagCompound(); - final NBTTagCompound tagNBT = new NBTTagCompound(); - tagNBT.setLong("Damage", 0); - tagNBT.setLong("MaxDamage", getMaxBallDurability(rStack)); - tagMain.setTag("MillingBall", tagNBT); - rStack.setTagCompound(tagMain); - return true; - } - - public static int getMillingBallDamage(ItemStack aStack) { - if (aStack.getTagCompound() == null || aStack.getTagCompound() - .hasNoTags()) { - createMillingBallNBT(aStack); - } - NBTTagCompound aNBT = aStack.getTagCompound(); - return aNBT.getCompoundTag("MillingBall") - .getInteger("Damage"); - } - - public static int getMillingBallMaxDamage(ItemStack aStack) { - if (aStack.getTagCompound() == null || aStack.getTagCompound() - .hasNoTags()) { - createMillingBallNBT(aStack); - } - NBTTagCompound aNBT = aStack.getTagCompound(); - return aNBT.getCompoundTag("MillingBall") - .getInteger("MaxDamage"); - } - - public static void setMillingBallDamage(ItemStack aStack, int aAmount) { - NBTTagCompound aNBT = aStack.getTagCompound(); - aNBT = aNBT.getCompoundTag("MillingBall"); - aNBT.setInteger("Damage", aAmount); - } - - public static int getMaxBallDurability(ItemStack aStack) { - if (GT_Utility.areStacksEqual(aStack, GenericChem.mMillingBallAlumina, true)) { - return 100; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mMillingBallSoapstone, true)) { - return 50; - } - return 0; - } - - public static boolean createCatalystNBT(ItemStack rStack) { - final NBTTagCompound tagMain = new NBTTagCompound(); - final NBTTagCompound tagNBT = new NBTTagCompound(); - tagNBT.setLong("Damage", 0); - tagNBT.setLong("MaxDamage", getMaxCatalystDurability(rStack)); - tagMain.setTag("catalyst", tagNBT); - rStack.setTagCompound(tagMain); - return true; - } - - public static int getCatalystDamage(ItemStack aStack) { - if (aStack.getTagCompound() == null || aStack.getTagCompound() - .hasNoTags()) { - createCatalystNBT(aStack); - } - NBTTagCompound aNBT = aStack.getTagCompound(); - return aNBT.getCompoundTag("catalyst") - .getInteger("Damage"); - } - - public static int getCatalystMaxDamage(ItemStack aStack) { - if (aStack.getTagCompound() == null || aStack.getTagCompound() - .hasNoTags()) { - createCatalystNBT(aStack); - } - NBTTagCompound aNBT = aStack.getTagCompound(); - return aNBT.getCompoundTag("catalyst") - .getInteger("MaxDamage"); - } - - public static void setCatalystDamage(ItemStack aStack, int aAmount) { - NBTTagCompound aNBT = aStack.getTagCompound(); - aNBT = aNBT.getCompoundTag("catalyst"); - aNBT.setInteger("Damage", aAmount); - } - - public static int getMaxCatalystDurability(ItemStack aStack) { - return 50; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/circuit/GTPP_IntegratedCircuit_Item.java b/gtpp/src/main/java/gtPlusPlus/core/item/circuit/GTPP_IntegratedCircuit_Item.java deleted file mode 100644 index 11bbac53a3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/circuit/GTPP_IntegratedCircuit_Item.java +++ /dev/null @@ -1,213 +0,0 @@ -package gtPlusPlus.core.item.circuit; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.function.BiFunction; -import java.util.function.Predicate; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.FakePlayer; - -import org.apache.commons.lang3.tuple.Pair; - -import com.gtnewhorizons.modularui.api.UIInfos; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; -import gregtech.api.interfaces.INetworkUpdatableItem; -import gregtech.api.net.GT_Packet_UpdateItem; -import gregtech.api.objects.XSTR; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import gregtech.common.gui.modularui.uifactory.SelectItemUIFactory; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class GTPP_IntegratedCircuit_Item extends Item implements INetworkUpdatableItem { - - private final List ALL_VARIANTS = new ArrayList<>(); - - private final String iconLocation; - protected final IIcon[] iconDamage = new IIcon[25]; - - public GTPP_IntegratedCircuit_Item(String unlocalizedName, String iconLocation) { - this.setHasSubtypes(true); - this.setNoRepair(); - this.setMaxStackSize(64); - this.setMaxDamage(0); - this.setUnlocalizedName(unlocalizedName); - this.iconLocation = iconLocation; - GameRegistry.registerItem(this, this.getUnlocalizedName()); - ALL_VARIANTS.add(new ItemStack(this, 0, 0)); - for (int i = 1; i <= 24; i++) { - ItemStack aStack = new ItemStack(this, 0, i); - ALL_VARIANTS.add(aStack); - } - } - - @Override - public boolean isDamageable() { - return false; - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) { - try { - aList.add("Configuration == " + aStack.getItemDamage()); - aList.add( - GT_LanguageManager.addStringLocalization( - new StringBuilder().append(getUnlocalizedName()) - .append(".tooltip.0") - .toString(), - "Right click to reconfigure")); - aList.add( - GT_LanguageManager.addStringLocalization( - new StringBuilder().append(getUnlocalizedName()) - .append(".tooltip.1") - .toString(), - "Needs a screwdriver or circuit programming tool")); - } catch (Throwable t) { - t.printStackTrace(); - } - super.addInformation(aStack, p_77624_2_, aList, p_77624_4_); - } - - @Override - public EnumRarity getRarity(ItemStack p_77613_1_) { - return EnumRarity.common; - } - - @Override - public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) { - aList.add(ItemUtils.simpleMetaStack(aItem, 0, 1)); - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public boolean isBookEnchantable(ItemStack stack, ItemStack book) { - return false; - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } - - @Override - public void registerIcons(final IIconRegister u) { - for (int i = 0; i < iconDamage.length; i++) { - this.iconDamage[i] = u.registerIcon(GTPlusPlus.ID + ":" + iconLocation + "/" + i); - } - } - - @Override - public IIcon getIconFromDamage(int meta) { - return this.iconDamage[MathUtils.balance(meta, 0, 24)]; - } - - @Override - public boolean receive(ItemStack stack, EntityPlayerMP player, NBTTagCompound tag) { - int meta = tag.hasKey("meta", Constants.NBT.TAG_BYTE) ? tag.getByte("meta") : -1; - if (meta < 0 || meta > 24) return true; - - if (!player.capabilities.isCreativeMode) { - Pair> toolIndex = findConfiguratorInInv(player); - if (toolIndex == null) return true; - - ItemStack[] mainInventory = player.inventory.mainInventory; - mainInventory[toolIndex.getKey()] = toolIndex.getValue() - .apply(mainInventory[toolIndex.getKey()], player); - } - stack.setItemDamage(meta); - - return true; - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - // nothing on server side or fake player - if (player instanceof FakePlayer || !world.isRemote) return stack; - // check if any screwdriver - ItemStack configuratorStack; - if (player.capabilities.isCreativeMode) { - configuratorStack = null; - } else { - Pair configurator = findConfiguratorInInv(player); - if (configurator == null) { - int count; - try { - count = Integer - .parseInt(StatCollector.translateToLocal("GT5U.item.programmed_circuit.no_screwdriver.count")); - } catch (NumberFormatException e) { - player.addChatComponentMessage( - new ChatComponentText( - "Error in translation GT5U.item.programmed_circuit.no_screwdriver.count: " - + e.getMessage())); - count = 1; - } - player.addChatComponentMessage( - new ChatComponentTranslation( - "GT5U.item.programmed_circuit.no_screwdriver." + XSTR.XSTR_INSTANCE.nextInt(count))); - return stack; - } - configuratorStack = player.inventory.mainInventory[configurator.getKey()]; - } - openSelectorGui(configuratorStack, stack.getItemDamage(), player); - return stack; - } - - private void openSelectorGui(ItemStack configurator, int meta, EntityPlayer player) { - UIInfos.openClientUI( - player, - buildContext -> new SelectItemUIFactory( - StatCollector.translateToLocal("GT5U.item.programmed_circuit.select.header"), - configurator, - GTPP_IntegratedCircuit_Item::onConfigured, - ALL_VARIANTS, - meta, - true).createWindow(buildContext)); - } - - private static void onConfigured(ItemStack stack) { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("meta", (byte) stack.getItemDamage()); - GT_Values.NW.sendToServer(new GT_Packet_UpdateItem(tag)); - } - - private static Pair> findConfiguratorInInv( - EntityPlayer player) { - ItemStack[] mainInventory = player.inventory.mainInventory; - for (int j = 0, mainInventoryLength = mainInventory.length; j < mainInventoryLength; j++) { - ItemStack toolStack = mainInventory[j]; - - if (!GT_Utility.isStackValid(toolStack)) continue; - - for (Map.Entry, BiFunction> p : GregTech_API.sCircuitProgrammerList - .entrySet()) - if (p.getKey() - .test(toolStack)) return Pair.of(j, p.getValue()); - } - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/crafting/ItemDummyResearch.java b/gtpp/src/main/java/gtPlusPlus/core/item/crafting/ItemDummyResearch.java deleted file mode 100644 index 51bff6f12b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/crafting/ItemDummyResearch.java +++ /dev/null @@ -1,92 +0,0 @@ -package gtPlusPlus.core.item.crafting; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.LinkedHashMap; -import java.util.Map; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.general.ItemGenericToken; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class ItemDummyResearch extends ItemGenericToken { - - public static enum ASSEMBLY_LINE_RESEARCH { - - RESEARCH_1_CONTAINMENT("Containment Fields", "Advanced scientific study"), - RESEARCH_2_BASIC_CHEM("Basic Chemistry", "Time to start at the beginning"), - RESEARCH_3_ADV_CHEM("Advanced Chemistry", "Best learn more than chemical equations"), - RESEARCH_4_BASIC_PHYSICS("Basic Physics", "Fundamental laws of motion"), - RESEARCH_5_ADV_PHYSICS("Advanced Physics", "Advanced knowledge!"), - RESEARCH_6_BASIC_METALLURGY("Basic Metallurgy", "Information about material smelting"), - RESEARCH_7_ADV_METALLURGY("Advanced Metallurgy", "Advanced Material Sciences!"), - RESEARCH_8_TURBINE_AUTOMATION("Turbine Automation", "You really don't want to share this with anyone!"), - RESEARCH_9_CLOAKING("Cloaking Technologies", "Sneaking around like a mouse"), - RESEARCH_10_SPARGING("Gas Sparging", "Blowing gas for results"), - RESEARCH_11_MOLECULAR_TRANSFORMER("Molecular Transformation", "Turning things into something better"); - - private final String mName; - private final String mDesc; - - private ASSEMBLY_LINE_RESEARCH(String aName, String aDesc) { - mName = aName; - mDesc = aDesc; - ModItems.itemDummyResearch.register(mName, mDesc); - } - } - - private static Map mInternalNameToIdMap = new LinkedHashMap<>(); - - public static ItemStack getResearchStack(ASSEMBLY_LINE_RESEARCH aResearchName, int aStacksize) { - Integer aMeta = mInternalNameToIdMap.get(Utils.sanitizeString(aResearchName.mName)); - if (aMeta == null) { - aMeta = 0; - } - return ItemUtils.simpleMetaStack(ModItems.itemDummyResearch, aMeta, aStacksize); - } - - private int aID = 0; - - public ItemDummyResearch() { - super("dummyResearch", "Research", new String[] { "This object requires some further study" }, "research"); - } - - /** - * - * @param aResearchType - What is the research for? - * @param aDescriptThe - tooltip for this research - * @return - Did we register a custom research item? - */ - public boolean register(String aResearchType, String aDescript) { - int aNewID = aID++; - mInternalNameToIdMap.put(Utils.sanitizeString(aResearchType), aNewID); - return register(aNewID, "Research on " + aResearchType, 1, aDescript); - } - - @Override - public boolean register(int id, String aLocalName, int aMaxStack, String aDescript) { - return register( - id, - aLocalName, - 1, - new String[] { aDescript, EnumChatFormatting.DARK_GRAY + "Used to further your knowledge" }, - EnumRarity.common, - EnumChatFormatting.LIGHT_PURPLE); - } - - @Override - @SideOnly(Side.CLIENT) - public final void registerIcons(final IIconRegister aIconRegister) { - for (int i = 0, j = mLocalNames.size(); i < j; i++) { - mIcons.put(i, aIconRegister.registerIcon(GTPlusPlus.ID + ":" + "research" + "/" + "note")); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/food/BaseItemMetaFood.java b/gtpp/src/main/java/gtPlusPlus/core/item/food/BaseItemMetaFood.java deleted file mode 100644 index a307eb48ac..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/food/BaseItemMetaFood.java +++ /dev/null @@ -1,509 +0,0 @@ -package gtPlusPlus.core.item.food; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BaseItemMetaFood extends ItemFood { - - private static final HashMap mIconMap = new HashMap<>(); - private static int mTotalMetaItems = 0; - - /* - * 0 - Raw Human Meat 1 - Cooked Human Meat 2 - Raw Horse Meat 3 - Cooked Horse Meat 4 - Raw Wolf Meat 5 - Cooked - * Wolf Meat 6 - Raw Ocelot Meat 7 - Cooked Ocelot Meat 8 - Blaze Flesh - */ - - // listAllmeatraw - // listAllmeatcooked - - public static void registerMetaFoods() { - registerNewMetaFood( - 0, - "I wouldn't eat this unless I was starving", - 2, - 0, - 64, - getPotionEffectPackage(new EffectWeaknessModerate(80), new EffectSlownessModerate(80)), - getOreDictNamesAsArrayList("listAllmeatraw")); - registerNewMetaFood( - 1, - "Doesn't look any better cooked", - 4, - 1, - 64, - getPotionEffectPackage(new EffectWeaknessBasic(50), new EffectSlownessBasic(50)), - getOreDictNamesAsArrayList("listAllmeatcooked")); - registerNewMetaFood( - 2, - "", - 2, - 0, - 64, - getPotionEffectPackage(new EffectWeaknessBasic(30), new EffectSlownessBasic(30)), - getOreDictNamesAsArrayList("listAllmeatraw")); - registerNewMetaFood(3, "", 4, 1, 64, getOreDictNamesAsArrayList("listAllmeatcooked")); - registerNewMetaFood( - 4, - "", - 2, - 0, - 64, - getPotionEffectPackage(new EffectWeaknessBasic(25), new EffectSlownessBasic(30)), - getOreDictNamesAsArrayList("listAllmeatraw")); - registerNewMetaFood(5, "", 4, 1, 64, getOreDictNamesAsArrayList("listAllmeatcooked")); - registerNewMetaFood( - 6, - "", - 2, - 0, - 64, - getPotionEffectPackage(new EffectWeaknessBasic(30), new EffectSlownessBasic(25)), - getOreDictNamesAsArrayList("listAllmeatraw")); - registerNewMetaFood(7, "", 4, 1, 64, getOreDictNamesAsArrayList("listAllmeatcooked")); - registerNewMetaFood( - 8, - "Warm to the touch", - EnumRarity.uncommon, - 4, - 1, - 64, - new AutoMap<>(), - new setOnFire(), - getOreDictNamesAsArrayList("listAllmeatcooked")); - } - - private static final HashMap mMaxStackSizeMap = new HashMap<>(); - private static final HashMap mTooltipMap = new HashMap<>(); - private static final HashMap mRarityMap = new HashMap<>(); - private static final HashMap mHealAmountMap = new HashMap<>(); - private static final HashMap mSaturationAmountMap = new HashMap<>(); - private static final HashMap> mPotionEffectsMap = new HashMap<>(); - private static final HashMap mHasSpecialBehaviourMap = new HashMap<>(); - private static final HashMap mSpecialBehaviourMap = new HashMap<>(); - private static final HashMap> mOreDictNames = new HashMap<>(); - - public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, - final float aSaturationModifier, final int aMaxStacksize) { - registerNewMetaFood( - aMetaID, - aTooltip, - EnumRarity.common, - aHealAmount, - aSaturationModifier, - aMaxStacksize, - new AutoMap<>(), - null, - new ArrayList<>()); - } - - public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, - final float aSaturationModifier, final int aMaxStacksize, final ArrayList aOreDictNames) { - registerNewMetaFood( - aMetaID, - aTooltip, - EnumRarity.common, - aHealAmount, - aSaturationModifier, - aMaxStacksize, - new AutoMap<>(), - null, - aOreDictNames); - } - - public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, - final float aSaturationModifier, final int aMaxStacksize, final AutoMap aPotionEffects) { - registerNewMetaFood( - aMetaID, - aTooltip, - EnumRarity.common, - aHealAmount, - aSaturationModifier, - aMaxStacksize, - new AutoMap<>(), - null, - new ArrayList<>()); - } - - public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, - final float aSaturationModifier, final int aMaxStacksize, final AutoMap aPotionEffects, - final ArrayList aOreDictNames) { - registerNewMetaFood( - aMetaID, - aTooltip, - EnumRarity.common, - aHealAmount, - aSaturationModifier, - aMaxStacksize, - aPotionEffects, - null, - aOreDictNames); - } - - public static void registerNewMetaFood(final int aMetaID, String aTooltip, EnumRarity aRarity, - final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, - final AutoMap aPotionEffects, final SpecialFoodBehaviour aSpecialBehaviour) { - registerNewMetaFood( - aMetaID, - aTooltip, - EnumRarity.common, - aHealAmount, - aSaturationModifier, - aMaxStacksize, - aPotionEffects, - null, - new ArrayList<>()); - } - - public static void registerNewMetaFood(final int aMetaID, String aTooltip, EnumRarity aRarity, - final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, - final AutoMap aPotionEffects, final SpecialFoodBehaviour aSpecialBehaviour, - final ArrayList aOreDictNames) { - mTotalMetaItems++; - mMaxStackSizeMap.put(aMetaID, aMaxStacksize); - mTooltipMap.put(aMetaID, aTooltip); - mRarityMap.put(aMetaID, aRarity); - mHealAmountMap.put(aMetaID, aHealAmount); - mSaturationAmountMap.put(aMetaID, aSaturationModifier); - mPotionEffectsMap.put(aMetaID, aPotionEffects); - mHasSpecialBehaviourMap.put(aMetaID, (aSpecialBehaviour != null)); - if (aSpecialBehaviour != null) { - mSpecialBehaviourMap.put(aMetaID, aSpecialBehaviour); - } - mOreDictNames.put(aMetaID, aOreDictNames); - } - - public static void registerFoodsToOreDict() { - for (int aMetaID = 0; aMetaID < mTotalMetaItems; aMetaID++) { - ArrayList aOreDictNames = mOreDictNames.get(aMetaID); - if (aOreDictNames != null && !aOreDictNames.isEmpty()) { - ItemStack aFoodStack = ItemUtils.simpleMetaStack(ModItems.itemMetaFood, aMetaID, 1); - for (String aOreName : aOreDictNames) { - ItemUtils.addItemToOreDictionary(aFoodStack, aOreName); - } - } - } - } - - public BaseItemMetaFood() { - super(0, 0, false); - this.setHasSubtypes(true); - this.setNoRepair(); - this.setMaxStackSize(64); - this.setMaxDamage(0); - this.setUnlocalizedName("BasicMetaFood"); - this.setCreativeTab(AddToCreativeTab.tabMisc); - GameRegistry.registerItem(this, this.getUnlocalizedName()); - BaseItemMetaFood.registerMetaFoods(); - } - - private static int getMetaKey(ItemStack aStack) { - return aStack.getItemDamage(); - } - - // Heal Amount - @Override - public int func_150905_g(ItemStack aStack) { - return mHealAmountMap.get(getMetaKey(aStack)); - } - - // Saturation Amount - @Override - public float func_150906_h(ItemStack aStack) { - return mSaturationAmountMap.get(getMetaKey(aStack)); - } - - // Whether wolves like this food, sadly doesn't support meta items - @Override - public boolean isWolfsFavoriteMeat() { - return false; - } - - @Override - protected void onFoodEaten(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) { - // super.onFoodEaten(stack, world, player); - AutoMap aPotionEffects = mPotionEffectsMap.get(getMetaKey(aStack)); - if (!aWorld.isRemote && aPotionEffects != null && aPotionEffects.size() > 0) { - for (PotionEffectPackage aFoodEffect : aPotionEffects) { - if (MathUtils.randInt(0, 100) <= aFoodEffect.getChance() || aFoodEffect.getChance() == 100) { - PotionEffect aEffect = aFoodEffect.getEffect(); - if (aEffect != null && aEffect.getPotionID() > 0) { - aPlayer.addPotionEffect( - new PotionEffect( - aEffect.getPotionID(), - aEffect.getDuration() * 20, - aEffect.getAmplifier(), - aEffect.getIsAmbient())); - } - } - } - } - - boolean aHasEpcialBehaviour = mHasSpecialBehaviourMap.get(getMetaKey(aStack)); - if (!aWorld.isRemote && aHasEpcialBehaviour) { - SpecialFoodBehaviour aBehaviour = mSpecialBehaviourMap.get(getMetaKey(aStack)); - if (aBehaviour != null) { - aBehaviour.doBehaviour(aPlayer); - } - } - } - - @Override - public ItemStack onEaten(ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - return super.onEaten(aStack, aWorld, aPlayer); - } - - @Override - public int getItemStackLimit(ItemStack aStack) { - return mMaxStackSizeMap.get(getMetaKey(aStack)); - } - - @Override - public boolean isDamageable() { - return false; - } - - @Override - public boolean shouldRotateAroundWhenRendering() { - return super.shouldRotateAroundWhenRendering(); - } - - @Override - public void onUpdate(ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, - boolean p_77663_5_) { - super.onUpdate(p_77663_1_, p_77663_2_, p_77663_3_, p_77663_4_, p_77663_5_); - } - - @Override - public String getItemStackDisplayName(ItemStack aStack) { - return super.getItemStackDisplayName(aStack); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) { - try { - String aTooltip = mTooltipMap.get(getMetaKey(aStack)); - if (aTooltip != null && aTooltip.length() > 0) { - aList.add(aTooltip); - } - } catch (Throwable t) { - t.printStackTrace(); - } - super.addInformation(aStack, p_77624_2_, aList, p_77624_4_); - } - - @Override - public EnumRarity getRarity(ItemStack aStack) { - return mRarityMap.get(getMetaKey(aStack)); - } - - @Override - public boolean requiresMultipleRenderPasses() { - return false; - } - - @Override - public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) { - for (int i = 0; i < mIconMap.size(); i++) { - aList.add(ItemUtils.simpleMetaStack(aItem, i, 1)); - } - } - - @Override - public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) { - return false; - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public boolean isBookEnchantable(ItemStack stack, ItemStack book) { - return false; - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public int getItemEnchantability(ItemStack stack) { - return 0; - } - - @Override - public void registerIcons(final IIconRegister u) { - for (int i = 0; i < mTotalMetaItems; i++) { - String aPath = GTPlusPlus.ID + ":" + "food/MetaItem1/" + i; - mIconMap.put(i, u.registerIcon(aPath)); - } - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - return mIconMap.get(damage); - } - - @Override - public IIcon getIconFromDamage(int damage) { - return mIconMap.get(damage); - } - - @Override - public IIcon getIcon(ItemStack aStack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - return mIconMap.get(getMetaKey(aStack)); - } - - @Override - public IIcon getIcon(ItemStack aStack, int pass) { - return mIconMap.get(getMetaKey(aStack)); - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return super.getUnlocalizedName() + "." + stack.getItemDamage(); - } - - private static class PotionEffectPackage { - - private final PotionEffect mEffect; - private final int mChance; - - private PotionEffectPackage(PotionEffect aEffect, int aChance) { - mEffect = aEffect; - mChance = aChance; - } - - public PotionEffect getEffect() { - return this.mEffect; - } - - public int getChance() { - return this.mChance; - } - } - - private static AutoMap getPotionEffectPackage(PotionEffectPackage... aEffects) { - AutoMap aPackage = new AutoMap<>(); - if (aEffects != null && aEffects.length > 0) { - for (PotionEffectPackage aEffect : aEffects) { - aPackage.put(aEffect); - } - } - return aPackage; - } - - private static ArrayList getOreDictNamesAsArrayList(String... aOreDictNames) { - ArrayList aPackage = new ArrayList<>(); - if (aOreDictNames != null && aOreDictNames.length > 0) { - for (String aEffect : aOreDictNames) { - aPackage.add(aEffect); - } - } - return aPackage; - } - - private static class EffectWeaknessBasic extends PotionEffectPackage { - - protected EffectWeaknessBasic(int aChance) { - super(new PotionEffect(Potion.weakness.getId(), 1, 20), aChance); - } - } - - private static class EffectWeaknessModerate extends PotionEffectPackage { - - protected EffectWeaknessModerate(int aChance) { - super(new PotionEffect(Potion.weakness.getId(), 2, 40), aChance); - } - } - - private static class EffectWeaknessSevere extends PotionEffectPackage { - - protected EffectWeaknessSevere(int aChance) { - super(new PotionEffect(Potion.weakness.getId(), 3, 60), aChance); - } - } - - private static class EffectSlownessBasic extends PotionEffectPackage { - - protected EffectSlownessBasic(int aChance) { - super(new PotionEffect(Potion.moveSlowdown.getId(), 1, 20), aChance); - } - } - - private static class EffectSlownessModerate extends PotionEffectPackage { - - protected EffectSlownessModerate(int aChance) { - super(new PotionEffect(Potion.moveSlowdown.getId(), 2, 40), aChance); - } - } - - private static class EffectSlownessSevere extends PotionEffectPackage { - - protected EffectSlownessSevere(int aChance) { - super(new PotionEffect(Potion.moveSlowdown.getId(), 3, 60), aChance); - } - } - - private abstract static class SpecialFoodBehaviour { - - protected final int mChance; - - public SpecialFoodBehaviour(int aChance) { - mChance = aChance; - } - - public final void doBehaviour(EntityPlayer aPlayer) { - if (aPlayer != null && !aPlayer.worldObj.isRemote) { - if (MathUtils.randInt(0, 100) < mChance || mChance == 100) { - behaviour(aPlayer); - } - } - } - - protected abstract void behaviour(EntityPlayer aPlayer); - } - - private static class setOnFire extends SpecialFoodBehaviour { - - public setOnFire() { - super(100); - } - - @Override - public void behaviour(EntityPlayer aPlayer) { - EntityUtils.setEntityOnFire(aPlayer, 5); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/BufferCore.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/BufferCore.java deleted file mode 100644 index 69257afb0e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/BufferCore.java +++ /dev/null @@ -1,68 +0,0 @@ -package gtPlusPlus.core.item.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.GT_Values; -import gtPlusPlus.core.item.base.BaseItemWithDamageValue; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.math.MathUtils; - -public class BufferCore extends BaseItemWithDamageValue { - - public int coreTier = 0; - - public BufferCore(final String unlocalizedName, final int i) { - super(unlocalizedName + i); - this.setTextureName(GTPlusPlus.ID + ":" + unlocalizedName); - this.setMaxStackSize(32); - this.coreTier = i; - } - - @Override - public String getItemStackDisplayName(final ItemStack stack) { - return super.getItemStackDisplayName(stack) /* +" ["+GT_Values.VN[this.coreTier-1]+"]." */; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @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 " - + GT_Values.VN[this.coreTier - 1] - + " Applicances"); - } - - public final int getCoreTier() { - return this.coreTier; - } - - @Override - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - - int[] mTierTypes = new int[] { Utils.rgbtoHexValue(200, 180, 180), Utils.rgbtoHexValue(142, 153, 161), - Utils.rgbtoHexValue(230, 121, 75), Utils.rgbtoHexValue(215, 156, 70), Utils.rgbtoHexValue(97, 97, 96), // EV - Utils.rgbtoHexValue(202, 202, 201), Utils.rgbtoHexValue(247, 159, 157), Utils.rgbtoHexValue(181, 223, 223), - Utils.rgbtoHexValue(187, 219, 185), }; - - if (this.coreTier == 10) { - return Utils - .rgbtoHexValue(MathUtils.randInt(220, 250), MathUtils.randInt(221, 251), MathUtils.randInt(220, 250)); - } - - return mTierTypes[this.coreTier - 1]; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemAirFilter.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemAirFilter.java deleted file mode 100644 index e82e6f1b44..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemAirFilter.java +++ /dev/null @@ -1,143 +0,0 @@ -package gtPlusPlus.core.item.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.Utils; - -public class ItemAirFilter extends Item { - - public IIcon[] icons = new IIcon[1]; - - public ItemAirFilter() { - super(); - this.setHasSubtypes(true); - String unlocalizedName = "itemAirFilter"; - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setMaxStackSize(1); - GameRegistry.registerItem(this, unlocalizedName); - } - - @Override - public void registerIcons(IIconRegister reg) { - this.icons[0] = reg.registerIcon(GTPlusPlus.ID + ":" + "itemAirFilter"); - } - - @Override - public IIcon getIconFromDamage(int meta) { - return this.icons[0]; - } - - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < 2; i++) { - list.add(new ItemStack(item, 1, i)); - } - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return this.getUnlocalizedName() + "_" + stack.getItemDamage(); - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - - if (tItem == null) { - return "Air Filter"; - } - - String itemName = tItem == null ? "Air Filter" : super.getItemStackDisplayName(tItem); - String suffixName = ""; - if (tItem.getItemDamage() == 0) { - suffixName = " [Tier 1]"; - } else if (tItem.getItemDamage() == 1) { - suffixName = " [Tier 2]"; - } - return (itemName + suffixName); - } - - @Override - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - int meta = stack.getItemDamage(); - if (meta == 1) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(150, 180, 35); - } - return HEX_OxFFFFFF; - } - - private static boolean createNBT(ItemStack rStack) { - final NBTTagCompound tagMain = new NBTTagCompound(); - final NBTTagCompound tagNBT = new NBTTagCompound(); - tagNBT.setLong("Damage", 0); - tagMain.setTag("AirFilter", tagNBT); - rStack.setTagCompound(tagMain); - return true; - } - - public static final long getFilterMaxDamage(final ItemStack aStack) { - return aStack.getItemDamage() == 0 ? 50 : 2500; - } - - public static final long getFilterDamage(final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("AirFilter"); - if (aNBT != null) { - return aNBT.getLong("Damage"); - } - } else { - createNBT(aStack); - } - return 0L; - } - - public static final boolean setFilterDamage(final ItemStack aStack, final long aDamage) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("AirFilter"); - if (aNBT != null) { - aNBT.setLong("Damage", aDamage); - return true; - } - } - return false; - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - if (stack.getTagCompound() == null) { - createNBT(stack); - } - double currentDamage = getFilterDamage(stack); - double meta = getFilterMaxDamage(stack); - double durabilitypercent = currentDamage / meta; - return durabilitypercent; - } - - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.GRAY + "An Air filter for Atmospheric Reconditioning."); - long maxDamage = getFilterMaxDamage(stack); - list.add(EnumChatFormatting.GRAY + "" + (maxDamage - getFilterDamage(stack)) + "/" + maxDamage + " uses left."); - super.addInformation(stack, player, list, bool); - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemBasicScrubberTurbine.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemBasicScrubberTurbine.java deleted file mode 100644 index ee1afdb6bf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemBasicScrubberTurbine.java +++ /dev/null @@ -1,152 +0,0 @@ -package gtPlusPlus.core.item.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.Utils; - -public class ItemBasicScrubberTurbine extends Item { - - public IIcon[] icons = new IIcon[1]; - - public ItemBasicScrubberTurbine() { - super(); - this.setHasSubtypes(true); - String unlocalizedName = "itemBasicTurbine"; - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setMaxStackSize(1); - GameRegistry.registerItem(this, unlocalizedName); - } - - @Override - public void registerIcons(IIconRegister reg) { - this.icons[0] = reg.registerIcon(GTPlusPlus.ID + ":" + "itemBasicTurbine"); - } - - @Override - public IIcon getIconFromDamage(int meta) { - return this.icons[0]; - } - - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < 3; i++) { - list.add(new ItemStack(item, 1, i)); - } - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return this.getUnlocalizedName() + "_" + stack.getItemDamage(); - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - if (tItem == null) { - return "Basic Turbine"; - } - return super.getItemStackDisplayName(tItem); - } - - @Override - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - int meta = stack.getItemDamage(); - if (meta == 0) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(200, 200, 200); - } - if (meta == 1) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(255, 128, 0); - } - if (meta == 2) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(128, 128, 128); - } - return HEX_OxFFFFFF; - } - - private static boolean createNBT(ItemStack rStack) { - final NBTTagCompound tagMain = new NBTTagCompound(); - final NBTTagCompound tagNBT = new NBTTagCompound(); - tagNBT.setLong("Damage", 0); - tagMain.setTag("BasicTurbine", tagNBT); - rStack.setTagCompound(tagMain); - return true; - } - - public static final long getFilterDamage(final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("BasicTurbine"); - if (aNBT != null) { - return aNBT.getLong("Damage"); - } - } else { - createNBT(aStack); - } - return 0L; - } - - public static final boolean setFilterDamage(final ItemStack aStack, final long aDamage) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("BasicTurbine"); - if (aNBT != null) { - aNBT.setLong("Damage", aDamage); - return true; - } - } - return false; - } - - public int getMaxDurability(ItemStack aStack) { - if (aStack != null) { - int aMeta = aStack.getItemDamage(); - if (aMeta == 0) { - return 2000; - } - if (aMeta == 1) { - return 4000; - } - if (aMeta == 2) { - return 6000; - } - } - return 0; - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - if (stack.getTagCompound() == null) { - createNBT(stack); - } - double currentDamage = getFilterDamage(stack); - double meta = getMaxDurability(stack); - double durabilitypercent = currentDamage / meta; - return durabilitypercent; - } - - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.GRAY + "An early tier Turbine for Atmospheric Reconditioning."); - int maxDamage = getMaxDurability(stack); - list.add(EnumChatFormatting.GRAY + "" + (maxDamage - getFilterDamage(stack)) + "/" + maxDamage + " uses left."); - super.addInformation(stack, player, list, bool); - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemBlueprint.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemBlueprint.java deleted file mode 100644 index c6e0743268..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemBlueprint.java +++ /dev/null @@ -1,297 +0,0 @@ -package gtPlusPlus.core.item.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; - -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.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) { - this.setUnlocalizedName(unlocalizedName); - this.setTextureName(GTPlusPlus.ID + ":" + unlocalizedName); - this.setMaxStackSize(1); - this.setCreativeTab(AddToCreativeTab.tabMachines); - // this.bpID = MathUtils.randInt(0, 1000); - GameRegistry.registerItem(this, unlocalizedName); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void addInformation(final ItemStack itemStack, final EntityPlayer aPlayer, final List list, - final boolean bool) { - // Create some NBT if it's not there, otherwise this does nothing. - if (!itemStack.hasTagCompound()) { - this.createNBT(itemStack); - } - // Set up some default variables. - int id = -1; - String name = ""; - boolean blueprint = false; - // Get proper display vars from NBT if it's there - if (itemStack.hasTagCompound()) { - // Utils.LOG_WARNING("Found TagCompound"); - id = (int) this.getNBT(itemStack, "mID"); - name = (String) this.getNBT(itemStack, "mName"); - blueprint = (boolean) this.getNBT(itemStack, "mBlueprint"); - } - // Write to tooltip list for each viable setting. - if (itemStack.hasTagCompound()) { - if (id != -1) { - list.add( - EnumChatFormatting.GRAY + StatCollector - .translateToLocalFormatted(StatCollector.translateToLocal("item.itemBlueprint.tooltip.0"), id)); - } - if (blueprint) { - list.add( - EnumChatFormatting.BLUE + StatCollector.translateToLocalFormatted( - StatCollector.translateToLocal("item.itemBlueprint.tooltip.1"), - name)); - } else { - list.add(EnumChatFormatting.RED + StatCollector.translateToLocal("item.itemBlueprint.tooltip.2")); - } - } else { - list.add(EnumChatFormatting.RED + StatCollector.translateToLocal("item.itemBlueprint.tooltip.2")); - } - super.addInformation(itemStack, aPlayer, list, bool); - } - - @Override - public void onCreated(final ItemStack itemStack, final World world, final EntityPlayer player) { - this.createNBT(itemStack); - } - - @Override - public void onUpdate(final ItemStack itemStack, final World par2World, final Entity par3Entity, final int par4, - final boolean par5) {} - - @Override - public ItemStack onItemRightClick(final ItemStack itemStack, final World world, final EntityPlayer par3Entity) { - // Let the player know what blueprint is held - if (itemStack.hasTagCompound()) { - PlayerUtils.messagePlayer( - par3Entity, - "This Blueprint holds NBT data. " + "|" - + this.getNBT(itemStack, "mID") - + "|" - + this.getNBT(itemStack, "mBlueprint") - + "|" - + this.getNBT(itemStack, "mName") - + "|" - + ItemUtils.getArrayStackNames(this.readItemsFromNBT(itemStack))); - } else { - this.createNBT(itemStack); - PlayerUtils.messagePlayer(par3Entity, "This is a placeholder. " + this.getNBT(itemStack, "mID")); - } - - return super.onItemRightClick(itemStack, world, par3Entity); - } - - public ItemStack[] readItemsFromNBT(final ItemStack itemStack) { - ItemStack[] blueprint = new ItemStack[9]; - if (itemStack.hasTagCompound()) { - final NBTTagCompound nbt = itemStack.getTagCompound(); - final NBTTagList list = nbt.getTagList("Inventory", 10); - blueprint = new ItemStack[INV_SIZE]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < INV_SIZE)) { - blueprint[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - return blueprint; - } - return null; - } - - public ItemStack writeItemsToNBT(final ItemStack itemStack, final ItemStack[] craftingGrid) { - final ItemStack[] blueprint = craftingGrid; - if (itemStack.hasTagCompound()) { - final NBTTagCompound nbt = itemStack.getTagCompound(); - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < INV_SIZE; i++) { - final ItemStack stack = blueprint[i]; - if (stack != null) { - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - nbt.setTag("Inventory", list); - itemStack.setTagCompound(nbt); - return itemStack; - } - return null; - } - - @Override - public boolean isBlueprint(final ItemStack stack) { - return true; - } - - @Override - public boolean setBlueprint(final ItemStack stack, final IInventory craftingTable, final ItemStack output) { - boolean hasBP = false; - ItemStack[] blueprint = new ItemStack[9]; - - if (stack.hasTagCompound()) { - hasBP = (boolean) this.getNBT(stack, "mBlueprint"); - blueprint = this.readItemsFromNBT(stack); - } - - if (!hasBP) { - try { - for (int o = 0; o < craftingTable.getSizeInventory(); o++) { - blueprint[o] = craftingTable.getStackInSlot(o); - if (blueprint[0] != null) { - blueprint[0].stackSize = 0; - } - } - this.writeItemsToNBT(stack, blueprint); - if (stack.hasTagCompound()) { - if (stack.getTagCompound() - .getCompoundTag("Items") != null) { - stack.stackTagCompound.setBoolean("mBlueprint", true); - } else { - // Invalid BP saved? - } - hasBP = (boolean) this.getNBT(stack, "mBlueprint"); - } - - if (output != null) { - this.setBlueprintName(stack, output.getDisplayName()); - hasBP = true; - return true; - } - return false; - } catch (final Throwable t) { - return false; - } - } - return false; - } - - @Override - public void setBlueprintName(final ItemStack stack, final String name) { - stack.stackTagCompound.setString("mName", name); - } - - @Override - public boolean hasBlueprint(final ItemStack stack) { - if (stack.hasTagCompound()) { - return (boolean) this.getNBT(stack, "mBlueprint"); - } - return false; - } - - @Override - public ItemStack[] getBlueprint(final ItemStack stack) { - ItemStack[] blueprint = new ItemStack[9]; - if (stack.hasTagCompound()) { - blueprint = this.readItemsFromNBT(stack); - } - try { - final ItemStack[] returnStack = new ItemStack[9]; - for (int o = 0; o < blueprint.length; o++) { - returnStack[o] = blueprint[o]; - if (returnStack[0] != null) { - returnStack[0].stackSize = 1; - } - } - return returnStack; - } catch (final Throwable t) { - return null; - } - } - - public boolean createNBT(final ItemStack itemStack) { - if (itemStack.hasTagCompound()) { - if (!itemStack.stackTagCompound.getBoolean("mBlueprint") && !itemStack.stackTagCompound.getString("mName") - .equals("")) { - // No Blueprint and no name Set - Logger.WARNING("No Blueprint and no name Set"); - return false; - } else if (itemStack.stackTagCompound.getBoolean("mBlueprint") - && !itemStack.stackTagCompound.getString("mName") - .equals("")) { - // Has Blueprint but invalid name set - Logger.WARNING("Has Blueprint but invalid name set"); - return false; - } else - if (!itemStack.stackTagCompound.getBoolean("mBlueprint") - && itemStack.stackTagCompound.getString("mName") - .equals("")) { - // Has no Blueprint, but strangely has a name - Logger.WARNING("Has no Blueprint, but strangely has a name"); - return false; - } - return false; - } else if (!itemStack.hasTagCompound()) { - final int bpID = MathUtils.randInt(0, 1000); - final boolean hasRecipe = false; - final String recipeName = ""; - Logger.WARNING("Creating Blueprint, setting up it's NBT data. " + bpID); - itemStack.stackTagCompound = new NBTTagCompound(); - itemStack.stackTagCompound.setInteger("mID", bpID); - itemStack.stackTagCompound.setBoolean("mBlueprint", hasRecipe); - itemStack.stackTagCompound.setString("mName", recipeName); - return true; - } else { - final int bpID = MathUtils.randInt(0, 1000); - final boolean hasRecipe = false; - final String recipeName = ""; - Logger.WARNING("Creating a Blueprint, setting up it's NBT data. " + bpID); - itemStack.stackTagCompound = new NBTTagCompound(); - itemStack.stackTagCompound.setInteger("mID", bpID); - itemStack.stackTagCompound.setBoolean("mBlueprint", hasRecipe); - itemStack.stackTagCompound.setString("mName", recipeName); - return true; - } - } - - public Object getNBT(final ItemStack itemStack, final String tagNBT) { - if (!itemStack.hasTagCompound()) { - return null; - } - Object o = null; - switch (tagNBT) { - case "mID": - o = itemStack.stackTagCompound.getInteger(tagNBT); - break; - case "mBlueprint": - o = itemStack.stackTagCompound.getBoolean(tagNBT); - break; - case "mName": - o = itemStack.stackTagCompound.getString(tagNBT); - break; - case "": - // For More Tag Support - // o = itemStack.stackTagCompound.getInteger(tagNBT); - break; - } - if (o != null) { - return o; - } - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemCloakingDevice.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemCloakingDevice.java deleted file mode 100644 index 9e5cf0a69d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemCloakingDevice.java +++ /dev/null @@ -1,232 +0,0 @@ -package gtPlusPlus.core.item.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.Names; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; - -import baubles.api.BaubleType; -import baubles.api.IBauble; -import cpw.mods.fml.common.Optional; -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.creative.AddToCreativeTab; -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 = Names.BAUBLES), - @Optional.Interface(iface = "baubles.api.BaubleType", modid = Names.BAUBLES) }) -public class ItemCloakingDevice extends Item implements IElectricItem, IElectricItemManager, IBauble { - - private final String unlocalizedName = "personalCloakingDevice"; - private final ItemStack thisStack; - private static final int maxValueEU = 10000 * 20 * 500; - protected double chargeEU = 0; - - public ItemCloakingDevice(final double charge) { - this.chargeEU = charge; - this.setCreativeTab(AddToCreativeTab.tabMachines); - this.setUnlocalizedName(this.unlocalizedName); - this.setMaxStackSize(1); - this.setTextureName(GTPlusPlus.ID + ":" + "personalCloakingDevice"); - this.thisStack = ItemUtils.getSimpleStack(this); - this.charge(this.thisStack, charge, 3, true, false); - if (charge == (10000 * 20 * 500)) { - this.setDamage(this.thisStack, 13); - } - GameRegistry.registerItem(this, this.unlocalizedName + "-" + charge); - } - - @Override - public void onUpdate(final ItemStack itemStack, final World worldObj, final Entity player, final int p_77663_4_, - final boolean p_77663_5_) { - if (worldObj.isRemote) { - return; - } - - if (player instanceof EntityPlayer) { - for (final ItemStack is : ((EntityPlayer) player).inventory.mainInventory) { - if (is == itemStack) { - continue; - } - if (is != null) { - if (is.getItem() instanceof final IElectricItem electricItem) { - this.chargeEU = ElectricItem.manager.getCharge(is); - } - } - } - } - - super.onUpdate(itemStack, worldObj, player, p_77663_4_, p_77663_5_); - } - - @Override - public boolean canProvideEnergy(final ItemStack itemStack) { - return true; - } - - @Override - public Item getChargedItem(final ItemStack itemStack) { - final ItemStack x = itemStack.copy(); - x.setItemDamage(maxValueEU); - return x.getItem(); - } - - @Override - public Item getEmptyItem(final ItemStack itemStack) { - final ItemStack x = itemStack.copy(); - x.setItemDamage(0); - return x.getItem(); - } - - @Override - public double getMaxCharge(final ItemStack itemStack) { - return maxValueEU; - } - - @Override - public int getTier(final ItemStack itemStack) { - return 5; - } - - @Override - public double getTransferLimit(final ItemStack itemStack) { - return 8196; - } - - @Override - public double getDurabilityForDisplay(final ItemStack stack) { - // return 1.0D - getEnergyStored(stack) / this.capacity; - return 1.0D - (this.getCharge(stack) / this.getMaxCharge(stack)); - } - - @Override - public boolean showDurabilityBar(final ItemStack stack) { - return true; - } - - public int secondsLeft(final ItemStack stack) { - double r; - r = this.getCharge(stack) / (10000 * 20); - return (int) MathUtils.decimalRounding(r); - } - - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - list.add(""); - list.add(StatCollector.translateToLocal("item.personalCloakingDevice.tooltip.0")); - list.add(StatCollector.translateToLocal("item.personalCloakingDevice.tooltip.1")); - list.add(""); - list.add(StatCollector.translateToLocal("item.personalCloakingDevice.tooltip.2")); - list.add( - StatCollector.translateToLocalFormatted( - "item.personalCloakingDevice.tooltip.3", - GT_Utility.formatNumbers(this.getTier(this.thisStack)), - GT_Utility.formatNumbers(this.getTransferLimit(this.thisStack)))); - list.add( - StatCollector.translateToLocalFormatted( - "item.personalCloakingDevice.tooltip.4", - GT_Utility.formatNumbers(this.getCharge(stack)), - MathUtils.findPercentage(this.getCharge(stack), this.getMaxCharge(stack)))); - list.add( - StatCollector.translateToLocalFormatted( - "item.personalCloakingDevice.tooltip.5", - GT_Utility.formatNumbers(this.secondsLeft(stack)))); - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - public double charge(final ItemStack stack, final double amount, final int tier, final boolean ignoreTransferLimit, - final boolean simulate) { - - if (!simulate) { - ElectricItem.manager.charge(stack, amount, tier, true, simulate); - } - return ElectricItem.manager.charge(stack, amount, tier, true, simulate); - } - - @Override - public double discharge(final ItemStack stack, final double amount, final int tier, - final boolean ignoreTransferLimit, final boolean externally, final boolean simulate) { - if (!simulate) { - ElectricItem.manager.discharge(stack, amount, tier, ignoreTransferLimit, externally, simulate); - } - - return ElectricItem.manager.discharge(stack, amount, tier, ignoreTransferLimit, externally, simulate); - } - - @Override - public double getCharge(final ItemStack stack) { - return ElectricItem.manager.getCharge(stack); - } - - @Override - public boolean canUse(final ItemStack stack, final double amount) { - return ElectricItem.manager.canUse(stack, amount); - } - - @Override - public boolean use(final ItemStack stack, final double amount, final EntityLivingBase entity) { - return ElectricItem.manager.use(stack, amount, entity); - } - - @Override - public void chargeFromArmor(final ItemStack stack, final EntityLivingBase entity) { - ElectricItem.manager.chargeFromArmor(stack, entity); - } - - @Override - public String getToolTip(final ItemStack stack) { - return ElectricItem.manager.getToolTip(stack); - } - - @Override - public boolean canEquip(final ItemStack arg0, final EntityLivingBase arg1) { - return true; - } - - @Override - public boolean canUnequip(final ItemStack arg0, final EntityLivingBase arg1) { - return true; - } - - @Override - public BaubleType getBaubleType(final ItemStack arg0) { - return BaubleType.BELT; - } - - @Override // TODO - public void onEquipped(final ItemStack arg0, final EntityLivingBase arg1) {} - - @Override // TODO - public void onUnequipped(final ItemStack arg0, final EntityLivingBase arg1) {} - - @Override // TODO - public void onWornTick(final ItemStack arg0, final EntityLivingBase arg1) { - // Utils.LOG_INFO("Trying to Tick Belt. 1"); - if (!arg1.worldObj.isRemote) { - if (this.getCharge(arg0) >= 10000) { - arg1.addPotionEffect(new PotionEffect(Potion.invisibility.id, 10, 2)); - this.discharge(arg0, 10000, 5, true, true, false); - } else { - if (arg1.isPotionActive((Potion.invisibility))) { - arg1.removePotionEffect(Potion.invisibility.id); - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemEmpty.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemEmpty.java deleted file mode 100644 index 773a45aa0a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemEmpty.java +++ /dev/null @@ -1,18 +0,0 @@ -package gtPlusPlus.core.item.general; - -import net.minecraft.item.ItemStack; - -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.base.CoreItem; - -public class ItemEmpty extends CoreItem { - - public ItemEmpty() { - super("item.empty", AddToCreativeTab.tabMisc); - } - - @Override - public String getItemStackDisplayName(ItemStack tItem) { - return "Empty"; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemGenericToken.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemGenericToken.java deleted file mode 100644 index c1bea0b81d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemGenericToken.java +++ /dev/null @@ -1,197 +0,0 @@ -package gtPlusPlus.core.item.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.HashMap; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.base.CoreItem; - -public class ItemGenericToken extends CoreItem { - - public final HashMap mLocalNames; - public final HashMap mMaxStackSizes; - public final HashMap mDescriptionArrays; - public final HashMap mRarities; - public final HashMap mCustomNameColours; - public final HashMap mIcons; - private final String mTextureDir; - - public ItemGenericToken() { - this("itemGenericToken", "Token", new String[] { "Can be reclaimed in some way, shape or form" }, "token"); - } - - public ItemGenericToken(String aUnlocalName, String aInternalName, String[] aBaseTooltip, String aTextureDir) { - super( - aUnlocalName, - aInternalName, - AddToCreativeTab.tabMisc, - 64, - 1000, - aBaseTooltip, - EnumRarity.common, - EnumChatFormatting.RESET, - false, - null); - mLocalNames = new HashMap<>(); - mMaxStackSizes = new HashMap<>(); - mDescriptionArrays = new HashMap<>(); - mRarities = new HashMap<>(); - mCustomNameColours = new HashMap<>(); - mIcons = new HashMap<>(); - mTextureDir = aTextureDir; - setMaxStackSize(64); - } - - public boolean register(int id, String aLocalName, int aMaxStack, String aDescript) { - return register(id, aLocalName, aMaxStack, new String[] { aDescript }); - } - - public boolean register(int id, String aLocalName, int aMaxStack, String[] aDescript) { - return register(id, aLocalName, aMaxStack, aDescript, EnumRarity.common, EnumChatFormatting.RESET); - } - - public boolean register(int id, String aLocalName, int aMaxStack, String[] aDescript, EnumRarity aRarity, - EnumChatFormatting aCustomNameColour) { - int[][] sizes = new int[2][6]; - sizes[0][0] = mLocalNames.size(); - sizes[0][1] = mMaxStackSizes.size(); - sizes[0][2] = mDescriptionArrays.size(); - sizes[0][3] = mRarities.size(); - sizes[0][4] = mCustomNameColours.size(); - // sizes[0][5] = mIcons.size(); - mLocalNames.put(id, aLocalName); - GT_LanguageManager - .addStringLocalization("gtplusplus." + this.getUnlocalizedName() + "." + id + ".name", aLocalName); - mMaxStackSizes.put(id, aMaxStack); - mDescriptionArrays.put(id, aDescript); - for (int i = 0; i < aDescript.length; i++) { - GT_LanguageManager.addStringLocalization( - "gtplusplus." + this.getUnlocalizedName() + "." + id + ".tooltip." + i, - aDescript[i]); - } - mRarities.put(id, aRarity); - mCustomNameColours.put(id, aCustomNameColour); - sizes[1][0] = mLocalNames.size(); - sizes[1][1] = mMaxStackSizes.size(); - sizes[1][2] = mDescriptionArrays.size(); - sizes[1][3] = mRarities.size(); - sizes[1][4] = mCustomNameColours.size(); - // sizes[1][5] = mIcons.size(); - boolean b = sizes[0][0] > sizes[1][0] && sizes[0][1] > sizes[1][1] - && sizes[0][2] > sizes[1][2] - && sizes[0][3] > sizes[1][3] - && sizes[0][4] > sizes[1][4]; - return b; - } - - // Handle Sub items - @SuppressWarnings({ "rawtypes", "unchecked" }) - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(final Item var1, final CreativeTabs aCreativeTab, final List aList) { - for (int i = 0, j = mIcons.size(); i < j; i++) { - final ItemStack tStack = new ItemStack(this, 1, i); - aList.add(tStack); - } - } - - @Override - public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { - super.addInformation(stack, aPlayer, list, bool); - for (int i = 0;; i++) { - String tooltip = GT_LanguageManager.getTranslation( - "gtplusplus." + this - .getUnlocalizedNameInefficiently(stack) + "." + stack.getItemDamage() + ".tooltip." + i); - if (!("gtplusplus." + this - .getUnlocalizedNameInefficiently(stack) + "." + stack.getItemDamage() + ".tooltip." + i) - .equals(tooltip)) { - list.add(tooltip); - } else break; - } - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - String ret = GT_LanguageManager.getTranslation( - "gtplusplus." + this.getUnlocalizedNameInefficiently(tItem) + "." + tItem.getItemDamage() + ".name"); - EnumChatFormatting format = mCustomNameColours.get(tItem.getItemDamage()); - if (format != null) { - ret = format + ret; - } - return ret; - } - - @Override - public EnumRarity getRarity(ItemStack par1ItemStack) { - return mRarities.get(par1ItemStack.getItemDamage()); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, final int pass) { - return false; - } - - @Override - public int getMetadata(int p_77647_1_) { - return 0; - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - return 0D; - } - - @Override - public boolean isDamaged(ItemStack stack) { - return false; - } - - @Override - public int getItemStackLimit(ItemStack aStack) { - if (aStack == null) { - return maxStackSize; - } else { - Integer aSize = mMaxStackSizes.get(aStack.getItemDamage()); - if (aSize != null) { - return aSize; - } else { - return maxStackSize; - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister aIconRegister) { - for (int i = 0, j = mLocalNames.size(); i < j; i++) { - mIcons.put(i, aIconRegister.registerIcon(GTPlusPlus.ID + ":" + mTextureDir + "/" + i)); - } - } - - @Override - public final IIcon getIconFromDamage(final int aMetaData) { - if (aMetaData < 0) { - return null; - } - return mIcons.get(aMetaData); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemHalfCompleteCasings.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemHalfCompleteCasings.java deleted file mode 100644 index 47cd73a62b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemHalfCompleteCasings.java +++ /dev/null @@ -1,56 +0,0 @@ -package gtPlusPlus.core.item.general; - -import java.util.List; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import gtPlusPlus.core.item.base.BaseItemColourable; -import gtPlusPlus.core.util.Utils; - -public class ItemHalfCompleteCasings extends BaseItemColourable { - - public ItemHalfCompleteCasings(String unlocalizedName, CreativeTabs creativeTab, int stackSize, int maxDmg, - String description, EnumRarity regRarity, EnumChatFormatting colour, boolean Effect, int rgb) { - super(unlocalizedName, 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++) { - list.add(new ItemStack(item, 1, i)); - } - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - String prefix = super.getItemStackDisplayName(tItem); - String casingType = ""; - if (tItem.getItemDamage() == 0) { - casingType = " I"; - } else if (tItem.getItemDamage() == 1) { - casingType = " II"; - } else if (tItem.getItemDamage() == 2) { - casingType = " III"; - } else if (tItem.getItemDamage() == 3) { - casingType = " IV"; - } - return (prefix + casingType); - } - - @Override - public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) { - if (this.getDamage(stack) == 0) { - return Utils.rgbtoHexValue(52, 52, 52); - } else if (this.getDamage(stack) == 1) { - return Utils.rgbtoHexValue(80, 90, 222); - } else if (this.getDamage(stack) == 2) { - return Utils.rgbtoHexValue(182, 77, 177); - } else { - return Utils.rgbtoHexValue(77, 175, 182); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemHealingDevice.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemHealingDevice.java deleted file mode 100644 index d80238b99a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemHealingDevice.java +++ /dev/null @@ -1,419 +0,0 @@ -package gtPlusPlus.core.item.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.FoodStats; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; - -import baubles.api.BaubleType; -import baubles.api.IBauble; -import cpw.mods.fml.common.Optional; -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Mods; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.core.util.sys.KeyboardUtils; -import gtPlusPlus.xmod.gregtech.common.helpers.ChargingHelper; -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 = Mods.Names.BAUBLES), - @Optional.Interface(iface = "baubles.api.BaubleType", modid = Mods.Names.BAUBLES) }) -public class ItemHealingDevice extends Item implements IElectricItem, IElectricItemManager, IBauble { - - private final String unlocalizedName = "personalHealingDevice"; - private static final int maxValueEU = 1000000000; - protected double chargeEU = 0; - - public ItemHealingDevice() { - this.setCreativeTab(AddToCreativeTab.tabMachines); - this.setUnlocalizedName(this.unlocalizedName); - this.setMaxStackSize(1); - this.setTextureName(GTPlusPlus.ID + ":" + "personalCloakingDevice"); - GameRegistry.registerItem(this, this.unlocalizedName); - } - - @Override - public void onUpdate(final ItemStack itemStack, final World worldObj, final Entity player, final int p_77663_4_, - final boolean p_77663_5_) { - if (worldObj.isRemote) { - return; - } - super.onUpdate(itemStack, worldObj, player, p_77663_4_, p_77663_5_); - } - - @Override - public boolean canProvideEnergy(final ItemStack itemStack) { - return true; - } - - @Override - public Item getChargedItem(final ItemStack itemStack) { - final ItemStack x = itemStack.copy(); - x.setItemDamage(maxValueEU); - return x.getItem(); - } - - @Override - public Item getEmptyItem(final ItemStack itemStack) { - final ItemStack x = itemStack.copy(); - x.setItemDamage(0); - return x.getItem(); - } - - @Override - public double getMaxCharge(final ItemStack itemStack) { - return maxValueEU; - } - - @Override - public int getTier(final ItemStack itemStack) { - return 5; - } - - @Override - public double getTransferLimit(final ItemStack itemStack) { - return GT_Values.V[7]; - } - - @Override - public double getDurabilityForDisplay(final ItemStack stack) { - // return 1.0D - getEnergyStored(stack) / this.capacity; - return 1.0D - (this.getCharge(stack) / this.getMaxCharge(stack)); - } - - @Override - public boolean showDurabilityBar(final ItemStack stack) { - return true; - } - - public double secondsLeft(final ItemStack stack) { - - double r = 0; - r = this.getCharge(stack) / (1638400 / 4); - return (int) r; - } - - int EUPerOperation = 1_638_400; - - @SuppressWarnings({ "rawtypes", "unchecked" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - - String aString1 = StatCollector.translateToLocal("GTPP.nanohealer.tooltip.1"); - String aString2 = StatCollector.translateToLocal("GTPP.nanohealer.tooltip.2"); - String aString3 = StatCollector.translateToLocal("GTPP.nanohealer.tooltip.3"); - String aString4 = StatCollector.translateToLocal("GTPP.nanohealer.tooltip.4"); - String aString5 = StatCollector.translateToLocal("GTPP.nanohealer.tooltip.5"); - - String aString6 = StatCollector.translateToLocal("GTPP.nanohealer.tooltip.6"); - - String aStringTooltip = StatCollector.translateToLocal("GTPP.nanohealer.hidden"); - String aEuInfo = StatCollector.translateToLocal("GTPP.info.euInfo"); - String aTier = StatCollector.translateToLocal("GTPP.machines.tier"); - String aInputLimit = StatCollector.translateToLocal("GTPP.info.inputLimit"); - String aCurrentPower = StatCollector.translateToLocal("GTPP.info.currentPower"); - String aEU = StatCollector.translateToLocal("GTPP.info.eu"); - String aEUT = aEU + "/t"; - boolean isShowing = getShowMessages(stack); - - list.add(""); - - list.add(EnumChatFormatting.GREEN + aString1 + EnumChatFormatting.GRAY); - list.add( - EnumChatFormatting.GREEN + aString2 - + GT_Utility.formatNumbers(EUPerOperation) - + aString3 - + EnumChatFormatting.GRAY); - list.add(EnumChatFormatting.GREEN + aString4 + EnumChatFormatting.GRAY); - list.add(EnumChatFormatting.RED + aString5 + EnumChatFormatting.GRAY); - - list.add(""); - - list.add(EnumChatFormatting.GOLD + aEuInfo + EnumChatFormatting.GRAY); - list.add( - EnumChatFormatting.GRAY + aTier - + ": [" - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(this.getTier(stack)) - + EnumChatFormatting.GRAY - + "] " - + aInputLimit - + ": [" - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(this.getTransferLimit(stack)) - + EnumChatFormatting.GRAY - + aEUT - + "]"); - list.add( - EnumChatFormatting.GRAY + aCurrentPower - + ": [" - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(this.getCharge(stack)) - + EnumChatFormatting.GRAY - + aEU - + "] [" - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(MathUtils.findPercentage(this.getCharge(stack), this.getMaxCharge(stack))) - + EnumChatFormatting.GRAY - + "%]"); - list.add(EnumChatFormatting.GOLD + aString6 + EnumChatFormatting.GRAY); - list.add( - EnumChatFormatting.GOLD + aStringTooltip - + " " - + (!isShowing ? EnumChatFormatting.DARK_GREEN : EnumChatFormatting.DARK_RED) - + !isShowing - + EnumChatFormatting.GRAY); - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - public double charge(final ItemStack stack, final double amount, final int tier, final boolean ignoreTransferLimit, - final boolean simulate) { - - if (!simulate) { - ElectricItem.manager.charge(stack, amount, tier, true, simulate); - } - return ElectricItem.manager.charge(stack, amount, tier, true, simulate); - } - - @Override - public double discharge(final ItemStack stack, final double amount, final int tier, - final boolean ignoreTransferLimit, final boolean externally, final boolean simulate) { - return ElectricItem.manager.discharge(stack, amount, tier, ignoreTransferLimit, externally, simulate); - } - - @Override - public double getCharge(final ItemStack stack) { - return ElectricItem.manager.getCharge(stack); - } - - @Override - public boolean canUse(final ItemStack stack, final double amount) { - return ElectricItem.manager.canUse(stack, amount); - } - - @Override - public boolean use(final ItemStack stack, final double amount, final EntityLivingBase entity) { - return ElectricItem.manager.use(stack, amount, entity); - } - - @Override - public void chargeFromArmor(final ItemStack stack, final EntityLivingBase entity) { - ElectricItem.manager.chargeFromArmor(stack, entity); - } - - @Override - public String getToolTip(final ItemStack stack) { - return ElectricItem.manager.getToolTip(stack); - } - - @Override - public boolean canEquip(final ItemStack arg0, final EntityLivingBase arg1) { - return true; - } - - @Override - public boolean canUnequip(final ItemStack arg0, final EntityLivingBase arg1) { - return true; - } - - @Override - public BaubleType getBaubleType(final ItemStack arg0) { - return BaubleType.AMULET; - } - - @Override // TODO - public void onEquipped(final ItemStack arg0, final EntityLivingBase arg1) {} - - @Override // TODO - public void onUnequipped(final ItemStack arg0, final EntityLivingBase arg1) {} - - @Override // TODO - public void onWornTick(final ItemStack baubleStack, final EntityLivingBase arg1) { - if (arg1 != null && arg1.worldObj != null && !arg1.worldObj.isRemote) { - - // Try Charge First - - // Inv Slots - for (final ItemStack aInvStack : ((EntityPlayer) arg1).inventory.mainInventory) { - if (aInvStack == baubleStack) { - continue; - } - - if (this.getCharge(baubleStack) == this.getMaxCharge(baubleStack)) { - break; - } - - if (aInvStack != null) { - if (ChargingHelper.isItemValid(aInvStack)) { - - double aTransferRate; - double aCurrentChargeForThisBauble; - int mTier; - final IElectricItem electricItem = (IElectricItem) aInvStack.getItem(); - - if (electricItem != null) { - - aTransferRate = electricItem.getTransferLimit(aInvStack); - mTier = electricItem.getTier(aInvStack); - aCurrentChargeForThisBauble = ElectricItem.manager.getCharge(baubleStack); - - if (aCurrentChargeForThisBauble < maxValueEU) { - if ((ElectricItem.manager.getCharge(aInvStack) >= aTransferRate)) { - if (electricItem.canProvideEnergy(aInvStack)) { - double d = ElectricItem.manager - .discharge(aInvStack, aTransferRate, mTier, false, true, false); - // Logger.INFO("Charging from "+aInvStack.getDisplayName() +" | "+d); - ElectricItem.manager.charge(baubleStack, d, mTier, true, false); - } - } - } - } - } - } - if (this.getCharge(baubleStack) <= (this.getMaxCharge(baubleStack) - getTransferLimit(baubleStack))) { - continue; - } else { - break; - } - } - - // Try Heal - if (this.getCharge(baubleStack) > 0) { - - if (!(arg1 instanceof EntityPlayer g)) { - return; - } - // health Check - float hp = 0; - if (arg1.getHealth() < arg1.getMaxHealth()) { - final float rx = arg1.getMaxHealth() - arg1.getHealth(); - Logger.INFO("rx:" + rx); - arg1.heal(rx * 2); - hp = rx; - this.discharge(baubleStack, (1638400) * rx, 6, true, true, false); - } - - int hunger = 0; - float saturation = 0; - FoodStats aFood = g.getFoodStats(); - if (aFood != null) { - // Hunger Check - hunger = 20 - aFood.getFoodLevel(); - // Saturation Check - if (hunger > 0) { - saturation = 20f - aFood.getSaturationLevel(); - saturation /= hunger * 2f; - this.discharge(baubleStack, (1638400) * (hunger + saturation), 6, true, true, false); - aFood.addStats(hunger, saturation); - } - } - - // Only show Messages if they're enabled. - if (getShowMessages(baubleStack)) { - if (hp > 0 || hunger > 0 || saturation > 0) PlayerUtils - .messagePlayer((EntityPlayer) arg1, "Your NanoBooster Whirs! Leaving you feeling stronger."); - - if (hp > 0) PlayerUtils - .messagePlayer((EntityPlayer) arg1, "Healed " + GT_Utility.formatNumbers(hp) + " hp."); - - if (hunger > 0) PlayerUtils - .messagePlayer((EntityPlayer) arg1, "Healed " + GT_Utility.formatNumbers(hunger) + " hunger."); - - if (saturation > 0) PlayerUtils.messagePlayer( - (EntityPlayer) arg1, - "Satured Hunger by " + GT_Utility.formatNumbers(saturation) + "."); - - if (hp > 0 || hunger > 0 || saturation > 0) PlayerUtils.messagePlayer( - (EntityPlayer) arg1, - "You check it's remaining uses, it has " + GT_Utility.formatNumbers(secondsLeft(baubleStack)) - + " seconds left."); - } - } - } - } - - private static boolean createNBT(ItemStack rStack) { - final NBTTagCompound tagMain = new NBTTagCompound(); - tagMain.setBoolean("ShowMSG", false); - rStack.setTagCompound(tagMain); - return true; - } - - public static final boolean getShowMessages(final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT == null) { - if (!createNBT(aStack)) { - return false; - } else { - aNBT = aStack.getTagCompound(); - } - } - return aNBT.getBoolean("ShowMSG"); - } - - public static final boolean setShowMessages(final ItemStack aStack, final boolean aShow) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT == null) { - if (!createNBT(aStack)) { - return false; - } else { - aNBT = aStack.getTagCompound(); - } - } - aNBT.setBoolean("ShowMSG", aShow); - return true; - } - - @Override - public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, - int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { - // TODO Auto-generated method stub - return super.onItemUse( - p_77648_1_, - p_77648_2_, - p_77648_3_, - p_77648_4_, - p_77648_5_, - p_77648_6_, - p_77648_7_, - p_77648_8_, - p_77648_9_, - p_77648_10_); - } - - @Override - public ItemStack onItemRightClick(ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - ItemStack superStack = super.onItemRightClick(aStack, aWorld, aPlayer); - boolean isShiftHeld = KeyboardUtils.isShiftKeyDown(); - if (isShiftHeld) { - boolean oldState = getShowMessages(superStack); - boolean newState = !oldState; - ItemHealingDevice.setShowMessages(superStack, newState); - PlayerUtils.messagePlayer(aPlayer, (!oldState ? "Showing info messages" : "Hiding info messages")); - } - return superStack; - } - - @Override - public boolean doesSneakBypassUse(World world, int x, int y, int z, EntityPlayer player) { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemLavaFilter.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemLavaFilter.java deleted file mode 100644 index 2b5dd8883f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemLavaFilter.java +++ /dev/null @@ -1,84 +0,0 @@ -package gtPlusPlus.core.item.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; - -import gregtech.api.enums.ItemList; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.base.CoreItem; - -public class ItemLavaFilter extends CoreItem { - - public IIcon[] mIcon = new IIcon[1]; - - public ItemLavaFilter() { - super( - "itemLavaFilter", - AddToCreativeTab.tabMachines, - 1, - 99, - new String[] { "Lava Filter" }, - EnumRarity.common, - EnumChatFormatting.BLACK, - false, - null); - setGregtechItemList(); - } - - private boolean setGregtechItemList() { - ItemList.Component_LavaFilter.set(this); - return ItemList.Component_LavaFilter.get(1) != null ? true : false; - } - - @Override - public void registerIcons(IIconRegister reg) { - this.mIcon[0] = reg.registerIcon(GTPlusPlus.ID + ":" + "itemLavaFilter"); - } - - @Override - public IIcon getIconFromDamage(int meta) { - return this.mIcon[0]; - } - - @SuppressWarnings("unchecked") - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("item.itemLavaFilter.tooltip")); - - int maxDurability = stack.getMaxDamage() + 1; - int durability = maxDurability - stack.getItemDamage(); - - EnumChatFormatting formatting = EnumChatFormatting.GRAY; - if (durability > maxDurability * 0.8) { - formatting = EnumChatFormatting.GRAY; - } else if (durability > maxDurability * 0.6) { - formatting = EnumChatFormatting.GREEN; - } else if (durability > maxDurability * 0.4) { - formatting = EnumChatFormatting.YELLOW; - } else if (durability > maxDurability * 0.2) { - formatting = EnumChatFormatting.GOLD; - } else if (durability > 0) { - formatting = EnumChatFormatting.RED; - } - list.add("Uses remaining: " + formatting + durability + EnumChatFormatting.GRAY + " / " + maxDurability); - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return true; - } - - @Override - public boolean isRepairable() { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemMagicFeather.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemMagicFeather.java deleted file mode 100644 index 9b4dd86525..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/ItemMagicFeather.java +++ /dev/null @@ -1,260 +0,0 @@ -package gtPlusPlus.core.item.general; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.lang.ref.WeakReference; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.WeakHashMap; - -import net.minecraft.entity.EntityLivingBase; -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.tileentity.TileEntityBeacon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.living.LivingDeathEvent; - -import cpw.mods.fml.common.eventhandler.EventPriority; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -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.item.ModItems; -import gtPlusPlus.core.item.base.CoreItem; - -public class ItemMagicFeather extends CoreItem { - - public static final String NAME = "magicfeather"; - private static final WeakHashMap sPlayerData = new WeakHashMap<>(); - private static final WeakHashMap> sBeaconData = new WeakHashMap<>(); - - public ItemMagicFeather() { - super( - "magicfeather", - AddToCreativeTab.tabMisc, - 1, - 100, - new String[] { "Lets you fly around Beacons" }, - EnumRarity.uncommon, - null, - false, - null); - setMaxStackSize(1); - setUnlocalizedName(GTPlusPlus.ID + ":" + NAME); - MinecraftForge.EVENT_BUS.register(this); - } - - @Override - public int getEntityLifespan(ItemStack itemStack, World world) { - return Integer.MAX_VALUE; - } - - @SuppressWarnings("unchecked") - @Override - @SideOnly(Side.CLIENT) - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - list.add("Does not need to be the item held in your hand to work"); - super.addInformation(stack, aPlayer, list, bool); - list.add("Needs to be within beacon range"); - list.add("Range is beacon level * 10 + 10"); - } - - @Override - public boolean hasCustomEntity(ItemStack stack) { - return true; - } - - private static boolean isInBeaconRange(EntityPlayer player) { - World world = player.getEntityWorld(); - if (world.isRemote) { - return false; - } - HashSet aBeaconData = sBeaconData.computeIfAbsent(player, k -> new HashSet<>()); - int chunkXlo = (int) (player.posX - 50) >> 4, chunkXhi = (int) (player.posX + 50) >> 4, - chunkZlo = (int) (player.posZ - 50) >> 4, chunkZhi = (int) (player.posZ + 50) >> 4; - for (int chunkX = chunkXlo; chunkX < chunkXhi; chunkX++) { - for (int chunkZ = chunkZlo; chunkZ < chunkZhi; chunkZ++) { - if (!world.getChunkProvider() - .chunkExists(chunkX, chunkZ)) continue; - findSuitableBeacon( - player, - world.getChunkFromChunkCoords(chunkX, chunkZ).chunkTileEntityMap.values(), - aBeaconData); - } - } - return aBeaconData.size() > 0; - } - - private static void findSuitableBeacon(EntityPlayer player, Collection tileEntities, - HashSet aBeaconData) { - for (TileEntity t : tileEntities) { - if (!(t instanceof TileEntityBeacon beacon)) { - continue; - } - int level = beacon.getLevels(); - if (level == 0) { - continue; - } - int radius = (level * 10 + 10); - int x = beacon.xCoord; - int z = beacon.zCoord; - if (player.posX < (x - radius) || player.posX > (x + radius)) { - continue; - } - if (player.posZ < (z - radius) || player.posZ > (z + radius)) { - continue; - } - aBeaconData.add(beacon); - } - } - - private static void setMayFly(EntityPlayer player, boolean mayFly) { - if (player.capabilities.allowFlying == mayFly) { - return; - } - if (!mayFly) { - // force the player on the ground then remove ability to fly - // this prevent crashing the the ground and dying - // when you accidentally get out of the beacon range - player.capabilities.isFlying = false; - if (player.onGround && player.fallDistance < 1F) { - player.capabilities.allowFlying = false; - } - } else { - player.capabilities.allowFlying = true; - } - player.sendPlayerAbilities(); - } - - @SubscribeEvent(priority = EventPriority.HIGHEST) - public void onPlayerTick(TickEvent.PlayerTickEvent event) { - if (event.side != Side.SERVER || event.phase != Phase.END) { - return; - } - EntityPlayer player = event.player; - HashSet aBeaconData = sBeaconData.get(player); - if (aBeaconData != null && !aBeaconData.isEmpty()) { - for (Iterator iterator = aBeaconData.iterator(); iterator.hasNext();) { - TileEntityBeacon aBeacon = iterator.next(); - int level = aBeacon.getLevels(); - if (level == 0) { - iterator.remove(); - continue; - } - int radius = (level * 10 + 10); - int x = aBeacon.xCoord; - int z = aBeacon.zCoord; - if (player.posX < (x - radius) || player.posX > (x + radius) - || player.posZ < (z - radius) - || player.posZ > (z + radius)) { - iterator.remove(); - } - } - } - boolean hasItem = hasItem(player, ModItems.itemMagicFeather); - if (!hasItem) { - ItemMagicFeather.sPlayerData.remove(player); - } - MagicFeatherData data = ItemMagicFeather.sPlayerData.get(player); - if (data == null) { - data = new MagicFeatherData(player); - ItemMagicFeather.sPlayerData.put(player, data); - } - data.onTick(); - } - - @SubscribeEvent(priority = EventPriority.LOWEST) - public void onPlayerDeath(LivingDeathEvent event) { - if (event.entityLiving == null) return; - EntityLivingBase aEntity = event.entityLiving; - if (!(aEntity instanceof EntityPlayer aPlayer) || aEntity.worldObj == null || aEntity.worldObj.isRemote) return; - ItemMagicFeather.sPlayerData.remove(aPlayer); - ItemMagicFeather.sBeaconData.remove(aPlayer); - } - - private static boolean hasItem(EntityPlayer player, Item item) { - for (int i = 0; i < player.inventory.getSizeInventory(); i++) { - ItemStack stack = player.inventory.getStackInSlot(i); - if (stack != null && stack.getItem() != null && stack.getItem() instanceof ItemMagicFeather) { - return true; - } - } - return false; - } - - private static class MagicFeatherData { - - private final WeakReference player; - private boolean hasItem = false; - private int checkTick = 0; - private boolean beaconInRangeCache; - - public MagicFeatherData(EntityPlayer player) { - this.player = new WeakReference<>(player); - this.beaconInRangeCache = player.capabilities.allowFlying; - } - - public void onTick() { - EntityPlayer player = this.player.get(); - if (player == null) return; - try { - boolean hasItem = hasItem(player, ModItems.itemMagicFeather); - if (hasItem != this.hasItem) { - if (hasItem) { - this.onAdd(); - } - if (!hasItem) { - this.onRemove(); - } - this.hasItem = hasItem; - Logger.INFO("Ticking feather " + hasItem); - return; - } - } catch (Throwable t) { - t.printStackTrace(); - } - - if (hasItem) { - // only modify if hasItem. Override other flight methods since you are literally holding this item in - // your own inventory. You have sent your consent. - boolean mayFly = player.capabilities.isCreativeMode || checkBeaconInRange(player); - setMayFly(player, mayFly); - } - } - - private void onAdd() { - if (!ItemMagicFeather.isInBeaconRange(getPlayer())) { - return; - } - setMayFly(getPlayer(), true); - } - - private void onRemove() { - if (getPlayer().capabilities.isCreativeMode) { - return; - } - setMayFly(getPlayer(), false); - } - - private boolean checkBeaconInRange(EntityPlayer player) { - if (checkTick++ % 40 != 0) { - return beaconInRangeCache; - } - beaconInRangeCache = ItemMagicFeather.isInBeaconRange(player); - return beaconInRangeCache; - } - - private EntityPlayer getPlayer() { - return player.get(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java deleted file mode 100644 index 87c5ab3e74..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java +++ /dev/null @@ -1,122 +0,0 @@ -package gtPlusPlus.core.item.general.books; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gtPlusPlus.core.handler.BookHandler.mBookMap; -import static gtPlusPlus.core.util.Utils.addBookTitleLocalization; - -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemWritableBook; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -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.handler.BookHandler; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.NBTUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class ItemBaseBook extends ItemWritableBook { - - public ItemBaseBook() { - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setMaxStackSize(1); - this.setTextureName(GTPlusPlus.ID + ":" + "itemBook"); - this.setUnlocalizedName("itembookgt"); - GameRegistry.registerItem(this, "bookGT"); - } - - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < BookHandler.mBookMap.size(); i++) { - ItemStack bookstack = new ItemStack(item, 1, i); - - /* - * bookstack = Utils.getWrittenBook( bookstack, i, mBookMap.get(i).mMapping, mBookMap.get(i).mTitle, - * mBookMap.get(i).mAuthor, mBookMap.get(i).mPages); - */ - - NBTUtils.createIntegerTagCompound(bookstack, "stats", "mMeta", i); - list.add(bookstack); - } - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - if (NBTUtils.hasKey(tItem, "title")) { - return NBTUtils.getString(tItem, "title"); - } else if (tItem.getItemDamage() > -1 && tItem.getItemDamage() <= mBookMap.size()) { - return EnumChatFormatting.ITALIC + "" - + addBookTitleLocalization(mBookMap.get(tItem.getItemDamage()).mTitle); - } - // NBTUtils.tryIterateNBTData(tItem); - return "GT++ Storybook"; - } - - @Override - public void addInformation(ItemStack tItem, EntityPlayer player, List list, boolean bool) { - // TODO Auto-generated method stub - if (NBTUtils.hasKey(tItem, "author")) { - list.add(EnumChatFormatting.GRAY + "Author: " + NBTUtils.getString(tItem, "author")); - } else if (mBookMap.get(tItem.getItemDamage()).mAuthor != null) { - list.add(EnumChatFormatting.WHITE + "Author: " + mBookMap.get(tItem.getItemDamage()).mAuthor); - } - if (NBTUtils.hasKey(tItem, "title")) { - list.add(EnumChatFormatting.GRAY + "Pages: " + NBTUtils.getString(tItem, "pages")); - } else if (mBookMap.get(tItem.getItemDamage()).mPages != null) { - list.add(EnumChatFormatting.WHITE + "Pages: " + mBookMap.get(tItem.getItemDamage()).mPages.length); - } - // super.addInformation(p_77624_1_, p_77624_2_, p_77624_3_, p_77624_4_); - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player) { - // player.displayGUIBook(item); - int i = item.getItemDamage(); - ItemStack bookstack = Utils.getWrittenBook( - null, - mBookMap.get(i).mMeta, - mBookMap.get(i).mMapping, - mBookMap.get(i).mTitle, - mBookMap.get(i).mAuthor, - mBookMap.get(i).mPages); - - if (player.worldObj.isRemote) { - try { - Class clazz = ReflectionUtils.getClass("net.minecraft.client.gui.GuiScreenBook"); - Constructor ctor = clazz.getConstructor(EntityPlayer.class, ItemStack.class, boolean.class); - Object object = ctor.newInstance(new Object[] { player, bookstack, false }); - Minecraft.getMinecraft() - .displayGuiScreen((GuiScreen) object); - } catch (InstantiationException | IllegalAccessException | IllegalArgumentException - | InvocationTargetException | NoSuchMethodException | SecurityException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - // Minecraft.getMinecraft().displayGuiScreen(new GuiScreenBook(player, bookstack, false)); - } - return item; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemBoilerChassis.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemBoilerChassis.java deleted file mode 100644 index 8efcfe6912..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemBoilerChassis.java +++ /dev/null @@ -1,72 +0,0 @@ -package gtPlusPlus.core.item.general.chassis; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.Utils; - -public class ItemBoilerChassis extends Item { - - public IIcon[] icons = new IIcon[1]; - - public ItemBoilerChassis() { - super(); - this.setHasSubtypes(true); - String unlocalizedName = "itemBoilerChassis"; - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(AddToCreativeTab.tabMisc); - GameRegistry.registerItem(this, unlocalizedName); - } - - @Override - public void registerIcons(IIconRegister reg) { - this.icons[0] = reg.registerIcon(GTPlusPlus.ID + ":" + "itemBoilerChassis"); - } - - @Override - public IIcon getIconFromDamage(int meta) { - return this.icons[0]; - } - - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < 3; i++) { - list.add(new ItemStack(item, 1, i)); - } - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return this.getUnlocalizedName() + "_" + stack.getItemDamage(); - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - return StatCollector.translateToLocalFormatted("item.itemBoilerChassis.name", tItem.getItemDamage()); - } - - @Override // TODO - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - int meta = stack.getItemDamage(); - if (meta == 0) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(10, 110, 30); - } else if (meta == 1) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(150, 180, 35); - } else if (meta == 2) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(200, 85, 40); - } else if (meta == 3) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(255, 100, 50); - } - return HEX_OxFFFFFF; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java deleted file mode 100644 index 24759808ab..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java +++ /dev/null @@ -1,70 +0,0 @@ -package gtPlusPlus.core.item.general.chassis; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.GT_Values; -import gtPlusPlus.core.creative.AddToCreativeTab; - -public class ItemDehydratorCoil extends Item { - - public IIcon[] icons = new IIcon[4]; - - public ItemDehydratorCoil() { - super(); - this.setHasSubtypes(true); - String unlocalizedName = "itemDehydratorCoil"; - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(AddToCreativeTab.tabMisc); - GameRegistry.registerItem(this, unlocalizedName); - } - - @Override - public void registerIcons(IIconRegister reg) { - this.icons[0] = reg.registerIcon(GTPlusPlus.ID + ":" + "dehydrator/itemDehydratorCoil_0"); - this.icons[1] = reg.registerIcon(GTPlusPlus.ID + ":" + "dehydrator/itemDehydratorCoil_1"); - this.icons[2] = reg.registerIcon(GTPlusPlus.ID + ":" + "dehydrator/itemDehydratorCoil_2"); - this.icons[3] = reg.registerIcon(GTPlusPlus.ID + ":" + "dehydrator/itemDehydratorCoil_3"); - } - - @Override - public IIcon getIconFromDamage(int meta) { - return this.icons[meta]; - } - - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < 4; i++) { - list.add(new ItemStack(item, 1, i)); - } - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return this.getUnlocalizedName() + "_" + stack.getItemDamage(); - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - return StatCollector - .translateToLocalFormatted("item.itemDehydratorCoil.name", GT_Values.VN[tItem.getItemDamage() + 4]); - } - - /* - * @Override public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { int meta = - * stack.getItemDamage(); if (meta == 0){ HEX_OxFFFFFF = Utils.rgbtoHexValue(10,110,30); } else if (meta == 1){ - * HEX_OxFFFFFF = Utils.rgbtoHexValue(150,180,35); } else if (meta == 2){ HEX_OxFFFFFF = - * Utils.rgbtoHexValue(200,85,40); } else if (meta == 3){ HEX_OxFFFFFF = Utils.rgbtoHexValue(255,150,50); } return - * HEX_OxFFFFFF; } - */ - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java deleted file mode 100644 index b050e4c65c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java +++ /dev/null @@ -1,70 +0,0 @@ -package gtPlusPlus.core.item.general.chassis; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.GT_Values; -import gtPlusPlus.core.creative.AddToCreativeTab; - -public class ItemDehydratorCoilWire extends Item { - - public IIcon[] icons = new IIcon[4]; - - public ItemDehydratorCoilWire() { - super(); - this.setHasSubtypes(true); - String unlocalizedName = "itemDehydratorCoilWire"; - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(AddToCreativeTab.tabMisc); - GameRegistry.registerItem(this, unlocalizedName); - } - - @Override - public void registerIcons(IIconRegister reg) { - this.icons[0] = reg.registerIcon(GTPlusPlus.ID + ":" + "dehydrator/itemDehydratorCoilWire_0"); - this.icons[1] = reg.registerIcon(GTPlusPlus.ID + ":" + "dehydrator/itemDehydratorCoilWire_1"); - this.icons[2] = reg.registerIcon(GTPlusPlus.ID + ":" + "dehydrator/itemDehydratorCoilWire_2"); - this.icons[3] = reg.registerIcon(GTPlusPlus.ID + ":" + "dehydrator/itemDehydratorCoilWire_3"); - } - - @Override - public IIcon getIconFromDamage(int meta) { - return this.icons[meta]; - } - - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < 4; i++) { - list.add(new ItemStack(item, 1, i)); - } - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return this.getUnlocalizedName() + "_" + stack.getItemDamage(); - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - return StatCollector - .translateToLocalFormatted("item.itemDehydratorCoilWire.name", GT_Values.VN[tItem.getItemDamage() + 4]); - } - - /* - * @Override public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { int meta = - * stack.getItemDamage(); if (meta == 0){ HEX_OxFFFFFF = Utils.rgbtoHexValue(10,110,30); } else if (meta == 1){ - * HEX_OxFFFFFF = Utils.rgbtoHexValue(150,180,35); } else if (meta == 2){ HEX_OxFFFFFF = - * Utils.rgbtoHexValue(200,85,40); } else if (meta == 3){ HEX_OxFFFFFF = Utils.rgbtoHexValue(255,150,50); } return - * HEX_OxFFFFFF; } - */ - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/general/spawn/ItemCustomSpawnEgg.java b/gtpp/src/main/java/gtPlusPlus/core/item/general/spawn/ItemCustomSpawnEgg.java deleted file mode 100644 index c186fccd4b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/general/spawn/ItemCustomSpawnEgg.java +++ /dev/null @@ -1,278 +0,0 @@ -package gtPlusPlus.core.item.general.spawn; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -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.Entity; -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IEntityLivingData; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemMonsterPlacer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Facing; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class ItemCustomSpawnEgg extends ItemMonsterPlacer { - - private static final HashMap mIconMap = new HashMap<>(); - private static int mTotalMetaItems = 0; - - private static final HashMap mMaxStackSizeMap = new HashMap<>(); - private static final HashMap mRarityMap = new HashMap<>(); - private static final HashMap> mOreDictNames = new HashMap<>(); - - private static final HashMap mColourBaseMap = new HashMap<>(); - private static final HashMap mColourSpotsMap = new HashMap<>(); - private static final HashMap mEntityNameMap = new HashMap<>(); - private static final HashMap mEntityFullNameMap = new HashMap<>(); - - private static final HashMap mReverseEntityMap = new HashMap<>(); - - protected EntityLiving entityToSpawn = null; - - public static void registerEntityForSpawnEgg(final int aMetaID, String parEntityToSpawnName, int aPrimaryColor, - int aSecondaryColor) { - registerEntityForSpawnEgg( - aMetaID, - parEntityToSpawnName, - aPrimaryColor, - aSecondaryColor, - EnumRarity.common, - new ArrayList()); - } - - public static void registerEntityForSpawnEgg(final int aMetaID, String parEntityToSpawnName, int aPrimaryColor, - int aSecondaryColor, EnumRarity aRarity, final ArrayList aOreDictNames) { - mTotalMetaItems++; - mMaxStackSizeMap.put(aMetaID, 64); - mRarityMap.put(aMetaID, aRarity); - mOreDictNames.put(aMetaID, aOreDictNames); - mColourBaseMap.put(aMetaID, aPrimaryColor); - mColourSpotsMap.put(aMetaID, aSecondaryColor); - mReverseEntityMap.put(parEntityToSpawnName, aMetaID); - setEntityToSpawnName(aMetaID, parEntityToSpawnName); - } - - public ItemCustomSpawnEgg() { - super(); - this.setNoRepair(); - this.setMaxStackSize(64); - this.setMaxDamage(0); - this.setUnlocalizedName("BasicMetaSpawnEgg"); - GameRegistry.registerItem(this, this.getUnlocalizedName()); - } - - /** - * Callback for item usage. If the item does something special on right clicking, - * - * he will have one of those. Return True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, - int par5, int par6, int par7, float par8, float par9, float par10) { - if (par3World.isRemote) { - return true; - } else { - Block block = par3World.getBlock(par4, par5, par6); - par4 += Facing.offsetsXForSide[par7]; - par5 += Facing.offsetsYForSide[par7]; - par6 += Facing.offsetsZForSide[par7]; - double d0 = 0.0D; - - if (par7 == 1 && block.getRenderType() == 11) { - d0 = 0.5D; - } - - Entity entity = spawnEntity(par1ItemStack, par3World, par4 + 0.5D, par5 + d0, par6 + 0.5D); - - if (entity != null) { - if (entity instanceof EntityLivingBase && par1ItemStack.hasDisplayName()) { - ((EntityLiving) entity).setCustomNameTag(par1ItemStack.getDisplayName()); - } - - if (!par2EntityPlayer.capabilities.isCreativeMode) { - --par1ItemStack.stackSize; - } - } - - return true; - } - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. - * - * Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - if (par2World.isRemote) { - return par1ItemStack; - } else { - MovingObjectPosition movingobjectposition = getMovingObjectPositionFromPlayer( - par2World, - par3EntityPlayer, - true); - - if (movingobjectposition == null) { - return par1ItemStack; - } else { - if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { - int i = movingobjectposition.blockX; - int j = movingobjectposition.blockY; - int k = movingobjectposition.blockZ; - - if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) { - return par1ItemStack; - } - - if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, par1ItemStack)) { - - return par1ItemStack; - } - - if (par2World.getBlock(i, j, k) instanceof BlockLiquid) { - Entity entity = spawnEntity(par1ItemStack, par2World, i, j, k); - - if (entity != null) { - if (entity instanceof EntityLivingBase && par1ItemStack.hasDisplayName()) { - - ((EntityLiving) entity).setCustomNameTag(par1ItemStack.getDisplayName()); - } - - if (!par3EntityPlayer.capabilities.isCreativeMode) { - --par1ItemStack.stackSize; - } - } - } - } - - return par1ItemStack; - } - } - } - - /** - * Spawns the creature specified by the egg's type in the location specified by - * - * the last three parameters. Parameters: world, entityID, x, y, z. - * - * @param par1ItemStack - */ - public Entity spawnEntity(ItemStack par1ItemStack, World parWorld, double parX, double parY, double parZ) { - - if (!parWorld.isRemote) // never spawn entity on client side - { - int aDamage = par1ItemStack.getItemDamage(); - String entityToSpawnNameFull = mEntityFullNameMap.get(aDamage); - String entityToSpawnName = mEntityNameMap.get(aDamage); - // entityToSpawnNameFull = WildAnimals.MODID + "." + entityToSpawnName; - if (EntityList.stringToClassMapping.containsKey(entityToSpawnNameFull)) { - entityToSpawn = (EntityLiving) EntityList.createEntityByName(entityToSpawnNameFull, parWorld); - entityToSpawn.setLocationAndAngles( - parX, - parY, - parZ, - MathHelper.wrapAngleTo180_float(parWorld.rand.nextFloat() * 360.0F), - 0.0F); - parWorld.spawnEntityInWorld(entityToSpawn); - entityToSpawn.onSpawnWithEgg((IEntityLivingData) null); - entityToSpawn.playLivingSound(); - } else { - // DEBUG - System.out.println("Entity not found " + entityToSpawnName); - } - } - - return entityToSpawn; - } - - /** - * returns a list of items with the same ID, but different meta (eg: dye returns 16 items) - */ - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) { - for (int aMeta : mReverseEntityMap.values()) { - aList.add(ItemUtils.simpleMetaStack(aItem, aMeta, 1)); - } - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack par1ItemStack, int parColorType) { - int aID = par1ItemStack.getItemDamage(); - return (parColorType == 0) ? mColourBaseMap.get(aID) : mColourSpotsMap.get(aID); - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - // Doing this override means that there is no localization for language - // unless you specifically check for localization here and convert - public String getItemStackDisplayName(ItemStack par1ItemStack) { - return StatCollector.translateToLocalFormatted( - "item.ItemCustomSpawnEgg.name", - StatCollector.translateToLocal("entity." + mEntityNameMap.get(par1ItemStack.getItemDamage()) + ".name")); - } - - @Override - public void registerIcons(final IIconRegister u) { - mIconMap.put(0, u.registerIcon(GTPlusPlus.ID + ":" + "spawn_egg")); - mIconMap.put(1, u.registerIcon(GTPlusPlus.ID + ":" + "spawn_egg_overlay")); - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int renderPass) { - return mIconMap.get(renderPass); - } - - @Override - public IIcon getIconFromDamage(int damage) { - return getIconFromDamageForRenderPass(0, 0); - } - - @Override - public IIcon getIcon(ItemStack aStack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - return getIconFromDamageForRenderPass(0, renderPass); - } - - @Override - public IIcon getIcon(ItemStack aStack, int renderPass) { - return getIconFromDamageForRenderPass(0, renderPass); - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return super.getUnlocalizedName() + "." + stack.getItemDamage(); - } - - public static void setEntityToSpawnName(int aMetaID, String parEntityToSpawnName) { - mEntityNameMap.put(aMetaID, parEntityToSpawnName); - mEntityFullNameMap.put(aMetaID, GTPlusPlus.ID + "." + parEntityToSpawnName); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/init/ItemsFoods.java b/gtpp/src/main/java/gtPlusPlus/core/item/init/ItemsFoods.java deleted file mode 100644 index acddd58a7b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/init/ItemsFoods.java +++ /dev/null @@ -1,50 +0,0 @@ -package gtPlusPlus.core.item.init; - -import net.minecraft.entity.monster.EntityBlaze; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.passive.EntityVillager; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.item.ItemStack; - -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.food.BaseItemMetaFood; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; - -public class ItemsFoods { - - public static void load() { - run(); - } - - private static void run() { - - ModItems.itemMetaFood = new BaseItemMetaFood(); - BaseItemMetaFood.registerFoodsToOreDict(); - addCookingRecipes(); - addFoodDropsToMobs(); - } - - private static ItemStack getMetaFoodStack(int aID) { - return ItemUtils.simpleMetaStack(ModItems.itemMetaFood, aID, 1); - } - - private static void addCookingRecipes() { - - RecipeUtils.addSmeltingRecipe(getMetaFoodStack(0), getMetaFoodStack(1), 0.4F); - RecipeUtils.addSmeltingRecipe(getMetaFoodStack(2), getMetaFoodStack(3), 0.35F); - RecipeUtils.addSmeltingRecipe(getMetaFoodStack(4), getMetaFoodStack(5), 0.35F); - RecipeUtils.addSmeltingRecipe(getMetaFoodStack(6), getMetaFoodStack(7), 0.35F); - } - - private static void addFoodDropsToMobs() { - - EntityUtils.registerDropsForMob(EntityVillager.class, getMetaFoodStack(0), 2, 1500); - EntityUtils.registerDropsForMob(EntityHorse.class, getMetaFoodStack(2), 4, 4000); - EntityUtils.registerDropsForMob(EntityWolf.class, getMetaFoodStack(4), 2, 4000); - EntityUtils.registerDropsForMob(EntityOcelot.class, getMetaFoodStack(6), 2, 4000); - EntityUtils.registerDropsForMob(EntityBlaze.class, getMetaFoodStack(8), 1, 500); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/materials/DustDecayable.java b/gtpp/src/main/java/gtPlusPlus/core/item/materials/DustDecayable.java deleted file mode 100644 index eaf8c2c9da..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/materials/DustDecayable.java +++ /dev/null @@ -1,97 +0,0 @@ -package gtPlusPlus.core.item.materials; - -import static gregtech.api.enums.Mods.GregTech; -import static gtPlusPlus.core.util.minecraft.ItemUtils.getSimpleStack; - -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.handler.Recipes.DecayableRecipe; -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 / 1), desc1); - this.turnsIntoItem = turnsInto; - this.radLevel = radLevel; - GT_OreDictUnificator.registerOre(unlocal, ItemUtils.getSimpleStack(this)); - new DecayableRecipe(maxTicks, getSimpleStack(this), getSimpleStack(turnsInto)); - } - - @Override - public void registerIcons(IIconRegister reg) { - String gt = GregTech.ID + ":" + "materialicons/" + "NUCLEAR" + "/" + "dust"; - this.mIcon[0] = reg.registerIcon(gt); - String gt2 = GregTech.ID + ":" + "materialicons/" + "NUCLEAR" + "/" + "dust" + "_OVERLAY"; - this.mIcon[1] = reg.registerIcon(gt2); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @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.get()); - } - } - - @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 (world.isRemote) { - return; - } - - if (entityHolding instanceof EntityPlayer) { - if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode) { - EntityUtils.applyRadiationDamageToEntity(iStack.stackSize, this.radLevel, world, entityHolding); - } - } - boolean a1, a2; - - a1 = this.isTicking(world, iStack); - a2 = tickItemTag(world, iStack); - - if (!a1 && !a2) { - if (entityHolding instanceof EntityPlayer) { - ItemStack replacement = ItemUtils.getSimpleStack(getDecayResult()); - // Logger.INFO("Replacing "+iStack.getDisplayName()+" with "+replacement.getDisplayName()+"."); - final ItemStack tempTransform = replacement; - if (iStack.stackSize > 1) { - int u = iStack.stackSize; - tempTransform.stackSize = u; - ((EntityPlayer) entityHolding).inventory.addItemStackToInventory((tempTransform)); - for (int l = 0; l < u; l++) { - ((EntityPlayer) entityHolding).inventory.consumeInventoryItem(this); - } - - } else { - tempTransform.stackSize = 1; - ((EntityPlayer) entityHolding).inventory.addItemStackToInventory((tempTransform)); - ((EntityPlayer) entityHolding).inventory.consumeInventoryItem(this); - } - } - } - } - - public Item getDecayResult() { - return turnsIntoItem; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/tool/misc/GregtechPump.java b/gtpp/src/main/java/gtPlusPlus/core/item/tool/misc/GregtechPump.java deleted file mode 100644 index 5ba3aa1531..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/tool/misc/GregtechPump.java +++ /dev/null @@ -1,1320 +0,0 @@ -package gtPlusPlus.core.item.tool.misc; - -import static gregtech.api.enums.GT_Values.V; -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.util.GT_Utility.formatNumbers; - -import java.util.ArrayList; -import java.util.BitSet; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; - -import net.minecraft.block.Block; -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.tileentity.TileEntity; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidContainerItem; -import net.minecraftforge.fluids.IFluidHandler; -import net.minecraftforge.fluids.IFluidTank; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.SubTag; -import gregtech.api.enums.TC_Aspects.TC_AspectStack; -import gregtech.api.interfaces.IItemBehaviour; -import gregtech.api.interfaces.IItemContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_MultiInput; -import gregtech.api.objects.ItemData; -import gregtech.api.util.GT_LanguageManager; -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.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.NBTUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; -import ic2.api.item.IElectricItemManager; -import ic2.api.item.ISpecialElectricItem; - -public class GregtechPump extends Item implements ISpecialElectricItem, IElectricItemManager, IFluidContainerItem { - - /** - * Right Click Functions - */ - @Override - public boolean onItemUse(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int a4, - float p_77648_8_, float p_77648_9_, float p_77648_10_) { - if (aStack == null || aPlayer == null || aWorld == null || aWorld.isRemote) { - return false; - } - if (!aWorld.isRemote && tryDrainTile(aStack, aWorld, aPlayer, aX, aY, aZ)) { - return true; - } else { - // return super.onItemUse(aStack, aPlayer, aWorld, aX, aY, aZ, a4, p_77648_8_, p_77648_9_, p_77648_10_); - return false; - } - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - return p_77659_1_; - } - - /** - * GT Code - */ - - /* ---------- CONSTRUCTOR AND MEMBER VARIABLES ---------- */ - private final HashMap>> mItemBehaviors = new HashMap<>(); - - public final short mOffset, mItemAmount; - public final BitSet mEnabledItems; - public final BitSet mVisibleItems; - /** The unlocalized name of this item. */ - private String unlocalizedName; - - private final HashMap mIconMap = new LinkedHashMap<>(); - private final HashMap rarity = new LinkedHashMap<>(); - private final HashMap itemName = new LinkedHashMap<>(); - private final HashMap hasEffect = new LinkedHashMap<>(); - - public final HashMap mElectricStats = new LinkedHashMap<>(); - public final HashMap mBurnValues = new LinkedHashMap<>(); - - public void registerPumpType(final int aID, final String aPumpName, final int aEuMax, final int aTier) { - ModItems.toolGregtechPump.registerItem( - aID, // ID - aPumpName, // Name - aEuMax, // Eu Storage - (short) aTier, // Tier/ Tooltip - aTier <= 0 ? EnumRarity.common - : aTier == 1 ? EnumRarity.uncommon - : aTier == 2 ? EnumRarity.rare : aTier == 3 ? EnumRarity.epic : EnumRarity.common, // Rarity - false // Effect? - ); - } - - public GregtechPump() { - this("MU-metatool.01", AddToCreativeTab.tabTools, (short) 1000, (short) 31766); - } - - public GregtechPump(final String unlocalizedName, final CreativeTabs creativeTab, final short aOffset, - final short aItemAmount) { - this.mEnabledItems = new BitSet(aItemAmount); - this.mVisibleItems = new BitSet(aItemAmount); - this.mOffset = (short) Math.min(32766, aOffset); - this.mItemAmount = (short) Math.min(aItemAmount, 32766 - this.mOffset); - this.setHasSubtypes(true); - this.setMaxDamage(0); - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(creativeTab); - this.setMaxStackSize(1); - if (GameRegistry.findItem(GTPlusPlus.ID, unlocalizedName) == null) { - GameRegistry.registerItem(this, unlocalizedName); - } - } - - public void registerItem(final int id, final String localizedName, final long euStorage, final int tier) { - this.registerItem(id, localizedName, euStorage, (short) tier, EnumRarity.common, false); - } - - public void registerItem(final int id, final String localizedName, final long euStorage, final int tier, - final int burnTime) { - this.registerItem(id, localizedName, euStorage, (short) tier, EnumRarity.common, false); - this.setBurnValue(id, burnTime); - } - - public void registerItem(final int id, final String localizedName, final long euStorage, final short tier, - final EnumRarity regRarity, final boolean Effect) { - this.addItem( - id, - localizedName, - EnumChatFormatting.GRAY + "Can be used to remove fluids from GT machine input & output slots"); - if (euStorage > 0 && tier > 0) - this.setElectricStats(this.mOffset + id, euStorage, GT_Values.V[tier], tier, -3L, true); - this.rarity.put(id, regRarity); - this.itemName.put(id, localizedName); - this.hasEffect.put(id, Effect); - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(final ItemStack par1ItemStack) { - int h = getCorrectMetaForItemstack(par1ItemStack); - if (this.rarity.get(h) != null) { - return this.rarity.get(h); - } - return EnumRarity.common; - } - - @Override - public boolean hasEffect(final ItemStack par1ItemStack, final int pass) { - int h = getCorrectMetaForItemstack(par1ItemStack); - if (this.hasEffect.get(h) != null) { - return this.hasEffect.get(h); - } - return false; - } - - @SuppressWarnings({ "unchecked" }) - @Override - public void addInformation(final ItemStack aStack, final EntityPlayer aPlayer, List aList, final boolean aF3_H) { - // aList.add("Meta: "+(aStack.getItemDamage()-mOffset)); - int aOffsetMeta = getCorrectMetaForItemstack(aStack); - aList.add( - GT_LanguageManager - .getTranslation("gtplusplus." + this.getUnlocalizedName(aStack) + "." + aOffsetMeta + ".tooltip")); - - if (aOffsetMeta <= 3) { - FluidStack f = getFluid(aStack); - aList.add(StatCollector.translateToLocal("item.itemGregtechPump.tooltip.0")); - aList.add(StatCollector.translateToLocal("item.itemGregtechPump.tooltip.1")); - aList.add(EnumChatFormatting.DARK_GRAY + StatCollector.translateToLocal("item.itemGregtechPump.tooltip.2")); - aList.add( - EnumChatFormatting.BLUE + (f != null ? f.getLocalizedName() - : StatCollector.translateToLocal("item.itemGregtechPump.tooltip.3"))); - aList.add( - EnumChatFormatting.BLUE + (f != null ? "" + f.amount : "" + 0) - + "L" - + " / " - + formatNumbers(getCapacity(aStack)) - + "L"); - } - - final Long[] tStats = this.getElectricStats(aStack); - if (tStats != null) { - if (tStats[3] > 0) { - aList.add( - EnumChatFormatting.AQUA + StatCollector.translateToLocalFormatted( - "item.itemBaseEuItem.tooltip.1", - formatNumbers(tStats[3]), - (tStats[2] >= 0 ? tStats[2] : 0)) + EnumChatFormatting.GRAY); - } else { - final long tCharge = this.getRealCharge(aStack); - if ((tStats[3] == -2) && (tCharge <= 0)) { - aList.add( - EnumChatFormatting.AQUA + StatCollector.translateToLocal("item.itemBaseEuItem.tooltip.2") - + EnumChatFormatting.GRAY); - } else { - aList.add( - EnumChatFormatting.AQUA - + StatCollector.translateToLocalFormatted( - "item.itemBaseEuItem.tooltip.3", - formatNumbers(tCharge), - formatNumbers(Math.abs(tStats[0])) + " EU - Voltage: ", - V[(int) (tStats[2] >= 0 ? tStats[2] < V.length ? tStats[2] : V.length - 1 : 1)]) - + EnumChatFormatting.GRAY); - } - } - } - - final ArrayList> tList = this.mItemBehaviors.get((short) this.getDamage(aStack)); - if (tList != null) { - for (final IItemBehaviour tBehavior : tList) { - aList = tBehavior.getAdditionalToolTips(this, aList, aStack); - } - } - } - - @Override - public final Item getChargedItem(final ItemStack itemStack) { - return this; - } - - @Override - public final Item getEmptyItem(final ItemStack itemStack) { - return this; - } - - @Override - public final double getMaxCharge(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - if (tStats == null) { - return 0; - } - return Math.abs(tStats[0]); - } - - @Override - public final double getTransferLimit(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - if (tStats == null) { - return 0; - } - return Math.max(tStats[1], tStats[3]); - } - - @Override - public final int getTier(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - return (int) (tStats == null ? Integer.MAX_VALUE : tStats[2]); - } - - @Override - public final double charge(final ItemStack aStack, final double aCharge, final int aTier, - final boolean aIgnoreTransferLimit, final boolean aSimulate) { - final Long[] tStats = this.getElectricStats(aStack); - if ((tStats == null) || (tStats[2] > aTier) - || !((tStats[3] == -1) || (tStats[3] == -3) || ((tStats[3] < 0) && (aCharge == Integer.MAX_VALUE))) - || (aStack.stackSize != 1)) { - return 0; - } - final long tChargeBefore = this.getRealCharge(aStack), - tNewCharge = aCharge == Integer.MAX_VALUE ? Long.MAX_VALUE - : Math.min( - Math.abs(tStats[0]), - tChargeBefore + (aIgnoreTransferLimit ? (long) aCharge : Math.min(tStats[1], (long) aCharge))); - if (!aSimulate) { - this.setCharge(aStack, tNewCharge); - } - return tNewCharge - tChargeBefore; - } - - @Override - public final double discharge(final ItemStack aStack, final double aCharge, final int aTier, - final boolean aIgnoreTransferLimit, final boolean aBatteryAlike, final boolean aSimulate) { - final Long[] tStats = this.getElectricStats(aStack); - if ((tStats == null) || (tStats[2] > aTier)) { - return 0; - } - if (aBatteryAlike && !this.canProvideEnergy(aStack)) { - return 0; - } - if (tStats[3] > 0) { - if ((aCharge < tStats[3]) || (aStack.stackSize < 1)) { - return 0; - } - if (!aSimulate) { - aStack.stackSize--; - } - return tStats[3]; - } - final long tChargeBefore = this.getRealCharge(aStack), tNewCharge = Math - .max(0, tChargeBefore - (aIgnoreTransferLimit ? (long) aCharge : Math.min(tStats[1], (long) aCharge))); - if (!aSimulate) { - this.setCharge(aStack, tNewCharge); - } - return tChargeBefore - tNewCharge; - } - - @Override - public final double getCharge(final ItemStack aStack) { - return this.getRealCharge(aStack); - } - - @Override - public final boolean canUse(final ItemStack aStack, final double aAmount) { - return this.getRealCharge(aStack) >= aAmount; - } - - @Override - public final boolean use(final ItemStack aStack, final double aAmount, final EntityLivingBase aPlayer) { - this.chargeFromArmor(aStack, aPlayer); - if ((aPlayer instanceof EntityPlayer) && ((EntityPlayer) aPlayer).capabilities.isCreativeMode) { - return true; - } - final double tTransfer = this.discharge(aStack, aAmount, Integer.MAX_VALUE, true, false, true); - if (tTransfer == aAmount) { - this.discharge(aStack, aAmount, Integer.MAX_VALUE, true, false, false); - this.chargeFromArmor(aStack, aPlayer); - return true; - } - this.discharge(aStack, aAmount, Integer.MAX_VALUE, true, false, false); - this.chargeFromArmor(aStack, aPlayer); - return false; - } - - @Override - public final boolean canProvideEnergy(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - if (tStats == null) { - return false; - } - return (tStats[3] > 0) || ((aStack.stackSize == 1) && ((tStats[3] == -2) || (tStats[3] == -3))); - } - - @Override - public final void chargeFromArmor(final ItemStack aStack, final EntityLivingBase aPlayer) { - if ((aPlayer == null) || aPlayer.worldObj.isRemote) { - return; - } - for (int i = 1; i < 5; i++) { - final ItemStack tArmor = aPlayer.getEquipmentInSlot(i); - if (GT_ModHandler.isElectricItem(tArmor)) { - final IElectricItem tArmorItem = (IElectricItem) tArmor.getItem(); - if (tArmorItem.canProvideEnergy(tArmor) && (tArmorItem.getTier(tArmor) >= this.getTier(aStack))) { - final double tCharge = ElectricItem.manager.discharge( - tArmor, - this.charge(aStack, Integer.MAX_VALUE - 1, Integer.MAX_VALUE, true, true), - Integer.MAX_VALUE, - true, - true, - false); - if (tCharge > 0) { - this.charge(aStack, tCharge, Integer.MAX_VALUE, true, false); - if (aPlayer instanceof EntityPlayer) { - final Container tContainer = ((EntityPlayer) aPlayer).openContainer; - if (tContainer != null) { - tContainer.detectAndSendChanges(); - } - } - } - } - } - } - } - - public final long getRealCharge(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - if (tStats == null) { - return 0; - } - if (tStats[3] > 0) { - return (int) (long) tStats[3]; - } - final NBTTagCompound tNBT = aStack.getTagCompound(); - return tNBT == null ? 0 : tNBT.getLong("GT.ItemCharge"); - } - - public final boolean setCharge(final ItemStack aStack, long aCharge) { - final Long[] tStats = this.getElectricStats(aStack); - if ((tStats == null) || (tStats[3] > 0)) { - return false; - } - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - tNBT = new NBTTagCompound(); - } - tNBT.removeTag("GT.ItemCharge"); - aCharge = Math.min(tStats[0] < 0 ? Math.abs(tStats[0] / 2) : aCharge, Math.abs(tStats[0])); - if (aCharge > 0) { - aStack.setItemDamage(this.getChargedMetaData(aStack)); - tNBT.setLong("GT.ItemCharge", aCharge); - } else { - aStack.setItemDamage(this.getEmptyMetaData(aStack)); - } - if (tNBT.hasNoTags()) { - aStack.setTagCompound(null); - } else { - aStack.setTagCompound(tNBT); - } - this.isItemStackUsable(aStack); - return true; - } - - public short getChargedMetaData(final ItemStack aStack) { - return (short) aStack.getItemDamage(); - } - - public short getEmptyMetaData(final ItemStack aStack) { - return (short) aStack.getItemDamage(); - } - - public boolean isItemStackUsable(final ItemStack aStack) { - final ArrayList> tList = this.mItemBehaviors.get((short) this.getDamage(aStack)); - if (tList != null) { - for (final IItemBehaviour tBehavior : tList) { - if (!tBehavior.isItemStackUsable(this, aStack)) { - return false; - } - } - } - return true; - } - - @Override - public final String getToolTip(final ItemStack aStack) { - return null; - } // This has its own ToolTip Handler, no need to let the IC2 Handler screw us up - // at this Point - - @Override - public final IElectricItemManager getManager(final ItemStack aStack) { - return this; - } // We are our own Manager - - /** - * Sets the Furnace Burn Value for the Item. - * - * @param aMetaValue the Meta Value of the Item you want to set it to. [0 - 32765] - * @param aValue 200 = 1 Burn Process = 500 EU, max = 32767 (that is 81917.5 EU) - * @return the Item itself for convenience in constructing. - */ - public final GregtechPump setBurnValue(final int aMetaValue, final int aValue) { - if ((aMetaValue < 0) || (aValue < 0)) { - return this; - } - if (aValue == 0) { - this.mBurnValues.remove((short) aMetaValue); - } else { - this.mBurnValues.put((short) aMetaValue, aValue > Short.MAX_VALUE ? Short.MAX_VALUE : (short) aValue); - } - return this; - } - - /** - * @param aMetaValue the Meta Value of the Item you want to set it to. [0 - 32765] - * @param aMaxCharge Maximum Charge. (if this is == 0 it will remove the Electric Behavior) - * @param aTransferLimit Transfer Limit. - * @param aTier The electric Tier. - * @param aSpecialData If this Item has a Fixed Charge, like a SingleUse Battery (if > 0). Use -1 if you want to - * make this Battery chargeable (the use and canUse Functions will still discharge if you just - * use this) Use -2 if you want to make this Battery dischargeable. Use -3 if you want to make - * this Battery charge/discharge-able. - * @return the Item itself for convenience in constructing. - */ - public final GregtechPump setElectricStats(final int aMetaValue, final long aMaxCharge, final long aTransferLimit, - final long aTier, final long aSpecialData, final boolean aUseAnimations) { - if (aMetaValue < 0) { - return this; - } - if (aMaxCharge == 0) { - this.mElectricStats.remove((short) aMetaValue); - } else { - this.mElectricStats.put( - (short) aMetaValue, - new Long[] { aMaxCharge, Math.max(0, aTransferLimit), Math.max(-1, aTier), aSpecialData }); - } - return this; - } - - @SuppressWarnings({ "unchecked" }) - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(final Item var1, final CreativeTabs aCreativeTab, final List aList) { - for (int i = 0, j = this.mEnabledItems.length(); i < j; i++) { - if (this.mVisibleItems.get(i) || (GT_Values.D1 && this.mEnabledItems.get(i))) { - final Long[] tStats = this.mElectricStats.get((short) (this.mOffset + i)); - if ((tStats != null) && (tStats[3] < 0)) { - final ItemStack tStack = new ItemStack(this, 1, this.mOffset + i); - this.setCharge(tStack, Math.abs(tStats[0])); - this.isItemStackUsable(tStack); - aList.add(tStack); - } - if ((tStats == null) || (tStats[3] != -2)) { - final ItemStack tStack = new ItemStack(this, 1, this.mOffset + i); - this.isItemStackUsable(tStack); - aList.add(tStack); - } - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public final void registerIcons(final IIconRegister aIconRegister) { - for (short i = 0, j = (short) this.mEnabledItems.length(); i < j; i++) { - if (this.mEnabledItems.get(i)) { - mIconMap.put( - (int) i, - aIconRegister.registerIcon(GTPlusPlus.ID + ":" + (this.getUnlocalizedName() + "/" + i))); - } - } - } - - @Override - public final IIcon getIconFromDamage(final int aMetaData) { - if (aMetaData < 0) { - return null; - } - if (aMetaData < this.mOffset) { - return mIconMap.get(0); - } else { - int newMeta = aMetaData - this.mOffset; - newMeta = (Math.max(0, Math.min(3, newMeta))); - return mIconMap.get(newMeta); - } - } - - /** - * Sets the unlocalized name of this item to the string passed as the parameter" - */ - @Override - public Item setUnlocalizedName(final String p_77655_1_) { - this.unlocalizedName = p_77655_1_; - super.setUnlocalizedName(p_77655_1_); - return this; - } - - /** - * Returns the unlocalized name of this item. - */ - @Override - public String getUnlocalizedName() { - return this.unlocalizedName; - } - - public final Long[] getElectricStats(final ItemStack aStack) { - return this.mElectricStats.get((short) aStack.getItemDamage()); - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public boolean isBookEnchantable(final ItemStack aStack, final ItemStack aBook) { - return false; - } - - @Override - public boolean getIsRepairable(final ItemStack aStack, final ItemStack aMaterial) { - return false; - } - - /** - * Adds a special Item Behaviour to the Item. - *

- * Note: the boolean Behaviours sometimes won't be executed if another boolean Behaviour returned true before. - * - * @param aMetaValue the Meta Value of the Item you want to add it to. [0 - 32765] - * @param aBehavior the Click Behavior you want to add. - * @return the Item itself for convenience in constructing. - */ - public final GregtechPump addItemBehavior(final int aMetaValue, final IItemBehaviour aBehavior) { - if ((aMetaValue < 0) || (aMetaValue >= 32766) || (aBehavior == null)) { - return this; - } - ArrayList> tList = this.mItemBehaviors.get((short) aMetaValue); - if (tList == null) { - tList = new ArrayList<>(1); - this.mItemBehaviors.put((short) aMetaValue, tList); - } - tList.add(aBehavior); - return this; - } - - /** - * This adds a Custom Item to the ending Range. - * - * @param aID The Id of the assigned Item [0 - mItemAmount] (The MetaData gets auto-shifted by +mOffset) - * @param aEnglish The Default Localized Name of the created Item - * @param aToolTip The Default ToolTip of the created Item, you can also insert null for having no ToolTip - * @param aFoodBehavior The Food Value of this Item. Can be null aswell. Just a convenience thing. - * @param aRandomData The OreDict Names you want to give the Item. Also used for TC Aspects and some other things. - * @return An ItemStack containing the newly created Item. - */ - @SuppressWarnings("unchecked") - public final ItemStack addItem(final int aID, final String aEnglish, String aToolTip, final Object... aRandomData) { - if (aToolTip == null) { - aToolTip = ""; - } - if ((aID >= 0) && (aID < this.mItemAmount)) { - final ItemStack rStack = new ItemStack(this, 1, this.mOffset + aID); - GT_ModHandler.registerBoxableItemToToolBox(rStack); - this.mEnabledItems.set(aID); - this.mVisibleItems.set(aID); - GT_LanguageManager - .addStringLocalization("gtplusplus." + this.getUnlocalizedName(rStack) + "." + aID + ".name", aEnglish); - GT_LanguageManager.addStringLocalization( - "gtplusplus." + this.getUnlocalizedName(rStack) + "." + aID + ".tooltip", - aToolTip); - final List tAspects = new ArrayList<>(); - // Important Stuff to do first - for (final Object tRandomData : aRandomData) { - if (tRandomData instanceof SubTag) { - if (tRandomData == SubTag.INVISIBLE) { - this.mVisibleItems.set(aID, false); - continue; - } - if (tRandomData == SubTag.NO_UNIFICATION) { - GT_OreDictUnificator.addToBlacklist(rStack); - continue; - } - } - } - // now check for the rest - for (final Object tRandomData : aRandomData) { - if (tRandomData != null) { - boolean tUseOreDict = true; - if (tRandomData instanceof IItemBehaviour) { - this.addItemBehavior(this.mOffset + aID, (IItemBehaviour) tRandomData); - tUseOreDict = false; - } - if (tRandomData instanceof IItemContainer) { - ((IItemContainer) tRandomData).set(rStack); - tUseOreDict = false; - } - if (tRandomData instanceof SubTag) { - continue; - } - if (tRandomData instanceof TC_AspectStack) { - ((TC_AspectStack) tRandomData).addToAspectList(tAspects); - continue; - } - if (tRandomData instanceof ItemData) { - if (GT_Utility.isStringValid(tRandomData)) { - GT_OreDictUnificator.registerOre(tRandomData, rStack); - } else { - GT_OreDictUnificator.addItemData(rStack, (ItemData) tRandomData); - } - continue; - } - if (tUseOreDict) { - GT_OreDictUnificator.registerOre(tRandomData, rStack); - continue; - } - } - } - if (GregTech_API.sThaumcraftCompat != null) { - GregTech_API.sThaumcraftCompat.registerThaumcraftAspectsToItem(rStack, tAspects, false); - } - return rStack; - } - return null; - } - - @Override - public String getItemStackDisplayName(final ItemStack aStack) { - int keyValue = (getCorrectMetaForItemstack(aStack)); - if (keyValue < 0 || keyValue > 3) { - keyValue = 0; - } - return GT_LanguageManager - .getTranslation("gtplusplus." + this.getUnlocalizedName(aStack) + "." + keyValue + ".name"); - } - - /** - * Fluid Handling - */ - - /* - * IFluidContainer Functions - */ - - public void emptyStoredFluid(ItemStack aStack) { - if (aStack.hasTagCompound()) { - NBTTagCompound t = aStack.getTagCompound(); - if (t.hasKey("mInit")) { - t.removeTag("mInit"); - } - if (t.hasKey("mFluid")) { - t.removeTag("mFluid"); - } - if (t.hasKey("mFluidAmount")) { - t.removeTag("mFluidAmount"); - } - } - } - - public void storeFluid(ItemStack aStack, FluidStack aFluid) { - if (aFluid == null) { - return; - } else { - String fluidname = aFluid.getFluid() - .getName(); - int amount = aFluid.amount; - if (fluidname != null && fluidname.length() > 0 && amount > 0) { - NBTUtils.setString(aStack, "mFluid", fluidname); - NBTUtils.setInteger(aStack, "mFluidAmount", amount); - } - } - } - - @Override - public FluidStack getFluid(ItemStack container) { - if (!container.hasTagCompound() || !container.getTagCompound() - .hasKey("mInit")) { - initNBT(container); - } - if (container.getTagCompound() - .hasKey("mInit") - && container.getTagCompound() - .getBoolean("mInit")) { - String fluidname; - Integer amount = 0; - fluidname = NBTUtils.getString(container, "mFluid"); - amount = NBTUtils.getInteger(container, "mFluidAmount"); - if (fluidname != null && amount != null && amount > 0) { - return FluidUtils.getFluidStack(fluidname, amount); - } else { - return null; - } - } - return null; - } - - @Override - public int getCapacity(ItemStack container) { - if (!container.hasTagCompound() || !container.getTagCompound() - .hasKey("mInit")) { - initNBT(container); - } - if (container.getTagCompound() - .hasKey("mInit") - && container.getTagCompound() - .getBoolean("mInit")) { - return container.getTagCompound() - .getInteger("mCapacity"); - } - int aMeta = this.getCorrectMetaForItemstack(container); - int aCapacity = (aMeta == 0 ? 2000 : (aMeta == 1 ? 8000 : (aMeta == 2 ? 32000 : 128000))); - return aCapacity; - } - - public int fill(ItemStack container, FluidStack resource) { - return fill(container, resource, true); - } - - @Override - public int fill(ItemStack container, FluidStack resource, boolean doFill) { - if (!doFill || resource == null) { - return 0; - } - - if (!container.hasTagCompound() || !container.getTagCompound() - .hasKey("mInit")) { - initNBT(container); - } - if (container.getTagCompound() - .hasKey("mInit") - && container.getTagCompound() - .getBoolean("mInit")) { - String aStored; - int aStoredAmount = 0; - int aCapacity = getCapacity(container); - FluidStack aStoredFluid = getFluid(container); - if (aStoredFluid != null) { - aStored = aStoredFluid.getFluid() - .getName(); - aStoredAmount = aStoredFluid.amount; - if (aStoredAmount == aCapacity) { - return 0; - } - } - // Handle no stored fluid first - if (aStoredFluid == null) { - Logger.INFO("Pump is empty, filling with tank fluids."); - FluidStack toConsume; - int amountToConsume = 0; - if (resource.amount >= aCapacity) { - amountToConsume = aCapacity; - } else { - amountToConsume = resource.amount; - } - toConsume = FluidUtils.getFluidStack(resource, amountToConsume); - if (toConsume != null && amountToConsume > 0) { - storeFluid(container, toConsume); - return amountToConsume; - } - } else { - Logger.INFO("Pump is Partially full, filling with tank fluids."); - if (aStoredFluid.isFluidEqual(resource)) { - Logger.INFO("Found matching fluids."); - int aSpaceLeft = (aCapacity - aStoredAmount); - Logger.INFO( - "Capacity: " + aCapacity + " | Stored: " + aStoredAmount + " | Space left: " + aSpaceLeft); - FluidStack toConsume; - int amountToConsume = 0; - if (resource.amount >= aSpaceLeft) { - amountToConsume = aSpaceLeft; - Logger.INFO("More or equal fluid amount to pump container space."); - } else { - amountToConsume = resource.amount; - Logger.INFO("Less fluid than container space"); - } - Logger.INFO("Amount to consume: " + amountToConsume); - toConsume = FluidUtils.getFluidStack(resource, (aStoredAmount + amountToConsume)); - if (toConsume != null && amountToConsume > 0) { - Logger.INFO("Storing Fluid"); - storeFluid(container, toConsume); - return amountToConsume; - } else { - Logger.INFO("Not storing fluid"); - } - } else { - Logger.INFO("Fluids did not match."); - } - } - } - return 0; - } - - public FluidStack drain(ItemStack container, int drainAmt) { - return drain(container, drainAmt, true); - } - - @Override - public FluidStack drain(ItemStack container, int maxDrain, boolean doDrain) { - if (!doDrain || maxDrain == 0) { - return null; - } - if (!container.hasTagCompound() || !container.getTagCompound() - .hasKey("mInit")) { - initNBT(container); - } - if (container.getTagCompound() - .hasKey("mInit") - && container.getTagCompound() - .getBoolean("mInit")) { - - String aStored; - int aStoredAmount = 0; - FluidStack aStoredFluid = getFluid(container); - - if (aStoredFluid != null) { - aStored = aStoredFluid.getFluid() - .getName(); - aStoredAmount = aStoredFluid.amount; - } - // We cannot drain this if it's empty. - else if (aStoredFluid == null) { - return null; - } - - if (maxDrain >= aStoredAmount) { - emptyStoredFluid(container); - return aStoredFluid; - } else { - // Handle Partial removal - int amountRemaining = (aStoredAmount - maxDrain); - if (amountRemaining == 0) { - emptyStoredFluid(container); - } else { - FluidStack newAmount = FluidUtils.getFluidStack(aStoredFluid, amountRemaining); - FluidStack drained = FluidUtils.getFluidStack(aStoredFluid, maxDrain); - if (newAmount != null && drained != null) { - storeFluid(container, newAmount); - return drained; - } - } - } - } - return null; - } - - /* - * Handle ItemStack NBT - */ - - public void initNBT(ItemStack aStack) { - NBTTagCompound aNewNBT; - if (!aStack.hasTagCompound()) { - aNewNBT = new NBTTagCompound(); - } else { - aNewNBT = aStack.getTagCompound(); - } - - if (!aNewNBT.hasKey("mInit")) { - int aMeta = this.getCorrectMetaForItemstack(aStack); - aNewNBT.setInteger("mMeta", aMeta); - aNewNBT.setBoolean("mInit", true); - aNewNBT.setString("mFluid", "@@@@@"); - aNewNBT.setInteger("mFluidAmount", 0); - int aCapacity = (aMeta == 0 ? 2000 : (aMeta == 1 ? 8000 : (aMeta == 2 ? 32000 : 128000))); - aNewNBT.setInteger("mCapacity", aCapacity); - aStack.setTagCompound(aNewNBT); - } - } - - /** - * Tile Handling - */ - - /* - * Custom Fluid Handling for Tiles and GT Tiles. - */ - - public boolean tryDrainTile(ItemStack aStack, World aWorld, EntityPlayer aPlayer, int aX, int aY, int aZ) { - try { - if (aWorld.isRemote || aStack == null) { - return false; - } else { - int aTier = (aStack.getItemDamage() - 1000); - int removal; - if (aTier == 0) { - removal = 0; - } else if (aTier == 1) { - removal = 32; - } else if (aTier == 2) { - removal = 128; - } else if (aTier == 3) { - removal = 512; - } else { - removal = 8; - } - if (!canUse(aStack, removal) && aTier > 0) { - PlayerUtils.messagePlayer(aPlayer, "Not enough power."); - Logger.INFO("No Power"); - return false; - } - - final Block aBlock = aWorld.getBlock(aX, aY, aZ); - if (aBlock == null) { - return false; - } - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if (tTileEntity == null) { - return false; - } else { - double aCharge = this.getCharge(aStack); - boolean didDrain = false; - if (aTier > 0 && aCharge > 0) { - if (discharge(aStack, removal, aTier, true, true, false) > 0) { - didDrain = true; - } - } else if (aTier == 0) { - didDrain = true; - } else { - didDrain = false; - } - - if (didDrain) { - if ((tTileEntity instanceof IGregTechTileEntity)) { - return this.drainTankGT(tTileEntity, aStack, aWorld, aPlayer, aX, aY, aZ); - } - // Try support Standard Fluid Tanks too (May disable if dupes appear again) - else if ((tTileEntity instanceof IFluidTank || tTileEntity instanceof IFluidHandler)) { - // return this.drainIFluidTank(tTileEntity, aStack, aWorld, aPlayer, aX, aY, aZ); - return false; - } - } - } - } - } catch (Throwable t) {} - return false; - } - - /* - * Vanilla IFluidTank - */ - - public boolean drainIFluidTank(TileEntity tTileEntity, ItemStack aStack, World aWorld, EntityPlayer aPlayer, int aX, - int aY, int aZ) { - if (tTileEntity == null) { - Logger.INFO("Invalid Tile, somehow."); - return false; - } - if ((tTileEntity instanceof IFluidTank || tTileEntity instanceof IFluidHandler)) { - if (this.getFluid(aStack) == null - || (this.getFluid(aStack) != null && this.getFluid(aStack).amount < this.getCapacity(aStack))) { - Logger.INFO("Trying to find Stored Fluid - Behaviour Class."); - FluidStack aStored = getStoredFluidOfVanillaTank(tTileEntity); - if (aStored != null) { - int mAmountInserted = fill(aStack, aStored); - FluidStack newStackRemainingInTank; - if (mAmountInserted > 0) { - if (mAmountInserted == aStored.amount) { - newStackRemainingInTank = null; - } else { - newStackRemainingInTank = FluidUtils - .getFluidStack(aStored, (aStored.amount - mAmountInserted)); - } - boolean b = setStoredFluidOfVanillaTank(tTileEntity, newStackRemainingInTank); - Logger.INFO("Cleared Tank? " + b + " | mAmountInserted: " + mAmountInserted); - Logger.INFO("Returning " + b + " - drainTankVanilla."); - if (b) { - PlayerUtils.messagePlayer( - aPlayer, - "Drained " + mAmountInserted + "L of " + aStored.getLocalizedName() + "."); - } - return b; - } - } else { - Logger.INFO("Found no valid Fluidstack - drainTankVanilla."); - } - } else { - Logger.INFO("Pump is full."); - } - } - Logger.INFO("Could not drain vanilla tank."); - return false; - } - - /* - * GT Tanks - */ - - public boolean drainTankGT(TileEntity tTileEntity, ItemStack aStack, World aWorld, EntityPlayer aPlayer, int aX, - int aY, int aZ) { - if (tTileEntity == null) { - return false; - } - if ((tTileEntity instanceof IGregTechTileEntity)) { - Logger.INFO("Right Clicking on GT Tile - drainTankGT."); - if (((IGregTechTileEntity) tTileEntity).getTimer() < 50L) { - Logger.INFO("Returning False - Behaviour Class. Timer < 50"); - return false; - } else if ((!aWorld.isRemote) && (!((IGregTechTileEntity) tTileEntity).isUseableByPlayer(aPlayer))) { - Logger.INFO("Returning True - drainTankGT. NotUsable()"); - return true; - } else { - if (this.getFluid(aStack) == null - || (this.getFluid(aStack) != null && this.getFluid(aStack).amount < this.getCapacity(aStack))) { - Logger.INFO("Trying to find Stored Fluid - drainTankGT."); - FluidStack aStored = getStoredFluidOfGTMachine((IGregTechTileEntity) tTileEntity); - if (aStored != null) { - int mAmountInserted = fill(aStack, aStored); - FluidStack newStackRemainingInTank; - if (mAmountInserted > 0) { - if (mAmountInserted == aStored.amount) { - newStackRemainingInTank = null; - } else { - newStackRemainingInTank = FluidUtils - .getFluidStack(aStored, (aStored.amount - mAmountInserted)); - } - boolean b = setStoredFluidOfGTMachine( - (IGregTechTileEntity) tTileEntity, - newStackRemainingInTank); - Logger.INFO("Cleared Tank? " + b + " | mAmountInserted: " + mAmountInserted); - Logger.INFO("Returning " + b + " - drainTankGT."); - if (b) { - PlayerUtils.messagePlayer( - aPlayer, - "Drained " + mAmountInserted + "L of " + aStored.getLocalizedName() + "."); - } else { - drain(aStack, mAmountInserted); - } - return b; - } - } else { - Logger.INFO("Found no valid Fluidstack - drainTankGT."); - } - } else { - Logger.INFO("Pump is full."); - } - } - } - Logger.INFO("Could not drain GT tank."); - return false; - } - - /* - * Vanilla Tanks - */ - - public FluidStack getStoredFluidOfVanillaTank(TileEntity aTileEntity) { - if (aTileEntity == null) { - return null; - } else if ((aTileEntity instanceof IFluidTank || aTileEntity instanceof IFluidHandler)) { - if (aTileEntity instanceof IFluidTank) { - return getStoredFluidOfVanillaTank((IFluidTank) aTileEntity); - } else { - return getStoredFluidOfVanillaTank((IFluidHandler) aTileEntity); - } - } else { - return null; - } - } - - public FluidStack getStoredFluidOfVanillaTank(IFluidTank aTileEntity) { - FluidStack f = aTileEntity.getFluid(); - Logger.INFO( - "Returning Fluid stack from tile. Found: " - + (f != null ? f.getLocalizedName() + " - " + f.amount + "L" : "Nothing")); - return f; - } - - public FluidStack getStoredFluidOfVanillaTank(IFluidHandler aTileEntity) { - if (aTileEntity instanceof IFluidTank) { - return getStoredFluidOfVanillaTank((IFluidTank) aTileEntity); - } - FluidStack f; - AutoMap m = new AutoMap<>(); - for (int i = 0; i < 6; i++) { - m.put(aTileEntity.getTankInfo(ForgeDirection.getOrientation(i))); - } - if (m.get(0) != null && m.get(0)[0] != null && m.get(0)[0].fluid != null) { - return m.get(0)[0].fluid; - } else { - return null; - } - } - - public boolean setStoredFluidOfVanillaTank(TileEntity aTileEntity, FluidStack aSetFluid) { - Logger.INFO("Trying to clear Tile's tank. - Behaviour Class. [1]"); - - if (aTileEntity == null) { - return false; - } else if ((aTileEntity instanceof IFluidTank || aTileEntity instanceof IFluidHandler)) { - if (aTileEntity instanceof IFluidTank) { - Logger.INFO("Tile Was instanceof IFluidTank."); - FluidStack f = ((IFluidTank) aTileEntity).getFluid(); - if (aSetFluid == null) { - aSetFluid = f; - aSetFluid.amount = f.amount; - } - int toDrain = (f.amount - aSetFluid.amount); - FluidStack newStack; - if (toDrain <= 0) { - newStack = f; - } else { - newStack = ((IFluidTank) aTileEntity).drain(toDrain, true); - } - - if (newStack.isFluidEqual(aSetFluid) && newStack.amount == aSetFluid.amount) { - Logger.INFO("Removed fluid from vanilla IFluidTank successfully."); - return true; - } else { - Logger.INFO("Failed trying to remove fluid from vanilla IFluidTank."); - return false; - } - } else { - - // Rewrite Fluid handling for Vanilla type tanks - if (!IFluidHandler.class.isInstance(aTileEntity)) { - Logger.INFO("Tile Was not an instance of IFluidHandler."); - return false; - } - - IFluidHandler aTank = (IFluidHandler) aTileEntity; - FluidStack aTankContents = null; - FluidTankInfo[] a1 = aTank.getTankInfo(ForgeDirection.UNKNOWN); - if (a1 != null) { - if (a1[0] != null) { - aTankContents = a1[0].fluid; - Logger.INFO( - "Found Fluid in Tank. " + aTankContents.getLocalizedName() + " - " + aTankContents.amount); - } - } - if (aSetFluid == null) { - Logger.INFO("Setting fluid to tank contents, as we're going to empty it totally."); - aSetFluid = aTankContents.copy(); - } else { - Logger.INFO("Setting fluid to tank contents, as we're going to empty it totally."); - } - Logger.INFO( - "Tile Was instance of IFluidHandler. Trying to Drain " + aSetFluid.getLocalizedName() - + " - " - + aSetFluid.amount); - - if (a1 == null || aTankContents == null) { - Logger.INFO("Tank is empty."); - return false; - } - // Found some Fluid in the tank - else { - FluidStack aDrainedStack = aTank.drain(ForgeDirection.UNKNOWN, aSetFluid, true); - if (aDrainedStack.isFluidStackIdentical(aSetFluid)) { - Logger.INFO("Drained!"); - return true; - } else { - Logger.INFO("Partially Drained! This is probably an error."); - return true; - } - } - } - } else { - Logger.INFO("Bad Tank Tile to drain."); - return false; - } - } - - /* - * GT Tanks - */ - - public FluidStack getStoredFluidOfGTMachine(IGregTechTileEntity aTileEntity) { - if (aTileEntity == null) { - return null; - } - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();; - if (aMetaTileEntity == null || aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_MultiInput) { - // blacklist multiinput hatch as it's too complex - return null; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_BasicTank) { - Logger.INFO("Tile Was Instanceof BasicTank."); - return getStoredFluidOfGTMachine((GT_MetaTileEntity_BasicTank) aMetaTileEntity); - } else { - return null; - } - } - - public FluidStack getStoredFluidOfGTMachine(GT_MetaTileEntity_BasicTank aTileEntity) { - FluidStack f = aTileEntity.mFluid; - - // Let's see if this machine has output fluid too - /* - * if (f == null) { Logger.INFO("Could not find any input fluid, checking output if possible."); if (aTileEntity - * instanceof GT_MetaTileEntity_BasicMachine) { GT_MetaTileEntity_BasicMachine g = - * (GT_MetaTileEntity_BasicMachine) aTileEntity; - * Logger.INFO("Tile is a Basic Machine of some sort - "+g.mNEIName); if (g != null) { f = g.mOutputFluid; if (f - * != null) { Logger.INFO("Found output fluid! "+f.getLocalizedName()); } else { - * Logger.INFO("Did not find anything!"); f = g.getFluid(); if (f != null) { - * Logger.INFO("Found fluid! "+f.getLocalizedName()); } else { Logger.INFO("Did not find anything!"); f = - * g.getFluid(); } } } } } - */ - - Logger.INFO( - "Returning Fluid stack from tile. Found: " - + (f != null ? f.getLocalizedName() + " - " + f.amount + "L" : "Nothing")); - return f; - } - - public boolean setStoredFluidOfGTMachine(IGregTechTileEntity aTileEntity, FluidStack aSetFluid) { - Logger.INFO("Trying to clear Tile's tank. - Behaviour Class. [1]"); - if (aTileEntity == null) { - return false; - } - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) { - return false; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_BasicTank) { - Logger.INFO("Trying to clear Tile's tank. - Behaviour Class. [2]"); - return setStoredFluidOfGTMachine((GT_MetaTileEntity_BasicTank) aMetaTileEntity, aSetFluid); - } else { - return false; - } - } - - public boolean setStoredFluidOfGTMachine(GT_MetaTileEntity_BasicTank aTileEntity, FluidStack aSetFluid) { - try { - - // Try Handle Outputs First - /* - * if (aTileEntity.setDrainableStack(aSetFluid) != null) { return true; } - */ - - aTileEntity.mFluid = aSetFluid; - boolean b = aTileEntity.mFluid == aSetFluid; - Logger.INFO("Trying to set Tile's tank. - Behaviour Class. [3] " + b); - return b; - } catch (Throwable t) { - Logger.INFO("Trying to clear Tile's tank. FAILED - Behaviour Class. [x]"); - return false; - } - } - - public int getCorrectMetaForItemstack(ItemStack aStack) { - if (aStack == null) { - return 0; - } else { - if (aStack.getItemDamage() < this.mOffset) { - return 0; - } else { - int newMeta = aStack.getItemDamage() - this.mOffset; - newMeta = (Math.max(0, Math.min(3, newMeta))); - return newMeta; - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/WearableLoader.java b/gtpp/src/main/java/gtPlusPlus/core/item/wearable/WearableLoader.java deleted file mode 100644 index 8044b4364f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/WearableLoader.java +++ /dev/null @@ -1,14 +0,0 @@ -package gtPlusPlus.core.item.wearable; - -import gtPlusPlus.core.item.wearable.armour.ArmourLoader; - -public class WearableLoader { - - public static void run() { - execute(); - } - - private static void execute() { - ArmourLoader.run(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/ArmourLoader.java b/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/ArmourLoader.java deleted file mode 100644 index e929d6cb7f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/ArmourLoader.java +++ /dev/null @@ -1,38 +0,0 @@ -package gtPlusPlus.core.item.wearable.armour; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor.ArmorMaterial; -import net.minecraftforge.common.util.EnumHelper; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.core.item.wearable.armour.tinfoil.ArmourTinFoilHat; - -public class ArmourLoader { - - // Glass - public static Item ClearGlassChestplate; - public static Item ClearGlassBoots; - public static Item ClearGlassLeggings; - public static Item ClearGlassHelmet; - - // Tin Foil - public static Item TinFoilHat; - - public static ArmorMaterial ClearGlassArmour = EnumHelper - .addArmorMaterial("ClearGlassArmor", 1, new int[] { 1, 1, 1, 1 }, 100); - public static ArmorMaterial TinFoilArmour = EnumHelper.addArmorMaterial("TINFOIL", 5, new int[] { 1, 1, 1, 1 }, 50); - - public static void run() { - glassArmour(); - tinfoilArmour(); - } - - private static void glassArmour() {} - - private static void tinfoilArmour() { - TinFoilHat = new ArmourTinFoilHat().setUnlocalizedName("itemHatTinFoil"); - GameRegistry.registerItem(TinFoilHat, "itemHatTinFoil", GTPlusPlus.ID); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/base/BaseArmour.java b/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/base/BaseArmour.java deleted file mode 100644 index e7ce975eca..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/base/BaseArmour.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.item.wearable.armour.base; - -import gtPlusPlus.core.item.wearable.base.BaseItemWearable; - -public abstract class BaseArmour extends BaseItemWearable { - - public BaseArmour(ArmorMaterial material, int renderIndex, int armourType) { - super(material, renderIndex, armourType); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourHelm.java b/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourHelm.java deleted file mode 100644 index d121a90ade..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourHelm.java +++ /dev/null @@ -1,9 +0,0 @@ -package gtPlusPlus.core.item.wearable.armour.base; - -public abstract class BaseArmourHelm extends BaseArmour { - - public BaseArmourHelm(ArmorMaterial material, int renderIndex) { - super(material, renderIndex, 0); - // TODO Auto-generated constructor stub - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/tinfoil/ArmourTinFoilHat.java b/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/tinfoil/ArmourTinFoilHat.java deleted file mode 100644 index 0703ac3b93..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/armour/tinfoil/ArmourTinFoilHat.java +++ /dev/null @@ -1,179 +0,0 @@ -package gtPlusPlus.core.item.wearable.armour.tinfoil; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityBoat; -import net.minecraft.entity.item.EntityEnderEye; -import net.minecraft.entity.item.EntityEnderPearl; -import net.minecraft.entity.item.EntityExpBottle; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.item.EntityXPOrb; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityEgg; -import net.minecraft.entity.projectile.EntityFireball; -import net.minecraft.entity.projectile.EntitySnowball; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.item.wearable.armour.ArmourLoader; -import gtPlusPlus.core.item.wearable.armour.base.BaseArmourHelm; - -public class ArmourTinFoilHat extends BaseArmourHelm { - - public IIcon iconHelm; - - public ArmourTinFoilHat() { - super(ArmourLoader.TinFoilArmour, 0); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister ir) { - this.iconHelm = ir.registerIcon(GTPlusPlus.ID + ":itemHatTinFoil"); - } - - @Override - public int getRenderIndex() { - return 0; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) { - return this.iconHelm; - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return GTPlusPlus.ID + ":textures/models/TinFoil.png"; - } - - @Override - public EnumRarity getRarity(ItemStack itemstack) { - return EnumRarity.uncommon; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return false; - } - - @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - return super.getArmorDisplay(player, armor, slot); - } - - @Override - public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) {} - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) { - aList.add("DoomSquirter's protection against cosmic radiation!"); - aList.add("General paranoia makes the wearer unable to collect xp"); - aList.add("Movement speed is also reduced, to keep you safe"); - aList.add("This hat may also have other strange powers"); - } - - @Override - public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, - int slot) { - return new ArmorProperties(0, 0, 0); - } - - @Override - public boolean isDamageable() { - return false; - } - - @Override - public boolean itemInteractionForEntity(ItemStack p_111207_1_, EntityPlayer p_111207_2_, - EntityLivingBase p_111207_3_) { - return super.itemInteractionForEntity(p_111207_1_, p_111207_2_, p_111207_3_); - } - - @Override - public void onUpdate(ItemStack aStack, World aWorld, Entity aEntity, int p_77663_4_, boolean p_77663_5_) { - super.onUpdate(aStack, aWorld, aEntity, p_77663_4_, p_77663_5_); - } - - @Override - public boolean onEntityItemUpdate(EntityItem entityItem) { - return super.onEntityItemUpdate(entityItem); - } - - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - if (itemStack != null && player != null && world != null && !world.isRemote) { - if (player instanceof EntityPlayer) { - - // Apply Slow - if (!GT_Utility.getPotion(player, Potion.moveSlowdown.id)) { - player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2, 1, true)); - } - - // Move Xp orbs away - try { - AxisAlignedBB box = player.boundingBox; - box.maxX = player.posX + 5; - box.maxY = player.posY + 5; - box.maxZ = player.posZ + 5; - box.minX = player.posX - 5; - box.minY = player.posY - 5; - box.minZ = player.posZ - 5; - @SuppressWarnings("unchecked") - List g = world.getEntitiesWithinAABBExcludingEntity(player, box); - if (g.size() > 0) { - for (Entity e : g) { - if (e != null) { - if (!EntityXPOrb.class.isInstance(e) && !EntityBoat.class.isInstance(e) - && !EntitySnowball.class.isInstance(e) - && !EntityFireball.class.isInstance(e) - && !EntityEgg.class.isInstance(e) - && !EntityExpBottle.class.isInstance(e) - && !EntityEnderEye.class.isInstance(e) - && !EntityEnderPearl.class.isInstance(e)) { - continue; - } else { - // Logger.INFO("Found "+e.getClass().getName()); - double distX = player.posX - e.posX; - double distZ = player.posZ - e.posZ; - double distY = e.posY + 1.5D - player.posY; - double dir = Math.atan2(distZ, distX); - double speed = 1F / e.getDistanceToEntity(player) * 0.5; - speed = -speed; - if (distY < 0) { - e.motionY += speed; - } - e.motionX = Math.cos(dir) * speed; - e.motionZ = Math.sin(dir) * speed; - } - } - } - } - } catch (Throwable t) {} - } - } - - super.onArmorTick(world, player, itemStack); - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/base/BaseItemWearable.java b/gtpp/src/main/java/gtPlusPlus/core/item/wearable/base/BaseItemWearable.java deleted file mode 100644 index 84b1d2ff51..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/base/BaseItemWearable.java +++ /dev/null @@ -1,61 +0,0 @@ -package gtPlusPlus.core.item.wearable.base; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraftforge.common.ISpecialArmor; - -public abstract class BaseItemWearable extends ItemArmor implements ISpecialArmor { - - public BaseItemWearable(ArmorMaterial material, int renderIndex, int armourType) { - super(material, renderIndex, armourType); - } - - public abstract int getRenderIndex(); - - @Override - public abstract ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, - double damage, int slot); - - @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - // TODO Auto-generated method stub - return 0; - } - - @Override - public abstract void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, - int slot); - - public void dyeArmour(ItemStack aArmour, int aColour) { - func_82813_b(aArmour, aColour); - } - - @Override - public void func_82813_b(ItemStack p_82813_1_, int p_82813_2_) { - NBTTagCompound nbttagcompound = p_82813_1_.getTagCompound(); - if (nbttagcompound == null) { - nbttagcompound = new NBTTagCompound(); - p_82813_1_.setTagCompound(nbttagcompound); - } - NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("display"); - if (!nbttagcompound.hasKey("display", 10)) { - nbttagcompound.setTag("display", nbttagcompound1); - } - nbttagcompound1.setInteger("color", p_82813_2_); - } - - @Override - public void removeColor(ItemStack p_82815_1_) { - NBTTagCompound nbttagcompound = p_82815_1_.getTagCompound(); - if (nbttagcompound != null) { - NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("display"); - if (nbttagcompound1.hasKey("color")) { - nbttagcompound1.removeTag("color"); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/hazmat/ItemArmorHazmatEx.java b/gtpp/src/main/java/gtPlusPlus/core/item/wearable/hazmat/ItemArmorHazmatEx.java deleted file mode 100644 index e01c89d827..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/item/wearable/hazmat/ItemArmorHazmatEx.java +++ /dev/null @@ -1,35 +0,0 @@ -package gtPlusPlus.core.item.wearable.hazmat; - -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; - -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.ic2.CustomInternalName; -import ic2.core.IC2; -import ic2.core.init.InternalName; -import ic2.core.item.armor.ItemArmorHazmat; - -public class ItemArmorHazmatEx extends ItemArmorHazmat { - - public static void init() { - GregtechItemList.Armour_Hazmat_Advanced_Helmet - .set(new ItemStack(new ItemArmorHazmatEx(CustomInternalName.aHazmatHelmetEx, 0))); - GregtechItemList.Armour_Hazmat_Advanced_Chest - .set(new ItemStack(new ItemArmorHazmatEx(CustomInternalName.aHazmatChestEx, 1))); - GregtechItemList.Armour_Hazmat_Advanced_Legs - .set(new ItemStack(new ItemArmorHazmatEx(CustomInternalName.aHazmatLegsEx, 2))); - GregtechItemList.Armour_Hazmat_Advanced_Boots - .set(new ItemStack(new ItemArmorHazmatEx(CustomInternalName.aHazmatBootsEx, 3))); - } - - private ItemArmorHazmatEx(InternalName internalName, int type) { - super(internalName, type); - this.setMaxDamage(256); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - int suffix = this.armorType == 2 ? 2 : 1; - return IC2.textureDomain + ":textures/armor/" + "hazmatEx_" + suffix + ".png"; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/lib/CORE.java b/gtpp/src/main/java/gtPlusPlus/core/lib/CORE.java deleted file mode 100644 index 9f39f1f369..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/lib/CORE.java +++ /dev/null @@ -1,242 +0,0 @@ -package gtPlusPlus.core.lib; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; -import java.util.UUID; -import java.util.WeakHashMap; -import java.util.concurrent.ConcurrentHashMap; -import java.util.function.Supplier; - -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; - -import com.mojang.authlib.GameProfile; - -import cpw.mods.fml.common.FMLCommonHandler; -import gregtech.api.objects.XSTR; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; -import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; -import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator; -import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal; - -public class CORE { - - public static Map PlayerCache; - - // Math Related - public static final float PI = (float) Math.PI; - public static volatile Random RANDOM = new XSTR(); - - public static boolean DEVENV = false;; - - // Mod Variables - public static final String name = "GT++"; - public static final String VERSION = "GRADLETOKEN_VERSION"; - - // Tweakables - public static int EVERGLADES_ID = 227; - public static int EVERGLADESBIOME_ID = 238; - - public static int turbineCutoffBase = 75000; - - // GT++ Fake Player Profile - public static final GameProfile gameProfile = new GameProfile( - UUID.nameUUIDFromBytes("gtplusplus.core".getBytes()), - "[GT++]"); - public static final WeakHashMap fakePlayerCache = new WeakHashMap<>(); - // Tooltips; - public static final Supplier GT_Tooltip = () -> StatCollector.translateToLocal("GTPP.core.GT_Tooltip"); - public static final Supplier GT_Tooltip_Builder = () -> StatCollector - .translateToLocal("GTPP.core.GT_Tooltip_Builder"); - public static final Supplier GT_Tooltip_Radioactive = () -> StatCollector - .translateToLocal("GTPP.core.GT_Tooltip_Radioactive"); - - public static final String SEPERATOR = "/"; - - /** - * Lists/Maps - */ - - // Burnables List - public static List> burnables = new ArrayList<>(); - - // TesseractMaps - public static final Map> sTesseractGeneratorOwnershipMap = new HashMap<>(); - public static final Map> sTesseractTerminalOwnershipMap = new HashMap<>(); - - // BookMap - public static final Map sBookList = new ConcurrentHashMap<>(); - - /** - * Some Gregtech Material and Recipe Variables - */ - public static IGregtech_RecipeAdder RA; - - public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000]; - - public static class ConfigSwitches { - - // Debug - public static boolean MACHINE_INFO = true; - public static boolean showHiddenNEIItems = false; - public static boolean dumpItemAndBlockData = false; - - // Machine Related - public static boolean enableThaumcraftShardUnification = false; - public static boolean disableIC2Recipes = false; - public static int boilerSteamPerSecond = 750; - - // Feature Related - public static boolean enableCustomCapes = false; - public static int enableWatchdogBGM = CORE_Preloader.enableWatchdogBGM; - public static boolean hideUniversalCells = true; - - // Single Block Machines - public static boolean enableMachine_Dehydrators = true; - public static boolean enableMachine_SteamConverter = true; - public static boolean enableMachine_FluidTanks = true; - public static boolean enableMachine_RocketEngines = true; - public static boolean enableMachine_GeothermalEngines = true; - public static boolean enableMachine_Tesseracts = true; - public static boolean enableMachine_SimpleWasher = true; - public static boolean enableMachine_Pollution = true; - public static boolean enableCustom_Pipes = true; - public static boolean enableCustom_Cables = true; - - // Multiblocks - public static boolean enableMultiblock_AlloyBlastSmelter = true; - public static boolean enableMultiblock_QuantumForceTransformer = true; - public static boolean enableMultiblock_IndustrialCentrifuge = true; - public static boolean enableMultiblock_IndustrialCokeOven = true; - public static boolean enableMultiblock_IndustrialElectrolyzer = true; - public static boolean enableMultiblock_IndustrialMacerationStack = true; - public static boolean enableMultiblock_IndustrialPlatePress = true; - public static boolean enableMultiblock_IndustrialWireMill = true; - public static boolean enableMultiblock_MatterFabricator = true; - public static boolean enableMultiblock_MultiTank = true; - public static boolean enableMultiblock_PowerSubstation = true; - public static boolean enableMultiblock_LiquidFluorideThoriumReactor = true; - public static boolean enableMultiblock_NuclearSaltProcessingPlant = true; - public static boolean enableMultiblock_NuclearFuelRefinery = true; - public static boolean enableMultiblock_TreeFarmer = true; - public static boolean enableMultiblock_IndustrialSifter = true; - public static boolean enableMultiblock_IndustrialThermalCentrifuge = true; - public static boolean enableMultiblock_IndustrialWashPlant = true; - public static boolean enableMultiblock_LargeAutoCrafter = true; - 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 useGregtechTextures = true; - public static boolean enableAnimatedTextures = false; - - // Pollution - public static int pollutionPerSecondMultiPackager = 40; - public static int pollutionPerSecondMultiIndustrialAlloySmelter = 300; - public static int pollutionPerSecondMultiIndustrialArcFurnace = 2400; - public static int pollutionPerSecondMultiIndustrialCentrifuge = 300; - public static int pollutionPerSecondMultiIndustrialCokeOven = 80; - public static int pollutionPerSecondMultiIndustrialCuttingMachine = 160; - public static int pollutionPerSecondMultiIndustrialDehydrator = 500; - public static int pollutionPerSecondMultiIndustrialElectrolyzer = 300; - public static int pollutionPerSecondMultiIndustrialExtruder = 1000; - public static int pollutionPerSecondMultiIndustrialMacerator = 400; - public static int pollutionPerSecondMultiIndustrialMixer = 800; - public static int pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal = 400; - public static int pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid = 400; - public static int pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc = 600; - public static int pollutionPerSecondMultiIndustrialPlatePress_ModeForming = 240; - public static int pollutionPerSecondMultiIndustrialPlatePress_ModeBending = 480; - public static int pollutionPerSecondMultiIndustrialForgeHammer = 250; - public static int pollutionPerSecondMultiIndustrialSifter = 40; - public static int pollutionPerSecondMultiIndustrialThermalCentrifuge = 1000; - public static int pollutionPerSecondMultiIndustrialVacuumFreezer = 500; - public static int pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath = 400; - public static int pollutionPerSecondMultiIndustrialWashPlant_ModeWasher = 100; - public static int pollutionPerSecondMultiIndustrialWireMill = 100; - public static int pollutionPerSecondMultiIsaMill = 1280; - public static int pollutionPerSecondMultiAdvDistillationTower_ModeDistillery = 240; - public static int pollutionPerSecondMultiAdvDistillationTower_ModeDT = 480; - public static int pollutionPerSecondMultiAdvEBF = 500; - public static int pollutionPerSecondMultiAdvImplosion = 5000; - public static int pollutionPerSecondMultiABS = 200; - public static int pollutionPerSecondMultiCyclotron = 200; - public static int pollutionPerSecondMultiIndustrialFishingPond = 20; - public static int pollutionPerSecondMultiLargeSemiFluidGenerator = 1280; - public static int pollutionPerSecondMultiMassFabricator = 40; - public static int pollutionPerSecondMultiRefinery = 4000; - public static int pollutionPerSecondMultiTreeFarm = 100; - public static int pollutionPerSecondMultiFrothFlotationCell = 0; - public static int pollutionPerSecondMultiAutoCrafter = 500; - public static int pollutionPerSecondMultiThermalBoiler = 700; - public static int pollutionPerSecondMultiMolecularTransformer = 1000; - public static int pollutionPerSecondMultiAlgaePond = 0; - public static int pollutionPerSecondMultiIndustrialRockBreaker = 100; - public static int pollutionPerSecondMultiIndustrialChisel = 50; - // pollution single blocks - public static int basePollutionPerSecondSemiFluidGenerator = 40; - public static double[] pollutionReleasedByTierSemiFluidGenerator = new double[] { 0, 2.0, 4.0, 8.0, 12.0, 16, - 0 }; - public static int basePollutionPerSecondBoiler = 35; - public static double[] pollutionReleasedByTierBoiler = new double[] { 0, 1.0, 1.43, 1.86 }; - public static int baseMinPollutionPerSecondRocketFuelGenerator = 250; - public static int baseMaxPollutionPerSecondRocketFuelGenerator = 2000; - public static double[] pollutionReleasedByTierRocketFuelGenerator = new double[] { 0, 0, 0, 0, 1, 2, 3 }; - public static int basePollutionPerSecondGeothermalGenerator = 100; - public static double[] pollutionReleasedByTierGeothermalGenerator = new double[] { 0, 0, 0, 0, 1, 1, 1 }; - } - - public static class Everglades { - - public static final String NAME = "GT++ Toxic Everglades"; - public static final String VERSION = "GRADLETOKEN_VERSION"; - } - - public static final void crash() { - crash("Generic Crash"); - } - - public static final void crash(String aReason) { - try { - Logger.INFO("=========================================================="); - Logger.INFO("[GT++ CRASH]"); - Logger.INFO("=========================================================="); - Logger.INFO("Oooops..."); - Logger.INFO("This should only happy in a development environment or when something really bad happens."); - Logger.INFO("Reason: " + aReason); - Logger.INFO("=========================================================="); - Logger.INFO("Called from: " + ReflectionUtils.getMethodName(1)); - Logger.INFO(ReflectionUtils.getMethodName(2)); - Logger.INFO(ReflectionUtils.getMethodName(3)); - Logger.INFO(ReflectionUtils.getMethodName(4)); - Logger.INFO(ReflectionUtils.getMethodName(5)); - Logger.INFO(ReflectionUtils.getMethodName(6)); - Logger.INFO(ReflectionUtils.getMethodName(7)); - Logger.INFO(ReflectionUtils.getMethodName(8)); - Logger.INFO(ReflectionUtils.getMethodName(9)); - Logger.INFO(ReflectionUtils.getMethodName(10)); - Logger.INFO(ReflectionUtils.getMethodName(11)); - Logger.INFO(ReflectionUtils.getMethodName(12)); - Logger.INFO(ReflectionUtils.getMethodName(13)); - Logger.INFO(ReflectionUtils.getMethodName(14)); - Logger.INFO(ReflectionUtils.getMethodName(15)); - } catch (Throwable t) { - t.printStackTrace(); - } - FMLCommonHandler.instance() - .exitJava(0, true); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/lib/VanillaColours.java b/gtpp/src/main/java/gtPlusPlus/core/lib/VanillaColours.java deleted file mode 100644 index 70e7902fbf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/lib/VanillaColours.java +++ /dev/null @@ -1,43 +0,0 @@ -package gtPlusPlus.core.lib; - -import gtPlusPlus.core.util.Utils; - -public enum VanillaColours { - - BONE_MEAL(249, 255, 254), - INK_BLACK(29, 29, 33), - COCOA_BEANS(131, 84, 50), - LAPIS_LAZULI(60, 68, 170), - DYE_WHITE(249, 255, 254), - DYE_BLACK(29, 29, 33), - DYE_RED(176, 46, 38), - DYE_GREEN(94, 124, 22), - DYE_CYAN(22, 156, 156), - DYE_PINK(243, 139, 170), - DYE_LIME(128, 199, 31), - DYE_YELLOW(254, 216, 61), - DYE_ORANGE(249, 128, 29), - DYE_BROWN(131, 84, 50), - DYE_LIGHT_BLUE(58, 179, 218), - DYE_LIGHT_PURPLE(199, 78, 189), - DYE_LIGHT_GRAY(157, 157, 151), - DYE_DARK_BLUE(60, 68, 170), - DYE_DARK_PURPLE(137, 50, 184), - DYE_DARK_GRAY(71, 79, 82); - - private final int r, g, b; - - private VanillaColours(int aR, int aG, int aB) { - r = aR; - g = aG; - b = aB; - } - - public short[] getAsShort() { - return new short[] { (short) r, (short) g, (short) b }; - } - - public int getAsInt() { - return Utils.rgbtoHexValue(r, g, b); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/ALLOY.java b/gtpp/src/main/java/gtPlusPlus/core/material/ALLOY.java deleted file mode 100644 index 6618c61dd3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/ALLOY.java +++ /dev/null @@ -1,828 +0,0 @@ -package gtPlusPlus.core.material; - -import gregtech.api.enums.Materials; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public final class ALLOY { - - // Just some GT Alloys that I need within mine. - public static final Material BRONZE = MaterialUtils.generateMaterialFromGtENUM(Materials.Bronze); - public static final Material STEEL = MaterialUtils.generateMaterialFromGtENUM(Materials.Steel); - public static final Material STEEL_BLACK = MaterialUtils.generateMaterialFromGtENUM(Materials.BlackSteel); - public static final Material INVAR = MaterialUtils.generateMaterialFromGtENUM(Materials.Invar); - public static final Material KANTHAL = MaterialUtils.generateMaterialFromGtENUM(Materials.Kanthal); - public static final Material NICHROME = MaterialUtils.generateMaterialFromGtENUM(Materials.Nichrome); - public static final Material TUNGSTENSTEEL = MaterialUtils.generateMaterialFromGtENUM(Materials.TungstenSteel); - public static final Material STAINLESS_STEEL = MaterialUtils.generateMaterialFromGtENUM(Materials.StainlessSteel); - public static final Material OSMIRIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Osmiridium); - public static final Material POLYETHYLENE = MaterialUtils.generateMaterialFromGtENUM(Materials.Plastic); - public static final Material POLYTETRAFLUOROETHYLENE = MaterialUtils - .generateMaterialFromGtENUM(Materials.Polytetrafluoroethylene); - public static final Material ENERGYCRYSTAL = new Material( - "Energy Crystal", // Material Name - MaterialState.SOLID, // State - new short[] { 228, 255, 0, 0 }, // Material Colour - 4660, // Melting Point in C - 5735, // Boiling Point in C - 90, // Protons - 40, // Neutrons - true, // Uses Blast furnace? - "⬟ ⯂ ⬢ ⬣ ⯃ ⯄", - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().AER, 5), - new MaterialStack(ELEMENT.getInstance().IGNIS, 5), new MaterialStack(ELEMENT.getInstance().TERRA, 5), - new MaterialStack(ELEMENT.getInstance().AQUA, 5) }); - - public static final Material BLOODSTEEL = new Material( - "Blood Steel", // Material Name - MaterialState.SOLID, // State - new short[] { 142, 28, 0, 0 }, // Material Colour - 2500, // Melting Point in C - 0, // Boiling Point in C - 100, // Protons - 100, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.STEEL, 5), new MaterialStack(ELEMENT.getInstance().IGNIS, 5) }); - - public static final Material STABALLOY = new Material( - "Staballoy", // Material Name - MaterialState.SOLID, // State - new short[] { 68, 75, 66, 0 }, // Material Colour - 3450, // Melting Point in C - -1, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().URANIUM238, 9), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 1) }); - - public static final Material TANTALLOY_60 = new Material( - "Tantalloy-60", // Material Name - MaterialState.SOLID, // State - new short[] { 213, 231, 237, 0 }, // Material Colour - 3025, // Melting Point in C - -1, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 4), - new MaterialStack(ELEMENT.getInstance().TANTALUM, 46) }); - - public static final Material TANTALLOY_61 = new Material( - "Tantalloy-61", // Material Name - MaterialState.SOLID, // State - new short[] { 193, 211, 217, 0 }, // Material Colour - 3030, // Melting Point in C - -1, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.TANTALLOY_60, 2), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 12), - new MaterialStack(ELEMENT.getInstance().YTTRIUM, 8) }); - - public static final Material TUMBAGA = new Material( - "Tumbaga", // Material Name - MaterialState.SOLID, // State - new short[] { 255, 178, 15, 0 }, // Material Colour - -1, - -1, - -1, - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().GOLD, 70), - new MaterialStack(ELEMENT.getInstance().COPPER, 30) }); - - public static final Material POTIN = new Material( - "Potin", // Material Name - MaterialState.SOLID, // State - new short[] { 201, 151, 129, 0 }, // Material Colour - -1, - -1, - -1, - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().LEAD, 40), new MaterialStack(ALLOY.BRONZE, 40), - new MaterialStack(ELEMENT.getInstance().TIN, 20) }); - - /* - * public static final Material BEDROCKIUM = new Material( "Bedrockium", //Material Name new short[]{32, 32, 32, 0}, - * //Material Colour 7735, //Melting Point in C 0, //Boiling Point in C 100, //Protons 100, //Neutrons false, //Uses - * Blast furnace? //Material Stacks with Percentage of required elements. null); - */ - - public static final Material INCONEL_625 = new Material( - "Inconel-625", // Material Name - MaterialState.SOLID, // State - new short[] { 128, 200, 128, 0 }, // Material Colour - 2425, // Melting Point in C - 3758, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NICKEL, 3), - new MaterialStack(ELEMENT.getInstance().CHROMIUM, 7), - new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 10), new MaterialStack(INVAR, 10), - new MaterialStack(NICHROME, 13) }); - - public static final Material INCONEL_690 = new Material( - "Inconel-690", // Material Name - MaterialState.SOLID, // State - new short[] { 118, 220, 138, 0 }, // Material Colour - 3425, // Melting Point in C - 4895, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CHROMIUM, 5), - new MaterialStack(ELEMENT.getInstance().NIOBIUM, 10), - new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 10), new MaterialStack(NICHROME, 15) }); - - public static final Material INCONEL_792 = new Material( - "Inconel-792", // Material Name - MaterialState.SOLID, // State - new short[] { 108, 240, 118, 0 }, // Material Colour - 3425, // Melting Point in C - 6200, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NICKEL, 20), - new MaterialStack(ELEMENT.getInstance().NIOBIUM, 10), - new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 20), new MaterialStack(NICHROME, 10) }); - - public static final Material NITINOL_60 = new Material( - "Nitinol 60", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 5651, // Melting Point in C - 8975, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NICKEL, 40), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 60) }); - - public static final Material ZERON_100 = new Material( - "Zeron-100", // Material Name - MaterialState.SOLID, // State - new short[] { 180, 180, 20, 0 }, // Material Colour - 6100, - 9785, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CHROMIUM, 26), - new MaterialStack(ELEMENT.getInstance().NICKEL, 6), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 4), - new MaterialStack(ELEMENT.getInstance().COPPER, 20), new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 4), - new MaterialStack(ALLOY.STEEL, 40) }); - - public static final Material MARAGING250 = new Material( - "Maraging Steel 250", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 2413, // Melting Point in C - 4555, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.STEEL, 64), - new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 4), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 4), new MaterialStack(ELEMENT.getInstance().NICKEL, 16), - new MaterialStack(ELEMENT.getInstance().COBALT, 8), }); - - public static final Material MARAGING300 = new Material( - "Maraging Steel 300", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 2413, // Melting Point in C - 4555, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.STEEL, 64), new MaterialStack(ELEMENT.getInstance().TITANIUM, 4), - new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 4), new MaterialStack(ELEMENT.getInstance().NICKEL, 16), - new MaterialStack(ELEMENT.getInstance().COBALT, 8), }); - - public static final Material MARAGING350 = new Material( - "Maraging Steel 350", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 2413, // Melting Point in C - 4555, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.STEEL, 64), new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 4), - new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 4), new MaterialStack(ELEMENT.getInstance().NICKEL, 16), - new MaterialStack(ELEMENT.getInstance().COBALT, 8), }); - - public static final Material AQUATIC_STEEL = new Material( - "Watertight Steel", // Material Name - MaterialState.SOLID, // State - new short[] { 120, 120, 180 }, // Material Colour - 2673, // Melting Point in C - 4835, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.STEEL, 60), new MaterialStack(ELEMENT.getInstance().CARBON, 10), - new MaterialStack(ELEMENT.getInstance().MANGANESE, 5), new MaterialStack(ELEMENT.getInstance().SILICON, 10), - new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 5), new MaterialStack(ELEMENT.getInstance().SULFUR, 5), - new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 5) }); - - public static final Material STELLITE = new Material( - "Stellite", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 4310, // Melting Point in C - 6250, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().COBALT, 35), - new MaterialStack(ELEMENT.getInstance().CHROMIUM, 35), - new MaterialStack(ELEMENT.getInstance().MANGANESE, 20), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 10) }); - - public static final Material TALONITE = new Material( - "Talonite", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 3454, // Melting Point in C - 5500, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().COBALT, 40), - new MaterialStack(ELEMENT.getInstance().CHROMIUM, 30), - new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 20), - new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 10) }); - - public static final Material HASTELLOY_W = new Material( - "Hastelloy-W", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 3350, // Melting Point in C - 5755, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().IRON, 06), - new MaterialStack(ELEMENT.getInstance().COBALT, 2), new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 24), - new MaterialStack(ELEMENT.getInstance().CHROMIUM, 6), - new MaterialStack(ELEMENT.getInstance().NICKEL, 62) }); - - public static final Material HASTELLOY_X = new Material( - "Hastelloy-X", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 3350, // Melting Point in C - 5755, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().IRON, 18), - new MaterialStack(ELEMENT.getInstance().MANGANESE, 2), new MaterialStack(ELEMENT.getInstance().SILICON, 2), - new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 8), - new MaterialStack(ELEMENT.getInstance().CHROMIUM, 22), - new MaterialStack(ELEMENT.getInstance().NICKEL, 48) }); - - public static final Material HASTELLOY_N = new Material( - "Hastelloy-N", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 4350, // Melting Point in C - 6875, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().YTTRIUM, 8), - new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 16), - new MaterialStack(ELEMENT.getInstance().CHROMIUM, 8), new MaterialStack(ELEMENT.getInstance().TITANIUM, 8), - new MaterialStack(ELEMENT.getInstance().NICKEL, 60) }); - - public static final Material HASTELLOY_C276 = new Material( - "Hastelloy-C276", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 4350, // Melting Point in C - 6520, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().COBALT, 2), - new MaterialStack(ELEMENT.getInstance().MOLYBDENUM, 16), - new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 2), new MaterialStack(ELEMENT.getInstance().COPPER, 2), - new MaterialStack(ELEMENT.getInstance().CHROMIUM, 14), - new MaterialStack(ELEMENT.getInstance().NICKEL, 64) }); - - public static final Material INCOLOY_020 = new Material( - "Incoloy-020", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 3425, // Melting Point in C - 5420, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().IRON, 40), - new MaterialStack(ELEMENT.getInstance().COPPER, 4), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 20), - new MaterialStack(ELEMENT.getInstance().NICKEL, 36) }); - - public static final Material INCOLOY_DS = new Material( - "Incoloy-DS", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 3425, // Melting Point in C - 5420, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().IRON, 46), - new MaterialStack(ELEMENT.getInstance().COBALT, 18), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 18), - new MaterialStack(ELEMENT.getInstance().NICKEL, 18) }); - - public static final Material INCOLOY_MA956 = new Material( - "Incoloy-MA956", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 4425, // Melting Point in C - 6875, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().IRON, 64), - new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 12), - new MaterialStack(ELEMENT.getInstance().CHROMIUM, 20), - new MaterialStack(ELEMENT.getInstance().YTTRIUM, 4) }); - - public static final Material TUNGSTEN_CARBIDE = new Material( - "Tungsten Carbide", // Material Name - MaterialState.SOLID, // State - new short[] { 44, 44, 44, 0 }, // Material Colour - 3422, // Melting Point in C - -1, - -1, - -1, - true, // Uses Blast furnace? - false, // Generate cells - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CARBON, 50), - new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 50) }); - - public static final Material TUNGSTEN_TITANIUM_CARBIDE = new Material( - "Tungsten Titanium Carbide", // Material Name - MaterialState.SOLID, // State - null, - 4422, // Melting Point in C - -1, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(TUNGSTEN_CARBIDE, 70), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 30) }); - - public static final Material SILICON_CARBIDE = new Material( - "Silicon Carbide", // Material Name - MaterialState.SOLID, // State - new short[] { 40, 48, 36, 0 }, // Material Colour - 1414, // Melting Point in C - -1, - -1, - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().SILICON, 50), - new MaterialStack(ELEMENT.getInstance().CARBON, 50) }); - - public static final Material TANTALUM_CARBIDE = new Material( - "Tantalum Carbide", // Material Name - MaterialState.SOLID, // State - new short[] { 139, 136, 120, 0 }, // Material Colour - 2980, // Melting Point in C - -1, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().TANTALUM, 50), - new MaterialStack(ELEMENT.getInstance().CARBON, 50) }); - - public static final Material ZIRCONIUM_CARBIDE = new Material( - "Zirconium Carbide", // Material Name - MaterialState.SOLID, // State - new short[] { 222, 202, 180, 0 }, // Material Colour - 1555, // Melting Point in C - -1, - -1, - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 50), - new MaterialStack(ELEMENT.getInstance().CARBON, 50) }); - - public static final Material NIOBIUM_CARBIDE = new Material( - "Niobium Carbide", // Material Name - MaterialState.SOLID, // State - new short[] { 205, 197, 191, 0 }, // Material Colour - 2477, // Melting Point in C - -1, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NIOBIUM, 50), - new MaterialStack(ELEMENT.getInstance().CARBON, 50) }); - - public static final Material ARCANITE = new Material( - "Arcanite", // Material Name - MaterialState.SOLID, // State - null, - 5666, // Melting Point in C - 9875, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().THORIUM232, 40), - new MaterialStack(ENERGYCRYSTAL, 40), new MaterialStack(ELEMENT.getInstance().ORDO, 10), - new MaterialStack(ELEMENT.getInstance().PERDITIO, 10) }); - - public static final Material LEAGRISIUM = new Material( - "Grisium", // Material Name - MaterialState.SOLID, // State - new short[] { 53, 93, 106, 0 }, // Material Colour - 3850, // Melting Point in C - 5550, // Boiling Point in C - 96, // Protons - 128, // Neutrons - true, // Uses Blast furnace? - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().TITANIUM, 18), - new MaterialStack(ELEMENT.getInstance().CARBON, 18), new MaterialStack(ELEMENT.getInstance().POTASSIUM, 18), - new MaterialStack(ELEMENT.getInstance().LITHIUM, 18), new MaterialStack(ELEMENT.getInstance().SULFUR, 18), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 10) }); // Material Stacks with Percentage of - // required elements. - - public static final Material EGLIN_STEEL_BASE = new Material( - "Eglin Steel Base Compound", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().IRON, 12), new MaterialStack(KANTHAL, 3), - new MaterialStack(INVAR, 15) }); - - public static final Material EGLIN_STEEL = new Material( - "Eglin Steel", // Material Name - MaterialState.SOLID, // State - new short[] { 139, 69, 19, 0 }, // Material Colour - 1048, // Melting Point in C - 1973, // Boiling Point in C - -1, - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.EGLIN_STEEL_BASE, 10), - new MaterialStack(ELEMENT.getInstance().SULFUR, 1), new MaterialStack(ELEMENT.getInstance().SILICON, 4), - new MaterialStack(ELEMENT.getInstance().CARBON, 1) }); - - public static final Material HG1223 = new Material( - "HG-1223", // Material Name - MaterialState.LIQUID, // State - new short[] { 39, 85, 159, 0 }, // Material Colour - 6357, // Melting Point in C - 8563, // Boiling Point in C - -1, - -1, - false, // Uses Blast furnace? - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().MERCURY, 1), - new MaterialStack(ELEMENT.getInstance().BARIUM, 2), new MaterialStack(ELEMENT.getInstance().CALCIUM, 2), - new MaterialStack(ELEMENT.getInstance().COPPER, 3), new MaterialStack(ELEMENT.getInstance().OXYGEN, 8) }); - - public static final Material HS188A = new Material( - "HS188-A", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 4870, // Melting Point in C - 7550, // Boiling Point in C - -1, // Protons - -1, // Neutrons - true, // Uses Blast furnace? - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().COBALT, 20), - new MaterialStack(ELEMENT.getInstance().HAFNIUM, 20), new MaterialStack(TALONITE, 16), - new MaterialStack(ELEMENT.getInstance().RHENIUM, 10), new MaterialStack(NIOBIUM_CARBIDE, 10), - new MaterialStack(HASTELLOY_X, 8), new MaterialStack(TUNGSTENSTEEL, 8), - new MaterialStack(ZIRCONIUM_CARBIDE, 8), }); // Material Stacks with Percentage of required - // elements. - - /** - * Stargate Materials - #D2FFA9 210, 255, 170 - */ - public static final Material TRINIUM_TITANIUM = new Material( - "Trinium Titanium Alloy", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 3750, // Melting Point in C - 7210, // Boiling Point in C - -1, - -1, - true, // Uses Blast furnace? - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().TRINIUM_REFINED, 3), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 7) }); - - public static final Material TRINIUM_NAQUADAH = new Material( - "Trinium Naquadah Alloy", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 4200, // Melting Point in C - 7400, // Boiling Point in C - -1, - -1, - false, // Uses Blast furnace? - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().TRINIUM_REFINED, 5), - new MaterialStack(ELEMENT.getInstance().NAQUADAH, 9) }); - public static final Material TRINIUM_NAQUADAH_CARBON = new Material( - "Trinium Naquadah Carbonite", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 6500, // Melting Point in C - 9000, // Boiling Point in C - -1, - -1, - true, // Uses Blast furnace? - new MaterialStack[] { new MaterialStack(TRINIUM_NAQUADAH, 9), - new MaterialStack(ELEMENT.getInstance().CARBON, 1) }); - - public static final Material TRINIUM_REINFORCED_STEEL = new Material( - "Arceus Alloy 2B", // Material Name - MaterialState.SOLID, // State - new short[] { 205, 197, 23, 0 }, // Material Colour - 7555, // Melting Point in C - 12350, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().TRINIUM_REFINED, 30), - new MaterialStack(ALLOY.MARAGING350, 40), new MaterialStack(ALLOY.TUNGSTENSTEEL, 20), - new MaterialStack(ALLOY.OSMIRIDIUM, 10), new MaterialStack(ELEMENT.getInstance().STRONTIUM, 10) }); - - /* - * Witchery Material - */ - - public static final Material KOBOLDITE = new Material( - "Koboldite", // Material Name - MaterialState.SOLID, // State - new short[] { 80, 210, 255, 0 }, // Material Colour - -1, // Melting Point in C - -1, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NICKEL, 35), - new MaterialStack(ELEMENT.getInstance().THAUMIUM, 30), new MaterialStack(ELEMENT.getInstance().IRON, 35) }); - - /* - * Top Tier Alloys - */ - - public static final Material HELICOPTER = new Material( - "HeLiCoPtEr", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 5763, - 8192, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().HELIUM, 20), - new MaterialStack(ELEMENT.getInstance().LITHIUM, 20), new MaterialStack(ELEMENT.getInstance().COBALT, 20), - new MaterialStack(ELEMENT.getInstance().PLATINUM, 20), - new MaterialStack(ELEMENT.getInstance().ERBIUM, 20) }); - - // 0lafe Compound - public static final Material LAFIUM = new Material( - "Lafium Compound", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 6350, // Melting Point in C - 9865, // Boiling Point in C - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.HASTELLOY_N, 8), - new MaterialStack(ELEMENT.getInstance().NAQUADAH, 4), new MaterialStack(ELEMENT.getInstance().SAMARIUM, 2), - new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 4), new MaterialStack(ELEMENT.getInstance().ARGON, 2), - new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 6), new MaterialStack(ELEMENT.getInstance().NICKEL, 8), - new MaterialStack(ELEMENT.getInstance().CARBON, 2) }); - - // Cinobi Alloy - public static final Material CINOBITE = new Material( - "Cinobite A243", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 7350, // Melting Point in C - 12565, // Boiling Point in C - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.ZERON_100, 16), - new MaterialStack(ELEMENT.getInstance().NAQUADRIA, 7), - new MaterialStack(ELEMENT.getInstance().GADOLINIUM, 5), - new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 3), new MaterialStack(ELEMENT.getInstance().MERCURY, 2), - new MaterialStack(ELEMENT.getInstance().TIN, 2), new MaterialStack(ELEMENT.getInstance().TITANIUM, 12), - new MaterialStack(ALLOY.OSMIRIDIUM, 6) }); - - // Piky Alloy - public static final Material PIKYONIUM = new Material( - "Pikyonium 64B", // Material Name - MaterialState.SOLID, // State - new short[] { 52, 103, 186, 0 }, // Material Colour - 6850, // Melting Point in C - 11765, // Boiling Point in C - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.INCONEL_792, 16), new MaterialStack(ALLOY.EGLIN_STEEL, 10), - new MaterialStack(ELEMENT.getInstance().NAQUADAH_ENRICHED, 8), - new MaterialStack(ELEMENT.getInstance().CERIUM, 6), new MaterialStack(ELEMENT.getInstance().ANTIMONY, 4), - new MaterialStack(ELEMENT.getInstance().PLATINUM, 4), new MaterialStack(ELEMENT.getInstance().YTTERBIUM, 2), - new MaterialStack(ALLOY.TUNGSTENSTEEL, 8) }); - - // Piky Alloy - public static final Material ABYSSAL = new Material( - "Abyssal Alloy", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 9650, // Melting Point in C - 13765, // Boiling Point in C - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.STAINLESS_STEEL, 10), - new MaterialStack(ALLOY.TUNGSTEN_CARBIDE, 10), new MaterialStack(ALLOY.NICHROME, 10), - new MaterialStack(ALLOY.BRONZE, 10), new MaterialStack(ALLOY.INCOLOY_MA956, 10), - new MaterialStack(ELEMENT.getInstance().IODINE, 2), new MaterialStack(ELEMENT.getInstance().RADON, 2), - new MaterialStack(ELEMENT.getInstance().GERMANIUM, 2), }); - - // Alkalus Alloy - public static final Material LAURENIUM = new Material( - "Laurenium", // Material Name - MaterialState.SOLID, // State - new short[] { 244, 168, 255, 0 }, // Material Colour - 6825, // Melting Point in C - 11355, // Boiling Point in C - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.EGLIN_STEEL, 40), - new MaterialStack(ELEMENT.getInstance().INDIUM, 10), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 20), - new MaterialStack(ELEMENT.getInstance().DYSPROSIUM, 5), - new MaterialStack(ELEMENT.getInstance().RHENIUM, 5), }); - - // Bot Alloy - public static final Material BOTMIUM = new Material( - "Botmium", // Material Name - MaterialState.SOLID, // State - new short[] { 80, 160, 80, 0 }, // Material Colour - 8220, // Melting Point in C - 10540, // Boiling Point in C - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.NITINOL_60, 2), - new MaterialStack(ELEMENT.getInstance().OSMIUM, 12), new MaterialStack(ELEMENT.getInstance().RUTHENIUM, 12), - new MaterialStack(ELEMENT.getInstance().THALLIUM, 6), }); - - // Titansteel - public static final Material TITANSTEEL = new Material( - "Titansteel", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 8250, // Melting Point in C - 11765, // Boiling Point in C - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.TUNGSTEN_TITANIUM_CARBIDE, 3), - new MaterialStack(ELEMENT.getInstance().IGNIS, 1), new MaterialStack(ELEMENT.getInstance().TERRA, 1), - new MaterialStack(ELEMENT.getInstance().PERDITIO, 1), }); - - public static final Material OCTIRON = new Material( - "Octiron", // Material Name - MaterialState.SOLID, // State - null, - 9120, // Melting Point in C - 14200, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ARCANITE, 30), new MaterialStack(TITANSTEEL, 30), - new MaterialStack(ENERGYCRYSTAL, 5), new MaterialStack(STEEL_BLACK, 10), - new MaterialStack(ELEMENT.getInstance().THAUMIUM, 25) }); - - public static final Material BLACK_TITANIUM = new Material( - "Black Titanium", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - Materials.Titanium.mMeltingPoint * 4, // Melting Point in C - Materials.Titanium.mMeltingPoint * 16, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().TITANIUM, 55), - new MaterialStack(ELEMENT.getInstance().LANTHANUM, 12), - new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 8), new MaterialStack(ELEMENT.getInstance().COBALT, 6), - new MaterialStack(ELEMENT.getInstance().MANGANESE, 4), - new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 4), - new MaterialStack(ELEMENT.getInstance().PALLADIUM, 4), new MaterialStack(ELEMENT.getInstance().NIOBIUM, 2), - new MaterialStack(ELEMENT.getInstance().ARGON, 5) }); - - public static final Material BABBIT_ALLOY = new Material( - "Babbit Alloy", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 268, // Melting Point in C - 589, - -1, - -1, - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().TIN, 10), - new MaterialStack(ELEMENT.getInstance().LEAD, 72), new MaterialStack(ELEMENT.getInstance().ANTIMONY, 16), - new MaterialStack(ELEMENT.getInstance().ARSENIC, 2) }); - - public static final Material INDALLOY_140 = new Material( - "Indalloy 140", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 5200, // Melting Point in C - 6500, - -1, - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().BISMUTH, 47), - new MaterialStack(ELEMENT.getInstance().LEAD, 25), new MaterialStack(ELEMENT.getInstance().TIN, 13), - new MaterialStack(ELEMENT.getInstance().CADMIUM, 10), new MaterialStack(ELEMENT.getInstance().INDIUM, 5) }); - - // Quantum - public static final Material QUANTUM = new Material( - "Quantum", // Material Name - MaterialState.SOLID, // State - null, // Material Colour - 10500, // Melting Point in C - 25000, // Boiling Point in C - 150, // Protons - 200, // Neutrons - true, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ALLOY.STELLITE, 15), new MaterialStack(ALLOY.ENERGYCRYSTAL, 5), - new MaterialStack(ALLOY.SILICON_CARBIDE, 5), new MaterialStack(ELEMENT.getInstance().GALLIUM, 5), - new MaterialStack(ELEMENT.getInstance().AMERICIUM, 5), - new MaterialStack(ELEMENT.getInstance().PALLADIUM, 5), new MaterialStack(ELEMENT.getInstance().BISMUTH, 5), - new MaterialStack(ELEMENT.getInstance().GERMANIUM, 5) }); -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/ELEMENT.java b/gtpp/src/main/java/gtPlusPlus/core/material/ELEMENT.java deleted file mode 100644 index 9bcea2a47b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/ELEMENT.java +++ /dev/null @@ -1,651 +0,0 @@ -package gtPlusPlus.core.material; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.TextureSet; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.client.CustomTextureSet.TextureSets; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.util.data.StringUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public final class ELEMENT { - - public static final String[] NAMES = new String[] { "Hydrogen", "Helium" }; - - // First 50 Elements - public final Material HYDROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Hydrogen); - public final Material HELIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Helium); - public final Material LITHIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Lithium); - public final Material BERYLLIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Beryllium); - public final Material BORON = MaterialUtils.generateMaterialFromGtENUM(Materials.Boron); - public final Material CARBON = MaterialUtils.generateMaterialFromGtENUM(Materials.Carbon); - public final Material NITROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Nitrogen); - public final Material OXYGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Oxygen); - public final Material FLUORINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Fluorine); - public final Material NEON = new Material( - "Neon", - MaterialState.PURE_GAS, - new short[] { 240, 180, 30 }, - -248, - -246, - 10, - 10, - false, - "Ne", - 0); // Not a GT Inherited Material - public final Material SODIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Sodium); - public final Material MAGNESIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Magnesium); - public final Material ALUMINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Aluminium); - public final Material ALUMINIUMOXIDE = MaterialUtils.generateMaterialFromGtENUM(Materials.Aluminiumoxide); - public final Material SILICON = MaterialUtils.generateMaterialFromGtENUM(Materials.Silicon); - public final Material SILICONDIOXIDE = MaterialUtils.generateMaterialFromGtENUM(Materials.SiliconDioxide); - public final Material PHOSPHORUS = MaterialUtils.generateMaterialFromGtENUM(Materials.Phosphorus); - public final Material SULFUR = MaterialUtils.generateMaterialFromGtENUM(Materials.Sulfur); - public final Material CHLORINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Chlorine); - public final Material ARGON = MaterialUtils.generateMaterialFromGtENUM(Materials.Argon); - public final Material POTASSIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Potassium); - public final Material CALCIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Calcium); - public final Material SCANDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Scandium); - public final Material TITANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Titanium); - public final Material VANADIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Vanadium); - public final Material CHROMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Chrome); - public final Material MANGANESE = MaterialUtils.generateMaterialFromGtENUM(Materials.Manganese); - public final Material IRON = MaterialUtils.generateMaterialFromGtENUM(Materials.Iron); - public final Material COBALT = MaterialUtils.generateMaterialFromGtENUM(Materials.Cobalt); - public final Material NICKEL = MaterialUtils.generateMaterialFromGtENUM(Materials.Nickel); - public final Material COPPER = MaterialUtils.generateMaterialFromGtENUM(Materials.Copper); - public final Material ZINC = MaterialUtils.generateMaterialFromGtENUM(Materials.Zinc); - public final Material GALLIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Gallium); - public final Material GERMANIUM = new Material( - "Germanium", - MaterialState.SOLID, - new short[] { 200, 200, 200 }, - 937, - 2830, - 32, - 41, - false, - "Ge", - 0); // Not a GT Inherited Material - public final Material ARSENIC = MaterialUtils.generateMaterialFromGtENUM(Materials.Arsenic); - public final Material SELENIUM = new Material( - "Selenium", - MaterialState.SOLID, - new short[] { 190, 190, 190 }, - 217, - 685, - 34, - 45, - false, - "Se", - 0); // Not a GT Inherited Material - public final Material BROMINE = new Material( - "Bromine", - MaterialState.PURE_LIQUID, - new short[] { 200, 25, 25 }, - -7, - 58, - 35, - 45, - false, - "Br", - 0); // Not a GT Inherited Material - public final Material KRYPTON = new Material( - "Krypton", - MaterialState.PURE_GAS, - new short[] { 5, 200, 220 }, - -157, - -153, - 36, - 48, - false, - "Kr", - 0); // Not a GT Inherited Material - public final Material RUBIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Rubidium); - public final Material STRONTIUM = MaterialUtils - .generateMaterialFromGtENUM(Materials.Strontium, new short[] { 230, 210, 110 }, TextureSet.SET_FLINT); - public final Material YTTRIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yttrium); - public final Material ZIRCONIUM = new Material( - "Zirconium", - MaterialState.SOLID, - new short[] { 255, 250, 205 }, - 1855, - 4377, - 40, - 51, - false, - "Zr", - 0); // Not a GT Inherited Material - public final Material NIOBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Niobium); - public final Material MOLYBDENUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Molybdenum); - - public final Material RUTHENIUM = new Material( - "Ruthenium", - MaterialState.SOLID, - new short[] { 220, 220, 220 }, - 2250, - 3900, - 44, - 57, - false, - "Ru", - 0); // Not a GT Inherited Material - public final Material RHODIUM = new Material( - "Rhodium", - MaterialState.SOLID, - new short[] { 220, 220, 220 }, - 1966, - 3727, - 45, - 58, - false, - "Rh", - 0); // Not a GT Inherited Material - public final Material AMERICIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Americium); - public final Material TECHNETIUM = new Material( - "Technetium", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - new short[] { 220, 220, 220 }, - 2200, - 4877, - 43, - 55, - false, - "Tc", - 2); // Not a GT Inherited Material - public final Material NEPTUNIUM = new Material( - "Neptunium", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - new short[] { 200, 220, 205 }, - 640, - 3902, - 93, - 144, - false, - "Np", - 2); // Not a GT Inherited Material - - public final Material PALLADIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Palladium); - public final Material SILVER = MaterialUtils.generateMaterialFromGtENUM(Materials.Silver); - public final Material CADMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Cadmium); - public final Material INDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Indium); - public final Material TIN = MaterialUtils.generateMaterialFromGtENUM(Materials.Tin); - public final Material ANTIMONY = MaterialUtils.generateMaterialFromGtENUM(Materials.Antimony); - public final Material TELLURIUM = new Material( - "Tellurium", - MaterialState.SOLID, - new short[] { 210, 210, 210 }, - 449, - 989, - 52, - 76, - false, - "Te", - 0); // Not a GT Inherited Material - public final Material IODINE = new Material( - "Iodine", - MaterialState.SOLID, - TextureSet.SET_SHINY, - new short[] { 96, 96, 96 }, - 114, - 184, - 53, - 74, - false, - "I", - 0); // Not a GT Inherited Material - public final Material XENON = new Material( - "Xenon", - MaterialState.PURE_GAS, - new short[] { 5, 105, 210 }, - -111, - -108, - 54, - 77, - false, - "Xe", - 0); // Not a GT Inherited Material - public final Material CAESIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Caesium); - public final Material BARIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Barium); - public final Material LANTHANUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Lanthanum); - public final Material CERIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Cerium); - public final Material PRASEODYMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Praseodymium); - public final Material NEODYMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Neodymium); - public final Material PROMETHIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Promethium); - public final Material SAMARIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Samarium); - public final Material EUROPIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Europium); - public final Material GADOLINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Gadolinium); - public final Material TERBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Terbium); - public final Material DYSPROSIUM = new Material( - "Dysprosium", - MaterialState.SOLID, - new short[] { 180, 180, 180 }, - 1412, - 2562, - 66, - 97, - false, - "Dy", - 0); // Not a GT Inherited Material - public final Material HOLMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Holmium); - public final Material ERBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Erbium); - public final Material THULIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Thulium); - public final Material YTTERBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Ytterbium); - public final Material LUTETIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Lutetium); - public final Material HAFNIUM = new Material( - "Hafnium", - MaterialState.SOLID, - new short[] { 128, 128, 128 }, - 2150, - 5400, - 72, - 106, - false, - "Hf", - 0); // Not a GT Inherited Material - - // Second 50 elements - public final Material TANTALUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Tantalum); - public final Material TUNGSTEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Tungsten); - public final Material RHENIUM = new Material( - "Rhenium", - MaterialState.SOLID, - new short[] { 150, 150, 150 }, - 3180, - 3627, - 75, - 111, - false, - "Re", - 0); // Not a GT Inherited Material - public final Material OSMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Osmium); - public final Material IRIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Iridium); - public final Material PLATINUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Platinum); - public final Material GOLD = MaterialUtils.generateMaterialFromGtENUM(Materials.Gold); - public final Material MERCURY = MaterialUtils.generateMaterialFromGtENUM(Materials.Mercury); // Mercury - public final Material THALLIUM = new Material( - "Thallium", - MaterialState.SOLID, - new short[] { 175, 175, 175 }, - 304, - 1457, - 81, - 123, - false, - "Tl", - 0); // Not a GT Inherited Material - public final Material LEAD = MaterialUtils.generateMaterialFromGtENUM(Materials.Lead); - public final Material BISMUTH = MaterialUtils.generateMaterialFromGtENUM(Materials.Bismuth); - public final Material POLONIUM = new Material( - "Polonium", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - new short[] { 180, 170, 180 }, - 254, - 962, - 84, - 125, - false, - "Po", - 1); // Not a GT Inherited Material - - public final Material RADON = MaterialUtils.generateMaterialFromGtENUM(Materials.Radon); - - public final Material RADIUM = new Material( - "Radium", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - new short[] { 165, 165, 165 }, - 700, - 1737, - 88, - 138, - false, - "Ra", - 1); // Not a GT Inherited Material - - public final Material THORIUM = new Material( - "Thorium", - MaterialState.SOLID, - Materials.Thorium.mRGBa, - Materials.Thorium.mMeltingPoint, - Materials.Thorium.mBlastFurnaceTemp, - 90, - 142, - false, - StringUtils.superscript("Th"), - 1); - public final Material PROTACTINIUM = new Material( - "Protactinium", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - new short[] { 190, 150, 170 }, - 1568, - 4027, - 91, - 140, - false, - "Pa", - 1); // Not a GT Inherited Material - public final Material URANIUM238 = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium); - public final Material URANIUM235 = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium235); - public final Material PLUTONIUM241 = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium241); - public final Material CURIUM = new Material( - "Curium", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - new short[] { 175, 85, 110 }, - 1340, - 3110, - 96, - 151, - false, - "Cm", - 3); // Not a GT Inherited Material - - public final Material CALIFORNIUM = new Material( - "Californium", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - new short[] { 85, 110, 205 }, - 899, - 1472, - 98, - 153, - false, - "Cf", - 4); // Not a GT Inherited Material - - public final Material FERMIUM = new Material( - "Fermium", - MaterialState.LIQUID, - TextureSets.NUCLEAR.get(), - new short[] { 75, 90, 25 }, - 1527, - 3850, - 100, - 157, - false, - "Fm", - 5); // Not a GT Inherited Material //Boiling Point is made up - - // Misc - public final Material AER = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedAir, TextureSets.GEM_A.get()); - public final Material IGNIS = MaterialUtils - .generateMaterialFromGtENUM(Materials.InfusedFire, TextureSets.GEM_A.get()); - public final Material TERRA = MaterialUtils - .generateMaterialFromGtENUM(Materials.InfusedEarth, TextureSets.GEM_A.get()); - public final Material AQUA = MaterialUtils - .generateMaterialFromGtENUM(Materials.InfusedWater, TextureSets.GEM_A.get()); - public final Material PERDITIO = MaterialUtils - .generateMaterialFromGtENUM(Materials.InfusedEntropy, TextureSets.GEM_A.get()); - public final Material ORDO = MaterialUtils - .generateMaterialFromGtENUM(Materials.InfusedOrder, TextureSets.GEM_A.get()); - - public final Material NAQUADAH = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadah); - public final Material NAQUADAH_ENRICHED = MaterialUtils.generateMaterialFromGtENUM(Materials.NaquadahEnriched); - public final Material NAQUADRIA = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadria); - public final Material TRINIUM; - public final Material TRINIUM_REFINED; - // https://github.com/Blood-Asp/GT5-Unofficial/issues/609 - - // Custom Isotopes - public final Material LITHIUM7 = new Material( - "Lithium 7", - MaterialState.SOLID, - TextureSet.SET_SHINY, - Materials.Lithium.mRGBa, - Materials.Lithium.mMeltingPoint, - Materials.Lithium.mBlastFurnaceTemp, - Materials.Lithium.getProtons(), - Materials.Lithium.getNeutrons(), - Materials.Lithium.mBlastFurnaceRequired, - StringUtils.superscript("7Li"), - 0, - false); // Not a GT Inherited Material - public final Material URANIUM232 = new Material( - "Uranium 232", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - 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, - TextureSets.NUCLEAR.get(), - 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, - TextureSets.NUCLEAR.get(), - new short[] { 15, 60, 15, 0 }, - Materials.Thorium.mMeltingPoint, - Materials.Thorium.mBlastFurnaceTemp, - 90, - 142, - false, - StringUtils.superscript("232Th"), - 1, - true); // Not a GT Inherited Material - - // RTG Fuels - public final Material PLUTONIUM238 = new Material( - "Plutonium-238", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - 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 - - public final Material MAGIC = MaterialUtils - .generateMaterialFromGtENUM(Materials.Magic, new short[] { 10, 185, 140 }); - public final Material THAUMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Thaumium); - - static { - Logger.MATERIALS("Initialising Base Elements."); - } - - private static final ELEMENT INSTANCE = new ELEMENT(); - - public ELEMENT() { - // GTNH Trinium Handling - TRINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Trinium); - TRINIUM_REFINED = TRINIUM; - } - - public static ELEMENT getInstance() { - return INSTANCE; - } - - public static class STANDALONE { - - public static final Material CELESTIAL_TUNGSTEN = new Material( - "Celestial Tungsten", - MaterialState.SOLID, - TextureSets.REFINED.get(), - new short[] { 50, 50, 50, 2 }, - INSTANCE.TUNGSTEN.getMeltingPointC() + 6500, - INSTANCE.TUNGSTEN.getBoilingPointC() + 7500, - 160, - 101, - true, - "✦◆✦", - 0); // Not a GT Inherited Material - public static final Material ASTRAL_TITANIUM = new Material( - "Astral Titanium", - MaterialState.SOLID, - TextureSets.REFINED.get(), - new short[] { 220, 160, 240, 2 }, - INSTANCE.TITANIUM.getMeltingPointC() + 7500, - INSTANCE.TITANIUM.getBoilingPointC() + 7500, - 145, - 133, - true, - "✧◇✧", - 0); // Not a GT Inherited Material - public static final Material CHRONOMATIC_GLASS = new Material( - "Chromatic Glass", - MaterialState.SOLID, - new short[] { 255, 255, 255, 3 }, - 9200, - 17550, - 40, - 51, - false, - "⌘☯𓍰 𓍱 𓍲 𓍳 𓍴 𓍵 𓍶 𓍷 𓍸 ☯⌘ ", - 0); // Not a GT Inherited Material - public static final Material ADVANCED_NITINOL = new Material( - "Advanced Nitinol", - MaterialState.SOLID, - TextureSets.ENRICHED.get(), - ALLOY.NITINOL_60.getRGB(), - 8400, - 14377, - 40, - 51, - true, - StringUtils.subscript("⚷⚙⚷ Ni4Ti6"), - 0); // Not a GT Inherited Material - public static final Material HYPOGEN = new Material( - "Hypogen", - MaterialState.SOLID, - TextureSets.NUCLEAR.get(), - new short[] { 220, 120, 75, 2 }, - 11255, - 19377, - 240, - 251, - true, - "Hy⚶", - 0); // Not a GT Inherited Material - public static final Material RHUGNOR = new Material( - "Rhugnor", - MaterialState.SOLID, - TextureSets.ENRICHED.get(), - new short[] { 190, 0, 255, 0 }, - 8750, - 14757, - 184, - 142, - true, - "Fs⚶", - 0); // Not a GT Inherited Material //funeris - public static final Material FORCE = new Material( - "Force", - MaterialState.SOLID, - TextureSets.ENRICHED.get(), - new short[] { 250, 250, 20, 0 }, - 4550, - 6830, - 63, - 81, - true, - "Fc⚙", - 0); // Not a GT Inherited Material - - // Runescape materials - public static final Material BLACK_METAL = new Material( - "Black Metal", - MaterialState.SOLID, - TextureSet.SET_METALLIC, - new short[] { 5, 5, 5 }, - 2350, - 4650, - 24, - 17, - false, - "҈", - 0, - new MaterialStack[] { new MaterialStack(getInstance().LEAD, 15), - new MaterialStack(getInstance().MANGANESE, 25), new MaterialStack(getInstance().CARBON, 60) }); // Not - // a - // GT - // Inherited - // Material - public static final Material WHITE_METAL = new Material( - "White Metal", - MaterialState.SOLID, - TextureSet.SET_METALLIC, - new short[] { 255, 255, 255 }, - 4560, - 7580, - 35, - 41, - false, - "҉", - 0, - new MaterialStack[] { new MaterialStack(getInstance().COPPER, 5), - new MaterialStack(getInstance().ANTIMONY, 10), new MaterialStack(getInstance().PLATINUM, 10), - new MaterialStack(getInstance().TIN, 75) }); // Not a GT Inherited Material - - public static final Material GRANITE = new Material( - "Ancient Granite", - MaterialState.SOLID, - TextureSet.SET_SAND, - new short[] { 107, 107, 107 }, - 500, - 2000, - 16, - 12, - false, - "«»", - 0, - false, - new MaterialStack[] { new MaterialStack(getInstance().OXYGEN, 16), - new MaterialStack(getInstance().IRON, 10), new MaterialStack(getInstance().SILICONDIOXIDE, 10), - new MaterialStack(getInstance().ALUMINIUMOXIDE, 6), new MaterialStack(getInstance().POTASSIUM, 6), - new MaterialStack(getInstance().CALCIUM, 4), new MaterialStack(getInstance().SODIUM, 4), - new MaterialStack(getInstance().YTTERBIUM, 2) }); // Not - // a - // GT - // Inherited - // Material - - public static final Material RUNITE = new Material( - "Runite", - MaterialState.SOLID, - TextureSet.SET_FINE, - new short[] { 60, 200, 190 }, - 6750, - 11550, - 73, - 87, - true, - "Rt*", - 0); // Not a GT Inherited Material - public static final Material DRAGON_METAL = new Material( - "Dragonblood", - MaterialState.SOLID, - TextureSet.SET_SHINY, - new short[] { 220, 40, 20, 2 }, - 10160, - 17850, - 96, - 105, - true, - "۞", - 0); // Not a GT Inherited Material - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/MISC_MATERIALS.java b/gtpp/src/main/java/gtPlusPlus/core/material/MISC_MATERIALS.java deleted file mode 100644 index c46b05fbb8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/MISC_MATERIALS.java +++ /dev/null @@ -1,592 +0,0 @@ -package gtPlusPlus.core.material; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.TextureSet; -import gtPlusPlus.core.client.CustomTextureSet.TextureSets; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public final class MISC_MATERIALS { - - /* - * Some of these materials purely exist as data objects, items will most likely be assigned separately. Most are - * just compositions which will have dusts assigned to them. - */ - - public static void run() { - MaterialUtils.generateSpecialDustAndAssignToAMaterial(POTASSIUM_NITRATE, false); - MaterialUtils.generateSpecialDustAndAssignToAMaterial(SODIUM_NITRATE, false); - MaterialUtils.generateSpecialDustAndAssignToAMaterial(STRONTIUM_OXIDE, false); - MaterialUtils.generateSpecialDustAndAssignToAMaterial(STRONTIUM_HYDROXIDE, false); - MaterialUtils.generateSpecialDustAndAssignToAMaterial(CYANOACETIC_ACID, false); - MaterialUtils.generateSpecialDustAndAssignToAMaterial(SODIUM_CYANIDE, false); - MaterialUtils.generateSpecialDustAndAssignToAMaterial(CALCIUM_CHLORIDE, false); - MaterialUtils.generateSpecialDustAndAssignToAMaterial(COPPER_SULFATE, false); - MaterialUtils.generateSpecialDustAndAssignToAMaterial(COPPER_SULFATE_HYDRATED, false); - WATER.registerComponentForMaterial(FluidUtils.getWater(1000)); - } - - public static final Material POTASSIUM_NITRATE = new Material( - "Potassium Nitrate", - MaterialState.SOLID, // State - null, - null, - -1, - -1, - -1, - -1, - false, - "KNO3", - 0, - false, - new MaterialStack(ELEMENT.getInstance().POTASSIUM, 1), - new MaterialStack(ELEMENT.getInstance().NITROGEN, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 3)); - public static final Material SODIUM_NITRATE = new Material( - "Sodium Nitrate", - MaterialState.SOLID, // State - null, - null, - -1, - -1, - -1, - -1, - false, - "NaNO3", - 0, - false, - new MaterialStack(ELEMENT.getInstance().SODIUM, 1), - new MaterialStack(ELEMENT.getInstance().NITROGEN, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 3)); - - public static final Material SOLAR_SALT_COLD = new Material( - "Solar Salt (Cold)", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(POTASSIUM_NITRATE, 4), - new MaterialStack(SODIUM_NITRATE, 6)); - - public static final Material SOLAR_SALT_HOT = new Material( - "Solar Salt (Hot)", - MaterialState.PURE_LIQUID, // State - new short[] { 200, 25, 25 }, // Material Colour - 1200, // Melting Point in C - 3300, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(POTASSIUM_NITRATE, 4), - new MaterialStack(SODIUM_NITRATE, 6)); - - public static final Material STRONTIUM_OXIDE = new Material( - "Strontium Oxide", - MaterialState.SOLID, - TextureSet.SET_METALLIC, - null, - -1, - -1, - -1, - -1, - false, - "SrO", - 0, - false, - new MaterialStack(ELEMENT.getInstance().STRONTIUM, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 1)); - - public static final Material SELENIUM_DIOXIDE = new Material( - "Selenium Dioxide", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(ELEMENT.getInstance().SELENIUM, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 2)); - - public static final Material SELENIOUS_ACID = new Material( - "Selenious Acid", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(SELENIUM_DIOXIDE, 1), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 8), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 4)); - - public static final Material HYDROGEN_CYANIDE = new Material( - "Hydrogen Cyanide", - MaterialState.PURE_GAS, // State - null, // Material Colour - 4, // Melting Point in C - 26, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 1), - new MaterialStack(ELEMENT.getInstance().CARBON, 1), - new MaterialStack(ELEMENT.getInstance().NITROGEN, 1)); - - public static final Material CARBON_MONOXIDE = new Material( - "Carbon Monoxide", - MaterialState.PURE_GAS, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(ELEMENT.getInstance().CARBON, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 1)); - - public static final Material CARBON_DIOXIDE = new Material( - "Carbon Dioxide", - MaterialState.PURE_GAS, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(ELEMENT.getInstance().CARBON, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 2)); - - public static final Material WOODS_GLASS = new Material( - "Wood's Glass", // Material Name - MaterialState.SOLID, // State - TextureSets.GEM_A.get(), // Texture Set - new short[] { 220, 60, 255 }, // Material Colour - -1, - -1, - -1, - -1, - false, - "Si4Ba3Na2Ni", - 0, - false, - new MaterialStack(ELEMENT.getInstance().SILICON, 40), - new MaterialStack(ELEMENT.getInstance().BARIUM, 30), - new MaterialStack(ELEMENT.getInstance().SODIUM, 20), - new MaterialStack(ELEMENT.getInstance().NICKEL, 10)); - - /* - * Rare Earth Materials - */ - - public static final Material RARE_EARTH_LOW = new Material( - "Rare Earth (I)", // Material Name - MaterialState.ORE, // State - TextureSets.GEM_A.get(), // Texture Set - null, // Material Colour - 1200, - 2500, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ORES.GREENOCKITE, 1), new MaterialStack(ORES.LANTHANITE_CE, 1), - new MaterialStack(ORES.AGARDITE_CD, 1), new MaterialStack(ORES.YTTRIALITE, 1), - new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.NetherQuartz), 1), - new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.Galena), 1), - new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.Chalcopyrite), 1), - new MaterialStack(ORES.CRYOLITE, 1), new MaterialStack(ELEMENT.getInstance().YTTRIUM, 1) }); - - public static final Material RARE_EARTH_MID = new Material( - "Rare Earth (II)", // Material Name - MaterialState.ORE, // State - TextureSets.ENRICHED.get(), // Texture Set - null, // Material Colour - 3500, - 5000, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ORES.LANTHANITE_ND, 1), new MaterialStack(ORES.AGARDITE_ND, 1), - new MaterialStack(ORES.YTTRIAITE, 1), new MaterialStack(ORES.CROCROITE, 1), - new MaterialStack(ORES.NICHROMITE, 1), new MaterialStack(ORES.ZIRCON, 1), - new MaterialStack(ELEMENT.STANDALONE.GRANITE, 1), new MaterialStack(ELEMENT.STANDALONE.BLACK_METAL, 1), - new MaterialStack(ELEMENT.STANDALONE.RUNITE, 1) }); - - public static final Material RARE_EARTH_HIGH = new Material( - "Rare Earth (III)", // Material Name - MaterialState.ORE, // State - TextureSets.REFINED.get(), // Texture Set - null, // Material Colour - 5200, - 7500, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ORES.GADOLINITE_Y, 1), new MaterialStack(ORES.LEPERSONNITE, 1), - new MaterialStack(ORES.FLORENCITE, 1), new MaterialStack(ORES.FLUORCAPHITE, 1), - new MaterialStack(ORES.LAUTARITE, 1), new MaterialStack(ORES.DEMICHELEITE_BR, 1), - new MaterialStack(ORES.ALBURNITE, 1), new MaterialStack(ORES.SAMARSKITE_Y, 1), - new MaterialStack(ORES.AGARDITE_LA, 1), }); - - public static final Material WATER = new Material( - "Water", - MaterialState.PURE_LIQUID, - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 1)); - - // OH - public static final Material HYDROXIDE = new Material( - "Hydroxide", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(ELEMENT.getInstance().OXYGEN, 1), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 1)); - - // NH3 - public static final Material AMMONIA = new Material( - "Ammonia", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -77, // Melting Point in C - -33, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(ELEMENT.getInstance().NITROGEN, 1), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 3)); - - // NH4 - public static final Material AMMONIUM = new Material( - "Ammonium", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(ELEMENT.getInstance().NITROGEN, 1), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 4)); - - public static final Material HYDROGEN_CHLORIDE = new Material( - "Hydrogen Chloride", - MaterialState.PURE_GAS, - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 1), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 1)); - - public static final Material HYDROGEN_CHLORIDE_MIX = new Material( - "Hydrogen Chloride Mix", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 1), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 1)); - - public static final Material SODIUM_CHLORIDE = new Material( - "Sodium Chloride", - MaterialState.PURE_GAS, - new MaterialStack(ELEMENT.getInstance().SODIUM, 1), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 1)); - - public static final Material SALT_WATER = new Material( - "Salt Water", - MaterialState.PURE_LIQUID, - new MaterialStack(WATER, 3), - new MaterialStack(SODIUM_CHLORIDE, 1)); - - public static final Material BRINE = new Material( - "Brine", - MaterialState.PURE_LIQUID, - new MaterialStack(SALT_WATER, 1), - new MaterialStack(SODIUM_CHLORIDE, 2)); - - public static final Material STRONTIUM_HYDROXIDE = new Material( - "Strontium Hydroxide", - MaterialState.SOLID, - TextureSet.SET_METALLIC, - null, - -1, - -1, - -1, - -1, - false, - "Sr(OH)2", - 0, - false, - new MaterialStack(ELEMENT.getInstance().STRONTIUM, 1), - new MaterialStack(MISC_MATERIALS.HYDROXIDE, 2)); - - // Glue Chemicals - - public static final Material ACETIC_ANHYDRIDE = new Material( - "Acetic Anhydride", - MaterialState.PURE_LIQUID, // State - new short[] { 250, 240, 110 }, // Material Colour - -73, // Melting Point in C - 139, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "(CH3CO)2O", - 0, - true, - new MaterialStack(ELEMENT.getInstance().CARBON, 4), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 6), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 3)); - - public static final Material CHLOROACETIC_ACID = new Material( - "Chloroacetic Acid", - MaterialState.PURE_LIQUID, // State - new short[] { 230, 200, 90 }, // Material Colour - 63, // Melting Point in C - 189, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "ClCH2-COOH", - 0, - true, - new MaterialStack(ELEMENT.getInstance().CARBON, 2), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 3), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 2), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 1)); - - public static final Material DICHLOROACETIC_ACID = new Material( - "Dichloroacetic Acid", - MaterialState.PURE_LIQUID, // State - new short[] { 190, 160, 60 }, // Material Colour - 13, // Melting Point in C - 194, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "Cl2CH-COOH", - 0, - true, - new MaterialStack(ELEMENT.getInstance().CARBON, 2), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 2), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 2)); - - public static final Material TRICHLOROACETIC_ACID = new Material( - "Trichloroacetic Acid", - MaterialState.PURE_LIQUID, // State - new short[] { 120, 100, 30 }, // Material Colour - 57, // Melting Point in C - 196, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "Cl3C-COOH", - 0, - true, - new MaterialStack(ELEMENT.getInstance().CARBON, 2), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 2), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 3)); - - public static final Material CHLOROACETIC_MIXTURE = new Material( - "Chloroacetic Mixture", - MaterialState.LIQUID, // State - null, - new short[] { 210, 160, 10 }, - 40, - 192, - -1, - -1, - false, - "Cl?H?C-COOH", - 0, - true, - new MaterialStack(ELEMENT.getInstance().CARBON, 6), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 6), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 6), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 6)); - - public static final Material SODIUM_CYANIDE = new Material( - "Sodium Cyanide", - MaterialState.SOLID, // State - new short[] { 180, 190, 255 }, // Material Colour - 563, // Melting Point in C - 1496, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "NaCN", - 0, - false, - new MaterialStack(ELEMENT.getInstance().SODIUM, 1), - new MaterialStack(ELEMENT.getInstance().CARBON, 1), - new MaterialStack(ELEMENT.getInstance().NITROGEN, 1)); - - public static final Material CALCIUM_CHLORIDE = new Material( - "Calcium Chloride", - MaterialState.SOLID, // State - new short[] { 180, 190, 255 }, // Material Colour - 563, // Melting Point in C - 1496, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "CaCl2", - 0, - false, - new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 2)); - - public static final Material CYANOACETIC_ACID = new Material( - "Cyanoacetic Acid", - MaterialState.SOLID, // State - new short[] { 130, 130, 40 }, // Material Colour - 66, // Melting Point in C - 108, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "C3H3NO2", - 0, - false, - new MaterialStack(ELEMENT.getInstance().CARBON, 3), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 3), - new MaterialStack(ELEMENT.getInstance().NITROGEN, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 2)); - - public static final Material SOLID_ACID_MIXTURE = new Material( - "Solid Acid Catalyst Mixture", - MaterialState.LIQUID, // State - new short[] { 80, 40, 0 }, // Material Colour - -10, // Melting Point in C - 337, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "?H2SO4?", - 0, - true, - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 2), - new MaterialStack(ELEMENT.getInstance().SULFUR, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 4)); - - public static final Material COPPER_SULFATE = new Material( - "Copper(II) Sulfate", - MaterialState.SOLID, // State - new short[] { 200, 200, 200 }, // Material Colour - 590, // Melting Point in C - 650, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "CuSO4", - 0, - false, - new MaterialStack(ELEMENT.getInstance().COPPER, 1), - new MaterialStack(ELEMENT.getInstance().SULFUR, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 4)); - - public static final Material COPPER_SULFATE_HYDRATED = new Material( - "Copper(II) Sulfate Pentahydrate", - MaterialState.SOLID, // State - new short[] { 90, 170, 255 }, // Material Colour - 590, // Melting Point in C - 650, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "CuSO4∙(H2O)5", - 0, - false, - new MaterialStack(ELEMENT.getInstance().COPPER, 1), - new MaterialStack(ELEMENT.getInstance().SULFUR, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 4)); - - public static final Material ETHYL_CYANOACETATE = new Material( - "Ethyl Cyanoacetate", - MaterialState.PURE_LIQUID, // State - new short[] { 0, 75, 160 }, // Material Colour - -22, // Melting Point in C - 210, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "C5H7NO2", - 0, - true, - new MaterialStack(ELEMENT.getInstance().CARBON, 2), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 2), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 3)); - - public static final Material CYANOACRYLATE_POLYMER = new Material( - "Cyanoacrylate Polymer", - MaterialState.LIQUID, // State - new short[] { 140, 150, 160 }, // Material Colour - -25, // Melting Point in C - 55, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "(-C6H7NO2-)n", - 0, - true, - new MaterialStack(ELEMENT.getInstance().CARBON, 2), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 2), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 3)); - - public static final Material ETHYL_CYANOACRYLATE = new Material( - "Ethyl Cyanoacrylate (Super Glue)", - MaterialState.PURE_LIQUID, // State - new short[] { 170, 190, 200 }, // Material Colour - -25, // Melting Point in C - 55, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "C6H7NO2", - 0, - true, - new MaterialStack(ELEMENT.getInstance().CARBON, 2), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 2), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 3)); - - public static final Material MUTATED_LIVING_SOLDER = new Material( - "Mutated Living Solder", - MaterialState.PURE_LIQUID, // State - new short[] { 147, 109, 155 }, // Material Colour - -200, // Melting Point in C - 500, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - "?Sn?Bi?", - 0, - true, - new MaterialStack(ELEMENT.getInstance().TIN, 1), - new MaterialStack(ELEMENT.getInstance().BISMUTH, 1)); -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/Material.java b/gtpp/src/main/java/gtPlusPlus/core/material/Material.java deleted file mode 100644 index fec80060ac..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/Material.java +++ /dev/null @@ -1,1725 +0,0 @@ -package gtPlusPlus.core.material; - -import static gregtech.api.enums.GT_Values.M; -import static gregtech.api.enums.Mods.TinkerConstruct; -import static gtPlusPlus.core.util.math.MathUtils.safeCast_LongToInt; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TextureSet; -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.item.base.BaseItemComponent.ComponentTypes; -import gtPlusPlus.core.item.base.cell.BaseItemCell; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.data.StringUtils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.xmod.tinkers.material.BaseTinkersMaterial; - -public class Material { - - public static final Set mMaterialMap = new HashSet<>(); - public static HashMap mMaterialCache = new HashMap<>(); - - public static final Map> mComponentMap = new HashMap<>(); - - public static HashMap sChemicalFormula = new HashMap<>(); - - private String unlocalizedName; - private String localizedName; - private String translatedName; - - private MaterialState materialState; - private TextureSet textureSet; - - private Fluid mFluid; - private Fluid mPlasma; - - private boolean vGenerateCells; - - protected Object dataVar = MathUtils.generateSingularRandomHexValue(); - - private ArrayList vMaterialInput = new ArrayList<>(); - public long[] vSmallestRatio; - public short vComponentCount; - - private short[] RGBA; - - private boolean usesBlastFurnace; - public boolean isRadioactive; - public byte vRadiationLevel; - - private int meltingPointK; - private int boilingPointK; - private int meltingPointC; - private int boilingPointC; - private long vProtons; - private long vNeutrons; - private long vMass; - public int smallestStackSizeWhenProcessing; // Add a check for <=0 || > 64 - public int vTier; - public int vVoltageMultiplier; - public String vChemicalFormula; - public String vChemicalSymbol; - - public long vDurability; - public int vToolQuality; - public int vHarvestLevel; - - public BaseTinkersMaterial vTiConHandler; - - public short werkstoffID; - - public static AutoMap invalidMaterials = new AutoMap<>(); - - public Material(final String materialName, final MaterialState defaultState, final MaterialStack... inputs) { - this(materialName, defaultState, null, inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final short[] rgba, - final MaterialStack... inputs) { - this(materialName, defaultState, null, 0, rgba, -1, -1, -1, -1, false, "", 0, false, false, inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final short[] rgba, int radiationLevel, - MaterialStack... materialStacks) { - this( - materialName, - defaultState, - null, - 0, - rgba, - -1, - -1, - -1, - -1, - false, - "", - radiationLevel, - false, - materialStacks); - } - - public Material(String materialName, MaterialState defaultState, short[] rgba, int j, int k, int l, int m, - int radiationLevel, MaterialStack[] materialStacks) { - this(materialName, defaultState, null, 0, rgba, j, k, l, m, false, "", radiationLevel, false, materialStacks); - } - - public Material(String materialName, MaterialState defaultState, final TextureSet set, short[] rgba, - int meltingPoint, int boilingPoint, int protons, int neutrons, int radiationLevel, - MaterialStack[] materialStacks) { - this( - materialName, - defaultState, - set, - 0, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - false, - "", - radiationLevel, - false, - materialStacks); - } - - public Material(final String materialName, final MaterialState defaultState, final short[] rgba, - final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, final MaterialStack... inputs) { - this( - materialName, - defaultState, - 0, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - "", - 0, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final short[] rgba, - final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, final String chemSymbol, final MaterialStack... inputs) { - this( - materialName, - defaultState, - 0, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - chemSymbol, - 0, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final short[] rgba, - final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, boolean generateCells, final MaterialStack... inputs) { - this( - materialName, - defaultState, - null, - 0, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - "", - 0, - generateCells, - true, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final short[] rgba, - final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, final int radiationLevel, final MaterialStack... inputs) { - this( - materialName, - defaultState, - 0, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - "", - radiationLevel, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final long durability, - final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, final int radiationLevel, final MaterialStack... inputs) { - this( - materialName, - defaultState, - durability, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - "", - radiationLevel, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final short[] rgba, - final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, - final MaterialStack... inputs) { - this( - materialName, - defaultState, - 0, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - chemicalSymbol, - radiationLevel, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final short[] rgba, - final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean addCells, - final MaterialStack... inputs) { - this( - materialName, - defaultState, - null, - 0, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - chemicalSymbol, - radiationLevel, - addCells, - true, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, TextureSet textureSet, - final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, - final MaterialStack... inputs) { - this( - materialName, - defaultState, - textureSet, - 0, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - chemicalSymbol, - radiationLevel, - true, - true, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, TextureSet textureSet, - final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean addCells, - final MaterialStack... inputs) { - this( - materialName, - defaultState, - textureSet, - 0, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - chemicalSymbol, - radiationLevel, - addCells, - true, - inputs); - } - - private Material(final String materialName, final MaterialState defaultState, final long durability, - final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, - final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, - final MaterialStack... inputs) { - this( - materialName, - defaultState, - null, - durability, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - chemicalSymbol, - radiationLevel, - true, - true, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final TextureSet set, - final long durability, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, - final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, - boolean generateCells, final MaterialStack... inputs) { - this( - materialName, - defaultState, - set, - durability, - rgba, - meltingPoint, - boilingPoint, - protons, - neutrons, - blastFurnace, - chemicalSymbol, - radiationLevel, - true, - true, - inputs); - } - - public Material(final String materialName, final MaterialState defaultState, final TextureSet set, - final long durability, short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, - final long neutrons, final boolean blastFurnace, String chemicalSymbol, final int radiationLevel, - boolean generateCells, boolean generateFluid, final MaterialStack... inputs) { - - if (mMaterialMap.add(this)) {} - - if (defaultState == MaterialState.ORE) { - rgba = null; - } - - mComponentMap.put(unlocalizedName, new HashMap<>()); - - try { - this.unlocalizedName = Utils.sanitizeString(materialName); - this.localizedName = materialName; - this.translatedName = GT_LanguageManager - .addStringLocalization("gtplusplus.material." + unlocalizedName, localizedName); - mMaterialCache.put(getLocalizedName().toLowerCase(), this); - Logger.INFO("Stored " + getLocalizedName() + " to cache with key: " + getLocalizedName().toLowerCase()); - - this.materialState = defaultState; - - Logger.MATERIALS(this.getLocalizedName() + " is " + defaultState.name() + "."); - - this.vGenerateCells = generateCells; - - // Add Components to an array. - if (inputs == null) { - this.vMaterialInput = null; - } else { - if (inputs.length != 0) { - for (int i = 0; i < inputs.length; i++) { - if (inputs[i] != null) { - this.vMaterialInput.add(i, inputs[i]); - } - } - } - } - - // set RGB - - if (rgba == null) { - if (vMaterialInput.size() > 0) { - - try { - Short[] mMixedRGB = new Short[3]; - AutoMap mMaterialSet = MaterialUtils.getCompoundMaterialsRecursively(this); - for (int mnh = 0; mnh < 3; mnh++) { - AutoMap aDataSet = new AutoMap<>(); - Set set4 = new HashSet<>(); - for (Material u : mMaterialSet) { - // if (u.getState() == MaterialState.ORE || u.getState() == MaterialState.SOLID) - set4.add(u); - } - for (Material e : set4) { - aDataSet.put(e.getRGB()[mnh]); - } - - Short aAverage = MathUtils.getShortAverage(aDataSet); - if (aAverage > Short.MAX_VALUE || aAverage < Short.MIN_VALUE - || aAverage < 0 - || aAverage > 255) { - if (aAverage > 255) { - while (aAverage > 255) { - aAverage = (short) (aAverage / 2); - } - } - aAverage = (short) Math.max(Math.min(aAverage, 255), 0); - } - mMixedRGB[mnh] = aAverage; - } - - if (mMixedRGB != null && mMixedRGB[0] != null && mMixedRGB[1] != null && mMixedRGB[2] != null) { - this.RGBA = new short[] { mMixedRGB[0], mMixedRGB[1], mMixedRGB[2], 0 }; - } else { - this.RGBA = Materials.Steel.mRGBa; - } - } catch (Throwable t) { - t.printStackTrace(); - this.RGBA = Materials.Steel.mRGBa; - } - } else { - // Boring Grey Material - - int aValueForGen = this.getUnlocalizedName() - .hashCode(); - int hashSize = MathUtils.howManyPlaces(aValueForGen); - - String a = String.valueOf(aValueForGen); - String b = ""; - - if (hashSize < 9) { - int aSecondHash = this.materialState.hashCode(); - int hashSize2 = MathUtils.howManyPlaces(aSecondHash); - if (hashSize2 + hashSize >= 9) { - b = String.valueOf(aValueForGen); - } else { - String c = b; - while (MathUtils.howManyPlaces(hashSize + c.length()) < 9) { - c = c + c.hashCode(); - } - b = c; - } - } - - String valueR; - if (b != null) { - valueR = a + b; - } else { - valueR = a; - } - short fc[] = new short[3]; - int aIndex = 0; - for (char gg : valueR.toCharArray()) { - short ui = Short.parseShort("" + gg); - if (ui > 255 || ui < 0) { - if (ui > 255) { - while (ui > 255) { - ui = (short) (ui / 2); - } - } else { - ui = 0; - } - } - fc[aIndex++] = ui; - } - this.RGBA = fc; - } - } else { - this.RGBA = rgba; - } - - // Set Melting/Boiling point, if value is -1 calculate it from compound inputs. - if (meltingPoint != -1) { - this.meltingPointC = meltingPoint; - } else { - this.meltingPointC = this.calculateMeltingPoint(); - } - if (boilingPoint != -1) { - if (boilingPoint != 0) { - this.boilingPointC = boilingPoint; - } else { - this.boilingPointC = meltingPoint * 4; - } - } else { - this.boilingPointC = this.calculateBoilingPoint(); - } - - this.meltingPointK = (int) MathUtils.celsiusToKelvin(this.meltingPointC); - this.boilingPointK = (int) MathUtils.celsiusToKelvin(this.boilingPointC); - - // Set Proton/Neutron count, if value is -1 calculate it from compound inputs. - if (protons != -1) { - this.vProtons = protons; - } else { - this.vProtons = this.calculateProtons(); - } - if (boilingPoint != -1) { - this.vNeutrons = neutrons; - } else { - this.vNeutrons = this.calculateNeutrons(); - } - - this.vMass = this.getMass(); - - // Sets tool Durability - if (durability != 0) { - this.vDurability = durability; - } else { - long aTempDura = 0; - for (MaterialStack g : this.getComposites()) { - if (g != null) { - aTempDura += safeCast_LongToInt( - g.getStackMaterial() - .getMass() * 2000); - } - } - this.vDurability = aTempDura > 0 ? aTempDura - : (this.getComposites() - .isEmpty() ? 51200 - : 32000 * this.getComposites() - .size()); - } - - if ((this.vDurability >= 0) && (this.vDurability < 64000)) { - this.vToolQuality = 1; - this.vHarvestLevel = 2; - } else if ((this.vDurability >= 64000) && (this.vDurability < 128000)) { - this.vToolQuality = 2; - this.vHarvestLevel = 2; - } else if ((this.vDurability >= 128000) && (this.vDurability < 256000)) { - this.vToolQuality = 3; - this.vHarvestLevel = 2; - } else if ((this.vDurability >= 256000) && (this.vDurability < 512000)) { - this.vToolQuality = 3; - this.vHarvestLevel = 3; - } else if ((this.vDurability >= 512000) && (this.vDurability <= Integer.MAX_VALUE)) { - this.vToolQuality = 4; - this.vHarvestLevel = 4; - } else { - this.vToolQuality = 1; - this.vHarvestLevel = 1; - } - - // Sets the Rad level - if (radiationLevel > 0) { - Logger.MATERIALS(this.getLocalizedName() + " is radioactive. Level: " + radiationLevel + "."); - this.isRadioactive = true; - this.vRadiationLevel = (byte) radiationLevel; - } else { - if (vMaterialInput.size() > 0) { - AutoMap aDataSet = new AutoMap<>(); - for (MaterialStack m : this.vMaterialInput) { - aDataSet.put(m.getStackMaterial().vRadiationLevel); - } - byte aAverage = MathUtils.getByteAverage(aDataSet); - if (aAverage > 0) { - Logger.MATERIALS( - this.getLocalizedName() + " is radioactive due to trace elements. Level: " - + aAverage - + "."); - this.isRadioactive = true; - this.vRadiationLevel = aAverage; - } else { - Logger.MATERIALS(this.getLocalizedName() + " is not radioactive."); - this.isRadioactive = false; - this.vRadiationLevel = 0; - } - } else { - Logger.MATERIALS(this.getLocalizedName() + " is not radioactive."); - this.isRadioactive = false; - this.vRadiationLevel = 0; - } - } - - /* - * if (vMaterialInput.size() > 0) { AutoMap aDataSet = new AutoMap(); int bonus = 0; bonus - * += this.vMaterialInput.size(); bonus += MathUtils.roundToClosestInt(meltingPointC/1000); - * aDataSet.put(bonus); for (MaterialStack m : this.vMaterialInput) { - * aDataSet.put(m.getStackMaterial().vTier); } int aAverage = MathUtils.getIntAverage(aDataSet); if - * (aAverage > Integer.MAX_VALUE || aAverage < Integer.MIN_VALUE) { aAverage = 0; } if (aAverage > 0) { - * this.vTier = Math.min(aAverage, 10); } else { this.vTier = MaterialUtils.getTierOfMaterial((int) - * MathUtils.celsiusToKelvin(meltingPoint)); } } else { this.vTier = MaterialUtils.getTierOfMaterial((int) - * MathUtils.celsiusToKelvin(meltingPoint)); } - */ - this.vTier = MaterialUtils.getTierOfMaterial(meltingPoint); - - // Sets the materials 'tier'. Will probably replace this logic. - - this.usesBlastFurnace = blastFurnace; - this.vVoltageMultiplier = MaterialUtils.getVoltageForTier(vTier); - - this.vComponentCount = this.getComponentCount(inputs); - this.vSmallestRatio = this.getSmallestRatio(this.vMaterialInput); - int tempSmallestSize = 0; - - if (this.vSmallestRatio != null) { - for (long l : this.vSmallestRatio) { - tempSmallestSize = (int) (tempSmallestSize + l); - } - this.smallestStackSizeWhenProcessing = tempSmallestSize; // Valid stacksizes - } else { - this.smallestStackSizeWhenProcessing = 1; // Valid stacksizes - } - - // Makes a Fancy Chemical Tooltip - - if (chemicalSymbol == null) { - chemicalSymbol = ""; - } - - this.vChemicalSymbol = chemicalSymbol; - if (this.vMaterialInput != null) { - this.vChemicalFormula = this.getToolTip(chemicalSymbol, OrePrefixes.dust.mMaterialAmount / M, true); - } else if (!this.vChemicalSymbol.equals("")) { - Logger.MATERIALS("materialInput is null, using a valid chemical symbol."); - this.vChemicalFormula = this.vChemicalSymbol; - } else { - Logger.MATERIALS("MaterialInput == null && chemicalSymbol probably equals nothing"); - this.vChemicalSymbol = "??"; - this.vChemicalFormula = "??"; - } - - if (generateFluid) { - final Materials aGregtechMaterial = tryFindGregtechMaterialEquivalent(); - FluidStack aTest = FluidUtils.getWildcardFluidStack(localizedName, 1); - if (aTest != null) { - this.mFluid = aTest.getFluid(); - checkForCellAndGenerate(this); - } else { - if (aGregtechMaterial != null && !MaterialUtils.isNullGregtechMaterial(aGregtechMaterial)) { - aTest = FluidUtils.getWildcardFluidStack(aGregtechMaterial, 1); - } - if (aTest != null) { - this.mFluid = aTest.getFluid(); - checkForCellAndGenerate(this); - } else { - mFluid = generateFluid(); - } - } - // Don't generate plasma for composites - if (this.getComposites() - .isEmpty()) { - this.mPlasma = this.generatePlasma(); - } - } else { - this.mFluid = null; - this.mPlasma = null; - } - String ratio = ""; - if (this.vSmallestRatio != null) { - for (long l : this.vSmallestRatio) { - if (ratio.equals("")) { - ratio = String.valueOf(l); - } else { - ratio = ratio + ":" + l; - } - } - } - - this.textureSet = setTextureSet(set, vTier); - - if (TinkerConstruct.isModLoaded() && this.materialState == MaterialState.SOLID) { - if (this.getProtons() >= 98 || this.getComposites() - .size() > 1 || this.getMeltingPointC() >= 3600) { - this.vTiConHandler = new BaseTinkersMaterial(this); - } - } - - sChemicalFormula.put(materialName.toLowerCase(), this.vChemicalFormula); - Logger.MATERIALS("Creating a Material instance for " + materialName); - Logger.MATERIALS( - "Formula: " + this.vChemicalFormula - + " Smallest Stack: " - + this.smallestStackSizeWhenProcessing - + " Smallest Ratio:" - + ratio); - Logger.MATERIALS("Protons: " + this.vProtons); - Logger.MATERIALS("Neutrons: " + this.vNeutrons); - Logger.MATERIALS("Mass: " + this.vMass + "/units"); - Logger.MATERIALS("Melting Point: " + this.meltingPointC + "C."); - Logger.MATERIALS("Boiling Point: " + this.boilingPointC + "C."); - } catch (Throwable t) { - Logger.MATERIALS("Stack Trace for " + materialName); - t.printStackTrace(); - } - } - - private static void checkForCellAndGenerate(Material material) { - if (!material.vGenerateCells) { - return; - } - String aName = Utils.sanitizeString(material.unlocalizedName); - String aName2 = Utils.sanitizeString(material.unlocalizedName.toLowerCase()); - String aName3 = (material.localizedName == null) ? aName : material.localizedName; - ItemStack aTestCell1 = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + aName, 1); - ItemStack aTestCell2 = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + aName2, 1); - ItemStack aTestCell3 = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + aName3, 1); - if (aTestCell1 == null && aTestCell2 == null && aTestCell3 == null) { - Logger.INFO("Generating cell for " + material.localizedName); - new BaseItemCell(material); - } else { - if (aTestCell1 != null) { - Logger.INFO("Registering existing cell for " + material.localizedName + ", " + aName); - material.registerComponentForMaterial(OrePrefixes.cell, aTestCell1); - } else if (aTestCell2 != null) { - Logger.INFO("Registering existing cell for " + material.localizedName + ", " + aName2); - material.registerComponentForMaterial(OrePrefixes.cell, aTestCell2); - } else if (aTestCell3 != null) { - Logger.INFO("Registering existing cell for " + material.localizedName + ", " + aName3); - material.registerComponentForMaterial(OrePrefixes.cell, aTestCell3); - } - } - } - - public final TextureSet getTextureSet() { - synchronized (this) { - return textureSet; - } - } - - public TextureSet setTextureSet(TextureSet set) { - return setTextureSet(set, vTier); - } - - public TextureSet setTextureSet(TextureSet set, int aTier) { - if (set != null) { - Logger.MATERIALS( - "Set textureset for " + this.localizedName - + " to be " - + set.mSetName - + ". This textureSet was supplied."); - return set; - } - - int aGem = 0; - int aShiny = 0; - TextureSet aSet = null; - - // Check Mixture Contents - for (MaterialStack m : this.getComposites()) { - - // Gems - if (m.getStackMaterial() == ELEMENT.getInstance().AER) { - aGem++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().AQUA) { - aGem++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().IGNIS) { - aGem++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().TERRA) { - aGem++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().MAGIC) { - aGem++; - } - // Shiny Materials - if (m.getStackMaterial() == ELEMENT.getInstance().GOLD) { - aShiny++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().SILVER) { - aShiny++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().PLATINUM) { - aShiny++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().TITANIUM) { - aShiny++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().GERMANIUM) { - aShiny++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().GALLIUM) { - aShiny++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().MERCURY) { - aShiny++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().MAGIC) { - aShiny++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().SAMARIUM) { - aShiny++; - } else if (m.getStackMaterial() == ELEMENT.getInstance().TANTALUM) { - aShiny++; - } - } - - if (aSet == null) { - if (aGem >= this.getComposites() - .size() / 2) { - if (MathUtils.isNumberEven(aGem)) { - Logger.MATERIALS( - "Set textureset for " + this.localizedName - + " to be " - + TextureSet.SET_GEM_HORIZONTAL.mSetName - + "."); - return TextureSet.SET_GEM_HORIZONTAL; - } else { - Logger.MATERIALS( - "Set textureset for " + this.localizedName - + " to be " - + TextureSet.SET_GEM_VERTICAL.mSetName - + "."); - return TextureSet.SET_GEM_VERTICAL; - } - } - } - - if (aSet == null) { - if (aShiny >= this.getComposites() - .size() / 3) { - Logger.MATERIALS( - "Set textureset for " + this.localizedName + " to be " + TextureSet.SET_SHINY.mSetName + "."); - return TextureSet.SET_SHINY; - } - } - - // build hash table with count - AutoMap sets = new AutoMap<>(); - if (this.vMaterialInput != null) { - for (MaterialStack r : this.vMaterialInput) { - if (r.getStackMaterial() - .getTextureSet().mSetName.toLowerCase() - .contains("fluid")) { - sets.put(ELEMENT.getInstance().GOLD); - } else { - sets.put(r.getStackMaterial()); - } - } - TextureSet mostUsedTypeTextureSet = MaterialUtils.getMostCommonTextureSet(new ArrayList<>(sets.values())); - if (mostUsedTypeTextureSet != null && mostUsedTypeTextureSet instanceof TextureSet) { - Logger.MATERIALS( - "Set textureset for " + this.localizedName + " to be " + mostUsedTypeTextureSet.mSetName + "."); - return mostUsedTypeTextureSet; - } - } - Logger.MATERIALS( - "Set textureset for " + this.localizedName + " to be " + Materials.Iron.mIconSet.mSetName + ". [Fallback]"); - return Materials.Gold.mIconSet; - } - - public final String getLocalizedName() { - if (this.localizedName != null) { - return this.localizedName; - } - return "ERROR BAD LOCALIZED NAME"; - } - - public final String getUnlocalizedName() { - if (this.unlocalizedName != null) { - return this.unlocalizedName; - } - return "ERROR.BAD.UNLOCALIZED.NAME"; - } - - public final String getTranslatedName() { - if (this.translatedName != null) { - return this.translatedName; - } - return "ERROR.BAD.TRANSLATED.NAME"; - } - - public final MaterialState getState() { - return this.materialState; - } - - public final short[] getRGB() { - if (this.RGBA != null) { - return this.RGBA; - } - return new short[] { 255, 0, 0 }; - } - - public final short[] getRGBA() { - if (this.RGBA != null) { - if (this.RGBA.length == 4) { - return this.RGBA; - } else { - return new short[] { this.RGBA[0], this.RGBA[1], this.RGBA[2], 0 }; - } - } - return new short[] { 255, 0, 0, 0 }; - } - - public final int getRgbAsHex() { - - final int returnValue = Utils.rgbtoHexValue(this.RGBA[0], this.RGBA[1], this.RGBA[2]); - if (returnValue == 0) { - return (int) this.dataVar; - } - return Utils.rgbtoHexValue(this.RGBA[0], this.RGBA[1], this.RGBA[2]); - } - - public final long getProtons() { - return this.vProtons; - } - - public final long getNeutrons() { - return this.vNeutrons; - } - - public final long getMass() { - return this.vProtons + this.vNeutrons; - } - - public final int getMeltingPointC() { - return this.meltingPointC; - } - - public final int getBoilingPointC() { - return this.boilingPointC; - } - - public final int getMeltingPointK() { - return this.meltingPointK; - } - - public final int getBoilingPointK() { - return this.boilingPointK; - } - - public final boolean requiresBlastFurnace() { - return this.usesBlastFurnace; - } - - public final ItemStack getComponentByPrefix(OrePrefixes aPrefix, int stacksize) { - String aKey = aPrefix.name(); - Map g = mComponentMap.get(this.unlocalizedName); - if (g == null) { - Map aMap = new HashMap<>(); - mComponentMap.put(unlocalizedName, aMap); - g = aMap; - } - ItemStack i = g.get(aKey); - if (i != null) { - return ItemUtils.getSimpleStack(i, stacksize); - } else { - // Try get a GT Material - Materials Erf = MaterialUtils.getMaterial(this.unlocalizedName); - if (Erf != null && !MaterialUtils.isNullGregtechMaterial(Erf)) { - ItemStack Erg = ItemUtils.getOrePrefixStack(aPrefix, Erf, stacksize); - if (Erg != null && ItemUtils.checkForInvalidItems(Erg)) { - Logger.MATERIALS("Found \"" + aKey + this.unlocalizedName + "\" using backup GT Materials option."); - g.put(aKey, Erg); - mComponentMap.put(unlocalizedName, g); - return Erg; - } else { - // Try get a molten cell - if (aPrefix == OrePrefixes.cell) { - Erg = ItemUtils.getOrePrefixStack(OrePrefixes.cellMolten, Erf, stacksize); - if (Erg != null && ItemUtils.checkForInvalidItems(Erg)) { - Logger.MATERIALS( - "Found \"" + OrePrefixes.cellMolten.name() - + this.unlocalizedName - + "\" using backup GT Materials option."); - g.put(aKey, Erg); - mComponentMap.put(unlocalizedName, g); - return Erg; - } - } - } - } else { - ItemStack u = ItemUtils.getItemStackOfAmountFromOreDictNoBroken(aKey + this.unlocalizedName, stacksize); - if (u != null) { - g.put(aKey, u); - mComponentMap.put(unlocalizedName, g); - return u; - } - } - // Logger.MATERIALS("Unabled to find \"" + aKey + this.unlocalizedName + "\""); - return ItemUtils.getErrorStack(stacksize, (aKey + this.unlocalizedName + " x" + stacksize)); - } - } - - public final Block getBlock() { - Block b = Block.getBlockFromItem(getBlock(1).getItem()); - if (b == null) { - Logger.INFO( - "[ERROR] Tried to get invalid block for " + this.getLocalizedName() - + ", returning debug block instead."); - } - return b != null ? b : Blocks.lit_furnace; - } - - public final ItemStack getBlock(final int stacksize) { - ItemStack i = getComponentByPrefix(OrePrefixes.block, stacksize); - return i != null ? i - : ItemUtils.getItemStackOfAmountFromOreDictNoBroken("block" + this.unlocalizedName, stacksize); - } - - public final ItemStack getDust(final int stacksize) { - ItemStack i = getComponentByPrefix(OrePrefixes.dust, stacksize); - return i != null ? i : ItemUtils.getGregtechDust("dust" + this.unlocalizedName, stacksize); - } - - public final ItemStack getSmallDust(final int stacksize) { - return getComponentByPrefix(OrePrefixes.dustSmall, stacksize); - } - - public final ItemStack getTinyDust(final int stacksize) { - return getComponentByPrefix(OrePrefixes.dustTiny, stacksize); - } - - public final ItemStack getIngot(final int stacksize) { - return getComponentByPrefix(OrePrefixes.ingot, stacksize); - } - - public final ItemStack getHotIngot(final int stacksize) { - return getComponentByPrefix(OrePrefixes.ingotHot, stacksize); - } - - public final ItemStack getPlate(final int stacksize) { - return getComponentByPrefix(OrePrefixes.plate, stacksize); - } - - public final ItemStack getPlateDouble(final int stacksize) { - return getComponentByPrefix(OrePrefixes.plateDouble, stacksize); - } - - public final ItemStack getPlateDense(final int stacksize) { - return getComponentByPrefix(OrePrefixes.plateDense, stacksize); - } - - public final ItemStack getGear(final int stacksize) { - return getComponentByPrefix(OrePrefixes.gearGt, stacksize); - } - - public final ItemStack getRod(final int stacksize) { - return getComponentByPrefix(OrePrefixes.stick, stacksize); - } - - public final ItemStack getLongRod(final int stacksize) { - return getComponentByPrefix(OrePrefixes.stickLong, stacksize); - } - - public final ItemStack getBolt(final int stacksize) { - return getComponentByPrefix(OrePrefixes.bolt, stacksize); - } - - public final ItemStack getScrew(final int stacksize) { - return getComponentByPrefix(OrePrefixes.screw, stacksize); - } - - public final ItemStack getFineWire(final int stacksize) { - return getComponentByPrefix(OrePrefixes.wireFine, stacksize); - } - - public final ItemStack getFoil(final int stacksize) { - return getComponentByPrefix(OrePrefixes.foil, stacksize); - } - - public final ItemStack getRing(final int stacksize) { - return getComponentByPrefix(OrePrefixes.ring, stacksize); - } - - public final ItemStack getRotor(final int stacksize) { - return getComponentByPrefix(OrePrefixes.rotor, stacksize); - } - - public final ItemStack getFrameBox(final int stacksize) { - return getComponentByPrefix(OrePrefixes.frameGt, stacksize); - } - - public final ItemStack getCell(final int stacksize) { - return getComponentByPrefix(OrePrefixes.cell, stacksize); - } - - public final ItemStack getPlasmaCell(final int stacksize) { - return getComponentByPrefix(OrePrefixes.cellPlasma, stacksize); - } - - public final ItemStack getNugget(final int stacksize) { - return getComponentByPrefix(OrePrefixes.nugget, stacksize); - } - - public final ItemStack getWire01(final int stacksize) { - return getComponentByPrefix(OrePrefixes.wireGt01, stacksize); - } - - public final ItemStack getWire02(final int stacksize) { - return getComponentByPrefix(OrePrefixes.wireGt02, stacksize); - } - - public final ItemStack getWire04(final int stacksize) { - return getComponentByPrefix(OrePrefixes.wireGt04, stacksize); - } - - public final ItemStack getWire08(final int stacksize) { - return getComponentByPrefix(OrePrefixes.wireGt08, stacksize); - } - - public final ItemStack getWire12(final int stacksize) { - return getComponentByPrefix(OrePrefixes.wireGt12, stacksize); - } - - public final ItemStack getWire16(final int stacksize) { - return getComponentByPrefix(OrePrefixes.wireGt16, stacksize); - } - - public final ItemStack getCable01(final int stacksize) { - return getComponentByPrefix(OrePrefixes.cableGt01, stacksize); - } - - public final ItemStack getCable02(final int stacksize) { - return getComponentByPrefix(OrePrefixes.cableGt02, stacksize); - } - - public final ItemStack getCable04(final int stacksize) { - return getComponentByPrefix(OrePrefixes.cableGt04, stacksize); - } - - public final ItemStack getCable08(final int stacksize) { - return getComponentByPrefix(OrePrefixes.cableGt08, stacksize); - } - - public final ItemStack getCable12(final int stacksize) { - return getComponentByPrefix(OrePrefixes.cableGt12, stacksize); - } - - public final ItemStack getCable16(final int stacksize) { - return getComponentByPrefix(OrePrefixes.cableGt16, stacksize); - } - - /** - * Ore Components - * - * @return - */ - public final ItemStack getOre(final int stacksize) { - return ItemUtils.getItemStackOfAmountFromOreDictNoBroken( - "ore" + Utils.sanitizeString(this.getUnlocalizedName()), - stacksize); - } - - public final Block getOreBlock(final int stacksize) { - // Logger.DEBUG_MATERIALS("Trying to get ore block for "+this.getLocalizedName()+". Looking for - // '"+"ore"+Utils.sanitizeString(this.getUnlocalizedName())+"'."); - try { - ItemStack a1 = getOre(1); - Item a2 = a1.getItem(); - Block a3 = Block.getBlockFromItem(a2); - if (a3 != null) { - return a3; - } - - Block x = Block.getBlockFromItem( - ItemUtils - .getItemStackOfAmountFromOreDictNoBroken( - "ore" + Utils.sanitizeString(this.unlocalizedName), - stacksize) - .getItem()); - if (x != null) { - return x; - } - } catch (Throwable t) { - // t.printStackTrace(); - } - // Logger.MATERIALS("Failed getting the Ore Block for "+this.getLocalizedName()+"."); - return Blocks.stone; - } - - public final ItemStack getCrushed(final int stacksize) { - return getComponentByPrefix(OrePrefixes.crushed, stacksize); - } - - public final ItemStack getCrushedPurified(final int stacksize) { - return getComponentByPrefix(OrePrefixes.crushedPurified, stacksize); - } - - public final ItemStack getCrushedCentrifuged(final int stacksize) { - return getComponentByPrefix(OrePrefixes.crushedCentrifuged, stacksize); - } - - public final ItemStack getDustPurified(final int stacksize) { - return getComponentByPrefix(OrePrefixes.dustPure, stacksize); - } - - public final ItemStack getDustImpure(final int stacksize) { - return getComponentByPrefix(OrePrefixes.dustImpure, stacksize); - } - - public final ItemStack getMilled(final int stacksize) { - return getComponentByPrefix(OrePrefixes.milled, stacksize); - } - - public final ItemStack getRawOre(final int stacksize) { - return getComponentByPrefix(OrePrefixes.rawOre, stacksize); - } - - public final boolean hasSolidForm() { - if (ItemUtils - .checkForInvalidItems(new ItemStack[] { getDust(1), getBlock(1), getTinyDust(1), getSmallDust(1) })) { - return true; - } - return false; - } - - public final ItemStack[] getMaterialComposites() { - if (this.vMaterialInput != null && !this.vMaterialInput.isEmpty()) { - final ItemStack[] temp = new ItemStack[this.vMaterialInput.size()]; - for (int i = 0; i < this.vMaterialInput.size(); i++) { - // Utils.LOG_MATERIALS("i:"+i); - ItemStack testNull = null; - try { - testNull = this.vMaterialInput.get(i) - .getValidStack(); - } catch (final Throwable r) { - Logger.MATERIALS("Failed gathering material stack for " + this.localizedName + "."); - Logger.MATERIALS("What Failed: Length:" + this.vMaterialInput.size() + " current:" + i); - } - try { - if (testNull != null) { - // Utils.LOG_MATERIALS("not null"); - temp[i] = this.vMaterialInput.get(i) - .getValidStack(); - } - } catch (final Throwable r) { - Logger.MATERIALS("Failed setting slot " + i + ", using " + this.localizedName); - } - } - return temp; - } - return new ItemStack[] {}; - } - - public final ArrayList getComposites() { - return this.vMaterialInput; - } - - public final int[] getMaterialCompositeStackSizes() { - if (!this.vMaterialInput.isEmpty()) { - final int[] temp = new int[this.vMaterialInput.size()]; - for (int i = 0; i < this.vMaterialInput.size(); i++) { - if (this.vMaterialInput.get(i) != null) { - temp[i] = this.vMaterialInput.get(i) - .getDustStack().stackSize; - } else { - temp[i] = 0; - } - } - return temp; - } - return new int[] {}; - } - - private short getComponentCount(final MaterialStack[] inputs) { - - if (inputs == null || inputs.length < 1) { - return 1; - } - int counterTemp = 0; - for (final MaterialStack m : inputs) { - if (m.getStackMaterial() != null) { - counterTemp++; - } - } - if (counterTemp != 0) { - return (short) counterTemp; - } else { - return 1; - } - } - - public final long[] getSmallestRatio(final ArrayList tempInput) { - if (tempInput != null) { - if (!tempInput.isEmpty()) { - Logger.MATERIALS("length: " + tempInput.size()); - Logger.MATERIALS("(inputs != null): " + (tempInput != null)); - // Utils.LOG_MATERIALS("length: "+inputs.length); - final long[] tempRatio = new long[tempInput.size()]; - for (int x = 0; x < tempInput.size(); x++) { - if (tempInput.get(x) != null) { - tempRatio[x] = tempInput.get(x) - .getPartsPerOneHundred(); - } - } - - final long[] smallestRatio = MathUtils.simplifyNumbersToSmallestForm(tempRatio); - - if (smallestRatio.length > 0) { - String tempRatioStringThing1 = ""; - for (long value : tempRatio) { - tempRatioStringThing1 = tempRatioStringThing1 + value + " : "; - } - Logger.MATERIALS("Default Ratio: " + tempRatioStringThing1); - - String tempRatioStringThing = ""; - int tempSmallestCraftingUseSize = 0; - for (long l : smallestRatio) { - tempRatioStringThing = tempRatioStringThing + l + " : "; - tempSmallestCraftingUseSize = (int) (tempSmallestCraftingUseSize + l); - } - // this.smallestStackSizeWhenProcessing = tempSmallestCraftingUseSize; - Logger.MATERIALS("Smallest Ratio: " + tempRatioStringThing); - return smallestRatio; - } - } - } - return new long[] {}; - } - - public final String getToolTip(final String chemSymbol, final long aMultiplier, final boolean aShowQuestionMarks) { - if (!aShowQuestionMarks && (this.vChemicalFormula.equals("?") || this.vChemicalFormula.equals("??"))) { - return ""; - } - Logger.MATERIALS("===============| Calculating Atomic Formula for " + this.localizedName + " |==============="); - if (!chemSymbol.equals("")) { - return chemSymbol; - } - final ArrayList tempInput = this.vMaterialInput; - if (tempInput != null) { - if (!tempInput.isEmpty()) { - String dummyFormula = ""; - final long[] dummyFormulaArray = this.getSmallestRatio(tempInput); - if (dummyFormulaArray != null) { - if (dummyFormulaArray.length >= 1) { - for (int e = 0; e < tempInput.size(); e++) { - MaterialStack g = tempInput.get(e); - if (g != null) { - if (g.getStackMaterial() != null) { - - String aChemSymbol = g.getStackMaterial().vChemicalSymbol; - String aChemFormula = g.getStackMaterial().vChemicalFormula; - - if (aChemSymbol == null) { - aChemSymbol = "??"; - } - if (aChemFormula == null) { - aChemFormula = "??"; - } - - if (!aChemSymbol.equals("??")) { - if (dummyFormulaArray[e] > 1) { - - if (aChemFormula.length() > 3 - || StringUtils.uppercaseCount(aChemFormula) > 1) { - dummyFormula = dummyFormula + "(" - + aChemFormula - + ")" - + dummyFormulaArray[e]; - } else { - dummyFormula = dummyFormula + aChemFormula + dummyFormulaArray[e]; - } - } else if (dummyFormulaArray[e] == 1) { - if (aChemFormula.length() > 3 - || StringUtils.uppercaseCount(aChemFormula) > 1) { - dummyFormula = dummyFormula + "(" + aChemFormula + ")"; - } else { - dummyFormula = dummyFormula + aChemFormula; - } - } else { - dummyFormula = dummyFormula + "??"; - } - } else { - dummyFormula = dummyFormula + "??"; - } - } else { - dummyFormula = dummyFormula + "??"; - } - } - } - return StringUtils.subscript(dummyFormula); - // return dummyFormula; - } - Logger.MATERIALS("dummyFormulaArray <= 0"); - } - Logger.MATERIALS("dummyFormulaArray == null"); - } - Logger.MATERIALS("tempInput.length <= 0"); - } - Logger.MATERIALS("tempInput == null"); - return "??"; - } - - public final boolean queueFluidGeneration() { - return isFluidQueued = true; - } - - public static final void generateQueuedFluids() { - for (Material m : mMaterialMap) { - if (m.isFluidQueued) {} - } - } - - // If we need a fluid, let's just queue it for later. - public boolean isFluidQueued = false; - - public final Fluid generateFluid() { - if (this.materialState == MaterialState.ORE) { - return null; - } - - Fluid aGTBaseFluid = null; - - // Clean up Internal Fluid Generation - final Materials n1 = MaterialUtils - .getMaterial(this.getLocalizedName(), Utils.sanitizeString(this.getLocalizedName())); - final Materials n2 = MaterialUtils - .getMaterial(this.getUnlocalizedName(), Utils.sanitizeString(this.getUnlocalizedName())); - - FluidStack f1 = FluidUtils.getWildcardFluidStack(n1, 1); - FluidStack f2 = FluidUtils.getWildcardFluidStack(n2, 1); - FluidStack f3 = FluidUtils - .getWildcardFluidStack(Utils.sanitizeString(this.getUnlocalizedName(), new char[] { '-', '_' }), 1); - FluidStack f4 = FluidUtils - .getWildcardFluidStack(Utils.sanitizeString(this.getLocalizedName(), new char[] { '-', '_' }), 1); - - if (f1 != null) { - aGTBaseFluid = f1.getFluid(); - } else if (f2 != null) { - aGTBaseFluid = f2.getFluid(); - } else if (f3 != null) { - aGTBaseFluid = f3.getFluid(); - } else if (f4 != null) { - aGTBaseFluid = f4.getFluid(); - } - - ItemStack aFullCell = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + this.getUnlocalizedName(), 1); - ItemStack aFullCell2 = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + this.getLocalizedName(), 1); - ItemStack aFullCell3 = ItemUtils.getItemStackOfAmountFromOreDictNoBroken( - "cell" + Utils.sanitizeString(this.getUnlocalizedName(), new char[] { '-', '_' }), - 1); - ItemStack aFullCell4 = ItemUtils.getItemStackOfAmountFromOreDictNoBroken( - "cell" + Utils.sanitizeString(this.getLocalizedName(), new char[] { '-', '_' }), - 1); - - Logger.MATERIALS("Generating our own fluid."); - // Generate a Cell if we need to, but first validate all four searches are invalid - - if (!ItemUtils.checkForInvalidItems(new ItemStack[] { aFullCell, aFullCell2, aFullCell3, aFullCell4 })) { - if (this.vGenerateCells) { - Item g = new BaseItemCell(this); - aFullCell = ItemUtils.getSimpleStack(g); - Logger.MATERIALS("Generated a cell for " + this.getUnlocalizedName()); - } else { - Logger.MATERIALS("Did not generate a cell for " + this.getUnlocalizedName()); - } - } else { - // One cell we searched for was valid, let's register it. - if (aFullCell != null) { - this.registerComponentForMaterial(ComponentTypes.CELL, aFullCell); - } else if (aFullCell2 != null) { - this.registerComponentForMaterial(ComponentTypes.CELL, aFullCell2); - } else if (aFullCell3 != null) { - this.registerComponentForMaterial(ComponentTypes.CELL, aFullCell3); - } else if (aFullCell4 != null) { - this.registerComponentForMaterial(ComponentTypes.CELL, aFullCell4); - } - } - - // We found a GT fluid, let's use it. - // Good chance we registered the cell from this material too. - if (aGTBaseFluid != null) { - return aGTBaseFluid; - } - - // This fluid does not exist at all, time to generate it. - if (this.materialState == MaterialState.SOLID) { - return FluidUtils.addGTFluid( - this.getUnlocalizedName(), - "Molten " + this.getLocalizedName(), - this.RGBA, - 4, - this.getMeltingPointK(), - aFullCell, - ItemUtils.getEmptyCell(), - 1000, - this.vGenerateCells); - } else if (this.materialState == MaterialState.LIQUID || this.materialState == MaterialState.PURE_LIQUID) { - return FluidUtils.addGTFluid( - this.getUnlocalizedName(), - this.getLocalizedName(), - this.RGBA, - 0, - this.getMeltingPointK(), - aFullCell, - ItemUtils.getEmptyCell(), - 1000, - this.vGenerateCells); - } else if (this.materialState == MaterialState.GAS || this.materialState == MaterialState.PURE_GAS) { - return FluidUtils - .generateGas(unlocalizedName, this.getLocalizedName(), getMeltingPointK(), getRGBA(), vGenerateCells); - /* - * return FluidUtils.addGTFluid( this.getUnlocalizedName(), this.getLocalizedName()+" Gas", this.RGBA, 2, - * this.getMeltingPointK(), aFullCell, ItemUtils.getEmptyCell(), 1000, this.vGenerateCells); - */ - } else { // Plasma - return this.generatePlasma(); - } - } - - public final Fluid generatePlasma() { - if (this.materialState == MaterialState.ORE) { - return null; - } - final Materials isValid = tryFindGregtechMaterialEquivalent(); - - if (!this.vGenerateCells) { - return null; - } - if (isValid != null) { - for (Materials m : invalidMaterials.values()) { - if (isValid == m) { - return null; - } - } - if (isValid.mPlasma != null) { - Logger.MATERIALS("Using a pre-defined Plasma from GT."); - return isValid.mPlasma; - } - } - Logger.MATERIALS("Generating our own Plasma."); - return FluidUtils.addGTPlasma(this); - } - - public Fluid getFluid() { - return mFluid; - } - - public Fluid getPlasma() { - return mPlasma; - } - - public final FluidStack getFluidStack(final int fluidAmount) { - if (this.mFluid == null) { - return null; - } - final FluidStack moltenFluid = new FluidStack(this.mFluid, fluidAmount); - return moltenFluid; - } - - public final boolean setFluid(Fluid aFluid) { - if (this.mFluid == null) { - this.mFluid = aFluid; - return true; - } - return false; - } - - public final int calculateMeltingPoint() { - try { - AutoMap aDataSet = new AutoMap<>(); - for (MaterialStack m : this.vMaterialInput) { - aDataSet.put( - m.getStackMaterial() - .getMeltingPointC()); - } - long aAverage = MathUtils.getIntAverage(aDataSet); - return MathUtils.safeInt(aAverage); - } catch (Throwable r) { - r.printStackTrace(); - return 500; - } - } - - public final int calculateBoilingPoint() { - try { - - AutoMap aDataSet = new AutoMap<>(); - for (MaterialStack m : this.vMaterialInput) { - aDataSet.put( - m.getStackMaterial() - .getBoilingPointC()); - } - long aAverage = MathUtils.getIntAverage(aDataSet); - return MathUtils.safeInt(aAverage); - } catch (Throwable r) { - r.printStackTrace(); - return 2500; - } - } - - public final long calculateProtons() { - try { - - AutoMap aDataSet = new AutoMap<>(); - for (MaterialStack m : this.vMaterialInput) { - aDataSet.put( - m.getStackMaterial() - .getProtons()); - } - long aAverage = MathUtils.getLongAverage(aDataSet); - return MathUtils.safeInt(aAverage); - } catch (Throwable r) { - r.printStackTrace(); - return 50; - } - } - - public final long calculateNeutrons() { - try { - - AutoMap aDataSet = new AutoMap<>(); - for (MaterialStack m : this.vMaterialInput) { - aDataSet.put( - m.getStackMaterial() - .getNeutrons()); - } - long aAverage = MathUtils.getLongAverage(aDataSet); - return MathUtils.safeInt(aAverage); - } catch (Throwable r) { - r.printStackTrace(); - return 75; - } - } - - @Override - public boolean equals(Object obj) { - if (obj == null) { - return false; - } - if (!Material.class.isInstance(obj)) { - return false; - } - Material aObj = (Material) obj; - if (aObj.unlocalizedName.equals(this.unlocalizedName)) { - if (aObj.localizedName.equals(this.localizedName)) { - return true; - } - } - return false; - } - - public boolean registerComponentForMaterial(FluidStack aStack) { - return registerComponentForMaterial(this, aStack); - } - - private static boolean registerComponentForMaterial(Material componentMaterial, FluidStack aStack) { - if (componentMaterial != null && aStack != null && componentMaterial.mFluid == null) { - componentMaterial.mFluid = aStack.getFluid(); - return true; - } - return false; - } - - public boolean registerComponentForMaterial(ComponentTypes aPrefix, ItemStack aStack) { - return registerComponentForMaterial(this, aPrefix.getGtOrePrefix(), aStack); - } - - public boolean registerComponentForMaterial(OrePrefixes aPrefix, ItemStack aStack) { - return registerComponentForMaterial(this, aPrefix, aStack); - } - - public static boolean registerComponentForMaterial(Material componentMaterial, ComponentTypes aPrefix, - ItemStack aStack) { - return registerComponentForMaterial(componentMaterial, aPrefix.getGtOrePrefix(), aStack); - } - - public static boolean registerComponentForMaterial(Material componentMaterial, OrePrefixes aPrefix, - ItemStack aStack) { - if (componentMaterial == null) { - return false; - } - // Register Component - Map aMap = Material.mComponentMap.get(componentMaterial.getUnlocalizedName()); - if (aMap == null) { - aMap = new HashMap<>(); - } - String aKey = aPrefix.name(); - ItemStack x = aMap.get(aKey); - if (x == null) { - aMap.put(aKey, aStack); - Logger.MATERIALS( - "Registering a material component. Item: [" + componentMaterial.getUnlocalizedName() - + "] Map: [" - + aKey - + "]"); - Material.mComponentMap.put(componentMaterial.getUnlocalizedName(), aMap); - return true; - } else { - // Bad - Logger.MATERIALS("Tried to double register a material component. "); - return false; - } - } - - public Materials tryFindGregtechMaterialEquivalent() { - return tryFindGregtechMaterialEquivalent(this); - } - - public static Materials tryFindGregtechMaterialEquivalent(Material aMaterial) { - String aMaterialName = aMaterial.getLocalizedName(); - Materials aGregtechMaterial = Materials.get(aMaterialName); - if (aGregtechMaterial == null || MaterialUtils.isNullGregtechMaterial(aGregtechMaterial)) { - aMaterialName = aMaterialName.replace(" ", "_"); - aGregtechMaterial = Materials.get(aMaterialName); - if (aGregtechMaterial == null || MaterialUtils.isNullGregtechMaterial(aGregtechMaterial)) { - aMaterialName = aMaterialName.replace(" ", ""); - aGregtechMaterial = Materials.get(aMaterialName); - if (aGregtechMaterial == null || MaterialUtils.isNullGregtechMaterial(aGregtechMaterial)) { - return null; - } else { - return aGregtechMaterial; - } - } else { - return aGregtechMaterial; - } - } else { - return aGregtechMaterial; - } - } - - public void setWerkstoffID(short werkstoffID) { - this.werkstoffID = werkstoffID; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java b/gtpp/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java deleted file mode 100644 index df2abd0acb..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java +++ /dev/null @@ -1,428 +0,0 @@ -package gtPlusPlus.core.material; - -import java.util.Set; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; -import gtPlusPlus.core.block.base.BlockBaseModular; -import gtPlusPlus.core.block.base.BlockBaseOre; -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.item.base.BaseItemComponent.ComponentTypes; -import gtPlusPlus.core.item.base.bolts.BaseItemBolt; -import gtPlusPlus.core.item.base.dusts.BaseItemDust; -import gtPlusPlus.core.item.base.dusts.BaseItemDust.DustState; -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.BaseItemRawOre; -import gtPlusPlus.core.item.base.plates.BaseItemPlate; -import gtPlusPlus.core.item.base.plates.BaseItemPlateDense; -import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble; -import gtPlusPlus.core.item.base.rings.BaseItemRing; -import gtPlusPlus.core.item.base.rods.BaseItemRod; -import gtPlusPlus.core.item.base.rods.BaseItemRodLong; -import gtPlusPlus.core.item.base.rotors.BaseItemRotor; -import gtPlusPlus.core.item.base.screws.BaseItemScrew; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.nuclear.FLUORIDES; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_AlloySmelter; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Assembler; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_BlastSmelter; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Extruder; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_FluidCanning; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Fluids; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Fluorite; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_MaterialProcessing; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_MetalRecipe; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Ore; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Plasma; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Plates; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Recycling; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_ShapedCrafting; - -public class MaterialGenerator { - - public static final AutoMap>> mRecipeMapsToGenerate = new AutoMap<>(); - - @SuppressWarnings("unused") - private static volatile Item temp; - - @SuppressWarnings("unused") - private static volatile Block tempBlock; - - @Deprecated - public static boolean addFluidCannerRecipe(ItemStack aEmpty, ItemStack aFullContainer, FluidStack aFluidIn, - FluidStack rFluidOut) { - return addFluidCannerRecipe(aEmpty, aFullContainer, aFluidIn, rFluidOut, null, null); - } - - @Deprecated - public static boolean addFluidCannerRecipe(ItemStack aEmpty, ItemStack aFullContainer, FluidStack aFluidIn, - FluidStack rFluidOut, Integer aTime, Integer aEu) { - - RecipeGen_FluidCanning g = new RecipeGen_FluidCanning(false, aEmpty, aFullContainer, aFluidIn, null, null, 0); - if (g != null && g.valid()) { - return true; - } - return false; - } - - public static void generate(final Material matInfo) { - generate(matInfo, true); - } - - public static void generate(final Material matInfo, final boolean generateEverything) { - generate(matInfo, generateEverything, true); - } - - public static boolean generate(final Material matInfo, final boolean generateEverything, - final boolean generateBlastSmelterRecipes) { - try { - final String unlocalizedName = matInfo.getUnlocalizedName(); - final String materialName = matInfo.getLocalizedName(); - final short[] C = matInfo.getRGBA(); - final int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]); - final boolean hotIngot = matInfo.requiresBlastFurnace(); - int materialTier = matInfo.vTier; // TODO - - if ((materialTier > 10) || (materialTier <= 0)) { - materialTier = 2; - } - - int sRadiation = 0; - if (ItemUtils.isRadioactive(materialName) || (matInfo.vRadiationLevel != 0)) { - sRadiation = matInfo.vRadiationLevel; - } - - if (matInfo.getState() == MaterialState.SOLID) { - if (generateEverything == true) { - if (sRadiation >= 1) { - tempBlock = new BlockBaseModular(matInfo, BlockTypes.STANDARD); - temp = new BaseItemIngot(matInfo); - - temp = new BaseItemDust(matInfo); - temp = new BaseItemNugget(matInfo); - temp = new BaseItemPlate(matInfo); - temp = new BaseItemRod(matInfo); - temp = new BaseItemRodLong(matInfo); - } else { - tempBlock = new BlockBaseModular(matInfo, BlockTypes.STANDARD); - tempBlock = new BlockBaseModular(matInfo, BlockTypes.FRAME); - temp = new BaseItemIngot(matInfo); - if (hotIngot) { - temp = new BaseItemIngotHot(matInfo); - } - temp = new BaseItemDust(matInfo); - temp = new BaseItemNugget(matInfo); - temp = new BaseItemPlate(matInfo); - temp = new BaseItemPlateDouble(matInfo); - temp = new BaseItemBolt(matInfo); - temp = new BaseItemRod(matInfo); - temp = new BaseItemRodLong(matInfo); - temp = new BaseItemRing(matInfo); - temp = new BaseItemScrew(matInfo); - temp = new BaseItemRotor(matInfo); - temp = new BaseItemGear(matInfo); - temp = new BaseItemPlateDense(matInfo); - } - } else { - tempBlock = new BlockBaseModular(matInfo, BlockTypes.STANDARD); - - temp = new BaseItemIngot(matInfo); - temp = new BaseItemDust(matInfo); - temp = new BaseItemNugget(matInfo); - temp = new BaseItemPlate(matInfo); - temp = new BaseItemPlateDouble(matInfo); - } - } else if (matInfo.getState() == MaterialState.LIQUID) { - if (generateEverything == true) { - tempBlock = new BlockBaseModular(matInfo, BlockTypes.STANDARD); - } - temp = new BaseItemIngot(matInfo); - temp = new BaseItemDust(matInfo); - temp = new BaseItemNugget(matInfo); - temp = new BaseItemPlate(matInfo); - temp = new BaseItemPlateDouble(matInfo); - } else if (matInfo.getState() == MaterialState.GAS) { - temp = new BaseItemDust(matInfo); - FluidUtils.generateGas(unlocalizedName, materialName, matInfo.getMeltingPointK(), C, true); - } else if (matInfo.getState() == MaterialState.PURE_GAS) { - FluidUtils.generateGas(unlocalizedName, materialName, matInfo.getMeltingPointK(), C, true); - return true; - } else if (matInfo.getState() == MaterialState.PURE_LIQUID) { - FluidUtils.generateFluidNoPrefix(unlocalizedName, materialName, matInfo.getMeltingPointK(), C); - return true; - } else if (matInfo.getState() == MaterialState.ORE) { - - } - - // Add A jillion Recipes - old code - new RecipeGen_AlloySmelter(matInfo); - new RecipeGen_Assembler(matInfo); - if (generateBlastSmelterRecipes) { - new RecipeGen_BlastSmelter(matInfo); - } - new RecipeGen_MetalRecipe(matInfo); - new RecipeGen_Extruder(matInfo); - new RecipeGen_Fluids(matInfo); - new RecipeGen_Plates(matInfo); - new RecipeGen_ShapedCrafting(matInfo); - new RecipeGen_MaterialProcessing(matInfo); - - new RecipeGen_DustGeneration(matInfo); - new RecipeGen_Recycling(matInfo); - new RecipeGen_Plasma(matInfo); - - return true; - - } catch (final Throwable t) { - - Logger.MATERIALS("" + matInfo.getLocalizedName() + " failed to generate."); - return false; - } - } - - public static void generateDusts(final Material matInfo) { - final String unlocalizedName = matInfo.getUnlocalizedName(); - final String materialName = matInfo.getLocalizedName(); - final short[] C = matInfo.getRGBA(); - final int Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]); - int materialTier = matInfo.vTier; // TODO - - if ((materialTier > 10) || (materialTier <= 0)) { - materialTier = 2; - } - - int sRadiation = 0; - if (ItemUtils.isRadioactive(materialName) || (matInfo.vRadiationLevel != 0)) { - sRadiation = matInfo.vRadiationLevel; - } - - if (matInfo.getState() == MaterialState.SOLID) { - temp = new BaseItemDust(matInfo); - } - - // Add A jillion Recipes - old code - try { - RecipeGen_DustGeneration.addMixerRecipe_Standalone(matInfo); - new RecipeGen_Fluids(matInfo); - new RecipeGen_MaterialProcessing(matInfo); - } catch (Throwable t) { - Logger.MATERIALS("Failed to generate some recipes for " + materialName); - Logger.ERROR("Failed to generate some recipes for " + materialName); - t.printStackTrace(); - } - // RecipeGen_Recycling.generateRecipes(matInfo); - } - - public static void generateNuclearMaterial(final Material matInfo) { - generateNuclearMaterial(matInfo, true); - } - - public static void generateNuclearDusts(final Material matInfo) { - generateNuclearDusts(matInfo, true); - } - - public static void generateNuclearDusts(final Material matInfo, boolean generateDehydratorRecipe) { - generateNuclearMaterial(matInfo, false, true, false, false, true); - if (generateDehydratorRecipe && matInfo.getFluid() != null && matInfo.getDust(0) != null) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(20) }, - matInfo.getFluidStack(144), - null, - new ItemStack[] { matInfo.getDust(1), }, - new int[] { 10000 }, - 10 * (matInfo.vVoltageMultiplier / 5), // Time in ticks - matInfo.vVoltageMultiplier); // EU - } else { - Logger.INFO( - "Nuclear Dehydrator: Did not generate recipe for " + matInfo.getLocalizedName() - + " | Null Fluid? " - + (matInfo.getFluid() == null) - + " | Null Dust? " - + (matInfo.getDust(0) == null)); - } - } - - public static void generateNuclearMaterial(final Material matInfo, final boolean generatePlates) { - generateNuclearMaterial(matInfo, true, true, true, generatePlates, true); - } - - public static void generateNuclearMaterial(final Material matInfo, final boolean generateBlock, - final boolean generateDusts, final boolean generateIngot, final boolean generatePlates, - final boolean disableOptionalRecipes) { - try { - - if (generateBlock) { - tempBlock = new BlockBaseModular(matInfo, BlockTypes.STANDARD); - } - if (generateDusts) { - temp = new BaseItemDust(matInfo); - } - if (generateIngot) { - temp = new BaseItemIngot(matInfo); - temp = new BaseItemNugget(matInfo); - } - - if (generatePlates) { - temp = new BaseItemPlate(matInfo); - temp = new BaseItemPlateDouble(matInfo); - new RecipeGen_Plates(matInfo); - new RecipeGen_Extruder(matInfo); - new RecipeGen_Assembler(matInfo); - } - - if (!disableOptionalRecipes) { - new RecipeGen_ShapedCrafting(matInfo); - new RecipeGen_Fluids(matInfo); - new RecipeGen_MaterialProcessing(matInfo); - new RecipeGen_Recycling(matInfo); - } - - new RecipeGen_MetalRecipe(matInfo); - new RecipeGen_DustGeneration(matInfo, disableOptionalRecipes); - new RecipeGen_Plasma(matInfo); - - } catch (final Throwable t) { - Logger.MATERIALS("" + matInfo.getLocalizedName() + " failed to generate."); - } - } - - 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 = 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; - } - - if (generateOre) { - tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE); - } - - DustState aState = new DustState(generateDust, generateSmallTinyDusts, generateSmallTinyDusts); - - if (!aState.generatesDust()) { - if (aState.generatesSmallDust()) { - temp = new BaseItemComponent(matInfo, ComponentTypes.DUSTSMALL); - } - if (aState.generatesTinyDust()) { - temp = new BaseItemComponent(matInfo, ComponentTypes.DUSTTINY); - } - } else { - temp = new BaseItemDust(aState, matInfo); - } - - temp = new BaseItemCrushedOre(matInfo); - temp = new BaseItemCentrifugedCrushedOre(matInfo); - temp = new BaseItemPurifiedCrushedOre(matInfo); - temp = new BaseItemImpureDust(matInfo); - temp = new BaseItemPurifiedDust(matInfo); - temp = new BaseItemRawOre(matInfo); - - Logger.MATERIALS( - "Generated all ore components for " + matInfo.getLocalizedName() - + ", now generating processing recipes."); - - if (matInfo == FLUORIDES.FLUORITE) { - new RecipeGen_Fluorite(matInfo); - } else { - new RecipeGen_Ore(matInfo); - } - - } catch (final Throwable t) { - Logger.MATERIALS( - "[Error] " + (matInfo != null ? matInfo.getLocalizedName() : "Null Material") + " failed to generate."); - t.printStackTrace(); - } - } - - public static boolean generateOreMaterialWithAllExcessComponents(final Material matInfo) { - try { - if (matInfo == null) { - Logger.DEBUG_MATERIALS("Invalid Material while constructing null material."); - return false; - } - final short[] C = matInfo.getRGBA(); - final Integer Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]); - - tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE); - tempBlock = new BlockBaseModular(matInfo, BlockTypes.STANDARD); - temp = new BaseItemIngot(matInfo); - temp = new BaseItemDust(matInfo); - temp = new BaseItemNugget(matInfo); - temp = new BaseItemPlate(matInfo); - temp = new BaseItemPlateDouble(matInfo); - - temp = new BaseItemCrushedOre(matInfo); - temp = new BaseItemCentrifugedCrushedOre(matInfo); - temp = new BaseItemPurifiedCrushedOre(matInfo); - temp = new BaseItemImpureDust(matInfo); - temp = new BaseItemPurifiedDust(matInfo); - temp = new BaseItemRawOre(matInfo); - - Logger.MATERIALS( - "Generated all ore & base components for " + matInfo.getLocalizedName() - + ", now generating processing recipes."); - - new RecipeGen_Ore(matInfo, true); - new RecipeGen_AlloySmelter(matInfo); - new RecipeGen_Assembler(matInfo); - new RecipeGen_BlastSmelter(matInfo); - new RecipeGen_MetalRecipe(matInfo); - new RecipeGen_Extruder(matInfo); - new RecipeGen_Fluids(matInfo); - new RecipeGen_Plates(matInfo); - new RecipeGen_ShapedCrafting(matInfo); - new RecipeGen_MaterialProcessing(matInfo); - new RecipeGen_DustGeneration(matInfo); - new RecipeGen_Recycling(matInfo); - new RecipeGen_Plasma(matInfo); - return true; - } catch (final Throwable t) { - Logger.MATERIALS("" + matInfo.getLocalizedName() + " failed to generate."); - t.printStackTrace(); - return false; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/MaterialStack.java b/gtpp/src/main/java/gtPlusPlus/core/material/MaterialStack.java deleted file mode 100644 index 37070a35ec..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/MaterialStack.java +++ /dev/null @@ -1,116 +0,0 @@ -package gtPlusPlus.core.material; - -import java.math.BigDecimal; -import java.math.RoundingMode; - -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.OrePrefixes; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.xmod.bartworks.BW_Utils; - -public class MaterialStack { - - private final transient int[] vAmount; - private final Material stackMaterial; - private final double vPercentageToUse; - - public MaterialStack(final Material inputs, final double partOutOf100) { - this.stackMaterial = inputs; - // Logger.INFO("Tried getting MaterialStack for "+inputs.getLocalizedName()); - this.vPercentageToUse = partOutOf100; - this.vAmount = this.math(partOutOf100); - } - - private int[] math(final double val) { - double i; - // Cast to a BigDecimal to round it. - final BigDecimal bd = new BigDecimal(val).setScale(2, RoundingMode.HALF_EVEN); - i = bd.doubleValue(); - // Split the string into xx.xx - final String[] arr = String.valueOf(i) - .split("\\."); - final int[] intArr = new int[2]; - intArr[0] = Integer.parseInt(arr[0]); - intArr[1] = Integer.parseInt(arr[1]); - return intArr; - } - - public ItemStack getValidStack() { - if (this.stackMaterial.getDust(1) == null) { - // if (this.stackMaterial.getCell(1) == null){ - return null; - // } - // return this.stackMaterial.getCell(this.vAmount[0]); - } - return this.stackMaterial.getDust(this.vAmount[0]); - } - - public ItemStack getDustStack() { - return this.stackMaterial.getDust(this.vAmount[0]); - } - - public ItemStack getDustStack(final int amount) { - return this.stackMaterial.getDust(amount); - } - - public ItemStack getUnificatedDustStack(final int amount) { - if (this.stackMaterial.werkstoffID != 0) { - ItemStack stack = BW_Utils - .getCorrespondingItemStack(OrePrefixes.dust, this.stackMaterial.werkstoffID, amount); - if (stack != null) { - return stack; - } - } - return getDustStack(amount); - } - - public Material getStackMaterial() { - if (this.stackMaterial == null) { - Logger.MATERIALS("Tried getStackMaterial, got an invalid material."); - Logger.MATERIALS(ReflectionUtils.getMethodName(0)); - Logger.MATERIALS(ReflectionUtils.getMethodName(1)); - Logger.MATERIALS(ReflectionUtils.getMethodName(2)); - Logger.MATERIALS(ReflectionUtils.getMethodName(3)); - return null; - } - return this.stackMaterial; - } - - public double getvPercentageToUse() { - return this.vPercentageToUse; - } - - public long[] getSmallestStackSizes() { - return this.stackMaterial.getSmallestRatio(this.stackMaterial.getComposites()); - } - - public int getPartsPerOneHundred() { - if (this.vAmount != null) { - if ((this.vAmount[0] >= 1) && (this.vAmount[0] <= 100)) { - return this.vAmount[0]; - } - } - return 100; - } - - public ItemStack getLeftOverStacksFromDecimalValue() { - final int temp = this.vAmount[1]; - int getCount; - if ((temp >= 25) && (temp <= 99)) { - getCount = temp / 25; - return this.stackMaterial.getSmallDust(getCount); - } else if ((temp >= 11) && (temp <= 24)) { - getCount = temp / 11; - return this.stackMaterial.getTinyDust(getCount); - } else { - return null; - } - } - - public ItemStack[] getValidItemStacks() { - return ItemUtils.validItemsForOreDict(this.stackMaterial.getUnlocalizedName()); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/NONMATERIAL.java b/gtpp/src/main/java/gtPlusPlus/core/material/NONMATERIAL.java deleted file mode 100644 index 5e084b84bf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/NONMATERIAL.java +++ /dev/null @@ -1,42 +0,0 @@ -package gtPlusPlus.core.material; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.TextureSet; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public class NONMATERIAL { - - // Soul Sand - public static final Material SOULSAND = MaterialUtils.generateMaterialFromGtENUM(Materials.SoulSand); - - // Redstone - public static final Material REDSTONE = MaterialUtils.generateMaterialFromGtENUM(Materials.Redstone); - - // Glowstone Dust - public static final Material GLOWSTONE = MaterialUtils.generateMaterialFromGtENUM(Materials.Glowstone); - - // Enderpearl - public static final Material ENDERPEARL = MaterialUtils.generateMaterialFromGtENUM(Materials.EnderPearl); - - // Raw Flesh - public static final Material MEAT = MaterialUtils.generateMaterialFromGtENUM(Materials.MeatRaw); - - // Clay - public static final Material CLAY = MaterialUtils.generateMaterialFromGtENUM(Materials.Clay); - - // Wrought Iron - public static final Material WROUGHT_IRON = MaterialUtils.generateMaterialFromGtENUM(Materials.WroughtIron); - - // PTFE - public static final Material PTFE = MaterialUtils - .generateMaterialFromGtENUM(MaterialUtils.getMaterial("Polytetrafluoroethylene", "Plastic")); - - // Plastic - public static final Material PLASTIC = MaterialUtils - .generateMaterialFromGtENUM(MaterialUtils.getMaterial("Plastic", "Rubber")); - - static { - MEAT.setTextureSet(TextureSet.SET_ROUGH); - CLAY.setTextureSet(TextureSet.SET_ROUGH); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/ORES.java b/gtpp/src/main/java/gtPlusPlus/core/material/ORES.java deleted file mode 100644 index 5079639e38..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/ORES.java +++ /dev/null @@ -1,701 +0,0 @@ -package gtPlusPlus.core.material; - -import gregtech.api.enums.TextureSet; -import gtPlusPlus.core.client.CustomTextureSet.TextureSets; -import gtPlusPlus.core.material.state.MaterialState; - -public final class ORES { - - public static final Material AGARDITE_CD = new Material( - "Agardite (Cd)", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 170, 188, 33, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (CdCa)Cu7(AsO2)4(O2H)5·3H2O - new MaterialStack(ELEMENT.getInstance().CADMIUM, 1), new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), - new MaterialStack(ELEMENT.getInstance().COPPER, 7), new MaterialStack(ELEMENT.getInstance().ARSENIC, 4), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 21), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 11) }); - - public static final Material AGARDITE_LA = new Material( - "Agardite (La)", // Material Name - MaterialState.ORE, // State - TextureSet.SET_FINE, // Texture Set - new short[] { 206, 232, 9, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (LaCa)Cu5(AsO6)2(OH)4·3H2O - new MaterialStack(ELEMENT.getInstance().LANTHANUM, 1), new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), - new MaterialStack(ELEMENT.getInstance().COPPER, 5), new MaterialStack(ELEMENT.getInstance().ARSENIC, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 19), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 10) }); - - public static final Material AGARDITE_ND = new Material( - "Agardite (Nd)", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 225, 244, 78, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (NdCa)Cu6(As3O3)2(O2H)6·3H2O - new MaterialStack(ELEMENT.getInstance().NEODYMIUM, 1), new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), - new MaterialStack(ELEMENT.getInstance().COPPER, 6), new MaterialStack(ELEMENT.getInstance().ARSENIC, 6), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 21), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 12) }); - - public static final Material AGARDITE_Y = new Material( - "Agardite (Y)", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 210, 232, 44, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (YCa)Cu5(As2O4)3(OH)6·3H2O - new MaterialStack(ELEMENT.getInstance().YTTRIUM, 1), new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), - new MaterialStack(ELEMENT.getInstance().COPPER, 5), new MaterialStack(ELEMENT.getInstance().ARSENIC, 6), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 21), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 12) }); - - // Alburnite - // Ag8GeTe2S4 - public static final Material ALBURNITE = new Material( - "Alburnite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 16, 5, 105, 0 }, // Material Colour - -1, - -1, - -1, - -1, - 0, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().GOLD, 8), new MaterialStack(ELEMENT.getInstance().GERMANIUM, 1), - new MaterialStack(ELEMENT.getInstance().TELLURIUM, 2), - new MaterialStack(ELEMENT.getInstance().SULFUR, 4) }); - - public static final Material CERITE = new Material( - "Cerite", // Material Name - MaterialState.ORE, // State - TextureSets.REFINED.get(), // Texture Set - new short[] { 68, 13, 0, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (Ce,La,Ca)9(Mg,Fe+3)(SiO4)6(SiO3OH)(OH)3 - new MaterialStack(ELEMENT.getInstance().CERIUM, 9), new MaterialStack(ELEMENT.getInstance().LANTHANUM, 9), - new MaterialStack(ELEMENT.getInstance().CALCIUM, 9), new MaterialStack(ELEMENT.getInstance().MAGNESIUM, 3), - new MaterialStack(ELEMENT.getInstance().IRON, 3), new MaterialStack(ELEMENT.getInstance().SILICON, 7), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 20), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 4) }); - - // Comancheite - // Hg55N24(NH2,OH)4(Cl,Br)34 - public static final Material COMANCHEITE = new Material( - "Comancheite", // Material Name - MaterialState.ORE, // State - TextureSets.REFINED.get(), // Texture Set - new short[] { 65, 205, 105, 0 }, // Material Colour - -1, - -1, - -1, - -1, - 0, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().MERCURY, 54 / 4), - new MaterialStack(ELEMENT.getInstance().NITROGEN, 28 / 4), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 12 / 4), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 8 / 4), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 34 / 4), - new MaterialStack(ELEMENT.getInstance().BROMINE, 34 / 4) }); - - public static final Material CROCROITE = new Material( - "Crocoite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_GEM_VERTICAL, // Texture Set - new short[] { 255, 143, 84, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().LEAD, 2), - new MaterialStack(ELEMENT.getInstance().CHROMIUM, 2), new MaterialStack(ELEMENT.getInstance().OXYGEN, 3), - new MaterialStack(ELEMENT.getInstance().CAESIUM, 1), }); - - public static final Material CRYOLITE = new Material( - "Cryolite (F)", // Material Name - MaterialState.ORE, // State - TextureSet.SET_SHINY, // Texture Set - new short[] { 205, 205, 255, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().SODIUM, 3), new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 6) }); - - // Demicheleite-(Br) - // BiSBr - public static final Material DEMICHELEITE_BR = new Material( - "Demicheleite (Br)", // Material Name - MaterialState.ORE, // State - TextureSet.SET_SHINY, // Texture Set - new short[] { 165, 75, 75, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().BISMUTH, 13), new MaterialStack(ELEMENT.getInstance().SULFUR, 11), - new MaterialStack(ELEMENT.getInstance().BROMINE, 1) }); - - public static final Material FLORENCITE = new Material( - "Florencite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 249, 249, 124, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // SmAl3(PO4)2(OH)6 - new MaterialStack(ELEMENT.getInstance().SAMARIUM, 1), new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 3), - new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 1), new MaterialStack(ELEMENT.getInstance().OXYGEN, 10), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 6) }); - - public static final Material FLUORCAPHITE = new Material( - "Fluorcaphite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_FINE, // Texture Set - new short[] { 255, 255, 30, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (Ca,Sr,Ce,Na)5(PO4)3F - new MaterialStack(ELEMENT.getInstance().CALCIUM, 5), new MaterialStack(MISC_MATERIALS.STRONTIUM_OXIDE, 5), - new MaterialStack(ELEMENT.getInstance().CERIUM, 5), new MaterialStack(ELEMENT.getInstance().SODIUM, 5), - new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 3), new MaterialStack(ELEMENT.getInstance().OXYGEN, 12), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 6), }); - - // Gadolinite_Ce - public static final Material GADOLINITE_CE = new Material( - "Gadolinite (Ce)", // Material Name - MaterialState.ORE, // State - TextureSets.REFINED.get(), // Texture Set - new short[] { 15, 159, 59, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CERIUM, 4), - new MaterialStack(ELEMENT.getInstance().ERBIUM, 2), new MaterialStack(ELEMENT.getInstance().LANTHANUM, 2), - new MaterialStack(ELEMENT.getInstance().NEODYMIUM, 2), new MaterialStack(ELEMENT.getInstance().YTTRIUM, 2), - new MaterialStack(ELEMENT.getInstance().GADOLINIUM, 1), - new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 2), new MaterialStack(ELEMENT.getInstance().SILICON, 7), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 14), }); - - // Gadolinite_Y - public static final Material GADOLINITE_Y = new Material( - "Gadolinite (Y)", // Material Name - MaterialState.ORE, // State - TextureSets.REFINED.get(), // Texture Set - new short[] { 35, 189, 99, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CERIUM, 2), - new MaterialStack(ELEMENT.getInstance().ERBIUM, 2), new MaterialStack(ELEMENT.getInstance().LANTHANUM, 2), - new MaterialStack(ELEMENT.getInstance().NEODYMIUM, 2), new MaterialStack(ELEMENT.getInstance().YTTRIUM, 4), - new MaterialStack(ELEMENT.getInstance().GADOLINIUM, 2), - new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 3), new MaterialStack(ELEMENT.getInstance().SILICON, 4), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 9), }); - - public static final Material GEIKIELITE = new Material( - "Geikielite", // Material Name - MaterialState.ORE, // State - TextureSets.GEM_A.get(), // Texture Set - new short[] { 187, 193, 204, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().MAGNESIUM, 1), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 1), new MaterialStack(ELEMENT.getInstance().OXYGEN, 3) }); - - public static final Material GREENOCKITE = new Material( - "Greenockite", // Material Name - MaterialState.ORE, // State - TextureSets.GEM_A.get(), // Texture Set - new short[] { 110, 193, 25, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CADMIUM, 1), - new MaterialStack(ELEMENT.getInstance().SULFUR, 1), }); - - public static final Material HIBONITE = new Material( - "Hibonite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 58, 31, 0, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // ((Ca,Ce)(Al,Ti,Mg)12O19) - new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), new MaterialStack(ELEMENT.getInstance().CERIUM, 1), - new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 12), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 12), - new MaterialStack(ELEMENT.getInstance().MAGNESIUM, 12), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 19), }); - - // Honeaite - // Au3TlTe2 - public static final Material HONEAITE = new Material( - "Honeaite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_FINE, // Texture Set - new short[] { 165, 165, 5, 0 }, // Material Colour - -1, - -1, - -1, - -1, - 0, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().GOLD, 3), new MaterialStack(ELEMENT.getInstance().THALLIUM, 1), - new MaterialStack(ELEMENT.getInstance().TELLURIUM, 2) }); - - // Irarsite - // (Ir,Ru,Rh,Pt)AsS - public static final Material IRARSITE = new Material( - "Irarsite", // Material Name - MaterialState.ORE, // State - TextureSets.ENRICHED.get(), // Texture Set - new short[] { 125, 105, 105, 0 }, // Material Colour - -1, - -1, - -1, - -1, - 0, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().IRIDIUM, 1), new MaterialStack(ELEMENT.getInstance().RUTHENIUM, 1), - new MaterialStack(ELEMENT.getInstance().RHODIUM, 1), new MaterialStack(ELEMENT.getInstance().PLATINUM, 1), - new MaterialStack(ELEMENT.getInstance().ARSENIC, 1), new MaterialStack(ELEMENT.getInstance().SULFUR, 1), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 1) }); - - // Kashinite - // (Ir,Rh)2S3 - public static final Material KASHINITE = new Material( - "Kashinite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_SHINY, // Texture Set - new short[] { 75, 105, 75, 0 }, // Material Colour - -1, - -1, - -1, - -1, - 0, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().IRIDIUM, 2), new MaterialStack(ELEMENT.getInstance().RHODIUM, 2), - new MaterialStack(ELEMENT.getInstance().SULFUR, 3) }); - - // Tl(Cl,Br) - public static final Material LAFOSSAITE = new Material( - "Lafossaite", // Material Name - MaterialState.ORE, // State - TextureSets.REFINED.get(), // Texture Set - new short[] { 165, 105, 205, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().CHLORINE, 1), new MaterialStack(ELEMENT.getInstance().BROMINE, 1), - new MaterialStack(ELEMENT.getInstance().THALLIUM, 1) }); - - public static final Material LANTHANITE_CE = new Material( - "Lanthanite (Ce)", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 186, 113, 179, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (Ce)2(CO3)3·8(H2O) - new MaterialStack(ELEMENT.getInstance().CERIUM, 2), new MaterialStack(ELEMENT.getInstance().OXYGEN, 3), - new MaterialStack(ELEMENT.getInstance().CALCIUM, 3), new MaterialStack(ELEMENT.getInstance().HYDROGEN, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 1), }); - - public static final Material LANTHANITE_LA = new Material( - "Lanthanite (La)", // Material Name - MaterialState.ORE, // State - TextureSets.REFINED.get(), // Texture Set - new short[] { 219, 160, 214, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (La)2(CO3)3·8(H2O) - new MaterialStack(ELEMENT.getInstance().LANTHANUM, 2), new MaterialStack(ELEMENT.getInstance().OXYGEN, 3), - new MaterialStack(ELEMENT.getInstance().CALCIUM, 3), new MaterialStack(ELEMENT.getInstance().HYDROGEN, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 1), }); - - public static final Material LANTHANITE_ND = new Material( - "Lanthanite (Nd)", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 153, 76, 145, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (Nd)2(CO3)3·8(H2O) - new MaterialStack(ELEMENT.getInstance().NEODYMIUM, 2), new MaterialStack(ELEMENT.getInstance().OXYGEN, 3), - new MaterialStack(ELEMENT.getInstance().CALCIUM, 3), new MaterialStack(ELEMENT.getInstance().HYDROGEN, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 1), }); - - // Iodine Source - public static final Material LAUTARITE = new Material( - "Lautarite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_FINE, // Texture Set - new short[] { 165, 105, 205, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), new MaterialStack(ELEMENT.getInstance().IODINE, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 6) }); - - public static final Material LEPERSONNITE = new Material( - "Lepersonnite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_EMERALD, // Texture Set - new short[] { 175, 175, 20, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), - new MaterialStack(ELEMENT.getInstance().YTTERBIUM, 3), - new MaterialStack(ELEMENT.getInstance().GADOLINIUM, 2), - new MaterialStack(ELEMENT.getInstance().DYSPROSIUM, 2), - new MaterialStack(ELEMENT.getInstance().URANIUM235, 2), new MaterialStack(ELEMENT.getInstance().OXYGEN, 29), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 24) }); - - // Miessiite - // Pd11Te2Se2 - public static final Material MIESSIITE = new Material( - "Miessiite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_FINE, // Texture Set - new short[] { 75, 75, 75, 0 }, // Material Colour - -1, - -1, - -1, - -1, - 0, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().PALLADIUM, 11), - new MaterialStack(ELEMENT.getInstance().TELLURIUM, 2), - new MaterialStack(ELEMENT.getInstance().SELENIUM, 2) }); - - public static final Material NICHROMITE = new Material( - "Nichromite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 22, 19, 19, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NICKEL, 1), - new MaterialStack(ELEMENT.getInstance().COBALT, 1), new MaterialStack(ELEMENT.getInstance().IRON, 3), - new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 2), new MaterialStack(ELEMENT.getInstance().CHROMIUM, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 8) }); - - // Perroudite - // Hg5Ag4S5(I,Br)2Cl2 - public static final Material PERROUDITE = new Material( - "Perroudite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 77, 165, 174, 0 }, // Material Colour - -1, - -1, - -1, - -1, - 0, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().SULFUR, 5), - new MaterialStack(ELEMENT.getInstance().SILVER, 4), new MaterialStack(ELEMENT.getInstance().IODINE, 2), - new MaterialStack(ELEMENT.getInstance().MERCURY, 5), new MaterialStack(ELEMENT.getInstance().BROMINE, 2), - new MaterialStack(ELEMENT.getInstance().CHLORINE, 2) }); - - public static final Material POLYCRASE = new Material( - "Polycrase", // Material Name - MaterialState.ORE, // State - TextureSet.SET_ROUGH, // Texture Set - new short[] { 51, 0, 11, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().YTTRIUM, 1), - new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), new MaterialStack(ELEMENT.getInstance().CERIUM, 1), - new MaterialStack(ELEMENT.getInstance().URANIUM235, 1), new MaterialStack(ELEMENT.getInstance().THORIUM, 1), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 2), new MaterialStack(ELEMENT.getInstance().NIOBIUM, 2), - new MaterialStack(ELEMENT.getInstance().TANTALUM, 2), new MaterialStack(ELEMENT.getInstance().OXYGEN, 6) }); - - // Radiobarite - // Radium, Barium, Barite? - public static final Material RADIOBARITE = new Material( - "Barite (Rd)", // Material Name - MaterialState.ORE, // State - TextureSet.SET_FLINT, // Texture Set - new short[] { 205, 205, 205, 0 }, // Material Colour - -1, - -1, - -1, - -1, - 0, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().BARIUM, 32), new MaterialStack(ELEMENT.getInstance().RADIUM, 1), - new MaterialStack(ELEMENT.getInstance().SULFUR, 16), new MaterialStack(ELEMENT.getInstance().OXYGEN, 15) }); - - // Samarskite_Y - public static final Material SAMARSKITE_Y = new Material( - "Samarskite (Y)", // Material Name - MaterialState.ORE, // State - TextureSets.ENRICHED.get(), // Texture Set - new short[] { 65, 163, 164, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().YTTRIUM, 2), // Y not YT/YB - new MaterialStack(ELEMENT.getInstance().IRON, 10), new MaterialStack(ELEMENT.getInstance().URANIUM235, 2), - new MaterialStack(ELEMENT.getInstance().THORIUM, 3), new MaterialStack(ELEMENT.getInstance().NIOBIUM, 2), - new MaterialStack(ELEMENT.getInstance().TANTALUM, 3) }); - - // Samarskite_YB - public static final Material SAMARSKITE_YB = new Material( - "Samarskite (Yb)", // Material Name - MaterialState.ORE, // State - TextureSets.ENRICHED.get(), // Texture Set - new short[] { 95, 193, 194, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().YTTERBIUM, 2), // Y not YT/YB - new MaterialStack(ELEMENT.getInstance().IRON, 9), new MaterialStack(ELEMENT.getInstance().URANIUM235, 3), - new MaterialStack(ELEMENT.getInstance().THORIUM, 2), new MaterialStack(ELEMENT.getInstance().NIOBIUM, 3), - new MaterialStack(ELEMENT.getInstance().TANTALUM, 2) }); - - public static final Material TITANITE = new Material( - "Titanite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 184, 198, 105, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CALCIUM, 2), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 2), new MaterialStack(ELEMENT.getInstance().SILICON, 2), - new MaterialStack(ELEMENT.getInstance().THORIUM, 1), new MaterialStack(ELEMENT.getInstance().OXYGEN, 10) }); - - public static final Material XENOTIME = new Material( - "Xenotime", // Material Name - MaterialState.ORE, // State - TextureSet.SET_OPAL, // Texture Set - new short[] { 235, 89, 199, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().YTTRIUM, 2), - new MaterialStack(ELEMENT.getInstance().YTTERBIUM, 2), new MaterialStack(ELEMENT.getInstance().ERBIUM, 2), - new MaterialStack(ELEMENT.getInstance().EUROPIUM, 1), - new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 8) }); - - public static final Material YTTRIAITE = new Material( // TODO - "Yttriaite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_METALLIC, // Texture Set - new short[] { 255, 143, 84, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().YTTRIUM, 1), // Y not YT/YB - new MaterialStack(ELEMENT.getInstance().OXYGEN, 3), new MaterialStack(ELEMENT.getInstance().IRON, 4), - new MaterialStack(ELEMENT.getInstance().TIN, 1), new MaterialStack(ELEMENT.getInstance().NITROGEN, 2) }); - - public static final Material YTTRIALITE = new Material( - "Yttrialite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_RUBY, // Texture Set - new short[] { 35, 189, 99, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().YTTRIUM, 2), - new MaterialStack(ELEMENT.getInstance().THORIUM, 2), new MaterialStack(ELEMENT.getInstance().SILICON, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 7), }); - - public static final Material YTTROCERITE = new Material( - "Yttrocerite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_DIAMOND, // Texture Set - new short[] { 35, 19, 199, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CERIUM, 1), - new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), new MaterialStack(ELEMENT.getInstance().FLUORINE, 5), - new MaterialStack(ELEMENT.getInstance().YTTRIUM, 1), }); - - public static final Material ZIMBABWEITE = new Material( - "Zimbabweite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_FINE, // Texture Set - new short[] { 193, 187, 131, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CALCIUM, 2), - new MaterialStack(ELEMENT.getInstance().POTASSIUM, 2), new MaterialStack(ELEMENT.getInstance().LEAD, 1), - new MaterialStack(ELEMENT.getInstance().ARSENIC, 4), new MaterialStack(ELEMENT.getInstance().NIOBIUM, 4), - new MaterialStack(ELEMENT.getInstance().TANTALUM, 4), new MaterialStack(ELEMENT.getInstance().TITANIUM, 4), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 18) }); - - public static final Material ZIRCON = new Material( - "Zircon", // Material Name - MaterialState.ORE, // State - TextureSets.GEM_A.get(), // Texture Set - new short[] { 195, 19, 19, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 1), - new MaterialStack(ELEMENT.getInstance().SILICON, 1), new MaterialStack(ELEMENT.getInstance().OXYGEN, 4), }); - - public static final Material ZIRCONILITE = new Material( - "Zirconolite", // Material Name - MaterialState.ORE, // State - TextureSet.SET_FINE, // Texture Set - new short[] { 45, 26, 0, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CALCIUM, 2), - new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 2), new MaterialStack(ELEMENT.getInstance().TITANIUM, 4), - new MaterialStack(ELEMENT.getInstance().CERIUM, 1), new MaterialStack(ELEMENT.getInstance().OXYGEN, 14) }); - - public static final Material ZIRCOPHYLLITE = new Material( - "Zircophyllite", // Material Name - MaterialState.ORE, // State - TextureSets.REFINED.get(), // Texture Set - new short[] { 30, 0, 6, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().POTASSIUM, 3), - new MaterialStack(ELEMENT.getInstance().SODIUM, 3), new MaterialStack(ELEMENT.getInstance().MANGANESE, 7), - new MaterialStack(ELEMENT.getInstance().IRON, 7), new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 2), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 2), new MaterialStack(ELEMENT.getInstance().NIOBIUM, 2), - new MaterialStack(ELEMENT.getInstance().SILICON, 8), new MaterialStack(ELEMENT.getInstance().OXYGEN, 13), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 7), }); - - public static final Material ZIRKELITE = new Material( - "Zirkelite", // Material Name - MaterialState.ORE, // State - TextureSets.GEM_A.get(), // Texture Set - new short[] { 229, 208, 48, 0 }, // Material Colour - -1, - -1, - -1, - -1, - -1, // Radiation - new MaterialStack[] { // (Ca,Th,Ce)Zr(Ti,Nb)2O7 - new MaterialStack(ELEMENT.getInstance().CALCIUM, 1), new MaterialStack(ELEMENT.getInstance().THORIUM, 1), - new MaterialStack(ELEMENT.getInstance().CERIUM, 1), new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 1), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 2), new MaterialStack(ELEMENT.getInstance().NIOBIUM, 2), - new MaterialStack(ELEMENT.getInstance().OXYGEN, 7) }); - - public static final Material DEEP_EARTH_REACTOR_FUEL_DEPOSIT = new Material( - "Radioactive Mineral Mix", // Material Name - MaterialState.ORE, // State - TextureSets.NUCLEAR.get(), // Texture Set - null, // Material Colour - -1, - -1, - -1, - -1, - 4, // Radiation - new MaterialStack[] { // Na3AlF6 - new MaterialStack(ELEMENT.getInstance().RADON, 2), new MaterialStack(ELEMENT.getInstance().RADIUM, 1), - new MaterialStack(ELEMENT.getInstance().URANIUM235, 1), - new MaterialStack(ELEMENT.getInstance().URANIUM238, 10), - new MaterialStack(ELEMENT.getInstance().THORIUM, 25), - new MaterialStack(ELEMENT.getInstance().THORIUM232, 4), new MaterialStack(FLUORCAPHITE, 6), - new MaterialStack(SAMARSKITE_Y, 8), new MaterialStack(TITANITE, 4) }); -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/Particle.java b/gtpp/src/main/java/gtPlusPlus/core/material/Particle.java deleted file mode 100644 index b5cd30184e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/Particle.java +++ /dev/null @@ -1,154 +0,0 @@ -package gtPlusPlus.core.material; - -import net.minecraft.item.ItemStack; - -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.chemistry.IonParticles; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class Particle { - - public static final Particle GRAVITON; - - public static final Particle UP; - public static final Particle DOWN; - public static final Particle CHARM; - public static final Particle STRANGE; - public static final Particle TOP; - public static final Particle BOTTOM; - - public static final Particle ELECTRON; - public static final Particle ELECTRON_NEUTRINO; - public static final Particle MUON; - public static final Particle MUON_NEUTRINO; - public static final Particle TAU; - public static final Particle TAU_NEUTRINO; - - public static final Particle GLUON; - public static final Particle PHOTON; - public static final Particle Z_BOSON; - public static final Particle W_BOSON; - public static final Particle HIGGS_BOSON; - - public static final Particle PROTON; - public static final Particle NEUTRON; - public static final Particle LAMBDA; - public static final Particle OMEGA; - - public static final Particle PION; - public static final Particle ETA_MESON; - - public static final Particle UNKNOWN; - - public static final AutoMap aMap = new AutoMap<>(); - - static { - - /* - * Standard Model of Physics - */ - - // I exist, because I must. - GRAVITON = new Particle(ElementaryGroup.BOSON, "Graviton"); - - // Quarks - UP = new Particle(ElementaryGroup.QUARK, "Up"); - DOWN = new Particle(ElementaryGroup.QUARK, "Down"); - CHARM = new Particle(ElementaryGroup.QUARK, "Charm"); - STRANGE = new Particle(ElementaryGroup.QUARK, "Strange"); - TOP = new Particle(ElementaryGroup.QUARK, "Top"); - BOTTOM = new Particle(ElementaryGroup.QUARK, "Bottom"); - - // Leptons - ELECTRON = new Particle(ElementaryGroup.LEPTON, "Electron"); - MUON = new Particle(ElementaryGroup.LEPTON, "Muon"); - TAU = new Particle(ElementaryGroup.LEPTON, "Tau"); - ELECTRON_NEUTRINO = new Particle(ElementaryGroup.LEPTON, "Electron Neutrino"); - MUON_NEUTRINO = new Particle(ElementaryGroup.LEPTON, "Muon Neutrino"); - TAU_NEUTRINO = new Particle(ElementaryGroup.LEPTON, "Tau Neutrino"); - - // Bosons - GLUON = new Particle(ElementaryGroup.BOSON, "Gluon"); - PHOTON = new Particle(ElementaryGroup.BOSON, "Photon"); - Z_BOSON = new Particle(ElementaryGroup.BOSON, "Z Boson"); - W_BOSON = new Particle(ElementaryGroup.BOSON, "W Boson"); - HIGGS_BOSON = new Particle(ElementaryGroup.BOSON, "Higgs Boson"); - - /* - * Composite Particles - */ - - // Baryons - PROTON = new Particle(ElementaryGroup.BARYON, "Proton", new Particle[] { UP, UP, DOWN }); - NEUTRON = new Particle(ElementaryGroup.BARYON, "Neutron", new Particle[] { UP, DOWN, DOWN }); - LAMBDA = new Particle(ElementaryGroup.BARYON, "Lambda", new Particle[] { UP, DOWN, STRANGE }); - OMEGA = new Particle(ElementaryGroup.BARYON, "Omega", new Particle[] { STRANGE, STRANGE, STRANGE }); - - // Mesons - PION = new Particle(ElementaryGroup.MESON, "Pion", new Particle[] { MUON, MUON_NEUTRINO }); - ETA_MESON = new Particle(ElementaryGroup.MESON, "ETA Meson", new Particle[] { PION, PION, PION }); - - // Wildcard - UNKNOWN = new Particle(ElementaryGroup.UNKNOWN, "Unknown"); - } - - public static enum ElementaryGroup { - QUARK, - LEPTON, - BOSON, - BARYON, - MESON, - UNKNOWN; - } - - public final ElementaryGroup mParticleType; - public final String mParticleName; - public final Particle[] mComposition; - - public Particle(ElementaryGroup aParticleType, String aParticleName) { - this(aParticleType, aParticleName, null); - } - - public Particle(ElementaryGroup aParticleType, String aParticleName, Particle[] aComposition) { - mParticleType = aParticleType; - mParticleName = aParticleName; - mComposition = aComposition == null ? new Particle[] { this } : aComposition; - aMap.put(this); - } - - public static ItemStack getIon(String aElementName, int aCharge) { - for (String g : gtPlusPlus.core.item.chemistry.IonParticles.NameToMetaMap.keySet()) { - if (g.toLowerCase() - .equals(Utils.sanitizeString(aElementName.toLowerCase()))) { - Integer meta = gtPlusPlus.core.item.chemistry.IonParticles.NameToMetaMap - .get(Utils.sanitizeString(aElementName.toLowerCase())); - if (meta == null) { - meta = 0; - } - ItemStack aIon = ItemUtils.simpleMetaStack(ModItems.itemIonParticleBase, meta, 1); - if (aCharge != 0) { - IonParticles.setChargeState(aIon, aCharge); - } - return aIon; - } - } - return null; - } - - public static ItemStack getBaseParticle(Particle aParticle) { - String aPartName = Utils.sanitizeString(aParticle.mParticleName.toLowerCase()); - for (String g : gtPlusPlus.core.item.chemistry.StandardBaseParticles.NameToMetaMap.keySet()) { - if (g.toLowerCase() - .equals(aPartName)) { - Integer meta = gtPlusPlus.core.item.chemistry.StandardBaseParticles.NameToMetaMap.get(aPartName); - if (meta == null) { - meta = 0; - } - return ItemUtils.simpleMetaStack(ModItems.itemStandarParticleBase, meta, 1); - } - } - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/nuclear/FLUORIDES.java b/gtpp/src/main/java/gtPlusPlus/core/material/nuclear/FLUORIDES.java deleted file mode 100644 index 5a50a604da..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/nuclear/FLUORIDES.java +++ /dev/null @@ -1,244 +0,0 @@ -package gtPlusPlus.core.material.nuclear; - -import gregtech.api.enums.Materials; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialStack; -import gtPlusPlus.core.material.state.MaterialState; - -public class FLUORIDES { - - public static final Material FLUORITE = new Material( - "Fluorite (F)", // Material Name - MaterialState.ORE, // State - null, // Material Colour - Materials.Fluorine.mMeltingPoint, // Melting Point in C - Materials.Fluorine.mBlastFurnaceTemp, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - false, // Generate cells - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().CALCIUM, 16), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 32), new MaterialStack(ELEMENT.getInstance().IRON, 4), - new MaterialStack(ELEMENT.getInstance().CARBON, 2) }); - - // ThF4 - public static final Material THORIUM_TETRAFLUORIDE = new Material( - "Thorium Tetrafluoride", // Material Name - MaterialState.LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().THORIUM232, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 4) }); - - // ThF6 - public static final Material THORIUM_HEXAFLUORIDE = new Material( - "Thorium Hexafluoride", // Material Name - MaterialState.LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().THORIUM232, 1), - new MaterialStack(ELEMENT.getInstance().THORIUM, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 12) }); - - // UF4 - public static final Material URANIUM_TETRAFLUORIDE = new Material( - "Uranium Tetrafluoride", // Material Name - MaterialState.LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().URANIUM233, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 4) }); - - // UF6 - public static final Material URANIUM_HEXAFLUORIDE = new Material( - "Uranium Hexafluoride", // Material Name - MaterialState.LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 2) }); - - // ZrF4 - - public static final Material ZIRCONIUM_TETRAFLUORIDE = new Material( - "Zirconium Tetrafluoride", // Material Name - MaterialState.LIQUID, // State - null, // Texture Set (Autogenerated) - 0, - null, // Material Colour - -1, - -1, - -1, - -1, - false, - "ZrF\u2084", - -1, - true, - false, - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 4) }); - - /* - * public static final Material ZIRCONIUM_TETRAFLUORIDE = new Material( "Zirconium Tetrafluoride", //Material Name - * MaterialState.LIQUID, //State null, //Material Colour -1, //Melting Point in C -1, //Boiling Point in C -1, - * //Protons -1, //Neutrons false, //Uses Blast furnace? //Material Stacks with Percentage of required elements. new - * MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 1), new - * MaterialStack(ELEMENT.getInstance().FLUORINE, 4) }); - */ - - // BeF2 - public static final Material BERYLLIUM_FLUORIDE = new Material( - "Beryllium Fluoride", // Material Name - MaterialState.LIQUID, // State - null, // Material Colour - -1, - -1, - -1, - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 2) }); - - // LiF - public static final Material LITHIUM_FLUORIDE = new Material( - "Lithium Fluoride", // Material Name - MaterialState.LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().LITHIUM7, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 1) }); - - // LFTR sub components - - // (NH4)HF2 - public static final Material AMMONIUM_BIFLUORIDE = new Material( - "Ammonium Bifluoride", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - 126, // Melting Point in C - 240, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(MISC_MATERIALS.AMMONIUM, 1), - new MaterialStack(ELEMENT.getInstance().HYDROGEN, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 2) }); - - // Be(OH)2 - public static final Material BERYLLIUM_HYDROXIDE = new Material( - "Beryllium Hydroxide", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 1), - new MaterialStack(MISC_MATERIALS.HYDROXIDE, 2) }); - - // (NH4)2BeF4 - public static final Material AMMONIUM_TETRAFLUOROBERYLLATE = new Material( - "Ammonium Tetrafluoroberyllate", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - 280, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(MISC_MATERIALS.AMMONIUM, 2), - new MaterialStack(ELEMENT.getInstance().BERYLLIUM, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 4) }); - - // LFTR Output - public static final Material NEPTUNIUM_HEXAFLUORIDE = new Material( - "Neptunium Hexafluoride", // Material Name - MaterialState.GAS, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NEPTUNIUM, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 6) }); - - public static final Material TECHNETIUM_HEXAFLUORIDE = new Material( - "Technetium Hexafluoride", // Material Name - MaterialState.GAS, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().TECHNETIUM, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 6) }); - - public static final Material SELENIUM_HEXAFLUORIDE = new Material( - "Selenium Hexafluoride", // Material Name - MaterialState.GAS, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().SELENIUM, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 6) }); - - public static final Material SODIUM_FLUORIDE = new Material( - "Sodium Fluoride", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().SODIUM, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 1) }); - - private static final FLUORIDES INSTANCE = new FLUORIDES(); - - public static FLUORIDES getInstance() { - return INSTANCE; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/nuclear/NUCLIDE.java b/gtpp/src/main/java/gtPlusPlus/core/material/nuclear/NUCLIDE.java deleted file mode 100644 index ebd24bad07..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/nuclear/NUCLIDE.java +++ /dev/null @@ -1,311 +0,0 @@ -package gtPlusPlus.core.material.nuclear; - -import gtPlusPlus.core.client.CustomTextureSet.TextureSets; -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.data.StringUtils; - -public final class NUCLIDE { - - public static final Material Li2BeF4 = new Material( - "Lithium Tetrafluoroberyllate (LFTB)", // Material Name - MaterialState.LIQUID, // State - TextureSets.NUCLEAR.get(), - null, // Material Colour - 566, // Melting Point in C - 870, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "Li2BeF4"), // Chemical Formula - 4, // Radioactivity Level - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 2), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1) }); - - public static final Material LiFBeF2ThF4UF4 = new Material( - "LFTR Fuel 3", // Material Name - MaterialState.LIQUID, // State - TextureSets.NUCLEAR.get(), - null, // Material Colour - 566, // Melting Point in C - 870, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFBeF2ThF4UF4"), // Chemical Formula - 5, // Radioactivity Level - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 65), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 28), new MaterialStack(FLUORIDES.THORIUM_TETRAFLUORIDE, 1), - new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1) }); - - public static final Material LiFBeF2ZrF4UF4 = new Material( - "LFTR Fuel 2", // Material Name - MaterialState.LIQUID, // State - TextureSets.NUCLEAR.get(), - null, // Material Colour - 650, // Melting Point in C - 940, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFBeF2ZrF4UF4"), // Chemical Formula - 5, // Radioactivity Level - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 65), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 28), - new MaterialStack(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE, 5), - new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 2) }); - - public static final Material LiFBeF2ZrF4U235 = new Material( - "LFTR Fuel 1", // Material Name - MaterialState.LIQUID, // State - TextureSets.NUCLEAR.get(), - null, // Material Colour - 590, // Melting Point in C - 890, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFBeF2ZrF4") + StringUtils.superscript("235U"), // Chemical - // Formula - 5, // Radioactivity Level - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 55), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 25), - new MaterialStack(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE, 6), - new MaterialStack(ELEMENT.getInstance().URANIUM235, 14) }); - - // Misc - public static final Material BurntLftrFuel_MK1 = new Material( - "Burnt Reactor Fuel I", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiBeF2UF4FP"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().LITHIUM, 1), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1), new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1), - new MaterialStack(ELEMENT.getInstance().PROTACTINIUM, 1) }); - - public static final Material BurntLftrFuel_MK2 = new Material( - "Burnt Reactor Fuel II", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiBeF2UF4FP"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().LITHIUM, 1), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1), new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1), - new MaterialStack(ELEMENT.getInstance().PROTACTINIUM, 1) }); - - // LFTR Core Fluids - public static final Material LiFBeF2UF4FP = new Material( - "Uranium Depleted Molten Salt (U Salt)", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFBeF2UF4FP"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1), new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1), - new MaterialStack(ELEMENT.getInstance().PROTACTINIUM, 1) }); - - public static final Material Sparged_LiFBeF2UF4FP = new Material( - "Helium Sparged U Salt", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFBeF2UF4FP"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1), new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1), - new MaterialStack(ELEMENT.getInstance().PROTACTINIUM, 1) }); - - public static final Material UF6F2FP = new Material( - "Phosphorous Uranium Hexafluoride (P-UF6)", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript("UF6F2FP"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.URANIUM_HEXAFLUORIDE, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 3), - new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 1) }); - - public static final Material LiFBeF2 = new Material( - "Stable Molten Salt Base", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFBeF2"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1) }); - - public static final Material LiFBeF2UF4 = new Material( - "LFTR Fuel Base", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFBeF2UF4"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(LiFBeF2, 1), new MaterialStack(FLUORIDES.URANIUM_TETRAFLUORIDE, 1) }); - - // LFTR Blanket Fluids - - // Tier 1 Fuel blanket output - public static final Material LiFThF4 = new Material( - "Thorium Depleted Molten Salt (T Salt)", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFThF4"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1), - new MaterialStack(FLUORIDES.THORIUM_TETRAFLUORIDE, 1) }); - - // Tier 2 Fuel blanket output - public static final Material LiFBeF2ThF4 = new Material( - "Thorium-Beryllium Depleted Molten Salt (TB Salt)", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFBeF2ThF4"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1), - new MaterialStack(FLUORIDES.THORIUM_TETRAFLUORIDE, 1) }); - - // Tier 1 Fuel blanket output - public static final Material Sparged_LiFThF4 = new Material( - "Fluorine Sparged T Salt", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFThF4"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1), - new MaterialStack(FLUORIDES.THORIUM_TETRAFLUORIDE, 1) }); - - // Tier 2 Fuel blanket output - public static final Material Sparged_LiFBeF2ThF4 = new Material( - "Fluorine Sparged TB Salt", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript(StringUtils.superscript("7") + "LiFBeF2ThF4"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.LITHIUM_FLUORIDE, 1), - new MaterialStack(FLUORIDES.BERYLLIUM_FLUORIDE, 1), - new MaterialStack(FLUORIDES.THORIUM_TETRAFLUORIDE, 1) }); - - public static final Material UF6F2 = new Material( - "Fluorinated Uranium Hexafluoride (F-UF6)", // Material Name - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, // Neutrons - false, // Uses Blast furnace? - StringUtils.subscript("UF6F2"), // Chemical Formula - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(FLUORIDES.URANIUM_HEXAFLUORIDE, 1), - new MaterialStack(ELEMENT.getInstance().FLUORINE, 2) }); - - // Secondary material is molten metal - public static final Material NAQ_FUEL_T1 = new Material( - "Naquadah Fuel", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NAQUADAH, 2), - new MaterialStack(ELEMENT.getInstance().TANTALUM, 3) }); - - // Secondary material is a plasma - public static final Material NAQ_FUEL_T2 = new Material( - "Enriched Naquadah Fuel", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NAQUADAH_ENRICHED, 2), - new MaterialStack(ELEMENT.getInstance().TITANIUM, 3) }); - - // Secondary material is a plasma - public static final Material NAQ_FUEL_T3 = new Material( - "Naquadria Fuel", - MaterialState.PURE_LIQUID, // State - null, // Material Colour - -1, // Melting Point in C - -1, // Boiling Point in C - -1, // Protons - -1, - false, // Uses Blast furnace? - // Material Stacks with Percentage of required elements. - new MaterialStack[] { new MaterialStack(ELEMENT.getInstance().NAQUADRIA, 2), - new MaterialStack(ELEMENT.getInstance().AMERICIUM, 3) }); - - private static final NUCLIDE INSTANCE = new NUCLIDE(); - - public static NUCLIDE getInstance() { - return INSTANCE; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/material/state/MaterialState.java b/gtpp/src/main/java/gtPlusPlus/core/material/state/MaterialState.java deleted file mode 100644 index 9fb5cde101..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/material/state/MaterialState.java +++ /dev/null @@ -1,22 +0,0 @@ -package gtPlusPlus.core.material.state; - -public enum MaterialState { - - SOLID(0), - LIQUID(1), - GAS(2), - PLASMA(3), - PURE_LIQUID(4), - ORE(5), - PURE_GAS(6); - - private final int STATE; - - private MaterialState(final int State) { - this.STATE = State; - } - - public int ID() { - return this.STATE; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractClientMessageHandler.java b/gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractClientMessageHandler.java deleted file mode 100644 index 383f22dc23..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractClientMessageHandler.java +++ /dev/null @@ -1,14 +0,0 @@ -package gtPlusPlus.core.network.handler; - -import net.minecraft.entity.player.EntityPlayer; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; - -public abstract class AbstractClientMessageHandler extends AbstractMessageHandler { - - @Override - public final IMessage handleServerMessage(EntityPlayer player, T message, MessageContext ctx) { - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractMessageHandler.java b/gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractMessageHandler.java deleted file mode 100644 index a50bee6092..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractMessageHandler.java +++ /dev/null @@ -1,38 +0,0 @@ -package gtPlusPlus.core.network.handler; - -import net.minecraft.entity.player.EntityPlayer; - -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.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.GTplusplus; - -public abstract class AbstractMessageHandler implements IMessageHandler { - - /** - * Handle a message received on the client side - * - * @return a message to send back to the Server, or null if no reply is necessary - */ - @SideOnly(Side.CLIENT) - public abstract IMessage handleClientMessage(EntityPlayer player, T message, MessageContext ctx); - - /** - * Handle a message received on the server side - * - * @return a message to send back to the Client, or null if no reply is necessary - */ - public abstract IMessage handleServerMessage(EntityPlayer player, T message, MessageContext ctx); - - @Override - public IMessage onMessage(T message, MessageContext ctx) { - if (ctx.side.isClient()) { - return handleClientMessage(GTplusplus.proxy.getPlayerEntity(ctx), message, ctx); - } else { - // server side proxy will return the server side EntityPlayer - return handleServerMessage(GTplusplus.proxy.getPlayerEntity(ctx), message, ctx); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractServerMessageHandler.java b/gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractServerMessageHandler.java deleted file mode 100644 index a45bf8dd17..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/network/handler/AbstractServerMessageHandler.java +++ /dev/null @@ -1,14 +0,0 @@ -package gtPlusPlus.core.network.handler; - -import net.minecraft.entity.player.EntityPlayer; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; - -public abstract class AbstractServerMessageHandler extends AbstractMessageHandler { - - @Override - public final IMessage handleClientMessage(EntityPlayer player, T message, MessageContext ctx) { - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/network/packet/AbstractPacket.java b/gtpp/src/main/java/gtPlusPlus/core/network/packet/AbstractPacket.java deleted file mode 100644 index ef43795206..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/network/packet/AbstractPacket.java +++ /dev/null @@ -1,8 +0,0 @@ -package gtPlusPlus.core.network.packet; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; - -public interface AbstractPacket extends IMessage { - - public abstract String getPacketName(); -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui.java b/gtpp/src/main/java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui.java deleted file mode 100644 index 9dfa1dbad5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui.java +++ /dev/null @@ -1,127 +0,0 @@ -package gtPlusPlus.core.network.packet; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.network.handler.AbstractServerMessageHandler; -import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter; -import io.netty.buffer.ByteBuf; - -public class Packet_VolumetricFlaskGui extends AbstractServerMessageHandler - implements AbstractPacket { - - private int x; - private int y; - private int z; - private int flaskValue; - - public Packet_VolumetricFlaskGui() {} - - public Packet_VolumetricFlaskGui(TileEntityVolumetricFlaskSetter tile, int aCustomValue) { - x = tile.xCoord; - y = tile.yCoord; - z = tile.zCoord; - flaskValue = aCustomValue; - Logger.INFO("Created Packet with values (" + x + ", " + y + ", " + z + " | " + flaskValue + ")"); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeInt(flaskValue); - Logger.INFO("Writing to byte buffer."); - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - flaskValue = buf.readInt(); - Logger.INFO("Reading from byte buffer."); - } - - public int getX() { - return x; - } - - public void setX(int x) { - this.x = x; - } - - public int getY() { - return y; - } - - public void setY(int y) { - this.y = y; - } - - public int getZ() { - return z; - } - - public void setZ(int z) { - this.z = z; - } - - public int getCustomValue() { - return flaskValue; - } - - public void setCustomValue(int aVal) { - this.flaskValue = aVal; - } - - protected TileEntityVolumetricFlaskSetter getTileEntity(Packet_VolumetricFlaskGui message, MessageContext ctx) { - Logger.INFO("Trying to get tile."); - World worldObj = getWorld(ctx); - if (worldObj == null) { - Logger.INFO("Bad world object."); - return null; - } - TileEntity te = worldObj.getTileEntity(message.getX(), message.getY(), message.getZ()); - if (te == null) { - Logger.INFO("Bad Tile."); - return null; - } - if (te instanceof TileEntityVolumetricFlaskSetter) { - Logger.INFO("Found Tile."); - return (TileEntityVolumetricFlaskSetter) te; - } - Logger.INFO("Error."); - return null; - } - - protected World getWorld(MessageContext ctx) { - if (ctx.side == Side.SERVER) { - return ctx.getServerHandler().playerEntity.worldObj; - } else { - return GTplusplus.proxy.getClientWorld(); - } - } - - @Override - public IMessage handleServerMessage(EntityPlayer player, Packet_VolumetricFlaskGui message, MessageContext ctx) { - TileEntityVolumetricFlaskSetter te = getTileEntity(message, ctx); - if (te != null) { - Logger.INFO("Setting value on tile. " + message.getCustomValue()); - te.setCustomValue(message.getCustomValue()); - // return new Packet_VolumetricFlaskGui2(te, message.getCustomValue()); - } - return null; - } - - @Override - public String getPacketName() { - return "Packet_VoluemtricFlaskSetter_ToServer"; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui2.java b/gtpp/src/main/java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui2.java deleted file mode 100644 index 599469191b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui2.java +++ /dev/null @@ -1,126 +0,0 @@ -package gtPlusPlus.core.network.packet; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.network.handler.AbstractClientMessageHandler; -import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter; -import io.netty.buffer.ByteBuf; - -public class Packet_VolumetricFlaskGui2 extends AbstractClientMessageHandler - implements AbstractPacket { - - private int x; - private int y; - private int z; - private int flaskValue; - - public Packet_VolumetricFlaskGui2() {} - - public Packet_VolumetricFlaskGui2(TileEntityVolumetricFlaskSetter tile, int aCustomValue) { - x = tile.xCoord; - y = tile.yCoord; - z = tile.zCoord; - flaskValue = aCustomValue; - Logger.INFO("Created Packet with values (" + x + ", " + y + ", " + z + " | " + flaskValue + ")"); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeInt(flaskValue); - Logger.INFO("Writing to byte buffer."); - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - flaskValue = buf.readInt(); - Logger.INFO("Reading from byte buffer."); - } - - public int getX() { - return x; - } - - public void setX(int x) { - this.x = x; - } - - public int getY() { - return y; - } - - public void setY(int y) { - this.y = y; - } - - public int getZ() { - return z; - } - - public void setZ(int z) { - this.z = z; - } - - public int getCustomValue() { - return flaskValue; - } - - public void setCustomValue(int aVal) { - this.flaskValue = aVal; - } - - protected TileEntityVolumetricFlaskSetter getTileEntity(Packet_VolumetricFlaskGui2 message, MessageContext ctx) { - Logger.INFO("Trying to get tile."); - World worldObj = getWorld(ctx); - if (worldObj == null) { - Logger.INFO("Bad world object."); - return null; - } - TileEntity te = worldObj.getTileEntity(message.getX(), message.getY(), message.getZ()); - if (te == null) { - Logger.INFO("Bad Tile."); - return null; - } - if (te instanceof TileEntityVolumetricFlaskSetter) { - Logger.INFO("Found Tile."); - return (TileEntityVolumetricFlaskSetter) te; - } - Logger.INFO("Error."); - return null; - } - - protected World getWorld(MessageContext ctx) { - if (ctx.side == Side.SERVER) { - return ctx.getServerHandler().playerEntity.worldObj; - } else { - return GTplusplus.proxy.getClientWorld(); - } - } - - @Override - public String getPacketName() { - return "Packet_VoluemtricFlaskSetter_ToClient"; - } - - @Override - public IMessage handleClientMessage(EntityPlayer player, Packet_VolumetricFlaskGui2 message, MessageContext ctx) { - TileEntityVolumetricFlaskSetter te = getTileEntity(message, ctx); - if (te != null) { - Logger.INFO("Setting value on tile. " + message.getCustomValue()); - te.setCustomValue(message.getCustomValue()); - } - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/potion/GtPotionEffect.java b/gtpp/src/main/java/gtPlusPlus/core/potion/GtPotionEffect.java deleted file mode 100644 index 65e7d20af0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/potion/GtPotionEffect.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.potion; - -import net.minecraft.potion.PotionEffect; - -public class GtPotionEffect extends PotionEffect { - - public GtPotionEffect(int aPotionID, int aDurationInSecs, int aLevel) { - super(aPotionID, aDurationInSecs * 20, aLevel, false); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/proxy/ClientProxy.java b/gtpp/src/main/java/gtPlusPlus/core/proxy/ClientProxy.java deleted file mode 100644 index 5f6f93542e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/proxy/ClientProxy.java +++ /dev/null @@ -1,190 +0,0 @@ -package gtPlusPlus.core.proxy; - -import java.util.ArrayList; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.entity.RenderFireball; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.client.registry.ClientRegistry; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLLoadCompleteEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.client.renderer.CustomItemBlockRenderer; -import gtPlusPlus.core.client.renderer.CustomOreBlockRenderer; -import gtPlusPlus.core.client.renderer.RenderDecayChest; -import gtPlusPlus.core.client.renderer.RenderMiningExplosivesPrimed; -import gtPlusPlus.core.client.renderer.RenderSickBlaze; -import gtPlusPlus.core.client.renderer.RenderStaballoyConstruct; -import gtPlusPlus.core.client.renderer.RenderToxinball; -import gtPlusPlus.core.common.CommonProxy; -import gtPlusPlus.core.entity.EntityPrimedMiningExplosive; -import gtPlusPlus.core.entity.monster.EntitySickBlaze; -import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct; -import gtPlusPlus.core.entity.projectile.EntityLightningAttack; -import gtPlusPlus.core.entity.projectile.EntityToxinballSmall; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.lib.CORE.ConfigSwitches; -import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest; -import gtPlusPlus.nei.NEI_GTPP_Config; -import gtPlusPlus.xmod.gregtech.common.render.GTPP_CapeRenderer; -import gtPlusPlus.xmod.gregtech.common.render.GTPP_FlaskRenderer; -import gtPlusPlus.xmod.gregtech.common.render.GTPP_Render_MachineBlock; -import ic2.core.item.ItemFluidCell; - -public class ClientProxy extends CommonProxy implements Runnable { - - private final GTPP_CapeRenderer mCapeRenderer; - - @SideOnly(Side.CLIENT) - public static boolean mFancyGraphics = false; - - public ClientProxy() { - mCapeRenderer = new GTPP_CapeRenderer(); - // Get Graphics Mode. - mFancyGraphics = Minecraft.isFancyGraphicsEnabled(); - } - - @SubscribeEvent - public void receiveRenderSpecialsEvent(net.minecraftforge.client.event.RenderPlayerEvent.Specials.Pre aEvent) { - if (ConfigSwitches.enableCustomCapes) { - mCapeRenderer.receiveRenderSpecialsEvent(aEvent); - } - } - - @SideOnly(Side.CLIENT) - public static String playerName = ""; - - @Override - public void preInit(final FMLPreInitializationEvent e) { - super.preInit(e); - if (ConfigSwitches.enableCustomCapes) { - onPreLoad(); - } - // Do this weird things for textures. - GTplusplus.loadTextures(); - } - - @Override - public void init(final FMLInitializationEvent e) { - - /** - * Custom Block Renderers - */ - new CustomOreBlockRenderer(); - new CustomItemBlockRenderer(); - new GTPP_Render_MachineBlock(); - - new GTPP_FlaskRenderer(); - - MinecraftForge.EVENT_BUS.register(new NEI_GTPP_Config()); - - super.init(e); - } - - @Override - public void postInit(final FMLPostInitializationEvent e) { - super.postInit(e); - } - - @Override - public void registerRenderThings() { - - // Standard GT++ - - /** - * Entities - */ - RenderingRegistry - .registerEntityRenderingHandler(EntityPrimedMiningExplosive.class, new RenderMiningExplosivesPrimed()); - RenderingRegistry.registerEntityRenderingHandler(EntitySickBlaze.class, new RenderSickBlaze()); - RenderingRegistry - .registerEntityRenderingHandler(EntityStaballoyConstruct.class, new RenderStaballoyConstruct()); - RenderingRegistry.registerEntityRenderingHandler(EntityToxinballSmall.class, new RenderToxinball(1F)); - RenderingRegistry.registerEntityRenderingHandler(EntityLightningAttack.class, new RenderFireball(1F)); - - /** - * Tiles - */ - Logger.INFO("Registering Custom Renderer for the Lead Lined Chest."); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecayablesChest.class, new RenderDecayChest()); - Logger.INFO("Registering Custom Renderer for the Egg Box."); - - /** - * Items - */ - for (Pair sItemRenderMappings : mItemRenderMappings) { - MinecraftForgeClient.registerItemRenderer(sItemRenderMappings.getKey(), sItemRenderMappings.getValue()); - } - } - - @Override - public int addArmor(final String armor) { - return RenderingRegistry.addNewArmourRendererPrefix(armor); - } - - @Override - public void serverStarting(final FMLServerStartingEvent e) {} - - public void onPreLoad() { - - } - - @Override - public void run() { - - } - - @Override - public void onLoadComplete(FMLLoadCompleteEvent event) { - if (CORE.ConfigSwitches.hideUniversalCells) { - hideUniversalCells(); - } - super.onLoadComplete(event); - } - - public void hideUniversalCells() { - ArrayList itemList = new ArrayList<>(); - for (Fluid fluid : FluidRegistry.getRegisteredFluids() - .values()) { - if (fluid == null) { - continue; - } - itemList.add(ItemFluidCell.getUniversalFluidCell(new FluidStack(fluid, 2147483647))); - } - for (ItemStack aCell : itemList) { - codechicken.nei.api.API.hideItem(aCell); - } - } - - @Override - public World getClientWorld() { - return FMLClientHandler.instance() - .getClient().theWorld; - } - - @Override - public EntityPlayer getPlayerEntity(MessageContext ctx) { - return (ctx.side.isClient() ? Minecraft.getMinecraft().thePlayer : super.getPlayerEntity(ctx)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/proxy/ServerProxy.java b/gtpp/src/main/java/gtPlusPlus/core/proxy/ServerProxy.java deleted file mode 100644 index 73b027af10..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/proxy/ServerProxy.java +++ /dev/null @@ -1,28 +0,0 @@ -package gtPlusPlus.core.proxy; - -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; - -@SuppressWarnings("unused") -public class ServerProxy extends CommonProxy { - - @Override - public void preInit(final FMLPreInitializationEvent e) { - // TODO Auto-generated method stub - super.preInit(e); - } - - @Override - public void init(final FMLInitializationEvent e) { - // TODO Auto-generated method stub - super.init(e); - } - - @Override - public void postInit(final FMLPostInitializationEvent e) { - // TODO Auto-generated method stub - super.postInit(e); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java deleted file mode 100644 index a10d2cd05b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java +++ /dev/null @@ -1,114 +0,0 @@ -package gtPlusPlus.core.recipe; - -import gregtech.api.enums.ItemList; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class LOADER_Machine_Components { - - public static void initialise() { - registerDefaultComponents(); - - registerGTNHComponents(); - } - - private static void registerDefaultComponents() { - // Machine Components - CI.electricMotor_LV = ItemList.Electric_Motor_LV.get(1); - CI.electricMotor_MV = ItemList.Electric_Motor_MV.get(1); - CI.electricMotor_HV = ItemList.Electric_Motor_HV.get(1); - CI.electricMotor_EV = ItemList.Electric_Motor_EV.get(1); - CI.electricMotor_IV = ItemList.Electric_Motor_IV.get(1); - CI.electricPump_LV = ItemList.Electric_Pump_LV.get(1); - CI.electricPump_MV = ItemList.Electric_Pump_MV.get(1); - CI.electricPump_HV = ItemList.Electric_Pump_HV.get(1); - CI.electricPump_EV = ItemList.Electric_Pump_EV.get(1); - CI.electricPump_IV = ItemList.Electric_Pump_IV.get(1); - CI.electricPiston_LV = ItemList.Electric_Piston_LV.get(1); - CI.electricPiston_MV = ItemList.Electric_Piston_MV.get(1); - CI.electricPiston_HV = ItemList.Electric_Piston_HV.get(1); - CI.electricPiston_EV = ItemList.Electric_Piston_EV.get(1); - CI.electricPiston_IV = ItemList.Electric_Piston_IV.get(1); - CI.robotArm_LV = ItemList.Robot_Arm_LV.get(1); - CI.robotArm_MV = ItemList.Robot_Arm_MV.get(1); - CI.robotArm_HV = ItemList.Robot_Arm_HV.get(1); - CI.robotArm_EV = ItemList.Robot_Arm_EV.get(1); - CI.robotArm_IV = ItemList.Robot_Arm_IV.get(1); - CI.conveyorModule_LV = ItemList.Conveyor_Module_LV.get(1); - CI.conveyorModule_MV = ItemList.Conveyor_Module_MV.get(1); - CI.conveyorModule_HV = ItemList.Conveyor_Module_HV.get(1); - CI.conveyorModule_EV = ItemList.Conveyor_Module_EV.get(1); - CI.conveyorModule_IV = ItemList.Conveyor_Module_IV.get(1); - CI.emitter_LV = ItemList.Emitter_LV.get(1); - CI.emitter_MV = ItemList.Emitter_MV.get(1); - CI.emitter_HV = ItemList.Emitter_HV.get(1); - CI.emitter_EV = ItemList.Emitter_EV.get(1); - CI.emitter_IV = ItemList.Emitter_IV.get(1); - CI.fieldGenerator_LV = ItemList.Field_Generator_LV.get(1); - CI.fieldGenerator_MV = ItemList.Field_Generator_MV.get(1); - CI.fieldGenerator_HV = ItemList.Field_Generator_HV.get(1); - CI.fieldGenerator_EV = ItemList.Field_Generator_EV.get(1); - CI.fieldGenerator_IV = ItemList.Field_Generator_IV.get(1); - CI.sensor_LV = ItemList.Sensor_LV.get(1); - CI.sensor_MV = ItemList.Sensor_MV.get(1); - CI.sensor_HV = ItemList.Sensor_HV.get(1); - CI.sensor_EV = ItemList.Sensor_EV.get(1); - CI.sensor_IV = ItemList.Sensor_IV.get(1); - CI.fluidRegulator_LV = ItemList.FluidRegulator_LV.get(1); - CI.fluidRegulator_MV = ItemList.FluidRegulator_MV.get(1); - CI.fluidRegulator_HV = ItemList.FluidRegulator_HV.get(1); - CI.fluidRegulator_EV = ItemList.FluidRegulator_EV.get(1); - CI.fluidRegulator_IV = ItemList.FluidRegulator_IV.get(1); - } - - private static void registerGTNHComponents() { - // Machine Components - CI.electricMotor_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32606, 1); - CI.electricMotor_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32607, 1); - CI.electricMotor_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32608, 1); - - CI.electricPump_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32615, 1); - CI.electricPump_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32616, 1); - CI.electricPump_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32617, 1); - - CI.electricPiston_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32645, 1); - CI.electricPiston_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32646, 1); - CI.electricPiston_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32647, 1); - - CI.robotArm_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32655, 1); - CI.robotArm_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32656, 1); - CI.robotArm_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32657, 1); - - CI.conveyorModule_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32635, 1); - CI.conveyorModule_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32636, 1); - CI.conveyorModule_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32637, 1); - - CI.emitter_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32685, 1); - CI.emitter_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32686, 1); - CI.emitter_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32687, 1); - - CI.fieldGenerator_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32675, 1); - CI.fieldGenerator_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32676, 1); - CI.fieldGenerator_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32677, 1); - - CI.sensor_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32695, 1); - CI.sensor_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32696, 1); - CI.sensor_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32697, 1); - - CI.fluidRegulator_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32665, 1); - CI.fluidRegulator_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32666, 1); - CI.fluidRegulator_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32667, 1); - - // Thanks 0lafe - CI.electricMotor_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32596, 1); - CI.electricPump_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32618, 1); - CI.electricPiston_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32648, 1); - CI.robotArm_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32658, 1); - CI.conveyorModule_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32638, 1); - CI.emitter_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32688, 1); - CI.fieldGenerator_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32678, 1); - CI.sensor_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32698, 1); - - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java deleted file mode 100644 index 0900bbb4fa..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ /dev/null @@ -1,1806 +0,0 @@ -package gtPlusPlus.core.recipe; - -import static gregtech.api.enums.Mods.Backpack; -import static gregtech.api.enums.Mods.Baubles; -import static gregtech.api.enums.Mods.NewHorizonsCoreMod; -import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; -import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; -import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; -import static gregtech.api.recipe.RecipeMaps.brewingRecipes; -import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; -import static gregtech.api.recipe.RecipeMaps.compressorRecipes; -import static gregtech.api.recipe.RecipeMaps.cutterRecipes; -import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; -import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; -import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; -import static gregtech.api.recipe.RecipeMaps.extruderRecipes; -import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes; -import static gregtech.api.recipe.RecipeMaps.fusionRecipes; -import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes; -import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; -import static gregtech.api.recipe.RecipeMaps.mixerRecipes; -import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; -import static gregtech.api.util.GT_RecipeBuilder.BUCKETS; -import static gregtech.api.util.GT_RecipeBuilder.HOURS; -import static gregtech.api.util.GT_RecipeBuilder.INGOTS; -import static gregtech.api.util.GT_RecipeBuilder.MINUTES; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; -import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; -import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; -import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; -import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; -import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; -import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; -import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; -import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; -import static gtPlusPlus.api.recipe.GTPPRecipeMaps.thermalBoilerRecipes; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import cpw.mods.fml.common.Loader; -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.TierEU; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_RecipeConstants; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.item.chemistry.IonParticles; -import gtPlusPlus.core.item.crafting.ItemDummyResearch; -import gtPlusPlus.core.item.crafting.ItemDummyResearch.ASSEMBLY_LINE_RESEARCH; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.material.ORES; -import gtPlusPlus.core.material.Particle; -import gtPlusPlus.core.material.nuclear.FLUORIDES; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class RECIPES_GREGTECH { - - public static void run() { - Logger.INFO("Loading Recipes through GregAPI for Industrial Multiblocks."); - execute(); - } - - private static void execute() { - electrolyzerRecipes(); - assemblerRecipes(); - distilleryRecipes(); - extractorRecipes(); - fluidExtractorRecipes(); - chemicalReactorRecipes(); - dehydratorRecipes(); - blastFurnaceRecipes(); - largeChemReactorRecipes(); - fusionRecipes(); - compressorRecipes(); - mixerRecipes(); - macerationRecipes(); - centrifugeRecipes(); - cyclotronRecipes(); - blastSmelterRecipes(); - extruderRecipes(); - cuttingSawRecipes(); - breweryRecipes(); - laserEngraverRecipes(); - assemblyLineRecipes(); - fluidHeaterRecipes(); - chemplantRecipes(); - alloySmelterRecipes(); - thermalBoilerRecipes(); - - /* - * Special Recipe handlers - */ - RECIPES_SeleniumProcessing.init(); - RECIPES_RareEarthProcessing.init(); - - addFuels(); - } - - private static void alloySmelterRecipes() { - - // Wood's Glass Laser Lens - GT_Values.RA.stdBuilder() - .itemInputs(MISC_MATERIALS.WOODS_GLASS.getDust(5), ItemList.Shape_Mold_Ball.get(0)) - .itemOutputs(GregtechItemList.Laser_Lens_WoodsGlass.get(1)) - .duration(5 * MINUTES) - .eut(TierEU.RECIPE_HV) - .addTo(alloySmelterRecipes); - } - - private static void chemplantRecipes() { - - // This is subsequently absorbed in water to form nitric acid and nitric oxide. - // 3 NO2 (g) + H2O (l) → 2 HNO3 (aq) + NO (g) (ΔH = −117 kJ/mol) - // The nitric oxide is cycled back for reoxidation. Alternatively, if the last step is carried out in air: - // 4 NO2 (g) + O2 (g) + 2 H2O (l) → 4 HNO3 (aq) - - // Advanced method for Nitric Acid Production - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPinkCatalyst(0), }, - new FluidStack[] { Materials.NitrogenDioxide.getGas(4000L), FluidUtils.getAir(4000), - FluidUtils.getWater(2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 4000), }, - 10 * 20, - 480, - 3); - - // Advanced recipe for Fluorine Production - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPurpleCatalyst(0), - ItemUtils.getSimpleStack(Blocks.sandstone, 64), ItemUtils.getSimpleStack(Blocks.sandstone, 64) }, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 4000), FluidUtils.getAir(8000) }, - new ItemStack[] { FLUORIDES.FLUORITE.getOre(8), FLUORIDES.FLUORITE.getOre(4), FLUORIDES.FLUORITE.getOre(4), - FLUORIDES.FLUORITE.getOre(4), }, - new FluidStack[] {}, - new int[] { 0, 2500, 2000, 1500 }, - 10 * 20, - 1024, - 5); - - // Advanced recipe for Fluorine Production - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPurpleCatalyst(0), - ItemUtils.getSimpleStack(Blocks.sand, 64), ItemUtils.getSimpleStack(Blocks.sand, 64) }, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 5000), FluidUtils.getAir(12000) }, - new ItemStack[] { FLUORIDES.FLUORITE.getOre(4), FLUORIDES.FLUORITE.getOre(2), FLUORIDES.FLUORITE.getOre(2), - FLUORIDES.FLUORITE.getOre(2), }, - new FluidStack[] {}, - new int[] { 7500, 1500, 1000, 500 }, - 10 * 20, - 1024, - 5); - - // 3NO2 + H2O = 2HNO3 + NO - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPinkCatalyst(0), }, - new FluidStack[] { Materials.NitrogenDioxide.getGas(3000L), FluidUtils.getDistilledWater(1000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 2000), Materials.NitricOxide.getGas(1000L), }, - 10 * 20, - 480, - 2); - - // Produce Boric Acid - // Na2B4O7·10H2O + 2HCl = 4B(OH)3 + 2NaCl + 5H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(21), - ItemUtils.getItemStackOfAmountFromOreDict("dustBorax", 23), }, - new FluidStack[] { FluidUtils.getFluidStack(GenericChem.HydrochloricAcid, 2000) }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustSalt", 4), }, - new FluidStack[] { FluidUtils.getFluidStack("boricacid", 4000), FluidUtils.getWater(5000) }, - 20 * 30, - MaterialUtils.getVoltageForTier(3), - 3); - - // Produce Th232 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(22), ELEMENT.getInstance().THORIUM.getDust(16) }, - new FluidStack[] { FluidUtils.getDistilledWater(2000), FluidUtils.getFluidStack("boricacid", 1500) }, - new ItemStack[] { ELEMENT.getInstance().THORIUM.getSmallDust(32), - ELEMENT.getInstance().THORIUM232.getDust(2), ELEMENT.getInstance().THORIUM232.getSmallDust(2), - ELEMENT.getInstance().URANIUM232.getDust(1), }, - new FluidStack[] {}, - new int[] { 0, 0, 1000, 250 }, - 20 * 300, - MaterialUtils.getVoltageForTier(4), - 4); - - // Modify Sapling into Pine Sapling - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(6), ItemUtils.getSimpleStack(Blocks.sapling, 32) }, - new FluidStack[] { FluidUtils.getFluidStack("fluid.geneticmutagen", 2000), - FluidUtils.getDistilledWater(8000) }, - new ItemStack[] { ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Pine, 16) }, - new FluidStack[] {}, - 120 * 20, - 64, - 2); - - int aLaureniumTier = ALLOY.LAURENIUM.vTier; - // Adding Recipes for Casings - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(12), CI.getTieredMachineCasing(aLaureniumTier - 1), - ALLOY.LAURENIUM.getPlate(8), CI.getGear(aLaureniumTier, 2) }, - new FluidStack[] { CI.getTieredFluid(aLaureniumTier, 2 * 144), - CI.getAlternativeTieredFluid(aLaureniumTier - 1, 4 * 144), - CI.getTertiaryTieredFluid(aLaureniumTier - 2, 6 * 144) }, - new ItemStack[] { GregtechItemList.Casing_Machine_Custom_3.get(1) }, - new FluidStack[] {}, - 20 * 20, - MaterialUtils.getVoltageForTier(aLaureniumTier - 2), - 5); - - int aBotmiumTier = ALLOY.BOTMIUM.vTier; - // Adding Recipes for Casings - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(12), CI.getTieredMachineCasing(aBotmiumTier - 1), - ALLOY.BOTMIUM.getPlate(8), CI.getGear(aBotmiumTier, 2) }, - new FluidStack[] { CI.getTieredFluid(aBotmiumTier, 2 * 144), - CI.getAlternativeTieredFluid(aBotmiumTier - 1, 4 * 144), - CI.getTertiaryTieredFluid(aBotmiumTier - 2, 6 * 144) }, - new ItemStack[] { GregtechItemList.Casing_Machine_Custom_4.get(1) }, - new FluidStack[] {}, - 20 * 20, - MaterialUtils.getVoltageForTier(aBotmiumTier - 2), - 6); - - // Refine GT HF into GT++ HF - if (FluidUtils.doesHydrofluoricAcidGtExist()) { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(22), }, - new FluidStack[] { FluidUtils.getHydrofluoricAcid(2000), FluidUtils.getHydrofluoricAcidGT(5000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getHydrofluoricAcid(4500) }, - 30 * 20, - 480, - 3); - } - } - - private static void fluidHeaterRecipes() { - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(20)) - .fluidInputs(Materials.Water.getFluid(1000)) - .fluidOutputs(FluidUtils.getHotWater(1000)) - .duration(1 * SECONDS + 10 * TICKS) - .eut(TierEU.RECIPE_LV) - .addTo(fluidHeaterRecipes); - } - - private static void fusionRecipes() { - // Hypogen - GT_Values.RA.stdBuilder() - .fluidInputs( - ELEMENT.STANDALONE.DRAGON_METAL.getFluidStack(144), - ELEMENT.STANDALONE.RHUGNOR.getFluidStack(288)) - .fluidOutputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(36)) - .duration(6 * MINUTES + 49 * SECONDS + 12 * TICKS) - .eut(TierEU.RECIPE_UHV) - .metadata(FUSION_THRESHOLD, 1_200_000_000) - .addTo(fusionRecipes); - - // Rhugnor - GT_Values.RA.stdBuilder() - .fluidInputs( - MaterialUtils.getMaterial("Infinity", "Neutronium") - .getMolten(144), - ALLOY.QUANTUM.getFluidStack(288)) - .fluidOutputs(ELEMENT.STANDALONE.RHUGNOR.getFluidStack(144)) - .duration(25 * SECONDS + 12 * TICKS) - .eut(TierEU.RECIPE_UV) - .metadata(FUSION_THRESHOLD, 2_000_000_000) - .addTo(fusionRecipes); - } - - private static void assemblyLineRecipes() { - - // Containment Casings - GT_Values.RA.stdBuilder() - .metadata( - RESEARCH_ITEM, - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1)) - .metadata(RESEARCH_TIME, 30 * MINUTES) - .itemInputs( - ItemList.Field_Generator_IV.get(32), - ItemList.Electric_Motor_EV.get(64), - ItemList.Energy_LapotronicOrb.get(32), - CI.getTieredComponent(OrePrefixes.cableGt12, 7, 32), - CI.getTieredComponent(OrePrefixes.wireGt16, 6, 64), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadria, 64L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gadolinium, 32L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Samarium, 16L), - ALLOY.ARCANITE.getGear(8), - new Object[] { CI.getTieredCircuitOreDictName(5), 64 }, - new Object[] { CI.getTieredCircuitOreDictName(6), 32 }, - new Object[] { CI.getTieredCircuitOreDictName(7), 16 }, - GregtechItemList.Laser_Lens_Special.get(1), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, 64)) - .fluidInputs( - ALLOY.NITINOL_60.getFluidStack(144 * 9 * 4), - ALLOY.ENERGYCRYSTAL.getFluidStack(144 * 9 * 8), - ALLOY.TUMBAGA.getFluidStack(144 * 9 * 32), - Materials.Nichrome.getMolten(16 * INGOTS)) - .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockCasings3Misc, 15, 32)) - .eut(TierEU.RECIPE_LuV) - .duration(20 * MINUTES) - .addTo(AssemblyLine); - - // Turbine Automation Port - GT_Values.RA.stdBuilder() - .metadata( - RESEARCH_ITEM, - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_8_TURBINE_AUTOMATION, 1)) - .metadata(RESEARCH_TIME, 24 * HOURS) - .itemInputs( - CI.getTieredMachineHull(8, 4), - CI.getConveyor(8, 24), - CI.getElectricMotor(7, 32), - CI.getElectricPiston(7, 16), - CI.getEnergyCore(6, 8), - CI.getPlate(8, 24), - CI.getTieredComponent(OrePrefixes.screw, 8, 48), - CI.getTieredComponent(OrePrefixes.bolt, 7, 32), - CI.getTieredComponent(OrePrefixes.rod, 6, 12), - new Object[] { CI.getTieredCircuitOreDictName(7), 20 }, - CI.getTieredComponent(OrePrefixes.rotor, 6, 16)) - .fluidInputs( - CI.getTieredFluid(8, 144 * 32), - CI.getAlternativeTieredFluid(7, 144 * 16), - CI.getTertiaryTieredFluid(7, 144 * 16), - ALLOY.BABBIT_ALLOY.getFluidStack(128 * 144)) - .itemOutputs(GregtechItemList.Hatch_Input_TurbineHousing.get(4)) - .eut(TierEU.RECIPE_UV) - .duration(2 * HOURS) - .addTo(AssemblyLine); - - /* - * Containment casings - */ - ItemStack[] aCoilWire = new ItemStack[] { ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, 64), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 1, 64), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 2, 64), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, 64), }; - ItemStack[] aGemCasings = new ItemStack[] { GregtechItemList.Battery_Casing_Gem_1.get(1), - GregtechItemList.Battery_Casing_Gem_2.get(1), GregtechItemList.Battery_Casing_Gem_3.get(1), - GregtechItemList.Battery_Casing_Gem_4.get(1), }; - ItemStack[] aResearch = new ItemStack[] { Particle.getBaseParticle(Particle.UNKNOWN), - GregtechItemList.Battery_Casing_Gem_1.get(1), GregtechItemList.Battery_Casing_Gem_2.get(1), - GregtechItemList.Battery_Casing_Gem_3.get(1), }; - - int aCasingSlot = 0; - for (int j = 6; j < 10; j++) { - GT_Values.RA.stdBuilder() - .metadata(RESEARCH_ITEM, aResearch[aCasingSlot]) - .metadata(RESEARCH_TIME, 1 * HOURS) - .itemInputs( - CI.getTieredComponent(OrePrefixes.plate, j - 1, 16), - CI.getTieredComponent(OrePrefixes.cableGt08, j + 1, 32), - CI.getTieredComponent(OrePrefixes.gearGt, j - 1, 4), - aCoilWire[aCasingSlot]) - .fluidInputs( - CI.getTieredFluid(j, 144 * 8), - CI.getTertiaryTieredFluid(j - 2, 144 * 16), - CI.getAlternativeTieredFluid(j, 144 * 16)) - .itemOutputs(aGemCasings[aCasingSlot++]) - .eut(GT_Values.V[j]) - .duration(2 * MINUTES) - .addTo(AssemblyLine); - } - - /* - * Gem Battery Recipes - */ - - ItemStack[] aGemBatteries = new ItemStack[] { GregtechItemList.Battery_Gem_1.get(1), - GregtechItemList.Battery_Gem_2.get(1), GregtechItemList.Battery_Gem_3.get(1), - GregtechItemList.Battery_Gem_4.get(1), }; - - ItemStack[] aExoticInputs = new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.ELECTRON), Particle.getBaseParticle(Particle.CHARM), - Particle.getBaseParticle(Particle.GRAVITON) }; - aCasingSlot = 0; - for (int j = 6; j < 10; j++) { - GT_Values.RA.stdBuilder() - .metadata(RESEARCH_ITEM, aExoticInputs[aCasingSlot]) - .metadata(RESEARCH_TIME, 5 * HOURS) - .itemInputs( - aGemCasings[aCasingSlot], - ItemUtils.getSimpleStack(aExoticInputs[aCasingSlot], 16), - CI.getTieredComponent(OrePrefixes.plate, j, 16), - new Object[] { CI.getTieredCircuitOreDictName(j), 8 }, - CI.getTieredComponent(OrePrefixes.wireGt16, j + 1, 32), - CI.getTieredComponent(OrePrefixes.bolt, j, 8), - CI.getTieredComponent(OrePrefixes.screw, j - 1, 8)) - .fluidInputs( - CI.getTieredFluid(j, 144 * 1 * 16), - CI.getTertiaryTieredFluid(j - 2, 144 * 2 * 16), - CI.getAlternativeTieredFluid(j, 144 * 16), - CI.getTertiaryTieredFluid(j - 1, 144 * 16)) - .itemOutputs(aGemBatteries[aCasingSlot++]) - .eut(GT_Values.V[j]) - .duration(2 * MINUTES) - .addTo(AssemblyLine); - } - - if (Baubles.isModLoaded()) { - // Nano Healer - GT_Values.RA.stdBuilder() - .metadata(RESEARCH_ITEM, ItemUtils.simpleMetaStack(Items.golden_apple, 1, 1)) - .metadata(RESEARCH_TIME, 10 * MINUTES) - .itemInputs( - ItemUtils.getSimpleStack(aGemCasings[2], 4), - CI.getTieredComponent(OrePrefixes.plate, 8, 32), - new Object[] { CI.getTieredCircuitOreDictName(7), 16 }, - CI.getTieredComponent(OrePrefixes.cableGt02, 7, 16), - CI.getTieredComponent(OrePrefixes.gearGt, 6, 6), - CI.getTieredComponent(OrePrefixes.screw, 7, 16), - CI.getTieredComponent(OrePrefixes.bolt, 5, 24), - CI.getTieredComponent(OrePrefixes.frameGt, 4, 12), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, 64)) - .fluidInputs( - CI.getTieredFluid(7, 144 * 18 * 16), - CI.getTertiaryTieredFluid(7, 144 * 18 * 16), - CI.getAlternativeTieredFluid(6, 144 * 18 * 16), - CI.getAlternativeTieredFluid(7, 144 * 18 * 16)) - .itemOutputs(ItemUtils.getItemStackFromFQRN("miscutils:personalHealingDevice", 1)) - .eut(TierEU.RECIPE_ZPM) - .duration(1 * HOURS) - .addTo(AssemblyLine); - - // Charge Pack LuV-UV - - ItemStack[] aChargeResearch = new ItemStack[] { - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore7", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore8", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore9", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore10", 1), }; - - ItemStack[] aChargeOutputs = new ItemStack[] { ItemUtils.getSimpleStack(ModItems.itemChargePack_High_1, 1), - ItemUtils.getSimpleStack(ModItems.itemChargePack_High_2, 1), - ItemUtils.getSimpleStack(ModItems.itemChargePack_High_3, 1), - ItemUtils.getSimpleStack(ModItems.itemChargePack_High_4, 1), }; - - int aCurrSlot = 0; - for (int h = 6; h < 10; h++) { - GT_Values.RA.stdBuilder() - .metadata(RESEARCH_ITEM, aChargeResearch[aCurrSlot]) - .metadata(RESEARCH_TIME, 10 * (aCurrSlot + 1) * MINUTES) - .itemInputs( - ItemUtils.getSimpleStack(aGemBatteries[aCurrSlot], 2), - aCoilWire[aCurrSlot], - CI.getTieredComponent(OrePrefixes.plate, h, 8), - new Object[] { CI.getTieredCircuitOreDictName(h), 4 }, - new Object[] { CI.getTieredCircuitOreDictName(h - 1), 8 }, - CI.getTieredComponent(OrePrefixes.cableGt12, h - 1, 16), - CI.getTieredComponent(OrePrefixes.screw, h, 16), - CI.getTieredComponent(OrePrefixes.bolt, h - 2, 32), - CI.getFieldGenerator(h - 1, 1)) - .fluidInputs( - CI.getTieredFluid(h, 144 * 4 * 8), - CI.getTertiaryTieredFluid(h - 1, 144 * 4 * 8), - CI.getAlternativeTieredFluid(h - 1, 144 * 4 * 8), - CI.getAlternativeTieredFluid(h - 2, 144 * 4 * 8)) - .itemOutputs(aChargeOutputs[aCurrSlot]) - .eut(GT_Values.V[h]) - .duration((aCurrSlot + 1) * HOURS) - .addTo(AssemblyLine); - aCurrSlot++; - } - - // Cloaking device - GT_Values.RA.stdBuilder() - .metadata( - RESEARCH_ITEM, - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1)) - .metadata(RESEARCH_TIME, 10 * MINUTES) - .itemInputs( - ItemUtils.getSimpleStack(aGemCasings[3], 4), - CI.getTieredComponent(OrePrefixes.plate, 8, 32), - new Object[] { CI.getTieredCircuitOreDictName(7), 16 }, - CI.getTieredComponent(OrePrefixes.cableGt04, 8, 16), - CI.getTieredComponent(OrePrefixes.gearGt, 7, 6), - CI.getTieredComponent(OrePrefixes.screw, 8, 16), - CI.getTieredComponent(OrePrefixes.bolt, 7, 24), - CI.getTieredComponent(OrePrefixes.frameGt, 5, 12), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, 64)) - .fluidInputs( - CI.getTieredFluid(8, 144 * 18 * 16), - CI.getTertiaryTieredFluid(8, 144 * 18 * 16), - CI.getAlternativeTieredFluid(7, 144 * 18 * 16), - CI.getAlternativeTieredFluid(8, 144 * 18 * 16)) - .itemOutputs(ItemUtils.getItemStackFromFQRN("miscutils:personalCloakingDevice-0.0", 1)) - .eut(TierEU.RECIPE_UV) - .duration(1 * HOURS) - .addTo(AssemblyLine); - } - - GT_Values.RA.stdBuilder() - .metadata(RESEARCH_ITEM, GregtechItemList.Industrial_AlloyBlastSmelter.get(1, new Object() {})) - .metadata(RESEARCH_TIME, 30 * MINUTES) - .itemInputs( - GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}), - GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}), - GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}), - GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}), - ItemList.UV_Coil.get(16L, new Object() {}), - ItemList.Conveyor_Module_UV.get(4L, new Object() {}), - new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 8 }, - new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 16 }, - ItemList.Circuit_Chip_PPIC.get(16, new Object() {}), - ALLOY.PIKYONIUM.getPlate(16), - ALLOY.CINOBITE.getScrew(32)) - .fluidInputs( - ALLOY.PIKYONIUM.getFluidStack(144 * 8), - ALLOY.INDALLOY_140.getFluidStack(144 * 9), - Materials.SolderingAlloy.getMolten(144 * 10)) - .itemOutputs(GregtechItemList.Mega_AlloyBlastSmelter.get(1L)) - .eut(TierEU.RECIPE_UHV / 2) - .duration(1 * MINUTES) - .addTo(AssemblyLine); - } - - private static void laserEngraverRecipes() { - - // Laser Sensors and Emitters together - GregtechItemList[] aTransParts = new GregtechItemList[] { GregtechItemList.TransmissionComponent_LV, - GregtechItemList.TransmissionComponent_MV, GregtechItemList.TransmissionComponent_HV, - GregtechItemList.TransmissionComponent_EV, GregtechItemList.TransmissionComponent_IV, - GregtechItemList.TransmissionComponent_LuV, GregtechItemList.TransmissionComponent_ZPM, - GregtechItemList.TransmissionComponent_UV, GregtechItemList.TransmissionComponent_UHV, }; - for (int i = 1; i < aTransParts.length; i++) { - GT_Values.RA.stdBuilder() - .itemInputs(CI.getEmitter(i, 2), CI.getSensor(i, 2)) - .itemOutputs(aTransParts[i - 1].get(1)) - .duration(5 * SECONDS) - .eut(GT_Values.VP[i]) - .addTo(laserEngraverRecipes); - } - - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 6L), - GregtechItemList.Laser_Lens_Special.get(0)) - .itemOutputs(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(1)) - .duration(3 * MINUTES) - .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.vTier)) - .addTo(laserEngraverRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 8L), - GregtechItemList.Laser_Lens_Special.get(0)) - .itemOutputs(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(1)) - .duration(2 * MINUTES) - .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ASTRAL_TITANIUM.vTier)) - .addTo(laserEngraverRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs(ALLOY.NITINOL_60.getBlock(2), GregtechItemList.Laser_Lens_Special.get(0)) - .itemOutputs(ELEMENT.STANDALONE.ADVANCED_NITINOL.getBlock(1)) - .duration(1 * MINUTES) - .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ADVANCED_NITINOL.vTier)) - .addTo(laserEngraverRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 64L), - GregtechItemList.Laser_Lens_Special.get(0)) - .itemOutputs(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getDust(1)) - .duration(5 * MINUTES) - .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.vTier)) - .addTo(laserEngraverRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs(CI.getFieldGenerator(6, 1), CI.getEmitter(7, 2)) - .itemOutputs(ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1)) - .duration(5 * MINUTES) - .eut(TierEU.RECIPE_IV) - .addTo(laserEngraverRecipes); - - // Distillus Upgrade Chip - GT_Values.RA.stdBuilder() - .itemInputs( - GregtechItemList.Laser_Lens_WoodsGlass.get(0), - ItemUtils.simpleMetaStack(AgriculturalChem.mBioCircuit, 20, 1)) - .itemOutputs(GregtechItemList.Distillus_Upgrade_Chip.get(1)) - .duration(5 * MINUTES) - .eut(TierEU.RECIPE_IV) - .addTo(laserEngraverRecipes); - } - - private static void breweryRecipes() { - - if (Loader.isModLoaded("OpenBlocks")) { - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(14)) - .fluidInputs(FluidRegistry.getFluidStack("mobessence", 100)) - .fluidOutputs(FluidRegistry.getFluidStack("liquidxp", 1332)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(brewingRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(14)) - .fluidInputs(FluidRegistry.getFluidStack("liquidxp", 1332)) - .fluidOutputs(FluidRegistry.getFluidStack("mobessence", 100)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(brewingRecipes); - } - - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest)) - .fluidInputs(Materials.Water.getFluid(100L)) - .fluidOutputs(Materials.Biomass.getFluid(100L)) - .duration(1 * MINUTES) - .eut(3) - .addTo(brewingRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest)) - .fluidInputs(Materials.Honey.getFluid(100L)) - .fluidOutputs(Materials.Biomass.getFluid(100L)) - .duration(1 * MINUTES) - .eut(3) - .addTo(brewingRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest)) - .fluidInputs(FluidUtils.getFluidStack("juice", 100)) - .fluidOutputs(Materials.Biomass.getFluid(100L)) - .duration(1 * MINUTES) - .eut(3) - .addTo(brewingRecipes); - } - - private static void cuttingSawRecipes() { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("blockMeatRaw", 1)) - .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("plateMeatRaw", 9)) - .duration(16 * TICKS) - .eut(TierEU.RECIPE_ULV) - .addTo(cutterRecipes); - } - - private static void electrolyzerRecipes() { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(ModItems.dustDecayedRadium226, 1)) - .fluidOutputs(FluidUtils.getFluidStack("radon", 144)) - .duration(1 * MINUTES + 30 * SECONDS) - .eut(TierEU.RECIPE_HV / 2) - .addTo(electrolyzerRecipes); - } - - private static void extruderRecipes() { - // Osmium Credits - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("blockOsmium", 1), ItemList.Shape_Mold_Credit.get(0)) - .itemOutputs(ItemList.Credit_Greg_Osmium.get(1)) - .duration(6 * MINUTES + 20 * SECONDS) - .eut(TierEU.RECIPE_EV / 2) - .addTo(extruderRecipes); - } - - private static void blastSmelterRecipes() { - - // Eglin Steel - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(6), ELEMENT.getInstance().IRON.getDust(4), - ALLOY.KANTHAL.getDust(1), ALLOY.INVAR.getDust(5), ELEMENT.getInstance().SULFUR.getDust(1), - ELEMENT.getInstance().CARBON.getDust(1), ELEMENT.getInstance().SILICON.getDust(4) }, - ALLOY.EGLIN_STEEL.getFluidStack(16 * 144), - 0, - 20 * 45, - 120); - - // HG1223 - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(5), ELEMENT.getInstance().BARIUM.getDust(2), - ELEMENT.getInstance().CALCIUM.getDust(2), ELEMENT.getInstance().COPPER.getDust(3), }, - new FluidStack[] { ELEMENT.getInstance().OXYGEN.getFluidStack(8000), - ELEMENT.getInstance().MERCURY.getFluidStack(1000), }, - ALLOY.HG1223.getFluidStack(16 * 144), - null, - new int[] { 10000 }, // Output Chance - 20 * 120, - 30720); - - // NITINOL_60 - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(2), ELEMENT.getInstance().TITANIUM.getDust(3), - ELEMENT.getInstance().NICKEL.getDust(2) }, - ALLOY.NITINOL_60.getFluidStack(5 * 144), - 0, - 20 * 75, - 7680); - - // INDALLOY_140 - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(5), ELEMENT.getInstance().BISMUTH.getDust(47), - ELEMENT.getInstance().LEAD.getDust(25), ELEMENT.getInstance().TIN.getDust(13), - ELEMENT.getInstance().CADMIUM.getDust(10), ELEMENT.getInstance().INDIUM.getDust(5) }, - ALLOY.INDALLOY_140.getFluidStack(100 * 144), - 0, - 20 * 40, - 7680); - - // Germanium Roasting - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(15), - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedSphalerite", 8), - ELEMENT.getInstance().CARBON.getDust(32), }, - Materials.SulfuricAcid.getFluid(2000), - ELEMENT.getInstance().GERMANIUM.getFluidStack(288), - 0, - 20 * 300, - 4000); - - // Rhenium Roasting - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(20), - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedScheelite", 8), - ELEMENT.getInstance().CARBON.getDust(32), }, - Materials.SulfuricAcid.getFluid(10000), - ELEMENT.getInstance().RHENIUM.getFluidStack(144), - 0, - 20 * 300, - 4000); - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(20), - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMolybdenite", 8), - ELEMENT.getInstance().CARBON.getDust(32), }, - Materials.SulfuricAcid.getFluid(7500), - ELEMENT.getInstance().RHENIUM.getFluidStack(144), - 0, - 20 * 300, - 4000); - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(20), - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMolybdenum", 8), - ELEMENT.getInstance().CARBON.getDust(32), }, - Materials.SulfuricAcid.getFluid(5000), - ELEMENT.getInstance().RHENIUM.getFluidStack(288), - 0, - 20 * 300, - 4000); - - // Thallium Roasting - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(21), - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedZinc", 3), - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPyrite", 4), - ELEMENT.getInstance().CARBON.getDust(16), }, - Materials.SulfuricAcid.getFluid(1250), - ELEMENT.getInstance().THALLIUM.getFluidStack(288), - new ItemStack[] {}, - new int[] { 0 }, - 20 * 75, - 8000, - 3700, - false); - - // Strontium processing - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(21), MISC_MATERIALS.STRONTIUM_OXIDE.getDust(8), - ELEMENT.getInstance().ALUMINIUM.getDust(8), }, - (FluidStack) null, - ELEMENT.getInstance().OXYGEN.getFluidStack(8000), - new ItemStack[] { ELEMENT.getInstance().ALUMINIUM.getIngot(8), - ELEMENT.getInstance().STRONTIUM.getIngot(8) }, - new int[] { 10000, 10000 }, // Output Chance - 20 * 120, - 480 * 4); - - // molten botmium - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(4), - ItemUtils.getItemStackOfAmountFromOreDict("dustNitinol60", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 6), - ItemUtils.getItemStackOfAmountFromOreDict("dustRuthenium", 6), - ItemUtils.getItemStackOfAmountFromOreDict("dustThallium", 3) }, - GT_Values.NF, - ALLOY.BOTMIUM.getFluidStack(2304), - 0, - 20 * 120, - 491520); - - // molten precious metals alloy - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(6), - ItemUtils.getItemStackOfAmountFromOreDict("dustRuthenium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRhodium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustPalladium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustPlatinum", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 1) }, - GT_Values.NF, - FluidUtils.getFluidStack("molten.precious metals alloy", 864), - 0, - 20 * 540, - 7864320); - } - - private static void dehydratorRecipes() { - Logger.INFO("Loading Recipes for Chemical Dehydrator."); - - ItemStack cropGrape = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cropGrape", 1); - ItemStack foodRaisins = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foodRaisins", 1); - - if (cropGrape != null && foodRaisins != null) CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(20), cropGrape }, // Item - null, // Fluid input (slot 1) - null, // Fluid output (slot 2) - new ItemStack[] { foodRaisins }, // Output - new int[] { 10000 }, - 10, // Time in ticks - 2); // EU - - // Process Waste Water - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(21) }, - FluidUtils.getFluidStack("fluid.sludge", 1000), - FluidUtils.getFluidStack("nitricacid", 10), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTinyIron", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyCopper", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyTin", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyNickel", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyCobalt", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAluminium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinySilver", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyGold", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyIridium", 1) }, - new int[] { 10, 5, 5, 4, 4, 3, 2, 2, 1 }, - 2 * 20, - 500); // EU - - // C8H10 = C8H8 + 2H - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), CI.emptyCells(3) }, - FluidUtils.getFluidStack("fluid.ethylbenzene", 1000), - null, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellStyrene", 1), - ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 2) }, - new int[] { 10000, 10000 }, - 3 * 20, - 30); - - /* - * Add custom recipes for drying leather - */ - if (Backpack.isModLoaded()) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), new ItemStack(Items.leather, 2) }, - FluidUtils.getFluidStack("fluid.ethylbenzene", 1000), - null, - new ItemStack[] { ItemUtils.getCorrectStacktype("Backpack:tannedLeather", 1) }, - new int[] { 10000 }, - 5 * 20, - 180); - if (NewHorizonsCoreMod.isModLoaded()) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.ArtificialLeather", 2L, 0) }, - FluidUtils.getFluidStack("fluid.ethylbenzene", 1000), - null, - new ItemStack[] { ItemUtils.getCorrectStacktype("Backpack:tannedLeather", 1) }, - new int[] { 10000 }, - 5 * 20, - 180); - } - } - // Alternative ACETIC ANHYDRIDE recipe for Kevlar Line - // 2C2H4O2 = C4H6O3 + H2O - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), CI.emptyCells(1) }, - FluidUtils.getFluidStack("aceticacid", 2000), - MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 1), }, - new int[] { 10000 }, - 30 * 20, - 480); - } - - private static void largeChemReactorRecipes() { - // Styrene - // C8H10 = C8H8 + 2H - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(24)) - .itemOutputs() - .fluidInputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 1000)) - .fluidOutputs(Materials.Styrene.getFluid(1000L), Materials.Hydrogen.getGas(2000)) - .duration(1 * SECONDS + 10 * TICKS) - .eut(TierEU.RECIPE_LV) - .addTo(multiblockChemicalReactorRecipes); - - // Short-cut Styrene - // C6H6 + C2H4 = C8H8 + 2H - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(24)) - .itemOutputs() - .fluidInputs(Materials.Ethylene.getGas(500L), Materials.Benzene.getFluid(500L)) - .fluidOutputs(Materials.Styrene.getFluid(500L), Materials.Hydrogen.getGas(1000)) - .duration(12 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(multiblockChemicalReactorRecipes); - } - - private static void assemblerRecipes() { - - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Vanadium, 32L), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.VanadiumSteel, 8L)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 4)) - .fluidInputs(Materials.Oxygen.getGas(8000L)) - .duration(16 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VanadiumGallium, 8L)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 8)) - .fluidInputs(Materials.Tantalum.getMolten(4 * INGOTS)) - .duration(32 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 4L), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(3), 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV, 2L)) - .itemOutputs(ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1), 1)) - .fluidInputs(Materials.Oxygen.getGas(16 * BUCKETS)) - .duration(3 * SECONDS + 4 * TICKS) - .eut(TierEU.RECIPE_HV / 2) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GregtechItemList.Casing_Vanadium_Redox.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Titanium, 4L), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(4), 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorEV, 2L)) - .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_IV.get(1)) - .fluidInputs(Materials.Nitrogen.getGas(16 * BUCKETS)) - .duration(6 * SECONDS) - .eut(TierEU.RECIPE_EV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GregtechItemList.Casing_Vanadium_Redox_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TungstenSteel, 4L), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(5), 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 2L)) - .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_LuV.get(1)) - .fluidInputs(Materials.Helium.getGas(8 * BUCKETS)) - .duration(12 * SECONDS + 10 * TICKS) - .eut(TierEU.RECIPE_IV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GregtechItemList.Casing_Vanadium_Redox_LuV.get(1), - ItemUtils.getItemStackOfAmountFromOreDict("plateAlloyIridium", 16), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 2L)) - .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_ZPM.get(1)) - .fluidInputs(Materials.Argon.getGas(4 * BUCKETS)) - .duration(25 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GregtechItemList.Casing_Vanadium_Redox_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Naquadah, 4L), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 2L)) - .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_UV.get(1)) - .fluidInputs(Materials.Radon.getGas(4 * BUCKETS)) - .duration(50 * SECONDS) - .eut(TierEU.RECIPE_ZPM) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GregtechItemList.Casing_Vanadium_Redox_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Americium, 4L), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(8), 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 2L)) - .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_MAX.get(1)) - .fluidInputs(FluidUtils.getFluidStack("krypton", 500)) - .duration(1 * MINUTES + 40 * SECONDS) - .eut(TierEU.RECIPE_UV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(CI.explosiveITNT, 2), - ItemUtils.getSimpleStack(CI.explosiveTNT, 4), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 2L), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iron, 1L)) - .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockMiningExplosive, 3)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherStar, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 8L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.BlackSteel, 8L)) - .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard, 64)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - CI.fluidRegulator_LV, - CI.electricMotor_LV, - CI.getTieredComponent(OrePrefixes.bolt, 1, 8), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Brass, 1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Brass, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 2L)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - CI.fluidRegulator_MV, - CI.electricMotor_MV, - CI.getTieredComponent(OrePrefixes.bolt, 2, 8), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Invar, 1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Invar, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - CI.fluidRegulator_HV, - CI.electricMotor_HV, - CI.getTieredComponent(OrePrefixes.bolt, 3, 8), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Chrome, 1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Chrome, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2L)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - CI.fluidRegulator_EV, - CI.electricMotor_EV, - CI.getTieredComponent(OrePrefixes.bolt, 4, 8), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Titanium, 1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Titanium, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2L)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1)) - .duration(40 * SECONDS) - .eut(TierEU.RECIPE_EV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1), GT_Utility.getIntegratedCircuit(20)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1000, 1)) - .duration(1 * SECONDS + 10 * TICKS) - .eut(TierEU.RECIPE_LV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1), GT_Utility.getIntegratedCircuit(20)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1001, 1)) - .duration(6 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1), GT_Utility.getIntegratedCircuit(20)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1002, 1)) - .duration(24 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1), GT_Utility.getIntegratedCircuit(20)) - .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1003, 1)) - .duration(1 * MINUTES + 36 * SECONDS) - .eut(TierEU.RECIPE_EV) - .addTo(assemblerRecipes); - - // Low tier Charge Packs - - final ItemStack[] aPackBatteries = new ItemStack[] { ItemList.Battery_RE_LV_Lithium.get(4), - ItemList.Battery_RE_MV_Lithium.get(4), ItemList.Battery_RE_HV_Lithium.get(4), - GregtechItemList.Battery_RE_EV_Lithium.get(4), ItemList.Energy_LapotronicOrb.get(4), }; - final ItemStack[] aPackPlates = new ItemStack[] { CI.getPlate(1, 8), CI.getPlate(2, 8), CI.getPlate(3, 8), - CI.getPlate(4, 8), CI.getPlate(5, 8), }; - final ItemStack[] aPackWire = new ItemStack[] { CI.getTieredComponent(OrePrefixes.wireGt02, 1, 6), - CI.getTieredComponent(OrePrefixes.wireGt04, 2, 6), CI.getTieredComponent(OrePrefixes.wireGt08, 3, 6), - CI.getTieredComponent(OrePrefixes.wireGt12, 4, 6), CI.getTieredComponent(OrePrefixes.wireGt16, 5, 6), }; - final ItemStack[] aPackCircuit = new ItemStack[] { CI.getTieredComponent(OrePrefixes.circuit, 1, 4), - CI.getTieredComponent(OrePrefixes.circuit, 2, 4), CI.getTieredComponent(OrePrefixes.circuit, 3, 4), - CI.getTieredComponent(OrePrefixes.circuit, 4, 4), CI.getTieredComponent(OrePrefixes.circuit, 5, 4), }; - final ItemStack[] aPackRing = new ItemStack[] { CI.getTieredComponent(OrePrefixes.ring, 1, 12), - CI.getTieredComponent(OrePrefixes.ring, 2, 12), CI.getTieredComponent(OrePrefixes.ring, 3, 12), - CI.getTieredComponent(OrePrefixes.ring, 4, 12), CI.getTieredComponent(OrePrefixes.ring, 5, 12), }; - final ItemStack[] aPackOutput = new ItemStack[] { ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_1), - ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_2), - ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_3), - ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_4), - ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_5) }; - - for (int i = 1; i < 6; i++) { - - int aAS = i - 1; - - GT_Values.RA.stdBuilder() - .itemInputs( - aPackPlates[aAS], - aPackRing[aAS], - aPackWire[aAS], - aPackCircuit[aAS], - aPackBatteries[aAS], - CI.getSensor(i, 4)) - .itemOutputs(aPackOutput[aAS]) - .fluidInputs(CI.getTieredFluid(i, (144 * 4))) - .duration(30 * i * SECONDS) - .eut(GT_Values.V[i]) - .addTo(assemblerRecipes); - } - - if (Baubles.isModLoaded()) { - - // Turbine Housing Research Page - GT_Values.RA.stdBuilder() - .itemInputs( - GT_Utility.getIntegratedCircuit(17), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Trinium, 64L), - CI.getSensor(6, 6), - CI.getBolt(7, 64), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Platinum, 64L), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 12)) - .itemOutputs( - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_8_TURBINE_AUTOMATION, 1)) - .fluidInputs(CI.getAlternativeTieredFluid(7, 144 * 32)) - .duration(5 * MINUTES) - .eut(TierEU.RECIPE_LuV) - .addTo(assemblerRecipes); - - // Cloaking Device Research Page - GT_Values.RA.stdBuilder() - .itemInputs( - GT_Utility.getIntegratedCircuit(17), - ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, 4), - CI.getFieldGenerator(6, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Palladium, 32L), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 12)) - .itemOutputs(ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1)) - .fluidInputs(CI.getAlternativeTieredFluid(7, 144 * 32)) - .duration(10 * MINUTES) - .eut(TierEU.RECIPE_ZPM) - .addTo(assemblerRecipes); - } - } - - private static void distilleryRecipes() { - Logger.INFO("Registering Distillery/Distillation Tower Recipes."); - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(4)) - .fluidInputs(Materials.Air.getGas(1000L)) - .fluidOutputs(Materials.Helium.getGas(1L)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(distilleryRecipes); - - GT_Values.RA.stdBuilder() - .fluidInputs(Materials.Air.getGas(20000L)) - .fluidOutputs(Materials.Helium.getGas(25L)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(distillationTowerRecipes); - - // Apatite Distillation - /* - * so if you dissolve aparite in sulphuric acid you'll get a mixture of SO2, H2O, HF and HCl - */ - - GT_Values.RA.stdBuilder() - .fluidInputs(FluidUtils.getFluidStack("sulfuricapatite", 5200)) - .fluidOutputs( - FluidUtils.getFluidStack("sulfurousacid", 3800), - FluidUtils.getFluidStack("hydrogenchloride", 1000), - FluidUtils.getFluidStack("hydrofluoricacid", 400)) - .duration(45 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(distillationTowerRecipes); - - GT_Values.RA.stdBuilder() - .fluidInputs(FluidUtils.getFluidStack("sulfurousacid", 1000)) - .fluidOutputs(Materials.SulfurDioxide.getGas(500), Materials.Water.getFluid(500)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(distillationTowerRecipes); - } - - private static void thermalBoilerRecipes() { - Logger.INFO("Registering Thermal Boiler Recipes."); - - // Recipes with special value -1 display additional tooltip in NEI about lava filters. - - // Lava - - GT_Values.RA.stdBuilder() - .fluidInputs(FluidUtils.getLava(1000), FluidUtils.getWater(16_000 / GT_Values.STEAM_PER_WATER)) - .fluidOutputs(FluidUtils.getPahoehoeLava(1000), FluidUtils.getSteam(16_000)) - .itemOutputs( - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Gold, 1), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tantalum, 1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungstate, 1), - new ItemStack(Blocks.obsidian, 1, 0)) - .outputChances(444, 222, 56, 56, 56, 125, 1000) - .specialValue(-1) - .duration(1 * SECONDS) - .eut(0) - .addTo(thermalBoilerRecipes); - - // Pahoehoe Lava - - GT_Values.RA.stdBuilder() - .fluidInputs(FluidUtils.getPahoehoeLava(1000), FluidUtils.getWater(16_000 / GT_Values.STEAM_PER_WATER)) - .fluidOutputs(FluidUtils.getSteam(16_000)) - .itemOutputs( - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tantalum, 1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungstate, 1), - new ItemStack(Blocks.obsidian, 1, 0)) - .outputChances(167, 56, 56, 125, 3700) - .specialValue(-1) - .duration(1 * SECONDS) - .eut(0) - .addTo(thermalBoilerRecipes); - - // Hot Coolant - - GT_Values.RA.stdBuilder() - .fluidInputs( - FluidUtils.getFluidStack("ic2hotcoolant", 500), - FluidUtils.getWater(100_000 / GT_Values.STEAM_PER_WATER)) - .fluidOutputs(FluidUtils.getFluidStack("ic2coolant", 500), FluidUtils.getSuperHeatedSteam(100_000)) - .duration(1 * SECONDS) - .eut(0) - .addTo(thermalBoilerRecipes); - - // Solar Salt (Hot) - - GT_Values.RA.stdBuilder() - .fluidInputs( - MISC_MATERIALS.SOLAR_SALT_HOT.getFluidStack(100), - FluidUtils.getWater(100_000 / GT_Values.STEAM_PER_WATER)) - .fluidOutputs(MISC_MATERIALS.SOLAR_SALT_COLD.getFluidStack(100), FluidUtils.getSuperHeatedSteam(100_000)) - .duration(1 * SECONDS) - .eut(0) - .addTo(thermalBoilerRecipes); - } - - private static void addFuels() { - Logger.INFO("Registering New Fuels."); - - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(Items.lava_bucket)) - .metadata(FUEL_VALUE, 32) - .metadata(FUEL_TYPE, 2) - .duration(0) - .eut(0) - .addTo(GT_RecipeConstants.Fuel); - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getIC2Cell(2)) - .metadata(FUEL_VALUE, 32) - .metadata(FUEL_TYPE, 2) - .duration(0) - .eut(0) - .addTo(GT_RecipeConstants.Fuel); - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getIC2Cell(11)) - .metadata(FUEL_VALUE, 24) - .metadata(FUEL_TYPE, 2) - .duration(0) - .eut(0) - .addTo(GT_RecipeConstants.Fuel); - } - - 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])); - } - - private static void fluidExtractorRecipes() { - // Gelid Cryotheum - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cryotheum, 1L)) - .fluidOutputs(FluidUtils.getFluidStack("cryotheum", 250)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV / 2) - .addTo(fluidExtractionRecipes); - - // Ender Fluid - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(Items.ender_pearl)) - .fluidOutputs(FluidUtils.getFluidStack("ender", 250)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(fluidExtractionRecipes); - - // Blazing Pyrotheum - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Pyrotheum, 1L)) - .fluidOutputs(FluidUtils.getFluidStack("pyrotheum", 250)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV / 2) - .addTo(fluidExtractionRecipes); - } - - private static void centrifugeRecipes() { - - GT_Values.RA.stdBuilder() - .itemInputs(CI.getNumberedAdvancedCircuit(2), MISC_MATERIALS.SOLAR_SALT_COLD.getCell(1)) - .itemOutputs( - MISC_MATERIALS.SODIUM_NITRATE.getDust(3), - MISC_MATERIALS.POTASSIUM_NITRATE.getDust(2), - CI.emptyCells(1)) - .duration(6 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(centrifugeRecipes); - } - - private static void mixerRecipes() { - - GT_Values.RA.stdBuilder() - .itemInputs( - CI.getNumberedAdvancedCircuit(2), - CI.emptyCells(1), - MISC_MATERIALS.SODIUM_NITRATE.getDust(3), - MISC_MATERIALS.POTASSIUM_NITRATE.getDust(2)) - .itemOutputs(MISC_MATERIALS.SOLAR_SALT_COLD.getCell(1)) - .duration(2 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(mixerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - CI.getNumberedAdvancedCircuit(2), - Materials.Titanium.getDust(9), - Materials.Carbon.getDust(9), - Materials.Potassium.getDust(9), - Materials.Lithium.getDust(9), - Materials.Sulfur.getDust(9)) - .itemOutputs(ALLOY.LEAGRISIUM.getDust(50)) - .fluidInputs(Materials.Hydrogen.getGas(5000)) - .duration(1 * MINUTES) - .eut(TierEU.RECIPE_EV) - .addTo(mixerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - CI.getNumberedAdvancedCircuit(2), - Materials.Steel.getDust(16), - Materials.Molybdenum.getDust(1), - Materials.Titanium.getDust(1), - Materials.Nickel.getDust(4), - Materials.Cobalt.getDust(2)) - .itemOutputs(ALLOY.MARAGING250.getDust(24)) - .duration(1 * MINUTES) - .eut(TierEU.RECIPE_EV) - .addTo(mixerRecipes); - } - - private static void chemicalReactorRecipes() { - - GT_Values.RA.stdBuilder() - .itemInputs( - CI.getNumberedAdvancedCircuit(21), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 32L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Sulfur, 8L)) - .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 4000)) - .fluidOutputs(FluidUtils.getFluidStack("sulfuricapatite", 8000)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(UniversalChemical); - - // KOH + HNO3 = KNO3 + H2O - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(GenericChem.mPotassiumHydroxide, 3), CI.getNumberedAdvancedCircuit(1)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PotassiumNitrade, 5L)) - .fluidInputs(Materials.NitricAcid.getFluid(1000)) - .fluidOutputs(Materials.Water.getFluid(1000)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(UniversalChemical); - - // Na2CO3 + 2HNO3 = 2NaNO3 + CO2 + H2O - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6), - CI.getNumberedAdvancedCircuit(1)) - .itemOutputs(MISC_MATERIALS.SODIUM_NITRATE.getDust(10)) - .fluidInputs(Materials.NitricAcid.getFluid(2000)) - .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(UniversalChemical); - } - - private static void blastFurnaceRecipes() { - - // Synthetic Graphite - GT_Values.RA.stdBuilder() - .itemInputs(ALLOY.SILICON_CARBIDE.getDust(16), GT_Utility.getIntegratedCircuit(22)) - .itemOutputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 8L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Silicon, 8L)) - .fluidInputs(Materials.Nitrogen.getGas(4000)) - .fluidOutputs() - .duration(1 * MINUTES) - .eut(TierEU.RECIPE_IV) - .metadata(COIL_HEAT, 4500) - .addTo(blastFurnaceRecipes); - - } - - private static void compressorRecipes() { - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Clay, 1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 9L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.MeatRaw, 1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs(ItemList.FusionComputer_UV.get(9)) - .itemOutputs(GregtechItemList.Compressed_Fusion_Reactor.get(1)) - .duration(1 * HOURS + 50 * MINUTES) - .eut(TierEU.RECIPE_UV) - .addTo(compressorRecipes); - } - - private static void macerationRecipes() { - - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.MeatRaw, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 9L)) - .duration(44 * SECONDS) - .eut(4) - .addTo(maceratorRecipes); - - if (ItemUtils.simpleMetaStack("chisel:limestone", 0, 1) != null) { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("limestone", 1)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 4L)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - } - } - - private static void cyclotronRecipes() { - - // Polonium - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.bismuth", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) }, - null, - new int[] { 100 }, - 20 * 300 * 100, - 2040 * 4, - 500 * 20); - - // Americium - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.americium", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) }, - null, - new int[] { 2500 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value - - // Strontium u235 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.uranium235", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, - null, - new int[] { 570 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value - - // Strontium u233 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.uranium233", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, - null, - new int[] { 660 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value - - // Strontium pu239 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.plutonium", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, - null, - new int[] { 220 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value - - // Plutonium - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.plutonium238", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) }, - null, - new int[] { 780 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value - - // Neptunium - CORE.RA.addCyclotronRecipe( - new ItemStack[] { ELEMENT.getInstance().URANIUM238.getDust(1) }, - FluidUtils.getFluidStack("deuterium", 400), - new ItemStack[] { ItemUtils.getSimpleStack(ModItems.dustNeptunium238) }, - null, - new int[] { 500 }, - 20 * 5, - 500 * 4, - 500 * 20); // PO Special Value - - /* - * Particle Science - */ - - // Quark Smash - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(3), - FluidUtils.getFluidStack("plasma.hydrogen", 100), - new ItemStack[] { Particle.getBaseParticle(Particle.UP), Particle.getBaseParticle(Particle.DOWN), - Particle.getBaseParticle(Particle.CHARM), Particle.getBaseParticle(Particle.STRANGE), - Particle.getBaseParticle(Particle.TOP), Particle.getBaseParticle(Particle.BOTTOM), }, - null, - new int[] { 50, 50, 50, 50, 50, 50 }, - 20 * 300 * 9, - (int) MaterialUtils.getVoltageForTier(7), - 750 * 20); - - // Lepton Smash - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(6), - FluidUtils.getFluidStack("plasma.helium", 1500), - new ItemStack[] { Particle.getBaseParticle(Particle.ELECTRON), Particle.getBaseParticle(Particle.MUON), - Particle.getBaseParticle(Particle.TAU), Particle.getBaseParticle(Particle.ELECTRON_NEUTRINO), - Particle.getBaseParticle(Particle.MUON_NEUTRINO), Particle.getBaseParticle(Particle.TAU_NEUTRINO), }, - null, - new int[] { 600, 40, 20, 15, 10, 5 }, - 20 * 300 * 8, - (int) MaterialUtils.getVoltageForTier(7), - 750 * 20); - - // Boson Smash - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(9), - FluidUtils.getFluidStack("plasma.helium", 1500), - new ItemStack[] { Particle.getBaseParticle(Particle.GLUON), Particle.getBaseParticle(Particle.PHOTON), - Particle.getBaseParticle(Particle.Z_BOSON), Particle.getBaseParticle(Particle.W_BOSON), - Particle.getBaseParticle(Particle.HIGGS_BOSON), }, - null, - new int[] { 160, 260, 150, 150, 1 }, - 20 * 300 * 6, - (int) MaterialUtils.getVoltageForTier(7), - 750 * 20); - - // Mixed Smash 1 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(12), - Materials.Americium.getPlasma(2500), - new ItemStack[] { Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.ETA_MESON), - Particle.getBaseParticle(Particle.PION), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.NEUTRON), Particle.getBaseParticle(Particle.LAMBDA), - Particle.getBaseParticle(Particle.OMEGA), Particle.getBaseParticle(Particle.HIGGS_BOSON), }, - null, - new int[] { 50, 50, 50, 40, 30, 20, 20, 10 }, - 1000 * 20, - (int) MaterialUtils.getVoltageForTier(8), - 750 * 20); - - // Mixed Smash 1 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(12), - new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 2500), - new ItemStack[] { Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.ETA_MESON), - Particle.getBaseParticle(Particle.PION), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.NEUTRON), Particle.getBaseParticle(Particle.LAMBDA), - Particle.getBaseParticle(Particle.OMEGA), Particle.getBaseParticle(Particle.HIGGS_BOSON), }, - null, - new int[] { 5000, 200, 200, 100, 80, 60, 40, 30 }, - 100 * 20, - (int) MaterialUtils.getVoltageForTier(8), - 750 * 20); - - // Graviton Smash - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(15), - FluidUtils.getFluidStack("plasma.hydrogen", 100), - new ItemStack[] { Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.UNKNOWN) }, - null, - new int[] { 1000, 100 }, - 20 * (90), - (int) MaterialUtils.getVoltageForTier(6), - 1000 * 20); - - FluidStack aPlasma = Materials.Duranium.getMolten(40); - FluidStack aPlasma_NULL = Materials._NULL.getPlasma(1); - - if (aPlasma == null || aPlasma.isFluidEqual(aPlasma_NULL)) { - aPlasma = Materials.Americium.getMolten(20); - } - - // Quantum Anomaly - CORE.RA.addCyclotronRecipe( - new ItemStack[] { CI.getNumberedCircuit(24), Particle.getBaseParticle(Particle.UNKNOWN), }, - aPlasma, - new ItemStack[] { GregtechItemList.Laser_Lens_Special.get(1) }, - null, - new int[] { 100 }, - 20 * (25), - (int) MaterialUtils.getVoltageForTier(8), - 500 * 20); - - /* - * Ions - */ - - int IonCount = 2; - int tenCountA = 2; - int tenCountB = 0; - for (String y : IonParticles.MetaToNameMap.values()) { - if (y.toLowerCase() - .contains("hydrogen")) { - continue; - } - FluidStack aPlasma2 = FluidUtils.getFluidStack("plasma." + y.toLowerCase(), 2); - Materials aTestMat = MaterialUtils.getMaterial(y); - FluidStack aPlasma3 = aTestMat != null ? aTestMat.getPlasma(2) : aPlasma2; - - // Ionize Plasma - if ((aPlasma2 != null && !aPlasma2.isFluidEqual(aPlasma_NULL)) - || (aPlasma3 != null && !aPlasma3.isFluidEqual(aPlasma_NULL))) { - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1 + (tenCountA - 1)), - aPlasma2 != null ? aPlasma2 : aPlasma3, - new ItemStack[] { Particle.getIon(y, 1), Particle.getIon(y, 2), Particle.getIon(y, 3), - Particle.getIon(y, -1), Particle.getIon(y, -2), Particle.getIon(y, -3), Particle.getIon(y, 1), - Particle.getIon(y, 2), Particle.getIon(y, -1), }, - null, - new int[] { 275, 250, 225, 275, 250, 225, 275, 250, 275 }, - 20 * 20 * (IonCount++) * tenCountA, - (int) MaterialUtils.getVoltageForTier(7), - 1500 * 20 * tenCountA); - } else { - Logger.INFO("Plasma for " + y + " does not exist, please report this to Alkalus."); - } - - if (tenCountB == 12) { - tenCountB = 0; - tenCountA++; - } else { - tenCountB++; - } - } - - // Generate Hydrogen Ion Recipe - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(24), - FluidUtils.getWildcardFluidStack("hydrogen", 1000), - new ItemStack[] { Particle.getIon("Hydrogen", 1), Particle.getIon("Hydrogen", 2), - Particle.getIon("Hydrogen", 3), Particle.getIon("Hydrogen", 1), Particle.getIon("Hydrogen", 2), - Particle.getIon("Hydrogen", 3), Particle.getIon("Hydrogen", -1), Particle.getIon("Hydrogen", -2), - Particle.getIon("Hydrogen", -3) }, - null, - new int[] { 500, 500, 500, 500, 500, 500, 500, 500, 500 }, - 20 * 20, - (int) MaterialUtils.getVoltageForTier(6), - 2500); - - // Generate Hydrogen Plasma Recipe - CORE.RA.addCyclotronRecipe( - new ItemStack[] { CI.getNumberedCircuit(21), Particle.getIon("Hydrogen", 0), }, - FluidUtils.getFluidStack("hydrogen", 1000), - new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.NEUTRON), - Particle.getBaseParticle(Particle.ELECTRON), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN), }, - FluidUtils.getFluidStack("plasma.hydrogen", 100), - new int[] { 1250, 1250, 1250, 750, 750, 750 }, - 20 * 60 * 2, - (int) MaterialUtils.getVoltageForTier(6), - 750 * 20); - - // Generate Protons Easily - CORE.RA.addCyclotronRecipe( - new ItemStack[] { CI.getNumberedCircuit(20), Particle.getIon("Hydrogen", 0) }, - FluidUtils.getWildcardFluidStack("hydrogen", 100), - new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), }, - null, - new int[] { 750, 750, 750, 750, 750, 750, 750, 750, 750 }, - 20 * 20, - (int) MaterialUtils.getVoltageForTier(6), - 1500); - - CORE.RA.addCyclotronRecipe( - new ItemStack[] { CI.getNumberedCircuit(22), Particle.getBaseParticle(Particle.UNKNOWN), }, - FluidUtils.getWildcardFluidStack("hydrogen", 100), - new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), }, - null, - new int[] { 375, 375, 375, 375, 375, 375, 375, 375, 375 }, - 20 * 20, - (int) MaterialUtils.getVoltageForTier(6), - 1500); - - // Create Strange Dust - CORE.RA.addCyclotronRecipe( - new ItemStack[] { ELEMENT.getInstance().PLUTONIUM238.getDust(1), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), }, - FluidUtils.getFluidStack(FluidUtils.getWildcardFluidStack("ender", 1000), 1000), - new ItemStack[] { ORES.DEEP_EARTH_REACTOR_FUEL_DEPOSIT.getDust(1) }, - null, - new int[] { 2500 }, - 20 * 60 * 15, - (int) MaterialUtils.getVoltageForTier(7), - 250); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java deleted file mode 100644 index 5e198bfac4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java +++ /dev/null @@ -1,475 +0,0 @@ -package gtPlusPlus.core.recipe; - -import static gregtech.api.enums.Mods.EnderIO; -import static gregtech.api.enums.Mods.Thaumcraft; -import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; -import static gregtech.api.util.GT_RecipeBuilder.MINUTES; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gtPlusPlus.core.recipe.common.CI.bitsd; -import static gtPlusPlus.core.util.minecraft.ItemUtils.getSimpleStack; -import static gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechConduits.generatePipeRecipes; -import static gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechConduits.generateWireRecipes; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.TierEU; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.lib.CORE; -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.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; -import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper; - -public class RECIPES_General { - - static final ItemStack NULL = null; - static ItemStack RECIPE_Paper; - static ItemStack RECIPE_Dirt; - static ItemStack RECIPE_Snow; - static ItemStack RECIPE_Obsidian; - static String RECIPE_LapisDust = "dustLazurite"; - static ItemStack OUTPUT_Blueprint; - static ItemStack RECIPE_CraftingTable; - static ItemStack RECIPE_BasicCasingIC2; - - public static void loadRecipes() { - RECIPE_Paper = ItemUtils.getSimpleStack(Items.paper); - RECIPE_Dirt = ItemUtils.getSimpleStack(Blocks.dirt); - RECIPE_Snow = ItemUtils.getSimpleStack(Blocks.snow); - RECIPE_Obsidian = ItemUtils.getSimpleStack(Blocks.obsidian); - RECIPE_CraftingTable = ItemUtils.getSimpleStack(Blocks.crafting_table); - RECIPE_BasicCasingIC2 = ItemUtils.getItemStackFromFQRN("IC2:blockMachine", 1); - OUTPUT_Blueprint = ItemUtils.getSimpleStack(ModItems.itemBlueprintBase, 2); - run(); - addCompressedObsidian(); - migratedRecipes(); - } - - private static void run() { - // Workbench Blueprint - RecipeUtils.addShapedRecipe( - RECIPE_Paper, - RECIPE_LapisDust, - NULL, - RECIPE_Paper, - RECIPE_LapisDust, - NULL, - RECIPE_LapisDust, - RECIPE_LapisDust, - NULL, - OUTPUT_Blueprint); - - // Rainforest oak Sapling - if (RecipeUtils.addShapedRecipe( - "stickWood", - "stickWood", - "stickWood", - "stickWood", - "treeSapling", - "stickWood", - "stickWood", - "dustBone", - "stickWood", - ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest))) { - Logger.INFO("Added a recipe for Rainforest oak Saplings."); - } - - // Iron bars - final ItemStack ironBars = ItemUtils.getItemStackFromFQRN("dreamcraft:item.SteelBars", 1); - - // Fish Trap - if (RecipeUtils.addShapedRecipe( - ironBars, - ironBars, - ironBars, - ironBars, - "frameGtWroughtIron", - ironBars, - ironBars, - ironBars, - ironBars, - ItemUtils.getSimpleStack(ModBlocks.blockFishTrap))) { - Logger.INFO("Added a recipe for the Fish Trap."); - } - - // Potin - if (RecipeUtils.addShapelessGregtechRecipe( - new Object[] { "dustLead", "dustBronze", "dustTin", "dustLead", "dustBronze" }, - ALLOY.POTIN.getDust(5))) { - Logger.INFO("Added shapeless recipe for Potin Dust."); - } - - // Tumbaga - if (RecipeUtils.addShapelessGregtechRecipe( - new Object[] { "dustGold", "dustGold", "dustCopper" }, - ItemUtils.getSimpleStack(ModItems.dustTumbagaMix))) { - Logger.INFO("Added shapeless recipe for Tumbaga Mix."); - } - if (RecipeUtils.addShapelessGregtechRecipe( - new Object[] { ItemUtils.getSimpleStack(ModItems.dustTumbagaMix), - ItemUtils.getSimpleStack(ModItems.dustTumbagaMix), ItemUtils.getSimpleStack(ModItems.dustTumbagaMix), - "dustGold" }, - ALLOY.TUMBAGA.getDust(10))) { - Logger.INFO("Added shapeless recipe for Tumbaga Dust."); - } - - if (CORE.ConfigSwitches.enableMachine_Pollution) { - RecipeUtils.addShapedRecipe( - CI.craftingToolFile, - "plateIron", - "stickIron", - "plateIron", - "ringIron", - "plateIron", - "stickIron", - "plateIron", - CI.craftingToolHammer_Hard, - ItemUtils.simpleMetaStack(ModItems.itemBasicTurbine, 0, 1)); - RecipeUtils.addShapedRecipe( - CI.craftingToolFile, - "plateBronze", - "stickBronze", - "plateBronze", - "ringBronze", - "plateBronze", - "stickBronze", - "plateBronze", - CI.craftingToolHammer_Hard, - ItemUtils.simpleMetaStack(ModItems.itemBasicTurbine, 1, 1)); - RecipeUtils.addShapedRecipe( - CI.craftingToolFile, - "plateSteel", - "stickSteel", - "plateSteel", - "ringSteel", - "plateSteel", - "stickSteel", - "plateSteel", - CI.craftingToolHammer_Hard, - ItemUtils.simpleMetaStack(ModItems.itemBasicTurbine, 2, 1)); - } - - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(Blocks.glass, 16), - ItemUtils.getSimpleStack(Blocks.glowstone, 16), - ItemList.Large_Fluid_Cell_Steel.get(1), - CI.getNumberedAdvancedCircuit(4)) - .itemOutputs(VolumetricFlaskHelper.getLargeVolumetricFlask(2)) - .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 2000)) - .duration(15 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(Blocks.glass, 64), - ItemUtils.getSimpleStack(Blocks.glowstone, 64), - ItemList.Large_Fluid_Cell_TungstenSteel.get(1), - CI.getNumberedAdvancedCircuit(5)) - .itemOutputs(VolumetricFlaskHelper.getGiganticVolumetricFlask(2)) - .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 8000)) - .duration(15 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(assemblerRecipes); - - // Mining Explosive - Logger.RECIPE("[Inspection] Explosives"); - if (RecipeUtils.addShapedRecipe( - CI.explosiveITNT, - CI.explosiveTNT, - CI.explosiveITNT, - CI.explosiveTNT, - "frameGtIron", - CI.explosiveTNT, - "dustSulfur", - CI.explosiveTNT, - "dustSulfur", - ItemUtils.getSimpleStack(ModBlocks.blockMiningExplosive, 3))) { - Logger.INFO("Added a recipe for Mining Explosives."); - } - - // Alkalus Coin - if (RecipeUtils.addShapedRecipe( - "gemExquisiteRuby", - "gemFlawlessDiamond", - "gemExquisiteDiamond", - "gemFlawlessRuby", - ItemList.Credit_Greg_Osmium.get(1), - "gemFlawlessSapphire", - "gemExquisiteEmerald", - "gemFlawlessEmerald", - "gemExquisiteSapphire", - ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk))) { - Logger.INFO("Added a recipe for The Alkalus Disk."); - } - - /* - * final String fancyGems[] = new String[]{"gemExquisiteDiamond", "gemExquisiteEmerald", "gemExquisiteRuby", - * "gemExquisiteSapphire"}; final ItemStack gemShards[] = new - * ItemStack[]{ItemUtils.simpleMetaStack(ModItems.itemGemShards, 0, 1), - * ItemUtils.simpleMetaStack(ModItems.itemGemShards, 1, 1), ItemUtils.simpleMetaStack(ModItems.itemGemShards, 2, - * 1), ItemUtils.simpleMetaStack(ModItems.itemGemShards, 3, 1)}; int l=0; for (final String gem : fancyGems){ - * GameRegistry.addShapelessRecipe( gemShards[l], ItemUtils.getItemStackOfAmountFromOreDict(gem, 1), new - * ItemStack(ModItems.itemAlkalusDisk, 1, OreDictionary.WILDCARD_VALUE)); l++; } - */ - - Logger.RECIPE("[Inspection] Wither Cage"); - if (RecipeUtils.addShapedRecipe( - "stickBlackSteel", - "plateTungstenSteel", - "stickBlackSteel", - "plateTungstenSteel", - getSimpleStack(Items.nether_star), - "plateTungstenSteel", - "stickBlackSteel", - "plateTungstenSteel", - "stickBlackSteel", - ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard, 32))) { - Logger.INFO("Added a recipe for Wither Cages."); - } - - // Magic Feather - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(Items.feather, 64), - ItemUtils.getSimpleStack(Blocks.emerald_block, 32), - ItemUtils.getSimpleStack(Blocks.diamond_block, 32), - Materials.Ruby.getBlocks(32), - Materials.Sapphire.getBlocks(32), - ItemUtils.getSimpleStack(Blocks.gold_block, 32)) - .itemOutputs(ItemUtils.getSimpleStack(ModItems.itemMagicFeather, 1)) - .fluidInputs(Materials.Silver.getMolten(32 * 144)) - .duration(2 * MINUTES) - .eut(TierEU.RECIPE_EV) - .addTo(assemblerRecipes); - - // Pest Killer - GT_Values.RA.stdBuilder() - .itemInputs( - CI.getTieredMachineCasing(1), - CI.getElectricPump(2, 1), - CI.getPlate(2, 4), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(0), 2), - CI.getNumberedCircuit(16)) - .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockPestKiller)) - .fluidInputs(FluidUtils.getHotWater(500)) - .duration(1 * MINUTES) - .eut(TierEU.RECIPE_LV / 2) - .addTo(assemblerRecipes); - } - - private static boolean addCompressedObsidian() { - // Invert Obsidian - ItemStack aInvertedObsidian = ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 5, 1); - if (RecipeUtils.addShapedRecipe( - getSimpleStack(Items.redstone), - getSimpleStack(Items.glowstone_dust), - getSimpleStack(Items.redstone), - getSimpleStack(Items.glowstone_dust), - ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 1, 1), - getSimpleStack(Items.glowstone_dust), - getSimpleStack(Items.redstone), - getSimpleStack(Items.glowstone_dust), - getSimpleStack(Items.redstone), - aInvertedObsidian)) { - Logger.INFO("Added a recipe for Inverted Obsidian."); - } - - final ItemStack[] mItems = new ItemStack[6]; - mItems[0] = ItemUtils.getSimpleStack(Blocks.obsidian); - for (int r = 0; r < 5; r++) { - mItems[r + 1] = ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, r, 1); - } - - final ItemStack[] mItems2 = new ItemStack[6]; - mItems2[0] = ItemUtils.getSimpleStack(Blocks.glowstone); - for (int r = 0; r < 5; r++) { - mItems2[r + 1] = ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 6 + r, 1); - } - - // Compressed Obsidian 1-5 - for (int r = 0; r < 5; r++) { - - final ItemStack input = mItems[r]; - final ItemStack output = mItems[r + 1]; - - if (RecipeUtils.addShapedRecipe(input, input, input, input, input, input, input, input, input, output)) { - Logger.INFO("Added a recipe for Compressed Obsidian [" + r + "]"); - } - - if (RecipeUtils - .addShapelessGregtechRecipe(new ItemStack[] { output }, ItemUtils.getSimpleStack(input, 9))) { - Logger.INFO("Added a shapeless recipe for Compressed Obsidian [" + r + "]"); - } - } - - // Compressed Glowstone 1-5 - for (int r = 0; r < 5; r++) { - - final ItemStack input = mItems2[r]; - final ItemStack output = mItems2[r + 1]; - - if (RecipeUtils.addShapedRecipe( - input, - input, - input, - input, - r == 2 ? aInvertedObsidian : input, - input, - input, - input, - input, - output)) { - Logger.INFO("Added a recipe for Compressed Glowstone [" + r + "]"); - } - - if (RecipeUtils - .addShapelessGregtechRecipe(new ItemStack[] { output }, ItemUtils.getSimpleStack(input, 9))) { - Logger.INFO("Added a shapeless recipe for Compressed Glowstone [" + r + "]"); - } - } - return true; - } - - private static void migratedRecipes() { - - RecipeUtils.generateMortarRecipe( - ItemUtils.getSimpleStack(ModItems.itemPlateRawMeat), - ItemUtils.getItemStackOfAmountFromOreDict("dustMeatRaw", 1)); - - generateWireRecipes(ELEMENT.getInstance().ZIRCONIUM); - generateWireRecipes(ALLOY.HG1223); - generateWireRecipes(ALLOY.LEAGRISIUM); - generateWireRecipes(ALLOY.TRINIUM_TITANIUM); - generateWireRecipes(ELEMENT.STANDALONE.HYPOGEN); - generateWireRecipes(ELEMENT.STANDALONE.CHRONOMATIC_GLASS); - - // No Material for void, natch. - if (Thaumcraft.isModLoaded()) { - generatePipeRecipes(GT_Materials.Void.mDefaultLocalName, GT_Materials.Void.getMass(), 16); - } - - Material[] gtpp = new Material[] { ALLOY.STABALLOY, ALLOY.TANTALLOY_60, ALLOY.TANTALLOY_61, ALLOY.POTIN, - ALLOY.MARAGING300, ALLOY.MARAGING350, ALLOY.INCONEL_690, ALLOY.INCONEL_792, ALLOY.HASTELLOY_X, - ALLOY.TRINIUM_NAQUADAH_CARBON }; - - for (Material mat : gtpp) { - // generatePipeRecipes multiplies the voltage multiplier by 8 because ??! reasons. - generatePipeRecipes(mat.getLocalizedName(), mat.getMass(), mat.vVoltageMultiplier / 8); - } - - Materials[] h = new Materials[] { Materials.Europium, Materials.Tungsten, Materials.DarkSteel, Materials.Clay, - Materials.Lead, }; - - for (Materials e : h) { - if (e == Materials.DarkSteel) { - if (!EnderIO.isModLoaded()) { - continue; - } - } - int tVoltageMultiplier = (e.mBlastFurnaceTemp >= 2800) ? 64 : 16; - generatePipeRecipes(e.mDefaultLocalName, e.getMass(), tVoltageMultiplier); - } - - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[6], - ALLOY.MARAGING250.getGear(1), - CI.component_Plate[6], - CI.getTieredCircuitOreDictName(4), - GregtechItemList.Casing_AdvancedVacuum.get(1), - CI.getTieredCircuitOreDictName(4), - CI.component_Plate[5], - ItemList.Hatch_Input_IV.get(1), - CI.component_Plate[5], - GregtechItemList.Hatch_Input_Cryotheum.get(1L)); - - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[6], - ALLOY.MARAGING300.getGear(1), - CI.component_Plate[6], - CI.getTieredCircuitOreDictName(5), - GregtechItemList.Casing_Adv_BlastFurnace.get(1), - CI.getTieredCircuitOreDictName(5), - CI.component_Plate[6], - ItemList.Hatch_Input_IV.get(1), - CI.component_Plate[6], - GregtechItemList.Hatch_Input_Pyrotheum.get(1L)); - - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[8], - ALLOY.PIKYONIUM.getGear(1), - CI.component_Plate[9], - CI.getTieredCircuitOreDictName(7), - GregtechItemList.Casing_Naq_Reactor_A.get(1), - CI.getTieredCircuitOreDictName(7), - CI.component_Plate[9], - ItemList.Hatch_Input_ZPM.get(1), - CI.component_Plate[8], - GregtechItemList.Hatch_Input_Naquadah.get(1L, new Object[0])); - - if (PollutionUtils.isPollutionEnabled()) { - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Muffler_Adv_LV.get(1L, new Object[0]), - bitsd, - new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_LV.get(1), - Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_LV.get(1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Muffler_Adv_MV.get(1L, new Object[0]), - bitsd, - new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_MV.get(1), - Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_MV.get(1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Muffler_Adv_HV.get(1L, new Object[0]), - bitsd, - new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_HV.get(1), - Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_HV.get(1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Muffler_Adv_EV.get(1L, new Object[0]), - bitsd, - new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_EV.get(1), - Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_EV.get(1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Muffler_Adv_IV.get(1L, new Object[0]), - bitsd, - new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_IV.get(1), - Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_IV.get(1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Muffler_Adv_LuV.get(1L, new Object[0]), - bitsd, - new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_LuV.get(1), - Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_LuV.get(1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Muffler_Adv_ZPM.get(1L, new Object[0]), - bitsd, - new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_ZPM.get(1), - Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_ZPM.get(1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Muffler_Adv_UV.get(1L, new Object[0]), - bitsd, - new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_UV.get(1), - Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_UV.get(1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Muffler_Adv_MAX.get(1L, new Object[0]), - bitsd, - new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_MAX.get(1), - Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_MAX.get(1) }); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java deleted file mode 100644 index 1f8d5d9a8e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java +++ /dev/null @@ -1,135 +0,0 @@ -package gtPlusPlus.core.recipe; - -import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes; -import static gregtech.api.util.GT_RecipeBuilder.HOURS; -import static gregtech.api.util.GT_RecipeBuilder.MINUTES; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; - -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OreDictNames; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TierEU; -import gregtech.api.interfaces.IOreRecipeRegistrator; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.everglades.dimension.Dimension_Everglades; - -public class RECIPES_LaserEngraver implements IOreRecipeRegistrator { - - public RECIPES_LaserEngraver() { - OrePrefixes.crafting.add(this); - } - - @Override - public void registerOre(final OrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName, - final String aModName, final ItemStack aStack) { - if (aOreDictName.equals(OreDictNames.craftingLensWhite.toString())) { - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lithium, 2L), - GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleLithium7", 1)) - .duration(4 * MINUTES) - .eut(TierEU.RECIPE_EV) - .addTo(laserEngraverRecipes); - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 3L), - GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 1)) - .duration(2 * MINUTES) - .eut(TierEU.RECIPE_EV) - .addTo(laserEngraverRecipes); - - } else if (aOreDictName.equals(OreDictNames.craftingLensLime.toString())) { - // Coil Wires - ItemStack coilWire1 = ItemUtils - .getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire", "coilWire1", 0, 1); - ItemStack coilWire2 = ItemUtils - .getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire:1", "coilWire2", 1, 1); - ItemStack coilWire3 = ItemUtils - .getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire:2", "coilWire3", 2, 1); - ItemStack coilWire4 = ItemUtils - .getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire:3", "coilWire4", 3, 1); - - // Simple Life - String wire = "wireGt02"; - - // Wires to Laser - ItemStack wireT1a = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Aluminium", 1); - ItemStack wireT1b = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Nichrome", 1); - ItemStack wireT2a = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Osmium", 1); - ItemStack wireT2b = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Platinum", 1); - ItemStack wireT3a = ItemUtils.getItemStackOfAmountFromOreDict(wire + "VanadiumGallium", 1); - ItemStack wireT3b = ItemUtils.getItemStackOfAmountFromOreDict(wire + "YttriumBariumCuprate", 1); - ItemStack wireT3c = ItemUtils.getItemStackOfAmountFromOreDict(wire + "NiobiumTitanium", 1); - ItemStack wireT4a = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Naquadah", 1); - - // T1 - GT_Values.RA.stdBuilder() - .itemInputs(wireT1a, GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(coilWire1) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(laserEngraverRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(wireT1b, GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(coilWire1) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(laserEngraverRecipes); - // T2 - GT_Values.RA.stdBuilder() - .itemInputs(wireT2a, GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(coilWire2) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_EV) - .addTo(laserEngraverRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(wireT2b, GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(coilWire2) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_EV) - .addTo(laserEngraverRecipes); - // T3 - GT_Values.RA.stdBuilder() - .itemInputs(wireT3a, GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(coilWire3) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(laserEngraverRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(wireT3b, GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(coilWire3) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(laserEngraverRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(wireT3c, GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(coilWire3) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(laserEngraverRecipes); - // T4 - GT_Values.RA.stdBuilder() - .itemInputs(wireT4a, GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(coilWire4) - .duration(40 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(laserEngraverRecipes); - - } else if (aOreDictName.equals(OreDictNames.craftingLensOrange.toString())) { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk), GT_Utility.copyAmount(0L, aStack)) - .itemOutputs(ItemUtils.getSimpleStack(Dimension_Everglades.portalItem)) - .duration(3 * HOURS) - .eut(TierEU.RECIPE_IV) - .addTo(laserEngraverRecipes); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java deleted file mode 100644 index 4929872caa..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.core.recipe; - -public class RECIPES_MachineComponents { - - // Fluid Pipe - public static String pipeTier7 = "pipeHugeSteel"; - public static String pipeTier8 = "pipeHugeStainlessSteel"; - public static String pipeTier9 = "pipeHugeTitanium"; - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java deleted file mode 100644 index 2f9e347b52..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ /dev/null @@ -1,2960 +0,0 @@ -package gtPlusPlus.core.recipe; - -import static gregtech.api.enums.Mods.BartWorks; -import static gregtech.api.enums.Mods.EternalSingularity; -import static gregtech.api.enums.Mods.GoodGenerator; -import static gregtech.api.enums.Mods.GregTech; -import static gregtech.api.enums.Mods.Railcraft; -import static gregtech.api.enums.Mods.RemoteIO; - -import java.util.List; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import com.github.technus.tectech.recipe.TT_recipeAdder; -import com.github.technus.tectech.thing.CustomItemList; -import com.google.common.collect.ImmutableList; - -import gregtech.api.GregTech_API; -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 gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.item.crafting.ItemDummyResearch; -import gtPlusPlus.core.item.crafting.ItemDummyResearch.ASSEMBLY_LINE_RESEARCH; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.everglades.dimension.Dimension_Everglades; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.covers.CoverManager; -import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper; - -public class RECIPES_Machines { - - // Outputs - public static ItemStack RECIPE_Buffer_ULV = GregtechItemList.Energy_Buffer_1by1_ULV.get(1); - public static ItemStack RECIPE_Buffer_LV = GregtechItemList.Energy_Buffer_1by1_LV.get(1); - public static ItemStack RECIPE_Buffer_MV = GregtechItemList.Energy_Buffer_1by1_MV.get(1); - public static ItemStack RECIPE_Buffer_HV = GregtechItemList.Energy_Buffer_1by1_HV.get(1); - public static ItemStack RECIPE_Buffer_EV = GregtechItemList.Energy_Buffer_1by1_EV.get(1); - public static ItemStack RECIPE_Buffer_IV = GregtechItemList.Energy_Buffer_1by1_IV.get(1); - public static ItemStack RECIPE_Buffer_LuV = GregtechItemList.Energy_Buffer_1by1_LuV.get(1); - public static ItemStack RECIPE_Buffer_ZPM = GregtechItemList.Energy_Buffer_1by1_ZPM.get(1); - public static ItemStack RECIPE_Buffer_UV = GregtechItemList.Energy_Buffer_1by1_UV.get(1); - public static ItemStack RECIPE_Buffer_MAX = GregtechItemList.Energy_Buffer_1by1_MAX.get(1); - // Industrial Centrifuge - public static ItemStack RECIPE_IndustrialCentrifugeController; - public static ItemStack RECIPE_IndustrialCentrifugeCasing; - // Industrial Coke Oven - public static ItemStack RECIPE_IndustrialCokeOvenController; - public static ItemStack RECIPE_IndustrialCokeOvenFrame; - public static ItemStack RECIPE_IndustrialCokeOvenCasingA; - public static ItemStack RECIPE_IndustrialCokeOvenCasingB; - // Industrial Electrolyzer - public static ItemStack RECIPE_IndustrialElectrolyzerController; - public static ItemStack RECIPE_IndustrialElectrolyzerFrame; - // Industrial Material Press - public static ItemStack RECIPE_IndustrialMaterialPressController; - public static ItemStack RECIPE_IndustrialMaterialPressFrame; - // Industrial Maceration Stack - public static ItemStack RECIPE_IndustrialMacerationStackController; - public static ItemStack RECIPE_IndustrialMacerationStackFrame; - // Industrial Wire Factory - public static ItemStack RECIPE_IndustrialWireFactoryController; - public static ItemStack RECIPE_IndustrialWireFactoryFrame; - // Industrial Multi Tank - public static ItemStack RECIPE_IndustrialMultiTankController; - public static ItemStack RECIPE_IndustrialMultiTankFrame; - // Industrial Matter Fabricator - public static ItemStack RECIPE_IndustrialMatterFabController; - public static ItemStack RECIPE_IndustrialMatterFabFrame; - public static ItemStack RECIPE_IndustrialMatterFabCoil; - // Industrial Blast Smelter - public static ItemStack RECIPE_IndustrialBlastSmelterController; - public static ItemStack RECIPE_IndustrialBlastSmelterFrame; - public static ItemStack RECIPE_IndustrialBlastSmelterCoil; - // Industrial Sieve - public static ItemStack RECIPE_IndustrialSieveController; - public static ItemStack RECIPE_IndustrialSieveFrame; - public static ItemStack RECIPE_IndustrialSieveGrate; - // Industrial Tree Farmer - public static ItemStack RECIPE_TreeFarmController; - public static ItemStack RECIPE_TreeFarmFrame; - // Tesseracts - public static ItemStack RECIPE_TesseractGenerator; - public static ItemStack RECIPE_TesseractTerminal; - // Thermal Boiler - public static ItemStack RECIPE_ThermalBoilerController; - public static ItemStack RECIPE_ThermalBoilerCasing; - - // Thorium Reactor - public static ItemStack RECIPE_LFTRController; - public static ItemStack RECIPE_LFTROuterCasing; - public static ItemStack RECIPE_LFTRInnerCasing; - - // Nuclear Salt Processing Plant - public static ItemStack RECIPE_SaltPlantController; - - // Cyclotron - public static ItemStack RECIPE_CyclotronController; - public static ItemStack RECIPE_CyclotronOuterCasing; - public static ItemStack RECIPE_CyclotronInnerCoil; - - // Wire - public static String cableTier4 = "cableGt04Gold"; - public static String cableTier6 = "cableGt04Tungsten"; - - public static String pipeTier1 = "pipeHuge" + "Clay"; - public static String pipeTier2 = "pipeHuge" + "Potin"; - public static String pipeTier3 = "pipeHuge" + "Steel"; - public static String pipeTier4 = "pipeHuge" + "StainlessSteel"; - public static String pipeTier7 = "pipeHuge" + "Tantalloy60"; - - // EV/IV MACHINES - public static ItemStack IV_MACHINE_Electrolyzer; - public static ItemStack EV_MACHINE_Centrifuge; - public static ItemStack EV_MACHINE_BendingMachine; - public static ItemStack IV_MACHINE_Wiremill; - public static ItemStack EV_MACHINE_Macerator; - public static ItemStack IV_MACHINE_Macerator; - public static ItemStack IV_MACHINE_Cutter; - public static ItemStack IV_MACHINE_Extruder; - public static ItemStack HV_MACHINE_Sifter; - public static ItemStack EV_MACHINE_ThermalCentrifuge; - public static ItemStack EV_MACHINE_OreWasher; - public static ItemStack IV_MACHINE_AlloySmelter; - public static ItemStack IV_MACHINE_Mixer; - public static ItemStack EV_MACHINE_ChemicalBath; - - // Plates - public static String plateBronze = "plateBronze"; - public static String plateSteel = "plateSteel"; - - // Pipes - public static String pipeHugeStainlessSteel = "pipeHugeStainlessSteel"; - - // Lava Boiler - public static ItemStack boiler_Coal; - public static ItemStack IC2MFE; - public static ItemStack IC2MFSU; - - // Misc - public static ItemStack INPUT_RCCokeOvenBlock; - - public static final void loadRecipes() { - run(); - Logger.INFO("Loading Recipes for the Various machine blocks."); - } - - private static void run() { - - initModItems(); - tieredMachineHulls(); - energyCores(); - wirelessChargers(); - largeArcFurnace(); - industrialVacuumFurnace(); - fakeMachineCasingCovers(); - overflowValveCovers(); - superBuses(); - distillus(); - algaeFarm(); - chemPlant(); - zyngen(); - milling(); - sparging(); - chisels(); - rockBreaker(); - thermicFluidHeater(); - advHeatExchanger(); - chiselBuses(); - solidifierHatches(); - - gt4FarmManager(); - gt4Inventory(); - - multiForgeHammer(); - multiMolecularTransformer(); - multiXlTurbines(); - multiSolarTower(); - multiElementalDuplicator(); - - resonanceChambers(); - modulators(); - } - - private static void thermicFluidHeater() { - - RecipeUtils.addShapedGregtechRecipe( - CI.getPlate(5, 1), - CI.circuitTier5, - CI.getPlate(5, 1), - pipeTier7, - ItemList.Machine_IV_FluidHeater.get(1), - pipeTier7, - CI.getPlate(5, 1), - CI.circuitTier4, - CI.getPlate(5, 1), - GregtechItemList.Controller_IndustrialFluidHeater.get(1)); - } - - private static void advHeatExchanger() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Machine_Multi_HeatExchanger.get(1), - CI.getDoublePlate(6, 8), CI.getScrew(6, 16), CI.getCircuit(5, 8) }, - CI.tieredMaterials[5].getMolten(144 * 8), - GregtechItemList.XL_HeatExchanger.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(6)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_StableTitanium.get(1), - CI.getPlate(5, 4), CI.getScrew(5, 8), }, - CI.tieredMaterials[5].getMolten(144 * 2), - GregtechItemList.Casing_XL_HeatExchanger.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(6)); - } - - private static void gt4FarmManager() { - - ItemList[] aInputHatches = new ItemList[] { ItemList.Hatch_Input_LV, ItemList.Hatch_Input_MV, - ItemList.Hatch_Input_HV, ItemList.Hatch_Input_EV, ItemList.Hatch_Input_IV, ItemList.Hatch_Input_LuV, - ItemList.Hatch_Input_ZPM, ItemList.Hatch_Input_UV }; - GregtechItemList[] aOutputMachines = new GregtechItemList[] { GregtechItemList.GT4_Crop_Harvester_LV, - GregtechItemList.GT4_Crop_Harvester_MV, GregtechItemList.GT4_Crop_Harvester_HV, - GregtechItemList.GT4_Crop_Harvester_EV, GregtechItemList.GT4_Crop_Harvester_IV, - GregtechItemList.GT4_Crop_Harvester_LuV, GregtechItemList.GT4_Crop_Harvester_ZPM, - GregtechItemList.GT4_Crop_Harvester_UV }; - - int aTier = 1; - for (int i = 0; i < 8; i++) { - RecipeUtils.addShapedRecipe( - CI.getRobotArm(aTier, 1), - CI.getSensor(aTier, 1), - CI.getRobotArm(aTier, 1), - ItemUtils.getOrePrefixStack(OrePrefixes.toolHeadSense, CI.tieredMaterials[aTier], 1), - CI.getTieredMachineHull(aTier, 1), - ItemUtils.getOrePrefixStack(OrePrefixes.toolHeadSense, CI.tieredMaterials[aTier], 1), - CI.getTieredCircuitOreDictName(aTier), - aInputHatches[i].get(1), - CI.getTieredCircuitOreDictName(aTier), - aOutputMachines[i].get(1)); - aTier++; - } - } - - private static void gt4Inventory() { - - GregtechItemList[] aOutputElectricCraftingTable = new GregtechItemList[] { - GregtechItemList.GT4_Electric_Auto_Workbench_LV, GregtechItemList.GT4_Electric_Auto_Workbench_MV, - GregtechItemList.GT4_Electric_Auto_Workbench_HV, GregtechItemList.GT4_Electric_Auto_Workbench_EV, - GregtechItemList.GT4_Electric_Auto_Workbench_IV, GregtechItemList.GT4_Electric_Auto_Workbench_LuV, - GregtechItemList.GT4_Electric_Auto_Workbench_ZPM, GregtechItemList.GT4_Electric_Auto_Workbench_UV }; - - int aTier = 1; - for (int i = 0; i < 8; i++) { - RecipeUtils.addShapedRecipe( - ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1), - ItemUtils.getSimpleStack(Blocks.crafting_table), - ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1), - CI.getTieredCircuitOreDictName(aTier), - CI.getTieredMachineHull(aTier), - CI.getTieredCircuitOreDictName(aTier), - ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1), - CI.getRobotArm(aTier, 1), - ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1), - aOutputElectricCraftingTable[i].get(1)); - aTier++; - } - } - - private static void multiForgeHammer() { - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(CI.machineHull_IV, 2), ItemList.Machine_IV_Hammer.get(1), - CI.getPlate(4, 8), CI.getBolt(5, 32), ELEMENT.getInstance().ZIRCONIUM.getFineWire(32), - ItemUtils.getItemStackOfAmountFromOreDict("circuitElite", 4) }, - CI.getTieredFluid(4, 144 * 12), - GregtechItemList.Controller_IndustrialForgeHammer.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(5)); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Casing_IndustrialForgeHammer.get(1), - CI.bitsd, - new Object[] { "IBI", "HCH", "IHI", 'I', CI.getPlate(4, 1), 'B', ALLOY.BABBIT_ALLOY.getPlate(1), 'C', - ItemList.Casing_HeatProof.get(1), 'H', ALLOY.HASTELLOY_X.getRod(1) }); - } - - private static void multiMolecularTransformer() { - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getTieredGTPPMachineCasing(6, 1), CI.getPlate(5, 16), CI.getBolt(5, 32), - ALLOY.HG1223.getFineWire(64), CI.getEmitter(4, 8), - ItemUtils.getItemStackOfAmountFromOreDict("circuitMaster", 10) }, - CI.getTieredFluid(5, 144 * 16), - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_11_MOLECULAR_TRANSFORMER, 1), - 20 * 60, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addAssemblylineRecipe( - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_11_MOLECULAR_TRANSFORMER, 1), - 20 * 60 * 30, - new Object[] { ALLOY.HG1223.getFineWire(64), ALLOY.HG1223.getFineWire(64), - ItemList.Electric_Motor_IV.get(16), ItemList.Energy_LapotronicOrb.get(16), - CI.getTieredComponent(OrePrefixes.cableGt12, 6, 16), CI.getTieredComponent(OrePrefixes.wireGt16, 5, 32), - ALLOY.ZERON_100.getFrameBox(4), ALLOY.ZIRCONIUM_CARBIDE.getPlateDouble(32), - ALLOY.BABBIT_ALLOY.getPlate(64), ALLOY.LEAGRISIUM.getGear(8), - new Object[] { CI.getTieredCircuitOreDictName(4), 64 }, - new Object[] { CI.getTieredCircuitOreDictName(5), 32 }, - new Object[] { CI.getTieredCircuitOreDictName(6), 16 }, - GregtechItemList.Laser_Lens_WoodsGlass.get(1), }, - new FluidStack[] { ALLOY.NITINOL_60.getFluidStack(144 * 9 * (2)), - ALLOY.INCOLOY_MA956.getFluidStack(144 * 9 * (8)), ALLOY.KANTHAL.getFluidStack(144 * 1 * (4)), }, - GregtechItemList.Controller_MolecularTransformer.get(1), - 20 * 60 * 10 * (1), - MaterialUtils.getVoltageForTier(6)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPlate(6, 4), CI.getScrew(6, 8), - ELEMENT.getInstance().PALLADIUM.getFineWire(16), CI.getSensor(5, 2), - ItemUtils.getItemStackOfAmountFromOreDict("circuitElite", 4) }, - CI.getTieredFluid(5, 144 * 4), - GregtechItemList.Casing_Molecular_Transformer_1.get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPlate(5, 4), CI.getScrew(5, 8), - ItemList.Casing_Coil_Nichrome.get(2), CI.getFieldGenerator(3, 2), - ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 8) }, - CI.getTieredFluid(5, 144 * 4), - GregtechItemList.Casing_Molecular_Transformer_2.get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), ItemUtils.getSimpleStack(Blocks.glowstone, 16), - CI.getGear(5, 8), ELEMENT.getInstance().TITANIUM.getWire04(4), CI.getFieldGenerator(4, 2), - ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 8) }, - CI.getTieredFluid(5, 144 * 4), - GregtechItemList.Casing_Molecular_Transformer_3.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(5)); - } - - private static void multiXlTurbines() { - - RecipeUtils.addShapedRecipe( - CI.getDoublePlate(4, 1), - CI.getElectricMotor(3, 1), - CI.getDoublePlate(4, 1), - ItemUtils.getItemStackOfAmountFromOreDict("cellLubricant", 1), - ItemList.Casing_Gearbox_Titanium.get(1), - ItemUtils.getItemStackOfAmountFromOreDict("cellLubricant", 1), - CI.getDoublePlate(4, 1), - CI.getElectricMotor(3, 1), - CI.getDoublePlate(4, 1), - GregtechItemList.Casing_Turbine_Shaft.get(1)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine.get(1), CI.getPlate(4, 4), - CI.getScrew(4, 8), CI.getCircuit(4, 4), CI.getGear(3, 8) }, - CI.tieredMaterials[3].getMolten(144 * 8), - GregtechItemList.Hatch_Turbine_Rotor.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(4)); - - // Steam - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine.get(1), CI.getPlate(3, 4), - CI.getScrew(3, 8), }, - CI.tieredMaterials[2].getMolten(144 * 2), - GregtechItemList.Casing_Turbine_LP.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(3)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargeSteamTurbine.get(1), CI.getPlate(4, 8), - CI.getScrew(4, 16), CI.getGear(4, 4), CI.getCircuit(4, 8) }, - CI.tieredMaterials[4].getMolten(144 * 8), - GregtechItemList.Large_Steam_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(4)); - - // Gas - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine1.get(1), CI.getPlate(4, 4), - CI.getScrew(4, 8), }, - CI.tieredMaterials[3].getMolten(144 * 2), - GregtechItemList.Casing_Turbine_Gas.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(4)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargeGasTurbine.get(1), CI.getPlate(5, 8), - CI.getScrew(5, 16), CI.getGear(5, 4), CI.getCircuit(5, 8) }, - CI.tieredMaterials[5].getMolten(144 * 8), - GregtechItemList.Large_Gas_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(5)); - - // HP Steam - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine2.get(1), CI.getPlate(5, 4), - CI.getScrew(5, 8), }, - CI.tieredMaterials[4].getMolten(144 * 2), - GregtechItemList.Casing_Turbine_HP.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(5)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargeHPSteamTurbine.get(1), CI.getPlate(6, 8), - CI.getScrew(6, 16), CI.getGear(6, 4), CI.getCircuit(6, 8) }, - CI.tieredMaterials[6].getMolten(144 * 8), - GregtechItemList.Large_HPSteam_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(6)); - - // Plasma - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine3.get(1), CI.getPlate(6, 4), - CI.getScrew(6, 8), }, - CI.tieredMaterials[5].getMolten(144 * 2), - GregtechItemList.Casing_Turbine_Plasma.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(6)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargePlasmaTurbine.get(1), CI.getPlate(7, 8), - CI.getScrew(7, 16), CI.getGear(7, 4), CI.getCircuit(7, 8) }, - CI.tieredMaterials[7].getMolten(144 * 8), - GregtechItemList.Large_Plasma_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(7)); - if (GoodGenerator.isModLoaded()) { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), - GT_ModHandler.getModItem(GoodGenerator.ID, "supercriticalFluidTurbineCasing", 1), - GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedplate", 4, 10101), - GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedscrew", 8, 10101) }, - FluidRegistry.getFluidStack("molten.adamantium alloy", 144 * 2), - GregtechItemList.Casing_Turbine_SC.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(6)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), - GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 1, 32016), - GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedplate", 8, 10104), - GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedscrew", 16, 10104), - GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedgearGt", 4, 10104), CI.getCircuit(7, 8) }, - FluidRegistry.getFluidStack("molten.hikarium", 144 * 8), - GregtechItemList.Large_SCSteam_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(7)); - } - } - - private static void multiSolarTower() { - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getTieredGTPPMachineCasing(3, 4), - ALLOY.MARAGING250.getPlate(8), ALLOY.MARAGING250.getBolt(8), ALLOY.MARAGING250.getScrew(8), - CI.getCircuit(5, 8) }, - CI.getTieredFluid(3, 144 * 16), - GregtechItemList.Industrial_Solar_Tower.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(4)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), ALLOY.MARAGING350.getFrameBox(1), - ALLOY.STAINLESS_STEEL.getPlate(4), ALLOY.MARAGING350.getScrew(8) }, - CI.getTieredFluid(3, 144 * 4), - GregtechItemList.Casing_SolarTower_Structural.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(3)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), ALLOY.MARAGING250.getFrameBox(1), - ALLOY.STAINLESS_STEEL.getPlate(4), ALLOY.MARAGING250.getBolt(16), - ELEMENT.getInstance().ALUMINIUM.getScrew(8) }, - CI.getTieredFluid(3, 144 * 4), - GregtechItemList.Casing_SolarTower_SaltContainment.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(3)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), ALLOY.MARAGING250.getFrameBox(1), - ALLOY.STEEL_BLACK.getPlate(4), ALLOY.MARAGING250.getScrew(8) }, - CI.getAlternativeTieredFluid(3, 144 * 4), - GregtechItemList.Casing_SolarTower_HeatContainment.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(3)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getTieredGTPPMachineCasing(2, 1), CI.getPlate(3, 2), - CI.getGear(3, 4), CI.getElectricMotor(3, 2), CI.getCircuit(3, 4) }, - CI.getTertiaryTieredFluid(3, 144 * 4), - GregtechItemList.Solar_Tower_Reflector.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(3)); - } - - private static void multiElementalDuplicator() { - - CORE.RA.addAssemblylineRecipe( - ItemList.Machine_IV_Replicator.get(1), - 20 * 60 * 60 * 12, - new Object[] { CI.getTieredMachineHull(7, 4), CI.getFieldGenerator(5, 16), CI.getElectricMotor(7, 16), - CI.getElectricPiston(7, 4), CI.getEnergyCore(6, 2), CI.getPlate(7, 16), CI.getScrew(7, 32), - CI.getBolt(6, 32), CI.getTieredComponent(OrePrefixes.rod, 6, 10), - new Object[] { CI.getTieredCircuitOreDictName(7), 20 }, ItemList.Tool_DataOrb.get(32), - GregtechItemList.Laser_Lens_Special.get(1) }, - new FluidStack[] { CI.getTieredFluid(7, 144 * 32), CI.getAlternativeTieredFluid(6, 144 * 16), - CI.getTertiaryTieredFluid(6, 144 * 16), ALLOY.BABBIT_ALLOY.getFluidStack(128 * 144), }, - GregtechItemList.Controller_ElementalDuplicator.get(1), - 20 * 60 * 60, - (int) MaterialUtils.getVoltageForTier(7)); - - CORE.RA.addAssemblylineRecipe( - GregtechItemList.Modulator_III.get(1), - 20 * 60 * 60 * 4, - new Object[] { CI.getTieredGTPPMachineCasing(7, 2), CI.getFieldGenerator(4, 4), CI.getEnergyCore(4, 2), - CI.getPlate(7, 8), CI.getScrew(6, 16), CI.getBolt(6, 16), CI.getTieredComponent(OrePrefixes.rod, 5, 16), - new Object[] { CI.getTieredCircuitOreDictName(6), 32 }, ItemList.Tool_DataOrb.get(32), }, - new FluidStack[] { CI.getTieredFluid(6, 144 * 16), CI.getAlternativeTieredFluid(5, 144 * 8), - CI.getTertiaryTieredFluid(5, 144 * 8), ALLOY.BABBIT_ALLOY.getFluidStack(64 * 144), }, - GregtechItemList.Hatch_Input_Elemental_Duplicator.get(1), - 20 * 60 * 60 * (2), - (int) MaterialUtils.getVoltageForTier(6)); - - CORE.RA.addAssemblylineRecipe( - GregtechItemList.ResonanceChamber_III.get(1), - 20 * 60 * 60 * 2, - new Object[] { CI.getTieredMachineHull(6, 5), CI.getFieldGenerator(3, 16), CI.getEnergyCore(2, 2), - CI.getPlate(7, 4), CI.getScrew(7, 4), CI.getBolt(6, 8), CI.getTieredComponent(OrePrefixes.rod, 5, 4), - new Object[] { CI.getTieredCircuitOreDictName(5), 4 }, ItemList.Tool_DataStick.get(4), }, - new FluidStack[] { CI.getTieredFluid(5, 144 * 16), CI.getAlternativeTieredFluid(4, 144 * 8), - CI.getTertiaryTieredFluid(4, 144 * 8), ALLOY.BABBIT_ALLOY.getFluidStack(16 * 144), }, - GregtechItemList.Casing_ElementalDuplicator.get(1), - 20 * 60 * (10), - (int) MaterialUtils.getVoltageForTier(6)); - } - - private static void resonanceChambers() { - int aFieldTier = 1; - int aCasingTier = 4; - for (int i = 0; i < 4; i++) { - RecipeUtils.addShapedRecipe( - CI.getDoublePlate(aCasingTier, 1), - CI.getFieldGenerator(aFieldTier, 1), - CI.getDoublePlate(aCasingTier, 1), - CI.getFieldGenerator(aFieldTier, 1), - CI.getTieredMachineCasing(aCasingTier), - CI.getFieldGenerator(aFieldTier, 1), - CI.getDoublePlate(aCasingTier, 1), - CI.getFieldGenerator(aFieldTier, 1), - CI.getDoublePlate(aCasingTier, 1), - ItemUtils.simpleMetaStack(ModBlocks.blockSpecialMultiCasings2, i, 1)); - aCasingTier++; - aFieldTier++; - } - } - - private static void modulators() { - int aCasingTier = 4; - for (int i = 4; i < 8; i++) { - RecipeUtils.addShapedRecipe( - CI.getTieredCircuitOreDictName(aCasingTier), - CI.getPlate(aCasingTier, 1), - CI.getTieredCircuitOreDictName(aCasingTier), - CI.getPlate(aCasingTier, 1), - CI.getTieredMachineCasing(aCasingTier), - CI.getPlate(aCasingTier, 1), - CI.getTieredCircuitOreDictName(aCasingTier), - CI.getPlate(aCasingTier, 1), - CI.getTieredCircuitOreDictName(aCasingTier), - ItemUtils.simpleMetaStack(ModBlocks.blockSpecialMultiCasings2, i, 1)); - aCasingTier++; - } - } - - private static void zyngen() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(6), CI.getTieredMachineHull(4), - ItemList.Machine_IV_AlloySmelter.get(1), CI.getGear(3, 16), CI.getBolt(3, 64), CI.getPlate(4, 16) }, - CI.getAlternativeTieredFluid(4, 144 * 8), - GregtechItemList.Industrial_AlloySmelter.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(4)); - } - - private static void chemPlant() { - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Casing_Machine_Custom_1.get(2L, new Object[0]), - CI.bits, - new Object[] { "PhP", "PFP", "PwP", 'P', OrePrefixes.plate.get(Materials.Bronze), 'F', - OrePrefixes.frameGt.get(Materials.Bronze) }); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Casing_Machine_Custom_2.get(2L, new Object[0]), - CI.bits, - new Object[] { "PPP", "hFw", "PPP", 'P', OrePrefixes.plate.get(Materials.Aluminium), 'F', - OrePrefixes.frameGt.get(Materials.Aluminium) }); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(19), CI.getTieredGTPPMachineCasing(2, 4), - CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.gearGt, 4), - CI.getTieredComponentOfMaterial(Materials.AnnealedCopper, OrePrefixes.plate, 16), - CI.getTieredComponentOfMaterial(Materials.Plastic, OrePrefixes.pipeLarge, 4), - CI.getTieredComponent(OrePrefixes.frameGt, 2, 4), }, - ALLOY.STEEL_BLACK.getFluidStack(2 * (144 * 4)), - GregtechItemList.ChemicalPlant_Controller.get(1), - 120 * 20, - MaterialUtils.getVoltageForTier(2)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(15), CI.getTieredGTPPMachineCasing(1, 2), - ItemList.Hatch_Input_Bus_MV.get(1), - CI.getTieredComponentOfMaterial(Materials.Bronze, OrePrefixes.gearGt, 8), - CI.getTieredComponentOfMaterial(Materials.Lead, OrePrefixes.plate, 48), - CI.getTieredComponentOfMaterial(Materials.SolderingAlloy, OrePrefixes.wireFine, 16), }, - ALLOY.BRONZE.getFluidStack(2 * (144 * 4)), - GregtechItemList.Bus_Catalysts.get(1), - 60 * 20, - MaterialUtils.getVoltageForTier(2)); - } - - private static void algaeFarm() { - - // Give the bad algae a use. - CORE.RA.addDistilleryRecipe( - ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 32), - null, - null, - ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 4), - 20 * 15, - 16, - false); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(21), CI.getTieredGTPPMachineCasing(0, 4), - CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.rod, 12), - CI.getTieredComponentOfMaterial(Materials.Wood, OrePrefixes.plate, 32), - CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.bolt, 16), - CI.getTieredComponentOfMaterial(Materials.Redstone, OrePrefixes.dust, 32), }, - ALLOY.POTIN.getFluidStack(2 * (144 * 4)), - GregtechItemList.AlgaeFarm_Controller.get(1), - 60 * 20, - MaterialUtils.getVoltageForTier(2)); - } - - private static void distillus() { - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(19), ItemList.Distillation_Tower.get(2), - GregtechItemList.GTPP_Casing_IV.get(16), CI.getTieredComponent(OrePrefixes.circuit, 6, 8) }, - new FluidStack[] { ALLOY.AQUATIC_STEEL.getFluidStack(144 * 32), ALLOY.BABBIT_ALLOY.getFluidStack(144 * 16), - ALLOY.BRONZE.getFluidStack(144 * 64), ALLOY.KANTHAL.getFluidStack(144 * 16), }, - new ItemStack[] { GregtechItemList.Machine_Adv_DistillationTower.get(1) }, - new FluidStack[] {}, - 20 * 600, - MaterialUtils.getVoltageForTier(6), - 5); - } - - private static void overflowValveCovers() { - ItemStack aOutputs[] = new ItemStack[] { GregtechItemList.Cover_Overflow_LV.get(1L), - GregtechItemList.Cover_Overflow_MV.get(1L), GregtechItemList.Cover_Overflow_HV.get(1L), - GregtechItemList.Cover_Overflow_EV.get(1L), GregtechItemList.Cover_Overflow_IV.get(1L), }; - - for (int tier = 1; tier < aOutputs.length + 1; tier++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(19), CI.getElectricPump(tier, 2), - CI.getElectricMotor(tier, 2), CI.getPlate(tier, 4) }, - Materials.SolderingAlloy.getFluid(tier * (144)), - aOutputs[tier - 1].copy(), - 20 * 20, - MaterialUtils.getVoltageForTier(tier)); - } - } - - private static void tieredMachineHulls() { - - GregtechItemList[] aHulls = new GregtechItemList[] { GregtechItemList.GTPP_Casing_ULV, - GregtechItemList.GTPP_Casing_LV, GregtechItemList.GTPP_Casing_MV, GregtechItemList.GTPP_Casing_HV, - GregtechItemList.GTPP_Casing_EV, GregtechItemList.GTPP_Casing_IV, GregtechItemList.GTPP_Casing_LuV, - GregtechItemList.GTPP_Casing_ZPM, GregtechItemList.GTPP_Casing_UV, GregtechItemList.GTPP_Casing_UHV }; - - for (int i = 0; i < 10; i++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(20), CI.getTieredMachineCasing(i), CI.getPlate(i, 8), - CI.getGear(i, 2), CI.getTieredComponent(OrePrefixes.cableGt02, i, 4), - CI.getTieredComponent(OrePrefixes.circuit, i, 2) }, - CI.getAlternativeTieredFluid(i, 144 * (i + 1) * 2), - aHulls[i].get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(i)); - } - } - - private static void initModItems() { - IC2MFE = ItemUtils.getItemStackWithMeta(true, "IC2:blockElectric", "IC2_MFE", 1, 1); - IC2MFSU = ItemUtils.getItemStackWithMeta(true, "IC2:blockElectric", "IC2_MFSU", 2, 1); - - // Lava Boiler - boiler_Coal = ItemList.Machine_Bronze_Boiler.get(1); - - // IV/EV/HV MACHINES - IV_MACHINE_Electrolyzer = ItemList.Machine_IV_Electrolyzer.get(1); - EV_MACHINE_Centrifuge = ItemList.Machine_EV_Centrifuge.get(1); - EV_MACHINE_BendingMachine = ItemList.Machine_EV_Bender.get(1); - IV_MACHINE_Wiremill = ItemList.Machine_IV_Wiremill.get(1); - EV_MACHINE_Macerator = ItemList.Machine_EV_Macerator.get(1); - IV_MACHINE_Macerator = ItemList.Machine_IV_Macerator.get(1); - IV_MACHINE_Cutter = ItemList.Machine_IV_Cutter.get(1); - IV_MACHINE_Extruder = ItemList.Machine_IV_Extruder.get(1); - HV_MACHINE_Sifter = ItemList.Machine_HV_Sifter.get(1); - EV_MACHINE_ThermalCentrifuge = ItemList.Machine_EV_ThermalCentrifuge.get(1); - EV_MACHINE_OreWasher = ItemList.Machine_EV_OreWasher.get(1); - IV_MACHINE_AlloySmelter = ItemList.Machine_IV_AlloySmelter.get(1); - IV_MACHINE_Mixer = ItemList.Machine_IV_Mixer.get(1); - EV_MACHINE_ChemicalBath = ItemList.Machine_EV_ChemicalBath.get(1); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven) { - if (Railcraft.isModLoaded()) { - // Misc - INPUT_RCCokeOvenBlock = ItemUtils - .getItemStackWithMeta(Railcraft.isModLoaded(), "Railcraft:machine.alpha", "Coke_Oven_RC", 7, 1); - } - } - runModRecipes(); - } - - private static void runModRecipes() { - // Computer Cube - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(CI.getDataOrb(), 4 * (1)), ItemList.Cover_Screen.get(4), - CI.machineHull_IV, ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 2) }, - ELEMENT.getInstance().TANTALUM.getFluidStack(144 * 16), - GregtechItemList.Gregtech_Computer_Cube.get(1), - 60 * 20 * 3, - 8000); - - // Circuit programmer - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(CI.robotArm_LV, 4 * (1)), - ItemList.Cover_Controller.get(1, CI.electricMotor_MV), CI.machineHull_MV, - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(1), 2), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(2), 2) }, - ELEMENT.getInstance().IRON.getFluidStack(144 * 4), - ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer), - 60 * 10 * 1, - 30); - - // Lead Lined Chest - for (ItemStack plateRubber : OreDictionary.getOres("plateAnyRubber")) CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.machineHull_LV, GT_Utility.copyAmount(32, plateRubber), - ItemUtils.getItemStackOfAmountFromOreDict("plateDenseLead", 9), - ItemUtils.getSimpleStack(Blocks.chest) }, - ELEMENT.getInstance().LEAD.getFluidStack(144 * 16), - ItemUtils.getSimpleStack(ModBlocks.blockDecayablesChest), - 60 * 10 * 3, - 60); - - // RTG - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getItemStackWithMeta(true, "IC2:blockGenerator:6", "IC2-RTG", 6, 1), - ALLOY.NITINOL_60.getPlate(8), ALLOY.MARAGING350.getGear(4), - ItemUtils.getSimpleStack(CI.fieldGenerator_EV, 8), - ItemUtils.getItemStackOfAmountFromOreDict("wireFinePlatinum", 32), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 4) }, - ALLOY.NIOBIUM_CARBIDE.getFluidStack(144 * 16), - GregtechItemList.RTG.get(1), - 60 * 20 * 10, - 8000); - - // Super Jukebox - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.machineHull_LV, ItemUtils.getItemStackOfAmountFromOreDict("circuitBasic", 4), - ItemUtils.getItemStackOfAmountFromOreDict("plateTumbaga", 8), - ItemUtils.getSimpleStack(Blocks.jukebox) }, - ELEMENT.getInstance().COPPER.getFluidStack(144 * 2), - ItemUtils.getSimpleStack(ModBlocks.blockCustomJukebox), - 20 * 30, - 30); - - // Poo Collector - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.machineHull_MV, ItemList.FluidRegulator_MV.get(2), - CI.getTieredComponent(OrePrefixes.pipeMedium, 2, 2), ALLOY.EGLIN_STEEL.getPlate(4), - ALLOY.POTIN.getScrew(6) }, - ALLOY.TUMBAGA.getFluidStack(144 * 4), - ItemUtils.getSimpleStack(ModBlocks.blockPooCollector), - 20 * 60, - 30); - - // Adv. Poo Collector - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getTieredMachineHull(-1), ItemUtils.getSimpleStack(ModBlocks.blockPooCollector), - ItemList.FluidRegulator_IV.get(2), CI.getTieredComponent(OrePrefixes.pipeHuge, 6, 4), - CI.getTieredComponent(OrePrefixes.screw, 6, 16) }, - CI.getAlternativeTieredFluid(5, 144 * 9), - ItemUtils.getSimpleStack(ModBlocks.blockPooCollector, 8, 1), - 20 * 60 * 5, - 500); - - ItemStack aBronzeBricks = ItemUtils.simpleMetaStack(GregTech_API.sBlockCasings1, 10, 1); - // Steam Macerator Multi - RecipeUtils.addShapedGregtechRecipe( - aBronzeBricks, - "gemDiamond", - aBronzeBricks, - "craftingPiston", - ALLOY.TUMBAGA.getFrameBox(1), - "craftingPiston", - aBronzeBricks, - "gemDiamond", - aBronzeBricks, - GregtechItemList.Controller_SteamMaceratorMulti.get(1)); - // Steam Compressor Multi - RecipeUtils.addShapedGregtechRecipe( - aBronzeBricks, - "craftingPiston", - aBronzeBricks, - ALLOY.TUMBAGA.getGear(1), - ALLOY.TUMBAGA.getFrameBox(1), - ALLOY.TUMBAGA.getGear(1), - aBronzeBricks, - "craftingPiston", - aBronzeBricks, - GregtechItemList.Controller_SteamCompressorMulti.get(1)); - - // Steam Hatch - RecipeUtils.addShapedGregtechRecipe( - "plateBronze", - "pipeMediumBronze", - "plateBronze", - "plateBronze", - GregtechItemList.GT_FluidTank_ULV.get(1), - "plateBronze", - "plateBronze", - "pipeMediumBronze", - "plateBronze", - GregtechItemList.Hatch_Input_Steam.get(1)); - - // Steam Input Bus - RecipeUtils.addShapedGregtechRecipe( - "plateBronze", - ALLOY.TUMBAGA.getPlate(1), - "plateBronze", - "plateTin", - ItemUtils.getSimpleStack(Blocks.hopper), - "plateTin", - "plateBronze", - ALLOY.TUMBAGA.getPlate(1), - "plateBronze", - GregtechItemList.Hatch_Input_Bus_Steam.get(1)); - - // Steam Output Bus - RecipeUtils.addShapedGregtechRecipe( - "plateBronze", - "plateTin", - "plateBronze", - ALLOY.TUMBAGA.getPlate(1), - ItemUtils.getSimpleStack(Blocks.hopper), - ALLOY.TUMBAGA.getPlate(1), - "plateBronze", - "plateTin", - "plateBronze", - GregtechItemList.Hatch_Output_Bus_Steam.get(1)); - - // Flask Configurator - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(8), CI.getTieredMachineHull(2), - ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer), VolumetricFlaskHelper.getVolumetricFlask(8), - CI.getTieredComponent(OrePrefixes.pipeSmall, 2, 2), CI.getPlate(2, 4) }, - CI.getAlternativeTieredFluid(1, 144 * 8), - ItemUtils.getSimpleStack(ModBlocks.blockVolumetricFlaskSetter, 1), - 20 * 60, - 120); - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialCentrifuge) { - // Industrial Centrifuge - RECIPE_IndustrialCentrifugeController = GregtechItemList.Industrial_Centrifuge.get(1); - RECIPE_IndustrialCentrifugeCasing = GregtechItemList.Casing_Centrifuge1.get(1); - - // Industrial Centrifuge - RecipeUtils.addShapedGregtechRecipe( - CI.circuitTier4, - pipeHugeStainlessSteel, - CI.circuitTier4, - CI.component_Plate[6], - EV_MACHINE_Centrifuge, - CI.component_Plate[6], - CI.component_Plate[8], - CI.machineCasing_EV, - CI.component_Plate[8], - RECIPE_IndustrialCentrifugeController); - // Centrifuge Casing - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[6], - "stickTumbaga", - CI.component_Plate[6], - CI.component_Plate[8], - "stickTumbaga", - CI.component_Plate[8], - CI.component_Plate[6], - "stickTumbaga", - CI.component_Plate[6], - RECIPE_IndustrialCentrifugeCasing); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.MARAGING250.getPlate(4), ALLOY.INCONEL_792.getPlate(2), ALLOY.TUMBAGA.getRod(3), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialCentrifugeCasing, - 50, - 16); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven) { - // Industrial Coke Oven - RECIPE_IndustrialCokeOvenController = GregtechItemList.Industrial_CokeOven.get(1); - RECIPE_IndustrialCokeOvenFrame = GregtechItemList.Casing_CokeOven.get(1); - RECIPE_IndustrialCokeOvenCasingA = GregtechItemList.Casing_CokeOven_Coil1.get(1); - RECIPE_IndustrialCokeOvenCasingB = GregtechItemList.Casing_CokeOven_Coil2.get(1); - - if (Railcraft.isModLoaded()) { - // Industrial Coke Oven - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[7], - CI.circuitTier4, - CI.component_Plate[7], - CI.machineCasing_EV, - INPUT_RCCokeOvenBlock, - CI.machineCasing_EV, - CI.component_Plate[7], - CI.circuitTier4, - CI.component_Plate[7], - RECIPE_IndustrialCokeOvenController); - } - // Coke Oven Frame Casing - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[7], - CI.component_Rod[7], - CI.component_Plate[7], - CI.component_Rod[7], - "frameGtTantalloy61", - CI.component_Rod[7], - CI.component_Plate[7], - CI.component_Rod[7], - CI.component_Plate[7], - RECIPE_IndustrialCokeOvenFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.TANTALLOY_61.getPlate(4), ALLOY.TANTALLOY_61.getRod(4), - ALLOY.TANTALLOY_61.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialCokeOvenFrame, - 50, - 16); - // Coke Oven Coil 1 - RecipeUtils.addShapedGregtechRecipe( - plateBronze, - plateBronze, - plateBronze, - "frameGtBronze", - CI.gearboxCasing_Tier_1, - "frameGtBronze", - plateBronze, - plateBronze, - plateBronze, - RECIPE_IndustrialCokeOvenCasingA); - // Coke Oven Coil 2 - RecipeUtils.addShapedGregtechRecipe( - plateSteel, - plateSteel, - plateSteel, - "frameGtSteel", - CI.gearboxCasing_Tier_2, - "frameGtSteel", - plateSteel, - plateSteel, - plateSteel, - RECIPE_IndustrialCokeOvenCasingB); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialElectrolyzer) { - // Industrial Electrolyzer - RECIPE_IndustrialElectrolyzerController = GregtechItemList.Industrial_Electrolyzer.get(1); - RECIPE_IndustrialElectrolyzerFrame = GregtechItemList.Casing_Electrolyzer.get(1); - - // Electrolyzer Frame Casing - RecipeUtils.addShapedGregtechRecipe( - "platePotin", - "stickLongChrome", - "platePotin", - "stickLongPotin", - "frameGtPotin", - "stickLongPotin", - "platePotin", - "stickLongPotin", - "platePotin", - RECIPE_IndustrialElectrolyzerFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.POTIN.getPlate(4), ALLOY.POTIN.getLongRod(3), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Chrome, 1), ALLOY.POTIN.getFrameBox(1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialElectrolyzerFrame, - 50, - 16); - // Industrial Electrolyzer - RecipeUtils.addShapedGregtechRecipe( - "plateStellite", - CI.circuitTier5, - "plateStellite", - CI.machineCasing_IV, - IV_MACHINE_Electrolyzer, - CI.machineCasing_IV, - "plateStellite", - "rotorStellite", - "plateStellite", - RECIPE_IndustrialElectrolyzerController); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialPlatePress) { - // Industrial Material Press - RECIPE_IndustrialMaterialPressController = GregtechItemList.Industrial_PlatePress.get(1); - RECIPE_IndustrialMaterialPressFrame = GregtechItemList.Casing_MaterialPress.get(1); - - // Material Press Frame Casing - RecipeUtils.addShapedGregtechRecipe( - "plateTitanium", - "stickLongTumbaga", - "plateTitanium", - "stickTantalloy60", - "frameGtTumbaga", - "stickTantalloy60", - "plateTitanium", - "stickLongTumbaga", - "plateTitanium", - RECIPE_IndustrialMaterialPressFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4), - ALLOY.TANTALLOY_60.getRod(2), ALLOY.TUMBAGA.getLongRod(2), ALLOY.TUMBAGA.getFrameBox(1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialMaterialPressFrame, - 50, - 16); - // Industrial Material Press - RecipeUtils.addShapedGregtechRecipe( - "plateTitanium", - CI.circuitTier4, - "plateTitanium", - CI.machineCasing_EV, - EV_MACHINE_BendingMachine, - CI.machineCasing_EV, - "plateTitanium", - CI.circuitTier4, - "plateTitanium", - RECIPE_IndustrialMaterialPressController); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialMacerationStack) { - // Industrial Maceration Stack - RECIPE_IndustrialMacerationStackController = GregtechItemList.Industrial_MacerationStack.get(1); - RECIPE_IndustrialMacerationStackFrame = GregtechItemList.Casing_MacerationStack.get(1); - - // Maceration Frame Casing - RecipeUtils.addShapedGregtechRecipe( - "platePalladium", - "platePalladium", - "platePalladium", - "stickPlatinum", - "frameGtInconel625", - "stickPlatinum", - "platePalladium", - "stickLongPalladium", - "platePalladium", - RECIPE_IndustrialMacerationStackFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Palladium, 5), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Platinum, 2), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Palladium, 1), - ALLOY.INCONEL_625.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialMacerationStackFrame, - 50, - 16); - // Industrial Maceration stack - RecipeUtils.addShapedGregtechRecipe( - "plateTitanium", - EV_MACHINE_Macerator, - "plateTitanium", - EV_MACHINE_Macerator, - CI.circuitTier4, - EV_MACHINE_Macerator, - "plateTitanium", - EV_MACHINE_Macerator, - "plateTitanium", - RECIPE_IndustrialMacerationStackController); - // T2-Upgrade Card - RecipeUtils.addShapedGregtechRecipe( - "plateTungstenCarbide", - IV_MACHINE_Macerator, - "plateTungstenCarbide", - IV_MACHINE_Macerator, - CI.circuitTier7, - IV_MACHINE_Macerator, - "plateTungstenCarbide", - IV_MACHINE_Macerator, - "plateTungstenCarbide", - GregtechItemList.Maceration_Upgrade_Chip.get(1)); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialWireMill) { - // Industrial Wire Factory - RECIPE_IndustrialWireFactoryController = GregtechItemList.Industrial_WireFactory.get(1); - RECIPE_IndustrialWireFactoryFrame = GregtechItemList.Casing_WireFactory.get(1); - - // Wire Factory Frame Casing - RecipeUtils.addShapedGregtechRecipe( - "plateBlueSteel", - "stickBlueSteel", - "plateBlueSteel", - "stickBlueSteel", - "frameGtBlueSteel", - "stickBlueSteel", - "plateBlueSteel", - "stickBlueSteel", - "plateBlueSteel", - RECIPE_IndustrialWireFactoryFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlueSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.BlueSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlueSteel, 1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialWireFactoryFrame, - 50, - 16); - // Industrial Wire Factory - RecipeUtils.addShapedGregtechRecipe( - "plateZeron100", - CI.machineCasing_IV, - "plateZeron100", - CI.circuitTier5, - IV_MACHINE_Wiremill, - CI.circuitTier5, - "plateZeron100", - CI.machineCasing_IV, - "plateZeron100", - RECIPE_IndustrialWireFactoryController); - } - - // Tiered Tanks - if (CORE.ConfigSwitches.enableMachine_FluidTanks) { - CI.component_Plate[1] = "plateTin"; - pipeTier1 = "pipeLargeClay"; - CI.circuitTier1 = ItemList.Circuit_Primitive.get(1); - CI.component_Plate[2] = "plateCopper"; - pipeTier2 = "pipeHugeClay"; - CI.component_Plate[3] = "plateBronze"; - pipeTier3 = "pipeMediumBronze"; - CI.component_Plate[4] = "plateIron"; - pipeTier4 = "pipeMediumSteel"; - CI.component_Plate[5] = "plateSteel"; - CI.component_Plate[6] = "plateRedstone"; - CI.component_Plate[7] = "plateAluminium"; - CI.component_Plate[8] = "plateDarkSteel"; - ItemStack waterBucket = ItemUtils.getSimpleStack(Items.water_bucket); - - // Allows clearing stored fluids. - GregtechItemList[] aTanks = new GregtechItemList[] { GregtechItemList.GT_FluidTank_ULV, - GregtechItemList.GT_FluidTank_LV, GregtechItemList.GT_FluidTank_MV, GregtechItemList.GT_FluidTank_HV }; - for (GregtechItemList aTank : aTanks) { - RecipeUtils.addShapelessGregtechRecipe(new Object[] { aTank.get(1) }, aTank.get(1)); - } - - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[1], - CI.component_Plate[5], - CI.component_Plate[1], - CI.component_Plate[4], - pipeTier1, - CI.component_Plate[4], - CI.component_Plate[4], - waterBucket, - CI.component_Plate[4], - GregtechItemList.GT_FluidTank_ULV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[5], - CI.component_Plate[4], - CI.component_Plate[5], - CI.component_Plate[3], - pipeTier2, - CI.component_Plate[3], - CI.component_Plate[3], - CI.electricPump_LV, - CI.component_Plate[3], - GregtechItemList.GT_FluidTank_LV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[8], - CI.component_Plate[3], - CI.component_Plate[8], - CI.component_Plate[5], - pipeTier3, - CI.component_Plate[5], - CI.component_Plate[5], - CI.electricPump_LV, - CI.component_Plate[5], - GregtechItemList.GT_FluidTank_MV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.circuitTier1, - CI.component_Plate[7], - CI.circuitTier1, - CI.component_Plate[8], - pipeTier4, - CI.component_Plate[8], - CI.circuitTier1, - CI.electricPump_MV, - CI.circuitTier1, - GregtechItemList.GT_FluidTank_HV.get(1)); - } - - if (CORE.ConfigSwitches.enableMultiblock_MultiTank) { - // Industrial Multi Tank - // RECIPE_IndustrialMultiTankController = GregtechItemList.Industrial_MultiTank.get(1); - RECIPE_IndustrialMultiTankFrame = GregtechItemList.Casing_MultitankExterior.get(1); - - // Industrial Multi Tank Casing - RecipeUtils.addShapedGregtechRecipe( - "stickGrisium", - "plateGrisium", - "stickGrisium", - "plateGrisium", - "frameGtGrisium", - "plateGrisium", - "plateGrisium", - "plateGrisium", - "plateGrisium", - RECIPE_IndustrialMultiTankFrame); - // Industrial Multi Tank - RecipeUtils.addShapedGregtechRecipe( - "pipeHugeTantalloy60", - "gearGrisium", - "pipeHugeTantalloy60", - CI.circuitTier4, - RECIPE_IndustrialMultiTankFrame, - CI.circuitTier4, - "plateDoubleGrisium", - "rotorGrisium", - "plateDoubleGrisium", - RECIPE_IndustrialMultiTankController); - } - // TODO - - // Semi-Fluid Generators - ItemStack[][] aSemiFluidInputs = new ItemStack[5][10]; - aSemiFluidInputs[0] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(1, 1), - CI.getElectricMotor(1, 2), CI.getElectricPiston(1, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 1, 1), - CI.getTieredComponent(OrePrefixes.circuit, 1, 1), CI.getGear(1, 2) }; - aSemiFluidInputs[1] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(2, 1), - CI.getElectricMotor(2, 2), CI.getElectricPiston(2, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 2, 1), - CI.getTieredComponent(OrePrefixes.circuit, 2, 1), CI.getGear(2, 2) }; - aSemiFluidInputs[2] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(3, 1), - CI.getElectricMotor(3, 2), CI.getElectricPiston(3, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 3, 1), - CI.getTieredComponent(OrePrefixes.circuit, 3, 1), - GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Chrome, 2) }; - aSemiFluidInputs[3] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(4, 1), - CI.getElectricMotor(4, 2), CI.getElectricPiston(4, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 4, 1), - CI.getTieredComponent(OrePrefixes.circuit, 4, 1), CI.getGear(4, 2) }; - aSemiFluidInputs[4] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(5, 1), - CI.getElectricMotor(5, 2), CI.getElectricPiston(5, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 5, 1), - CI.getTieredComponent(OrePrefixes.circuit, 5, 1), CI.getGear(5, 2) }; - FluidStack[] aSemiFluidFluidInputs = new FluidStack[] { ALLOY.POLYETHYLENE.getFluidStack(144), - ALLOY.POLYETHYLENE.getFluidStack(144), ALLOY.POLYETHYLENE.getFluidStack(144), - ALLOY.POLYETHYLENE.getFluidStack(144), ALLOY.POLYTETRAFLUOROETHYLENE.getFluidStack(144) }; - - ItemStack[] aSemifluids = new ItemStack[] { GregtechItemList.Generator_SemiFluid_LV.get(1), - GregtechItemList.Generator_SemiFluid_MV.get(1), GregtechItemList.Generator_SemiFluid_HV.get(1), - GregtechItemList.Generator_SemiFluid_EV.get(1), GregtechItemList.Generator_SemiFluid_IV.get(1) }; - for (int o = 0; o < 5; o++) { - CORE.RA.addSixSlotAssemblingRecipe( - aSemiFluidInputs[o], - aSemiFluidFluidInputs[o], - aSemifluids[o], - 20 * 30, - MaterialUtils.getVoltageForTier(o + 1)); - } - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Generator_SemiFluid_LV.get(1L), - new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_LV, 'P', ItemList.Electric_Piston_LV, 'E', - ItemList.Electric_Motor_LV, 'C', OrePrefixes.circuit.get(Materials.Basic), 'W', - OrePrefixes.cableGt01.get(Materials.Tin), 'G', ALLOY.TUMBAGA.getGear(2) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Generator_SemiFluid_MV.get(1L), - new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_MV, 'P', ItemList.Electric_Piston_MV, 'E', - ItemList.Electric_Motor_MV, 'C', OrePrefixes.circuit.get(Materials.Good), 'W', - OrePrefixes.cableGt01.get(Materials.AnyCopper), 'G', ALLOY.EGLIN_STEEL.getGear(2) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Generator_SemiFluid_HV.get(1L), - new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_HV, 'P', ItemList.Electric_Piston_HV, 'E', - ItemList.Electric_Motor_HV, 'C', OrePrefixes.circuit.get(Materials.Advanced), 'W', - OrePrefixes.cableGt01.get(Materials.Gold), 'G', - GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Chrome, 1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Generator_SemiFluid_EV.get(1L), - new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_EV, 'P', ItemList.Electric_Piston_EV, 'E', - ItemList.Electric_Motor_EV, 'C', OrePrefixes.circuit.get(Materials.Data), 'W', - OrePrefixes.cableGt01.get(Materials.Aluminium), 'G', ALLOY.INCOLOY_DS.getGear(1) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Generator_SemiFluid_IV.get(1L), - new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_IV, 'P', ItemList.Electric_Piston_IV, 'E', - ItemList.Electric_Motor_IV, 'C', OrePrefixes.circuit.get(Materials.Elite), 'W', - OrePrefixes.cableGt01.get(Materials.Tungsten), 'G', ALLOY.NITINOL_60.getGear(1) }); - - if (CORE.ConfigSwitches.enableMultiblock_AlloyBlastSmelter) { - // Industrial Blast Smelter - RECIPE_IndustrialBlastSmelterController = GregtechItemList.Industrial_AlloyBlastSmelter.get(1); - RECIPE_IndustrialBlastSmelterFrame = GregtechItemList.Casing_BlastSmelter.get(1); - RECIPE_IndustrialBlastSmelterCoil = GregtechItemList.Casing_Coil_BlastSmelter.get(1); - - // Blast Smelter - RecipeUtils.addShapedGregtechRecipe( - "plateZirconiumCarbide", - CI.circuitTier5, - "plateZirconiumCarbide", - cableTier6, - IV_MACHINE_AlloySmelter, - cableTier6, - "plateZirconiumCarbide", - CI.circuitTier5, - "plateZirconiumCarbide", - RECIPE_IndustrialBlastSmelterController); - // Blast Smelter Frame Casing - RecipeUtils.addShapedGregtechRecipe( - "plateZirconiumCarbide", - CI.craftingToolHammer_Hard, - "plateZirconiumCarbide", - "plateZirconiumCarbide", - "frameGtZirconiumCarbide", - "plateZirconiumCarbide", - "plateZirconiumCarbide", - CI.craftingToolWrench, - "plateZirconiumCarbide", - RECIPE_IndustrialBlastSmelterFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.ZIRCONIUM_CARBIDE.getPlate(6), ALLOY.ZIRCONIUM_CARBIDE.getFrameBox(1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialBlastSmelterFrame, - 50, - 16); - // Blast Smelter Coil - RecipeUtils.addShapedGregtechRecipe( - "plateStaballoy", - "plateStaballoy", - "plateStaballoy", - "frameGtStaballoy", - CI.gearboxCasing_Tier_3, - "frameGtStaballoy", - "plateStaballoy", - "plateStaballoy", - "plateStaballoy", - RECIPE_IndustrialBlastSmelterCoil); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.STABALLOY.getPlate(6), ALLOY.STABALLOY.getFrameBox(2), CI.gearboxCasing_Tier_3, - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialBlastSmelterCoil, - 50, - 16); - } - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemList.Casing_Coil_Infinity.get(1), ItemList.Reactor_Coolant_Sp_6.get(4), - ALLOY.LAURENIUM.getPlateDouble(2), CustomItemList.eM_Coil.get(1) }, - ALLOY.QUANTUM.getFluidStack(144 * 4), - GregtechItemList.Casing_Coil_QuantumForceTransformer.get(1), - 60 * 30, - MaterialUtils.getVoltageForTier(6)); - - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.Casing_Coil_QuantumForceTransformer.get(1), - 2048 * 120 * 20, - 2048, - (int) GT_Values.VP[11], - 16, - new Object[] { GregtechItemList.Controller_MolecularTransformer.get(1), - GT_ModHandler.getModItem(EternalSingularity.ID, "eternal_singularity", 1), - new Object[] { OrePrefixes.circuit.get(Materials.Bio), 8 }, ItemList.Electric_Pump_UEV.get(4), - ItemList.Field_Generator_UEV.get(4), GregtechItemList.Laser_Lens_Special.get(1) }, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 10), - ALLOY.PIKYONIUM.getFluidStack(144 * 32) }, - GregtechItemList.QuantumForceTransformer.get(1), - 1200 * 20, - (int) GT_Values.VP[11]); - - if (CORE.ConfigSwitches.enableMultiblock_MatterFabricator) { - // Industrial Matter Fabricator - RECIPE_IndustrialMatterFabController = GregtechItemList.Industrial_MassFab.get(1); - RECIPE_IndustrialMatterFabFrame = GregtechItemList.Casing_MatterFab.get(1); - RECIPE_IndustrialMatterFabCoil = GregtechItemList.Casing_MatterGen.get(1); - - // Matter Fabricator CPU - RecipeUtils.addShapedGregtechRecipe( - CI.getPlate(8, 1), - CI.circuitTier8, - CI.getPlate(8, 1), - GT_OreDictUnificator.get(OrePrefixes.cableGt04.get(Materials.NaquadahAlloy), 1L), - CI.machineCasing_UV, - GT_OreDictUnificator.get(OrePrefixes.cableGt04.get(Materials.NaquadahAlloy), 1L), - CI.getPlate(8, 1), - CI.circuitTier8, - CI.getPlate(8, 1), - RECIPE_IndustrialMatterFabController); - // Matter Fabricator Frame Casing - RecipeUtils.addShapedGregtechRecipe( - "plateNiobiumCarbide", - CI.component_Rod[8], - "plateNiobiumCarbide", - CI.component_Rod[8], - "frameGtInconel690", - CI.component_Rod[8], - "plateNiobiumCarbide", - CI.component_Rod[8], - "plateNiobiumCarbide", - RECIPE_IndustrialMatterFabFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.NIOBIUM_CARBIDE.getPlate(4), ALLOY.INCONEL_792.getRod(4), - ALLOY.INCONEL_690.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialMatterFabFrame, - 50, - 16); - // Matter Fabricator Coil - RecipeUtils.addShapedGregtechRecipe( - CI.getPlate(6, 1), - CI.getPlate(7, 1), - CI.getPlate(6, 1), - "frameGtStellite", - CI.machineCasing_UV, - "frameGtStellite", - CI.getPlate(6, 1), - CI.getPlate(7, 1), - CI.getPlate(6, 1), - RECIPE_IndustrialMatterFabCoil); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CI.machineCasing_UV, ALLOY.ZERON_100.getPlate(4), ALLOY.PIKYONIUM.getPlate(2), - ALLOY.STELLITE.getFrameBox(2), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialMatterFabCoil, - 50, - 16); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialSifter) { - // Industrial Sieve - RECIPE_IndustrialSieveController = GregtechItemList.Industrial_Sifter.get(1); - RECIPE_IndustrialSieveFrame = GregtechItemList.Casing_Sifter.get(1); - RECIPE_IndustrialSieveGrate = GregtechItemList.Casing_SifterGrate.get(1); - - // Industrial Sieve - RecipeUtils.addShapedGregtechRecipe( - "plateEglinSteel", - CI.circuitTier3, - "plateEglinSteel", - cableTier4, - HV_MACHINE_Sifter, - cableTier4, - "plateEglinSteel", - CI.circuitTier3, - "plateEglinSteel", - RECIPE_IndustrialSieveController); - // Industrial Sieve Casing - RecipeUtils.addShapedGregtechRecipe( - "plateEglinSteel", - "plateEglinSteel", - "plateEglinSteel", - "plateEglinSteel", - "frameGtTumbaga", - "plateEglinSteel", - "plateEglinSteel", - "plateEglinSteel", - "plateEglinSteel", - RECIPE_IndustrialSieveFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.EGLIN_STEEL.getPlate(8), ALLOY.TUMBAGA.getFrameBox(1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialSieveFrame, - 50, - 16); - // Industrial Sieve Grate - RecipeUtils.addShapedGregtechRecipe( - "frameGtEglinSteel", - "wireFineSteel", - "frameGtEglinSteel", - "wireFineSteel", - "wireFineSteel", - "wireFineSteel", - "frameGtEglinSteel", - "wireFineSteel", - "frameGtEglinSteel", - RECIPE_IndustrialSieveGrate); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 5), - ALLOY.EGLIN_STEEL.getFrameBox(4), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialSieveGrate, - 50, - 16); - } - - if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer) { - // Industrial Tree Farmer - RECIPE_TreeFarmController = GregtechItemList.Industrial_TreeFarm.get(1); - RECIPE_TreeFarmFrame = GregtechItemList.Casing_PLACEHOLDER_TreeFarmer.get(1); - // Industrial Tree Farm Controller - RecipeUtils.addShapedGregtechRecipe( - ItemList.Field_Generator_IV.get(1), - ALLOY.INCOLOY_MA956.getRotor(1), - ItemList.Field_Generator_IV.get(1), - ALLOY.NITINOL_60.getPlate(1), - GregtechItemList.GTPP_Casing_IV.get(1), - ALLOY.NITINOL_60.getPlate(1), - ItemList.Field_Generator_IV.get(1), - ALLOY.INCONEL_792.getComponentByPrefix(OrePrefixes.pipeMedium, 1), - ItemList.Field_Generator_IV.get(1), - RECIPE_TreeFarmController); - // Industrial Tree Farm Frame - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(2), ALLOY.TUMBAGA.getFrameBox(1), - ItemUtils.getItemStackOfAmountFromOreDict("pipeTinySteel", 1), ItemList.MV_Coil.get(1), - ItemList.IC2_Plantball.get(4), GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 8), }, - GT_ModHandler.getDistilledWater(2000), - RECIPE_TreeFarmFrame, - 200, - 64); - } - - if (CORE.ConfigSwitches.enableMachine_Tesseracts) { - // Tesseracts - RECIPE_TesseractGenerator = GregtechItemList.GT4_Tesseract_Generator.get(1); - RECIPE_TesseractTerminal = GregtechItemList.GT4_Tesseract_Terminal.get(1); - // Tesseract Generator - RecipeUtils.addShapedGregtechRecipe( - "plateTitanium", - "circuitMaster", - "plateTitanium", - "circuitMaster", - ItemUtils.getSimpleStack(Blocks.ender_chest), - "circuitMaster", - "plateTitanium", - GregtechItemList.Gregtech_Computer_Cube.get(1), - "plateTitanium", - RECIPE_TesseractGenerator); - // Tesseract Terminal - RecipeUtils.addShapedGregtechRecipe( - "plateTitanium", - "circuitElite", - "plateTitanium", - "circuitElite", - ItemUtils.getSimpleStack(Blocks.ender_chest), - "circuitElite", - "plateTitanium", - CI.machineHull_EV, - "plateTitanium", - RECIPE_TesseractTerminal); - } - - if (CORE.ConfigSwitches.enableMachine_SimpleWasher) { - final List washers = ImmutableList.of( - GregtechItemList.SimpleDustWasher_LV.get(1), - GregtechItemList.SimpleDustWasher_MV.get(1), - GregtechItemList.SimpleDustWasher_HV.get(1), - GregtechItemList.SimpleDustWasher_EV.get(1), - GregtechItemList.SimpleDustWasher_IV.get(1), - GregtechItemList.SimpleDustWasher_LuV.get(1), - GregtechItemList.SimpleDustWasher_ZPM.get(1), - GregtechItemList.SimpleDustWasher_UV.get(1)); - - for (int i = 0; i < washers.size(); i++) { - final int tier = i + 1; - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getTieredMachineHull(tier), - CI.getTieredComponent(OrePrefixes.screw, tier, tier * 4), - CI.getTieredComponent(OrePrefixes.plate, tier - 1, tier * 2), - CI.getTieredComponent(OrePrefixes.rod, tier, tier), - CI.getTieredComponent(OrePrefixes.circuit, tier, 1) }, - CI.getTieredFluid(tier, 144 * tier), - washers.get(i), - 20 * 5 * tier, - (int) GT_Values.V[tier]); - } - } - - if (CORE.ConfigSwitches.enableMachine_Pollution && PollutionUtils.isPollutionEnabled()) { - - RecipeUtils.addShapedGregtechRecipe( - "plateCarbon", - "plateCarbon", - "plateCarbon", - "dustCarbon", - "dustCarbon", - "dustCarbon", - "plateCarbon", - "plateCarbon", - "plateCarbon", - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1)); - - RecipeUtils.addShapedGregtechRecipe( - "plateCarbon", - "plateCarbon", - "plateCarbon", - "cellLithiumPeroxide", - "dustCarbon", - "cellLithiumPeroxide", - "plateCarbon", - "plateCarbon", - "plateCarbon", - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1)); - - // Pollution Detector - RecipeUtils.addShapedGregtechRecipe( - "plateSteel", - CI.sensor_LV, - "plateSteel", - "plateSteel", - CI.electricMotor_LV, - "plateSteel", - CI.getTieredCircuit(1), - CI.machineHull_LV, - CI.getTieredCircuit(1), - GregtechItemList.Pollution_Detector.get(1)); - - // LV - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[1], - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1), - CI.component_Plate[1], - CI.component_Plate[1], - CI.electricMotor_LV, - CI.component_Plate[1], - CI.getTieredCircuit(1), - CI.machineHull_LV, - CI.getTieredCircuit(1), - GregtechItemList.Pollution_Cleaner_LV.get(1)); - // MV - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[2], - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1), - CI.component_Plate[2], - CI.component_Plate[2], - CI.electricMotor_MV, - CI.component_Plate[2], - CI.getTieredCircuit(2), - CI.machineHull_MV, - CI.getTieredCircuit(2), - GregtechItemList.Pollution_Cleaner_MV.get(1)); - // HV - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[3], - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1), - CI.component_Plate[3], - CI.component_Plate[3], - CI.electricMotor_HV, - CI.component_Plate[3], - CI.getTieredCircuit(3), - CI.machineHull_HV, - CI.getTieredCircuit(3), - GregtechItemList.Pollution_Cleaner_HV.get(1)); - // EV - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[4], - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1), - CI.component_Plate[4], - CI.component_Plate[4], - CI.electricMotor_EV, - CI.component_Plate[4], - CI.getTieredCircuit(4), - CI.machineHull_EV, - CI.getTieredCircuit(4), - GregtechItemList.Pollution_Cleaner_EV.get(1)); - // IV - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[5], - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1), - CI.component_Plate[5], - CI.component_Plate[5], - CI.electricMotor_IV, - CI.component_Plate[5], - CI.getTieredCircuit(5), - CI.machineHull_IV, - CI.getTieredCircuit(5), - GregtechItemList.Pollution_Cleaner_IV.get(1)); - // LuV - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[6], - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1), - CI.component_Plate[6], - CI.component_Plate[6], - CI.electricMotor_LuV, - CI.component_Plate[6], - CI.getTieredCircuit(6), - CI.machineHull_LuV, - CI.getTieredCircuit(6), - GregtechItemList.Pollution_Cleaner_LuV.get(1)); - // ZPM - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[7], - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1), - CI.component_Plate[7], - CI.component_Plate[7], - CI.electricMotor_ZPM, - CI.component_Plate[7], - CI.getTieredCircuit(7), - CI.machineHull_ZPM, - CI.getTieredCircuit(7), - GregtechItemList.Pollution_Cleaner_ZPM.get(1)); - // UV - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[8], - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1), - CI.component_Plate[8], - CI.component_Plate[8], - CI.electricMotor_UV, - CI.component_Plate[8], - CI.getTieredCircuit(8), - CI.machineHull_UV, - CI.getTieredCircuit(8), - GregtechItemList.Pollution_Cleaner_UV.get(1)); - // MAX - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[9], - ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1), - CI.component_Plate[9], - CI.component_Plate[9], - CI.electricMotor_UHV, - CI.component_Plate[9], - CI.getTieredCircuit(9), - CI.machineHull_UHV, - CI.getTieredCircuit(9), - GregtechItemList.Pollution_Cleaner_MAX.get(1)); - } - - if (CORE.ConfigSwitches.enableMultiblock_ThermalBoiler) { - RECIPE_ThermalBoilerController = GregtechItemList.GT4_Thermal_Boiler.get(1); - RECIPE_ThermalBoilerCasing = GregtechItemList.Casing_ThermalContainment.get(2); - ItemStack centrifugeEV = ItemList.Machine_EV_Centrifuge.get(1); - - RecipeUtils.addShapedGregtechRecipe( - "craftingGeothermalGenerator", - centrifugeEV, - "craftingGeothermalGenerator", - "gearGtTitanium", - CI.getTieredCircuitOreDictName(6), - "gearGtTitanium", - "craftingGeothermalGenerator", - centrifugeEV, - "craftingGeothermalGenerator", - RECIPE_ThermalBoilerController); - - RecipeUtils.addShapedGregtechRecipe( - "craftingGeothermalGenerator", - centrifugeEV, - "craftingGeothermalGenerator", - "gearGtTungstenSteel", - CI.getTieredCircuitOreDictName(5), - "gearGtTungstenSteel", - "craftingGeothermalGenerator", - centrifugeEV, - "craftingGeothermalGenerator", - RECIPE_ThermalBoilerController); - - RecipeUtils.addShapedGregtechRecipe( - ALLOY.MARAGING350.getPlate(1), - "plateStainlessSteel", - ALLOY.MARAGING350.getPlate(1), - "circuitAdvanced", - CI.machineCasing_HV, - "circuitAdvanced", - ALLOY.MARAGING350.getPlate(1), - ALLOY.MARAGING350.getPlate(1), - ALLOY.MARAGING350.getPlate(1), - RECIPE_ThermalBoilerCasing); - - // Lava Filter Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(18), - ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 32), - ItemUtils.getItemStackOfAmountFromOreDict("wireFineSteel", 32), - ItemUtils.getItemStackOfAmountFromOreDict("ringTumbaga", 16), - ItemUtils.getItemStackOfAmountFromOreDict("foilCopper", 4), - ItemUtils.getItemStackWithMeta(true, "IC2:itemPartCarbonMesh", "RawCarbonMesh", 0, 64), }, - CI.getTieredFluid(3, 144), - ItemUtils.getSimpleStack(ModItems.itemLavaFilter, 16), - 1600, - 240); - } - - // Air Intake Hatch - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[6], - ItemList.Casing_Grate.get(1), - CI.component_Plate[6], - CI.component_Plate[6], - CI.getFluidRegulator(5, 1), - CI.component_Plate[6], - CI.getTieredCircuit(5), - ItemList.Hatch_Input_IV.get(1), - CI.getTieredCircuit(5), - GregtechItemList.Hatch_Air_Intake.get(1)); - - RecipeUtils.addShapedGregtechRecipe( - CI.getPlate(7, 1), - GregtechItemList.Hatch_Air_Intake.get(1), - CI.getPlate(7, 1), - CI.getPlate(7, 1), - CI.getFluidRegulator(7, 1), - CI.getPlate(7, 1), - CI.getTieredCircuit(7), - ItemList.Hatch_Input_ZPM.get(1), - CI.getTieredCircuit(7), - GregtechItemList.Hatch_Air_Intake_Extreme.get(1)); - - if (CORE.ConfigSwitches.enableMultiblock_LiquidFluorideThoriumReactor) { - - // Thorium Reactor - RECIPE_LFTRController = GregtechItemList.ThoriumReactor.get(1); - RECIPE_LFTRInnerCasing = GregtechItemList.Casing_Reactor_II.get(1); // Zeron - RECIPE_LFTROuterCasing = GregtechItemList.Casing_Reactor_I.get(1); // Hastelloy - - ItemStack controlCircuit = ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR); - RecipeUtils.addShapedGregtechRecipe( - controlCircuit, - "cableGt12Naquadah", - controlCircuit, - "plateDoubleHastelloyN", - GregtechItemList.Gregtech_Computer_Cube.get(1), - "plateDoubleHastelloyN", - "plateThorium232", - CI.machineHull_IV, - "plateThorium232", - RECIPE_LFTRController); - RecipeUtils.addShapedGregtechRecipe( - "plateDoubleHastelloyC276", - CI.craftingToolScrewdriver, - "plateDoubleHastelloyC276", - "gearGtTalonite", - CI.fieldGenerator_LV, - "gearGtTalonite", - "plateDoubleHastelloyC276", - CI.craftingToolHammer_Hard, - "plateDoubleHastelloyC276", - RECIPE_LFTRInnerCasing); - - ItemStack IC2HeatPlate = ItemUtils.getItemStackFromFQRN("IC2:reactorPlatingHeat", 1); - RecipeUtils.addShapedGregtechRecipe( - "plateDoubleHastelloyN", - IC2HeatPlate, - "plateDoubleHastelloyN", - IC2HeatPlate, - "frameGtHastelloyC276", - IC2HeatPlate, - "plateDoubleHastelloyN", - IC2HeatPlate, - "plateDoubleHastelloyN", - RECIPE_LFTROuterCasing); - - // LFTR Control Circuit - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 1), - CI.fieldGenerator_HV }, - null, - controlCircuit, - 240 * 20, - 500); - - // Fission Fuel Plant - RecipeUtils.addShapedGregtechRecipe( - CI.getTieredCircuitOreDictName(5), - CI.craftingToolSolderingIron, - CI.getTieredCircuitOreDictName(5), - "plateDenseTungstenSteel", - GregtechItemList.Gregtech_Computer_Cube.get(1), - "plateDenseTungstenSteel", - "gearGtStellite", - CI.machineHull_IV, - "gearGtStellite", - GregtechItemList.Industrial_FuelRefinery.get(1)); - - ItemStack mInnerTank = ItemList.Super_Tank_IV.get(1); - - // Incoloy Casing - RecipeUtils.addShapedGregtechRecipe( - "plateIncoloyDS", - "pipeHugeStaballoy", - "plateIncoloyDS", - "gearGtIncoloyDS", - mInnerTank, - "gearGtIncoloyDS", - "plateIncoloyDS", - "pipeHugeStaballoy", - "plateIncoloyDS", - GregtechItemList.Casing_Refinery_Internal.get(1)); - - // Hastelloy-N Sealant Casing - RecipeUtils.addShapedGregtechRecipe( - "plateIncoloyMA956", - "plateHastelloyN", - "plateIncoloyMA956", - "plateHastelloyN", - "frameGtHastelloyC276", - "plateHastelloyN", - "plateIncoloyMA956", - "plateHastelloyN", - "plateIncoloyMA956", - GregtechItemList.Casing_Refinery_External.get(1)); - - // Hastelloy-X Structural Casing - RecipeUtils.addShapedGregtechRecipe( - "ringInconel792", - "gearGtHastelloyX", - CI.component_Plate[5], - CI.craftingToolHammer_Hard, - "frameGtHastelloyC276", - CI.craftingToolWrench, - CI.component_Plate[5], - CI.getTieredMachineCasing(4), - "ringInconel792", - GregtechItemList.Casing_Refinery_Structural.get(1)); - - RecipeUtils.addShapedGregtechRecipe( - CI.getPlate(5, 1), - ALLOY.HASTELLOY_X.getPlateDouble(1), - CI.getPlate(5, 1), - CI.getPlate(5, 1), - CI.getTieredMachineCasing(5), - CI.getPlate(5, 1), - CI.getRobotArm(5, 1), - ItemList.Casing_FrostProof.get(1), - CI.getRobotArm(5, 1), - GregtechItemList.ColdTrap_IV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.getPlate(7, 1), - ALLOY.HS188A.getPlateDouble(1), - CI.getPlate(7, 1), - CI.getPlate(7, 1), - GregtechItemList.ColdTrap_IV.get(1), - CI.getPlate(7, 1), - CI.getRobotArm(7, 1), - ItemList.Casing_FrostProof.get(1), - CI.getRobotArm(7, 1), - GregtechItemList.ColdTrap_ZPM.get(1)); - - RecipeUtils.addShapedGregtechRecipe( - CI.getFieldGenerator(3, 1), - CI.getRobotArm(5, 1), - CI.getPlate(5, 1), - ALLOY.HASTELLOY_N.getPlateDouble(1), - ItemList.Machine_IV_ChemicalReactor.get(1), - ALLOY.HASTELLOY_N.getPlateDouble(1), - CI.getPlate(5, 1), - ALLOY.HASTELLOY_N.getPlateDouble(1), - CI.getFieldGenerator(3, 1), - GregtechItemList.ReactorProcessingUnit_IV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.getFieldGenerator(5, 1), - CI.getRobotArm(7, 1), - CI.getPlate(7, 1), - ALLOY.HS188A.getPlateDouble(1), - GregtechItemList.ReactorProcessingUnit_IV.get(1), - ALLOY.HS188A.getPlateDouble(1), - CI.getPlate(7, 1), - ALLOY.HS188A.getPlateDouble(1), - CI.getFieldGenerator(5, 1), - GregtechItemList.ReactorProcessingUnit_ZPM.get(1)); - - // Nuclear Salt Processing Plant Controller - RECIPE_SaltPlantController = GregtechItemList.Nuclear_Salt_Processing_Plant.get(1); - - RecipeUtils.addShapedGregtechRecipe( - "plateOsmiridium", - GregtechItemList.ReactorProcessingUnit_IV.get(1), - "plateOsmiridium", - "plateRuridit", - CI.getTieredCircuitOreDictName(7), - "plateRuridit", - "plateOsmiridium", - GregtechItemList.ColdTrap_IV.get(1), - "plateOsmiridium", - RECIPE_SaltPlantController); - } - - // Cyclotron - if (CORE.ConfigSwitches.enableMultiblock_Cyclotron) { - RECIPE_CyclotronController = GregtechItemList.COMET_Cyclotron.get(1); - RECIPE_CyclotronOuterCasing = GregtechItemList.Casing_Cyclotron_External.get(1); - RECIPE_CyclotronInnerCoil = GregtechItemList.Casing_Cyclotron_Coil.get(1); - - // Outer Casing - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemList.Casing_FrostProof.get(1), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, 4), ALLOY.INCOLOY_DS.getPlate(8), - ALLOY.INCONEL_690.getScrew(16), ALLOY.EGLIN_STEEL.getLongRod(4), CI.getElectricPiston(3, 2) }, - ALLOY.ZIRCONIUM_CARBIDE.getFluidStack(144 * 8), // Input Fluid - RECIPE_CyclotronOuterCasing, - 30 * 20 * 2, - MaterialUtils.getVoltageForTier(4)); - - // Inner Coil - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemList.Casing_Coil_Nichrome.get(1), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 1, 8), - ALLOY.INCOLOY_MA956.getPlate(8), ALLOY.TANTALLOY_61.getBolt(16), ALLOY.INCOLOY_020.getScrew(32), - CI.getFieldGenerator(4, 1) }, - ALLOY.HG1223.getFluidStack(144 * 5), // Input Fluid - RECIPE_CyclotronInnerCoil, - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(5)); - - // Controller - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.machineHull_IV, ItemUtils.getSimpleStack(RECIPE_CyclotronInnerCoil, 2), - ALLOY.INCOLOY_020.getPlate(8), ALLOY.TANTALLOY_61.getGear(2), ALLOY.INCOLOY_MA956.getScrew(16), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(5), 16) }, - ALLOY.INCOLOY_020.getFluidStack(144 * 9), // Input Fluid - RECIPE_CyclotronController, - 60 * 20 * 5, - MaterialUtils.getVoltageForTier(5)); - } - - // Mazut - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Controller_LargeSemifluidGenerator.get(1L), - CI.bitsd, - new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_EV, 'P', ItemList.Electric_Piston_EV, 'E', - ItemList.Electric_Pump_EV, 'C', OrePrefixes.circuit.get(Materials.Data), 'W', - OrePrefixes.cableGt08.get(Materials.Electrum), 'G', ALLOY.INCONEL_792.getGear(1) }); - - if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation) { - RecipeUtils.addShapedRecipe( - "screwTitanium", - "plateIncoloy020", - "screwTitanium", - "plateIncoloy020", - "frameGtIncoloyMA956", - "plateIncoloy020", - "screwTitanium", - "plateIncoloy020", - "screwTitanium", - GregtechItemList.Casing_Power_SubStation.get(1)); - - ItemStack mBattery = ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR); - - RecipeUtils.addShapedRecipe( - "plateIncoloyMA956", - mBattery, - "plateIncoloyMA956", - GregtechItemList.Casing_Power_SubStation.get(1), - GregtechItemList.Casing_Vanadium_Redox.get(1), - GregtechItemList.Casing_Power_SubStation.get(1), - "plateIncoloy020", - "plateIncoloyMA956", - "plateIncoloy020", - GregtechItemList.PowerSubStation.get(1)); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialThermalCentrifuge) { - RecipeUtils.addShapedRecipe( - "plateRedSteel", - CI.craftingToolHammer_Hard, - "plateRedSteel", - "plateRedSteel", - "frameGtBlackSteel", - "plateRedSteel", - "plateRedSteel", - CI.craftingToolWrench, - "plateRedSteel", - GregtechItemList.Casing_ThermalCentrifuge.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 6), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlackSteel, 1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_ThermalCentrifuge.get(1L), - 50, - 16); - - RecipeUtils.addShapedRecipe( - "plateRedSteel", - "circuitData", - "plateRedSteel", - "stickTalonite", - EV_MACHINE_ThermalCentrifuge, - "stickTalonite", - "plateRedSteel", - "gearGtTalonite", - "plateRedSteel", - GregtechItemList.Industrial_ThermalCentrifuge.get(1)); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialWashPlant) { - RecipeUtils.addShapedRecipe( - "plateGrisium", - CI.craftingToolHammer_Hard, - "plateGrisium", - "plateTalonite", - "frameGtGrisium", - "plateTalonite", - "plateGrisium", - CI.craftingToolWrench, - "plateGrisium", - GregtechItemList.Casing_WashPlant.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.LEAGRISIUM.getPlate(4), ALLOY.TALONITE.getPlate(2), - ALLOY.LEAGRISIUM.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_WashPlant.get(1L), - 50, - 16); - - RecipeUtils.addShapedRecipe( - "plateGrisium", - EV_MACHINE_OreWasher, - "plateGrisium", - "plateTalonite", - "circuitData", - "plateTalonite", - "plateGrisium", - EV_MACHINE_ChemicalBath, - "plateGrisium", - GregtechItemList.Industrial_WashPlant.get(1)); - } - - if (CORE.ConfigSwitches.enableMultiblock_LargeAutoCrafter) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1), - ItemList.Block_IridiumTungstensteel.get(1), CI.getTieredComponent(OrePrefixes.circuit, 2, 16), - CI.getTieredComponent(OrePrefixes.screw, 5, 32), CI.getTieredComponent(OrePrefixes.bolt, 5, 12), - CI.getTieredComponent(OrePrefixes.plate, 6, 8), }, - CI.getTertiaryTieredFluid(6, 144 * (4)), - GregtechItemList.Casing_Autocrafter.get(1), - 20 * 60 * 2, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Refinery_Structural.get(4), - ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, 1), - CI.getTieredComponent(OrePrefixes.cableGt08, 6, 16), CI.getTransmissionComponent(5, 2), - GregtechItemList.Gregtech_Computer_Cube.get(1), }, - CI.getTieredFluid(7, 144 * 8), - GregtechItemList.GT4_Multi_Crafter.get(1), - 20 * 60 * 5, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1), - CI.getEmitter(4, 2), CI.getRobotArm(4, 2), CI.getTieredComponent(OrePrefixes.circuit, 2, 8), - CI.getTieredComponent(OrePrefixes.screw, 3, 8), CI.getTieredComponent(OrePrefixes.plate, 5, 4), }, - CI.getAlternativeTieredFluid(5, 144 * 4), - ItemUtils.getSimpleStack(ModBlocks.blockProjectTable), - 20 * 30 * 3, - MaterialUtils.getVoltageForTier(4)); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine) { - ItemStack plate = ALLOY.MARAGING300.getPlate(1); - RecipeUtils.addShapedRecipe( - plate, - CI.craftingToolHammer_Hard, - plate, - "plateStellite", - "frameGtTalonite", - "plateStellite", - plate, - CI.craftingToolWrench, - plate, - GregtechItemList.Casing_CuttingFactoryFrame.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.MARAGING300.getPlate(4), ALLOY.STELLITE.getPlate(2), - ALLOY.TALONITE.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_CuttingFactoryFrame.get(1L), - 50, - 16); - - RecipeUtils.addShapedRecipe( - plate, - CI.getTieredCircuit(4), - plate, - "wireFinePlatinum", - IV_MACHINE_Cutter, - "wireFinePlatinum", - plate, - CI.getTieredCircuit(4), - plate, - GregtechItemList.Industrial_CuttingFactoryController.get(1)); - } - - // IV_MACHINE_Extruder - if (CORE.ConfigSwitches.enableMultiblock_IndustrialExtrudingMachine) { - ItemStack plate = ALLOY.INCONEL_690.getPlate(1); - RecipeUtils.addShapedRecipe( - plate, - CI.craftingToolHammer_Hard, - plate, - "plateTalonite", - "frameGtStaballoy", - "plateTalonite", - plate, - CI.craftingToolWrench, - plate, - GregtechItemList.Casing_Extruder.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.INCONEL_690.getPlate(4), ALLOY.TALONITE.getPlate(2), - ALLOY.STABALLOY.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_Extruder.get(1L), - 50, - 16); - - RecipeUtils.addShapedRecipe( - plate, - CI.getTieredCircuit(5), - plate, - CI.electricPiston_IV, - IV_MACHINE_Extruder, - CI.electricPiston_IV, - plate, - CI.getTieredCircuit(5), - plate, - GregtechItemList.Industrial_Extruder.get(1)); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialFishingPort) { - ItemStack plate = ALLOY.AQUATIC_STEEL.getPlate(1); - RecipeUtils.addShapedRecipe( - plate, - CI.craftingToolHammer_Hard, - plate, - "plateEglinSteel", - "frameGtEglinSteel", - "plateEglinSteel", - plate, - CI.craftingToolWrench, - plate, - GregtechItemList.Casing_FishPond.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.AQUATIC_STEEL.getPlate(4), ALLOY.EGLIN_STEEL.getPlate(2), - ALLOY.EGLIN_STEEL.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_FishPond.get(1L), - 50, - 16); - RecipeUtils.addShapedRecipe( - plate, - CI.getTieredCircuit(5), - plate, - "wireFineElectrum", - ItemUtils.getSimpleStack(ModBlocks.blockFishTrap), - "wireFineElectrum", - plate, - CI.getTieredCircuit(5), - plate, - GregtechItemList.Industrial_FishingPond.get(1)); - } - - if (true) { - // Advanced Vacuum Freezer - ItemStack plate = ALLOY.HG1223.getPlateDouble(1); - ItemStack gear = ALLOY.INCOLOY_MA956.getGear(1); - ItemStack frame = ALLOY.LAFIUM.getFrameBox(1); - ItemStack cell1 = ItemList.Reactor_Coolant_He_6.get(1); - ItemStack cell2 = ItemList.Reactor_Coolant_NaK_6.get(1); - - RecipeUtils.addShapedRecipe( - plate, - gear, - plate, - cell1, - frame, - cell2, - plate, - gear, - plate, - GregtechItemList.Casing_AdvancedVacuum.get(1)); - RecipeUtils.addShapedRecipe( - gear, - CI.getTieredCircuit(6), - gear, - CI.electricPiston_IV, - GregtechItemList.Casing_AdvancedVacuum.get(1), - CI.electricPiston_IV, - plate, - GregtechItemList.Gregtech_Computer_Cube.get(1), - plate, - GregtechItemList.Industrial_Cryogenic_Freezer.get(1)); - - // Advanced Blast Furnace - plate = ALLOY.HASTELLOY_N.getPlateDouble(1); - gear = ALLOY.HASTELLOY_W.getGear(1); - frame = ALLOY.HASTELLOY_X.getFrameBox(1); - cell1 = ItemUtils.simpleMetaStack("IC2:reactorHeatSwitchDiamond:1", 1, 1); - cell2 = ItemUtils.simpleMetaStack("IC2:reactorVentGold:1", 1, 1); - ItemStack cell3 = ItemUtils.simpleMetaStack("IC2:reactorVentDiamond:1:1", 1, 1); - - RecipeUtils.addShapedRecipe( - plate, - cell1, - plate, - cell3, - frame, - cell2, - plate, - gear, - plate, - GregtechItemList.Casing_Adv_BlastFurnace.get(1)); - RecipeUtils.addShapedRecipe( - gear, - CI.getTieredCircuit(6), - gear, - CI.robotArm_IV, - GregtechItemList.Casing_Adv_BlastFurnace.get(1), - CI.robotArm_IV, - plate, - GregtechItemList.Gregtech_Computer_Cube.get(1), - plate, - GregtechItemList.Machine_Adv_BlastFurnace.get(1)); - // Hatch_Input_Pyrotheum - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Input_IV.get(1), GregtechItemList.Casing_Adv_BlastFurnace.get(1), - ALLOY.MARAGING250.getPlate(4), ALLOY.MARAGING300.getGear(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Hatch_Input_Pyrotheum.get(1L), - 50, - 16); - // Casing_Adv_BlastFurnace - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.HASTELLOY_X.getFrameBox(1), ALLOY.HASTELLOY_N.getPlateDouble(4), - ALLOY.HASTELLOY_W.getGear(1), ItemUtils.simpleMetaStack("IC2:reactorHeatSwitchDiamond:1", 1, 1), - ItemUtils.simpleMetaStack("IC2:reactorVentGold:1", 1, 1), - ItemUtils.simpleMetaStack("IC2:reactorVentDiamond:1:1", 1, 1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_Adv_BlastFurnace.get(1L), - 50, - 16); - - // Advanced Implosion Compressor - plate = ItemUtils.getItemStackOfAmountFromOreDict("plateAlloyIridium", 1); - gear = ALLOY.LEAGRISIUM.getGear(1); - frame = ALLOY.CINOBITE.getFrameBox(1); - cell1 = ItemUtils.simpleMetaStack("IC2:reactorHeatSwitchDiamond:1", 1, 1); - cell2 = ItemUtils.simpleMetaStack("IC2:reactorVentGold:1", 1, 1); - - RecipeUtils.addShapedRecipe( - gear, - CI.getTieredCircuit(6), - gear, - CI.fieldGenerator_IV, - CI.machineHull_ZPM, - CI.robotArm_IV, - plate, - GregtechItemList.Gregtech_Computer_Cube.get(1), - plate, - GregtechItemList.Machine_Adv_ImplosionCompressor.get(1)); - - // Supply Depot - plate = ALLOY.TUNGSTEN_CARBIDE.getPlateDouble(1); - gear = ALLOY.TRINIUM_TITANIUM.getRing(1); - frame = ALLOY.TUNGSTEN_CARBIDE.getFrameBox(1); - cell1 = CI.conveyorModule_LuV; - cell2 = CI.electricMotor_LuV; - ItemStack casingAmazon = GregtechItemList.Casing_AmazonWarehouse.get(1); - - RecipeUtils.addShapedRecipe( - plate, - ItemUtils.getItemStackOfAmountFromOreDict("cableGt12VanadiumGallium", 1), - plate, - cell1, - frame, - cell2, - plate, - gear, - plate, - GregtechItemList.Casing_AmazonWarehouse.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.TUNGSTEN_CARBIDE.getFrameBox(1), ALLOY.TUNGSTEN_CARBIDE.getPlateDouble(4), - ALLOY.TRINIUM_TITANIUM.getRing(1), ItemList.Electric_Motor_LuV.get(1), - ItemList.Conveyor_Module_LuV.get(1), - ItemUtils.getItemStackOfAmountFromOreDict("cableGt12VanadiumGallium", 1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_AmazonWarehouse.get(1L), - 50, - 16); - RecipeUtils.addShapedRecipe( - casingAmazon, - CI.getTieredCircuit(7), - casingAmazon, - CI.robotArm_LuV, - ItemList.Machine_LuV_Unboxinator.get(1), - CI.robotArm_LuV, - CI.conveyorModule_LuV, - GregtechItemList.Gregtech_Computer_Cube.get(1), - CI.conveyorModule_LuV, - GregtechItemList.Amazon_Warehouse_Controller.get(1)); - - // Industrial Mixing Machine - RecipeUtils.addShapedRecipe( - "plateStaballoy", - CI.getTieredCircuit(5), - "plateStaballoy", - "plateZirconiumCarbide", - IV_MACHINE_Mixer, - "plateZirconiumCarbide", - "plateStaballoy", - CI.getTieredCircuit(5), - "plateStaballoy", - GregtechItemList.Industrial_Mixer.get(1)); - } - - if (CORE.ConfigSwitches.enableMultiblock_IndustrialMultiMachine) { - ItemStack plate = ALLOY.STABALLOY.getPlate(1); - - ItemStack o_Compressor = ItemList.Machine_IV_Compressor.get(1); - ItemStack o_Lathe = ItemList.Machine_IV_Lathe.get(1); - ItemStack o_Electromagnet = ItemList.Machine_IV_Polarizer.get(1); - ItemStack o_Fermenter = ItemList.Machine_IV_Fermenter.get(1); - ItemStack o_Distillery = ItemList.Machine_IV_FluidExtractor.get(1); - ItemStack o_Extractor = ItemList.Machine_IV_Extractor.get(1); - - RecipeUtils.addShapedRecipe( - plate, - CI.craftingToolHammer_Hard, - plate, - "plateStainlessSteel", - "frameGtZirconiumCarbide", - "plateStainlessSteel", - plate, - CI.craftingToolWrench, - plate, - GregtechItemList.Casing_Multi_Use.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.STABALLOY.getPlate(4), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2), - ALLOY.ZIRCONIUM_CARBIDE.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_Multi_Use.get(1L), - 50, - 16); - - RecipeUtils.addShapedRecipe( - o_Compressor, - o_Lathe, - o_Electromagnet, - plate, - ItemUtils.getSimpleStack(ModBlocks.blockProjectTable), - plate, - o_Fermenter, - o_Distillery, - o_Extractor, - GregtechItemList.Industrial_MultiMachine.get(1)); - } - - /* - * 6/1/19 - Content additions - */ - - // Drilling Platform Casings - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 4), - ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleTriniumTitaniumAlloy", 1 * (1)), - ItemUtils.getItemStackOfAmountFromOreDict("gearGtPikyonium64B", 2 * (1)), - ALLOY.TRINIUM_REINFORCED_STEEL.getPlateDouble(4 * 1), - ItemUtils.getSimpleStack((CI.machineHull_LuV), 1 * 1), }, - ALLOY.MARAGING350.getFluidStack(144 * 16 * 1), - GregtechItemList.Casing_BedrockMiner.get(1), - (int) GT_Values.V[4], - (int) GT_Values.V[6]); - - int aCostMultiplier = 1; - - // Reservoir Hatch - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Input_EV.get(1), GT_ModHandler.getModItem(RemoteIO.ID, "tile.machine", 1), - ItemList.Electric_Pump_EV.get(1) }, - GT_Values.NF, - GregtechItemList.Hatch_Reservoir.get(1), - 100, - 1920); - - // Mystic Frame - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Multi_Use.get(1), - ItemList.Field_Generator_MV.get(1, CI.circuitTier7), - ItemList.Field_Generator_HV.get(1, CI.circuitTier7), ItemList.Emitter_HV.get(1, CI.circuitTier7), - ItemList.Sensor_HV.get(1, CI.circuitTier7), - CI.getTieredComponent(OrePrefixes.plate, 7, 8 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.wireGt08, 8, 4 * aCostMultiplier), }, - CI.getTieredFluid(6, (144 * 8)), // Input Fluid - ItemUtils.getSimpleStack(Dimension_Everglades.blockPortalFrame, 2), - 45 * 20 * 1 * (6), - MaterialUtils.getVoltageForTier(6)); - - // Player Doors - ItemStack[] aDoorInputs = new ItemStack[] { ItemUtils.getSimpleStack(Blocks.log2), - ItemUtils.getSimpleStack(Blocks.iron_block), ItemUtils.getSimpleStack(Blocks.glass), - ItemUtils.getSimpleStack(Blocks.packed_ice), ItemUtils.getSimpleStack(Blocks.cactus), }; - ItemStack[] aDoorOutputs = new ItemStack[] { ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorWooden), - ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorIron), - ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Glass), - ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Ice), - ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Cactus), }; - - for (int y = 0; y < aDoorInputs.length; y++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(Items.iron_door), aDoorInputs[y], - ItemList.Sensor_LV.get(1, CI.circuitTier7), - CI.getTieredComponent(OrePrefixes.plate, 1, 2 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.wireGt02, 1, 2 * aCostMultiplier), - ItemUtils.getSimpleStack(Items.redstone, 16) }, - CI.getTieredFluid(1, (144 * 2)), // Input Fluid - aDoorOutputs[y], - 100, - MaterialUtils.getVoltageForTier(1)); - } - - Logger.INFO("Done loading recipes for the Various machine blocks."); - } - - private static void energyCores() { - - ItemStack[] aBufferOutput = new ItemStack[] { RECIPE_Buffer_ULV, RECIPE_Buffer_LV, RECIPE_Buffer_MV, - RECIPE_Buffer_HV, RECIPE_Buffer_EV, RECIPE_Buffer_IV, RECIPE_Buffer_LuV, RECIPE_Buffer_ZPM, - RECIPE_Buffer_UV, RECIPE_Buffer_MAX }; - - ItemStack[] aOutput = new ItemStack[] { - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "1", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "2", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "3", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "4", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "5", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "6", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "7", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "8", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "9", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "10", 1) }; - - for (int i = 0; i < 10; i++) { - - ItemStack aPrevTier = (i == 0 ? CI.getTieredMachineHull(1) : aOutput[i - 1]); - aPrevTier.stackSize = 1; - int aTier = (i + 1); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { aPrevTier, CI.getTieredComponent(OrePrefixes.plate, aTier, 4), - CI.getTieredComponent(OrePrefixes.cableGt04, i, 2), - CI.getTieredComponent(OrePrefixes.circuit, aTier, 2), - CI.getTieredComponent(OrePrefixes.screw, aTier, 6), - CI.getTieredComponent(OrePrefixes.bolt, i, 12), }, - CI.getTieredFluid(i, (144 * 4 * aTier)), // Input Fluid - aOutput[i], - 45 * 10 * 1 * (aTier), - MaterialUtils.getVoltageForTier(i)); - - // Energy Buffer - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(aOutput[i], 4), - CI.getTieredComponent(OrePrefixes.plate, aTier, 8), - CI.getTieredComponent(OrePrefixes.wireGt08, i, 4), CI.getTieredComponent(OrePrefixes.circuit, i, 4), - CI.getTieredComponent(OrePrefixes.stickLong, aTier, 4), - CI.getTieredComponent(OrePrefixes.gearGt, i, 5), }, - CI.getTieredFluid(aTier, (144 * 16 * aTier)), // Input Fluid - aBufferOutput[i], - 45 * 20 * 1 * (aTier), - MaterialUtils.getVoltageForTier(i)); - } - } - - private static void wirelessChargers() { - - ItemStack[] aChargers = new ItemStack[] { GregtechItemList.Charger_LV.get(1), - GregtechItemList.Charger_MV.get(1), GregtechItemList.Charger_HV.get(1), GregtechItemList.Charger_EV.get(1), - GregtechItemList.Charger_IV.get(1), GregtechItemList.Charger_LuV.get(1), - GregtechItemList.Charger_ZPM.get(1), GregtechItemList.Charger_UV.get(1), - GregtechItemList.Charger_UHV.get(1) }; - - for (int tier = 1; tier < aChargers.length + 1; tier++) { - - ItemStack[] aInputs = new ItemStack[] { CI.getTieredMachineHull(tier, 1), - CI.getTransmissionComponent(tier, 2), CI.getFieldGenerator(tier, 1), - CI.getTieredComponent(OrePrefixes.plate, tier + 1, 4), - CI.getTieredComponent(OrePrefixes.circuit, tier + 1, 2), }; - CORE.RA.addSixSlotAssemblingRecipe( - aInputs, - CI.getAlternativeTieredFluid(tier, (144 * 2 * (tier + 1))), // Input Fluid - aChargers[tier - 1], - 45 * 10 * (tier + 1), - MaterialUtils.getVoltageForTier(tier)); - } - } - - private static void largeArcFurnace() { - int aCostMultiplier = 1; - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Multi_Use.get(aCostMultiplier), - CI.getTransmissionComponent(2, 2 * aCostMultiplier), CI.getElectricPiston(4, 2 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.plate, 5, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.pipeSmall, 4, 1 * aCostMultiplier), }, - CI.getAlternativeTieredFluid(5, (144 * 2 * 4)), // Input Fluid - GregtechItemList.Casing_Industrial_Arc_Furnace.get(1), - 20 * 10 * 1 * (6), - MaterialUtils.getVoltageForTier(5)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Industrial_Arc_Furnace.get(1), - CI.getFieldGenerator(4, 2 * aCostMultiplier), CI.getRobotArm(5, 4 * aCostMultiplier), - CI.getEnergyCore(4, 2 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.plate, 6, 8 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.circuit, 5, 8 * aCostMultiplier), }, - CI.getAlternativeTieredFluid(6, (144 * 4 * 5)), // Input Fluid - GregtechItemList.Industrial_Arc_Furnace.get(1), - 60 * 20 * 8, - MaterialUtils.getVoltageForTier(6)); - } - - private static void industrialVacuumFurnace() { - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Multi_Use.get(1), CI.getHeatCoil(2), CI.getElectricPiston(3, 2), - CI.getTieredComponent(OrePrefixes.plate, 6, 4), CI.getTieredComponent(OrePrefixes.gearGt, 6, 2), }, - CI.getTertiaryTieredFluid(5, (144 * 2 * 4)), // Input Fluid - GregtechItemList.Casing_Vacuum_Furnace.get(1), - 20 * 10 * 6, - MaterialUtils.getVoltageForTier(6)); - - ; - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Vacuum_Furnace.get(1), - CI.getTieredComponent(OrePrefixes.wireGt16, 7, 4), CI.getEnergyCore(5, 1), CI.getRobotArm(4, 4), - CI.getTieredComponent(OrePrefixes.plate, 6, 8), CI.getTieredComponent(OrePrefixes.circuit, 6, 8), }, - CI.getTieredFluid(6, (144 * 4 * 5)), // Input Fluid - GregtechItemList.Controller_Vacuum_Furnace.get(1), - 60 * 20 * 12, - MaterialUtils.getVoltageForTier(6)); - } - - private static void milling() { - - /* - * public static ItemStack RECIPE_ISAMill_Controller; public static ItemStack RECIPE_ISAMill_Gearbox; public - * static ItemStack RECIPE_ISAMill_Casing; public static ItemStack RECIPE_ISAMill_Hatch; public static ItemStack - * RECIPE_Flotation_Controller; public static ItemStack RECIPE_Flotation_Casing; - */ - - // Isa Mill Controller - CORE.RA.addAssemblylineRecipe( - ItemList.Machine_IV_Macerator.get(1), - 20 * 60 * 20, - new Object[] { GregtechItemList.Casing_IsaMill_Gearbox.get(4), CI.getTieredGTPPMachineCasing(6, 4), - ItemList.Component_Grinder_Tungsten.get(16), new Object[] { CI.getTieredCircuitOreDictName(6), 8 }, - ALLOY.INCONEL_625.getGear(8), ALLOY.INCONEL_625.getPlate(32), ALLOY.ZERON_100.getPlateDouble(8), - ALLOY.ZERON_100.getPlateDouble(8), ALLOY.ZERON_100.getScrew(64), - CI.getTieredComponentOfMaterial(Materials.NiobiumTitanium, OrePrefixes.wireFine, 32), - CI.getTieredComponentOfMaterial(Materials.NiobiumTitanium, OrePrefixes.wireFine, 32), - CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.foil, 16), - CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.foil, 16), }, - new FluidStack[] { CI.getTieredFluid(6, 16 * 144), CI.getAlternativeTieredFluid(6, 32 * 144), - CI.getTertiaryTieredFluid(6, 32 * 144) }, - GregtechItemList.Controller_IsaMill.get(1), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(6)); - - // Isa Mill Gearbox - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), ItemList.Casing_Gearbox_Titanium.get(2), - ALLOY.INCONEL_625.getGear(4), - CI.getTieredComponentOfMaterial(Materials.HSSE, OrePrefixes.gearGtSmall, 8), - ALLOY.INCONEL_625.getPlate(16), ALLOY.ZERON_100.getBolt(16), }, - ALLOY.TUNGSTENSTEEL.getFluidStack(8 * 144), - GregtechItemList.Casing_IsaMill_Gearbox.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(6)); - - // Isa Mill Casing - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(5, 1), - ALLOY.INCONEL_625.getPlate(8), ALLOY.ZERON_100.getRod(4), - CI.getTieredComponentOfMaterial(Materials.HSSG, OrePrefixes.gearGtSmall, 4), - ALLOY.ZERON_100.getScrew(8), }, - ELEMENT.getInstance().TITANIUM.getFluidStack(4 * 144), - GregtechItemList.Casing_IsaMill_Casing.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(6)); - - // Isa Mill Pipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(4, 2), - ALLOY.INCONEL_625.getPlateDouble(4), ALLOY.INCOLOY_MA956.getRing(8), - CI.getTieredComponentOfMaterial(Materials.HSSE, OrePrefixes.plate, 8), - ALLOY.INCOLOY_MA956.getBolt(16), }, - ELEMENT.getInstance().ALUMINIUM.getFluidStack(8 * 144), - GregtechItemList.Casing_IsaMill_Pipe.get(1), - 60 * 20 * 8, - MaterialUtils.getVoltageForTier(4)); - - // Flotation Cell Controller - CORE.RA.addAssemblylineRecipe( - ItemList.Distillation_Tower.get(1), - 20 * 60 * 20, - new Object[] { GregtechItemList.Casing_Flotation_Cell.get(4), CI.getTieredGTPPMachineCasing(5, 4), - ItemList.Machine_IV_Distillery.get(1), new Object[] { CI.getTieredCircuitOreDictName(6), 8 }, - ALLOY.STELLITE.getGear(8), ALLOY.STELLITE.getPlate(32), ALLOY.HASTELLOY_N.getPlateDouble(8), - ALLOY.HASTELLOY_N.getPlateDouble(8), ALLOY.HASTELLOY_N.getScrew(64), - CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64), - CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64), - CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), - CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), }, - new FluidStack[] { CI.getTieredFluid(5, 16 * 144), CI.getAlternativeTieredFluid(4, 32 * 144), - CI.getTertiaryTieredFluid(4, 32 * 144) }, - GregtechItemList.Controller_Flotation_Cell.get(1), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(6)); - - // Flotation Cell Casing - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(4, 1), - ALLOY.AQUATIC_STEEL.getPlate(8), ALLOY.STELLITE.getRing(8), - CI.getTieredComponentOfMaterial(Materials.HSSG, OrePrefixes.plateDouble, 4), - ALLOY.HASTELLOY_N.getScrew(8), }, - ALLOY.STAINLESS_STEEL.getFluidStack(8 * 144), - GregtechItemList.Casing_Flotation_Cell.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(6)); - - // Milling Bus - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(5, 1), - ItemList.Hatch_Input_Bus_EV.get(1), - CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.gearGt, 8), - CI.getTieredComponentOfMaterial(Materials.TungstenSteel, OrePrefixes.plate, 32), - CI.getTieredComponentOfMaterial(Materials.SolderingAlloy, OrePrefixes.wireFine, 16), }, - ELEMENT.getInstance().TUNGSTEN.getFluidStack(8 * 144), - GregtechItemList.Bus_Milling_Balls.get(1), - 60 * 20 * 4, - MaterialUtils.getVoltageForTier(5)); - } - - private static void sparging() { - - // Sparge Tower Research - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(8), ELEMENT.getInstance().HELIUM.getCell(8), - ELEMENT.getInstance().FLUORINE.getCell(8), ALLOY.HS188A.getIngot(8), - ItemList.Distillation_Tower.get(1) }, - null, - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_10_SPARGING, 1), - 60 * 20 * 5, - MaterialUtils.getVoltageForTier(5)); - - // Sparge Tower Controller - CORE.RA.addAssemblylineRecipe( - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_10_SPARGING, 1), - 20 * 60 * 20, - new Object[] { GregtechItemList.Casing_Sparge_Tower_Exterior.get(4), CI.getTieredGTPPMachineCasing(4, 4), - ItemList.Machine_IV_Distillery.get(1), new Object[] { CI.getTieredCircuitOreDictName(5), 8 }, - ALLOY.HS188A.getGear(8), ALLOY.HS188A.getPlate(32), ALLOY.HASTELLOY_N.getPlateDouble(8), - ALLOY.HASTELLOY_N.getPlateDouble(8), ALLOY.HASTELLOY_N.getScrew(64), - CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64), - CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64), - CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), - CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), }, - new FluidStack[] { CI.getTieredFluid(4, 16 * 144), CI.getAlternativeTieredFluid(3, 32 * 144), - CI.getTertiaryTieredFluid(3, 32 * 144) }, - GregtechItemList.Controller_Sparge_Tower.get(1), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(6)); - - // Sparge Tower Casing - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(8), CI.getTieredGTPPMachineCasing(3, 1), - ALLOY.HS188A.getPlate(2), ALLOY.HASTELLOY_N.getRing(4), - CI.getTieredComponentOfMaterial(Materials.TungstenSteel, OrePrefixes.plateDouble, 4), - ALLOY.HASTELLOY_N.getScrew(4), }, - ALLOY.STAINLESS_STEEL.getFluidStack(8 * 144), - GregtechItemList.Casing_Sparge_Tower_Exterior.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(5)); - } - - private static void chisels() { - ItemStack[] aChisels = new ItemStack[] { GregtechItemList.GT_Chisel_LV.get(1), - GregtechItemList.GT_Chisel_MV.get(1), GregtechItemList.GT_Chisel_HV.get(1), }; - for (int i = 1; i < 4; i++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(10 + i), CI.getTieredMachineCasing(i), CI.getPlate(i, 4), - CI.getElectricMotor(i, 2), CI.getConveyor(i, 2), CI.getRobotArm(i, 1) }, - CI.getTieredFluid(i, 144 * 4), - aChisels[i - 1], - 20 * 20, - MaterialUtils.getVoltageForTier(i)); - } - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(14), aChisels[2], CI.getPlate(4, 8), CI.getElectricMotor(4, 8), - CI.getConveyor(4, 8), CI.getRobotArm(4, 4) }, - CI.getTieredFluid(4, 144 * 8), - GregtechItemList.Controller_IndustrialAutoChisel.get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(4)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(14), ItemList.Casing_SolidSteel.get(2), CI.getPlate(4, 2), - CI.getTieredComponent(OrePrefixes.plate, 3, 4), CI.getTieredComponent(OrePrefixes.ring, 3, 8), - CI.getTieredComponent(OrePrefixes.rod, 2, 4), }, - CI.getTieredFluid(2, 144 * 2), - GregtechItemList.Casing_IndustrialAutoChisel.get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(3)); - } - - private static void rockBreaker() { - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(12), ItemList.Machine_EV_RockBreaker.get(1), - ALLOY.STAINLESS_STEEL.getPlate(8), ALLOY.STAINLESS_STEEL.getRing(4), - CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.plateDouble, 8), - ALLOY.EGLIN_STEEL.getScrew(8), }, - ELEMENT.getInstance().ALUMINIUM.getFluidStack(144 * 8), - GregtechItemList.Controller_IndustrialRockBreaker.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(4)); - } - - private static void fakeMachineCasingCovers() { - int aMaxTier = GT_Values.VOLTAGE_NAMES.length; - ItemStack aTier[] = new ItemStack[aMaxTier]; - for (int i = 0; i < aMaxTier; i++) { - aTier[i] = ItemUtils.simpleMetaStack(CoverManager.Cover_Gt_Machine_Casing, i, 7); - } - // Add recipes for new ones - for (int i = 0; i < aMaxTier; i++) { - GT_Values.RA - .addCutterRecipe(CI.getTieredMachineCasing(i), aTier[i], null, 20 * 5 * i, (int) GT_Values.V[i]); - } - } - - private static void superBuses() { - GregtechItemList[] mSuperBusesInput = new GregtechItemList[] { GregtechItemList.Hatch_SuperBus_Input_LV, - GregtechItemList.Hatch_SuperBus_Input_MV, GregtechItemList.Hatch_SuperBus_Input_HV, - GregtechItemList.Hatch_SuperBus_Input_EV, GregtechItemList.Hatch_SuperBus_Input_IV, - GregtechItemList.Hatch_SuperBus_Input_LuV, GregtechItemList.Hatch_SuperBus_Input_ZPM, - GregtechItemList.Hatch_SuperBus_Input_UV, GregtechItemList.Hatch_SuperBus_Input_MAX, }; - - GregtechItemList[] mSuperBusesOutput = new GregtechItemList[] { GregtechItemList.Hatch_SuperBus_Output_LV, - GregtechItemList.Hatch_SuperBus_Output_MV, GregtechItemList.Hatch_SuperBus_Output_HV, - GregtechItemList.Hatch_SuperBus_Output_EV, GregtechItemList.Hatch_SuperBus_Output_IV, - GregtechItemList.Hatch_SuperBus_Output_LuV, GregtechItemList.Hatch_SuperBus_Output_ZPM, - GregtechItemList.Hatch_SuperBus_Output_UV, GregtechItemList.Hatch_SuperBus_Output_MAX, }; - - ItemStack[] mInputHatch = new ItemStack[] { ItemList.Hatch_Input_Bus_EV.get(1), - ItemList.Hatch_Input_Bus_IV.get(1), ItemList.Hatch_Input_Bus_LuV.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), ItemList.Hatch_Input_Bus_UV.get(1), - ItemList.Hatch_Input_Bus_MAX.get(1), GregtechItemList.Hatch_SuperBus_Input_LV.get(1), - GregtechItemList.Hatch_SuperBus_Input_MV.get(1), GregtechItemList.Hatch_SuperBus_Input_HV.get(1), - GregtechItemList.Hatch_SuperBus_Input_EV.get(1), }; - - ItemStack[] mOutputHatch = new ItemStack[] { ItemList.Hatch_Output_Bus_EV.get(1), - ItemList.Hatch_Output_Bus_IV.get(1), ItemList.Hatch_Output_Bus_LuV.get(1), - ItemList.Hatch_Output_Bus_ZPM.get(1), ItemList.Hatch_Output_Bus_UV.get(1), - ItemList.Hatch_Output_Bus_MAX.get(1), GregtechItemList.Hatch_SuperBus_Output_LV.get(1), - GregtechItemList.Hatch_SuperBus_Output_MV.get(1), GregtechItemList.Hatch_SuperBus_Output_HV.get(1), - GregtechItemList.Hatch_SuperBus_Output_EV.get(1), }; - - // Input Buses - for (int tier = 1; tier < mSuperBusesInput.length + 1; tier++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), mInputHatch[tier - 1], CI.getElectricMotor(tier, 2), - CI.getConveyor(tier, 5), CI.getBolt(tier, 16), - CI.getTieredComponent(OrePrefixes.circuit, tier, 2) }, - CI.getAlternativeTieredFluid(tier, 144 * 8), - mSuperBusesInput[tier - 1].get(1), - 20 * 30 * 2, - (int) GT_Values.V[tier]); - } - // Output Buses - for (int tier = 1; tier < mSuperBusesOutput.length + 1; tier++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(18), mOutputHatch[tier - 1], CI.getElectricPiston(tier, 2), - CI.getConveyor(tier, 5), CI.getGear(tier, 3), CI.getTieredComponent(OrePrefixes.circuit, tier, 2) }, - CI.getTertiaryTieredFluid(tier, 144 * 8), - mSuperBusesOutput[tier - 1].get(1), - 20 * 30 * 2, - (int) GT_Values.V[tier]); - } - } - - private static void chiselBuses() { - ItemStack[] mSuperBusesInput = new ItemStack[] { GregtechItemList.Hatch_SuperBus_Input_LV.get(1), - GregtechItemList.Hatch_SuperBus_Input_MV.get(1), GregtechItemList.Hatch_SuperBus_Input_HV.get(1), }; - - ItemStack[] mChiselBuses = new ItemStack[] { GregtechItemList.GT_MetaTileEntity_ChiselBus_LV.get(1), - GregtechItemList.GT_MetaTileEntity_ChiselBus_MV.get(1), - GregtechItemList.GT_MetaTileEntity_ChiselBus_HV.get(1), }; - - for (int tier = 1; tier < mChiselBuses.length + 1; tier++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), mSuperBusesInput[tier - 1], CI.getSensor(tier, 1), - CI.getRobotArm(tier, 2), CI.getBolt(tier, 16), ItemUtils.getSimpleStack(Blocks.chest) }, - CI.getAlternativeTieredFluid(tier, 144 * 2), - mChiselBuses[tier - 1], - 20 * 30 * 2, - (int) GT_Values.VP[tier + 1]); - } - } - - private static void solidifierHatches() { - ItemStack[] mSuperBusesInput = new ItemStack[] { ItemList.Hatch_Input_IV.get(1), - ItemList.Hatch_Input_LuV.get(1), ItemList.Hatch_Input_ZPM.get(1), ItemList.Hatch_Input_UV.get(1), }; - - ItemStack[] mSolidifierHatches = new ItemStack[] { GregtechItemList.GT_MetaTileEntity_Solidifier_I.get(1), - GregtechItemList.GT_MetaTileEntity_Solidifier_II.get(1), - GregtechItemList.GT_MetaTileEntity_Solidifier_III.get(1), - GregtechItemList.GT_MetaTileEntity_Solidifier_IV.get(1), }; - - for (int i = 0; i < 4; i++) { - int componentTier = i + 5; - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), mSuperBusesInput[i], CI.getSensor(componentTier, 1), - CI.getFluidRegulator(componentTier, 1), - CI.getTieredComponent(OrePrefixes.circuit, componentTier + 1, 4), - ItemUtils.getSimpleStack(Blocks.chest) }, - CI.getTieredFluid(componentTier, 144 * 2), - mSolidifierHatches[i], - 20 * 30, - (int) GT_Values.VP[componentTier]); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java deleted file mode 100644 index 0cf0152c53..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java +++ /dev/null @@ -1,168 +0,0 @@ -package gtPlusPlus.core.recipe; - -import static gregtech.api.recipe.RecipeMaps.brewingRecipes; -import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; -import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; -import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes; -import static gregtech.api.recipe.RecipeMaps.mixerRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gtPlusPlus.core.material.MISC_MATERIALS.BRINE; -import static gtPlusPlus.core.material.MISC_MATERIALS.HYDROGEN_CHLORIDE; -import static gtPlusPlus.core.material.MISC_MATERIALS.HYDROGEN_CHLORIDE_MIX; -import static gtPlusPlus.core.material.MISC_MATERIALS.RARE_EARTH_HIGH; -import static gtPlusPlus.core.material.MISC_MATERIALS.RARE_EARTH_LOW; -import static gtPlusPlus.core.material.MISC_MATERIALS.RARE_EARTH_MID; - -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -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.TierEU; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.material.ORES; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class RECIPES_RareEarthProcessing { - - public static void init() { - - // Brine Check and assignment - FluidStack mBrine = FluidUtils.getFluidStack("brine", 1000); - if (mBrine == null) { - Fluid f = BRINE.generateFluid(); - BRINE.registerComponentForMaterial(FluidUtils.getFluidStack(f, 1000)); - mBrine = BRINE.getFluidStack(1000); - } else { - BRINE.registerComponentForMaterial(FluidUtils.getFluidStack(mBrine, 1000)); - } - - // Hydrogen Chloride Check and assignment - FluidStack mHydrogenChloride = FluidUtils.getFluidStack("hydrogenchloride", 1000); - if (mHydrogenChloride == null) { - HYDROGEN_CHLORIDE.generateFluid(); - mHydrogenChloride = BRINE.getFluidStack(1000); - } else { - HYDROGEN_CHLORIDE.registerComponentForMaterial(FluidUtils.getFluidStack(mHydrogenChloride, 1000)); - } - - // Add Process for creating Brine - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 16L)) - .fluidInputs(Materials.SaltWater.getFluid(2000L)) - .fluidOutputs(FluidUtils.getFluidStack(mBrine, 4000)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(brewingRecipes); - - // Chloralkali process - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.getIntegratedCircuit(1), ItemList.Cell_Empty.get(2L)) - .itemOutputs( - GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Chlorine, 1L), - GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 1L)) - .fluidInputs(FluidUtils.getFluidStack(mBrine, 2000)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(electrolyzerRecipes); - - // Generate Special Laser Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Chlorine, 1L), - GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), - CI.getNumberedBioCircuit(2)) - .itemOutputs(ItemUtils.getSimpleStack(ModItems.cellHydrogenChlorideMix, 2)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(mixerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs(GregtechItemList.Laser_Lens_WoodsGlass.get(0)) - .fluidInputs(HYDROGEN_CHLORIDE_MIX.getFluidStack(4000)) - .fluidOutputs(HYDROGEN_CHLORIDE.getFluidStack(4000)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_HV) - .noOptimize() - .addTo(laserEngraverRecipes); - - // Set Material Tiers correctly - ORES.GREENOCKITE.vTier = 1; - RARE_EARTH_LOW.vTier = 1; - RARE_EARTH_MID.vTier = 3; - RARE_EARTH_HIGH.vTier = 5; - - // Set Material Voltages correctly - ORES.GREENOCKITE.vVoltageMultiplier = 30; - RARE_EARTH_LOW.vVoltageMultiplier = 30; - RARE_EARTH_MID.vVoltageMultiplier = 480; - RARE_EARTH_HIGH.vVoltageMultiplier = 7680; - - // Set Material Tooltips to be shorter - RARE_EARTH_LOW.vChemicalFormula = "??????"; - RARE_EARTH_MID.vChemicalFormula = "??????"; - RARE_EARTH_HIGH.vChemicalFormula = "??????"; - - // Set Material Tooltips to be shorter - RARE_EARTH_LOW.vChemicalSymbol = "??"; - RARE_EARTH_MID.vChemicalSymbol = "??"; - RARE_EARTH_HIGH.vChemicalSymbol = "??"; - - // Generate Ore Materials - MaterialGenerator.generateOreMaterial(RARE_EARTH_LOW); - MaterialGenerator.generateOreMaterial(RARE_EARTH_MID); - MaterialGenerator.generateOreMaterial(RARE_EARTH_HIGH); - - // industrial strength HCl - Fluid aHydrochloric = FluidUtils.getFluidStack("hydrogenchloride", 1) - .getFluid(); - - // LV Rare Earth - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L)) - .itemOutputs(RARE_EARTH_LOW.getCrushed(2), RARE_EARTH_LOW.getCrushed(2), RARE_EARTH_LOW.getCrushed(2)) - .fluidInputs(Materials.SulfuricAcid.getFluid(1000L)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(chemicalBathRecipes); - - // HV Rare Earth - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L)) - .itemOutputs(RARE_EARTH_MID.getCrushed(2), RARE_EARTH_MID.getCrushed(2), RARE_EARTH_MID.getCrushed(2)) - .outputChances(10000, 9000, 8000) - .fluidInputs(FluidUtils.getFluidStack(aHydrochloric, 1000)) - .duration(15 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(chemicalBathRecipes); - - // IV Rare Earth - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L)) - .itemOutputs(RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2)) - .outputChances(10000, 9000, 8000) - .fluidInputs(FluidUtils.getHydrofluoricAcid(1000)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(chemicalBathRecipes); - - // IV Rare Earth - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L)) - .itemOutputs(RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2)) - .outputChances(9000, 8000, 7000) - .fluidInputs(Materials.HydrofluoricAcid.getFluid(2000L)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(chemicalBathRecipes); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java deleted file mode 100644 index b7a7b43549..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java +++ /dev/null @@ -1,142 +0,0 @@ -package gtPlusPlus.core.recipe; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.reflect.AddGregtechRecipe; - -public class RECIPES_SeleniumProcessing { - - public static void init() { - - // We need this - MaterialUtils.generateSpecialDustAndAssignToAMaterial(MISC_MATERIALS.SELENIUM_DIOXIDE, false); - - // Makes Selenium Dioxide - processCopperRecipes(); - - // Liquify the Dried Dioxide - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - 13, - FluidUtils.getSteam(500), - null, - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(1000), - 20, - 1024); - - // Produce Selenious Acid - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - MISC_MATERIALS.SELENIUM_DIOXIDE.getCell(1), - 14, - FluidUtils.getHotWater(4000), - CI.emptyCells(1), - MISC_MATERIALS.SELENIOUS_ACID.getFluidStack(1000), - 20, - 2048); - - // Make Selenium - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(14), ELEMENT.getInstance().CARBON.getDust(16), }, - new FluidStack[] { MISC_MATERIALS.SELENIOUS_ACID.getFluidStack(750), - Materials.SulfuricAcid.getFluid(8000), }, - ELEMENT.getInstance().SELENIUM.getFluidStack(144 * 1), - new ItemStack[] { ELEMENT.getInstance().SELENIUM.getIngot(1), ELEMENT.getInstance().SELENIUM.getIngot(1), }, - new int[] { 10000, 2000, 2000 }, - 20 * 300, - 7200); - - /* - * // Old recipes for Selenium Roasting CORE.RA.addBlastSmelterRecipe( new ItemStack[] { - * ItemUtils.getGregtechCircuit(16), ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPyrite", 8), - * ELEMENT.getInstance().CARBON.getDust(32), }, Materials.SulfuricAcid.getFluid(4000), - * ELEMENT.getInstance().SELENIUM.getFluid(144), 0, 20 * 300, 2000); CORE.RA.addBlastSmelterRecipe( new - * ItemStack[] { ItemUtils.getGregtechCircuit(17), - * ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedChalcopyrite", 8), - * ELEMENT.getInstance().CARBON.getDust(32), }, Materials.SulfuricAcid.getFluid(4000), - * ELEMENT.getInstance().SELENIUM.getFluid(144), 0, 20 * 300, 2000); CORE.RA.addBlastSmelterRecipe( new - * ItemStack[] { ItemUtils.getGregtechCircuit(18), - * ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedGalena", 8), - * ELEMENT.getInstance().CARBON.getDust(32), }, Materials.SulfuricAcid.getFluid(4000), - * ELEMENT.getInstance().SELENIUM.getFluid(144), 0, 20 * 300, 2000); - */ - } - - public static void processCopperRecipes() { - - // Copper - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(23), - ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Copper, 1), // Item Input - }, - FluidUtils.getHotWater(1000), // Fluid - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(20), // Fluid - new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Copper, 1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output - new int[] { 10000, 100, 100, 500, 500, 500, 1000, 1000, 1000 }, - 40 * 20, // Time in ticks - 1024); // EU - - // Tetra - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(23), - ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Tetrahedrite, 1), // Item - // Input - }, - FluidUtils.getHotWater(1000), // Fluid - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10), // Fluid - new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Tetrahedrite, 1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output - new int[] { 10000, 100, 100, 300, 300, 300, 800, 800, 800 }, - 40 * 20, // Time in ticks - 1024); // EU - - // Chalco - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(23), - ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Chalcopyrite, 1), // Item - // Input - }, - FluidUtils.getHotWater(1000), // Fluid - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10), // Fluid - new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Chalcopyrite, 1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output - new int[] { 10000, 100, 100, 300, 300, 300, 800, 800, 800 }, - 40 * 20, // Time in ticks - 1024); // EU - - // Malachite - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(23), - ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Malachite, 1), // Item Input - }, - FluidUtils.getHotWater(1000), // Fluid - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10), // Fluid - new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Malachite, 1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output - new int[] { 10000, 100, 100, 300, 300, 300, 800, 800, 800 }, - 40 * 20, // Time in ticks - 1024); // EU - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java deleted file mode 100644 index 229b7cc045..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java +++ /dev/null @@ -1,118 +0,0 @@ -package gtPlusPlus.core.recipe; - -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.util.minecraft.ItemUtils; - -public class RECIPES_Tools { - - // Outputs - public static ItemStack RECIPE_SandStone = new ItemStack(Blocks.sandstone, 2); - public static ItemStack RECIPE_Sand = new ItemStack(Blocks.sand, 4); - - public static ItemStack RECIPE_DivisionSigil; - - // MC Items - public static Item Apple = Items.apple; - - // MC Blocks - public static Block CobbleStone = Blocks.cobblestone; - public static Block Dirt = Blocks.dirt; - public static Block Sand = Blocks.sand; - public static Block Gravel = Blocks.gravel; - public static Block Sandstone = Blocks.sandstone; - - // null - public static String empty = " "; - - // Batteries - public static String batteryBasic = "batteryBasic"; - public static String batteryAdvanced = "batteryAdvanced"; - public static String batteryElite = "batteryElite"; - public static String batteryMaster = "batteryMaster"; - public static String batteryUltimate = "batteryUltimate"; - - // Circuits - public static String circuitPrimitive = "circuitPrimitive"; - public static String circuitBasic = "circuitBasic"; - public static String circuitGood = "circuitGood"; - public static String circuitAdvanced = "circuitAdvanced"; - public static String circuitElite = "circuitElite"; - public static String circuitMaster = "circuitMaster"; - public static String circuitUltimate = "circuitUltimate"; - - // Cables - public static String cableGt01Electrum = "cableGt01Electrum"; - public static String cableGt02Electrum = "cableGt02Electrum"; - public static String cableGt01RedstoneAlloy = "cableGt01RedstoneAlloy"; - public static String cableGt02RedstoneAlloy = "cableGt02RedstoneAlloy"; - public static String cableGt01Copper = "cableGt01Copper"; - public static String cableGt02Copper = "cableGt02Copper"; - public static String cableGt01AnnealedCopper = "cableGt01AnnealedCopper"; - public static String cableGt02AnnealedCopper = "cableGt02AnnealedCopper"; - - // Rods - public static String stickWood = "stickWood"; - public static String stickStaballoy = "stickStaballoy"; - public static String stickTitanium = "stickTitanium"; - public static String stickIron = "stickIron"; - public static String stickGold = "stickGold"; - public static String stickSilver = "stickSilver"; - public static String stickSteel = "stickSteel"; - public static String stickBronze = "stickBronze"; - public static String stickTungsten = "stickTungsten"; - public static String stickRedAlloy = "stickRedAlloy"; - public static String stickInvar = "stickInvar"; - public static String stickElectrum = "stickElectrum"; - public static String stickElectricalSteel = "stickElectricalSteel"; - - // Plates - public static String plateStaballoy = "plateStaballoy"; - public static String plateTitanium = "plateTitanium"; - public static String plateIron = "plateIron"; - public static String plateGold = "plateGold"; - public static String plateSilver = "plateSilver"; - public static String plateSteel = "plateSteel"; - public static String plateBronze = "plateBronze"; - public static String plateTungsten = "plateTungsten"; - public static String plateRedAlloy = "plateRedAlloy"; - public static String plateInvar = "plateInvar"; - public static String plateElectrum = "plateElectrum"; - public static String plateElectricalSteel = "plateElectricalSteel"; - - // Ingots - public static String ingotStaballoy = "ingotStaballoy"; - public static String ingotTitanium = "ingotTitanium"; - public static String ingotIron = "ingotIron"; - public static String ingotGold = "ingotGold"; - public static String ingotSilver = "ingotSilver"; - public static String ingotSteel = "ingotSteel"; - public static String ingotBronze = "ingotBronze"; - public static String ingotTungsten = "ingotTungsten"; - public static String ingotRedAlloy = "ingotRedAlloy"; - public static String ingotInvar = "ingotInvar"; - public static String ingotElectrum = "ingotElectrum"; - public static String ingotUranium = "ingotUranium"; - public static String ingotElectricalSteel = "ingotElectricalSteel"; - - // Crafting Tools - public static String craftingToolHardHammer = "craftingToolHardHammer"; - public static String craftingToolSoftHammer = "craftingToolSoftHammer"; - public static String craftingToolFile = "craftingToolFile"; - public static String craftingToolSaw = "craftingToolSaw"; - public static String craftingToolPickaxe = "craftingToolPickaxe"; - public static String craftingToolWrench = "craftingToolWrench"; - public static String craftingToolCrowbar = "craftingToolCrowbar"; - public static String craftingToolKnife = "craftingToolKnife"; - public static String craftingToolScrewdriver = "craftingToolScrewdriver"; - - public static ItemStack personalCloakingDevice = ItemUtils.getSimpleStack(ModItems.itemPersonalCloakingDevice); - public static String plateDoubleNiChrome = "plateDoubleNichrome"; - public static String plateIridiumAlloy = "plateAlloyIridium"; - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java deleted file mode 100644 index 4369fdbfa3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java +++ /dev/null @@ -1,62 +0,0 @@ -package gtPlusPlus.core.recipe; - -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.ItemList; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class RECIPE_Batteries { - - static ItemStack RECIPE_Battery_Sodium = GregtechItemList.Battery_RE_EV_Sodium.get(1); - static ItemStack RECIPE_Battery_Cadmium = GregtechItemList.Battery_RE_EV_Cadmium.get(1); - static ItemStack RECIPE_Battery_Lithium = GregtechItemList.Battery_RE_EV_Lithium.get(1); - static ItemStack GT_Battery_Sodium = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32539, 1); - static ItemStack GT_Battery_Cadmium = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32537, 1); - static ItemStack GT_Battery_Lithium = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32538, 1); - static ItemStack machineTransformer_EV; - - public static void loadRecipes() { - machineTransformer_EV = ItemList.Transformer_EV_HV.get(1); - run(); - } - - private static void run() { - - RecipeUtils.addShapedGregtechRecipe( - GT_Battery_Sodium, - RECIPES_Machines.cableTier4, - GT_Battery_Sodium, - CI.circuitTier3, - machineTransformer_EV, - CI.circuitTier3, - GT_Battery_Sodium, - RECIPES_Machines.cableTier4, - GT_Battery_Sodium, - RECIPE_Battery_Sodium); - RecipeUtils.addShapedGregtechRecipe( - GT_Battery_Cadmium, - RECIPES_Machines.cableTier4, - GT_Battery_Cadmium, - CI.circuitTier3, - machineTransformer_EV, - CI.circuitTier3, - GT_Battery_Cadmium, - RECIPES_Machines.cableTier4, - GT_Battery_Cadmium, - RECIPE_Battery_Cadmium); - RecipeUtils.addShapedGregtechRecipe( - GT_Battery_Lithium, - RECIPES_Machines.cableTier4, - GT_Battery_Lithium, - CI.circuitTier3, - machineTransformer_EV, - CI.circuitTier3, - GT_Battery_Lithium, - RECIPES_Machines.cableTier4, - GT_Battery_Lithium, - RECIPE_Battery_Lithium); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java deleted file mode 100644 index 18c1c2c70c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java +++ /dev/null @@ -1,50 +0,0 @@ -package gtPlusPlus.core.recipe; - -import net.minecraft.item.ItemStack; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.minecraft.RecipeUtils; - -public class ShapedRecipeObject { - - public Object object_A; - public Object object_B; - public Object object_C; - public Object object_D; - public Object object_E; - public Object object_F; - public Object object_G; - public Object object_H; - public Object object_I; - public ItemStack object_OUTPUT; - - public ShapedRecipeObject(final Object input_A, final Object input_B, final Object input_C, final Object input_D, - final Object input_E, final Object input_F, final Object input_G, final Object input_H, final Object input_I, - final ItemStack input_Output) { - this.object_A = input_A; - this.object_B = input_B; - this.object_C = input_C; - this.object_D = input_D; - this.object_E = input_E; - this.object_F = input_F; - this.object_G = input_G; - this.object_H = input_H; - this.object_I = input_I; - this.object_OUTPUT = input_Output; - Logger.SPECIFIC_WARNING("ShapedRecipeObject", "New object created.", 36); - } - - public void buildRecipe() { - RecipeUtils.recipeBuilder( - this.object_A, - this.object_B, - this.object_C, - this.object_D, - this.object_E, - this.object_F, - this.object_G, - this.object_H, - this.object_I, - this.object_OUTPUT); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/recipe/common/CI.java b/gtpp/src/main/java/gtPlusPlus/core/recipe/common/CI.java deleted file mode 100644 index 5c1620160d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/recipe/common/CI.java +++ /dev/null @@ -1,1008 +0,0 @@ -package gtPlusPlus.core.recipe.common; - -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.GregTech_API; -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_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.recipe.LOADER_Machine_Components; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import ic2.core.Ic2Items; - -public class CI { - - // null - public static ItemStack _NULL = ItemUtils.getErrorStack(1); - - // bits - public static long bits = GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED; - public static long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED; - - // Circuits - public static Object circuitPrimitive; - public static Object circuitTier1; - public static Object circuitTier2; - public static Object circuitTier3; - public static Object circuitTier4; - public static Object circuitTier5; - public static Object circuitTier6; - public static Object circuitTier7; - public static Object circuitTier8; - public static Object circuitTier9; - - // Machine Components - public static ItemStack electricMotor_LV; - public static ItemStack electricMotor_MV; - public static ItemStack electricMotor_HV; - public static ItemStack electricMotor_EV; - public static ItemStack electricMotor_IV; - public static ItemStack electricMotor_LuV; - public static ItemStack electricMotor_ZPM; - public static ItemStack electricMotor_UV; - public static ItemStack electricMotor_UHV; - public static ItemStack electricPump_LV; - public static ItemStack electricPump_MV; - public static ItemStack electricPump_HV; - public static ItemStack electricPump_EV; - public static ItemStack electricPump_IV; - public static ItemStack electricPump_LuV; - public static ItemStack electricPump_ZPM; - public static ItemStack electricPump_UV; - public static ItemStack electricPump_UHV; - public static ItemStack electricPiston_LV; - public static ItemStack electricPiston_MV; - public static ItemStack electricPiston_HV; - public static ItemStack electricPiston_EV; - public static ItemStack electricPiston_IV; - public static ItemStack electricPiston_LuV; - public static ItemStack electricPiston_ZPM; - public static ItemStack electricPiston_UV; - public static ItemStack electricPiston_UHV; - public static ItemStack robotArm_LV; - public static ItemStack robotArm_MV; - public static ItemStack robotArm_HV; - public static ItemStack robotArm_EV; - public static ItemStack robotArm_IV; - public static ItemStack robotArm_LuV; - public static ItemStack robotArm_ZPM; - public static ItemStack robotArm_UV; - public static ItemStack robotArm_UHV; - public static ItemStack conveyorModule_LV; - public static ItemStack conveyorModule_MV; - public static ItemStack conveyorModule_HV; - public static ItemStack conveyorModule_EV; - public static ItemStack conveyorModule_IV; - public static ItemStack conveyorModule_LuV; - public static ItemStack conveyorModule_ZPM; - public static ItemStack conveyorModule_UV; - public static ItemStack conveyorModule_UHV; - public static ItemStack emitter_LV; - public static ItemStack emitter_MV; - public static ItemStack emitter_HV; - public static ItemStack emitter_EV; - public static ItemStack emitter_IV; - public static ItemStack emitter_LuV; - public static ItemStack emitter_ZPM; - public static ItemStack emitter_UV; - public static ItemStack emitter_UHV; - public static ItemStack fieldGenerator_LV; - public static ItemStack fieldGenerator_MV; - public static ItemStack fieldGenerator_HV; - public static ItemStack fieldGenerator_EV; - public static ItemStack fieldGenerator_IV; - public static ItemStack fieldGenerator_LuV; - public static ItemStack fieldGenerator_ZPM; - public static ItemStack fieldGenerator_UV; - public static ItemStack fieldGenerator_UHV; - public static ItemStack sensor_LV; - public static ItemStack sensor_MV; - public static ItemStack sensor_HV; - public static ItemStack sensor_EV; - public static ItemStack sensor_IV; - public static ItemStack sensor_LuV; - public static ItemStack sensor_ZPM; - public static ItemStack sensor_UV; - public static ItemStack sensor_UHV; - - public static ItemStack fluidRegulator_LV; - public static ItemStack fluidRegulator_MV; - public static ItemStack fluidRegulator_HV; - public static ItemStack fluidRegulator_EV; - public static ItemStack fluidRegulator_IV; - public static ItemStack fluidRegulator_LuV; - public static ItemStack fluidRegulator_ZPM; - public static ItemStack fluidRegulator_UV; - - // Machine Casings - public static ItemStack machineCasing_ULV; - public static ItemStack machineCasing_LV; - public static ItemStack machineCasing_MV; - public static ItemStack machineCasing_HV; - public static ItemStack machineCasing_EV; - public static ItemStack machineCasing_IV; - public static ItemStack machineCasing_LuV; - public static ItemStack machineCasing_ZPM; - public static ItemStack machineCasing_UV; - public static ItemStack machineCasing_UHV; - - // Machine Hulls - public static ItemStack machineHull_ULV; - public static ItemStack machineHull_LV; - public static ItemStack machineHull_MV; - public static ItemStack machineHull_HV; - public static ItemStack machineHull_EV; - public static ItemStack machineHull_IV; - public static ItemStack machineHull_LuV; - public static ItemStack machineHull_ZPM; - public static ItemStack machineHull_UV; - public static ItemStack machineHull_UHV; - - // Gearbox Casings - public static ItemStack gearboxCasing_Tier_1; - public static ItemStack gearboxCasing_Tier_2; - public static ItemStack gearboxCasing_Tier_3; - public static ItemStack gearboxCasing_Tier_4; - - 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"; - public static String craftingToolScrewdriver = "craftingToolScrewdriver"; - public static String craftingToolFile = "craftingToolFile"; - public static String craftingToolMortar = "craftingToolMortar"; - public static String craftingToolSaw = "craftingToolSaw"; - public static String craftingToolWireCutter = "craftingToolWirecutter"; - public static String craftingToolSolderingIron = "craftingToolSolderingIron"; - - // Explosives - public static ItemStack explosivePowderKeg; - public static ItemStack explosiveTNT; - public static ItemStack explosiveITNT; - - public static Materials[] tieredMaterials = new Materials[] { Materials.Iron, Materials.Steel, Materials.Aluminium, - Materials.StainlessSteel, Materials.Titanium, Materials.TungstenSteel, Materials.Chrome, Materials.Iridium, - Materials.Osmium, Materials.Neutronium }; - - public static void preInit() { - - // Tiered Components - component_Plate = new String[] { getTieredComponent(OrePrefixes.plate, 0), - getTieredComponent(OrePrefixes.plate, 1), getTieredComponent(OrePrefixes.plate, 2), - getTieredComponent(OrePrefixes.plate, 3), getTieredComponent(OrePrefixes.plate, 4), - getTieredComponent(OrePrefixes.plate, 5), getTieredComponent(OrePrefixes.plate, 6), - getTieredComponent(OrePrefixes.plate, 7), getTieredComponent(OrePrefixes.plate, 8), - getTieredComponent(OrePrefixes.plate, 9), getTieredComponent(OrePrefixes.plate, 10), - getTieredComponent(OrePrefixes.plate, 11) }; - component_Rod = new String[] { getTieredComponent(OrePrefixes.stick, 0), - getTieredComponent(OrePrefixes.stick, 1), getTieredComponent(OrePrefixes.stick, 2), - getTieredComponent(OrePrefixes.stick, 3), getTieredComponent(OrePrefixes.stick, 4), - getTieredComponent(OrePrefixes.stick, 5), getTieredComponent(OrePrefixes.stick, 6), - getTieredComponent(OrePrefixes.stick, 7), getTieredComponent(OrePrefixes.stick, 8), - getTieredComponent(OrePrefixes.stick, 9), getTieredComponent(OrePrefixes.stick, 10), - getTieredComponent(OrePrefixes.stick, 11) }; - component_Ingot = new String[] { getTieredComponent(OrePrefixes.ingot, 0), - getTieredComponent(OrePrefixes.ingot, 1), getTieredComponent(OrePrefixes.ingot, 2), - getTieredComponent(OrePrefixes.ingot, 3), getTieredComponent(OrePrefixes.ingot, 4), - getTieredComponent(OrePrefixes.ingot, 5), getTieredComponent(OrePrefixes.ingot, 6), - getTieredComponent(OrePrefixes.ingot, 7), getTieredComponent(OrePrefixes.ingot, 8), - getTieredComponent(OrePrefixes.ingot, 9), getTieredComponent(OrePrefixes.ingot, 10), - getTieredComponent(OrePrefixes.ingot, 11) }; - - // Circuits - circuitPrimitive = getTieredCircuit(0); - circuitTier1 = getTieredCircuit(1); - circuitTier2 = getTieredCircuit(2); - circuitTier3 = getTieredCircuit(3); - circuitTier4 = getTieredCircuit(4); - circuitTier5 = getTieredCircuit(5); - circuitTier6 = getTieredCircuit(6); - circuitTier7 = getTieredCircuit(7); - circuitTier8 = getTieredCircuit(8); - circuitTier9 = getTieredCircuit(9); - } - - public static Object getTieredCircuit(int tier) { - return getTieredCircuitOreDictName(tier); - } - - public static String getTieredCircuitOreDictName(int tier) { - if (tier == 0) { - return "circuitPrimitive"; - } else if (tier == 1) { - return "circuitBasic"; - } else if (tier == 2) { - return "circuitGood"; - } else if (tier == 3) { - return "circuitAdvanced"; - } else if (tier == 4) { - return "circuitData"; - } else if (tier == 5) { - return "circuitElite"; - } else if (tier == 6) { - return "circuitMaster"; - } else if (tier == 7) { - return "circuitUltimate"; - } else if (tier == 8) { - return "circuitSuperconductor"; - } else if (tier == 9) { - return "circuitInfinite"; - } else if (tier == 10) { - return "circuitQuantum"; - } else { - return "circuitPrimitive"; - } - } - - public static ItemStack getNumberedCircuit(int Meta) { - return ItemUtils.getGregtechCircuit(Meta); - } - - private static Object getMaterialFromTier(int tier) { - if (tier == 0) { - return Materials.Wood; - } else if (tier == 1) { - return Materials.Lead; - } else if (tier == 2) { - return Materials.Bronze; - } else if (tier == 3) { - return Materials.Steel; - } else if (tier == 4) { - return ALLOY.EGLIN_STEEL; - } else if (tier == 5) { - return Materials.Aluminium; - } else if (tier == 6) { - return ALLOY.MARAGING250; - } else if (tier == 7) { - return ALLOY.TANTALLOY_61; - } else if (tier == 8) { - return ALLOY.INCONEL_792; - } else if (tier == 9) { - return ALLOY.ZERON_100; - } else if (tier == 10) { - return Materials.NaquadahEnriched; - } else if (tier == 11) { - return Materials.Neutronium; - } - return Materials._NULL; - } - - public static String getTieredComponent(OrePrefixes type, int tier) { - Object material = getMaterialFromTier(tier); - if (material != null) { - if (material instanceof Materials) { - // return (ItemStack) type.get(material); - String materialName = ((Materials) material).mDefaultLocalName; - Logger.INFO("Searching for a component named " + type.name() + materialName); - // return ItemUtils.getItemStackOfAmountFromOreDict(type.name()+materialName, 1); - return (type.name() + materialName); - } else { - String materialName = (Utils.sanitizeString(((Material) material).getLocalizedName())); - Logger.INFO("Searching for a component named " + type.name() + materialName); - // return ItemUtils.getItemStackOfAmountFromOreDict(type.name()+materialName, 1); - return (type.name() + materialName); - } - } - Logger.INFO("[Components] Failed getting a tiered component. " + type.name() + " | " + tier); - return null; - } - - public static ItemStack getDataOrb() { - return ItemList.Tool_DataOrb.get(1); - } - - public static ItemStack getDataStick() { - return ItemList.Tool_DataStick.get(1); - } - - public static ItemStack getTieredMachineHull(int tier) { - if (tier == 0) { - return machineHull_ULV; - } else if (tier == 1) { - return machineHull_LV; - } else if (tier == 2) { - return machineHull_MV; - } else if (tier == 3) { - return machineHull_HV; - } else if (tier == 4) { - return machineHull_EV; - } else if (tier == 5) { - return machineHull_IV; - } else if (tier == 6) { - return machineHull_LuV; - } else if (tier == 7) { - return machineHull_ZPM; - } else if (tier == 8) { - return machineHull_UV; - } else if (tier == 9) { - return machineHull_UHV; - } else { - return GregtechItemList.Casing_Multi_Use.get(1); - } - } - - public static ItemStack getTieredMachineCasing(int tier) { - if (tier == 0) { - if (machineCasing_ULV == null) { - machineCasing_ULV = ItemList.Casing_ULV.get(1); - } - return machineCasing_ULV; - } else if (tier == 1) { - return machineCasing_LV; - } else if (tier == 2) { - return machineCasing_MV; - } else if (tier == 3) { - return machineCasing_HV; - } else if (tier == 4) { - return machineCasing_EV; - } else if (tier == 5) { - return machineCasing_IV; - } else if (tier == 6) { - return machineCasing_LuV; - } else if (tier == 7) { - return machineCasing_ZPM; - } else if (tier == 8) { - return machineCasing_UV; - } else if (tier == 9) { - return machineCasing_UHV; - } else { - return GregtechItemList.Casing_Multi_Use.get(1); - } - } - - public static void init() { - // Set Explosives - explosivePowderKeg = ItemList.Block_Powderbarrel.get(1); - 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_UHV = 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_UHV = 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(); - } - - public static ItemStack emptyCells(int i) { - return ItemUtils.getEmptyCell(i); - } - - private static final Material[] aMaterial_Main = new Material[] { ALLOY.POTIN, ALLOY.TUMBAGA, ALLOY.EGLIN_STEEL, - ALLOY.INCONEL_625, ALLOY.INCOLOY_DS, ALLOY.NITINOL_60, ALLOY.ZERON_100, ALLOY.PIKYONIUM, - ELEMENT.STANDALONE.ADVANCED_NITINOL, ALLOY.ABYSSAL, ALLOY.QUANTUM, ELEMENT.STANDALONE.HYPOGEN }; - - private static final Material[] aMaterial_Secondary = new Material[] { ALLOY.STEEL, ALLOY.SILICON_CARBIDE, - ALLOY.BLOODSTEEL, ALLOY.TANTALUM_CARBIDE, ALLOY.INCONEL_792, ALLOY.ARCANITE, ALLOY.LAFIUM, ALLOY.CINOBITE, - ALLOY.TITANSTEEL, ALLOY.OCTIRON, ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN, ELEMENT.STANDALONE.HYPOGEN }; - - private static final Material[] aMaterial_Tertiary = new Material[] { ELEMENT.getInstance().LEAD, - ELEMENT.getInstance().ALUMINIUM, ELEMENT.STANDALONE.BLACK_METAL, ELEMENT.getInstance().TITANIUM, - ALLOY.HASTELLOY_N, ALLOY.ENERGYCRYSTAL, ALLOY.TRINIUM_NAQUADAH_CARBON, ALLOY.TRINIUM_REINFORCED_STEEL, // Arceus - ALLOY.TITANSTEEL, ELEMENT.STANDALONE.ASTRAL_TITANIUM, ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN, - ELEMENT.STANDALONE.HYPOGEN }; - - private static final Materials[] aMaterial_Cables = new Materials[] { Materials.Tin, Materials.Cobalt, - Materials.AnnealedCopper, Materials.Gold, Materials.Titanium, Materials.Nichrome, Materials.Platinum, - Materials.YttriumBariumCuprate, Materials.Naquadah, Materials.Duranium, Materials.SuperconductorUHV, }; - - private static final Materials[] aMaterial_Circuits = new Materials[] { Materials.Primitive, Materials.Basic, - Materials.Good, Materials.Advanced, Materials.Data, Materials.Data, Materials.Elite, Materials.Master, - Materials.Ultimate, Materials.SuperconductorUHV, Materials.Infinite, }; - - private static final Material[][] aMaster = new Material[][] { aMaterial_Main, aMaterial_Secondary, - aMaterial_Tertiary }; - - public static FluidStack getTieredFluid(int aTier, int aAmount) { - return getTieredFluid(aTier, aAmount, 0); - } - - public static FluidStack getAlternativeTieredFluid(int aTier, int aAmount) { - return getTieredFluid(aTier, aAmount, 1); - } - - public static FluidStack getTertiaryTieredFluid(int aTier, int aAmount) { - return getTieredFluid(aTier, aAmount, 2); - } - - public static FluidStack getTieredFluid(int aTier, int aAmount, int aType) { - // Weird Legacy handling - /* - * ItemStack aCell = getTieredComponent(OrePrefixes.liquid, aTier, 1); FluidStack a = - * GT_Utility.getFluidForFilledItem(aCell, true); if (a == null) { a = aMaster[aType][aTier].getFluid(aAmount); - * } - */ - - // Modern Handling - FluidStack a = aMaster[aType][aTier].getFluidStack(aAmount); - if (a == null) { - ItemStack aCell = getTieredComponent(OrePrefixes.liquid, aTier, 1); - if (aCell != null) { - a = GT_Utility.getFluidForFilledItem(aCell, true); - a.amount = aAmount; - } - } - return a; - } - - public static ItemStack getEnergyCore(int aTier, int aAmount) { - ItemStack[] aOutput = new ItemStack[] { - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "1", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "2", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "3", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "4", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "5", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "6", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "7", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "8", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "9", 1), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "10", 1) }; - return ItemUtils.getSimpleStack(aOutput[MathUtils.balance(aTier, 0, 9)], aAmount); - } - - public static ItemStack getPlate(int aTier, int aAmount) { - return getTieredComponent(OrePrefixes.plate, aTier, aAmount); - } - - public static ItemStack getDoublePlate(int aTier, int aAmount) { - return getTieredComponent(OrePrefixes.plateDouble, aTier, aAmount); - } - - public static ItemStack getGear(int aTier, int aAmount) { - return getTieredComponent(OrePrefixes.gearGt, aTier, aAmount); - } - - public static ItemStack getIngot(int aTier, int aAmount) { - return getTieredComponent(OrePrefixes.ingot, aTier, aAmount); - } - - public static ItemStack getBolt(int aTier, int aAmount) { - return getTieredComponent(OrePrefixes.bolt, aTier, aAmount); - } - - public static ItemStack getScrew(int aTier, int aAmount) { - return getTieredComponent(OrePrefixes.screw, aTier, aAmount); - } - - public static ItemStack getCircuit(int aTier, int aAmount) { - return getTieredComponent(OrePrefixes.circuit, aTier, aAmount); - } - - public static ItemStack getTieredComponent(OrePrefixes aPrefix, int aTier, int aAmount) { - aTier = Math.max(0, aTier); - - Material m; - - if (aPrefix == OrePrefixes.liquid) { - int aMatID = (aTier == 0 || aTier == 2 || aTier == 5 || aTier == 8 ? 0 - : (aTier == 1 || aTier == 3 || aTier == 6 || aTier == 9 ? 1 : 2)); - ItemStack aCell = aMaster[aMatID][aTier].getCell(aAmount); - return aCell; - } - - if (aPrefix == OrePrefixes.circuit) { - /* - * if (aTier == 4) { return ItemUtils.getSimpleStack(CI.getDataStick(), aAmount); } else if (aTier == 5) { - * return ItemUtils.getSimpleStack(CI.getDataOrb(), aAmount); } - */ - return ItemUtils.getOrePrefixStack(OrePrefixes.circuit, aMaterial_Circuits[aTier], aAmount); - } - - // Check for Cables first, catch SuperConductor case and swap to wire. - if (aPrefix == OrePrefixes.cableGt01 || aPrefix == OrePrefixes.cableGt02 - || aPrefix == OrePrefixes.cableGt04 - || aPrefix == OrePrefixes.cableGt08 - || aPrefix == OrePrefixes.cableGt12) { - // Special Handler - if (aTier == 10) { - if (aPrefix == OrePrefixes.cableGt01) { - aPrefix = OrePrefixes.wireGt02; - } else if (aPrefix == OrePrefixes.cableGt02) { - aPrefix = OrePrefixes.wireGt04; - } else if (aPrefix == OrePrefixes.cableGt04) { - aPrefix = OrePrefixes.wireGt08; - } else if (aPrefix == OrePrefixes.cableGt08) { - aPrefix = OrePrefixes.wireGt12; - } else if (aPrefix == OrePrefixes.cableGt12) { - aPrefix = OrePrefixes.wireGt16; - } - } else { - return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount); - } - } - if (aPrefix == OrePrefixes.wireGt01 || aPrefix == OrePrefixes.wireGt02 - || aPrefix == OrePrefixes.wireGt04 - || aPrefix == OrePrefixes.wireGt08 - || aPrefix == OrePrefixes.wireGt12 - || aPrefix == OrePrefixes.wireGt16) { - return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount); - } - - if (aPrefix == OrePrefixes.pipeTiny || aPrefix == OrePrefixes.pipeSmall - || aPrefix == OrePrefixes.pipe - || aPrefix == OrePrefixes.pipeMedium - || aPrefix == OrePrefixes.pipeLarge - || aPrefix == OrePrefixes.pipeHuge) { - - if (aPrefix == OrePrefixes.pipe) { - aPrefix = OrePrefixes.pipeMedium; - } - - if (aTier == 0) { - return ItemUtils.getOrePrefixStack(aPrefix, Materials.Lead, aAmount); - } else if (aTier == 1) { - return ItemUtils.getOrePrefixStack(aPrefix, Materials.Steel, aAmount); - } else if (aTier == 2) { - return ItemUtils.getOrePrefixStack(aPrefix, Materials.StainlessSteel, aAmount); - } else if (aTier == 3) { - return ItemUtils.getOrePrefixStack(aPrefix, Materials.Tungsten, aAmount); - } else if (aTier == 4) { - return ItemUtils.getOrePrefixStack(aPrefix, Materials.TungstenSteel, aAmount); - } else if (aTier == 5) { - return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.MARAGING350, aAmount); - } else if (aTier == 6) { - return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.STABALLOY, aAmount); - } else if (aTier == 7) { - return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.HASTELLOY_X, aAmount); - } else if (aTier == 8) { - return ItemUtils.getOrePrefixStack(aPrefix, Materials.Ultimate, aAmount); - } else if (aTier == 9) { - return ItemUtils.getOrePrefixStack(OrePrefixes.pipeMedium, Materials.SuperconductorUHV, aAmount); - } else if (aTier == 10) { - return ItemUtils.getOrePrefixStack(aPrefix, Materials.Europium, aAmount); - } else { - return ItemUtils.getOrePrefixStack(aPrefix, Materials.Titanium, aAmount); - } - } - - if (aPrefix == OrePrefixes.rod) { - aPrefix = OrePrefixes.stick; - } - - if (aPrefix == OrePrefixes.gear || aPrefix == OrePrefixes.gearGt) { - m = aMaster[0][aTier]; - } else if (aPrefix == OrePrefixes.rod || aPrefix == OrePrefixes.stick) { - m = aMaster[0][aTier]; - } else if (aPrefix == OrePrefixes.stickLong) { - m = aMaster[1][aTier]; - } else if (aPrefix == OrePrefixes.bolt) { - m = aMaster[2][aTier]; - } else if (aPrefix == OrePrefixes.screw) { - m = aMaster[0][aTier]; - } else if (aPrefix == OrePrefixes.rotor) { - m = aMaster[1][aTier]; - } else if (aPrefix == OrePrefixes.frame || aPrefix == OrePrefixes.frameGt) { - m = aMaster[2][aTier]; - } else if (aPrefix == OrePrefixes.ingot) { - m = aMaster[1][aTier]; - } else if (aPrefix == OrePrefixes.plate) { - m = aMaster[0][aTier]; - } else if (aPrefix == OrePrefixes.plateDouble) { - m = aMaster[0][aTier]; - } else if (aPrefix == OrePrefixes.ring) { - m = aMaster[2][aTier]; - } else if (aPrefix == OrePrefixes.cell) { - m = aMaster[1][aTier]; - } else { - m = aMaterial_Main[aTier]; - } - - ItemStack aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); - - // If Invalid, Try First Material - if (!ItemUtils.checkForInvalidItems(aReturn)) { - m = aMaster[0][aTier]; - aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); - - // If Invalid, Try Second Material - if (!ItemUtils.checkForInvalidItems(aReturn)) { - m = aMaster[1][aTier]; - aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); - - // If Invalid, Try Third Material - if (!ItemUtils.checkForInvalidItems(aReturn)) { - m = aMaster[2][aTier]; - aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); - - // All Invalid? - // Let's add a special error ingot. - if (!ItemUtils.checkForInvalidItems(aReturn)) { - aReturn = ItemUtils.getErrorStack(1, (aPrefix + m.getLocalizedName() + " x" + aAmount)); - } - } - } - } - - return aReturn; - } - - public static ItemStack getElectricMotor(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 1; - if (aTier == aLazyTier++) { - aType = CI.electricMotor_LV; - } else if (aTier == aLazyTier++) { - aType = CI.electricMotor_MV; - } else if (aTier == aLazyTier++) { - aType = CI.electricMotor_HV; - } else if (aTier == aLazyTier++) { - aType = CI.electricMotor_EV; - } else if (aTier == aLazyTier++) { - aType = CI.electricMotor_IV; - } else if (aTier == aLazyTier++) { - aType = CI.electricMotor_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.electricMotor_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.electricMotor_UV; - } else if (aTier == aLazyTier) { - aType = CI.electricMotor_UHV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getFluidRegulator(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 0; - if (aTier == aLazyTier++) { - aType = CI.fluidRegulator_LV; - } else if (aTier == aLazyTier++) { - aType = CI.fluidRegulator_LV; - } else if (aTier == aLazyTier++) { - aType = CI.fluidRegulator_MV; - } else if (aTier == aLazyTier++) { - aType = CI.fluidRegulator_HV; - } else if (aTier == aLazyTier++) { - aType = CI.fluidRegulator_EV; - } else if (aTier == aLazyTier++) { - aType = CI.fluidRegulator_IV; - } else if (aTier == aLazyTier++) { - aType = CI.fluidRegulator_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.fluidRegulator_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.fluidRegulator_UV; - } else if (aTier == aLazyTier) { - aType = CI.fluidRegulator_UV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getElectricPiston(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 1; - if (aTier == aLazyTier++) { - aType = CI.electricPiston_LV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPiston_MV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPiston_HV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPiston_EV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPiston_IV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPiston_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPiston_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.electricPiston_UV; - } else if (aTier == aLazyTier) { - aType = CI.electricPiston_UHV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getElectricPump(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 1; - if (aTier == aLazyTier++) { - aType = CI.electricPump_LV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPump_MV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPump_HV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPump_EV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPump_IV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPump_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.electricPump_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.electricPump_UV; - } else if (aTier == aLazyTier) { - aType = CI.electricPump_UHV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getRobotArm(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 1; - if (aTier == aLazyTier++) { - aType = CI.robotArm_LV; - } else if (aTier == aLazyTier++) { - aType = CI.robotArm_MV; - } else if (aTier == aLazyTier++) { - aType = CI.robotArm_HV; - } else if (aTier == aLazyTier++) { - aType = CI.robotArm_EV; - } else if (aTier == aLazyTier++) { - aType = CI.robotArm_IV; - } else if (aTier == aLazyTier++) { - aType = CI.robotArm_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.robotArm_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.robotArm_UV; - } else if (aTier == aLazyTier) { - aType = CI.robotArm_UHV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getConveyor(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 1; - if (aTier == aLazyTier++) { - aType = CI.conveyorModule_LV; - } else if (aTier == aLazyTier++) { - aType = CI.conveyorModule_MV; - } else if (aTier == aLazyTier++) { - aType = CI.conveyorModule_HV; - } else if (aTier == aLazyTier++) { - aType = CI.conveyorModule_EV; - } else if (aTier == aLazyTier++) { - aType = CI.conveyorModule_IV; - } else if (aTier == aLazyTier++) { - aType = CI.conveyorModule_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.conveyorModule_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.conveyorModule_UV; - } else if (aTier == aLazyTier) { - aType = CI.conveyorModule_UHV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getEmitter(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 1; - if (aTier == aLazyTier++) { - aType = CI.emitter_LV; - } else if (aTier == aLazyTier++) { - aType = CI.emitter_MV; - } else if (aTier == aLazyTier++) { - aType = CI.emitter_HV; - } else if (aTier == aLazyTier++) { - aType = CI.emitter_EV; - } else if (aTier == aLazyTier++) { - aType = CI.emitter_IV; - } else if (aTier == aLazyTier++) { - aType = CI.emitter_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.emitter_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.emitter_UV; - } else if (aTier == aLazyTier) { - aType = CI.emitter_UHV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getSensor(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 1; - if (aTier == aLazyTier++) { - aType = CI.sensor_LV; - } else if (aTier == aLazyTier++) { - aType = CI.sensor_MV; - } else if (aTier == aLazyTier++) { - aType = CI.sensor_HV; - } else if (aTier == aLazyTier++) { - aType = CI.sensor_EV; - } else if (aTier == aLazyTier++) { - aType = CI.sensor_IV; - } else if (aTier == aLazyTier++) { - aType = CI.sensor_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.sensor_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.sensor_UV; - } else if (aTier == aLazyTier) { - aType = CI.sensor_UHV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getFieldGenerator(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 1; - if (aTier == aLazyTier++) { - aType = CI.fieldGenerator_LV; - } else if (aTier == aLazyTier++) { - aType = CI.fieldGenerator_MV; - } else if (aTier == aLazyTier++) { - aType = CI.fieldGenerator_HV; - } else if (aTier == aLazyTier++) { - aType = CI.fieldGenerator_EV; - } else if (aTier == aLazyTier++) { - aType = CI.fieldGenerator_IV; - } else if (aTier == aLazyTier++) { - aType = CI.fieldGenerator_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.fieldGenerator_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.fieldGenerator_UV; - } else if (aTier == aLazyTier) { - aType = CI.fieldGenerator_UHV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getTieredMachineHull(int aTier, int aSize) { - ItemStack aType; - int aLazyTier = 0; - if (aTier == aLazyTier++) { - aType = CI.machineHull_ULV; - } else if (aTier == aLazyTier++) { - aType = CI.machineHull_LV; - } else if (aTier == aLazyTier++) { - aType = CI.machineHull_MV; - } else if (aTier == aLazyTier++) { - aType = CI.machineHull_HV; - } else if (aTier == aLazyTier++) { - aType = CI.machineHull_EV; - } else if (aTier == aLazyTier++) { - aType = CI.machineHull_IV; - } else if (aTier == aLazyTier++) { - aType = CI.machineHull_LuV; - } else if (aTier == aLazyTier++) { - aType = CI.machineHull_ZPM; - } else if (aTier == aLazyTier++) { - aType = CI.machineHull_UV; - } else if (aTier == aLazyTier) { - aType = CI.machineHull_UHV; - } else { - throw new IllegalArgumentException(); - } - return ItemUtils.getSimpleStack(aType, aSize); - } - - public static ItemStack getHeatCoil(int i) { - if (i > 8) { - i = 8; - } - return ItemUtils.simpleMetaStack(GregTech_API.sBlockCasings5, i, 1); - } - - public static ItemStack getNumberedBioCircuit(int i) { - return ItemUtils.simpleMetaStack(AgriculturalChem.mBioCircuit, i, 0); - } - - public static ItemStack getNumberedAdvancedCircuit(int i) { - return ItemUtils.simpleMetaStack(GenericChem.mAdvancedCircuit, i, 0); - } - - public static ItemStack getTieredGTPPMachineCasing(int aTier, int aAmount) { - GregtechItemList[] aHulls = new GregtechItemList[] { GregtechItemList.GTPP_Casing_ULV, - GregtechItemList.GTPP_Casing_LV, GregtechItemList.GTPP_Casing_MV, GregtechItemList.GTPP_Casing_HV, - GregtechItemList.GTPP_Casing_EV, GregtechItemList.GTPP_Casing_IV, GregtechItemList.GTPP_Casing_LuV, - GregtechItemList.GTPP_Casing_ZPM, GregtechItemList.GTPP_Casing_UV, GregtechItemList.GTPP_Casing_UHV }; - return aHulls[aTier].get(aAmount); - } - - public static ItemStack getTieredComponentOfMaterial(Materials aMaterial, OrePrefixes aPrefix, int aAmount) { - return ItemUtils.getOrePrefixStack(aPrefix, aMaterial, aAmount); - } - - public static ItemStack getTransmissionComponent(int aTier, int aAmount) { - GregtechItemList[] aTransParts = new GregtechItemList[] { null, GregtechItemList.TransmissionComponent_LV, - GregtechItemList.TransmissionComponent_MV, GregtechItemList.TransmissionComponent_HV, - GregtechItemList.TransmissionComponent_EV, GregtechItemList.TransmissionComponent_IV, - GregtechItemList.TransmissionComponent_LuV, GregtechItemList.TransmissionComponent_ZPM, - GregtechItemList.TransmissionComponent_UV, GregtechItemList.TransmissionComponent_UHV, }; - return aTransParts[aTier].get(aAmount); - } - - public static ItemStack getEmptyCatalyst(int aAmount) { - return ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 13, aAmount); - } - - /** - * Aluminium + Silver Catalyst - * - * @param aAmount - Stacksize - * @return - A Catalyst stack of given size - */ - public static ItemStack getGreenCatalyst(int aAmount) { - return ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 14, aAmount); - } - - /** - * Iridium + Ruthenium Catalyst - * - * @param aAmount - Stacksize - * @return - A Catalyst stack of given size - */ - public static ItemStack getPurpleCatalyst(int aAmount) { - return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 4, aAmount); - } - - /** - * Platinum + Rhodium Catalyst - * - * @param aAmount - Stacksize - * @return - A Catalyst stack of given size - */ - public static ItemStack getPinkCatalyst(int aAmount) { - return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 6, aAmount); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotCrafting.java b/gtpp/src/main/java/gtPlusPlus/core/slots/SlotCrafting.java deleted file mode 100644 index 323943b950..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotCrafting.java +++ /dev/null @@ -1,154 +0,0 @@ -package gtPlusPlus.core.slots; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.Item; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.stats.AchievementList; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent; - -import cpw.mods.fml.common.FMLCommonHandler; - -public class SlotCrafting extends Slot { - - /** The craft matrix inventory linked to this result slot. */ - private final IInventory craftMatrix; - /** The player that is using the GUI where this slot resides. */ - private final EntityPlayer thePlayer; - /** - * The number of items that have been crafted so far. Gets passed to ItemStack.onCrafting before being reset. - */ - private int amountCrafted; - - public SlotCrafting(final EntityPlayer p_i1823_1_, final IInventory p_i1823_2_, final IInventory p_i1823_3_, - final int p_i1823_4_, final int p_i1823_5_, final int p_i1823_6_) { - super(p_i1823_3_, p_i1823_4_, p_i1823_5_, p_i1823_6_); - this.thePlayer = p_i1823_1_; - this.craftMatrix = p_i1823_2_; - } - - /** - * Check if the stack is a valid item for this slot. Always true beside for the armor slots. - */ - @Override - public boolean isItemValid(final ItemStack p_75214_1_) { - return false; - } - - /** - * Decrease the size of the stack in slot (first int arg) by the amount of the second int arg. Returns the new - * stack. - */ - @Override - public ItemStack decrStackSize(final int p_75209_1_) { - if (this.getHasStack()) { - this.amountCrafted += Math.min(p_75209_1_, this.getStack().stackSize); - } - - return super.decrStackSize(p_75209_1_); - } - - /** - * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood. Typically increases an - * internal count then calls onCrafting(item). - */ - @Override - protected void onCrafting(final ItemStack p_75210_1_, final int p_75210_2_) { - this.amountCrafted += p_75210_2_; - this.onCrafting(p_75210_1_); - } - - /** - * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood. - */ - @Override - protected void onCrafting(final ItemStack p_75208_1_) { - p_75208_1_.onCrafting(this.thePlayer.worldObj, this.thePlayer, this.amountCrafted); - this.amountCrafted = 0; - - if (p_75208_1_.getItem() == Item.getItemFromBlock(Blocks.crafting_table)) { - this.thePlayer.addStat(AchievementList.buildWorkBench, 1); - } - - if (p_75208_1_.getItem() instanceof ItemPickaxe) { - this.thePlayer.addStat(AchievementList.buildPickaxe, 1); - } - - if (p_75208_1_.getItem() == Item.getItemFromBlock(Blocks.furnace)) { - this.thePlayer.addStat(AchievementList.buildFurnace, 1); - } - - if (p_75208_1_.getItem() instanceof ItemHoe) { - this.thePlayer.addStat(AchievementList.buildHoe, 1); - } - - if (p_75208_1_.getItem() == Items.bread) { - this.thePlayer.addStat(AchievementList.makeBread, 1); - } - - if (p_75208_1_.getItem() == Items.cake) { - this.thePlayer.addStat(AchievementList.bakeCake, 1); - } - - if ((p_75208_1_.getItem() instanceof ItemPickaxe) - && (((ItemPickaxe) p_75208_1_.getItem()).func_150913_i() != Item.ToolMaterial.WOOD)) { - this.thePlayer.addStat(AchievementList.buildBetterPickaxe, 1); - } - - if (p_75208_1_.getItem() instanceof ItemSword) { - this.thePlayer.addStat(AchievementList.buildSword, 1); - } - - if (p_75208_1_.getItem() == Item.getItemFromBlock(Blocks.enchanting_table)) { - this.thePlayer.addStat(AchievementList.enchantments, 1); - } - - if (p_75208_1_.getItem() == Item.getItemFromBlock(Blocks.bookshelf)) { - this.thePlayer.addStat(AchievementList.bookcase, 1); - } - } - - @Override - public void onPickupFromSlot(final EntityPlayer p_82870_1_, final ItemStack p_82870_2_) { - FMLCommonHandler.instance() - .firePlayerCraftingEvent(p_82870_1_, p_82870_2_, this.craftMatrix); - this.onCrafting(p_82870_2_); - - for (int i = 0; i < this.craftMatrix.getSizeInventory(); ++i) { - final ItemStack itemstack1 = this.craftMatrix.getStackInSlot(i); - - if (itemstack1 != null) { - this.craftMatrix.decrStackSize(i, 1); - - if (itemstack1.getItem() - .hasContainerItem(itemstack1)) { - final ItemStack itemstack2 = itemstack1.getItem() - .getContainerItem(itemstack1); - - if ((itemstack2 != null) && itemstack2.isItemStackDamageable() - && (itemstack2.getItemDamage() > itemstack2.getMaxDamage())) { - MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(this.thePlayer, itemstack2)); - continue; - } - - if (!itemstack1.getItem() - .doesContainerItemLeaveCraftingGrid(itemstack1) - || !this.thePlayer.inventory.addItemStackToInventory(itemstack2)) { - if (this.craftMatrix.getStackInSlot(i) == null) { - this.craftMatrix.setInventorySlotContents(i, itemstack2); - } else { - this.thePlayer.dropPlayerItemWithRandomChoice(itemstack2, false); - } - } - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotCraftingNoCollect.java b/gtpp/src/main/java/gtPlusPlus/core/slots/SlotCraftingNoCollect.java deleted file mode 100644 index 03581ef705..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotCraftingNoCollect.java +++ /dev/null @@ -1,139 +0,0 @@ -package gtPlusPlus.core.slots; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.stats.AchievementList; - -import cpw.mods.fml.common.FMLCommonHandler; - -public class SlotCraftingNoCollect extends SlotCrafting { - - /** The craft matrix inventory linked to this result slot. */ - private final IInventory craftMatrix; - /** The player that is using the GUI where this slot resides. */ - private EntityPlayer thePlayer; - /** - * The number of items that have been crafted so far. Gets passed to ItemStack.onCrafting before being reset. - */ - private int amountCrafted; - - public SlotCraftingNoCollect(EntityPlayer player, IInventory inventory, IInventory inventory2, int x, int y, - int z) { - super(player, inventory, inventory2, x, y, z); - this.thePlayer = player; - this.craftMatrix = inventory; - } - - /** - * Check if the stack is a valid item for this slot. Always true beside for the armor slots. - */ - @Override - public boolean isItemValid(ItemStack p_75214_1_) { - return false; - } - - /** - * Decrease the size of the stack in slot (first int arg) by the amount of the second int arg. Returns the new - * stack. - */ - @Override - public ItemStack decrStackSize(int amount) { - if (this.getHasStack()) { - this.amountCrafted += Math.min(amount, this.getStack().stackSize); - } - - return super.decrStackSize(amount); - } - - /** - * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood. Typically increases an - * internal count then calls onCrafting(item). - */ - @Override - protected void onCrafting(ItemStack output, int amount) { - this.amountCrafted += amount; - this.onCrafting(output); - } - - /** - * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood. - */ - @Override - protected void onCrafting(ItemStack output) { - output.onCrafting(this.thePlayer.worldObj, this.thePlayer, this.amountCrafted); - this.amountCrafted = 0; - - if (output.getItem() == Item.getItemFromBlock(Blocks.crafting_table)) { - this.thePlayer.addStat(AchievementList.buildWorkBench, 1); - } - - if (output.getItem() instanceof ItemPickaxe) { - this.thePlayer.addStat(AchievementList.buildPickaxe, 1); - } - - if (output.getItem() == Item.getItemFromBlock(Blocks.furnace)) { - this.thePlayer.addStat(AchievementList.buildFurnace, 1); - } - - if (output.getItem() instanceof ItemHoe) { - this.thePlayer.addStat(AchievementList.buildHoe, 1); - } - - if (output.getItem() == Items.bread) { - this.thePlayer.addStat(AchievementList.makeBread, 1); - } - - if (output.getItem() == Items.cake) { - this.thePlayer.addStat(AchievementList.bakeCake, 1); - } - - if (output.getItem() instanceof ItemPickaxe - && ((ItemPickaxe) output.getItem()).func_150913_i() != Item.ToolMaterial.WOOD) { - this.thePlayer.addStat(AchievementList.buildBetterPickaxe, 1); - } - - if (output.getItem() instanceof ItemSword) { - this.thePlayer.addStat(AchievementList.buildSword, 1); - } - - if (output.getItem() == Item.getItemFromBlock(Blocks.enchanting_table)) { - this.thePlayer.addStat(AchievementList.enchantments, 1); - } - - if (output.getItem() == Item.getItemFromBlock(Blocks.bookshelf)) { - this.thePlayer.addStat(AchievementList.bookcase, 1); - } - } - - @Override - public void onPickupFromSlot(EntityPlayer player, ItemStack output) { - FMLCommonHandler.instance() - .firePlayerCraftingEvent(player, output, craftMatrix); - this.onCrafting(output); - - /* - * for (int i = 0; i < this.craftMatrix.getSizeInventory(); ++i) { ItemStack itemstack1 = - * this.craftMatrix.getStackInSlot(i); if (itemstack1 != null) { this.craftMatrix.decrStackSize(i, 1); if - * (itemstack1.getItem().hasContainerItem(itemstack1)) { ItemStack itemstack2 = - * itemstack1.getItem().getContainerItem(itemstack1); if (itemstack2 != null && - * itemstack2.isItemStackDamageable() && itemstack2.getItemDamage() > itemstack2.getMaxDamage()) { - * MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thePlayer, itemstack2)); continue; } if - * (!itemstack1.getItem().doesContainerItemLeaveCraftingGrid(itemstack1) || - * !this.thePlayer.inventory.addItemStackToInventory(itemstack2)) { if (this.craftMatrix.getStackInSlot(i) == - * null) { this.craftMatrix.setInventorySlotContents(i, itemstack2); } else { - * this.thePlayer.dropPlayerItemWithRandomChoice(itemstack2, false); } } } } } - */ - } - - @Override - public boolean canTakeStack(EntityPlayer player) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotDataStick.java b/gtpp/src/main/java/gtPlusPlus/core/slots/SlotDataStick.java deleted file mode 100644 index 3b39da877a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotDataStick.java +++ /dev/null @@ -1,42 +0,0 @@ -package gtPlusPlus.core.slots; - -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.recipe.common.CI; - -public class SlotDataStick extends Slot { - - public SlotDataStick(final IInventory inventory, final int slot, final int x, final int y) { - super(inventory, slot, x, y); - } - - public static ItemStack[] mDataItems = new ItemStack[2]; - - @Override - public synchronized boolean isItemValid(final ItemStack itemstack) { - boolean isValid = false; - if (itemstack != null) { - if (mDataItems[0] == null) { - mDataItems[0] = CI.getDataStick(); - } - if (mDataItems[1] == null) { - mDataItems[1] = CI.getDataOrb(); - } - if (mDataItems[0] != null && mDataItems[1] != null) { - if (GT_Utility.areStacksEqual(itemstack, mDataItems[0], true) - || GT_Utility.areStacksEqual(itemstack, mDataItems[1], true)) { - isValid = true; - } - } - } - return isValid; - } - - @Override - public int getSlotStackLimit() { - return 1; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotGeneric.java b/gtpp/src/main/java/gtPlusPlus/core/slots/SlotGeneric.java deleted file mode 100644 index bfb384efe8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotGeneric.java +++ /dev/null @@ -1,22 +0,0 @@ -package gtPlusPlus.core.slots; - -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotGeneric extends Slot { - - public SlotGeneric(final IInventory inventory, final int aSlotID, final int x, final int y) { - super(inventory, aSlotID, x, y); - } - - @Override - public boolean isItemValid(final ItemStack itemstack) { - return true; - } - - @Override - public int getSlotStackLimit() { - return 64; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java b/gtpp/src/main/java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java deleted file mode 100644 index dc75c88369..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java +++ /dev/null @@ -1,110 +0,0 @@ -package gtPlusPlus.core.slots; - -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import gtPlusPlus.core.recipe.common.CI; - -public class SlotIntegratedCircuit extends Slot { - - public static Item mCircuitItem; - public static Item mCircuitItem2; - public static Item mCircuitItem3; - private final short mCircuitLock; - - public SlotIntegratedCircuit(final IInventory inventory, final int slot, final int x, final int y) { - this(Short.MAX_VALUE + 1, inventory, slot, x, y); - } - - public SlotIntegratedCircuit(int mTypeLock, final IInventory inventory, final int slot, final int x, final int y) { - super(inventory, slot, x, y); - if (mTypeLock > Short.MAX_VALUE || mTypeLock < Short.MIN_VALUE) { - mCircuitLock = -1; - } else { - mCircuitLock = (short) mTypeLock; - } - } - - @Override - public synchronized boolean isItemValid(final ItemStack itemstack) { - return isItemValidForSlot(mCircuitLock, itemstack); - } - - public static synchronized boolean isItemValidForSlot(final ItemStack itemstack) { - return isItemValidForSlot(-1, itemstack); - } - - public static synchronized boolean isItemValidForSlot(int aLockedCircuitNumber, final ItemStack itemstack) { - boolean isValid = false; - if (mCircuitItem == null) { - mCircuitItem = CI.getNumberedCircuit(0) - .getItem(); - } - if (mCircuitItem2 == null) { - mCircuitItem2 = CI.getNumberedBioCircuit(0) - .getItem(); - } - if (mCircuitItem3 == null) { - mCircuitItem3 = CI.getNumberedAdvancedCircuit(0) - .getItem(); - } - if (mCircuitItem != null && mCircuitItem2 != null && mCircuitItem3 != null) { - if (itemstack != null) { - if (itemstack.getItem() == mCircuitItem || itemstack.getItem() == mCircuitItem2 - || itemstack.getItem() == mCircuitItem3) { - if (aLockedCircuitNumber == -1) { - isValid = true; - } else { - if (itemstack.getItemDamage() == aLockedCircuitNumber) { - isValid = true; - } - } - } - } - } - return isValid; - } - - /** - * Returns the circuit type. -1 is invalid, 0 is standard, 1 is GT++ bio. - * - * @param itemstack - the Circuit Stack. - * @return - */ - public static synchronized int isRegularProgrammableCircuit(final ItemStack itemstack) { - if (mCircuitItem == null) { - mCircuitItem = CI.getNumberedCircuit(0) - .getItem(); - } - if (mCircuitItem2 == null) { - mCircuitItem2 = CI.getNumberedBioCircuit(0) - .getItem(); - } - if (mCircuitItem3 == null) { - mCircuitItem3 = CI.getNumberedAdvancedCircuit(0) - .getItem(); - } - if (mCircuitItem != null && mCircuitItem2 != null && mCircuitItem3 != null) { - if (itemstack != null) { - if (itemstack.getItem() == mCircuitItem || itemstack.getItem() == mCircuitItem2 - || itemstack.getItem() == mCircuitItem3) { - if (itemstack.getItem() == mCircuitItem) { - return 0; - } else if (itemstack.getItem() == mCircuitItem2) { - return 1; - } else if (itemstack.getItem() == mCircuitItem3) { - return 2; - } - } - } - } - return -1; - } - - @Override - public int getSlotStackLimit() { - return 64; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotJukebox.java b/gtpp/src/main/java/gtPlusPlus/core/slots/SlotJukebox.java deleted file mode 100644 index 1351e5c188..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotJukebox.java +++ /dev/null @@ -1,35 +0,0 @@ -package gtPlusPlus.core.slots; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemRecord; -import net.minecraft.item.ItemStack; - -public class SlotJukebox extends SlotGeneric { - - private final boolean isDisplay; - - public SlotJukebox(IInventory inventory, int x, int y, int z) { - this(inventory, x, y, z, false); - } - - public SlotJukebox(IInventory inventory, int x, int y, int z, boolean display) { - super(inventory, x, y, z); - isDisplay = display; - } - - @Override - public boolean isItemValid(ItemStack itemstack) { - return (itemstack != null && itemstack.getItem() instanceof ItemRecord); - } - - @Override - public int getSlotStackLimit() { - return 1; - } - - @Override - public boolean canTakeStack(EntityPlayer p_82869_1_) { - return !isDisplay; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotNoInput.java b/gtpp/src/main/java/gtPlusPlus/core/slots/SlotNoInput.java deleted file mode 100644 index d4e8696075..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotNoInput.java +++ /dev/null @@ -1,22 +0,0 @@ -package gtPlusPlus.core.slots; - -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotNoInput extends Slot { - - public SlotNoInput(final IInventory inventory, final int index, final int x, final int y) { - super(inventory, index, x, y); - } - - @Override - public boolean isItemValid(final ItemStack itemstack) { - return false; - } - - @Override - public int getSlotStackLimit() { - return 0; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotVolumetricFlask.java b/gtpp/src/main/java/gtPlusPlus/core/slots/SlotVolumetricFlask.java deleted file mode 100644 index c84c88a0b5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/slots/SlotVolumetricFlask.java +++ /dev/null @@ -1,28 +0,0 @@ -package gtPlusPlus.core.slots; - -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper; - -public class SlotVolumetricFlask extends Slot { - - public SlotVolumetricFlask(final IInventory inventory, final int slot, final int x, final int y) { - super(inventory, slot, x, y); - } - - @Override - public synchronized boolean isItemValid(final ItemStack itemstack) { - return isItemValidForSlot(itemstack); - } - - public static synchronized boolean isItemValidForSlot(final ItemStack itemstack) { - return VolumetricFlaskHelper.isVolumetricFlask(itemstack); - } - - @Override - public int getSlotStackLimit() { - return 16; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/ModTileEntities.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/ModTileEntities.java deleted file mode 100644 index 56cf2fdbab..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/ModTileEntities.java +++ /dev/null @@ -1,35 +0,0 @@ -package gtPlusPlus.core.tileentities; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.general.BlockSuperLight.TileEntitySuperLight; -import gtPlusPlus.core.block.machine.Machine_SuperJukebox.TileEntitySuperJukebox; -import gtPlusPlus.core.tileentities.general.TileEntityCircuitProgrammer; -import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest; -import gtPlusPlus.core.tileentities.general.TileEntityFishTrap; -import gtPlusPlus.core.tileentities.general.TileEntityInfiniteFluid; -import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter; -import gtPlusPlus.core.tileentities.machines.TileEntityAdvPooCollector; -import gtPlusPlus.core.tileentities.machines.TileEntityPestKiller; -import gtPlusPlus.core.tileentities.machines.TileEntityPooCollector; -import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable; - -public class ModTileEntities { - - public static void init() { - Logger.INFO("Registering Tile Entities."); - GameRegistry.registerTileEntity(TileEntityPooCollector.class, "TileEntityPooCollector"); - GameRegistry.registerTileEntity(TileEntityAdvPooCollector.class, "TileEntityAdvPooCollector"); - GameRegistry.registerTileEntity(TileEntityFishTrap.class, "TileFishTrap"); - GameRegistry.registerTileEntity(TileEntityInfiniteFluid.class, "TileInfiniteFluid"); - GameRegistry.registerTileEntity(TileEntityProjectTable.class, "TileProjectTable"); - GameRegistry.registerTileEntity(TileEntityCircuitProgrammer.class, "TileCircuitProgrammer"); - GameRegistry.registerTileEntity(TileEntityDecayablesChest.class, "TileDecayablesChest"); - GameRegistry.registerTileEntity(TileEntitySuperJukebox.class, "TileEntitySuperJukebox"); - GameRegistry.registerTileEntity(TileEntitySuperLight.class, "TileEntitySuperLight"); - GameRegistry.registerTileEntity(TileEntityPestKiller.class, "TileEntityPestKiller"); - - GameRegistry.registerTileEntity(TileEntityVolumetricFlaskSetter.class, "TileEntityVolumetricFlaskSetter"); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java deleted file mode 100644 index 98f1d67439..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java +++ /dev/null @@ -1,1419 +0,0 @@ -package gtPlusPlus.core.tileentities.base; - -import java.util.UUID; - -import net.minecraft.block.Block; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.IFluidHandler; - -import gregtech.GT_Mod; -import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; -import gregtech.api.interfaces.IDescribable; -import gregtech.api.interfaces.tileentity.IGregTechDeviceInformation; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.net.GT_Packet_Block_Event; -import gregtech.api.util.GT_CoverBehavior; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.ISerializableObject; -import gregtech.common.covers.CoverInfo; -import gtPlusPlus.api.interfaces.ILazyCoverable; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.minecraft.BTF_Inventory; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import ic2.api.Direction; - -public class TileEntityBase extends TileEntity implements ILazyCoverable, IGregTechDeviceInformation, IDescribable { - - private String customName; - public String mOwnerName = "null"; - public String mOwnerUUID = "null"; - private boolean mIsOwnerOP = false; - - public final BTF_Inventory mInventory; - - public TileEntityBase(int aCapacity) { - mInventory = new BTF_Inventory(aCapacity, this); - } - - public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag) { - if (!nbt.hasKey(tag)) { - nbt.setTag(tag, new NBTTagCompound()); - } - return nbt.getCompoundTag(tag); - } - - @Override - public void writeToNBT(final NBTTagCompound nbt) { - super.writeToNBT(nbt); - if (this.hasCustomInventoryName()) { - nbt.setString("CustomName", this.getCustomName()); - } - nbt.setBoolean("mIsOwnerOP", this.mIsOwnerOP); - nbt.setString("mOwnerName", this.mOwnerName); - nbt.setString("mOwnerUUID", this.mOwnerUUID); - } - - @Override - public void readFromNBT(final NBTTagCompound nbt) { - - super.readFromNBT(nbt); - - if (nbt.hasKey("CustomName", 8)) { - this.setCustomName(nbt.getString("CustomName")); - } - - this.mIsOwnerOP = nbt.getBoolean("mIsOwnerOP"); - this.mOwnerName = nbt.getString("mOwnerName"); - this.mOwnerUUID = nbt.getString("mOwnerUUID"); - } - - @Override - public void updateEntity() { - long aTick = System.currentTimeMillis(); - this.isDead = false; - if (!firstTicked) { - onFirstTick(); - } - try { - if (this.isServerSide()) { - onPreTick(aTick); - } - } catch (Throwable t) { - Logger.ERROR("Tile Entity Encountered an error in it's pre-tick stage."); - t.printStackTrace(); - } - try { - if (this.isServerSide()) { - onTick(aTick); - } - } catch (Throwable t) { - Logger.ERROR("Tile Entity Encountered an error in it's tick stage."); - t.printStackTrace(); - } - try { - if (this.isServerSide()) { - onPostTick(aTick); - } - } catch (Throwable t) { - Logger.ERROR("Tile Entity Encountered an error in it's post-tick stage."); - t.printStackTrace(); - } - } - - public boolean onPreTick(long aTick) { - return true; - } - - public boolean onTick(long aTick) { - try { - if (this.isServerSide()) { - processRecipe(); - } - } catch (Throwable t) { - Logger.ERROR("Tile Entity Encountered an error in it's processing of a recipe stage."); - t.printStackTrace(); - } - return true; - } - - public boolean onPostTick(long aTick) { - return true; - } - - public boolean processRecipe() { - return true; - } - - @Override - public boolean canUpdate() { - return true; - } - - public String getOwner() { - if (this.mOwnerName == null) { - return "null"; - } - return this.mOwnerName; - } - - public UUID getOwnerUUID() { - return UUID.fromString(this.mOwnerUUID); - } - - public boolean isOwnerOP() { - return mIsOwnerOP; - } - - public void setOwnerInformation(String mName, String mUUID, boolean mOP) { - if (isServerSide()) { - if (this.mOwnerName == null || this.mOwnerUUID == null - || this.mOwnerName.equals("null") - || this.mOwnerUUID.equals("null")) { - this.mOwnerName = mName; - this.mOwnerUUID = mUUID; - this.mIsOwnerOP = mOP; - } - } - } - - @Override - public boolean isServerSide() { - if (this.hasWorldObj()) { - if (!this.getWorldObj().isRemote) { - return true; - } - } - return false; - } - - @Override - public final boolean isClientSide() { - return this.worldObj.isRemote; - } - - public String getCustomName() { - return this.customName; - } - - public void setCustomName(String customName) { - this.customName = customName; - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.tileentity.name"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && !this.customName.equals(""); - } - - @Override - public int getSizeInventory() { - return this.mInventory.getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(int aIndex) { - return this.mInventory.getStackInSlot(aIndex); - } - - @Override - public ItemStack decrStackSize(int aIndex, int aAmount) { - if (canAccessData()) { - mInventoryChanged = true; - return mInventory.decrStackSize(aIndex, aAmount); - } - return null; - } - - @Override - public ItemStack getStackInSlotOnClosing(int p_70304_1_) { - return this.mInventory.getStackInSlotOnClosing(p_70304_1_); - } - - @Override - public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_) { - this.mInventory.setInventorySlotContents(p_70299_1_, p_70299_2_); - } - - @Override - public int getInventoryStackLimit() { - return this.mInventory.getInventoryStackLimit(); - } - - @Override - public boolean isUseableByPlayer(EntityPlayer p_70300_1_) { - return this.mInventory.isUseableByPlayer(p_70300_1_); - } - - @Override - public void openInventory() { - this.mInventory.openInventory(); - } - - @Override - public void closeInventory() { - this.mInventory.closeInventory(); - } - - /** - * Can put aStack into Slot - */ - @Override - public boolean isItemValidForSlot(int aIndex, ItemStack aStack) { - return canAccessData() && mInventory.isItemValidForSlot(aIndex, aStack); - } - - /** - * returns all valid Inventory Slots, no matter which Side (Unless it's covered). The Side Stuff is done in the - * following two Functions. - */ - @Override - public int[] getAccessibleSlotsFromSide(int ordinalSide) { - final ForgeDirection side = ForgeDirection.getOrientation(ordinalSide); - CoverInfo coverInfo = getCoverInfoAtSide(side); - if (canAccessData() && (coverInfo.letsItemsOut(-1) || coverInfo.letsItemsIn(-1))) - return mInventory.getAccessibleSlotsFromSide(ordinalSide); - return new int[0]; - } - - /** - * Can put aStack into Slot at Side - */ - @Override - public boolean canInsertItem(int aIndex, ItemStack aStack, int ordinalSide) { - final ForgeDirection side = ForgeDirection.getOrientation(ordinalSide); - return canAccessData() && (mRunningThroughTick || !mInputDisabled) - && getCoverInfoAtSide(side).letsItemsIn(aIndex) - && mInventory.canInsertItem(aIndex, aStack, ordinalSide); - } - - /** - * Can pull aStack out of Slot from Side - */ - @Override - public boolean canExtractItem(int aIndex, ItemStack aStack, int ordinalSide) { - final ForgeDirection side = ForgeDirection.getOrientation(ordinalSide); - return canAccessData() && (mRunningThroughTick || !mOutputDisabled) - && getCoverInfoAtSide(side).letsItemsOut(aIndex) - && mInventory.canExtractItem(aIndex, aStack, ordinalSide); - } - - @Override - public boolean isValidSlot(int aIndex) { - return this.canAccessData() ? this.mInventory.isValidSlot(aIndex) : false; - } - - private final GT_CoverBehavior[] mCoverBehaviors = new GT_CoverBehavior[] { GregTech_API.sNoBehavior, - GregTech_API.sNoBehavior, GregTech_API.sNoBehavior, GregTech_API.sNoBehavior, GregTech_API.sNoBehavior, - GregTech_API.sNoBehavior }; - protected TileEntityBase mMetaTileEntity; - protected long mStoredEnergy = 0; - protected int mAverageEUInputIndex = 0, mAverageEUOutputIndex = 0; - protected boolean mReleaseEnergy = false; - protected int[] mAverageEUInput = new int[11], mAverageEUOutput = new int[11]; - private boolean[] mActiveEUInputs = new boolean[] { false, false, false, false, false, false }, - mActiveEUOutputs = new boolean[] { false, false, false, false, false, false }; - private byte[] mSidedRedstone = new byte[] { 15, 15, 15, 15, 15, 15 }; - private int[] mCoverSides = new int[] { 0, 0, 0, 0, 0, 0 }, mCoverData = new int[] { 0, 0, 0, 0, 0, 0 }, - mTimeStatistics = new int[GregTech_API.TICKS_FOR_LAG_AVERAGING]; - private boolean mHasEnoughEnergy = true; - protected boolean mRunningThroughTick = false; - protected boolean mInputDisabled = false; - protected boolean mOutputDisabled = false; - private boolean mMuffler = false; - private boolean mLockUpgrade = false; - private boolean mActive = false; - private boolean mRedstone = false; - private boolean mWorkUpdate = false; - private boolean mSteamConverter = false; - private boolean mInventoryChanged = false; - private boolean mWorks = true; - private boolean mNeedsUpdate = true; - private boolean mNeedsBlockUpdate = true; - private boolean mSendClientData = false; - private boolean oRedstone = false; - private boolean mEnergyStateReady = false; - private byte mColor = 0, oColor = 0, mStrongRedstone = 0, oRedstoneData = 63, oTextureData = 0, oUpdateData = 0, - oTexturePage = 0, oLightValueClient = -1, oLightValue = -1, mLightValue = 0, mOtherUpgrades = 0, mFacing = 0, - oFacing = 0, mWorkData = 0; - private int mDisplayErrorCode = 0, oX = 0, oY = 0, oZ = 0, mTimeStatisticsIndex = 0, mLagWarningCount = 0; - private short mID = 0; - protected long mTickTimer = 0; - private long oOutput = 0; - private long mAcceptedAmperes = Long.MAX_VALUE; - - /** - * Cover Support - */ - public void issueClientUpdate() { - this.mSendClientData = true; - } - - protected final boolean canAccessData() { - return !isDead() && !this.isInvalid(); - } - - @Override - public void issueBlockUpdate() { - super.markDirty(); - } - - @Override - public void issueCoverUpdate(ForgeDirection side) { - this.issueClientUpdate(); - } - - @Override - public void receiveCoverData(ForgeDirection coverSide, int coverID, int coverData) { - if (coverSide != ForgeDirection.UNKNOWN && (mCoverSides[coverSide.ordinal()] == coverID)) - setCoverDataAtSide(coverSide, coverData); - } - - @Override - public long getTimer() { - return this.mTickTimer; - } - - @Override - public long getOutputAmperage() { - return this.canAccessData() && this.mMetaTileEntity.isElectric() ? this.mMetaTileEntity.maxAmperesOut() : 0L; - } - - @Override - public long getOutputVoltage() { - return this.canAccessData() && this.mMetaTileEntity.isElectric() && this.mMetaTileEntity.isEnetOutput() - ? this.mMetaTileEntity.maxEUOutput() - : 0L; - } - - @Override - public long getInputAmperage() { - return this.canAccessData() && this.mMetaTileEntity.isElectric() ? this.mMetaTileEntity.maxAmperesIn() : 0L; - } - - @Override - public long getInputVoltage() { - return this.canAccessData() && this.mMetaTileEntity.isElectric() ? this.mMetaTileEntity.maxEUInput() - : 2147483647L; - } - - @Override - public boolean decreaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooLessEnergy) { - return !this.canAccessData() ? false - : (this.mHasEnoughEnergy = this.decreaseStoredEU(aEnergy, aIgnoreTooLessEnergy)); - } - - @Override - public boolean increaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooMuchEnergy) { - if (!this.canAccessData()) { - return false; - } else if (this.getStoredEU() >= this.getEUCapacity() && !aIgnoreTooMuchEnergy) { - return false; - } else { - this.setStoredEU(this.mMetaTileEntity.getEUVar() + aEnergy); - return true; - } - } - - @Override - public boolean inputEnergyFrom(ForgeDirection side) { - return side == ForgeDirection.UNKNOWN ? true - : (!this.isServerSide() ? this.isEnergyInputSide(side) - : side != ForgeDirection.UNKNOWN && this.mActiveEUInputs[side.ordinal()] && !this.mReleaseEnergy); - } - - @Override - public boolean outputsEnergyTo(ForgeDirection side) { - return side == ForgeDirection.UNKNOWN ? true - : (!this.isServerSide() ? this.isEnergyOutputSide(side) - : side != ForgeDirection.UNKNOWN && this.mActiveEUOutputs[side.ordinal()] || this.mReleaseEnergy); - } - - private boolean isEnergyInputSide(ForgeDirection side) { - if (side != ForgeDirection.UNKNOWN) { - if (!this.getCoverInfoAtSide(side) - .letsEnergyIn()) { - return false; - } - - if (this.isInvalid() || this.mReleaseEnergy) { - return false; - } - - if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.mMetaTileEntity.isEnetInput()) { - return this.mMetaTileEntity.isInputFacing(side); - } - } - - return false; - } - - private boolean isEnergyOutputSide(ForgeDirection side) { - if (side != ForgeDirection.UNKNOWN) { - if (!this.getCoverInfoAtSide(side) - .letsEnergyOut()) { - return false; - } - - if (this.isInvalid() || this.mReleaseEnergy) { - return this.mReleaseEnergy; - } - - if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.mMetaTileEntity.isEnetOutput()) { - return this.mMetaTileEntity.isOutputFacing(side); - } - } - - return false; - } - - public boolean isOutputFacing(ForgeDirection side) { - return false; - } - - public boolean isInputFacing(ForgeDirection side) { - return false; - } - - private final TileEntity[] mBufferedTileEntities = new TileEntity[6]; - public boolean ignoreUnloadedChunks = true; - public boolean isDead = false; - - private 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; - } - } - - @Override - public final World getWorld() { - return this.worldObj; - } - - @Override - public final int getXCoord() { - return this.xCoord; - } - - @Override - public final short getYCoord() { - return (short) this.yCoord; - } - - @Override - public final int getZCoord() { - return this.zCoord; - } - - @Override - public final int getOffsetX(ForgeDirection side, int aMultiplier) { - return this.xCoord + side.offsetX * aMultiplier; - } - - @Override - public final short getOffsetY(ForgeDirection side, int aMultiplier) { - return (short) (this.yCoord + side.offsetY * aMultiplier); - } - - @Override - public final int getOffsetZ(ForgeDirection side, int aMultiplier) { - return this.zCoord + side.offsetZ * aMultiplier; - } - - @Override - public final int getRandomNumber(int aRange) { - return this.worldObj.rand.nextInt(aRange); - } - - @Override - public final BiomeGenBase getBiome(int aX, int aZ) { - return this.worldObj.getBiomeGenForCoords(aX, aZ); - } - - @Override - public final BiomeGenBase getBiome() { - return this.getBiome(this.xCoord, this.zCoord); - } - - @Override - public final Block getBlockOffset(int aX, int aY, int aZ) { - return this.getBlock(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ); - } - - @Override - public final Block getBlockAtSide(ForgeDirection side) { - return this.getBlockAtSideAndDistance(side, 1); - } - - @Override - public final Block getBlockAtSideAndDistance(ForgeDirection side, int aDistance) { - return this.getBlock( - this.getOffsetX(side, aDistance), - this.getOffsetY(side, aDistance), - this.getOffsetZ(side, aDistance)); - } - - @Override - public final byte getMetaIDOffset(int aX, int aY, int aZ) { - return this.getMetaID(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ); - } - - @Override - public final byte getMetaIDAtSide(ForgeDirection side) { - return this.getMetaIDAtSideAndDistance(side, 1); - } - - @Override - public final byte getMetaIDAtSideAndDistance(ForgeDirection side, int aDistance) { - return this.getMetaID( - this.getOffsetX(side, aDistance), - this.getOffsetY(side, aDistance), - this.getOffsetZ(side, aDistance)); - } - - @Override - public final byte getLightLevelOffset(int aX, int aY, int aZ) { - return this.getLightLevel(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ); - } - - @Override - public final byte getLightLevelAtSide(ForgeDirection side) { - return this.getLightLevelAtSideAndDistance(side, 1); - } - - @Override - public final byte getLightLevelAtSideAndDistance(ForgeDirection side, int aDistance) { - return this.getLightLevel( - this.getOffsetX(side, aDistance), - this.getOffsetY(side, aDistance), - this.getOffsetZ(side, aDistance)); - } - - @Override - public final boolean getOpacityOffset(int aX, int aY, int aZ) { - return this.getOpacity(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ); - } - - @Override - public final boolean getOpacityAtSide(ForgeDirection side) { - return this.getOpacityAtSideAndDistance(side, 1); - } - - @Override - public final boolean getOpacityAtSideAndDistance(ForgeDirection side, int aDistance) { - return this.getOpacity( - this.getOffsetX(side, aDistance), - this.getOffsetY(side, aDistance), - this.getOffsetZ(side, aDistance)); - } - - @Override - public final boolean getSkyOffset(int aX, int aY, int aZ) { - return this.getSky(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ); - } - - @Override - public final boolean getSkyAtSide(ForgeDirection side) { - return this.getSkyAtSideAndDistance(side, 1); - } - - @Override - public final boolean getSkyAtSideAndDistance(ForgeDirection side, int aDistance) { - return this.getSky( - this.getOffsetX(side, aDistance), - this.getOffsetY(side, aDistance), - this.getOffsetZ(side, aDistance)); - } - - @Override - public final boolean getAirOffset(int aX, int aY, int aZ) { - return this.getAir(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ); - } - - @Override - public final boolean getAirAtSide(ForgeDirection side) { - return this.getAirAtSideAndDistance(side, 1); - } - - @Override - public final boolean getAirAtSideAndDistance(ForgeDirection side, int aDistance) { - return this.getAir( - this.getOffsetX(side, aDistance), - this.getOffsetY(side, aDistance), - this.getOffsetZ(side, aDistance)); - } - - @Override - public final TileEntity getTileEntityOffset(int aX, int aY, int aZ) { - return this.getTileEntity(this.xCoord + aX, this.yCoord + aY, this.zCoord + aZ); - } - - @Override - public final TileEntity getTileEntityAtSideAndDistance(ForgeDirection side, int aDistance) { - return aDistance == 1 ? this.getTileEntityAtSide(side) - : this.getTileEntity( - this.getOffsetX(side, aDistance), - this.getOffsetY(side, aDistance), - this.getOffsetZ(side, aDistance)); - } - - @Override - public final IInventory getIInventory(int aX, int aY, int aZ) { - TileEntity tTileEntity = this.getTileEntity(aX, aY, aZ); - return tTileEntity instanceof IInventory ? (IInventory) tTileEntity : null; - } - - @Override - public final IInventory getIInventoryOffset(int aX, int aY, int aZ) { - TileEntity tTileEntity = this.getTileEntityOffset(aX, aY, aZ); - return tTileEntity instanceof IInventory ? (IInventory) tTileEntity : null; - } - - @Override - public final IInventory getIInventoryAtSide(ForgeDirection side) { - TileEntity tTileEntity = this.getTileEntityAtSide(side); - return tTileEntity instanceof IInventory ? (IInventory) tTileEntity : null; - } - - @Override - public final IInventory getIInventoryAtSideAndDistance(ForgeDirection side, int aDistance) { - TileEntity tTileEntity = this.getTileEntityAtSideAndDistance(side, aDistance); - return tTileEntity instanceof IInventory ? (IInventory) tTileEntity : null; - } - - @Override - public final IFluidHandler getITankContainer(int aX, int aY, int aZ) { - TileEntity tTileEntity = this.getTileEntity(aX, aY, aZ); - return tTileEntity instanceof IFluidHandler ? (IFluidHandler) tTileEntity : null; - } - - @Override - public final IFluidHandler getITankContainerOffset(int aX, int aY, int aZ) { - TileEntity tTileEntity = this.getTileEntityOffset(aX, aY, aZ); - return tTileEntity instanceof IFluidHandler ? (IFluidHandler) tTileEntity : null; - } - - @Override - public final IFluidHandler getITankContainerAtSide(ForgeDirection side) { - TileEntity tTileEntity = this.getTileEntityAtSide(side); - return tTileEntity instanceof IFluidHandler ? (IFluidHandler) tTileEntity : null; - } - - @Override - public final IFluidHandler getITankContainerAtSideAndDistance(ForgeDirection side, int aDistance) { - TileEntity tTileEntity = this.getTileEntityAtSideAndDistance(side, aDistance); - return tTileEntity instanceof IFluidHandler ? (IFluidHandler) tTileEntity : null; - } - - @Override - public final IGregTechTileEntity getIGregTechTileEntity(int aX, int aY, int aZ) { - TileEntity tTileEntity = this.getTileEntity(aX, aY, aZ); - return tTileEntity instanceof IGregTechTileEntity ? (IGregTechTileEntity) tTileEntity : null; - } - - @Override - public final IGregTechTileEntity getIGregTechTileEntityOffset(int aX, int aY, int aZ) { - TileEntity tTileEntity = this.getTileEntityOffset(aX, aY, aZ); - return tTileEntity instanceof IGregTechTileEntity ? (IGregTechTileEntity) tTileEntity : null; - } - - @Override - public final IGregTechTileEntity getIGregTechTileEntityAtSide(ForgeDirection side) { - TileEntity tTileEntity = this.getTileEntityAtSide(side); - return tTileEntity instanceof IGregTechTileEntity ? (IGregTechTileEntity) tTileEntity : null; - } - - @Override - public final IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(ForgeDirection side, int aDistance) { - TileEntity tTileEntity = this.getTileEntityAtSideAndDistance(side, aDistance); - return tTileEntity instanceof IGregTechTileEntity ? (IGregTechTileEntity) tTileEntity : null; - } - - @Override - public final Block getBlock(int aX, int aY, int aZ) { - return this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ) - ? Blocks.air - : this.worldObj.getBlock(aX, aY, aZ); - } - - @Override - public final byte getMetaID(int aX, int aY, int aZ) { - return this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ) - ? 0 - : (byte) this.worldObj.getBlockMetadata(aX, aY, aZ); - } - - @Override - public final byte getLightLevel(int aX, int aY, int aZ) { - return this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ) - ? 0 - : (byte) ((int) (this.worldObj.getLightBrightness(aX, aY, aZ) * 15.0F)); - } - - @Override - public final boolean getSky(int aX, int aY, int aZ) { - return this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ) - ? true - : this.worldObj.canBlockSeeTheSky(aX, aY, aZ); - } - - @Override - public final boolean getOpacity(int aX, int aY, int aZ) { - return this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ) - ? false - : GT_Utility.isOpaqueBlock(this.worldObj, aX, aY, aZ); - } - - @Override - public final boolean getAir(int aX, int aY, int aZ) { - return this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ) - ? true - : GT_Utility.isBlockAir(this.worldObj, aX, aY, aZ); - } - - @Override - public final TileEntity getTileEntity(int aX, int aY, int aZ) { - return this.ignoreUnloadedChunks && this.crossedChunkBorder(aX, aZ) && !this.worldObj.blockExists(aX, aY, aZ) - ? null - : this.worldObj.getTileEntity(aX, aY, aZ); - } - - @Override - public final TileEntity getTileEntityAtSide(ForgeDirection side) { - final int ordinalSide = side.ordinal(); - if (side != ForgeDirection.UNKNOWN && this.mBufferedTileEntities[ordinalSide] != this) { - int tX = this.getOffsetX(side, 1); - short tY = this.getOffsetY(side, 1); - int tZ = this.getOffsetZ(side, 1); - if (this.crossedChunkBorder(tX, tZ)) { - this.mBufferedTileEntities[ordinalSide] = null; - if (this.ignoreUnloadedChunks && !this.worldObj.blockExists(tX, tY, tZ)) { - return null; - } - } - - if (this.mBufferedTileEntities[ordinalSide] == null) { - this.mBufferedTileEntities[ordinalSide] = this.worldObj.getTileEntity(tX, tY, tZ); - if (this.mBufferedTileEntities[ordinalSide] == null) { - this.mBufferedTileEntities[ordinalSide] = this; - return null; - } else { - return this.mBufferedTileEntities[ordinalSide]; - } - } else if (this.mBufferedTileEntities[ordinalSide].isInvalid()) { - this.mBufferedTileEntities[ordinalSide] = null; - return this.getTileEntityAtSide(side); - } else { - return this.mBufferedTileEntities[ordinalSide].xCoord == tX - && this.mBufferedTileEntities[ordinalSide].yCoord == tY - && this.mBufferedTileEntities[ordinalSide].zCoord == tZ ? this.mBufferedTileEntities[ordinalSide] - : null; - } - } else { - return null; - } - } - - @Override - public boolean isDead() { - return this.isDead || this.isInvalidTileEntity(); - } - - @Override - public void validate() { - this.clearNullMarkersFromTileEntityBuffer(); - super.validate(); - } - - @Override - public void invalidate() { - this.clearNullMarkersFromTileEntityBuffer(); - super.invalidate(); - } - - @Override - public void onChunkUnload() { - this.clearNullMarkersFromTileEntityBuffer(); - super.onChunkUnload(); - this.isDead = true; - } - - public final void onAdjacentBlockChange(int aX, int aY, int aZ) { - this.clearNullMarkersFromTileEntityBuffer(); - } - - @Override - public final void sendBlockEvent(byte aID, byte aValue) { - GT_Values.NW.sendPacketToAllPlayersInRange( - this.worldObj, - new GT_Packet_Block_Event(this.xCoord, (short) this.yCoord, this.zCoord, aID, aValue), - this.xCoord, - this.zCoord); - } - - private boolean crossedChunkBorder(int aX, int aZ) { - return aX >> 4 != this.xCoord >> 4 || aZ >> 4 != this.zCoord >> 4; - } - - public final void setOnFire() { - GT_Utility.setCoordsOnFire(this.worldObj, this.xCoord, this.yCoord, this.zCoord, false); - } - - public final void setToFire() { - this.worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, Blocks.fire); - } - - @Override - public byte getInternalInputRedstoneSignal(ForgeDirection side) { - return (byte) (getCoverBehaviorAtSide(side).getRedstoneInput( - side, - getInputRedstoneSignal(side), - getCoverIDAtSide(side), - getCoverDataAtSide(side), - this) & 15); - } - - @Override - public byte getInputRedstoneSignal(ForgeDirection side) { - return (byte) (worldObj - .getIndirectPowerLevelTo(getOffsetX(side, 1), getOffsetY(side, 1), getOffsetZ(side, 1), side.ordinal()) - & 15); - } - - @Override - public byte getOutputRedstoneSignal(ForgeDirection side) { - return getCoverBehaviorAtSide(side) - .manipulatesSidedRedstoneOutput(side, getCoverIDAtSide(side), getCoverDataAtSide(side), this) - ? mSidedRedstone[side.ordinal()] - : getGeneralRS(side); - } - - public boolean allowGeneralRedstoneOutput() { - return false; - } - - @Override - public byte getGeneralRS(ForgeDirection side) { - return allowGeneralRedstoneOutput() ? mSidedRedstone[side.ordinal()] : 0; - } - - @Override - public void setInternalOutputRedstoneSignal(ForgeDirection side, byte aStrength) { - if (!getCoverBehaviorAtSide(side) - .manipulatesSidedRedstoneOutput(side, getCoverIDAtSide(side), getCoverDataAtSide(side), this)) - setOutputRedstoneSignal(side, aStrength); - } - - @Override - public void setOutputRedstoneSignal(ForgeDirection side, byte aStrength) { - aStrength = (byte) Math.min(Math.max(0, aStrength), 15); - if (side != ForgeDirection.UNKNOWN && mSidedRedstone[side.ordinal()] != aStrength) { - mSidedRedstone[side.ordinal()] = aStrength; - issueBlockUpdate(); - } - } - - @Override - public boolean hasInventoryBeenModified() { - return mInventoryChanged; - } - - @Override - public void setGenericRedstoneOutput(boolean aOnOff) { - mRedstone = aOnOff; - } - - @Override - public GT_CoverBehavior getCoverBehaviorAtSide(ForgeDirection side) { - return side != ForgeDirection.UNKNOWN ? mCoverBehaviors[side.ordinal()] : GregTech_API.sNoBehavior; - } - - @Override - public void setCoverIDAtSide(ForgeDirection side, int aID) { - if (setCoverIDAtSideNoUpdate(side, aID)) { - issueCoverUpdate(side); - issueBlockUpdate(); - } - } - - @Override - public boolean setCoverIDAtSideNoUpdate(ForgeDirection side, int aID) { - if (side != ForgeDirection.UNKNOWN) { - final int ordinalSide = side.ordinal(); - mCoverSides[ordinalSide] = aID; - mCoverData[ordinalSide] = 0; - mCoverBehaviors[ordinalSide] = (GT_CoverBehavior) GregTech_API.getCoverBehaviorNew(aID); - return true; - } - return false; - } - - @Override - public void setCoverIdAndDataAtSide(ForgeDirection side, int aId, ISerializableObject aData) { - setCoverIDAtSide(side, aId); - setCoverDataAtSide(side, aData); - } - - @Override - public void setCoverItemAtSide(ForgeDirection side, ItemStack aCover) { - GregTech_API.getCoverBehaviorNew(aCover) - .placeCover(side, aCover, this); - } - - @Override - public int getCoverIDAtSide(ForgeDirection side) { - if (side != ForgeDirection.UNKNOWN) return mCoverSides[side.ordinal()]; - return 0; - } - - @Override - public ItemStack getCoverItemAtSide(ForgeDirection side) { - return GT_Utility.intToStack(getCoverIDAtSide(side)); - } - - @Override - public boolean canPlaceCoverIDAtSide(ForgeDirection side, int aID) { - return getCoverIDAtSide(side) == 0; - } - - @Override - public boolean canPlaceCoverItemAtSide(ForgeDirection side, ItemStack aCover) { - return getCoverIDAtSide(side) == 0; - } - - @Override - public void setCoverDataAtSide(ForgeDirection side, int aData) { - if (side != ForgeDirection.UNKNOWN) mCoverData[side.ordinal()] = aData; - } - - @Override - public int getCoverDataAtSide(ForgeDirection side) { - if (side != ForgeDirection.UNKNOWN) return mCoverData[side.ordinal()]; - return 0; - } - - public byte getLightValue() { - return mLightValue; - } - - @Override - public void setLightValue(byte aLightValue) { - mLightValue = (byte) (aLightValue & 15); - } - - @Override - public long getAverageElectricInput() { - int rEU = 0; - for (int i = 0; i < mAverageEUInput.length; i++) { - if (i != mAverageEUInputIndex) rEU += mAverageEUInput[i]; - } - return rEU / (mAverageEUInput.length - 1); - } - - @Override - public long getAverageElectricOutput() { - int rEU = 0; - for (int i = 0; i < mAverageEUOutput.length; i++) { - if (i != mAverageEUOutputIndex) rEU += mAverageEUOutput[i]; - } - return rEU / (mAverageEUOutput.length - 1); - } - - public boolean hasSidedRedstoneOutputBehavior() { - return false; - } - - @Override - public boolean dropCover(ForgeDirection side, ForgeDirection droppedSide, boolean aForced) { - if (getCoverBehaviorAtSide(side) - .onCoverRemoval(side, getCoverIDAtSide(side), mCoverData[side.ordinal()], this, aForced) || aForced) { - ItemStack tStack = getCoverBehaviorAtSide(side) - .getDrop(side, getCoverIDAtSide(side), getCoverDataAtSide(side), this); - if (tStack != null) { - tStack.setTagCompound(null); - EntityItem tEntity = new EntityItem( - worldObj, - getOffsetX(droppedSide, 1) + 0.5, - getOffsetY(droppedSide, 1) + 0.5, - getOffsetZ(droppedSide, 1) + 0.5, - tStack); - tEntity.motionX = 0; - tEntity.motionY = 0; - tEntity.motionZ = 0; - worldObj.spawnEntityInWorld(tEntity); - } - setCoverIDAtSide(side, 0); - if (mMetaTileEntity.hasSidedRedstoneOutputBehavior()) { - setOutputRedstoneSignal(side, (byte) 0); - } else { - setOutputRedstoneSignal(side, (byte) 15); - } - return true; - } - return false; - } - - public String getOwnerName() { - if (GT_Utility.isStringInvalid(mOwnerName)) return "Player"; - return mOwnerName; - } - - public String setOwnerName(String aName) { - if (GT_Utility.isStringInvalid(aName)) return mOwnerName = "Player"; - return mOwnerName = aName; - } - - @Override - public byte getComparatorValue(ForgeDirection side) { - return canAccessData() ? mMetaTileEntity.getComparatorValue(side) : 0; - } - - @Override - public byte getStrongOutputRedstoneSignal(ForgeDirection side) { - final int ordinalSide = side.ordinal(); - return side != ForgeDirection.UNKNOWN && (mStrongRedstone & (1 << ordinalSide)) != 0 - ? (byte) (mSidedRedstone[ordinalSide] & 15) - : 0; - } - - @Override - public void setStrongOutputRedstoneSignal(ForgeDirection side, byte aStrength) { - mStrongRedstone |= (1 << side.ordinal()); - setOutputRedstoneSignal(side, aStrength); - } - - @Override - public long injectEnergyUnits(ForgeDirection side, long aVoltage, long aAmperage) { - if (!canAccessData() || !mMetaTileEntity.isElectric() - || !inputEnergyFrom(side) - || aAmperage <= 0 - || aVoltage <= 0 - || getStoredEU() >= getEUCapacity() - || mMetaTileEntity.maxAmperesIn() <= mAcceptedAmperes) return 0; - if (aVoltage > getInputVoltage()) { - doExplosion(aVoltage); - return 0; - } - if (increaseStoredEnergyUnits( - aVoltage * (aAmperage = Math.min( - aAmperage, - Math.min( - mMetaTileEntity.maxAmperesIn() - mAcceptedAmperes, - 1 + ((getEUCapacity() - getStoredEU()) / aVoltage)))), - true)) { - mAverageEUInput[mAverageEUInputIndex] += aVoltage * aAmperage; - mAcceptedAmperes += aAmperage; - return aAmperage; - } - return 0; - } - - @Override - public boolean drainEnergyUnits(ForgeDirection side, long aVoltage, long aAmperage) { - if (!canAccessData() || !mMetaTileEntity.isElectric() - || !outputsEnergyTo(side) - || getStoredEU() - (aVoltage * aAmperage) < mMetaTileEntity.getMinimumStoredEU()) return false; - if (decreaseStoredEU(aVoltage * aAmperage, false)) { - mAverageEUOutput[mAverageEUOutputIndex] += aVoltage * aAmperage; - return true; - } - return false; - } - - public double getOutputEnergyUnitsPerTick() { - return oOutput; - } - - public boolean isTeleporterCompatible(ForgeDirection side) { - return false; - } - - public double demandedEnergyUnits() { - if (mReleaseEnergy || !canAccessData() || !mMetaTileEntity.isEnetInput()) return 0; - return getEUCapacity() - getStoredEU(); - } - - public double injectEnergyUnits(ForgeDirection aDirection, double aAmount) { - return injectEnergyUnits(aDirection, (int) aAmount, 1) > 0 ? 0 : aAmount; - } - - public boolean acceptsEnergyFrom(TileEntity aEmitter, ForgeDirection aDirection) { - return inputEnergyFrom(aDirection); - } - - public boolean emitsEnergyTo(TileEntity aReceiver, ForgeDirection aDirection) { - return outputsEnergyTo(aDirection); - } - - public double getOfferedEnergy() { - return (canAccessData() && getStoredEU() - mMetaTileEntity.getMinimumStoredEU() >= oOutput) - ? Math.max(0, oOutput) - : 0; - } - - public void drawEnergy(double amount) { - mAverageEUOutput[mAverageEUOutputIndex] += amount; - decreaseStoredEU((int) amount, true); - } - - public int injectEnergy(ForgeDirection aForgeDirection, int aAmount) { - return injectEnergyUnits(aForgeDirection, aAmount, 1) > 0 ? 0 : aAmount; - } - - public int addEnergy(int aEnergy) { - if (!canAccessData()) return 0; - if (aEnergy > 0) increaseStoredEnergyUnits(aEnergy, true); - else decreaseStoredEU(-aEnergy, true); - return (int) Math.min(Integer.MAX_VALUE, mMetaTileEntity.getEUVar()); - } - - public boolean isAddedToEnergyNet() { - return false; - } - - public int demandsEnergy() { - if (mReleaseEnergy || !canAccessData() || !mMetaTileEntity.isEnetInput()) return 0; - return getCapacity() - getStored(); - } - - public int getCapacity() { - return (int) Math.min(Integer.MAX_VALUE, getEUCapacity()); - } - - public int getStored() { - return (int) Math.min(Integer.MAX_VALUE, Math.min(getStoredEU(), getCapacity())); - } - - public void setStored(int aEU) { - if (canAccessData()) setStoredEU(aEU); - } - - public int getMaxSafeInput() { - return (int) Math.min(Integer.MAX_VALUE, getInputVoltage()); - } - - public int getMaxEnergyOutput() { - if (mReleaseEnergy) return Integer.MAX_VALUE; - return getOutput(); - } - - public int getOutput() { - return (int) Math.min(Integer.MAX_VALUE, oOutput); - } - - public int injectEnergy(Direction aDirection, int aAmount) { - return injectEnergyUnits(aDirection.toForgeDirection(), aAmount, 1) > 0 ? 0 : aAmount; - } - - public boolean acceptsEnergyFrom(TileEntity aReceiver, Direction aDirection) { - return inputEnergyFrom(aDirection.toForgeDirection()); - } - - public boolean emitsEnergyTo(TileEntity aReceiver, Direction aDirection) { - return outputsEnergyTo(aDirection.toForgeDirection()); - } - - @Override - public boolean isInvalidTileEntity() { - return isInvalid(); - } - - @Override - public boolean addStackToSlot(int aIndex, ItemStack aStack) { - if (GT_Utility.isStackInvalid(aStack)) return true; - if (aIndex < 0 || aIndex >= getSizeInventory()) return false; - ItemStack tStack = getStackInSlot(aIndex); - if (GT_Utility.isStackInvalid(tStack)) { - setInventorySlotContents(aIndex, aStack); - return true; - } - aStack = GT_OreDictUnificator.get(aStack); - if (GT_Utility.areStacksEqual(tStack, aStack) - && tStack.stackSize + aStack.stackSize <= Math.min(aStack.getMaxStackSize(), getInventoryStackLimit())) { - tStack.stackSize += aStack.stackSize; - return true; - } - return false; - } - - @Override - public boolean addStackToSlot(int aIndex, ItemStack aStack, int aAmount) { - return addStackToSlot(aIndex, GT_Utility.copyAmount(aAmount, aStack)); - } - - @Override - public void markDirty() { - super.markDirty(); - mInventoryChanged = true; - } - - /** - * To Do - */ - public boolean isElectric() { - return true; - } - - public boolean isEnetOutput() { - return false; - } - - public boolean isEnetInput() { - return false; - } - - public long maxEUStore() { - return 0L; - } - - public long maxEUInput() { - return 0L; - } - - public long maxEUOutput() { - return 0L; - } - - public long maxAmperesOut() { - return 1L; - } - - public long maxAmperesIn() { - return 1L; - } - - public void doEnergyExplosion() { - if (this.getUniversalEnergyCapacity() > 0L - && this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() / 5L) { - this.doExplosion( - this.oOutput * (long) (this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() ? 4 - : (this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() / 2L ? 2 : 1))); - GT_Mod arg9999 = GT_Mod.instance; - GT_Mod.achievements.issueAchievement( - this.getWorldObj() - .getPlayerEntityByName(this.mOwnerName), - "electricproblems"); - } - } - - public void doExplosion(long aAmount) { - if (this.canAccessData()) { - if (GregTech_API.sMachineWireFire && this.mMetaTileEntity.isElectric()) { - try { - this.mReleaseEnergy = true; - Util.emitEnergyToNetwork(GT_Values.V[5], Math.max(1L, this.getStoredEU() / GT_Values.V[5]), this); - } catch (Exception arg4) {} - } - this.mReleaseEnergy = false; - this.onExplosion(); - PollutionUtils.addPollution(this, 100000); - this.mMetaTileEntity.doExplosion(aAmount); - } - } - - public void onExplosion() {} - - @Override - public String[] getDescription() { - return this.canAccessData() ? this.mMetaTileEntity.getDescription() : new String[0]; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public String[] getInfoData() { - return null; - } - - public long getEUVar() { - return this.mStoredEnergy; - } - - public void setEUVar(long aEnergy) { - this.mStoredEnergy = aEnergy; - } - - @Override - public long getStoredEU() { - return this.canAccessData() ? Math.min(this.mMetaTileEntity.getEUVar(), this.getEUCapacity()) : 0L; - } - - @Override - public long getEUCapacity() { - return this.canAccessData() ? this.mMetaTileEntity.maxEUStore() : 0L; - } - - public long getMinimumStoredEU() { - return 512L; - } - - public boolean setStoredEU(long aEnergy) { - if (!this.canAccessData()) { - return false; - } else { - if (aEnergy < 0L) { - aEnergy = 0L; - } - - this.mMetaTileEntity.setEUVar(aEnergy); - return true; - } - } - - public boolean decreaseStoredEU(long aEnergy, boolean aIgnoreTooLessEnergy) { - if (!this.canAccessData()) { - return false; - } else if (this.mMetaTileEntity.getEUVar() - aEnergy < 0L && !aIgnoreTooLessEnergy) { - return false; - } else { - this.setStoredEU(this.mMetaTileEntity.getEUVar() - aEnergy); - if (this.mMetaTileEntity.getEUVar() < 0L) { - this.setStoredEU(0L); - return false; - } else { - return true; - } - } - } - - // Required as of 5.09.32-pre5 - public boolean energyStateReady() { - return false; - } - - private boolean firstTicked = false; - - public boolean onFirstTick() { - if (!firstTicked) { - firstTicked = true; - if (this.mInventory != null) { - this.mInventory.purgeNulls(); - return true; - } - } - return false; - } - - /** - * Adds support for the newer function added by - * https://github.com/Blood-Asp/GT5-Unofficial/commit/73ee102b63efd92c0f164a7ed7a79ebcd2619617#diff-3051838621d8ae87aa5ccd1345e1f07d - */ - public boolean inputEnergyFrom(byte arg0, boolean arg1) { - // TODO Auto-generated method stub - return false; - } - - /** - * Adds support for the newer function added by - * https://github.com/Blood-Asp/GT5-Unofficial/commit/73ee102b63efd92c0f164a7ed7a79ebcd2619617#diff-3051838621d8ae87aa5ccd1345e1f07d - */ - public boolean outputsEnergyTo(byte arg0, boolean arg1) { - // TODO Auto-generated method stub - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityCircuitProgrammer.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityCircuitProgrammer.java deleted file mode 100644 index 0be6959b8f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityCircuitProgrammer.java +++ /dev/null @@ -1,313 +0,0 @@ -package gtPlusPlus.core.tileentities.general; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -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.data.AutoMap; -import gtPlusPlus.core.inventories.InventoryCircuitProgrammer; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.slots.SlotIntegratedCircuit; -import gtPlusPlus.core.util.minecraft.PlayerUtils; - -public class TileEntityCircuitProgrammer extends TileEntity implements ISidedInventory { - - private int tickCount = 0; - private final InventoryCircuitProgrammer inventoryContents; - private String customName; - public int locationX; - public int locationY; - public int locationZ; - private int aCurrentMode = 0; - - public TileEntityCircuitProgrammer() { - this.inventoryContents = new InventoryCircuitProgrammer(); - this.setTileLocation(); - } - - public boolean setTileLocation() { - if (this.hasWorldObj()) { - if (!this.getWorldObj().isRemote) { - this.locationX = this.xCoord; - this.locationY = this.yCoord; - this.locationZ = this.zCoord; - return true; - } - } - return false; - } - - // Rename to hasCircuitToConfigure - public final boolean hasCircuitToConfigure() { - for (ItemStack i : this.getInventory() - .getInventory()) { - if (i == null) { - continue; - } else { - return true; - } - } - return false; - } - - public InventoryCircuitProgrammer getInventory() { - return this.inventoryContents; - } - - public boolean addOutput() { - ItemStack[] aInputs = this.getInventory() - .getInventory() - .clone(); - // Check if there is output in slot. - Boolean hasOutput = false; - if (aInputs[25] != null) { - hasOutput = true; - } - AutoMap aValidSlots = new AutoMap<>(); - int aSlotCount = 0; - for (ItemStack i : aInputs) { - if (i != null) { - aValidSlots.put(aSlotCount); - } - aSlotCount++; - } - for (int e : aValidSlots) { - boolean doAdd = false; - ItemStack g = this.getStackInSlot(e); - int aSize = 0; - ItemStack aInputStack = null; - int aTypeInSlot = SlotIntegratedCircuit.isRegularProgrammableCircuit(g); - if (aTypeInSlot >= 0 && g != null) { - // No Existing Output - if (!hasOutput) { - aSize = g.stackSize; - doAdd = true; - } - // Existing Output - else { - ItemStack f = this.getStackInSlot(25); - int aTypeInCheckedSlot = SlotIntegratedCircuit.isRegularProgrammableCircuit(f); - // Check that the Circuit in the Output slot is not null and the same type as the circuit input. - if (aTypeInCheckedSlot >= 0 && (aTypeInSlot == aTypeInCheckedSlot) && f != null) { - if (g.getItem() == f.getItem() && f.getItemDamage() == e) { - aSize = f.stackSize + g.stackSize; - if (aSize > 64) { - aInputStack = g.copy(); - aInputStack.stackSize = (aSize - 64); - } - doAdd = true; - } - } - } - if (doAdd) { - // Check Circuit Type - ItemStack aOutput; - if (aTypeInSlot == 0) { - aOutput = CI.getNumberedCircuit(e); - } else if (aTypeInSlot == 1) { - aOutput = CI.getNumberedBioCircuit(e); - } else if (aTypeInSlot == 2) { - aOutput = CI.getNumberedAdvancedCircuit(e); - } else { - aOutput = null; - } - - if (aOutput != null) { - aOutput.stackSize = aSize; - this.setInventorySlotContents(e, aInputStack); - this.setInventorySlotContents(25, aOutput); - return true; - } - } - } - continue; - } - return false; - } - - @Override - public void updateEntity() { - try { - if (!this.worldObj.isRemote) { - if (tickCount % 10 == 0) { - if (hasCircuitToConfigure()) { - this.addOutput(); - this.markDirty(); - } - } - this.tickCount++; - } - } catch (final Throwable t) {} - } - - public boolean anyPlayerInRange() { - return this.worldObj.getClosestPlayer(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D, 32) != null; - } - - public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag) { - if (!nbt.hasKey(tag)) { - nbt.setTag(tag, new NBTTagCompound()); - } - return nbt.getCompoundTag(tag); - } - - @Override - public void writeToNBT(final NBTTagCompound nbt) { - super.writeToNBT(nbt); - // Utils.LOG_WARNING("Trying to write NBT data to TE."); - final NBTTagCompound chestData = new NBTTagCompound(); - this.inventoryContents.writeToNBT(chestData); - nbt.setTag("ContentsChest", chestData); - if (this.hasCustomInventoryName()) { - nbt.setString("CustomName", this.getCustomName()); - } - nbt.setInteger("aCurrentMode", aCurrentMode); - } - - @Override - public void readFromNBT(final NBTTagCompound nbt) { - super.readFromNBT(nbt); - // Utils.LOG_WARNING("Trying to read NBT data from TE."); - this.inventoryContents.readFromNBT(nbt.getCompoundTag("ContentsChest")); - if (nbt.hasKey("CustomName", 8)) { - this.setCustomName(nbt.getString("CustomName")); - } - aCurrentMode = nbt.getInteger("aCurrentMode"); - } - - @Override - public int getSizeInventory() { - return this.getInventory() - .getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.getInventory() - .getStackInSlot(slot); - } - - @Override - public ItemStack decrStackSize(final int slot, final int count) { - return this.getInventory() - .decrStackSize(slot, count); - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - return this.getInventory() - .getStackInSlotOnClosing(slot); - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.getInventory() - .setInventorySlotContents(slot, stack); - } - - @Override - public int getInventoryStackLimit() { - return this.getInventory() - .getInventoryStackLimit(); - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return this.getInventory() - .isUseableByPlayer(entityplayer); - } - - @Override - public void openInventory() { - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, 1); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .openInventory(); - } - - @Override - public void closeInventory() { - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, 1); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .closeInventory(); - } - - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - return this.getInventory() - .isItemValidForSlot(slot, itemstack); - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - final int[] accessibleSides = new int[this.getSizeInventory()]; - for (int r = 0; r < this.getInventory() - .getSizeInventory(); r++) { - accessibleSides[r] = r; - } - return accessibleSides; - } - - @Override - public boolean canInsertItem(final int p_102007_1_, final ItemStack p_102007_2_, final int p_102007_3_) { - return p_102007_1_ >= 0 && p_102007_1_ <= 24; - } - - @Override - public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) { - return p_102008_1_ == 25; - } - - public String getCustomName() { - return this.customName; - } - - public void setCustomName(final String customName) { - this.customName = customName; - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.circuitprogrammer"; - } - - @Override - public boolean hasCustomInventoryName() { - return (this.customName != null) && !this.customName.equals(""); - } - - @Override - public Packet getDescriptionPacket() { - final NBTTagCompound tag = new NBTTagCompound(); - this.writeToNBT(tag); - return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, this.blockMetadata, tag); - } - - @Override - public void onDataPacket(final NetworkManager net, final S35PacketUpdateTileEntity pkt) { - final NBTTagCompound tag = pkt.func_148857_g(); - this.readFromNBT(tag); - } - - public boolean onScrewdriverRightClick(byte side, EntityPlayer player, int x, int y, int z) { - try { - if (aCurrentMode == 24) { - aCurrentMode = 0; - } else { - aCurrentMode++; - } - PlayerUtils.messagePlayer(player, "Now configuring units for type " + aCurrentMode + "."); - return true; - } catch (Throwable t) { - return false; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityDecayablesChest.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityDecayablesChest.java deleted file mode 100644 index b641f2e99e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityDecayablesChest.java +++ /dev/null @@ -1,378 +0,0 @@ -package gtPlusPlus.core.tileentities.general; - -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 net.minecraft.world.World; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.inventories.Inventory_DecayablesChest; -import gtPlusPlus.core.item.materials.DustDecayable; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class TileEntityDecayablesChest extends TileEntity implements ISidedInventory { - - private final Inventory_DecayablesChest inventoryContents; - - /** Determines if the check for adjacent chests has taken place. */ - public boolean adjacentChestChecked; - /** Contains the chest tile located adjacent to this one (if any) */ - public TileEntityDecayablesChest adjacentChestZNeg; - /** Contains the chest tile located adjacent to this one (if any) */ - public TileEntityDecayablesChest adjacentChestXPos; - /** Contains the chest tile located adjacent to this one (if any) */ - public TileEntityDecayablesChest adjacentChestXNeg; - /** Contains the chest tile located adjacent to this one (if any) */ - public TileEntityDecayablesChest adjacentChestZPos; - /** The current angle of the lid (between 0 and 1) */ - public float lidAngle; - /** The angle of the lid last tick */ - public float prevLidAngle; - /** The number of players currently using this chest */ - public int numPlayersUsing; - - private String customName; - - private int cachedChestType; - private int tickCount = 0; - - public TileEntityDecayablesChest() { - this.inventoryContents = new Inventory_DecayablesChest(); - } - - public Inventory_DecayablesChest getInventory() { - return this.inventoryContents; - } - - @Override - public void updateEntity() { - - // Try do chesty stuff - try { - this.updateEntityChest(); - } catch (Throwable t) { - - } - - try { - if (!this.worldObj.isRemote) { - this.tickCount++; - if ((this.tickCount % 10) == 0) { - cachedChestType = 1; - } - - if ((this.tickCount % 20) == 0) { - for (ItemStack inv : this.getInventory() - .getInventory()) { - if (inv == null) { - continue; - } - if (inv.getItem() instanceof DustDecayable D) { - tryUpdateDecayable(D, inv, this.worldObj); - } - } - } - updateSlots(); - } - } catch (final Throwable t) {} - } - - public void tryUpdateDecayable(final DustDecayable b, ItemStack iStack, final World world) { - if (world == null || iStack == null) { - return; - } - if (world.isRemote) { - return; - } - - boolean a1, a2; - int u = 0; - a1 = b.isTicking(world, iStack); - a2 = false; - int SECONDS_TO_PROCESS = 1; - while (u < (20 * SECONDS_TO_PROCESS)) { - if (!a1) { - break; - } - a1 = b.isTicking(world, iStack); - a2 = b.tickItemTag(world, iStack); - u++; - } - Logger.MACHINE_INFO("| " + b.getUnlocalizedName() + " | " + a1 + "/" + a2); - - if (!a1 && !a2) { - ItemStack replacement = ItemUtils.getSimpleStack(b.getDecayResult()); - replacement.stackSize = 1; - // iStack = replacement.copy(); - for (int fff = 0; fff < this.inventoryContents.getSizeInventory(); fff++) { - if (this.inventoryContents.getStackInSlot(fff) == iStack) { - this.inventoryContents.setInventorySlotContents(fff, replacement.copy()); - } - } - - updateSlots(); - this.inventoryContents.markDirty(); - } - } - - public boolean anyPlayerInRange() { - return this.worldObj.getClosestPlayer(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D, 32) != null; - } - - public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag) { - if (!nbt.hasKey(tag)) { - nbt.setTag(tag, new NBTTagCompound()); - } - return nbt.getCompoundTag(tag); - } - - @Override - public void writeToNBT(final NBTTagCompound nbt) { - super.writeToNBT(nbt); - // Utils.LOG_WARNING("Trying to write NBT data to TE."); - final NBTTagCompound chestData = new NBTTagCompound(); - this.inventoryContents.writeToNBT(chestData); - nbt.setTag("ContentsChest", chestData); - if (this.hasCustomInventoryName()) { - nbt.setString("CustomName", this.getCustomName()); - } - } - - @Override - public void readFromNBT(final NBTTagCompound nbt) { - super.readFromNBT(nbt); - // Utils.LOG_WARNING("Trying to read NBT data from TE."); - this.inventoryContents.readFromNBT(nbt.getCompoundTag("ContentsChest")); - if (nbt.hasKey("CustomName", 8)) { - this.setCustomName(nbt.getString("CustomName")); - } - } - - @Override - public int getSizeInventory() { - return this.getInventory() - .getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.getInventory() - .getStackInSlot(slot); - } - - @Override - public ItemStack decrStackSize(final int slot, final int count) { - return this.getInventory() - .decrStackSize(slot, count); - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - return this.getInventory() - .getStackInSlotOnClosing(slot); - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.getInventory() - .setInventorySlotContents(slot, stack); - } - - @Override - public int getInventoryStackLimit() { - return this.getInventory() - .getInventoryStackLimit(); - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return this.getInventory() - .isUseableByPlayer(entityplayer); - } - - @Override - public void openInventory() { - if (this.numPlayersUsing < 0) { - this.numPlayersUsing = 0; - } - if (!this.worldObj.isRemote) { - this.numPlayersUsing++; - cachedChestType = 1; - } - this.worldObj - .addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, this.numPlayersUsing); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .openInventory(); - } - - @Override - public void closeInventory() { - if (!this.worldObj.isRemote) { - this.numPlayersUsing--; - cachedChestType = 1; - } - this.worldObj - .addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, this.numPlayersUsing); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .closeInventory(); - } - - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - return this.getInventory() - .isItemValidForSlot(slot, itemstack); - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - final int[] accessibleSides = new int[this.getSizeInventory()]; - for (int r = 0; r < this.getInventory() - .getSizeInventory(); r++) { - accessibleSides[r] = r; - } - return accessibleSides; - } - - @Override - public boolean canInsertItem(final int p_102007_1_, final ItemStack p_102007_2_, final int p_102007_3_) { - return this.getInventory() - .isItemValidForSlot(0, p_102007_2_); - } - - @Override - public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) { - return this.getInventory() - .isItemValidForSlot(0, p_102008_2_); - } - - public String getCustomName() { - return this.customName; - } - - public void setCustomName(final String customName) { - this.customName = customName; - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.DecayablesChest"; - } - - @Override - public boolean hasCustomInventoryName() { - return (this.customName != null) && !this.customName.equals(""); - } - - /** - * Causes the TileEntity to reset all it's cached values for it's container Block, metadata and in the case of - * chests, the adjacent chest check - */ - @Override - public void updateContainingBlockInfo() { - super.updateContainingBlockInfo(); - this.adjacentChestChecked = false; - } - - /** - * Performs the check for adjacent chests to determine if this chest is double or not. - */ - public void checkForAdjacentChests() { - if (!this.adjacentChestChecked) { - this.adjacentChestChecked = true; - this.adjacentChestZNeg = null; - this.adjacentChestXPos = null; - this.adjacentChestXNeg = null; - this.adjacentChestZPos = null; - } - } - - public void updateEntityChest() { - float f; - this.prevLidAngle = this.lidAngle; - f = 0.04F; - double d2; - if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F - && this.adjacentChestZNeg == null - && this.adjacentChestXNeg == null) { - double d1 = (double) this.xCoord + 0.5D; - d2 = (double) this.zCoord + 0.5D; - this.worldObj.playSoundEffect( - d1, - (double) this.yCoord + 0.5D, - d2, - "random.chestopen", - 0.5F, - this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { - float f1 = this.lidAngle; - if (this.numPlayersUsing > 0) { - // this.lidAngle += f; - this.lidAngle += (float) (f * (1 + 0.10 * 0.01)); - } else { - // this.lidAngle -= f; - this.lidAngle -= (float) (f * (1 + 0.10 * 0.01)); - } - if (this.lidAngle > 1.0F) { - this.lidAngle = 1.0F; - } - float f2 = 0.5F; - if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { - d2 = (double) this.xCoord + 0.5D; - double d0 = (double) this.zCoord + 0.5D; - this.worldObj.playSoundEffect( - d2, - (double) this.yCoord + 0.5D, - d0, - "random.chestclosed", - 0.5F, - this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.lidAngle < 0.0F) { - this.lidAngle = 0.0F; - } - } - } - - /** - * Called when a client event is received with the event number and argument, see World.sendClientEvent - */ - @Override - public boolean receiveClientEvent(int p_145842_1_, int p_145842_2_) { - if (p_145842_1_ == 1) { - this.numPlayersUsing = p_145842_2_; - return true; - } else { - return super.receiveClientEvent(p_145842_1_, p_145842_2_); - } - } - - /** - * invalidates a tile entity - */ - @Override - public final void invalidate() { - super.invalidate(); - cachedChestType = 1; - this.updateContainingBlockInfo(); - this.checkForAdjacentChests(); - } - - private int updateSlots() { - // Have slots changed? - if (cachedChestType == 0) { - return 0; - } - ItemUtils.organiseInventory(getInventory()); - cachedChestType = 0; - return cachedChestType; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java deleted file mode 100644 index 1a09b6b423..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java +++ /dev/null @@ -1,294 +0,0 @@ -package gtPlusPlus.core.tileentities.general; - -import static gregtech.api.enums.Mods.PamsHarvestCraft; - -import java.util.Random; - -import javax.annotation.Nullable; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.FishingHooks; - -import gregtech.api.enums.Materials; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.inventories.InventoryFishTrap; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class TileEntityFishTrap extends TileEntity implements ISidedInventory { - - private int tickCount = 0; - private final InventoryFishTrap inventoryContents; - private String customName; - // The number of water blocks is used as an index to get the tick rate. - private final static short[] waterBlocksToTickRate = new short[] { 0, 0, 5600, 4400, 3200, 2000, 1750 }; - private int surroundingWaterBlocks = 0; - - public TileEntityFishTrap() { - this.inventoryContents = new InventoryFishTrap(); - } - - private int getNumberOfSurroundingWater() { - if (!this.hasWorldObj() || this.getWorldObj().isRemote) { - return 0; - } - final Block[] surroundingBlocks = new Block[6]; - surroundingBlocks[0] = this.worldObj.getBlock(this.xCoord, this.yCoord + 1, this.zCoord); // Above - surroundingBlocks[1] = this.worldObj.getBlock(this.xCoord, this.yCoord - 1, this.zCoord); // Below - surroundingBlocks[2] = this.worldObj.getBlock(this.xCoord + 1, this.yCoord, this.zCoord); - surroundingBlocks[3] = this.worldObj.getBlock(this.xCoord - 1, this.yCoord, this.zCoord); - surroundingBlocks[4] = this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord + 1); - surroundingBlocks[5] = this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord - 1); - int waterCount = 0; - int trapCount = 0; - for (final Block checkBlock : surroundingBlocks) { - if (checkBlock == ModBlocks.blockFishTrap) { - trapCount++; - } else if ((checkBlock == Blocks.water) || (checkBlock == Blocks.flowing_water)) { - waterCount++; - } - } - // Explicitly check for at least 2 water blocks. - if (waterCount < 2) { - return 0; - } - // Only allow the first four traps to count towards valid neighbor blocks. - return waterCount + Math.min(trapCount, 4); - } - - public InventoryFishTrap getInventory() { - return this.inventoryContents; - } - - private void tryAddLoot() { - ItemUtils.organiseInventory(getInventory()); - final ItemStack loot = this.generateLootForFishTrap(); - if (loot == null) { - return; - } - for (final ItemStack contents : this.getInventory() - .getInventory()) { - if (GT_Utility.areStacksEqual(loot, contents)) { - if (contents.stackSize < contents.getMaxStackSize()) { - contents.stackSize++; - this.markDirty(); - return; - } - } - } - int checkingSlot = 0; - for (final ItemStack contents : this.getInventory() - .getInventory()) { - if (contents == null) { - this.getInventory() - .setInventorySlotContents(checkingSlot, loot); - this.markDirty(); - return; - } - checkingSlot++; - } - } - - @Nullable - private ItemStack generateLootForFishTrap() { - final int lootWeight = MathUtils.randInt(0, 100); - ItemStack loot = null; - if (lootWeight <= 5) { - loot = ItemUtils.getSimpleStack(Items.slime_ball); - } else if (lootWeight <= 10) { - loot = ItemUtils.getSimpleStack(Items.bone); - } else if (lootWeight <= 15) { - loot = ItemUtils.getSimpleStack(Blocks.sand); - } else if (lootWeight <= 20) { - loot = ItemUtils.simpleMetaStack(Items.dye, 0, 1); - } - // Junk Loot - else if (lootWeight <= 23) { - if (PamsHarvestCraft.isModLoaded()) { - loot = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cropSeaweed", 1); - } else { - loot = ItemUtils.getSimpleStack(Blocks.dirt); - } - } - // Pam Fish - else if (lootWeight <= 99) { - final Random xstr = new Random(); - loot = FishingHooks.getRandomFishable(xstr, 100); - } else if (lootWeight == 100) { - final int rareLoot = MathUtils.randInt(1, 10); - if (rareLoot <= 4) { - loot = Materials.Iron.getNuggets(1); - } else if (rareLoot <= 7) { - loot = ItemUtils.getSimpleStack(Items.gold_nugget); - } else if (rareLoot <= 9) { - loot = ItemUtils.getSimpleStack(Items.emerald); - } else { - loot = ItemUtils.getSimpleStack(Items.diamond); - } - } - if (loot != null) { - loot.stackSize = 1; - } - return loot; - } - - @Override - public void updateEntity() { - if (this.worldObj.isRemote) { - return; - } - - this.tickCount++; - // Only recalculate the amount of neighboring water/trap blocks every 20 ticks. - if ((this.tickCount % 20) == 0) { - this.surroundingWaterBlocks = getNumberOfSurroundingWater(); - } - - if ((waterBlocksToTickRate[this.surroundingWaterBlocks] != 0) - && this.tickCount > waterBlocksToTickRate[this.surroundingWaterBlocks]) { - int aExtraLootChance = MathUtils.randInt(1, 1000); - if (aExtraLootChance >= 999) { - this.tryAddLoot(); - this.tryAddLoot(); - this.tryAddLoot(); - } else { - this.tryAddLoot(); - } - this.markDirty(); - - this.tickCount = 0; - } - } - - @Override - public void writeToNBT(final NBTTagCompound nbt) { - super.writeToNBT(nbt); - final NBTTagCompound chestData = new NBTTagCompound(); - this.inventoryContents.writeToNBT(chestData); - nbt.setTag("ContentsChest", chestData); - if (this.hasCustomInventoryName()) { - nbt.setString("CustomName", this.getCustomName()); - } - } - - @Override - public void readFromNBT(final NBTTagCompound nbt) { - super.readFromNBT(nbt); - this.inventoryContents.readFromNBT(nbt.getCompoundTag("ContentsChest")); - if (nbt.hasKey("CustomName", 8)) { - this.setCustomName(nbt.getString("CustomName")); - } - } - - @Override - public int getSizeInventory() { - return this.getInventory() - .getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.getInventory() - .getStackInSlot(slot); - } - - @Override - public ItemStack decrStackSize(final int slot, final int count) { - return this.getInventory() - .decrStackSize(slot, count); - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - return this.getInventory() - .getStackInSlotOnClosing(slot); - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.getInventory() - .setInventorySlotContents(slot, stack); - } - - @Override - public int getInventoryStackLimit() { - return this.getInventory() - .getInventoryStackLimit(); - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return this.getInventory() - .isUseableByPlayer(entityplayer); - } - - @Override - public void openInventory() { - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, 1); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .openInventory(); - } - - @Override - public void closeInventory() { - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, 1); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .closeInventory(); - } - - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - return this.getInventory() - .isItemValidForSlot(slot, itemstack); - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - final int[] accessibleSides = new int[this.getSizeInventory()]; - for (int r = 0; r < this.getInventory() - .getSizeInventory(); r++) { - accessibleSides[r] = r; - } - return accessibleSides; - } - - @Override - public boolean canInsertItem(final int p_102007_1_, final ItemStack p_102007_2_, final int p_102007_3_) { - return false; - } - - @Override - public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) { - return true; - } - - public String getCustomName() { - return this.customName; - } - - public void setCustomName(final String customName) { - this.customName = customName; - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.fishtrap"; - } - - @Override - public boolean hasCustomInventoryName() { - return (this.customName != null) && !this.customName.isEmpty(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityInfiniteFluid.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityInfiniteFluid.java deleted file mode 100644 index fd528c589d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityInfiniteFluid.java +++ /dev/null @@ -1,148 +0,0 @@ -package gtPlusPlus.core.tileentities.general; - -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 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; - -public class TileEntityInfiniteFluid extends TileEntity implements IFluidHandler { - - public FluidTank tank = new FluidTank(Integer.MAX_VALUE); - private boolean needsUpdate = false; - private int updateTimer = 0; - - public TileEntityInfiniteFluid() {} - - @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { - needsUpdate = true; - return this.tank.fill(resource, doFill); - } - - @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { - needsUpdate = true; - return this.tank.drain(resource.amount, doDrain); - } - - @Override - public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { - needsUpdate = true; - FluidStack fluid = this.tank.getFluid(); - // return this.tank.drain(maxDrain, doDrain); - if (fluid == null) { - return null; - } - - int drained = maxDrain; - if (fluid.amount < drained) { - drained = fluid.amount; - } - - FluidStack stack = new FluidStack(fluid, drained); - if (doDrain) { - fluid.amount -= drained; - if (fluid.amount <= 0) { - fluid = null; - } - - if (this != null) { - FluidEvent.fireEvent( - new FluidEvent.FluidDrainingEvent( - fluid, - this.getWorldObj(), - this.xCoord, - this.yCoord, - this.zCoord, - this.tank, - 0)); - } - } - return stack; - } - - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - return true; - } - - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { - return true; - } - - @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) { - return new FluidTankInfo[] { this.tank.getInfo() }; - } - - public float getAdjustedVolume() { - needsUpdate = true; - float amount = tank.getFluidAmount(); - float capacity = tank.getCapacity(); - float volume = (amount / capacity) * 0.8F; - return volume; - } - - @Override - public void updateEntity() { - - if (this.tank.getFluid() != null) { - FluidStack bigStorage = this.tank.getFluid(); - bigStorage.amount = this.tank.getCapacity(); - this.tank.setFluid(bigStorage); - } - - if (needsUpdate) { - - if (this.tank.getFluid() != null) { - FluidStack bigStorage = this.tank.getFluid(); - bigStorage.amount = this.tank.getCapacity(); - this.tank.setFluid(bigStorage); - } - - if (updateTimer == 0) { - updateTimer = 10; // every 10 ticks it will send an update - } else { - --updateTimer; - if (updateTimer == 0) { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - needsUpdate = false; - } - } - } - } - - @Override - public void readFromNBT(NBTTagCompound tag) { - tank.readFromNBT(tag); - super.readFromNBT(tag); - } - - @Override - public void writeToNBT(NBTTagCompound tag) { - tank.writeToNBT(tag); - super.writeToNBT(tag); - } - - @Override - public Packet getDescriptionPacket() { - NBTTagCompound tag = new NBTTagCompound(); - writeToNBT(tag); - return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, this.blockMetadata, tag); - } - - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { - NBTTagCompound tag = pkt.func_148857_g(); - readFromNBT(tag); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java deleted file mode 100644 index a9bc2b0049..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java +++ /dev/null @@ -1,418 +0,0 @@ -package gtPlusPlus.core.tileentities.general; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -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 net.minecraftforge.fluids.FluidStack; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.container.Container_VolumetricFlaskSetter; -import gtPlusPlus.core.inventories.Inventory_VolumetricFlaskSetter; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper; - -public class TileEntityVolumetricFlaskSetter extends TileEntity implements ISidedInventory { - - private int tickCount = 0; - private final Inventory_VolumetricFlaskSetter inventoryContents; - private String customName; - public int locationX; - public int locationY; - public int locationZ; - private int aCurrentMode = 0; - private int aCustomValue = 1000; - - public TileEntityVolumetricFlaskSetter() { - this.inventoryContents = new Inventory_VolumetricFlaskSetter(); - this.setTileLocation(); - } - - public int getCustomValue() { - // Logger.INFO("Value: "+this.aCustomValue); - return this.aCustomValue; - } - - public void setCustomValue(int aVal) { - log("Old Value: " + this.aCustomValue); - this.aCustomValue = (short) MathUtils.balance(aVal, 0, Short.MAX_VALUE); - log("New Value: " + this.aCustomValue); - markDirty(); - } - - public boolean setTileLocation() { - if (this.hasWorldObj()) { - if (!this.getWorldObj().isRemote) { - this.locationX = this.xCoord; - this.locationY = this.yCoord; - this.locationZ = this.zCoord; - return true; - } - } - return false; - } - - // Rename to hasCircuitToConfigure - public final boolean hasFlask() { - for (int i = 0; i < this.getInventory() - .getInventory().length - 1; i++) { - if (i == Container_VolumetricFlaskSetter.SLOT_OUTPUT) { - continue; - } - if (this.getInventory() - .getInventory()[i] != null) { - return true; - } - } - return false; - } - - public Inventory_VolumetricFlaskSetter getInventory() { - return this.inventoryContents; - } - - private int getFlaskType(ItemStack aStack) { - if (VolumetricFlaskHelper.isNormalVolumetricFlask(aStack)) { - return 1; - } else if (VolumetricFlaskHelper.isLargeVolumetricFlask(aStack)) { - return 2; - } else if (VolumetricFlaskHelper.isGiganticVolumetricFlask(aStack)) { - return 3; - } - return 0; - } - - private int getCapacityForSlot(int aSlot) { - return switch (aSlot) { - case 0 -> // 16 - 16; - case 1 -> // 36 - 36; - case 2 -> // 144 - 144; - case 3 -> // 432 - 432; - case 4 -> // 576 - 576; - case 5 -> // 720 - 720; - case 6 -> // 864 - 864; - case 7 -> // Custom - getCustomValue(); - default -> 1000; - }; - } - - public boolean addOutput() { - - // Don't do anything unless we have items - if (!hasFlask()) { - Logger.INFO("No Flasks."); - return false; - } - - ItemStack[] aInputs = this.getInventory() - .getInventory() - .clone(); - - // Check if there is output in slot. - Boolean hasOutput = false; - if (aInputs[Container_VolumetricFlaskSetter.SLOT_OUTPUT] != null) { - hasOutput = true; - if (aInputs[Container_VolumetricFlaskSetter.SLOT_OUTPUT].stackSize >= 16) { - return false; - } - } - AutoMap aValidSlots = new AutoMap<>(); - int aSlotCount = 0; - for (ItemStack i : aInputs) { - if (i != null) { - aValidSlots.put(aSlotCount); - } - aSlotCount++; - } - for (int e : aValidSlots) { - - // Skip slot 7 (Custom) unless it has a value > 0 - if (e == 7 && getCustomValue() <= 0) { - log("Skipping Custom slot as value <= 0"); - continue; - } - if (e == Container_VolumetricFlaskSetter.SLOT_OUTPUT) { - continue; - } - - boolean doAdd = false; - ItemStack g = this.getStackInSlot(e); - FluidStack aInputFluidStack = VolumetricFlaskHelper.getFlaskFluid(g); - int aSize = 0; - ItemStack aInputStack = null; - int aTypeInSlot = getFlaskType(g); - if (aTypeInSlot > 0 && g != null) { - // No Existing Output - if (!hasOutput) { - aSize = g.stackSize; - doAdd = true; - } - // Existing Output - else { - ItemStack f = aInputs[Container_VolumetricFlaskSetter.SLOT_OUTPUT]; - FluidStack aFluidInCheckedSlot = VolumetricFlaskHelper.getFlaskFluid(f); - int aTypeInCheckedSlot = getFlaskType(f); - // Check that the Circuit in the Output slot is not null and the same type as the circuit input. - if (aTypeInCheckedSlot > 0 && (aTypeInSlot == aTypeInCheckedSlot) && f != null) { - if (g.getItem() == f.getItem() - && VolumetricFlaskHelper.getFlaskCapacity(f) == getCapacityForSlot(e) - && ((aInputFluidStack == null && aFluidInCheckedSlot == null) - || aInputFluidStack.isFluidEqual(aFluidInCheckedSlot))) { - log( - "Input Slot Flask Contains: " - + (aInputFluidStack != null ? aInputFluidStack.getLocalizedName() : "Empty")); - log( - "Output Slot Flask Contains: " - + (aFluidInCheckedSlot != null ? aFluidInCheckedSlot.getLocalizedName() : "Empty")); - aSize = f.stackSize + g.stackSize; - if (aSize > 16) { - aInputStack = g.copy(); - aInputStack.stackSize = (aSize - 16); - } - doAdd = true; - } - } - } - if (doAdd) { - // Check Circuit Type - ItemStack aOutput; - FluidStack aOutputFluid = null; - if (!VolumetricFlaskHelper.isFlaskEmpty(g)) { - aOutputFluid = aInputFluidStack.copy(); - } - if (aTypeInSlot == 1) { - aOutput = VolumetricFlaskHelper.getVolumetricFlask(1); - } else if (aTypeInSlot == 2) { - aOutput = VolumetricFlaskHelper.getLargeVolumetricFlask(1); - } else if (aTypeInSlot == 3) { - aOutput = VolumetricFlaskHelper.getGiganticVolumetricFlask(1); - } else { - aOutput = null; - } - if (aOutput != null) { - aOutput.stackSize = aSize; - int aCapacity = getCapacityForSlot(e); - VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, aCapacity); - if (aOutputFluid != null) { - if (aOutputFluid.amount > aCapacity) { - aOutputFluid.amount = aCapacity; - } - VolumetricFlaskHelper.setFluid(aOutput, aOutputFluid); - } - this.setInventorySlotContents(e, aInputStack); - this.setInventorySlotContents(Container_VolumetricFlaskSetter.SLOT_OUTPUT, aOutput); - return true; - } - } - } - continue; - } - return false; - } - - @Override - public void updateEntity() { - try { - if (!this.worldObj.isRemote) { - if (tickCount % 10 == 0) { - if (hasFlask()) { - this.addOutput(); - this.markDirty(); - } - } - this.tickCount++; - } - } catch (final Throwable t) {} - } - - public boolean anyPlayerInRange() { - return this.worldObj.getClosestPlayer(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D, 32) != null; - } - - public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag) { - if (!nbt.hasKey(tag)) { - nbt.setTag(tag, new NBTTagCompound()); - } - return nbt.getCompoundTag(tag); - } - - @Override - public void writeToNBT(final NBTTagCompound nbt) { - super.writeToNBT(nbt); - // Utils.LOG_WARNING("Trying to write NBT data to TE."); - final NBTTagCompound chestData = new NBTTagCompound(); - this.inventoryContents.writeToNBT(chestData); - nbt.setTag("ContentsChest", chestData); - nbt.setInteger("aCustomValue", aCustomValue); - if (this.hasCustomInventoryName()) { - nbt.setString("CustomName", this.getCustomName()); - } - nbt.setInteger("aCurrentMode", aCurrentMode); - } - - @Override - public void readFromNBT(final NBTTagCompound nbt) { - super.readFromNBT(nbt); - // Utils.LOG_WARNING("Trying to read NBT data from TE."); - this.inventoryContents.readFromNBT(nbt.getCompoundTag("ContentsChest")); - this.aCustomValue = nbt.getInteger("aCustomValue"); - if (nbt.hasKey("CustomName", 8)) { - this.setCustomName(nbt.getString("CustomName")); - } - aCurrentMode = nbt.getInteger("aCurrentMode"); - } - - @Override - public int getSizeInventory() { - return this.getInventory() - .getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.getInventory() - .getStackInSlot(slot); - } - - @Override - public ItemStack decrStackSize(final int slot, final int count) { - return this.getInventory() - .decrStackSize(slot, count); - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - return this.getInventory() - .getStackInSlotOnClosing(slot); - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.getInventory() - .setInventorySlotContents(slot, stack); - } - - @Override - public int getInventoryStackLimit() { - return this.getInventory() - .getInventoryStackLimit(); - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return this.getInventory() - .isUseableByPlayer(entityplayer); - } - - @Override - public void openInventory() { - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, 1); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .openInventory(); - } - - @Override - public void closeInventory() { - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, 1); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .closeInventory(); - } - - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - return this.getInventory() - .isItemValidForSlot(slot, itemstack); - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - final int[] accessibleSides = new int[this.getSizeInventory()]; - for (int r = 0; r < this.getInventory() - .getSizeInventory(); r++) { - accessibleSides[r] = r; - } - return accessibleSides; - } - - @Override - public boolean canInsertItem(final int aSlot, final ItemStack p_102007_2_, final int p_102007_3_) { - return aSlot == aCurrentMode; - } - - @Override - public boolean canExtractItem(final int aSlot, final ItemStack p_102008_2_, final int p_102008_3_) { - return aSlot == Container_VolumetricFlaskSetter.SLOT_OUTPUT; - } - - public String getCustomName() { - return this.customName; - } - - public void setCustomName(final String customName) { - this.customName = customName; - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.VolumetricFlaskSetter"; - } - - @Override - public boolean hasCustomInventoryName() { - return (this.customName != null) && !this.customName.equals(""); - } - - @Override - public Packet getDescriptionPacket() { - final NBTTagCompound tag = new NBTTagCompound(); - this.writeToNBT(tag); - return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, this.blockMetadata, tag); - } - - @Override - public void onDataPacket(final NetworkManager net, final S35PacketUpdateTileEntity pkt) { - final NBTTagCompound tag = pkt.func_148857_g(); - this.readFromNBT(tag); - } - - public boolean onScrewdriverRightClick(byte side, EntityPlayer player, int x, int y, int z) { - - if (player.isSneaking()) { - PlayerUtils.messagePlayer(player, "Value: " + this.getCustomValue()); - } - - try { - if (aCurrentMode == 7) { - aCurrentMode = 0; - } else { - aCurrentMode++; - } - PlayerUtils.messagePlayer(player, "Slot " + aCurrentMode + " is now default."); - return true; - } catch (Throwable t) { - return false; - } - } - - public void log(String aString) { - Logger.INFO("[Flask-Tile] " + aString); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityAdvPooCollector.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityAdvPooCollector.java deleted file mode 100644 index 5e0aaf8370..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityAdvPooCollector.java +++ /dev/null @@ -1,140 +0,0 @@ -package gtPlusPlus.core.tileentities.machines; - -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityChicken; -import net.minecraft.entity.passive.EntityCow; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityMooshroom; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraft.entity.passive.EntityVillager; -import net.minecraft.entity.passive.IAnimals; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; - -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class TileEntityAdvPooCollector extends TileEntityBaseFluidCollector { - - public TileEntityAdvPooCollector() { - super(18, 128000); - } - - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - return false; - } - - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { - return true; - } - - @Override - public void onPreLogicTick() {} - - @Override - public boolean addDrop(V aPooMaker) { - int aChance = MathUtils.randInt(0, 50000); - if (aChance > 0) { - ItemStack aPoop; - if (aChance <= 200) { - aPoop = ItemUtils.getItemStackOfAmountFromOreDict("dustManureByproducts", 1); - } else if (aChance <= 1000) { - aPoop = ItemUtils.getItemStackOfAmountFromOreDict("dustSmallManureByproducts", 1); - } else if (aChance <= 2000) { - aPoop = ItemUtils.getItemStackOfAmountFromOreDict("dustTinyManureByproducts", 1); - } else { - return false; - } - - // Add to inventory if not full, else espawn in world - if (!this.mInventory.addItemStack(aPoop)) { - EntityItem entity = new EntityItem(worldObj, xCoord, yCoord + 1.5, zCoord, aPoop); - worldObj.spawnEntityInWorld(entity); - } - } - - return false; - } - - private static AutoMap aEntityToDrain = new AutoMap<>(); - - @Override - public AutoMap aThingsToLookFor() { - if (aEntityToDrain.isEmpty()) { - aEntityToDrain.add(EntityAnimal.class); - aEntityToDrain.add(IAnimals.class); - aEntityToDrain.add(EntityVillager.class); - aEntityToDrain.add(EntityPlayer.class); - } - return aEntityToDrain; - } - - @Override - public int onPostTick(V aPooMaker) { - if (this.tank.getFluidAmount() < this.tank.getCapacity()) { - int aPooAmount = 0; - // Vanilla Animals - if (aPooMaker instanceof EntityChicken) { - aPooAmount = MathUtils.randInt(1, 40); - } else if (aPooMaker instanceof EntityHorse) { - aPooAmount = MathUtils.randInt(20, 40); - } else if (aPooMaker instanceof EntityCow) { - aPooAmount = MathUtils.randInt(18, 45); - } else if (aPooMaker instanceof EntityMooshroom) { - aPooAmount = 17; - } else if (aPooMaker instanceof EntitySheep) { - aPooAmount = MathUtils.randInt(8, 30); - } else { - if (aPooMaker instanceof EntityAnimal || aPooMaker instanceof IAnimals) { - aPooAmount = MathUtils.randInt(5, 35); - } else if (aPooMaker instanceof EntityVillager) { - aPooAmount = MathUtils.randInt(25, 30); - } else if (aPooMaker instanceof EntityPlayer) { - aPooAmount = MathUtils.randInt(1, 3); - } else { - aPooAmount = MathUtils.randInt(1, 10); - } - } - aPooAmount = Math.max(Math.min(this.tank.getCapacity() - this.tank.getFluidAmount(), aPooAmount), 1); - return Math.max( - 1, - (aPooAmount - * MathUtils - .getRandomFromArray(new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4 }) - / 10)); - } else { - return 0; - } - } - - @Override - public Fluid fluidToProvide() { - return AgriculturalChem.PoopJuice; - } - - @Override - public ItemStack itemToSpawnInWorldIfTankIsFull() { - int a = MathUtils.randInt(0, 75); - ItemStack aItem = null; - if (a <= 30) { - aItem = ItemUtils.getSimpleStack(AgriculturalChem.dustDirt); - } else if (a <= 40) { - aItem = ItemUtils.getItemStackOfAmountFromOreDict("dustManureByproducts", 1); - } else if (a <= 55) { - aItem = ItemUtils.getItemStackOfAmountFromOreDict("dustSmallManureByproducts", 1); - } - return aItem; - } - - @Override - public int getBaseTickRate() { - return MathUtils.randInt(50, 200); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityBaseFluidCollector.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityBaseFluidCollector.java deleted file mode 100644 index 6340415e82..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityBaseFluidCollector.java +++ /dev/null @@ -1,241 +0,0 @@ -package gtPlusPlus.core.tileentities.machines; - -import java.util.List; - -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemStack; -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.util.AxisAlignedBB; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; -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 gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.minecraft.BTF_FluidTank; -import gtPlusPlus.api.objects.minecraft.BlockPos; -import gtPlusPlus.core.tileentities.base.TileEntityBase; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public abstract class TileEntityBaseFluidCollector extends TileEntityBase implements IFluidHandler { - - public final FluidTank tank; - private boolean needsUpdate = false; - private int updateTimer = 0; - private long internalTickCounter = 0; - private BlockPos internalBlockLocation; - - public TileEntityBaseFluidCollector(int aInvSlotCount, int aTankCapcity) { - super(aInvSlotCount); - tank = new BTF_FluidTank(aTankCapcity); - } - - @Override - public final int fill(ForgeDirection from, FluidStack resource, boolean doFill) { - needsUpdate = true; - return this.tank.fill(resource, doFill); - } - - @Override - public final FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { - needsUpdate = true; - return this.tank.drain(resource.amount, doDrain); - } - - @Override - public final FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { - needsUpdate = true; - FluidStack fluid = this.tank.getFluid(); - // return this.tank.drain(maxDrain, doDrain); - if (fluid == null) { - return null; - } - - int drained = maxDrain; - if (fluid.amount < drained) { - drained = fluid.amount; - } - - FluidStack stack = new FluidStack(fluid, drained); - if (doDrain) { - fluid.amount -= drained; - if (fluid.amount <= 0) { - fluid = null; - } - - if (this != null) { - FluidEvent.fireEvent( - new FluidEvent.FluidDrainingEvent( - fluid, - this.getWorldObj(), - this.xCoord, - this.yCoord, - this.zCoord, - this.tank, - 0)); - } - } - return stack; - } - - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - return false; - } - - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { - return true; - } - - @Override - public final FluidTankInfo[] getTankInfo(ForgeDirection from) { - return new FluidTankInfo[] { this.tank.getInfo() }; - } - - @Override - public final void updateEntity() { - super.updateEntity(); - onPreLogicTick(); - logicTick(); - if (needsUpdate) { - if (updateTimer == 0) { - updateTimer = 10; // every 10 ticks it will send an update - } else { - --updateTimer; - if (updateTimer == 0) { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - needsUpdate = false; - } - } - } - } - - @Override - public void readFromNBT(NBTTagCompound tag) { - tank.readFromNBT(tag); - super.readFromNBT(tag); - } - - @Override - public void writeToNBT(NBTTagCompound tag) { - tank.writeToNBT(tag); - super.writeToNBT(tag); - } - - @Override - public final Packet getDescriptionPacket() { - NBTTagCompound tag = new NBTTagCompound(); - writeToNBT(tag); - return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, this.blockMetadata, tag); - } - - @Override - public final void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { - NBTTagCompound tag = pkt.func_148857_g(); - readFromNBT(tag); - } - - public int getBaseTickRate() { - return MathUtils.randInt(200, 300); - } - - public abstract AutoMap aThingsToLookFor(); - - public abstract void onPreLogicTick(); - - public final void logicTick() { - - if (this.worldObj == null || this.worldObj.isRemote) { - return; - } - if (internalTickCounter % getBaseTickRate() == 0) { - if (internalBlockLocation == null) { - internalBlockLocation = new BlockPos(this); - } - BlockPos p = internalBlockLocation; - if (p != null) { - if (p.world != null) { - World w = this.worldObj; - if (w == null) { - return; - } - Chunk c = w.getChunkFromBlockCoords(p.xPos, p.zPos); - if (c != null) { - if (c.isChunkLoaded) { - int startX = p.xPos - 2; - int startY = p.yPos; - int startZ = p.zPos - 2; - int endX = p.xPos + 3; - int endY = p.yPos + 5; - int endZ = p.zPos + 3; - AxisAlignedBB box = AxisAlignedBB.getBoundingBox(startX, startY, startZ, endX, endY, endZ); - if (box != null) { - for (Class c2 : aThingsToLookFor()) { - tickEntityType(w, box, c2); - } - } else { - return; - } - } - } - } - } - } - - internalTickCounter++; - } - - @SuppressWarnings("unchecked") - public final void tickEntityType(World w, AxisAlignedBB box, Class aClassToFind) { - List entities = w.getEntitiesWithinAABB(aClassToFind, box); - if (entities != null && !entities.isEmpty()) { - interactWithEntities(entities); - } - } - - public final void interactWithEntities(List entities) { - for (V aEntity : entities) { - addDrop(aEntity); - if (this.tank.getFluidAmount() < this.tank.getCapacity()) { - int aFluidAmount = onPostTick(aEntity); - aFluidAmount = Math - .max(Math.min(this.tank.getCapacity() - this.tank.getFluidAmount(), aFluidAmount), 1); - this.tank.fill(FluidUtils.getFluidStack(fluidToProvide(), aFluidAmount), true); - } else { - ItemStack aDirtStack = ItemUtils.getSimpleStack(itemToSpawnInWorldIfTankIsFull(), 1); - if (!ItemUtils.checkForInvalidItems(aDirtStack)) { - return; - } - if (!this.mInventory.addItemStack(aDirtStack)) { - EntityItem entity = new EntityItem(worldObj, xCoord, yCoord + 1.5, zCoord, aDirtStack); - worldObj.spawnEntityInWorld(entity); - } - } - } - } - - /** - * Return the amount of fluid for this entity type - * - * @param aEntity - * @return - */ - public abstract int onPostTick(V aEntity); - - public abstract boolean addDrop(V aPooMaker); - - public abstract Fluid fluidToProvide(); - - public abstract ItemStack itemToSpawnInWorldIfTankIsFull(); -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityPestKiller.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityPestKiller.java deleted file mode 100644 index dfdb7104b0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityPestKiller.java +++ /dev/null @@ -1,532 +0,0 @@ -package gtPlusPlus.core.tileentities.machines; - -import static gregtech.api.enums.Mods.Forestry; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.passive.EntityBat; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -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 net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; -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.oredict.OreDictionary; - -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.minecraft.BTF_FluidTank; -import gtPlusPlus.core.inventories.InventoryPestKiller; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class TileEntityPestKiller extends TileEntity implements ISidedInventory, IFluidHandler { - - private final int mBaseTickRate = 20 * 30; - private final InventoryPestKiller mInventory; - private final FluidTank mTank; - private int mChunkX; - private int mChunkZ; - private boolean mSet = false; - - private int mTickCounter = 0; - private int mUpdateTick = 0; - private boolean mNeedsUpdate = false; - private String mCustomName; - - private static final AutoMap> mEntityMap = new AutoMap<>(); - - static { - mEntityMap.put(EntityBat.class); - if (Forestry.isModLoaded()) { - mEntityMap.put(ReflectionUtils.getClass("forestry.lepidopterology.entities.EntityButterfly")); - } - } - - public TileEntityPestKiller() { - this.mInventory = new InventoryPestKiller(); - mTank = new BTF_FluidTank(2000); - } - - public InventoryPestKiller getInventory() { - return this.mInventory; - } - - public FluidTank getTank() { - return mTank; - } - - private void setup() { - World w = this.worldObj; - if (w != null) { - Chunk c = w.getChunkFromBlockCoords(this.xCoord, this.zCoord); - if (c != null) { - mChunkX = c.xPosition; - mChunkZ = c.zPosition; - mSet = true; - } - } - } - - @SuppressWarnings("rawtypes") - public boolean tryKillPests() { - int min = 0; - int max = 0; - switch (getTier()) { - case 1 -> { - min = -2; - max = 3; - } - case 2 -> { - min = -4; - max = 5; - } - default -> {} - // code block - } - int aChunkCount = 0; - AutoMap entities = new AutoMap<>(); - if (min != 0 && max != 0) { - for (int x = min; x < max; x++) { - for (int z = min; z < max; z++) { - Chunk c = getChunkFromOffsetIfLoaded(x, z); - if (c != null) { - if (c.hasEntities) { - aChunkCount++; - List[] lists = c.entityLists; - for (List o : lists) { - for (Object e : o) { - if (e instanceof Entity) { - for (Class C : mEntityMap) { - if (e.getClass() - .equals(C) || C.isAssignableFrom(e.getClass())) { - entities.put((Entity) e); - } - } - } - } - } - } - } - } - } - } else { - Chunk c = getChunkFromOffsetIfLoaded(0, 0); - if (c != null) { - if (c.hasEntities) { - List[] lists = c.entityLists; - for (List o : lists) { - for (Object e : o) { - if (e instanceof Entity) { - for (Class C : mEntityMap) { - if (e.getClass() - .equals(C) || C.isAssignableFrom(e.getClass())) { - entities.put((Entity) e); - } - } - } - } - } - } - } - } - boolean killed = false; - if (!entities.isEmpty()) { - for (Entity e : entities) { - if (e != null) { - if (e.isEntityAlive()) { - if (this.mTank.getFluidAmount() >= 1 || getTier() == 0) { - if (getTier() > 0) { - int aChanceToUse = MathUtils.randInt(1, (100 * getTier())); - if (aChanceToUse == 1) { - this.mTank.drain(1, true); - } - } - EntityUtils.doDamage(e, DamageSource.generic, Short.MAX_VALUE); - e.setDead(); - killed = true; - } - } - } - } - } - updateTileEntity(); - return killed; - } - - public Chunk getChunkFromOffsetIfLoaded(int x, int y) { - Chunk c = this.worldObj.getChunkFromChunkCoords(mChunkX + x, mChunkZ + y); - if (c.isChunkLoaded) { - return c; - } - return null; - } - - public int getTier() { - if (this.mTank != null) { - FluidStack f = mTank.getFluid(); - if (f != null) { - if (f.isFluidEqual(FluidUtils.getWildcardFluidStack("formaldehyde", 1))) { - return 1; - } else if (f.isFluidEqual(MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1))) { - return 2; - } - } - } - return 0; - } - - @Override - public void updateEntity() { - if (worldObj.isRemote) { - return; - } - if (!mSet) { - setup(); - } - this.mTickCounter++; - if (this.mTank != null) { - if (this.hasFluidSpace()) { - handleInventory(); - } - } - if (this.mTickCounter % this.mBaseTickRate == 0) { - tryKillPests(); - } - updateTick(); - } - - public boolean anyPlayerInRange() { - return this.worldObj.getClosestPlayer(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D, 32) != null; - } - - public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag) { - if (!nbt.hasKey(tag)) { - nbt.setTag(tag, new NBTTagCompound()); - } - return nbt.getCompoundTag(tag); - } - - @Override - public void writeToNBT(final NBTTagCompound nbt) { - mTank.writeToNBT(nbt); - super.writeToNBT(nbt); - // Utils.LOG_MACHINE_INFO("Trying to write NBT data to TE."); - final NBTTagCompound chestData = new NBTTagCompound(); - this.mInventory.writeToNBT(chestData); - nbt.setTag("ContentsChest", chestData); - if (this.hasCustomInventoryName()) { - nbt.setString("CustomName", this.getCustomName()); - } - } - - @Override - public void readFromNBT(final NBTTagCompound nbt) { - mTank.readFromNBT(nbt); - super.readFromNBT(nbt); - // Utils.LOG_MACHINE_INFO("Trying to read NBT data from TE."); - this.mInventory.readFromNBT(nbt.getCompoundTag("ContentsChest")); - if (nbt.hasKey("CustomName", 8)) { - this.setCustomName(nbt.getString("CustomName")); - } - } - - @Override - public int getSizeInventory() { - return this.getInventory() - .getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(final int slot) { - return this.getInventory() - .getStackInSlot(slot); - } - - @Override - public ItemStack decrStackSize(final int slot, final int count) { - return this.getInventory() - .decrStackSize(slot, count); - } - - @Override - public ItemStack getStackInSlotOnClosing(final int slot) { - return this.getInventory() - .getStackInSlotOnClosing(slot); - } - - @Override - public void setInventorySlotContents(final int slot, final ItemStack stack) { - this.getInventory() - .setInventorySlotContents(slot, stack); - } - - @Override - public int getInventoryStackLimit() { - return this.getInventory() - .getInventoryStackLimit(); - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer entityplayer) { - return this.getInventory() - .isUseableByPlayer(entityplayer); - } - - @Override - public void openInventory() { - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, 1); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .openInventory(); - } - - @Override - public void closeInventory() { - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, 1); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType()); - this.getInventory() - .closeInventory(); - } - - @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) { - return this.getInventory() - .isItemValidForSlot(slot, itemstack); - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - final int[] accessibleSides = new int[this.getSizeInventory()]; - for (int r = 0; r < this.getInventory() - .getSizeInventory(); r++) { - accessibleSides[r] = r; - } - return accessibleSides; - } - - @Override - public boolean canInsertItem(final int aSlot, final ItemStack aStack, final int p_102007_3_) { - if (this.getInventory() - .getInventory()[0] == null) { - return true; - } else if (GT_Utility.areStacksEqual( - aStack, - this.getInventory() - .getInventory()[0])) { - if (this.getInventory() - .getInventory()[0].stackSize < 64) { - int diff = 64 - this.getInventory() - .getInventory()[0].stackSize; - if (aStack.stackSize <= diff) { - return true; - } - } - } - return false; - } - - @Override - public boolean canExtractItem(final int aSlot, final ItemStack aStack, final int p_102008_3_) { - if (this.getInventory() - .getInventory()[1] == null) { - return false; - } else { - return true; - } - } - - public String getCustomName() { - return this.mCustomName; - } - - public void setCustomName(final String customName) { - this.mCustomName = customName; - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.mCustomName : "container.pestkiller"; - } - - @Override - public boolean hasCustomInventoryName() { - return (this.mCustomName != null) && !this.mCustomName.equals(""); - } - - @Override - public final int fill(ForgeDirection from, FluidStack resource, boolean doFill) { - updateTileEntity(); - return this.mTank.fill(resource, doFill); - } - - @Override - public final FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { - updateTileEntity(); - return this.mTank.drain(resource.amount, doDrain); - } - - @Override - public final FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { - FluidStack fluid = this.mTank.getFluid(); - // return this.tank.drain(maxDrain, doDrain); - if (fluid == null) { - return null; - } - - int drained = maxDrain; - if (fluid.amount < drained) { - drained = fluid.amount; - } - - FluidStack stack = new FluidStack(fluid, drained); - if (doDrain) { - fluid.amount -= drained; - if (fluid.amount <= 0) { - fluid = null; - } - - if (this != null) { - FluidEvent.fireEvent( - new FluidEvent.FluidDrainingEvent( - fluid, - this.getWorldObj(), - this.xCoord, - this.yCoord, - this.zCoord, - this.mTank, - 0)); - } - } - updateTileEntity(); - return stack; - } - - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - return mTank.getFluid() == null || mTank.getFluid() - .getFluid() - .equals(fluid); - } - - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { - return false; - } - - @Override - public final FluidTankInfo[] getTankInfo(ForgeDirection from) { - return new FluidTankInfo[] { this.mTank.getInfo() }; - } - - @Override - public final Packet getDescriptionPacket() { - NBTTagCompound tag = new NBTTagCompound(); - writeToNBT(tag); - return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, this.blockMetadata, tag); - } - - @Override - public final void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { - NBTTagCompound tag = pkt.func_148857_g(); - readFromNBT(tag); - } - - public boolean hasFluidSpace() { - if (this.mTank.getFluidAmount() <= 1000) { - return true; - } - return false; - } - - public boolean drainCell() { - boolean didFill = false; - ItemStack aInput = this.getStackInSlot(0); - if (aInput == null) { - return false; - } - aInput = aInput.copy(); - if (aInput != null && (this.getStackInSlot(1) == null || this.getStackInSlot(1).stackSize < 64)) { - ArrayList t1Cells = OreDictionary.getOres("cellFormaldehyde"); - ArrayList t2Cells = OreDictionary.getOres("cellHydrogenCyanide"); - didFill = addFluid(t1Cells, aInput, FluidUtils.getWildcardFluidStack("formaldehyde", 1000)); - if (!didFill) { - didFill = addFluid(t2Cells, aInput, MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000)); - } - } - - return didFill; - } - - public boolean handleInventory() { - if (this.getInventory() != null && drainCell()) { - this.decrStackSize(0, 1); - if (this.getStackInSlot(1) == null) { - this.setInventorySlotContents(1, CI.emptyCells(1)); - } else { - this.getStackInSlot(1).stackSize++; - } - this.updateTileEntity(); - return true; - } else { - return false; - } - } - - public boolean addFluid(ArrayList inputs, ItemStack aInput, FluidStack aFluidForInput) { - for (ItemStack a : inputs) { - if (GT_Utility.areStacksEqual(a, aInput)) { - if (mTank.getFluid() == null || mTank.getFluid() - .isFluidEqual(aFluidForInput)) { - boolean didFill = fill(ForgeDirection.UNKNOWN, aFluidForInput, true) > 0; - return didFill; - } - } else { - continue; - } - } - return false; - } - - public void updateTileEntity() { - this.getInventory() - .markDirty(); - this.markDirty(); - this.mNeedsUpdate = true; - } - - private void updateTick() { - if (mNeedsUpdate) { - if (mUpdateTick == 0) { - mUpdateTick = 4; // every 4 ticks it will send an update - } else { - --mUpdateTick; - if (mUpdateTick == 0) { - markDirty(); - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - mNeedsUpdate = false; - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityPooCollector.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityPooCollector.java deleted file mode 100644 index d0d4ee3661..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityPooCollector.java +++ /dev/null @@ -1,128 +0,0 @@ -package gtPlusPlus.core.tileentities.machines; - -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityChicken; -import net.minecraft.entity.passive.EntityCow; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityMooshroom; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraft.entity.passive.IAnimals; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; - -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class TileEntityPooCollector extends TileEntityBaseFluidCollector { - - public TileEntityPooCollector() { - super(9, 8000); - } - - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - return false; - } - - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { - return true; - } - - @Override - public void onPreLogicTick() {} - - @Override - public boolean addDrop(V aPooMaker) { - int aChance = MathUtils.randInt(0, 50000); - if (aChance > 0) { - ItemStack aPoop; - if (aChance <= 100) { - aPoop = ItemUtils.getItemStackOfAmountFromOreDict("dustManureByproducts", 1); - } else if (aChance <= 500) { - aPoop = ItemUtils.getItemStackOfAmountFromOreDict("dustSmallManureByproducts", 1); - } else if (aChance <= 1250) { - aPoop = ItemUtils.getItemStackOfAmountFromOreDict("dustTinyManureByproducts", 1); - } else { - return false; - } - if (!ItemUtils.checkForInvalidItems(aPoop)) { - return false; - } - - // Add poop to world - // Logger.INFO("Adding animal waste for "+aPooMaker.getCommandSenderName()); - - // Add to inventory if not full, else espawn in world - if (!this.mInventory.addItemStack(aPoop)) { - EntityItem entity = new EntityItem(worldObj, xCoord, yCoord + 1.5, zCoord, aPoop); - worldObj.spawnEntityInWorld(entity); - } - } - - return false; - } - - private static AutoMap aEntityToDrain = new AutoMap<>(); - - @Override - public AutoMap aThingsToLookFor() { - if (aEntityToDrain.isEmpty()) { - aEntityToDrain.add(EntityAnimal.class); - aEntityToDrain.add(IAnimals.class); - } - return aEntityToDrain; - } - - @Override - public int onPostTick(V aPooMaker) { - if (this.tank.getFluidAmount() < this.tank.getCapacity()) { - int aPooAmount = 0; - // Vanilla Animals - if (aPooMaker instanceof EntityChicken) { - aPooAmount = MathUtils.randInt(1, 40); - } else if (aPooMaker instanceof EntityHorse) { - aPooAmount = MathUtils.randInt(20, 40); - } else if (aPooMaker instanceof EntityCow) { - aPooAmount = MathUtils.randInt(18, 45); - } else if (aPooMaker instanceof EntityMooshroom) { - aPooAmount = 17; - } else if (aPooMaker instanceof EntitySheep) { - aPooAmount = MathUtils.randInt(8, 30); - } else { - if (aPooMaker instanceof EntityAnimal || aPooMaker instanceof IAnimals) { - aPooAmount = MathUtils.randInt(5, 35); - } else { - aPooAmount = MathUtils.randInt(1, 10); - } - } - aPooAmount = Math.max((Math.min(this.tank.getCapacity() - this.tank.getFluidAmount(), aPooAmount) / 10), 1); - return aPooAmount; - } else { - return 0; - } - } - - @Override - public Fluid fluidToProvide() { - return AgriculturalChem.PoopJuice; - } - - @Override - public ItemStack itemToSpawnInWorldIfTankIsFull() { - int a = MathUtils.randInt(0, 100); - ItemStack aItem = null; - if (a <= 30) { - aItem = ItemUtils.getSimpleStack(AgriculturalChem.dustDirt); - } else if (a <= 40) { - aItem = ItemUtils.getItemStackOfAmountFromOreDict("dustSmallManureByproducts", 1); - } else if (a <= 55) { - aItem = ItemUtils.getItemStackOfAmountFromOreDict("dustTinyManureByproducts", 1); - } - return aItem; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityProjectTable.java b/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityProjectTable.java deleted file mode 100644 index 7c90ddc1c2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/tileentities/machines/TileEntityProjectTable.java +++ /dev/null @@ -1,165 +0,0 @@ -package gtPlusPlus.core.tileentities.machines; - -import java.util.List; -import java.util.Vector; - -import net.minecraft.entity.player.EntityPlayer; -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.util.minecraft.NBTUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems; -import ic2.api.network.INetworkDataProvider; -import ic2.api.network.INetworkUpdateListener; -import ic2.api.tile.IWrenchable; -import ic2.core.IC2; - -public class TileEntityProjectTable extends TileEntity - implements INetworkDataProvider, INetworkUpdateListener, IWrenchable { - - public InventoryProjectMain inventoryGrid; - public InventoryProjectOutput inventoryOutputs; - - private Container_ProjectTable container; - - public TileEntityProjectTable() { - this.inventoryGrid = new InventoryProjectMain(); // number of slots - without product slot - this.inventoryOutputs = new InventoryProjectOutput(); // number of slots - without product slot - this.canUpdate(); - } - - public void setContainer(Container_ProjectTable container) { - this.container = container; - } - - public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag) { - if (!nbt.hasKey(tag)) { - nbt.setTag(tag, new NBTTagCompound()); - } - return nbt.getCompoundTag(tag); - } - - @Override - public void writeToNBT(final NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setShort("facing", this.facing); - this.inventoryGrid.writeToNBT(this.getTag(nbt, "ContentsGrid")); - this.inventoryOutputs.writeToNBT(this.getTag(nbt, "ContentsOutput")); - } - - @Override - public void readFromNBT(final NBTTagCompound nbt) { - super.readFromNBT(nbt); - this.prevFacing = (this.facing = nbt.getShort("facing")); - this.inventoryGrid.readFromNBT(nbt.getCompoundTag("ContentsGrid")); - this.inventoryOutputs.readFromNBT(nbt.getCompoundTag("ContentsOutput")); - } - - @Override - public List getNetworkedFields() { - final List ret = new Vector(2); - ret.add("facing"); - return ret; - } - - @Override - public boolean wrenchCanSetFacing(final EntityPlayer entityPlayer, final int side) { - return false; - } - - private short facing = 0; - public short prevFacing = 0; - - @Override - public void setFacing(final short facing1) { - this.facing = facing1; - if (this.prevFacing != facing1) { - IC2.network.get() - .updateTileEntityField(this, "facing"); - } - this.prevFacing = facing1; - } - - @Override - public short getFacing() { - return this.facing; - } - - @Override - public boolean wrenchCanRemove(final EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1.0F; - } - - @Override - public ItemStack getWrenchDrop(final EntityPlayer entityPlayer) { - return new ItemStack( - this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord), - 1, - this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord)); - } - - @Override - public void onNetworkUpdate(final String field) { - this.prevFacing = this.facing; - } - - @Override - public void updateEntity() { - if (!this.worldObj.isRemote) { - // Data stick - ItemStack dataStick = this.inventoryOutputs.getStackInSlot(0); - if (dataStick != null && this.container != null && container.getOutputContent() != null) { - if ((dataStick.getItem() instanceof GT_MetaGenerated_Item_01 && dataStick.getItemDamage() == 32708) - || (dataStick == ItemList.Tool_DataStick.get(1)) - || (dataStick == GregtechItemList.Old_Tool_DataStick.get(1)) - || (dataStick.getItem() instanceof MetaGeneratedGregtechItems - && dataStick.getItemDamage() == 32208)) { - - Logger.INFO("Found Data Stick and valid container."); - - ItemStack outputComponent = container.getOutputContent(); - ItemStack[] craftInputComponent = container.getInputComponents(); - - ItemStack newStick = NBTUtils - .writeItemsToNBT(dataStick, new ItemStack[] { outputComponent }, "Output"); - newStick = NBTUtils.writeItemsToNBT(newStick, craftInputComponent); - NBTUtils.setBookTitle(newStick, "Encrypted Project Data"); - NBTUtils.setBoolean(newStick, "mEncrypted", true); - int slotm = 0; - Logger.WARNING("Uploading to Data Stick."); - for (ItemStack is : NBTUtils.readItemsFromNBT(newStick)) { - if (is != null) { - Logger.WARNING("Uploaded " + is.getDisplayName() + " into memory slot " + slotm + "."); - } else { - Logger.WARNING("Left memory slot " + slotm + " blank."); - } - slotm++; - } - Logger.WARNING("Encrypting Data Stick."); - this.inventoryOutputs.setInventorySlotContents(1, newStick); - this.inventoryOutputs.setInventorySlotContents(0, null); - } - } - - } - super.updateEntity(); - } - - @Override - public boolean canUpdate() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/MovingAverageLong.java b/gtpp/src/main/java/gtPlusPlus/core/util/MovingAverageLong.java deleted file mode 100644 index 7111fbd5e1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/MovingAverageLong.java +++ /dev/null @@ -1,59 +0,0 @@ -package gtPlusPlus.core.util; - -import java.math.BigInteger; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.util.Arrays; - -import net.minecraft.nbt.NBTTagCompound; - -public class MovingAverageLong { - - private final long[] storage; - private int ptr; - - public MovingAverageLong(int sampleSize) { - storage = new long[sampleSize]; - } - - public void set(long average) { - Arrays.fill(storage, average); - } - - public void sample(long data) { - storage[ptr] = data; - ptr = (ptr + 1) % storage.length; - } - - public long get() { - BigInteger result = BigInteger.ZERO; - for (long l : storage) { - result = result.add(BigInteger.valueOf(l)); - } - return result.divide(BigInteger.valueOf(storage.length)) - .longValue(); - } - - public void write(NBTTagCompound tagCompound, String key) { - ByteBuffer buf = ByteBuffer.allocate(storage.length * Long.BYTES) - .order(ByteOrder.nativeOrder()); - buf.asLongBuffer() - .put(storage); - tagCompound.setByteArray(key, buf.array()); - } - - /** - * if read failed, the internal states would not be changed. - * - * @return true if successful, false otherwise. - */ - public boolean read(NBTTagCompound tagCompound, String key) { - ByteBuffer buf = ByteBuffer.wrap(tagCompound.getByteArray(key)); - if (buf.remaining() != storage.length * Long.BYTES) - // not very good... - return false; - buf.asLongBuffer() - .get(storage); - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/Utils.java b/gtpp/src/main/java/gtPlusPlus/core/util/Utils.java deleted file mode 100644 index 610cc4f8fa..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/Utils.java +++ /dev/null @@ -1,436 +0,0 @@ -package gtPlusPlus.core.util; - -import java.awt.Color; -import java.io.File; -import java.lang.reflect.Method; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; - -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -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.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.EnumHelper; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import org.apache.commons.lang3.EnumUtils; - -import cpw.mods.fml.common.FMLCommonHandler; -import gregtech.api.GregTech_API; -import gregtech.api.enums.TC_Aspects; -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.api.objects.Logger; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.NBTUtils; -import ic2.core.Ic2Items; -import ic2.core.init.InternalName; -import ic2.core.item.resources.ItemCell; - -public class Utils { - - public static boolean isServer() { - return FMLCommonHandler.instance() - .getEffectiveSide() - .isServer(); - } - - public static boolean isClient() { - return FMLCommonHandler.instance() - .getEffectiveSide() - .isClient(); - } - - public static TC_AspectStack getTcAspectStack(final TC_Aspects aspect, final long size) { - return getTcAspectStack(aspect.name(), (int) size); - } - - public static TC_AspectStack getTcAspectStack(final String aspect, final long size) { - return getTcAspectStack(aspect, (int) size); - } - - public static TC_AspectStack getTcAspectStack(final TC_Aspects aspect, final int size) { - return getTcAspectStack(aspect.name(), size); - } - - public static TC_AspectStack getTcAspectStack(final String aspect, final int size) { - - TC_AspectStack returnValue = null; - - if (aspect.equalsIgnoreCase("COGNITIO")) { - // Adds in Compat for older GT Versions which Misspell aspects. - try { - if (EnumUtils.isValidEnum(TC_Aspects.class, "COGNITIO")) { - Logger.WARNING("TC Aspect found - " + aspect); - returnValue = new TC_AspectStack(TC_Aspects.valueOf("COGNITIO"), size); - } else { - Logger.INFO( - "Fallback TC Aspect found - " + aspect - + " - PLEASE UPDATE GREGTECH TO A NEWER VERSION TO REMOVE THIS MESSAGE - THIS IS NOT AN ERROR"); - returnValue = new TC_AspectStack(TC_Aspects.valueOf("COGNITO"), size); - } - } catch (final NoSuchFieldError r) { - Logger.INFO("Invalid Thaumcraft Aspects - Report this issue to Alkalus"); - } - } else if (aspect.equalsIgnoreCase("EXANIMUS")) { - // Adds in Compat for older GT Versions which Misspell aspects. - try { - if (EnumUtils.isValidEnum(TC_Aspects.class, "EXANIMUS")) { - Logger.WARNING("TC Aspect found - " + aspect); - returnValue = new TC_AspectStack(TC_Aspects.valueOf("EXANIMUS"), size); - } else { - Logger.INFO( - "Fallback TC Aspect found - " + aspect - + " - PLEASE UPDATE GREGTECH TO A NEWER VERSION TO REMOVE THIS MESSAGE - THIS IS NOT AN ERROR"); - returnValue = new TC_AspectStack(TC_Aspects.valueOf("EXAMINIS"), size); - } - } catch (final NoSuchFieldError r) { - Logger.INFO("Invalid Thaumcraft Aspects - Report this issue to Alkalus"); - } - - } else if (aspect.equalsIgnoreCase("PRAECANTATIO")) { - // Adds in Compat for older GT Versions which Misspell aspects. - try { - if (EnumUtils.isValidEnum(TC_Aspects.class, "PRAECANTATIO")) { - Logger.WARNING("TC Aspect found - " + aspect); - returnValue = new TC_AspectStack(TC_Aspects.valueOf("PRAECANTATIO"), size); - } else { - Logger.INFO( - "Fallback TC Aspect found - " + aspect - + " - PLEASE UPDATE GREGTECH TO A NEWER VERSION TO REMOVE THIS MESSAGE - THIS IS NOT AN ERROR"); - returnValue = new TC_AspectStack(TC_Aspects.valueOf("PRAECANTIO"), size); - } - } catch (final NoSuchFieldError r) { - Logger.INFO("Invalid Thaumcraft Aspects - Report this issue to Alkalus"); - } - } else { - Logger.WARNING("TC Aspect found - " + aspect); - returnValue = new TC_AspectStack(TC_Aspects.valueOf(aspect), size); - } - - return returnValue; - } - - // Register an event to both busses. - public static void registerEvent(Object o) { - MinecraftForge.EVENT_BUS.register(o); - FMLCommonHandler.instance() - .bus() - .register(o); - } - - // Send a message to all players on the server - public static void sendServerMessage(final String translationKey) { - sendServerMessage(new ChatComponentText(translationKey)); - } - - // Send a message to all players on the server - public static void sendServerMessage(final IChatComponent chatComponent) { - MinecraftServer.getServer() - .getConfigurationManager() - .sendChatMsg(chatComponent); - } - - /** - * Returns if that Liquid is IC2Steam. - */ - public static boolean isIC2Steam(final FluidStack aFluid) { - if (aFluid == null) { - return false; - } - return aFluid.isFluidEqual(getIC2Steam(1)); - } - - /** - * Returns a Liquid Stack with given amount of IC2Steam. - */ - public static FluidStack getIC2Steam(final long aAmount) { - return FluidRegistry.getFluidStack("ic2steam", (int) aAmount); - } - - public static int rgbtoHexValue(final int r, final int g, final int b) { - if ((r > 255) || (g > 255) || (b > 255) || (r < 0) || (g < 0) || (b < 0)) { - return 0; - } - final Color c = new Color(r, g, b); - String temp = Integer.toHexString(c.getRGB() & 0xFFFFFF) - .toUpperCase(); - temp = Utils.appenedHexNotationToString(temp); - return Integer.decode(temp); - } - - /* - * http://javadevnotes.com/java-left-pad-string-with-zeros-examples - */ - public static String padWithZerosLefts(final String originalString, final int length) { - final StringBuilder sb = new StringBuilder(); - while ((sb.length() + originalString.length()) < length) { - sb.append('0'); - } - sb.append(originalString); - return sb.toString(); - } - - /* - * Original Code by Chandana Napagoda - https://cnapagoda.blogspot.com.au/2011/03/java-hex-color-code-generator. - * html - */ - public static Map hexColourGeneratorRandom(final int colorCount) { - final HashMap hexColorMap = new HashMap<>(); - for (int a = 0; a < colorCount; a++) { - String code = "" + (int) (Math.random() * 256); - code = code + code + code; - final int i = Integer.parseInt(code); - hexColorMap.put( - a, - Integer.toHexString(0x1000000 | i) - .substring(1) - .toUpperCase()); - Logger.WARNING( - "" + Integer.toHexString(0x1000000 | i) - .substring(1) - .toUpperCase()); - } - return hexColorMap; - } - - public static String appenedHexNotationToString(final Object hexAsStringOrInt) { - final String hexChar = "0x"; - String result; - if (hexAsStringOrInt.getClass() == String.class) { - - if (((String) hexAsStringOrInt).length() != 6) { - final String temp = padWithZerosLefts((String) hexAsStringOrInt, 6); - } - result = hexChar + hexAsStringOrInt; - return result; - } else if (hexAsStringOrInt.getClass() == Integer.class) { - String aa = String.valueOf(hexAsStringOrInt); - if (aa.length() != 6) { - result = padWithZerosLefts(aa, 6); - } else { - result = hexChar + hexAsStringOrInt; - } - return result; - } else { - return null; - } - } - - public static File getMcDir() { - if (Utils.isClient()) { - if (Minecraft.getMinecraft() != null) { - return Minecraft.getMinecraft().mcDataDir; - } - } - return new File("."); - } - - private static short cellID = 15; - - public static ItemStack createInternalNameAndFluidCell(final String s) { - Logger.WARNING("1"); - final InternalName yourName = EnumHelper.addEnum(InternalName.class, s, new Class[0], new Object[0]); - Logger.WARNING("2 " + yourName.name()); - final ItemCell item = (ItemCell) Ic2Items.cell.getItem(); - Logger.WARNING("3 " + item.getUnlocalizedName()); - try { - Logger.WARNING("4"); - final Class clz = item.getClass(); - Logger.WARNING("5 " + clz.getSimpleName()); - final Method methode = clz.getDeclaredMethod("addCell", int.class, InternalName.class, Block[].class); - Logger.WARNING("6 " + methode.getName()); - methode.setAccessible(true); - Logger.WARNING("7 " + methode.isAccessible()); - final ItemStack temp = (ItemStack) methode.invoke(item, cellID++, yourName, new Block[0]); - Logger.WARNING("Successfully created " + temp.getDisplayName() + "s."); - FluidContainerRegistry.registerFluidContainer( - FluidUtils.getFluidStack(s.toLowerCase(), 1000), - temp.copy(), - Ic2Items.cell.copy()); - ItemUtils.addItemToOreDictionary(temp.copy(), "cell" + s); - return temp; - } catch (final Exception e) { - e.printStackTrace(); - } - return null; - } - - public static String sanitizeString(final String input, final char[] dontRemove) { - - // List of characters to remove - final HashSet toRemoveSet = new HashSet<>(); - Collections.addAll( - toRemoveSet, - ' ', - '-', - '_', - '~', - '?', - '!', - '@', - '#', - '$', - '%', - '^', - '&', - '*', - '(', - ')', - '{', - '}', - '[', - ']'); - - // Remove characters from the toRemoveSet if they are in dontRemove - for (char e : dontRemove) { - toRemoveSet.remove(e); - } - - // Construct a sanitized string - StringBuilder sanitized = new StringBuilder(); - for (char c : input.toCharArray()) { - if (!toRemoveSet.contains(c)) { - sanitized.append(c); - } - } - - return sanitized.toString(); - } - - public static String sanitizeString(final String input) { - String temp; - String output; - - temp = input.replace(" ", ""); - temp = temp.replace("-", ""); - temp = temp.replace("_", ""); - temp = temp.replace("?", ""); - temp = temp.replace("!", ""); - temp = temp.replace("@", ""); - temp = temp.replace("#", ""); - temp = temp.replace("(", ""); - temp = temp.replace(")", ""); - temp = temp.replace("{", ""); - temp = temp.replace("}", ""); - temp = temp.replace("[", ""); - temp = temp.replace("]", ""); - temp = temp.replace(" ", ""); - output = temp; - return output; - } - - public static String sanitizeStringKeepBrackets(final String input) { - String temp; - String output; - - temp = input.replace(" ", ""); - temp = temp.replace("-", ""); - temp = temp.replace("_", ""); - temp = temp.replace("?", ""); - temp = temp.replace("!", ""); - temp = temp.replace("@", ""); - temp = temp.replace("#", ""); - temp = temp.replace(" ", ""); - output = temp; - return output; - } - - public static String addBookTitleLocalization(final String aTitle) { - return GT_LanguageManager - .addStringLocalization("Book." + aTitle + ".Name", aTitle, !GregTech_API.sPostloadFinished); - } - - public static String[] addBookPagesLocalization(final String aTitle, final String[] aPages) { - String[] aLocalizationPages = new String[aPages.length]; - for (byte i = 0; i < aPages.length; i = (byte) (i + 1)) { - aLocalizationPages[i] = GT_LanguageManager.addStringLocalization( - "Book." + aTitle + ".Page" + ((i < 10) ? "0" + i : Byte.valueOf(i)), - aPages[i], - !GregTech_API.sPostloadFinished); - } - return aLocalizationPages; - } - - public static ItemStack getWrittenBook(ItemStack book, int ID, String mapping, String title, String author, - String[] pages) { - - if (GT_Utility.isStringInvalid(mapping)) { - return null; - } - - ItemStack stack = CORE.sBookList.get(mapping); - if (stack != null) { - return GT_Utility.copyAmount(1L, stack); - } - - if (GT_Utility.isStringInvalid(title) || GT_Utility.isStringInvalid(author) || pages.length <= 0) { - return null; - } - - stack = (book == null) ? new ItemStack(ModItems.itemCustomBook, 1, ID) : book; - - NBTTagCompound NBT = new NBTTagCompound(); - String localizationTitle = addBookTitleLocalization(title); - NBT.setString("title", localizationTitle); - NBT.setString("author", author); - - NBTTagList NBTList = new NBTTagList(); - String[] localizationPages = addBookPagesLocalization(title, pages); - - for (byte i = 0; i < pages.length; i++) { - pages[i] = localizationPages[i].replaceAll("
", "\n"); - if (i < 48) { - if (pages[i].length() < 256) { - NBTList.appendTag(new NBTTagString(pages[i])); - } else { - Logger.INFO("WARNING: String for written Book too long! -> " + pages[i]); - GT_Log.err.println("WARNING: String for written Book too long! -> " + pages[i]); - } - } else { - Logger.INFO("WARNING: Too much Pages for written Book! -> " + title); - GT_Log.err.println("WARNING: Too much Pages for written Book! -> " + title); - break; - } - } - - String credits = String.format( - "Credits to %s for writing this Book. This was Book Nr. %d at its creation. Gotta get 'em all!", - author, - ID); - NBTList.appendTag(new NBTTagString(credits)); - NBT.setTag("pages", NBTList); - - stack.setTagCompound(NBT); - - String logMessage = String.format( - "GT++_Mod: Added Book to Book++ List - Mapping: '%s' - Name: '%s' - Author: '%s'", - mapping, - title, - author); - GT_Log.out.println(logMessage); - - NBTUtils.createIntegerTagCompound(stack, "stats", "mMeta", ID); - CORE.sBookList.put(mapping, stack); - - Logger.INFO(String.format("Creating book: %s by %s. Using Meta %d.", title, author, ID)); - - return GT_Utility.copy(stack); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/data/AES.java b/gtpp/src/main/java/gtPlusPlus/core/util/data/AES.java deleted file mode 100644 index 85f20a3367..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/data/AES.java +++ /dev/null @@ -1,135 +0,0 @@ -package gtPlusPlus.core.util.data; - -import java.io.UnsupportedEncodingException; -import java.math.BigInteger; -import java.nio.charset.StandardCharsets; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.util.Arrays; -import java.util.Base64; - -import javax.crypto.Cipher; -import javax.crypto.spec.SecretKeySpec; - -public class AES { - - private final String secret; - - private final SecretKeySpec secretKey; - - private final byte[] key; - - public AES() { - - this("Darkness In Their Hearts"); - } - - public AES(String aSecret) { - - secret = aSecret; - - key = getBytes(getHashedString(secret)); - - secretKey = generateKey(key); - } - - private static String getHashedString(String aString) { - - return toHexString(getSHA(aString)); - } - - private static byte[] getSHA(String input) { - - MessageDigest md; - - try { - - md = MessageDigest.getInstance("SHA-256"); - - return md.digest(input.getBytes(StandardCharsets.UTF_8)); - - } catch (NoSuchAlgorithmException e) { - - e.printStackTrace(); - } - - return new byte[] {}; - } - - private static String toHexString(byte[] hash) { - - BigInteger number = new BigInteger(1, hash); - - StringBuilder hexString = new StringBuilder(number.toString(16)); - - while (hexString.length() < 32) { - - hexString.insert(0, '0'); - } - - return hexString.toString(); - } - - private byte[] getBytes(String aKey) { - - byte[] aKeyData; - - MessageDigest sha; - - try { - - sha = MessageDigest.getInstance("SHA-256"); - - return sha.digest(aKey.getBytes(StandardCharsets.UTF_8)); - - } catch (NoSuchAlgorithmException e1) { - - e1.printStackTrace(); - - try { - - aKeyData = aKey.getBytes("UTF-8"); - - sha = MessageDigest.getInstance("SHA-1"); - - aKeyData = sha.digest(key); - - aKeyData = Arrays.copyOf(key, 16); - - return aKeyData; - - } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) { - - e.printStackTrace(); - - } - } - - return new byte[] {}; - } - - private SecretKeySpec generateKey(byte[] aKey) { - - return new SecretKeySpec(aKey, "AES"); - } - - public String decode(String strToDecrypt) { - - try { - - Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING"); - - cipher.init(Cipher.DECRYPT_MODE, secretKey); - - return new String( - cipher.doFinal( - Base64.getDecoder() - .decode(strToDecrypt))); - - } catch (Exception ignored) { - - } - - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/data/ArrayUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/data/ArrayUtils.java deleted file mode 100644 index d5ab990917..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/data/ArrayUtils.java +++ /dev/null @@ -1,44 +0,0 @@ -package gtPlusPlus.core.util.data; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import net.minecraft.item.ItemStack; - -public class ArrayUtils { - - public static V[] insertElementAtIndex(V[] aArray, int aIndex, V aObjectToInsert) { - V[] newArray = Arrays.copyOf(aArray, aArray.length + 1); - for (int i = 0; i < aIndex; i++) { - newArray[i] = aArray[i]; - } - newArray[aIndex] = aObjectToInsert; - for (int i = (aIndex + 1); i < newArray.length; i++) { - newArray[i] = aArray[i - 1]; - } - return newArray; - } - - public static Object[] removeNulls(final Object[] v) { - List list = new ArrayList<>(Arrays.asList(v)); - list.removeAll(Collections.singleton((Object) null)); - return list.toArray(new Object[list.size()]); - } - - public static ItemStack[] removeNulls(final ItemStack[] v) { - List list = new ArrayList<>(Arrays.asList(v)); - list.removeAll(Collections.singleton((ItemStack) null)); - return list.toArray(new ItemStack[list.size()]); - } - - public static String toString(Object[] aArray, String string) { - return org.apache.commons.lang3.ArrayUtils.toString(aArray, string); - } - - public static String toString(Object[] aArray) { - return org.apache.commons.lang3.ArrayUtils.toString(aArray); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/data/FileUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/data/FileUtils.java deleted file mode 100644 index b2e5d04375..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/data/FileUtils.java +++ /dev/null @@ -1,112 +0,0 @@ -package gtPlusPlus.core.util.data; - -import java.io.File; -import java.io.IOException; -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.StandardOpenOption; -import java.util.ArrayList; -import java.util.List; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.Utils; - -public class FileUtils { - - private static final Charset utf8 = StandardCharsets.UTF_8; - - public static boolean doesFileExist(File f) { - if (f != null && f.exists() && !f.isDirectory()) { - return true; - } - return false; - } - - public static File createFile(String path, String filename, String extension) { - File file = new File(Utils.getMcDir(), path + filename + extension); - return createFile(file); - } - - public static File createFile(File aFile) { - boolean blnCreated = false; - Logger.INFO("Trying to use path " + aFile.getPath()); - try { - Logger.INFO("Trying to use path " + aFile.getCanonicalPath()); - Logger.INFO("Trying to use absolute path " + aFile.getAbsolutePath()); - blnCreated = aFile.createNewFile(); - } catch (IOException ioe) { - Logger.INFO("Error while creating a new empty file :" + ioe); - return null; - } - return blnCreated ? aFile : null; - } - - public static File getFile(String filename, String extension) { - return getFile("", filename, extension); - } - - public static File getFile(String path, String filename, String extension) { - if (path == null || path.length() <= 0) { - path = ""; - } else { - path = path + "/"; - } - if (filename == null || filename.length() <= 0) { - return null; - } - if (extension == null || extension.length() <= 0) { - extension = ".txt"; - } else { - extension = "." + extension; - } - File file = new File(Utils.getMcDir(), path + filename + extension); - boolean doesExist = doesFileExist(file); - - if (doesExist) { - Logger.INFO("Found File: " + file.getAbsolutePath()); - return file; - } else { - Logger.INFO("Creating file, as it was not found."); - return createFile(path, filename, extension); - } - } - - public static void appendListToFile(File file, List content) { - try { - long oldSize; - long newSize; - if (doesFileExist(file)) { - Path p = Paths.get(file.getPath()); - if (p != null && Files.isWritable(p)) { - oldSize = Files.size(p); - try { - Files.write(p, content, utf8, StandardOpenOption.APPEND); - } catch (IOException e) { - e.printStackTrace(); - } - newSize = Files.size(p); - } - } - } catch (IOException ignored) {} - } - - /** - * Reads the contents of a file line by line to a List of Strings using the default encoding for the VM. The file is - * always closed. - * - * @param file the file to read, must not be {@code null} - * @return the list of Strings representing each line in the file, never {@code null} - * @throws IOException in case of an I/O error - * @since 1.3 - */ - public static List readLines(File file) { - try { - return org.apache.commons.io.FileUtils.readLines(file, utf8); - } catch (IOException e) { - return new ArrayList<>(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/data/LocaleUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/data/LocaleUtils.java deleted file mode 100644 index f72e5c6a51..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/data/LocaleUtils.java +++ /dev/null @@ -1,86 +0,0 @@ -package gtPlusPlus.core.util.data; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GTPlusPlusEverglades; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.ModContainer; -import cpw.mods.fml.common.registry.GameData; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class LocaleUtils { - - public static void generateFakeLocaleFile() { - for (ModContainer modcontainer : Loader.instance() - .getModList()) { - if (modcontainer.getModId() - .toLowerCase() - .equals(GTPlusPlus.ID)) { - String S = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"; - writeToFile(S); - dumpItemsAndBlocksForModContainer(modcontainer); - } - } - } - - public static void dumpItemsAndBlocksForModContainer(ModContainer mod) { - writeToFile("Dumping Items from " + mod.getModId() + "."); - for (Object C : GameData.getItemRegistry()) { - - try { - - if (C != null) { - if (C instanceof Item R) { - ItemStack IS = ItemUtils.getSimpleStack(R); - String modid = ItemUtils.getModId(IS); - if (modid.equals(GTPlusPlus.ID) || modid.equals(GTPlusPlusEverglades.ID)) { - String S = "[" + modid + "] " + IS.getUnlocalizedName() + ".name="; - writeToFile(S); - } - } - } - - } catch (Throwable ignored) {} - } - writeToFile("Dumping Blocks from " + mod.getModId() + "."); - for (Object B : GameData.getBlockRegistry()) { - - try { - - if (B != null) { - if (B instanceof Block R) { - ItemStack IS = ItemUtils.getSimpleStack(R); - String modid = ItemUtils.getModId(IS); - if (modid.equals(GTPlusPlus.ID) || modid.equals(GTPlusPlusEverglades.ID)) { - String S = "[" + modid + "] " + IS.getUnlocalizedName() + ".name="; - writeToFile(S); - } - } - } - - } catch (Throwable ignored) {} - } - - } - - 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 ignored) {} - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/data/StringUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/data/StringUtils.java deleted file mode 100644 index 77efadbc9a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/data/StringUtils.java +++ /dev/null @@ -1,177 +0,0 @@ -package gtPlusPlus.core.util.data; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.util.Utils; - -public class StringUtils { - - public static String superscript(String str) { - str = str.replaceAll("0", "\u2070"); - str = str.replaceAll("1", "\u00B9"); - str = str.replaceAll("2", "\u00B2"); - str = str.replaceAll("3", "\u00B3"); - str = str.replaceAll("4", "\u2074"); - str = str.replaceAll("5", "\u2075"); - str = str.replaceAll("6", "\u2076"); - str = str.replaceAll("7", "\u2077"); - str = str.replaceAll("8", "\u2078"); - str = str.replaceAll("9", "\u2079"); - return str; - } - - public static String subscript(String str) { - str = str.replaceAll("0", "\u2080"); - str = str.replaceAll("1", "\u2081"); - str = str.replaceAll("2", "\u2082"); - str = str.replaceAll("3", "\u2083"); - str = str.replaceAll("4", "\u2084"); - str = str.replaceAll("5", "\u2085"); - str = str.replaceAll("6", "\u2086"); - str = str.replaceAll("7", "\u2087"); - str = str.replaceAll("8", "\u2088"); - str = str.replaceAll("9", "\u2089"); - return str; - } - - public static boolean containsSuperOrSubScript(final String s) { - if (s.contains(StringUtils.superscript("0"))) { - return true; - } else if (s.contains(StringUtils.superscript("1"))) { - return true; - } else if (s.contains(StringUtils.superscript("2"))) { - return true; - } else if (s.contains(StringUtils.superscript("3"))) { - return true; - } else if (s.contains(StringUtils.superscript("4"))) { - return true; - } else if (s.contains(StringUtils.superscript("5"))) { - return true; - } else if (s.contains(StringUtils.superscript("6"))) { - return true; - } else if (s.contains(StringUtils.superscript("7"))) { - return true; - } else if (s.contains(StringUtils.superscript("8"))) { - return true; - } else if (s.contains(StringUtils.superscript("9"))) { - return true; - } - if (s.contains(StringUtils.subscript("0"))) { - return true; - } else if (s.contains(StringUtils.subscript("1"))) { - return true; - } else if (s.contains(StringUtils.subscript("2"))) { - return true; - } else if (s.contains(StringUtils.subscript("3"))) { - return true; - } else if (s.contains(StringUtils.subscript("4"))) { - return true; - } else if (s.contains(StringUtils.subscript("5"))) { - return true; - } else if (s.contains(StringUtils.subscript("6"))) { - return true; - } else if (s.contains(StringUtils.subscript("7"))) { - return true; - } else if (s.contains(StringUtils.subscript("8"))) { - return true; - } else if (s.contains(StringUtils.subscript("9"))) { - return true; - } - return false; - } - - public static String firstLetterCaps(String data) { - String firstLetter = data.substring(0, 1) - .toUpperCase(); - String restLetters = data.substring(1) - .toLowerCase(); - return firstLetter + restLetters; - } - - public static String getDataStringFromArray(V[] parameterTypes) { - if (parameterTypes == null || parameterTypes.length == 0) { - return "empty/null"; - } else { - StringBuilder aData = new StringBuilder(); - for (V y : parameterTypes) { - if (y != null) { - aData.append(", ") - .append(y); - } - } - return aData.toString(); - } - } - - /** - * Is this a special regex character for delimination? (.$|()[]{}^?*+\\) - * - * @param aChar - The char to test - * @return - Is this a special character? - */ - public static boolean isSpecialCharacter(char aChar) { - return aChar == '"' || aChar == '.' - || aChar == '$' - || aChar == '|' - || aChar == '(' - || aChar == ')' - || aChar == '[' - || aChar == ']' - || aChar == '{' - || aChar == '}' - || aChar == '^' - || aChar == '?' - || aChar == '*' - || aChar == '+' - || aChar == '\\'; - } - - public static boolean isEscaped(String aString) { - return aString.charAt(0) == '\\'; - } - - public static String splitAndUppercase(String aInput, String aDelim) { - - if (!isEscaped(aDelim)) { - boolean isSpecial = false; - for (int o = 0; o < aInput.length(); o++) { - if (isSpecialCharacter(aInput.charAt(o))) { - isSpecial = true; - } - } - if (isSpecial) { - aDelim = "\\" + aDelim; - } - } - - Logger.INFO("Splitting " + aInput); - String[] aSplit = aInput.split(aDelim); - Logger.INFO("Split into " + aSplit == null ? "" + 0 : aSplit.length + " parts."); - if (aSplit == null || aSplit.length == 0) { - return aInput; - } else { - AutoMap aTemp = new AutoMap<>(); - for (String s : aSplit) { - Logger.INFO("Found: " + s); - s = s.replace(".", ""); - s = Utils.sanitizeString(s); - s = firstLetterCaps(s); - Logger.INFO("Formatted & Captilized: " + s); - aTemp.put(s); - } - Logger.INFO("Rebuilding"); - StringBuilder aReturn = new StringBuilder(); - for (String s : aTemp) { - aReturn.append(s); - Logger.INFO("Step: " + aReturn); - } - return aReturn.toString(); - } - } - - public static long uppercaseCount(String aString) { - return aString.chars() - .filter(Character::isUpperCase) - .count(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/math/MathUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/math/MathUtils.java deleted file mode 100644 index ac3ef2e947..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/math/MathUtils.java +++ /dev/null @@ -1,528 +0,0 @@ -package gtPlusPlus.core.util.math; - -import java.text.NumberFormat; -import java.util.Map; -import java.util.Random; - -import gregtech.api.enums.GT_Values; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.Utils; - -public class MathUtils { - - static final Random rand = CORE.RANDOM; - - /** Formats a number with group separator and at most 2 fraction digits. */ - private static final NumberFormat sNumberFormat = NumberFormat.getInstance(); - - static { - sNumberFormat.setMaximumFractionDigits(2); - } - - /** - * Returns a psuedo-random number between min and max, inclusive. The difference between min and max can be at most - * Integer.MAX_VALUE - 1. - * - * @param min Minimim value - * @param max Maximim value. Must be greater than min. - * @return Integer between min and max, inclusive. - * @see java.util.Random#nextInt(int) - */ - 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 - return rand.nextInt((max - min) + 1) + min; - } - - /** - * Returns a psuedo-random number between min and max, inclusive. The difference between min and max can be at most - * Long.MAX_VALUE - 1. - * - * @param min Minimim value - * @param max Maximim value. Must be greater than min. - * @return Long between min and max, inclusive. - * @see java.util.Random#nextLong(long) - */ - 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 - 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. - long bits, val; - do { - bits = (rng.nextLong() << 1) >>> 1; - val = bits % n; - } while (((bits - val) + (n - 1)) < 0L); - return val; - } - - /** - * Returns a psuedo-random number between min and max, inclusive. The difference between min and max can be at most - * Double.MAX_VALUE - 1. - * - * @param min Minimim value - * @param max Maximim value. Must be greater than min. - * @return Double between min and max, inclusive. - * @see java.util.Random#nextDouble(double) - */ - 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 - return MathUtils.nextDouble(rand, (max - min) + 1) + min; - } - - private static double nextDouble(final Random rng, final double n) { - // error checking and 2^x checking removed for simplicity. - double bits, val; - do { - bits = (rng.nextLong() << 1) >>> 1; - val = bits % n; - } while (((bits - val) + (n - 1)) < 0L); - return val; - } - - /** - * Returns a psuedo-random number between min and max, inclusive. The difference between min and max can be at most - * Float.MAX_VALUE - 1. - * - * @param min Minimim value - * @param max Maximim value. Must be greater than min. - * @return Float between min and max, inclusive. - * @see java.util.Random#nextFloat(float) - */ - 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 - return MathUtils.nextFloat(rand, (max - min) + 1) + min; - } - - private static float nextFloat(final Random rng, final float n) { - // error checking and 2^x checking removed for simplicity. - float bits, val; - do { - bits = (rng.nextLong() << 1) >>> 1; - val = bits % n; - } while (((bits - val) + (n - 1)) < 0L); - return val; - } - - /** - * Returns a percentage. The returned number is the % of X in Y. Supports Doubles. - * - * @param current Current value. - * @param max Maximim value. Must be greater than min. - * @return double between min and max, inclusive. - */ - public static double findPercentage(final double current, final double max) { - return Math.round(((current / max) * 100) * 100.00) / 100.00; - } - - /** - * Returns a percentage. The returned number is the % of X in Y. Supports Floats. - * - * @param current Current value. - * @param max Maximim value. Must be greater than min. - * @return double between min and max, inclusive. - */ - public static float findPercentage(final float current, final float max) { - return (float) (Math.round(((current / max) * 100) * 100.00) / 100.00); - } - - public static int findPercentageOfInt(long input, float percentage) { - return (int) (input * (percentage / 100.0f)); - } - - // Smooth Rounding Function - /** - * Returns a double. The returned number is d rounded to the nearest d.01. Supports Doubles. - * - * @return double Rounded value. - */ - public static double decimalRounding(final double d) { - return Math.round(d * 2) / 2.0; - } - - // Smooth Rounding Function (Nearest 5) - /** - * Returns a double. The returned number is d rounded to the nearest d.5. Supports Doubles. - * - * @return double Rounded value. - */ - public static double decimalRoundingToWholes(final double d) { - return 5 * (Math.round(d / 5)); - } - - // Smooth Rounding Function - /** - * Returns a integer. The returned number is d rounded to the nearest flat integer. Supports Doubles as input. - * - * @return integer Rounded value. - */ - public static int roundToClosestInt(final double d) { - return (int) (Math.round(d * 2) / 2.0); - } - - // Smooth Rounding Function - /** - * Returns a long. The returned number is d rounded to the nearest flat long. Supports Doubles as input. - * - * @return long Rounded value. - */ - public static long roundToClosestLong(final double d) { - return (long) (Math.round(d * 2) / 2.0); - } - - /** - * Returns a boolean. The returned boolean is based on the odd/eveness of the input. Supports ints. - * - * @param x Value A. - * @return boolean Whether or not it divides evenly. - */ - public static boolean isNumberEven(final long x) { - if ((x % 2) == 0) { - return true; - } - return false; - } - - /** - * Returns an int. The returned number is the value on i + 273.15F. Supports ints. - * - * @param i Temp in Celcius. - * @return int The celcius temp returned as Kelvin, rounded to the readest whole. - */ - public static float celsiusToKelvin(final int i) { - final double f = i + 273.15F; - return (int) decimalRoundingToWholes(f); - } - - /** - * Returns a random hex value. The returned value is between 000000-ffffff. - * - * @return hexInteger between min and max, inclusive. - */ - public static int generateSingularRandomHexValue() { - String temp; - final int randomInt = randInt(1, 5); - final Map colours = Utils.hexColourGeneratorRandom(5); - - if ((colours.get(randomInt) != null) && (colours.size() > 0)) { - temp = colours.get(randomInt); - } else { - temp = "0F0F0F"; - } - - Logger.WARNING("Operating with " + temp); - temp = Utils.appenedHexNotationToString(String.valueOf(temp)); - return Integer.decode(temp); - } - - public static long[] simplifyNumbersToSmallestForm(final long[] inputArray) { - final long GCD = gcd(inputArray); - final long[] outputArray = new long[inputArray.length]; - for (int i = 0; i < inputArray.length; i++) { - if (GCD != 0) { - outputArray[i] = (inputArray[i] / GCD); - } else { - outputArray[i] = inputArray[i]; - } - } - if (outputArray.length > 0) { - return outputArray; - } - return new long[] {}; - } - - private static long gcd(long a, long b) { - while (b > 0) { - final long temp = b; - b = a % b; // % is remainder - a = temp; - } - return a; - } - - private static long gcd(final long[] input) { - long result = input[0]; - for (int i = 1; i < input.length; i++) { - result = gcd(result, input[i]); - } - return result; - } - - public static int getRgbAsHex(final short[] RGBA) { - final int returnValue = Utils.rgbtoHexValue(RGBA[0], RGBA[1], RGBA[2]); - return (returnValue == 0) ? 0 : returnValue; - } - - public static byte safeByte(long number) { - return number > Byte.MAX_VALUE ? Byte.MAX_VALUE : (byte) number; - } - - public static short safeShort(long number) { - return number > Short.MAX_VALUE ? Short.MAX_VALUE : (short) number; - } - - public static int safeInt(long number, int margin) { - return number > Integer.MAX_VALUE - margin ? Integer.MAX_VALUE - margin : (int) number; - } - - public static int safeInt(long number) { - return number > GT_Values.V[GT_Values.V.length - 1] ? safeInt(GT_Values.V[GT_Values.V.length - 1], 1) - : number < Integer.MIN_VALUE ? Integer.MIN_VALUE : (int) number; - } - - public static int getRandomFromArray(int[] mValues) { - int[] mLargeChanceArray = new int[(mValues.length - 1) * 1000]; - int mValueSelection; - for (int g = 0; g < mLargeChanceArray.length; g++) { - mValueSelection = randInt(0, mValues.length - 1); - mLargeChanceArray[g] = mValues[mValueSelection]; - } - return mLargeChanceArray[randInt(0, mLargeChanceArray.length - 1)]; - } - - /* - * Averages - */ - - public static byte getByteAverage(AutoMap aDataSet) { - byte[] aNewSet = new byte[aDataSet.size()]; - for (int u = 0; u < aDataSet.size(); u++) { - byte b = getSafeByte(aDataSet.get(u)); - aNewSet[u] = b; - } - return getByteAverage(aNewSet); - } - - public static short getShortAverage(AutoMap aDataSet) { - short[] aNewSet = new short[aDataSet.size()]; - for (int u = 0; u < aDataSet.size(); u++) { - short b = getSafeShort(aDataSet.get(u)); - aNewSet[u] = b; - } - return getShortAverage(aNewSet); - } - - public static int getIntAverage(AutoMap aDataSet) { - int[] aNewSet = new int[aDataSet.size()]; - for (int u = 0; u < aDataSet.size(); u++) { - int b = getSafeInt(aDataSet.get(u)); - aNewSet[u] = b; - } - return getIntAverage(aNewSet); - } - - public static long getLongAverage(AutoMap aDataSet) { - long[] aNewSet = new long[aDataSet.size()]; - for (int u = 0; u < aDataSet.size(); u++) { - long b = getSafeLong(aDataSet.get(u)); - aNewSet[u] = b; - } - return getLongAverage(aNewSet); - } - - public static byte getByteAverage(byte[] aDataSet) { - if (aDataSet.length == 0) { - return 0; - } - int divisor = aDataSet.length; - byte total = 0; - for (byte i : aDataSet) { - total += i; - } - byte result = safeByte(total / divisor); - return result; - } - - public static short getShortAverage(short[] aDataSet) { - if (aDataSet.length == 0) { - return 0; - } - int divisor = aDataSet.length; - Logger.WARNING("Calculating Average Short. Divisor: " + divisor); - short total = 0; - for (short i : aDataSet) { - Logger.WARNING("Adding " + i); - total += i; - } - short result = safeShort((total / divisor)); - Logger.WARNING("Average: " + result); - return result; - } - - public static int getIntAverage(int[] aDataSet) { - if (aDataSet.length == 0) { - return 0; - } - int divisor = aDataSet.length; - int total = 0; - for (int i : aDataSet) { - total += i; - } - int result = safeInt(total / divisor); - return result; - } - - public static long getLongAverage(long[] aDataSet) { - if (aDataSet.length == 0) { - return 0; - } - int divisor = aDataSet.length; - long total = 0; - for (long i : aDataSet) { - total += i; - } - return (total / divisor); - } - - public static int howManyPlaces(int aValueForGen) { - if (aValueForGen < 0) { - aValueForGen = makeNegative(aValueForGen); - } - String a = String.valueOf(aValueForGen); - return a.length(); - } - - /** - * Inverts the value, making Positives into Negatives and vice versa. - * - * @param aPositive - An int value, either positive or negative. - * @return - Inverted int Value. - */ - public static int makeNegative(int aPositive) { - if (aPositive > 0) { - return -aPositive; - } else if (aPositive < 0) { - return +aPositive; - } else { - return 0; - } - } - - public static V safeCast(Object aNumberType) { - long a1; - double a2; - a1 = Long.parseLong(aNumberType.toString()); - a2 = Double.parseDouble(aNumberType.toString()); - - if ((aNumberType.getClass() == byte.class) || (aNumberType instanceof Byte)) { - if (a1 >= Byte.MIN_VALUE && a1 <= Byte.MAX_VALUE) { - String s = String.valueOf(a1); - Byte s1 = Byte.valueOf(s); - return (V) s1; - } - } else if ((aNumberType.getClass() == short.class) || (aNumberType instanceof Short)) { - if (a1 >= Short.MIN_VALUE && a1 <= Short.MAX_VALUE) { - String s = String.valueOf(a1); - Short s1 = Short.valueOf(s); - return (V) s1; - } - } else if ((aNumberType.getClass() == int.class) || (aNumberType instanceof Integer)) { - if (a1 >= Integer.MIN_VALUE && a1 <= Integer.MAX_VALUE) { - String s = String.valueOf(a1); - Integer s1 = Integer.valueOf(s); - return (V) s1; - } - } else if ((aNumberType.getClass() == long.class) || (aNumberType instanceof Long)) { - if (a1 >= Long.MIN_VALUE && a1 <= Long.MAX_VALUE) { - String s = String.valueOf(a1); - Long s1 = Long.valueOf(s); - return (V) s1; - } - } else if ((aNumberType.getClass() == float.class) || (aNumberType instanceof Float)) { - if (a2 >= Float.MIN_VALUE && a2 <= Float.MAX_VALUE) { - String s = String.valueOf(a1); - Float s1 = Float.valueOf(s); - return (V) s1; - } - } else if ((aNumberType.getClass() == double.class) || (aNumberType instanceof Double)) { - if (a2 >= Double.MIN_VALUE && a2 <= Double.MAX_VALUE) { - String s = String.valueOf(a1); - Double s1 = Double.valueOf(s); - return (V) s1; - } - } - - Integer o = 0; - return (V) o; - } - - public static byte getSafeByte(Byte b) { - Byte a = safeCast(b); - return a; - } - - public static short getSafeShort(Short b) { - Short a = safeCast(b); - return a; - } - - public static int getSafeInt(Integer b) { - Integer a = safeCast(b); - return a; - } - - public static long getSafeLong(Long b) { - Long a = safeCast(b); - return a; - } - - public static int safeCast_LongToInt(long o) { - if (o > Integer.MAX_VALUE) { - return Integer.MAX_VALUE; - } else { - int i = (int) o; - return i; - } - } - - /** - * Balances a number within a range. - * - * @param aInput - The number to balance - * @param aMin - The minimum bounds - * @param aMax - The maximum bounds - * @return - An Integer which will be between the bounds, or a boundary value. - */ - public static int balance(int aInput, int aMin, int aMax) { - return Math.max(Math.min(aInput, aMax), aMin); - } - - /** - * Returns the smaller of two {@code Number}s. That is, the result the argument closer to the value of - * {@link Long#MIN_VALUE}. If the arguments have the same value, the result is that same value. - * - * @param a an argument. - * @param b another argument. - * @return the smaller of {@code a} and {@code b}. - */ - public static Number min(Number a, Number b) { - return (a.longValue() <= b.longValue()) ? a : b; - } - - /** - * Returns the greater of two {@code Number}s. That is, the result is the argument closer to the value of - * {@link Long#MAX_VALUE}. If the arguments have the same value, the result is that same value. - * - * @param a an argument. - * @param b another argument. - * @return the larger of {@code a} and {@code b}. - */ - public static Number max(Number a, Number b) { - return (a.longValue() >= b.longValue()) ? a : b; - } - - public static String formatNumbers(long aNumber) { - return sNumberFormat.format(aNumber); - } - - public static String formatNumbers(double aNumber) { - return sNumberFormat.format(aNumber); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/EntityUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/EntityUtils.java deleted file mode 100644 index 87bd0e60c6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/EntityUtils.java +++ /dev/null @@ -1,146 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.minecraft.BlockPos; -import gtPlusPlus.core.handler.events.EntityDeathHandler; -import ic2.core.IC2Potion; -import ic2.core.item.armor.ItemArmorHazmat; - -public class EntityUtils { - - public static void setEntityOnFire(final Entity aEntity, final int length) { - if (!isEntityImmuneToFire(aEntity)) { - aEntity.setFire(length); - } - } - - public static boolean isEntityImmuneToFire(Entity aEntity) { - return aEntity.isImmuneToFire(); - } - - public static BlockPos findBlockPosUnderEntity(final Entity parEntity) { - final int blockX = MathHelper.floor_double(parEntity.posX); - final int blockY = MathHelper.floor_double(parEntity.boundingBox.minY) - 1; - final int blockZ = MathHelper.floor_double(parEntity.posZ); - return new BlockPos(blockX, blockY, blockZ, parEntity.worldObj); - } - - public static BlockPos findBlockPosOfEntity(final Entity parEntity) { - final int blockX = MathHelper.floor_double(parEntity.posX); - final int blockY = MathHelper.floor_double(parEntity.boundingBox.minY); - final int blockZ = MathHelper.floor_double(parEntity.posZ); - return new BlockPos(blockX, blockY, blockZ, parEntity.worldObj); - } - - public static void applyRadiationDamageToEntity(final int stackSize, final int radiationLevel, final World world, - final Entity entityHolding) { - if (!world.isRemote) { - if ((radiationLevel > 0) && (entityHolding instanceof final EntityLivingBase entityLiving)) { - if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode) { - if (!ItemArmorHazmat.hasCompleteHazmat(entityLiving) - && !GT_Utility.isWearingFullRadioHazmat(entityLiving)) { - if (entityLiving.getActivePotionEffect(IC2Potion.radiation) != null) { - entityLiving.getActivePotionEffect(IC2Potion.radiation); - } - applyRadioactivity(entityLiving, radiationLevel, stackSize); - } - } - } - } - } - - public static void applyRadioactivity(EntityLivingBase aEntity, int aLevel, int aAmountOfItems) { - if (aLevel > 0 && aEntity != null - && aEntity.getCreatureAttribute() != EnumCreatureAttribute.UNDEAD - && aEntity.getCreatureAttribute() != EnumCreatureAttribute.ARTHROPOD - && !ItemArmorHazmat.hasCompleteHazmat(aEntity)) { - PotionEffect tEffect; - aEntity.addPotionEffect( - new PotionEffect( - Potion.moveSlowdown.id, - aLevel * 140 * aAmountOfItems + Math.max( - 0, - ((tEffect = aEntity.getActivePotionEffect(Potion.moveSlowdown)) == null ? 0 - : tEffect.getDuration())), - Math.max(0, (5 * aLevel) / 7))); - aEntity.addPotionEffect( - new PotionEffect( - Potion.digSlowdown.id, - aLevel * 150 * aAmountOfItems + Math.max( - 0, - ((tEffect = aEntity.getActivePotionEffect(Potion.digSlowdown)) == null ? 0 - : tEffect.getDuration())), - Math.max(0, (5 * aLevel) / 7))); - aEntity.addPotionEffect( - new PotionEffect( - Potion.confusion.id, - aLevel * 130 * aAmountOfItems + Math.max( - 0, - ((tEffect = aEntity.getActivePotionEffect(Potion.confusion)) == null ? 0 - : tEffect.getDuration())), - Math.max(0, (5 * aLevel) / 7))); - aEntity.addPotionEffect( - new PotionEffect( - Potion.weakness.id, - aLevel * 150 * aAmountOfItems + Math.max( - 0, - ((tEffect = aEntity.getActivePotionEffect(Potion.weakness)) == null ? 0 - : tEffect.getDuration())), - Math.max(0, (5 * aLevel) / 7))); - aEntity.addPotionEffect( - new PotionEffect( - Potion.hunger.id, - aLevel * 130 * aAmountOfItems + Math.max( - 0, - ((tEffect = aEntity.getActivePotionEffect(Potion.hunger)) == null ? 0 : tEffect.getDuration())), - Math.max(0, (5 * aLevel) / 7))); - aEntity.addPotionEffect( - new PotionEffect( - IC2Potion.radiation.id, - aLevel * 180 * aAmountOfItems + Math.max( - 0, - ((tEffect = aEntity.getActivePotionEffect(Potion.potionTypes[24])) == null ? 0 - : tEffect.getDuration())), - Math.max(0, (5 * aLevel) / 7))); - } - } - - public static void applyHeatDamageToEntity(final int heatLevel, final World world, final Entity entityHolding) { - if (!world.isRemote) { - if ((heatLevel > 0) && (entityHolding instanceof final EntityLivingBase entityLiving)) { - if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode) { - if (!GT_Utility.isWearingFullHeatHazmat(entityLiving)) { - GT_Utility.applyHeatDamage(entityLiving, heatLevel); - } - } - } - } - } - - public static void doDamage(Entity entity, DamageSource dmg, int i) { - entity.attackEntityFrom(dmg, i); - } - - /** - * Provides the ability to provide custom drops upon the death of EntityLivingBase objects. - * - * @param aMobClass - The Base Class you want to drop this item. - * @param aStack - The ItemStack, stack size is not respected. - * @param aMaxAmount - The maximum size of the ItemStack which drops. - * @param aChance - Chance out of 10000, where 100 is 1%. (1 = 0.01% - this is ok) - */ - public static void registerDropsForMob(Class aMobClass, ItemStack aStack, int aMaxAmount, int aChance) { - EntityDeathHandler.registerDropsForMob(aMobClass, aStack, aMaxAmount, aChance); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java deleted file mode 100644 index 2b6e96541d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java +++ /dev/null @@ -1,667 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes; -import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; - -import java.util.HashMap; - -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 gregtech.api.enums.Dyes; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.minecraft.FluidGT6; -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.item.base.cell.BaseItemPlasmaCell; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialStack; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; - -public class FluidUtils { - - private static HashMap sFluidCache = new HashMap<>(); - - public static FluidStack getWater(final int amount) { - return FluidUtils.getFluidStack("water", amount); - } - - public static FluidStack getDistilledWater(final int amount) { - return FluidUtils.getFluidStack("ic2distilledwater", amount); - } - - public static FluidStack getHotWater(final int amount) { - return FluidUtils.getFluidStack("ic2hotwater", amount); - } - - public static FluidStack getLava(final int amount) { - return FluidUtils.getFluidStack("lava", amount); - } - - public static FluidStack getPahoehoeLava(final int amount) { - return FluidUtils.getFluidStack("ic2pahoehoelava", amount); - } - - public static FluidStack getSteam(final int amount) { - return FluidUtils.getFluidStack("steam", amount); - } - - public static FluidStack getSuperHeatedSteam(final int amount) { - return FluidUtils.getFluidStack("ic2superheatedsteam", amount); - } - - public static FluidStack getHydrofluoricAcid(int amount) { - return FluidUtils.getFluidStack("hydrofluoricacid", amount); - } - - public static Fluid sGregtechHydrofluoricAcid = null; - - public static FluidStack getHydrofluoricAcidGT(int amount) { - if (sGregtechHydrofluoricAcid == null) { - FluidStack aGTHF = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1); - sGregtechHydrofluoricAcid = aGTHF != null ? aGTHF.getFluid() : getHydrofluoricAcid(1).getFluid(); - } - return FluidUtils.getFluidStack(sGregtechHydrofluoricAcid, amount); - } - - public static boolean doesHydrofluoricAcidGtExist() { - if (sGregtechHydrofluoricAcid == null) { - getHydrofluoricAcidGT(1); - } - return sGregtechHydrofluoricAcid != null && sGregtechHydrofluoricAcid != getHydrofluoricAcid(1).getFluid(); - } - - private static FluidStack createFluidStack(Fluid aFluid, int aAmount) { - if (aFluid != null) { - return new FluidStack(aFluid, aAmount); - } - return null; - } - - public static FluidStack getFluidStack(final String aFluidName, final int aAmount) { - Fluid aFluid = sFluidCache.get(aFluidName); - if (aFluid != null) { - return createFluidStack(aFluid, aAmount); - } else { - Fluid aLookupFluid = FluidRegistry.getFluid(aFluidName); - if (aLookupFluid != null) { - sFluidCache.put(aFluidName, aLookupFluid); - return createFluidStack(aLookupFluid, aAmount); - } - } - return null; - } - - public static FluidStack getFluidStack(final FluidStack aFluidStack, final int aAmount) { - if (aFluidStack == null) { - return null; - } - return new FluidStack(aFluidStack, aAmount); - } - - public static FluidStack getFluidStack(final Fluid aFluid, final int aAmount) { - if (aFluid == null) { - return null; - } - return new FluidStack(aFluid, aAmount); - } - - public static Fluid addGtFluid(final String aName, final String aLocalized, final GT_Materials aMaterial, - final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, - final int aFluidAmount) { - return addGtFluid( - aName, - aLocalized, - aMaterial, - aState, - aTemperatureK, - aFullContainer, - aEmptyContainer, - aFluidAmount, - true); - } - - public static Fluid addGtFluid(final String aName, final String aLocalized, final GT_Materials aMaterial, - final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, - final int aFluidAmount, final boolean aGenerateCell) { - Fluid g = addGTFluid( - aName, - "fluid.autogenerated", - aLocalized, - aMaterial != null ? aMaterial.mRGBa : new short[] { 255, 255, 255, 0 }, - aState, - aTemperatureK, - aFullContainer, - aEmptyContainer, - aFluidAmount, - aGenerateCell); - if (aMaterial != null) { - switch (aState) { - case 1 -> { - aMaterial.mFluid = (g); - } - case 2 -> { - aMaterial.mGas = (g); - } - case 3 -> { - aMaterial.mPlasma = (g); - } - } - } - return g; - } - - public static Fluid addGTFluid(final String aName, final String aLocalized, final short[] aRGBa, final int aState, - final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, - final int aFluidAmount, final boolean aGenerateCell) { - return addGTFluid( - "molten." + aName, - "molten.autogenerated", - aLocalized, - aRGBa, - aState, - aTemperatureK, - aFullContainer, - aEmptyContainer, - aFluidAmount, - aGenerateCell); - } - - public static Fluid addGTFluidNonMolten(final String aName, final String aLocalized, final short[] aRGBa, - final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, - final int aFluidAmount, final boolean aGenerateCell) { - return addGTFluid( - "fluid." + aName, - "fluid.autogenerated", - aLocalized, - aRGBa, - aState, - aTemperatureK, - aFullContainer, - aEmptyContainer, - aFluidAmount, - aGenerateCell); - } - - public static Fluid addGTFluidNoPrefix(final String aName, final String aLocalized, final short[] aRGBa, - final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, - final int aFluidAmount, final boolean aGenerateCell) { - return addGTFluid( - aName, - "fluid.autogenerated", - aLocalized, - aRGBa, - aState, - aTemperatureK, - aFullContainer, - aEmptyContainer, - aFluidAmount, - aGenerateCell); - } - - // Gas - public static Fluid addGtGas(final String aName, final String aLocalized, final short[] aRGBa, final int aState, - final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, - final int aFluidAmount, final boolean aGenerateCell) { - return addGTFluid( - aName, - "fluid.autogenerated", - aLocalized, - aRGBa, - aState, - aTemperatureK, - aFullContainer, - aEmptyContainer, - aFluidAmount, - aGenerateCell); - } - - public static Fluid addGTPlasma(final Material aMaterial) { - if (aMaterial.getLocalizedName() - .toLowerCase() - .contains("clay") - || (aMaterial.getComposites() - .size() > 1) - || aMaterial.getLocalizedName() - .toLowerCase() - .contains("wrought")) { - return null; - } - Logger.INFO("Generating a " + aMaterial.getLocalizedName() + " Plasma Cell"); - if (aMaterial.vComponentCount != 1) { - Logger.INFO("Compound made from: "); - for (final MaterialStack x : aMaterial.getComposites()) { - Logger.INFO( - x.getStackMaterial() - .getLocalizedName()); - } - Logger.INFO("Material is a composite, not generating plasma."); - return null; - } - - ItemStack temp = null; - // Generate a Cell if we need to - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellPlasma" + aMaterial.getUnlocalizedName(), 1) - == null) { - new BaseItemPlasmaCell(aMaterial); - temp = aMaterial.getPlasmaCell(1); - } else { - temp = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellPlasma" + aMaterial.getUnlocalizedName(), 1); - } - if (temp != null) { - return addGTFluid( - "plasma." + Utils.sanitizeString( - aMaterial.getLocalizedName() - .toLowerCase()), - "plasma.autogenerated", - aMaterial.getLocalizedName() + " Plasma", - aMaterial.getRGBA(), - 3, - 10000, - temp, - ItemUtils.getEmptyCell(), - 1000, - false); - } - return null; - } - - public static Fluid addGTFluid(String aName, final String aTexture, final String aLocalized, final short[] aRGBa, - final int aState, final long aTemperatureK, ItemStack aFullContainer, final ItemStack aEmptyContainer, - final int aFluidAmount, final boolean aGenerateFilledCell) { - - String aNameOriginal = aName; - Logger.INFO("Generating Fluid for " + aName); - - aName = Utils.sanitizeString(aName.toLowerCase()); - - String aLocalName = (aLocalized == null) ? aName : aLocalized; - - Fluid rFluid; - Fluid gFluid = FluidRegistry.getFluid(aName); - FluidStack aCheck = FluidUtils.getWildcardFluidStack(aName.toLowerCase(), 1000); - boolean register = false; - if (aCheck != null) { - rFluid = aCheck.getFluid(); - } else if (gFluid != null) { - rFluid = gFluid; - } else { - rFluid = new FluidGT6(aName, aTexture, (aRGBa != null) ? aRGBa : Dyes._NULL.getRGBA()); - register = true; - } - - if (register) { - GT_LanguageManager.addStringLocalization(rFluid.getUnlocalizedName(), aLocalName); - if (FluidRegistry.registerFluid(rFluid)) { - switch (aState) { - case 0 -> { - rFluid.setGaseous(false); - rFluid.setViscosity(10000); - } - case 1, 4 -> { - rFluid.setGaseous(false); - rFluid.setViscosity(1000); - } - case 2 -> { - rFluid.setGaseous(true); - rFluid.setDensity(-100); - rFluid.setViscosity(200); - } - case 3 -> { - rFluid.setGaseous(true); - rFluid.setDensity(-10000); - rFluid.setViscosity(10); - rFluid.setLuminosity(15); - } - } - } - } - - String aNameNonMolten = aLocalName.contains("Molten") ? aLocalName.replace("Molten", "") : aLocalName; - - if (aFullContainer == null) { - ItemStack oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + aLocalName, 1); - aFullContainer = oreStack; - if (aFullContainer == null) { - oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + aNameOriginal, 1); - aFullContainer = oreStack; - if (aFullContainer == null) { - oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + aNameNonMolten, 1); - aFullContainer = oreStack; - if (aFullContainer != null) { - Logger.INFO("Found cell for " + aNameNonMolten); - } - } else { - Logger.INFO("Found cell for " + aNameOriginal); - } - } else { - Logger.INFO("Found cell for " + aLocalName); - } - } - - Item tempCell = null; - // Generate a Cell if we need to - if (aGenerateFilledCell && aFullContainer == null) { - String aMatName = aNameOriginal; - if (aMatName.contains("molten.")) { - aMatName = aMatName.replace("molten.", ""); - aMatName = aMatName.substring(0, 1) - .toUpperCase() + aMatName.substring(1); - } - if (aMatName.contains("fluid.")) { - aMatName = aMatName.replace("fluid.", ""); - aMatName = aMatName.substring(0, 1) - .toUpperCase() + aMatName.substring(1); - } - Logger.INFO("Generating cell for " + aMatName + ", " + aLocalName); - tempCell = new BaseItemComponent(aMatName, aLocalName, aRGBa); - aFullContainer = ItemUtils.getSimpleStack(tempCell); - } - - if ((rFluid.getTemperature() == new Fluid("test").getTemperature()) || (rFluid.getTemperature() <= 0)) { - rFluid.setTemperature((int) (aTemperatureK)); - } - if ((aFullContainer != null) && (aEmptyContainer != null) - && !FluidContainerRegistry - .registerFluidContainer(new FluidStack(rFluid, aFluidAmount), aFullContainer, aEmptyContainer)) { - GT_Values.RA.stdBuilder() - .itemInputs(ItemList.Cell_Empty.get(1L)) - .itemOutputs(aFullContainer) - .fluidInputs(new FluidStack(rFluid, aFluidAmount)) - .duration(4) - .eut(1) - .addTo(fluidCannerRecipes); - } - return rFluid; - } - - public static boolean valid(final Object aStack) { - return (aStack instanceof ItemStack) && (((ItemStack) aStack).getItem() != null) - && (((ItemStack) aStack).stackSize >= 0); - } - - public static boolean invalid(final Object aStack) { - return !(aStack instanceof ItemStack) || (((ItemStack) aStack).getItem() == null) - || (((ItemStack) aStack).stackSize < 0); - } - - public static boolean equal(final ItemStack aStack1, final ItemStack aStack2) { - return equal(aStack1, aStack2, false); - } - - public static boolean equal(final ItemStack aStack1, final ItemStack aStack2, final boolean aIgnoreNBT) { - return (aStack1 != null) && (aStack2 != null) && equal_(aStack1, aStack2, aIgnoreNBT); - } - - public static boolean equal_(final ItemStack aStack1, final ItemStack aStack2, final boolean aIgnoreNBT) { - return (aStack1.getItem() == aStack2.getItem()) - && (aIgnoreNBT || ((aStack1.getTagCompound() == null == (aStack2.getTagCompound() == null)) - && ((aStack1.getTagCompound() == null) || aStack1.getTagCompound() - .equals(aStack2.getTagCompound())))) - && ((meta(aStack1) == meta(aStack2)) || (meta(aStack1) == 32767) || (meta(aStack2) == 32767)); - } - - public static ItemStack copy(final Object... aStacks) { - for (final Object tStack : aStacks) { - if (valid(tStack)) { - return ((ItemStack) tStack).copy(); - } - } - return null; - } - - public static ItemStack copyMeta(final long aMetaData, final Object... aStacks) { - final ItemStack rStack = copy(aStacks); - if (invalid(rStack)) { - return null; - } - return meta(rStack, aMetaData); - } - - public static short meta(final ItemStack aStack) { - return (short) Items.feather.getDamage(aStack); - } - - public static ItemStack meta(final ItemStack aStack, final long aMeta) { - Items.feather.setDamage(aStack, (short) aMeta); - return aStack; - } - - public static ItemStack amount(final long aAmount, final Object... aStacks) { - final ItemStack rStack = copy(aStacks); - if (invalid(rStack)) { - return null; - } - rStack.stackSize = (int) aAmount; - return rStack; - } - - public static ItemStack container(final ItemStack aStack, final boolean aCheckIFluidContainerItems) { - if (invalid(aStack)) { - return null; - } - if (aStack.getItem() - .hasContainerItem(aStack)) { - return aStack.getItem() - .getContainerItem(aStack); - } - if (equal(aStack, ItemUtils.getEmptyCell(), true)) { - return null; - } - if (aCheckIFluidContainerItems && (aStack.getItem() instanceof IFluidContainerItem) - && (((IFluidContainerItem) aStack.getItem()).getCapacity(aStack) > 0)) { - final ItemStack tStack = amount(1L, aStack); - ((IFluidContainerItem) aStack.getItem()).drain(tStack, Integer.MAX_VALUE, true); - if (!equal(aStack, tStack)) { - return tStack; - } - return null; - } - if (equal(aStack, ItemList.IC2_ForgeHammer.get(1)) || equal(aStack, ItemList.IC2_WireCutter.get(1))) { - return copyMeta(meta(aStack) + 1, aStack); - } - return null; - } - - public static ItemStack container(final ItemStack aStack, final boolean aCheckIFluidContainerItems, - final int aStacksize) { - return amount(aStacksize, container(aStack, aCheckIFluidContainerItems)); - } - - public static Fluid generateFluidNonMolten(final String unlocalizedName, final String localizedName, - final int MeltingPoint, final short[] RGBA, final ItemStack dustStack, final ItemStack dustStack2) { - return generateFluidNonMolten( - unlocalizedName, - localizedName, - MeltingPoint, - RGBA, - dustStack, - dustStack2, - 144, - true); - } - - public static Fluid generateFluidNonMolten(final String unlocalizedName, final String localizedName, - final int MeltingPoint, final short[] RGBA, final ItemStack dustStack, final ItemStack dustStack2, - final boolean aGenerateCell) { - return generateFluidNonMolten( - unlocalizedName, - localizedName, - MeltingPoint, - RGBA, - dustStack, - dustStack2, - 144, - aGenerateCell); - } - - public static final Fluid generateFluidNonMolten(final String unlocalizedName, final String localizedName, - final int MeltingPoint, final short[] RGBA, ItemStack dustStack, final ItemStack dustStack2, - final int amountPerItem, final boolean aGenerateCell) { - if (dustStack == null) { - dustStack = ItemUtils - .getItemStackOfAmountFromOreDictNoBroken("dust" + Utils.sanitizeString(localizedName), 1); - } - FluidStack aFStack = (FluidUtils.getFluidStack(unlocalizedName.toLowerCase(), 1)); - if (aFStack == null) { - Logger.WARNING("Generating our own fluid."); - - final Fluid gtFluid = FluidUtils.addGTFluidNonMolten( - unlocalizedName, - localizedName, - RGBA, - 4, - MeltingPoint, - null, - ItemUtils.getEmptyCell(), - 1000, - aGenerateCell); - - if (dustStack != null) { - GT_Values.RA.stdBuilder() - .itemInputs(dustStack) - .fluidOutputs(FluidUtils.getFluidStack(gtFluid, amountPerItem)) - .duration(1 * SECONDS) - .eut(16) - .addTo(fluidExtractionRecipes); - } - if (dustStack2 != null) { - GT_Values.RA.stdBuilder() - .itemInputs(dustStack2) - .fluidOutputs(FluidUtils.getFluidStack(gtFluid, amountPerItem)) - .duration(1 * SECONDS) - .eut(16) - .addTo(fluidExtractionRecipes); - } - - return gtFluid; - } else { - Logger.INFO("FLUID GENERATION FAILED FOR " + localizedName + ", ALREADY EXISTS"); - return aFStack.getFluid(); - } - } - - public static Fluid generateFluidNoPrefix(final String unlocalizedName, final String localizedName, - final int MeltingPoint, final short[] RGBA) { - return generateFluidNoPrefix(unlocalizedName, localizedName, MeltingPoint, RGBA, true); - } - - public static Fluid generateFluidNoPrefix(final String unlocalizedName, final String localizedName, - final int MeltingPoint, final short[] RGBA, final boolean aGenerateCell) { - Fluid gtFluid; - if (FluidUtils.getFluidStack(unlocalizedName.toLowerCase(), 1) == null) { - Logger.WARNING("Generating our own fluid."); - gtFluid = FluidUtils.addGTFluidNoPrefix( - unlocalizedName, - localizedName, - RGBA, - 4, - MeltingPoint, - null, - ItemUtils.getEmptyCell(), - 1000, - aGenerateCell); - } else { - gtFluid = FluidUtils.getFluidStack(unlocalizedName.toLowerCase(), 1) - .getFluid(); - } - return gtFluid; - } - - public static Fluid generateGas(final String unlocalizedName, final String localizedName, final int MeltingPoint, - final short[] RGBA, final boolean aGenerateCell) { - Fluid gtFluid; - if (FluidUtils.getFluidStack(unlocalizedName.toLowerCase(), 1) == null) { - Logger.WARNING("Generating our own gas."); - gtFluid = FluidUtils.addGtGas( - unlocalizedName, - localizedName, - RGBA, - 3, - MeltingPoint, - null, - ItemUtils.getEmptyCell(), - 1000, - aGenerateCell); - } else { - gtFluid = FluidUtils.getFluidStack(unlocalizedName.toLowerCase(), 1) - .getFluid(); - } - return gtFluid; - } - - public static boolean doesFluidExist(String aFluidName) { - FluidStack aFStack1 = (FluidUtils.getFluidStack("molten" + "." + aFluidName.toLowerCase(), 1)); - FluidStack aFStack2 = (FluidUtils.getFluidStack("fluid" + "." + aFluidName.toLowerCase(), 1)); - FluidStack aFStack3 = (FluidUtils.getFluidStack(aFluidName.toLowerCase(), 1)); - FluidStack aFStack4 = (FluidUtils.getFluidStack(aFluidName, 1)); - FluidStack aFStack5 = (FluidUtils.getFluidStack("liquid_" + aFluidName.toLowerCase(), 1)); - FluidStack aFStack6 = (FluidUtils.getFluidStack("liquid" + "." + aFluidName.toLowerCase(), 1)); - return aFStack1 != null || aFStack2 != null - || aFStack3 != null - || aFStack4 != null - || aFStack5 != null - || aFStack6 != null; - } - - public static FluidStack getWildcardFluidStack(String aFluidName, int amount) { - FluidStack aFStack1 = (FluidUtils.getFluidStack(aFluidName, amount)); - FluidStack aFStack2 = (FluidUtils.getFluidStack(aFluidName.toLowerCase(), amount)); - FluidStack aFStack3 = (FluidUtils.getFluidStack("molten" + "." + aFluidName.toLowerCase(), amount)); - FluidStack aFStack4 = (FluidUtils.getFluidStack("fluid" + "." + aFluidName.toLowerCase(), amount)); - FluidStack aFStack5 = (FluidUtils.getFluidStack("liquid_" + aFluidName.toLowerCase(), amount)); - FluidStack aFStack6 = (FluidUtils.getFluidStack("liquid" + "." + aFluidName.toLowerCase(), amount)); - if (aFStack1 != null) { - return aFStack1; - } - if (aFStack2 != null) { - return aFStack2; - } - if (aFStack3 != null) { - return aFStack3; - } - if (aFStack4 != null) { - return aFStack4; - } - if (aFStack5 != null) { - return aFStack5; - } - if (aFStack6 != null) { - return aFStack6; - } - return null; - } - - public static FluidStack getWildcardFluidStack(Materials aMaterial, int amount) { - FluidStack aFStack1 = aMaterial.getFluid(amount); - FluidStack aFStack2 = aMaterial.getGas(amount); - FluidStack aFStack3 = aMaterial.getMolten(amount); - FluidStack aFStack4 = aMaterial.getSolid(amount); - if (aFStack1 != null) { - return aFStack1; - } else if (aFStack2 != null) { - return aFStack2; - } else if (aFStack3 != null) { - return aFStack3; - } else if (aFStack4 != null) { - return aFStack4; - } else { - return null; - } - } - - public static FluidStack getAir(int aAmount) { - return FluidUtils.getFluidStack("air", aAmount); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/InventoryUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/InventoryUtils.java deleted file mode 100644 index c8a7ed26da..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/InventoryUtils.java +++ /dev/null @@ -1,68 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class InventoryUtils { - - private static final Random mRandom = new Random(); - - public static void dropInventoryItems(World world, int x, int y, int z, Block block) { - TileEntity tileentity = world.getTileEntity(x, y, z); - - if (tileentity != null && tileentity instanceof IInventory aTileInv - && ((IInventory) tileentity).getSizeInventory() > 0) { - - int aMinSlot = 0; - int aMaxSlot = aTileInv.getSizeInventory() - 1; - - for (int i1 = aMinSlot; i1 < aMaxSlot; ++i1) { - ItemStack itemstack = aTileInv.getStackInSlot(i1); - - if (itemstack != null) { - float f = mRandom.nextFloat() * 0.8F + 0.1F; - float f1 = mRandom.nextFloat() * 0.8F + 0.1F; - EntityItem entityitem; - - for (float f2 = mRandom.nextFloat() * 0.8F + 0.1F; itemstack.stackSize > 0; world - .spawnEntityInWorld(entityitem)) { - int j1 = mRandom.nextInt(21) + 10; - - if (j1 > itemstack.stackSize) { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - entityitem = new EntityItem( - world, - x + f, - y + f1, - z + f2, - new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - float f3 = 0.05F; - entityitem.motionX = (float) mRandom.nextGaussian() * f3; - entityitem.motionY = (float) mRandom.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float) mRandom.nextGaussian() * f3; - - if (itemstack.hasTagCompound()) { - entityitem.getEntityItem() - .setTagCompound( - (NBTTagCompound) itemstack.getTagCompound() - .copy()); - } - } - } - } - - world.func_147453_f(x, y, z, block); - } - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java deleted file mode 100644 index 16a71133c6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ /dev/null @@ -1,1012 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; -import static gregtech.api.enums.Mods.IndustrialCraft2; -import static gregtech.api.enums.Mods.Minecraft; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import net.minecraft.block.Block; -import net.minecraft.init.Items; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier; -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_LanguageManager; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.base.dusts.BaseItemDustUnique; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; -import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool; -import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools; -import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration; - -public class ItemUtils { - - public static ItemStack getSimpleStack(final Item x) { - return getSimpleStack(x, 1); - } - - public static ItemStack getSimpleStack(final Block x) { - return simpleMetaStack(Item.getItemFromBlock(x), 0, 1); - } - - public static ItemStack getSimpleStack(final Block x, int i) { - if (i == 0) { - return getSimpleStack(x, i, 1); - } - - return getSimpleStack(x, 0, i); - } - - public static ItemStack getSimpleStack(final Block x, int meta, int i) { - return simpleMetaStack(Item.getItemFromBlock(x), meta, i); - } - - public static ItemStack getSimpleStack(final Item x, final int i) { - return new ItemStack(x, i); - } - - public static ItemStack getSimpleStack(final ItemStack x, final int i) { - if (x == null) { - return null; - } - final ItemStack r = x.copy(); - r.stackSize = i; - return r; - } - - public static final int WILDCARD_VALUE = Short.MAX_VALUE; - - public static ItemStack getWildcardStack(final ItemStack x) { - return ItemUtils.simpleMetaStack(x, WILDCARD_VALUE, 1); - } - - public static ItemStack getIC2Cell(final int meta) { - return GT_ModHandler.getModItem(IndustrialCraft2.ID, "itemCellEmpty", 1L, meta); - } - - public static ItemStack getEmptyCell() { - return getEmptyCell(1); - } - - public static ItemStack getEmptyCell(int i) { - if (ItemList.Cell_Empty.hasBeenSet()) { - return ItemList.Cell_Empty.get(i); - } - final ItemStack temp = GT_ModHandler.getModItem(IndustrialCraft2.ID, "itemCellEmpty", i, 0); - return temp != null ? temp : null; - } - - public static void getItemForOreDict(final String FQRN, final String oreDictName, final String itemName, - final int meta) { - try { - Item em = null; - final Item em1 = getItemFromFQRN(FQRN); - - if (em1 != null) { - em = em1; - } - - if (em != null) { - - final ItemStack metaStack = new ItemStack(em, 1, meta); - GT_OreDictUnificator.registerOre(oreDictName, metaStack); - - } - } catch (final NullPointerException e) { - Logger.ERROR(itemName + " not found. [NULL]"); - } - } - - public static void addItemToOreDictionary(ItemStack stack, final String oreDictName, boolean useWildcardMeta) { - if (useWildcardMeta) { - stack = ItemUtils.getWildcardStack(stack); - } - try { - OreDictionary.registerOre(oreDictName, stack); - } catch (final NullPointerException e) { - Logger.ERROR(ItemUtils.getItemName(stack) + " not registered. [NULL]"); - } - } - - public static void addItemToOreDictionary(final ItemStack stack, final String oreDictName) { - addItemToOreDictionary(stack, oreDictName, false); - } - - public static ItemStack getItemStackWithMeta(final boolean MOD, final String FQRN, final String itemName, - final int meta, final int itemstackSize) { - if (MOD) { - try { - Item em = null; - final Item em1 = getItemFromFQRN(FQRN); - - if (em1 != null) { - if (null == em) { - em = em1; - } - if (em != null) { - final ItemStack metaStack = new ItemStack(em, itemstackSize, meta); - return metaStack; - } - } - return null; - } catch (final NullPointerException e) { - Logger.ERROR(itemName + " not found. [NULL]"); - return null; - } - } - return null; - } - - public static ItemStack simpleMetaStack(final String FQRN, final int meta, final int itemstackSize) { - try { - Item em = null; - final Item em1 = getItemFromFQRN(FQRN); - // Utils.LOG_WARNING("Found: "+em1.getUnlocalizedName()+":"+meta); - if (em1 != null) { - if (null == em) { - em = em1; - } - if (em != null) { - final ItemStack metaStack = new ItemStack(em, itemstackSize, meta); - return metaStack; - } - } - return null; - } catch (final NullPointerException e) { - Logger.ERROR(FQRN + " not found. [NULL]"); - return null; - } - } - - public static ItemStack simpleMetaStack(ItemStack simpleStack, int meta, int size) { - return simpleMetaStack(simpleStack.getItem(), meta, size); - } - - public static ItemStack simpleMetaStack(final Item item, int meta, int size) { - if (item == null) { - return null; - } - if (meta < 0 || meta > Short.MAX_VALUE) { - meta = 0; - } - if (size < 0 || size > 64) { - size = 1; - } - return new ItemStack(item, size, meta); - } - - public static ItemStack simpleMetaStack(final Block block, final int meta, final int size) { - return simpleMetaStack(Item.getItemFromBlock(block), meta, size); - } - - public static ItemStack getCorrectStacktype(final String fqrn, final int stackSize) { - final String oreDict = "ore:"; - ItemStack temp; - if (fqrn.toLowerCase() - .contains(oreDict.toLowerCase())) { - final String sanitizedName = fqrn.replace(oreDict, ""); - temp = ItemUtils.getItemStackFromFQRN(sanitizedName, stackSize); - return temp; - } - final String[] fqrnSplit = fqrn.split(":"); - String temp1; - String temp2; - temp1 = fqrnSplit[1]; - if (fqrnSplit.length < 3) { - temp2 = "0"; - } else { - temp2 = fqrnSplit[2]; - } - temp = ItemUtils.getItemStackWithMeta(true, fqrn, temp1, Integer.parseInt(temp2), stackSize); - return temp; - } - - public static Item getItemFromFQRN(final String fqrn) // fqrn = fully qualified resource name - { - final String[] fqrnSplit = fqrn.split(":"); - return GameRegistry.findItem(fqrnSplit[0], fqrnSplit[1]); - } - - public static ItemStack getItemStackFromFQRN(final String fqrn, final int Size) // fqrn = fully qualified resource - // name - { - Logger.INFO("Trying to split string '" + fqrn + "'."); - final String[] fqrnSplit = fqrn.split(":"); - if (fqrnSplit.length < 2) { - return null; - } else { - if (fqrnSplit.length == 2) { - Logger.INFO("Mod: " + fqrnSplit[0] + ", Item: " + fqrnSplit[1]); - return GameRegistry.findItemStack(fqrnSplit[0], fqrnSplit[1], Size); - } else if (fqrnSplit.length == 3 && fqrnSplit[2] != null && fqrnSplit[2].length() > 0) { - Logger.INFO("Mod: " + fqrnSplit[0] + ", Item: " + fqrnSplit[1] + ", Meta: " + fqrnSplit[2]); - ItemStack aStack = GameRegistry.findItemStack(fqrnSplit[0], fqrnSplit[1], Size); - int aMeta = Integer.parseInt(fqrnSplit[2]); - if (aStack != null && (aMeta >= 0 && aMeta <= Short.MAX_VALUE)) { - return ItemUtils.simpleMetaStack(aStack, aMeta, Size); - } else { - Logger.INFO("Could not find instance of Item: " + fqrnSplit[1]); - } - } - } - return null; - } - - public static ItemStack[] validItemsForOreDict(final String oredictName) { - final List validNames = MaterialUtils.oreDictValuesForEntry(oredictName); - final ItemStack[] inputs = new ItemStack[validNames.size()]; - for (int i = 0; i < validNames.size(); i++) { - inputs[i] = (ItemStack) validNames.get(i); - } - return inputs; - } - - public static ItemStack getItemStackOfAmountFromOreDict(String oredictName, final int amount) { - String mTemp = oredictName; - - if (oredictName.contains("-") || oredictName.contains("_")) { - mTemp = Utils.sanitizeString(mTemp, new char[] { '-', '_' }); - } else { - mTemp = Utils.sanitizeString(mTemp); - } - - if (oredictName.contains("rod")) { - String s = "stick" + oredictName.substring(3); - oredictName = s; - } - - // Banned Materials and replacements for GT5.8 compat. - - if (oredictName.toLowerCase() - .contains("ingotclay")) { - return getSimpleStack(Items.clay_ball, amount); - } - - final ArrayList oreDictList = OreDictionary.getOres(mTemp); - if (!oreDictList.isEmpty()) { - final ItemStack returnValue = oreDictList.get(0) - .copy(); - returnValue.stackSize = amount; - return returnValue; - } - Logger.INFO("Failed to find `" + oredictName + "` in OD."); - return getErrorStack(amount, oredictName + " x" + amount); - // return getItemStackOfAmountFromOreDictNoBroken(mTemp, amount); - } - - public static ItemStack getItemStackOfAmountFromOreDictNoBroken(String oredictName, final int amount) { - if (CORE_Preloader.DEBUG_MODE) { - Logger.WARNING("Looking up: " + oredictName + " - from method: " + ReflectionUtils.getMethodName(1)); - Logger.WARNING("Looking up: " + oredictName + " - from method: " + ReflectionUtils.getMethodName(2)); - 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)); - } - - try { - - if (oredictName.contains("-") || oredictName.contains("_")) { - oredictName = Utils.sanitizeString(oredictName, new char[] { '-', '_' }); - } else { - oredictName = Utils.sanitizeString(oredictName); - } - - // Adds a check to grab dusts using GT methodology if possible. - ItemStack returnValue = null; - if (oredictName.toLowerCase() - .contains("dust")) { - final String MaterialName = oredictName.toLowerCase() - .replace("dust", ""); - final Materials m = Materials.get(MaterialName); - if (m != null && m != Materials._NULL) { - returnValue = getGregtechDust(m, amount); - if (checkForInvalidItems(returnValue)) { - return returnValue; - } - } - } - if (returnValue == null) { - returnValue = getItemStackOfAmountFromOreDict(oredictName, amount); - if (ItemUtils.checkForInvalidItems(returnValue)) { - return returnValue.copy(); - } - } - - Logger.RECIPE(oredictName + " was not valid."); - return null; - } catch (final Throwable t) { - return null; - } - } - - public static ItemStack getGregtechDust(final Materials material, final int amount) { - final ItemStack returnValue = GT_OreDictUnificator.get(OrePrefixes.dust, material, 1L); - if (returnValue != null) { - if (ItemUtils.checkForInvalidItems(returnValue)) { - return returnValue.copy(); - } - } - Logger.WARNING(material + " was not valid."); - return null; - } - - // NullFormula - public static Item[] generateSpecialUseDusts(final String unlocalizedName, final String materialName, - final int Colour) { - return generateSpecialUseDusts(unlocalizedName, materialName, "NullFormula", Colour); - } - - public static Item[] generateSpecialUseDusts(final String unlocalizedName, final String materialName, - String mChemForm, final int Colour) { - GT_LanguageManager.addStringLocalization("gtplusplus.material." + materialName, materialName); - final Item[] output = { - new BaseItemDustUnique("itemDust" + unlocalizedName, materialName, mChemForm, Colour, "Dust"), - new BaseItemDustUnique("itemDustSmall" + unlocalizedName, materialName, mChemForm, Colour, "Small"), - new BaseItemDustUnique("itemDustTiny" + unlocalizedName, materialName, mChemForm, Colour, "Tiny") }; - - // Generate Shaped/Shapeless Recipes - - final ItemStack normalDust = ItemUtils.getSimpleStack(output[0]); - final ItemStack smallDust = ItemUtils.getSimpleStack(output[1]); - final ItemStack tinyDust = ItemUtils.getSimpleStack(output[2]); - - CORE.RA.addpackagerRecipe(ItemList.Schematic_Dust.get(0), smallDust, tinyDust, normalDust); - - if (ItemUtils.checkForInvalidItems(tinyDust) && ItemUtils.checkForInvalidItems(normalDust)) { - if (RecipeUtils.addShapedRecipe( - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - normalDust)) { - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: " + materialName + " - Success"); - } else { - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: " + materialName + " - Failed"); - } - - if (RecipeUtils.addShapedRecipe( - normalDust, - null, - null, - null, - null, - null, - null, - null, - null, - ItemUtils.getSimpleStack(tinyDust, 9))) { - Logger.WARNING("9 Tiny dust from 1 Recipe: " + materialName + " - Success"); - } else { - Logger.WARNING("9 Tiny dust from 1 Recipe: " + materialName + " - Failed"); - } - } - - if (ItemUtils.checkForInvalidItems(smallDust) && ItemUtils.checkForInvalidItems(normalDust)) { - if (RecipeUtils.addShapedRecipe( - smallDust, - smallDust, - null, - smallDust, - smallDust, - null, - null, - null, - null, - normalDust)) { - Logger.WARNING("4 Small dust to 1 Dust Recipe: " + materialName + " - Success"); - } else { - Logger.WARNING("4 Small dust to 1 Dust Recipe: " + materialName + " - Failed"); - } - if (RecipeUtils.addShapedRecipe( - null, - normalDust, - null, - null, - null, - null, - null, - null, - null, - ItemUtils.getSimpleStack(smallDust, 4))) { - Logger.WARNING("4 Small dust from 1 Dust Recipe: " + materialName + " - Success"); - } else { - Logger.WARNING("4 Small dust from 1 Dust Recipe: " + materialName + " - Failed"); - } - } - - return output; - } - - public static Item[] generateSpecialUseDusts(final Material material, final boolean onlyLargeDust) { - return generateSpecialUseDusts(material, onlyLargeDust, false); - } - - public static Item[] generateSpecialUseDusts(final Material material, final boolean onlyLargeDust, - final boolean disableExtraRecipes) { - final String materialName = material.getUnlocalizedName(); - final String unlocalizedName = Utils.sanitizeString(materialName); - final int Colour = material.getRgbAsHex(); - final String aChemForm = material.vChemicalFormula; - final boolean isChemFormvalid = (aChemForm != null && aChemForm.length() > 0); - Item[] output = null; - if (onlyLargeDust == false) { - output = new Item[] { - new BaseItemDustUnique( - "itemDust" + unlocalizedName, - materialName, - isChemFormvalid ? aChemForm : "", - Colour, - "Dust"), - new BaseItemDustUnique( - "itemDustSmall" + unlocalizedName, - materialName, - isChemFormvalid ? aChemForm : "", - Colour, - "Small"), - new BaseItemDustUnique( - "itemDustTiny" + unlocalizedName, - materialName, - isChemFormvalid ? aChemForm : "", - Colour, - "Tiny") }; - } else { - output = new Item[] { new BaseItemDustUnique("itemDust" + unlocalizedName, materialName, Colour, "Dust") }; - } - - new RecipeGen_DustGeneration(material, disableExtraRecipes); - - return output; - } - - public static boolean isRadioactive(final String materialName) { - int sRadiation = 0; - if (materialName.toLowerCase() - .contains("uranium")) { - sRadiation = 2; - } else if (materialName.toLowerCase() - .contains("plutonium")) { - sRadiation = 4; - } else if (materialName.toLowerCase() - .contains("thorium")) { - sRadiation = 1; - } - if (sRadiation >= 1) { - return true; - } - return false; - } - - public static int getRadioactivityLevel(final String materialName) { - int sRadiation = 0; - if (materialName.toLowerCase() - .contains("uranium")) { - sRadiation = 2; - } else if (materialName.toLowerCase() - .contains("plutonium")) { - sRadiation = 4; - } else if (materialName.toLowerCase() - .contains("thorium")) { - sRadiation = 1; - } - return sRadiation; - } - - public static String getArrayStackNames(final FluidStack[] aStack) { - String itemNames = "Fluid Array: "; - for (final FluidStack alph : aStack) { - if (alph != null) { - final String temp = itemNames; - itemNames = temp + ", " + alph.getLocalizedName() + " x" + alph.amount; - } else { - final String temp = itemNames; - itemNames = temp + ", " + "null" + " x" + "0"; - } - } - return itemNames; - } - - public static String getArrayStackNames(final ItemStack[] aStack) { - String itemNames = ""; - int aPos = 0; - for (final ItemStack alph : aStack) { - if (alph == null) { - continue; - } - if (alph != null) { - final String temp = itemNames; - itemNames = temp + (aPos > 0 ? ", " : "") + alph.getDisplayName() + " x" + alph.stackSize; - aPos++; - } - } - return itemNames; - } - - public static ItemStack getGregtechCircuit(final int Meta) { - return ItemUtils.getItemStackWithMeta(true, "gregtech:gt.integrated_circuit", "Gregtech Circuit", Meta, 0); - } - - private static final Map mModidCache = new HashMap<>(); - - 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); - if (id != null) { - final String modname = (id.modId == null ? id.name : id.modId); - value = ((id == null) || id.modId.equals("")) ? Minecraft.ID : modname; - } - } catch (final Throwable t) { - try { - final UniqueIdentifier t2 = GameRegistry.findUniqueIdentifierFor(Block.getBlockFromItem(item)); - if (t2 != null) { - final String modname = (t2.modId == null ? t2.name : t2.modId); - value = ((t2 == null) || t2.modId.equals("")) ? Minecraft.ID : modname; - } - } catch (final Throwable t3) { - t3.printStackTrace(); - 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()); - } - - // Take 2 - GT/GT++ Dusts - public static ItemStack getGregtechDust(final String oredictName, final int amount) { - final ArrayList oreDictList = OreDictionary.getOres(oredictName); - if (!oreDictList.isEmpty()) { - ItemStack returnvalue; - for (ItemStack itemStack : oreDictList) { - final String modid = getModId(itemStack.getItem()); - if (modid != null && (modid.equals(GregTech.ID) || modid.equals(GTPlusPlus.ID))) { - returnvalue = itemStack.copy(); - returnvalue.stackSize = amount; - return returnvalue; - } - } - } - return getNonTinkersDust(oredictName, amount); - } - - // Anything But Tinkers Dust - public static ItemStack getNonTinkersDust(final String oredictName, final int amount) { - final ArrayList oreDictList = OreDictionary.getOres(oredictName); - if (!oreDictList.isEmpty()) { - ItemStack returnvalue; - for (ItemStack itemStack : oreDictList) { - final String modid = getModId(itemStack.getItem()); - if (modid != null && !modid.equals("tconstruct")) { - returnvalue = itemStack.copy(); - returnvalue.stackSize = amount; - return returnvalue; - } - } - } - // If only Tinkers dust exists, bow down and just use it. - return getItemStackOfAmountFromOreDictNoBroken(oredictName, amount); - } - - public static ItemStack getOrePrefixStack(OrePrefixes mPrefix, Material mMat, int mAmount) { - - String mName = Utils.sanitizeString(mMat.getLocalizedName()); - - String mItemName = mPrefix.name() + mName; - ItemStack gregstack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken(mItemName, mAmount); - if (gregstack == null) { - return null; - } - return (gregstack); - } - - public static ItemStack getOrePrefixStack(OrePrefixes mPrefix, Materials mMat, int mAmount) { - if (mPrefix == OrePrefixes.rod) { - mPrefix = OrePrefixes.stick; - } - ItemStack aGtStack = GT_OreDictUnificator.get(mPrefix, mMat, mAmount); - if (aGtStack == null) { - Logger - .INFO("Failed to find `" + mPrefix + MaterialUtils.getMaterialName(mMat) + "` in OD. [Prefix Search]"); - return getErrorStack(mAmount, (mPrefix.toString() + MaterialUtils.getMaterialName(mMat) + " x" + mAmount)); - } else { - return aGtStack; - } - } - - public static ItemStack getErrorStack(int mAmount) { - return getErrorStack(mAmount, null); - } - - public static ItemStack getErrorStack(int mAmount, String aName) { - ItemStack g = getSimpleStack(ModItems.AAA_Broken, 1); - if (aName != null) { - NBTUtils.setBookTitle(g, EnumChatFormatting.RED + aName); - } - return g; - } - - public static ItemStack[] getStackOfAllOreDictGroup(String oredictname) { - final ArrayList oreDictList = OreDictionary.getOres(oredictname); - if (!oreDictList.isEmpty()) { - final ItemStack[] returnValues = new ItemStack[oreDictList.size()]; - for (int i = 0; i < oreDictList.size(); i++) { - if (oreDictList.get(i) != null) { - returnValues[i] = oreDictList.get(i); - } - } - return returnValues.length > 0 ? returnValues : null; - } else { - return null; - } - } - - public static boolean registerFuel(ItemStack aBurnable, int burn) { - return CORE.burnables.add(new Pair<>(burn, aBurnable)); - } - - public static boolean checkForInvalidItems(ItemStack mInput) { - return checkForInvalidItems(new ItemStack[] { mInput }); - } - - public static boolean checkForInvalidItems(ItemStack[] mInput) { - return checkForInvalidItems(mInput, new ItemStack[] {}); - } - - /** - * - * @param mInputs - * @return {@link Boolean} - True if {@link ItemStack}[] only contains valid items. - */ - public static boolean checkForInvalidItems(ItemStack[] mInputs, ItemStack[] mOutputs) { - if (mInputs == null || mOutputs == null) { - return false; - } - - if (mInputs.length > 0) { - for (ItemStack stack : mInputs) { - if (stack != null) { - if (stack.getItem() != null) { - if (stack.getItem() == ModItems.AAA_Broken || stack.getItem() - .getClass() == ModItems.AAA_Broken.getClass()) { - return false; - } else if (stack.getItem() == ModItems.ZZZ_Empty || stack.getItem() - .getClass() == ModItems.ZZZ_Empty.getClass()) { - return false; - } else { - continue; - } - } else { - continue; - } - } else { - return false; - } - } - } - if (mOutputs.length > 0) { - for (ItemStack stack : mOutputs) { - if (stack != null) { - if (stack.getItem() != null) { - if (stack.getItem() == ModItems.AAA_Broken || stack.getItem() - .getClass() == ModItems.AAA_Broken.getClass()) { - return false; - } else if (stack.getItem() == ModItems.ZZZ_Empty || stack.getItem() - .getClass() == ModItems.ZZZ_Empty.getClass()) { - return false; - } else { - continue; - } - } else { - continue; - } - } else { - return false; - } - } - } - - return true; - } - - public static IInventory organiseInventory(IInventory aInputInventory) { - ItemStack[] p = new ItemStack[aInputInventory.getSizeInventory()]; - for (int o = 0; o < aInputInventory.getSizeInventory(); o++) { - p[o] = aInputInventory.getStackInSlot(o); - } - // ItemStack[] g = organiseInventory(p); - - IInventory aTemp = aInputInventory; - for (int i = 0; i < p.length; ++i) { - for (int j = i + 1; j < p.length; ++j) { - if (p[j] != null && (p[i] == null || GT_Utility.areStacksEqual(p[i], p[j]))) { - GT_Utility.moveStackFromSlotAToSlotB(aTemp, aTemp, j, i, (byte) 64, (byte) 1, (byte) 64, (byte) 1); - } - } - } - - return aTemp; - } - - public static String getFluidName(FluidStack aFluid) { - return aFluid != null ? aFluid.getFluid() - .getLocalizedName(aFluid) : "NULL"; - } - - public static String getItemName(ItemStack aStack) { - if (aStack == null) { - return "ERROR - Empty Stack"; - } - String aDisplay = null; - try { - aDisplay = ("" + StatCollector.translateToLocal( - aStack.getItem() - .getUnlocalizedNameInefficiently(aStack) + ".name")).trim(); - if (aStack.hasTagCompound()) { - if (aStack.stackTagCompound != null && aStack.stackTagCompound.hasKey("display", 10)) { - NBTTagCompound nbttagcompound = aStack.stackTagCompound.getCompoundTag("display"); - - if (nbttagcompound.hasKey("Name", 8)) { - aDisplay = nbttagcompound.getString("Name"); - } - } - } - } catch (Throwable ignored) { - - } - if (aDisplay == null || aDisplay.length() <= 0) { - aDisplay = aStack.getUnlocalizedName() + ":" + aStack.getItemDamage(); - } else { - aDisplay += " | Meta: " + aStack.getItemDamage(); - } - return aDisplay; - } - - public static String getUnlocalizedItemName(ItemStack aStack) { - if (aStack == null) { - return "ERROR.Empty.Stack"; - } - String aDisplay = null; - try { - aDisplay = (aStack.getUnlocalizedName()).trim(); - } catch (Throwable t) { - aDisplay = aStack.getItem() - .getUnlocalizedName(); - } - if (aDisplay == null || aDisplay.length() <= 0) { - aDisplay = aStack.getItem() - .getUnlocalizedNameInefficiently(aStack); - } - return aDisplay; - } - - public static boolean isItemGregtechTool(ItemStack aStack) { - if (aStack == null) { - return false; - } - final Item mItem = aStack.getItem(); - final Item aSkookum = ItemUtils.getItemFromFQRN("miscutils:gt.plusplus.metatool.01"); - final Class aSkookClass = aSkookum.getClass(); - if (aSkookClass.isInstance(mItem) || mItem instanceof GT_MetaGenerated_Tool_01 - || mItem instanceof MetaGeneratedGregtechTools - || mItem instanceof Gregtech_MetaTool - || mItem == aSkookum) { - return true; - } - return false; - } - - public static boolean isToolScrewdriver(ItemStack aScrewdriver) { - if (isItemGregtechTool(aScrewdriver) - && (aScrewdriver.getItemDamage() == 22 || aScrewdriver.getItemDamage() == 150)) { - return true; - } - return false; - } - - public static ItemStack[] cleanItemStackArray(ItemStack[] input) { - int aArraySize = input.length; - ItemStack[] aOutput = new ItemStack[aArraySize]; - AutoMap aCleanedItems = new AutoMap<>(); - for (ItemStack checkStack : input) { - if (ItemUtils.checkForInvalidItems(checkStack)) { - aCleanedItems.put(checkStack); - } - } - for (int i = 0; i < aArraySize; i++) { - ItemStack aMappedStack = aCleanedItems.get(i); - if (aMappedStack != null) { - aOutput[i] = aMappedStack; - } - } - return aOutput; - } - - public static boolean doesOreDictHaveEntryFor(String string) { - return OreDictUtils.containsValidEntries(string); - } - - public static void hideItemFromNEI(ItemStack aItemToHide) { - codechicken.nei.api.API.hideItem(aItemToHide); - } - - public static ItemStack getNullStack() { - return GT_Values.NI; - } - - public static ItemStack depleteStack(ItemStack aStack) { - return depleteStack(aStack, 1); - } - - public static ItemStack depleteStack(ItemStack aStack, int aAmount) { - final int cap = aStack.stackSize; - if (cap >= 1 && cap >= aAmount) { - ItemStack aDepStack = aStack.copy(); - aDepStack.stackSize = (MathUtils.balance((aDepStack.stackSize - 1), 0, 64)); - if (aDepStack.stackSize > 0) { - return aDepStack; - } - } - return getNullStack(); - } - - public static boolean isControlCircuit(ItemStack aStack) { - if (aStack != null) { - Item aItem = aStack.getItem(); - if (aItem == CI.getNumberedBioCircuit(0) - .getItem() || aItem - == CI.getNumberedCircuit(0) - .getItem() - || aItem == CI.getNumberedAdvancedCircuit(0) - .getItem()) { - return true; - } - } - return false; - } - - public static boolean isCatalyst(ItemStack aStack) { - if (GT_Utility.areStacksEqual(aStack, GenericChem.mBlueCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mBrownCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mOrangeCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mPurpleCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mRedCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mYellowCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mPinkCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mFormaldehydeCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mSolidAcidCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mInfiniteMutationCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, AgriculturalChem.mGreenCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mPlatinumGroupCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mPlasticPolymerCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mRubberPolymerCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mAdhesionPromoterCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mTitaTungstenIndiumCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mRadioactivityCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mRareEarthGroupCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mSimpleNaquadahCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mAdvancedNaquadahCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mRawIntelligenceCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mUltimatePlasticCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mBiologicalIntelligenceCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.TemporalHarmonyCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mLimpidWaterCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mFlawlessWaterCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mParticleAccelerationCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mSynchrotronCapableCatalyst, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mAlgagenicGrowthPromoterCatalyst, true)) { - return true; - } - - return false; - } - - public static boolean isMillingBall(ItemStack aStack) { - if (GT_Utility.areStacksEqual(aStack, GenericChem.mMillingBallAlumina, true)) { - return true; - } - if (GT_Utility.areStacksEqual(aStack, GenericChem.mMillingBallSoapstone, true)) { - return true; - } - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/LangUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/LangUtils.java deleted file mode 100644 index 28d017d749..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/LangUtils.java +++ /dev/null @@ -1,41 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import java.lang.reflect.Field; -import java.util.Map; -import java.util.Properties; - -import cpw.mods.fml.common.registry.LanguageRegistry; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class LangUtils { - - @SuppressWarnings("unchecked") - public static void rewriteEntryForLanguageRegistry(String aLang, String aKey, String aNewValue) { - LanguageRegistry aInstance = LanguageRegistry.instance(); - Field aModLanguageData = ReflectionUtils.getField(LanguageRegistry.class, "modLanguageData"); - if (aModLanguageData != null) { - Map aProps; - Object aInstanceProps; - try { - aInstanceProps = aModLanguageData.get(aInstance); - if (aInstanceProps != null) { - aProps = (Map) aInstanceProps; - Properties aLangProps = aProps.get(aLang); - if (aLangProps != null) { - if (aLangProps.containsKey(aKey)) { - aLangProps.remove(aKey); - aLangProps.put(aKey, aNewValue); - } else { - aLangProps.put(aKey, aNewValue); - } - aProps.remove(aLang); - aProps.put(aLang, aLangProps); - ReflectionUtils.setField(aInstance, aModLanguageData, aProps); - } - } - } catch (IllegalArgumentException | IllegalAccessException ignored) { - - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java deleted file mode 100644 index 881ccb3c41..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java +++ /dev/null @@ -1,372 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -import gregtech.api.enums.Element; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TextureSet; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.TypeCounter; -import gtPlusPlus.core.client.CustomTextureSet.TextureSets; -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.item.base.BaseItemComponent.ComponentTypes; -import gtPlusPlus.core.item.base.foil.BaseItemFoil; -import gtPlusPlus.core.item.base.wire.BaseItemFineWire; -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.Utils; -import gtPlusPlus.core.util.data.StringUtils; -import gtPlusPlus.core.util.math.MathUtils; - -public class MaterialUtils { - - public static List oreDictValuesForEntry(final String oredictName) { - List oredictItemNames; - if (OreDictionary.doesOreNameExist(oredictName)) { - oredictItemNames = OreDictionary.getOres(oredictName); - return oredictItemNames; - } - return null; - } - - private static final Map mGeneratedMaterialMap = new HashMap<>(); - - public static Material generateMaterialFromGtENUM(final Materials material) { - return generateMaterialFromGtENUM(material, null, null); - } - - public static Material generateMaterialFromGtENUM(final Materials material, TextureSet aCustomTextures) { - return generateMaterialFromGtENUM(material, null, aCustomTextures); - } - - public static Material generateMaterialFromGtENUM(final Materials material, short[] customRGB) { - return generateMaterialFromGtENUM(material, customRGB, null); - } - - public static Material generateMaterialFromGtENUM(final Materials material, short[] customRGB, - TextureSet aCustomTextures) { - String aMaterialKey = getMaterialName(material).toLowerCase(); - if (mGeneratedMaterialMap.containsKey(aMaterialKey)) { - return mGeneratedMaterialMap.get(aMaterialKey); - } - - try { - String name = material.mName; - final short[] rgba = (customRGB == null ? material.mRGBa : customRGB); - final int melting = material.mMeltingPoint; - final int boiling = material.mBlastFurnaceTemp; - final long protons = material.getProtons(); - final long neutrons = material.getNeutrons(); - final boolean blastFurnace = material.mBlastFurnaceRequired; - int radioactivity = 0; - if (material.isRadioactive()) { - ItemStack aDustStack = ItemUtils.getOrePrefixStack(OrePrefixes.dust, material, 1); - radioactivity = aDustStack != null ? GT_Utility.getRadioactivityLevel(aDustStack) : 0; - if (radioactivity == 0) { - long aProtons = material.getProtons(); - radioactivity = (int) Math.min(Math.max((aProtons / 30), 1), 9); - } - } - Logger.MATERIALS("[Debug] Calculated Radiation level to be " + radioactivity + "."); - TextureSet iconSet = null; - if (aCustomTextures == null) { - if (material.isRadioactive()) { - iconSet = TextureSets.NUCLEAR.get(); - } else { - iconSet = material.mIconSet; - } - } else { - iconSet = aCustomTextures; - } - if (iconSet == null || iconSet.mSetName.toLowerCase() - .contains("fluid")) { - iconSet = TextureSet.SET_METALLIC; - } - Logger.MATERIALS("[Debug] Calculated Texture Set to be " + iconSet.mSetName + "."); - - final int durability = material.mDurability; - boolean mGenerateCell = false; - boolean mGenerateFluid = true; - MaterialState materialState; - String chemicalFormula = StringUtils.subscript(Utils.sanitizeString(material.mChemicalFormula)); - final Element element = material.mElement; - - // Weird Blacklist of Bad Chemical Strings - if (material.mElement == Element.Pb || material.mElement == Element.Na || material.mElement == Element.Ar) { - chemicalFormula = StringUtils.subscript(Utils.sanitizeString(material.mElement.name())); - } - - // Determine default state - Logger.MATERIALS("[Debug] Setting State of GT generated material. " + material.mDefaultLocalName); - if (material.getMolten(1) != null || material.getSolid(1) != null) { - materialState = MaterialState.SOLID; - Logger.MATERIALS("[Debug] Molten or Solid was not null."); - if (material.getMolten(1) == null && material.getSolid(1) != null) { - Logger.MATERIALS("[Debug] Molten is Null, Solid is not. Enabling cell generation."); - mGenerateCell = true; - } else if (material.getMolten(1) != null && material.getSolid(1) == null) { - Logger.MATERIALS("[Debug] Molten is not Null, Solid is null. Not enabling cell generation."); - // mGenerateCell = true; - } - Logger.MATERIALS("[Debug] State set as solid."); - } else if (material.getFluid(1) != null) { - Logger.MATERIALS("[Debug] State set as liquid."); - materialState = MaterialState.LIQUID; - } else if (material.getGas(1) != null) { - Logger.MATERIALS("[Debug] State set as gas."); - materialState = MaterialState.GAS; - } else { - Logger.MATERIALS( - "[Debug] State set as solid. This material has no alternative states, so for safety we wont generate anything."); - materialState = MaterialState.SOLID; - mGenerateFluid = false; - } - - if (name.toLowerCase() - .contains("infused")) { - final String tempname = name.substring(7); - name = "Infused " + tempname; - } - if (hasValidRGBA(rgba) || (element == Element.H) - || ((material == Materials.InfusedAir) || (material == Materials.InfusedFire) - || (material == Materials.InfusedEarth) - || (material == Materials.InfusedWater))) { - Material M = new Material( - name, - materialState, - iconSet, - durability, - rgba, - melting, - boiling, - protons, - neutrons, - blastFurnace, - chemicalFormula, - radioactivity, - mGenerateCell, - mGenerateFluid); - mGeneratedMaterialMap.put(aMaterialKey, M); - return M; - } else { - Logger.DEBUG_MATERIALS( - "Failed to generate GT++ material instance for " + material.mName - + " | Valid RGB? " - + (hasValidRGBA(rgba))); - } - } catch (Throwable t) { - Logger.DEBUG_MATERIALS("Failed to generate GT++ material instance for " + material.mName); - t.printStackTrace(); - } - return null; - } - - public static Material generateQuickMaterial(final String materialName, final MaterialState defaultState, - final short[] colour, final int sRadioactivity) { - String aMaterialKey = materialName.toLowerCase(); - if (mGeneratedMaterialMap.containsKey(aMaterialKey)) { - return mGeneratedMaterialMap.get(aMaterialKey); - } - - final Material temp = new Material( - materialName, - defaultState, - colour, - 1000, // melting - 3000, // boiling - 50, // Protons - 50, // Neutrons - false, - "", - sRadioactivity); - mGeneratedMaterialMap.put(aMaterialKey, temp); - return temp; - } - - public static boolean hasValidRGBA(final short[] rgba) { - if (rgba == null || rgba.length < 3 || rgba.length > 4) { - return false; - } - return true; - } - - public static int getTierOfMaterial(final double aMeltingPoint) { - return aMeltingPoint < 1000 ? 0 : (MathUtils.roundToClosestInt(aMeltingPoint / 1000f)); - } - - public static int getVoltageForTier(int aTier) { - // aTier += 1; - Probably some logic to this, idk. - - return switch (aTier) { - case 0 -> 16; - case 1 -> 30; - case 2 -> 120; - case 3 -> 480; - case 4 -> 1920; - case 5 -> 7680; - case 6 -> 30720; - case 7 -> 122880; - case 8 -> 491520; - case 9 -> 1966080; - case 10 -> 7864320; - case 11 -> 31457280; - case 12 -> 125829120; - case 13 -> 503316480; - case 14 -> 2013265920; - default -> Integer.MAX_VALUE; - }; - - } - - private static Materials getMaterialByName(String materialName) { - for (Materials m : Materials.values()) { - if (MaterialUtils.getMaterialName(m) - .toLowerCase() - .equals(materialName.toLowerCase())) { - return m; - } - } - return null; - } - - public static String getMaterialName(Materials mat) { - String mName = mat.mDefaultLocalName; - if (mName == null || mName.equals("")) { - mName = mat.mName; - } - return mName; - } - - public static TextureSet getMostCommonTextureSet(List list) { - TypeCounter aCounter = new TypeCounter<>(TextureSet.class); - for (Material m : list) { - TextureSet t = m.getTextureSet(); - if (t == null) { - t = Materials.Gold.mIconSet; - } - if (t != null) { - aCounter.add(t, t.mSetName); - } - } - return aCounter.getResults(); - } - - public static Materials getMaterial(String aMaterialName, String aFallbackMaterialName) { - Materials g = getMaterial(aMaterialName); - if (g == null) { - g = getMaterial(aFallbackMaterialName); - } - if (g == null) { - Logger.INFO( - "Failed finding material '" + aMaterialName - + "' & fallback '" - + aFallbackMaterialName - + "', returning _NULL."); - CORE.crash(); - } - return g; - } - - public static Materials getMaterial(String aMaterialName) { - Materials m = Materials.get(aMaterialName); - if (m == Materials._NULL) { - m = getMaterialByName(aMaterialName); - } - if (m == null) { - Logger.INFO("Failed finding material '" + aMaterialName + "', returning _NULL."); - m = Materials._NULL; - } - return m; - } - - public static AutoMap getCompoundMaterialsRecursively(Material aMat) { - return getCompoundMaterialsRecursively_Speiger(aMat); - } - - public static AutoMap getCompoundMaterialsRecursively_Speiger(Material toSearch) { - AutoMap resultList = new AutoMap<>(); - if (toSearch.getComposites() - .isEmpty()) { - resultList.put(toSearch); - return resultList; - } - final int HARD_LIMIT = 1000; - - // Could be a Deque but i dont use the interface - // enough to use it as default. - LinkedList toCheck = new LinkedList<>(); - - toCheck.add(toSearch); - int processed = 0; - while (!toCheck.isEmpty() && processed < HARD_LIMIT) { - Material current = toCheck.remove(); - if (current.getComposites() - .isEmpty()) { - resultList.put(current); - } else { - for (MaterialStack entry : current.getComposites()) { - toCheck.add(entry.getStackMaterial()); - } - } - processed++; - } - return resultList; - } - - public static void generateComponentAndAssignToAMaterial(ComponentTypes aType, Material aMaterial) { - generateComponentAndAssignToAMaterial(aType, aMaterial, true); - } - - public static void generateComponentAndAssignToAMaterial(ComponentTypes aType, Material aMaterial, - boolean generateRecipes) { - Item aGC; - if (aType == ComponentTypes.FINEWIRE) { - aGC = new BaseItemFineWire(aMaterial); - } else if (aType == ComponentTypes.FOIL) { - aGC = new BaseItemFoil(aMaterial); - } else { - aGC = new BaseItemComponent(aMaterial, aType); - } - String aFormattedLangName = aType.getName(); - - if (!aFormattedLangName.startsWith(" ")) { - if (aFormattedLangName.contains("@")) { - String[] aSplit = aFormattedLangName.split("@"); - aFormattedLangName = aSplit[0] + " " + aMaterial.getLocalizedName() + " " + aSplit[1]; - } - } - - if (aFormattedLangName.equals(aType.getName())) { - aFormattedLangName = aMaterial.getLocalizedName() + aFormattedLangName; - } - - Logger.MATERIALS("[Lang] " + aGC.getUnlocalizedName() + ".name=" + aFormattedLangName); - aMaterial.registerComponentForMaterial(aType, ItemUtils.getSimpleStack(aGC)); - } - - public static void generateSpecialDustAndAssignToAMaterial(Material aMaterial, boolean generateMixerRecipes) { - Item[] aDusts = ItemUtils.generateSpecialUseDusts(aMaterial, false, !generateMixerRecipes); - if (aDusts.length > 0) { - aMaterial.registerComponentForMaterial(OrePrefixes.dust, ItemUtils.getSimpleStack(aDusts[0])); - aMaterial.registerComponentForMaterial(OrePrefixes.dustSmall, ItemUtils.getSimpleStack(aDusts[1])); - aMaterial.registerComponentForMaterial(OrePrefixes.dustTiny, ItemUtils.getSimpleStack(aDusts[2])); - } - } - - public static boolean isNullGregtechMaterial(Materials aGregtechMaterial) { - return aGregtechMaterial == Materials._NULL || aGregtechMaterial.equals(Materials._NULL) - || aGregtechMaterial.mName.equals(Materials._NULL.mName); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/MiningUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/MiningUtils.java deleted file mode 100644 index 3abc92b69e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/MiningUtils.java +++ /dev/null @@ -1,133 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import java.util.HashMap; - -import gregtech.common.GT_Worldgen_GT_Ore_Layer; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class MiningUtils { - - public static int mMoonID = -99; - public static int mMarsID = -99; - public static int mCometsID = -99; - - public static void iterateAllOreTypes() { - HashMap M = new HashMap<>(); - String aTextWorldGen; - if (MiningUtils.findAndMapOreTypesFromGT()) { - int mapKey = 0; - for (AutoMap g : MiningUtils.mOreMaps) { - for (GT_Worldgen_GT_Ore_Layer h : g) { - - try { - aTextWorldGen = (String) ReflectionUtils - .getField(GT_Worldgen_GT_Ore_Layer.class, "aTextWorldgen") - .get(h); - } catch (IllegalArgumentException | IllegalAccessException e) { - aTextWorldGen = h.mWorldGenName; - } - - M.put(aTextWorldGen + h.mWorldGenName, mapKey); - Logger.INFO("Found Vein type: " + aTextWorldGen + h.mWorldGenName + " in map with key: " + mapKey); - } - mapKey++; - } - } - } - - public static AutoMap[] mOreMaps = new AutoMap[7]; - private static final AutoMap Ores_Overworld = new AutoMap<>(); - private static final AutoMap Ores_Nether = new AutoMap<>(); - private static final AutoMap Ores_End = new AutoMap<>(); - private static final AutoMap Ores_Moon = new AutoMap<>(); - private static final AutoMap Ores_Mars = new AutoMap<>(); - private static final AutoMap Ores_Comets = new AutoMap<>(); - private static final AutoMap Ores_Misc = new AutoMap<>(); - - public static boolean findAndMapOreTypesFromGT() { - // Gets Moon ID - - boolean aEndAsteroids; - try { - if (ReflectionUtils.getClass("micdoodle8.mods.galacticraft.core.util.ConfigManagerCore") != null - && mMoonID == -99) { - mMoonID = ReflectionUtils - .getField( - ReflectionUtils.getClass("micdoodle8.mods.galacticraft.core.util.ConfigManagerCore"), - "idDimensionMoon") - .getInt(null); - } - } catch (IllegalArgumentException | IllegalAccessException ignored) {} - - // Gets Mars ID - try { - if (ReflectionUtils.getClass("micdoodle8.mods.galacticraft.planets.mars.ConfigManagerMars") != null - && mMarsID == -99) { - mMarsID = ReflectionUtils - .getField( - ReflectionUtils.getClass("micdoodle8.mods.galacticraft.planets.mars.ConfigManagerMars"), - "dimensionIDMars") - .getInt(null); - } - } catch (IllegalArgumentException | IllegalAccessException ignored) {} - - // Get Comets ID - try { - if (ReflectionUtils.getClass("micdoodle8.mods.galacticraft.planets.asteroids.ConfigManagerAsteroids") - != null && mCometsID == -99) { - mCometsID = ReflectionUtils - .getField( - ReflectionUtils - .getClass("micdoodle8.mods.galacticraft.planets.asteroids.ConfigManagerAsteroids"), - "dimensionIDAsteroids") - .getInt(null); - } - } catch (IllegalArgumentException | IllegalAccessException ignored) {} - - // Clear Cache - Ores_Overworld.clear(); - Ores_Nether.clear(); - Ores_End.clear(); - Ores_Misc.clear(); - - for (GT_Worldgen_GT_Ore_Layer x : GT_Worldgen_GT_Ore_Layer.sList) { - if (x.mEnabled) { - - try { - aEndAsteroids = ReflectionUtils.getField(GT_Worldgen_GT_Ore_Layer.class, "mEndAsteroid") - .getBoolean(x); - } catch (IllegalArgumentException | IllegalAccessException e) { - aEndAsteroids = false; - } - - if (x.mOverworld) { - Ores_Overworld.put(x); - } - if (x.mNether) { - Ores_Nether.put(x); - } - if (x.mEnd || aEndAsteroids) { - Ores_End.put(x); - } - if (x.mOverworld || x.mNether || (x.mEnd || aEndAsteroids)) { - continue; - } - - Ores_Misc.put(x); - } else { - Ores_Comets.put(x); - } - } - - mOreMaps[0] = Ores_Overworld; - mOreMaps[1] = Ores_Nether; - mOreMaps[2] = Ores_End; - mOreMaps[3] = Ores_Moon; - mOreMaps[4] = Ores_Mars; - mOreMaps[5] = Ores_Comets; - mOreMaps[6] = Ores_Misc; - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/NBTUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/NBTUtils.java deleted file mode 100644 index 4b0f15b81e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/NBTUtils.java +++ /dev/null @@ -1,164 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import static gtPlusPlus.core.item.ModItems.ZZZ_Empty; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; - -import gregtech.api.util.GT_Utility; - -public class NBTUtils { - - public static NBTTagCompound getNBT(ItemStack aStack) { - NBTTagCompound rNBT = aStack.getTagCompound(); - return ((rNBT == null) ? new NBTTagCompound() : rNBT); - } - - public static void setBookTitle(ItemStack aStack, String aTitle) { - NBTTagCompound tNBT = getNBT(aStack); - tNBT.setString("title", aTitle); - GT_Utility.ItemNBT.setNBT(aStack, tNBT); - } - - public static ItemStack[] readItemsFromNBT(ItemStack itemstack) { - NBTTagCompound tNBT = getNBT(itemstack); - final NBTTagList list = tNBT.getTagList("Items", 10); - ItemStack inventory[] = new ItemStack[list.tagCount()]; - for (int i = 0; i < list.tagCount(); i++) { - final NBTTagCompound data = list.getCompoundTagAt(i); - final int slot = data.getInteger("Slot"); - if ((slot >= 0) && (slot < list.tagCount())) { - if (ItemStack.loadItemStackFromNBT(data) == ItemUtils.getSimpleStack(ZZZ_Empty)) { - inventory[slot] = null; - } else { - inventory[slot] = ItemStack.loadItemStackFromNBT(data); - } - } - } - return inventory; - } - - public static ItemStack writeItemsToNBT(ItemStack itemstack, ItemStack[] stored) { - NBTTagCompound tNBT = getNBT(itemstack); - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < stored.length; i++) { - final ItemStack stack = stored[i]; - if (stack != null) { - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } else { - final NBTTagCompound data = new NBTTagCompound(); - ItemStack nullstack = ItemUtils.getSimpleStack(ZZZ_Empty); - nullstack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - tNBT.setTag("Items", list); - itemstack.setTagCompound(tNBT); - return itemstack; - } - - public static ItemStack writeItemsToNBT(ItemStack itemstack, ItemStack[] stored, String customkey) { - NBTTagCompound tNBT = getNBT(itemstack); - final NBTTagList list = new NBTTagList(); - for (int i = 0; i < stored.length; i++) { - final ItemStack stack = stored[i]; - if (stack != null) { - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("Slot", i); - list.appendTag(data); - } - } - tNBT.setTag(customkey, list); - itemstack.setTagCompound(tNBT); - return itemstack; - } - - public static void setBoolean(ItemStack aStack, String aTag, boolean aBoolean) { - NBTTagCompound tNBT = getNBT(aStack); - tNBT.setBoolean(aTag, aBoolean); - GT_Utility.ItemNBT.setNBT(aStack, tNBT); - } - - public static boolean getBoolean(ItemStack aStack, String aTag) { - NBTTagCompound tNBT = getNBT(aStack); - return tNBT.getBoolean(aTag); - } - - public static void setInteger(ItemStack aStack, String aTag, int aInt) { - NBTTagCompound tNBT = getNBT(aStack); - tNBT.setInteger(aTag, aInt); - GT_Utility.ItemNBT.setNBT(aStack, tNBT); - } - - public static int getInteger(ItemStack aStack, String aTag) { - NBTTagCompound tNBT = getNBT(aStack); - return tNBT.getInteger(aTag); - } - - public static void setLong(ItemStack aStack, String aTag, long aInt) { - NBTTagCompound tNBT = getNBT(aStack); - tNBT.setLong(aTag, aInt); - GT_Utility.ItemNBT.setNBT(aStack, tNBT); - } - - public static long getLong(ItemStack aStack, String aTag) { - NBTTagCompound tNBT = getNBT(aStack); - return tNBT.getLong(aTag); - } - - public static void setString(ItemStack aStack, String aTag, String aString) { - NBTTagCompound tNBT = getNBT(aStack); - tNBT.setString(aTag, aString); - GT_Utility.ItemNBT.setNBT(aStack, tNBT); - } - - public static String getString(ItemStack aStack, String aTag) { - NBTTagCompound tNBT = getNBT(aStack); - return tNBT.getString(aTag); - } - - public static boolean hasKey(ItemStack stack, String key) { - final NBTTagCompound itemData = getNBT(stack); - if (itemData.hasKey(key)) { - return true; - } - return false; - } - - public static boolean createIntegerTagCompound(ItemStack rStack, String tagName, String keyName, int keyValue) { - final NBTTagCompound tagMain = getNBT(rStack); - final NBTTagCompound tagNBT = new NBTTagCompound(); - tagNBT.setInteger(keyName, keyValue); - tagMain.setTag(tagName, tagNBT); - rStack.setTagCompound(tagMain); - return true; - } - - public static NBTTagCompound getTagCompound(ItemStack aStack, String tagName) { - NBTTagCompound aNBT = getNBT(aStack); - if (aNBT != null && hasKey(aStack, tagName)) { - aNBT = aNBT.getCompoundTag(tagName); - if (aNBT != null) { - return aNBT; - } - } - return null; - } - - public static boolean hasTagCompound(ItemStack aStack) { - return aStack.hasTagCompound(); - } - - public static void createEmptyTagCompound(ItemStack aStack) { - if (!hasTagCompound(aStack)) { - NBTTagCompound aTag = new NBTTagCompound(); - aStack.setTagCompound(aTag); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/OreDictUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/OreDictUtils.java deleted file mode 100644 index 0c8e971443..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/OreDictUtils.java +++ /dev/null @@ -1,20 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -public class OreDictUtils { - - public static boolean containsValidEntries(String aOreName) { - boolean a = OreDictionary.doesOreNameExist(aOreName); - List b = OreDictionary.getOres(aOreName, false); - - if (!a) { - return false; - } else { - return b != null && !b.isEmpty(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/PlayerUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/PlayerUtils.java deleted file mode 100644 index ba7353cba6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/PlayerUtils.java +++ /dev/null @@ -1,206 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.WeakHashMap; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.util.IChatComponent; -import net.minecraft.world.World; -import net.minecraftforge.common.util.FakePlayer; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class PlayerUtils { - - public static final Map mCachedFakePlayers = new WeakHashMap<>(); - private static final Class mThaumcraftFakePlayer; - - static { - if (ReflectionUtils.doesClassExist("thaumcraft.common.lib.FakeThaumcraftPlayer")) { - mThaumcraftFakePlayer = ReflectionUtils.getClass("thaumcraft.common.lib.FakeThaumcraftPlayer"); - } else { - mThaumcraftFakePlayer = null; - } - } - - public static List getOnlinePlayers() { - final List onlinePlayers = MinecraftServer.getServer() - .getConfigurationManager().playerEntityList; - return onlinePlayers; - } - - public static void messagePlayer(final EntityPlayer P, final String S) { - gregtech.api.util.GT_Utility.sendChatToPlayer(P, S); - } - - public static void messagePlayer(final EntityPlayer P, final IChatComponent S) { - P.addChatComponentMessage(S); - } - - public static EntityPlayer getPlayer(final String name) { - try { - for (final EntityPlayer temp : getOnlinePlayers()) { - if (temp.getDisplayName() - .equalsIgnoreCase(name)) { - return temp; - } - } - } catch (final Throwable ignored) {} - return null; - } - - public static EntityPlayer getPlayerOnServerFromUUID(final UUID parUUID) { - if (parUUID == null) { - return null; - } - for (final EntityPlayerMP player : getOnlinePlayers()) { - if (player.getUniqueID() - .equals(parUUID)) { - return player; - } - } - return null; - } - - public static boolean isPlayerOP(final EntityPlayer player) { - if (player.canCommandSenderUseCommand(2, "")) { - return true; - } - return false; - } - - // Not Clientside - public static ItemStack getItemStackInPlayersHand(final World world, final String Name) { - final EntityPlayer thePlayer = getPlayer(Name); - ItemStack heldItem = null; - try { - heldItem = thePlayer.getHeldItem(); - } catch (final NullPointerException e) { - return null; - } - if (heldItem != null) { - return heldItem; - } - return null; - } - - @SideOnly(Side.CLIENT) - public static ItemStack getItemStackInPlayersHand() { - final Minecraft mc = Minecraft.getMinecraft(); - ItemStack heldItem; - try { - heldItem = mc.thePlayer.getHeldItem(); - } catch (final NullPointerException e) { - return null; - } - if (heldItem != null) { - return heldItem; - } - return null; - } - - public static ItemStack getItemStackInPlayersHand(final EntityPlayer player) { - ItemStack heldItem; - try { - heldItem = player.getHeldItem(); - } catch (final NullPointerException e) { - e.printStackTrace(); - return null; - } - if (heldItem != null) { - return heldItem; - } else { - if (Utils.isClient()) { - heldItem = player.getItemInUse(); - } else { - heldItem = player.getCurrentEquippedItem(); - } - } - return heldItem; - } - - public static final UUID getPlayersUUIDByName(final String aPlayerName) { - final EntityPlayer player = PlayerUtils.getPlayer(aPlayerName); - if (player != null) { - return player.getUniqueID(); - } - return null; - } - - public static void messageAllPlayers(String string) { - Utils.sendServerMessage(string); - } - - public static boolean isCreative(EntityPlayer aPlayer) { - return aPlayer.capabilities.isCreativeMode; - } - - public static boolean canTakeDamage(EntityPlayer aPlayer) { - return !aPlayer.capabilities.disableDamage; - } - - public static void cacheFakePlayer(EntityPlayer aPlayer) { - ChunkCoordinates aChunkLocation = aPlayer.getPlayerCoordinates(); - // Cache Fake Player - if (aPlayer instanceof FakePlayer - || (mThaumcraftFakePlayer != null && mThaumcraftFakePlayer.isInstance(aPlayer)) - || (aPlayer.getCommandSenderName() == null || aPlayer.getCommandSenderName() - .length() <= 0) - || (aPlayer.isEntityInvulnerable() && !aPlayer.canCommandSenderUseCommand(0, "") && (aChunkLocation == null) - || (aChunkLocation.posX == 0 && aChunkLocation.posY == 0 && aChunkLocation.posZ == 0))) { - mCachedFakePlayers.put( - aPlayer.getUniqueID() - .toString(), - aPlayer); - } - } - - public static boolean isCachedFakePlayer(String aUUID) { - return mCachedFakePlayers.containsKey(aUUID); - } - - public static boolean isRealPlayer(EntityLivingBase aEntity) { - if (aEntity instanceof EntityPlayer p) { - ChunkCoordinates aChunkLocation = p.getPlayerCoordinates(); - if (p instanceof FakePlayer) { - cacheFakePlayer(p); - return false; - } - if (mThaumcraftFakePlayer != null && mThaumcraftFakePlayer.isInstance(p)) { - cacheFakePlayer(p); - return false; - } - if (p.getCommandSenderName() == null) { - cacheFakePlayer(p); - return false; - } - if (p.getCommandSenderName() - .length() <= 0) { - cacheFakePlayer(p); - return false; - } - if (p.isEntityInvulnerable() && !p.canCommandSenderUseCommand(0, "") - && (aChunkLocation.posX == 0 && aChunkLocation.posY == 0 && aChunkLocation.posZ == 0)) { - cacheFakePlayer(p); - return false; - } - if (!isCachedFakePlayer( - p.getUniqueID() - .toString())) { - return true; - } - } - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/RecipeUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/RecipeUtils.java deleted file mode 100644 index ed2da4d7f7..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/RecipeUtils.java +++ /dev/null @@ -1,465 +0,0 @@ -package gtPlusPlus.core.util.minecraft; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; - -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.IRecipe; -import net.minecraft.item.crafting.ShapelessRecipes; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.objects.ItemData; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.minecraft.ShapedRecipe; -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.recipe.common.CI; -import gtPlusPlus.core.util.data.ArrayUtils; - -public class RecipeUtils { - - public static int mInvalidID = 1; - - public static void recipeBuilder(final Object slot_1, final Object slot_2, final Object slot_3, final Object slot_4, - final Object slot_5, final Object slot_6, final Object slot_7, final Object slot_8, final Object slot_9, - ItemStack resultItem) { - - if (resultItem == null) { - Logger.RECIPE( - "[Fix] Found a recipe with an invalid output, yet had a valid inputs. Using Dummy output so recipe can be found.."); - resultItem = ItemUtils.getItemStackOfAmountFromOreDict("givemeabrokenitem", 1); - resultItem.setItemDamage(mInvalidID++); - RegistrationHandler.recipesFailed++; - - } else if ((slot_1 == null) && (slot_2 == null) - && (slot_3 == null) - && (slot_4 == null) - && (slot_5 == null) - && (slot_6 == null) - && (slot_7 == null) - && (slot_8 == null) - && (slot_9 == null)) { - Logger.RECIPE("[Fix] Found a recipe with 0 inputs, yet had a valid output."); - Logger.RECIPE( - "[Fix] Error found while adding a recipe for: " + resultItem != null ? resultItem.getDisplayName() - : "Bad Output Item" + " | Please report this issue on Github."); - RegistrationHandler.recipesFailed++; - return; - } - - Object[] o = new Object[] { slot_1, slot_2, slot_3, slot_4, slot_5, slot_6, slot_7, slot_8, slot_9 }; - - try { - int size = COMPAT_HANDLER.mRecipesToGenerate.size(); - COMPAT_HANDLER.mRecipesToGenerate.put(new InternalRecipeObject(o, resultItem, false)); - // Utils.LOG_WARNING("Success! Added a recipe for "+resultItem.getDisplayName()); - if (COMPAT_HANDLER.mRecipesToGenerate.size() > size) { - if (!COMPAT_HANDLER.areInitItemsLoaded) { - RegistrationHandler.recipesSuccess++; - } else { - LateRegistrationHandler.recipesSuccess++; - } - } - } catch (RuntimeException k) { - Logger.RECIPE( - "[Fix] Invalid Recipe detected for: " + resultItem != null ? resultItem.getUnlocalizedName() - : "INVALID OUTPUT ITEM"); - if (!COMPAT_HANDLER.areInitItemsLoaded) { - RegistrationHandler.recipesFailed++; - } else { - LateRegistrationHandler.recipesFailed++; - } - } - } - - public static void removeCraftingRecipe(Object x) { - if (null == x) { - return; - } - if (x instanceof String) { - final Item R = ItemUtils.getItemFromFQRN((String) x); - if (R != null) { - x = R; - } else { - return; - } - } - if ((x instanceof Item) || (x instanceof ItemStack)) { - if (x instanceof Item) { - final ItemStack r = new ItemStack((Item) x); - Logger.RECIPE("Removing Recipe for " + r.getUnlocalizedName()); - } else { - Logger.RECIPE("Removing Recipe for " + ((ItemStack) x).getUnlocalizedName()); - } - if (x instanceof ItemStack) { - final Item r = ((ItemStack) x).getItem(); - if (null != r) { - x = r; - } else { - Logger.RECIPE("Recipe removal failed - Tell Alkalus."); - return; - } - } - if (RecipeUtils.attemptRecipeRemoval((Item) x)) { - Logger.RECIPE("Recipe removal successful"); - return; - } - Logger.RECIPE("Recipe removal failed - Tell Alkalus."); - } - } - - private static boolean attemptRecipeRemoval(final Item I) { - Logger.RECIPE("Create list of recipes."); - final List recipes = CraftingManager.getInstance() - .getRecipeList(); - final Iterator items = recipes.iterator(); - Logger.RECIPE("Begin list iteration."); - while (items.hasNext()) { - final ItemStack is = items.next() - .getRecipeOutput(); - if ((is != null) && (is.getItem() == I)) { - items.remove(); - Logger.RECIPE("Remove a recipe with " + I.getUnlocalizedName() + " as output."); - continue; - } - } - Logger.RECIPE("All recipes should be gone?"); - if (!items.hasNext()) { - Logger.RECIPE("We iterated once, let's try again to double check."); - for (IRecipe recipe : recipes) { - final ItemStack is = recipe.getRecipeOutput(); - if ((is != null) && (is.getItem() == I)) { - items.remove(); - Logger.RECIPE("REMOVING MISSED RECIPE - RECHECK CONSTRUCTORS"); - return true; - } - } - Logger.RECIPE("Should be all gone now after double checking, so return true."); - return true; - } - Logger.RECIPE("Return false, because something went wrong."); - return false; - } - - public static boolean addShapedGregtechRecipe(final Object InputItem1, final Object InputItem2, - final Object InputItem3, final Object InputItem4, final Object InputItem5, final Object InputItem6, - final Object InputItem7, final Object InputItem8, final Object InputItem9, final ItemStack OutputItem) { - - Object[] o = { InputItem1, InputItem2, InputItem3, InputItem4, InputItem5, InputItem6, InputItem7, InputItem8, - InputItem9 }; - - if (gtPlusPlus.GTplusplus.CURRENT_LOAD_PHASE != GTplusplus.INIT_PHASE.POST_INIT) { - CORE.crash( - "Load Phase " + gtPlusPlus.GTplusplus.CURRENT_LOAD_PHASE - + " should be " - + GTplusplus.INIT_PHASE.POST_INIT - + ". Unable to register recipe."); - } - - int size = COMPAT_HANDLER.mGtRecipesToGenerate.size(); - COMPAT_HANDLER.mGtRecipesToGenerate.put(new InternalRecipeObject(o, OutputItem, true)); - - if (COMPAT_HANDLER.mGtRecipesToGenerate.size() > size) { - if (!COMPAT_HANDLER.areInitItemsLoaded) { - RegistrationHandler.recipesSuccess++; - } else { - LateRegistrationHandler.recipesSuccess++; - } - return true; - } - return false; - } - - public static boolean addShapelessGregtechRecipe(final Object[] inputItems, final ItemStack OutputItem) { - // Catch Invalid Recipes - if (inputItems.length > 9 || inputItems.length < 1) { - if (OutputItem != null) { - Logger.RECIPE( - "[Fix] Invalid input array for shapeless recipe, which should output " - + OutputItem.getDisplayName()); - } - return false; - } - // let gregtech handle shapeless recipes. - if (GT_ModHandler.addShapelessCraftingRecipe(OutputItem, inputItems)) { - return true; - } - return false; - } - - public static boolean generateMortarRecipe(ItemStack aStack, ItemStack aOutput) { - return RecipeUtils - .addShapedGregtechRecipe(aStack, null, null, CI.craftingToolMortar, null, null, null, null, null, aOutput); - } - - public static class InternalRecipeObject implements RunnableWithInfo { - - final ItemStack mOutput; - final ShapedOreRecipe mRecipe; - public final boolean isValid; - - public InternalRecipeObject(Object[] aInputs, ItemStack aOutput, boolean gtRecipe) { - Logger.RECIPE("==================================="); - mOutput = aOutput != null ? aOutput.copy() : null; - Object[] aFiltered = new Object[9]; - int aValid = 0; - for (Object o : aInputs) { - if (o instanceof ItemStack) { - aFiltered[aValid++] = o; - } else if (o instanceof Item) { - aFiltered[aValid++] = ItemUtils.getSimpleStack((Item) o); - } else if (o instanceof Block) { - aFiltered[aValid++] = ItemUtils.getSimpleStack((Block) o); - } else if (o instanceof String) { - aFiltered[aValid++] = o; - } else if (o == null) { - aFiltered[aValid++] = null; - } else { - Logger.RECIPE( - "Cleaned a " + o.getClass() - .getSimpleName() + " from recipe input."); - } - } - - int validCounter = 0, invalidCounter = 0; - for (Object p : aFiltered) { - if (p instanceof ItemStack) { - validCounter++; - } else if (p instanceof Item) { - validCounter++; - } else if (p instanceof Block) { - validCounter++; - } else if (p instanceof String) { - validCounter++; - } else if (p == null) { - validCounter++; - } else { - invalidCounter++; - } - } - - Logger.RECIPE("Using " + validCounter + " valid inputs and " + invalidCounter + " invalid inputs."); - ShapedRecipe r = new ShapedRecipe(aFiltered, mOutput); - if (r != null && r.mRecipe != null) { - isValid = true; - } else { - isValid = false; - } - mRecipe = r != null ? r.mRecipe : null; - } - - @Override - public void run() { - if (this.isValid) { - GameRegistry.addRecipe(mRecipe); - } else { - Logger.RECIPE( - "[Fix] Invalid shapped recipe outputting " - + (mOutput != null ? mOutput.getDisplayName() : "Bad Output Item")); - } - } - - @Override - public String getInfoData() { - if (mOutput != null && mOutput instanceof ItemStack) { - return mOutput.getDisplayName(); - } - return ""; - } - } - - public static boolean removeRecipeByOutput(ItemStack aOutput) { - return removeRecipeByOutput(aOutput, true, false, false); - } - - public static boolean removeRecipeByOutput(ItemStack aOutput, boolean aIgnoreNBT, - boolean aNotRemoveShapelessRecipes, boolean aOnlyRemoveNativeHandlers) { - if (aOutput == null) { - return false; - } else { - boolean rReturn = false; - ArrayList tList = (ArrayList) CraftingManager.getInstance() - .getRecipeList(); - aOutput = GT_OreDictUnificator.get(aOutput); - int tList_sS = tList.size(); - - for (int i = 0; i < tList_sS; ++i) { - IRecipe tRecipe = (IRecipe) tList.get(i); - if (!aNotRemoveShapelessRecipes - || !(tRecipe instanceof ShapelessRecipes) && !(tRecipe instanceof ShapelessOreRecipe)) { - if (aOnlyRemoveNativeHandlers) { - if (!gregtech.api.util.GT_ModHandler.sNativeRecipeClasses.contains( - tRecipe.getClass() - .getName())) { - continue; - } - } else if (gregtech.api.util.GT_ModHandler.sSpecialRecipeClasses.contains( - tRecipe.getClass() - .getName())) { - continue; - } - - ItemStack tStack = tRecipe.getRecipeOutput(); - if (GT_Utility.areStacksEqual(GT_OreDictUnificator.get(tStack), aOutput, aIgnoreNBT)) { - tList.remove(i--); - tList_sS = tList.size(); - rReturn = true; - } - } - } - - return rReturn; - } - } - - public static void addSmeltingRecipe(ItemStack aStackInput, ItemStack aStackOutput, float aXpGained) { - - GameRegistry.addSmelting(aStackInput, aStackOutput, aXpGained); - } - - public static boolean addShapedRecipe(Object Input_1, Object Input_2, Object Input_3, Object Input_4, - Object Input_5, Object Input_6, Object Input_7, Object Input_8, Object Input_9, ItemStack aOutputStack) { - return addShapedRecipe( - new Object[] { Input_1, Input_2, Input_3, Input_4, Input_5, Input_6, Input_7, Input_8, Input_9 }, - aOutputStack); - } - - private static boolean addShapedRecipe(Object[] Inputs, ItemStack aOutputStack) { - Object[] Slots = new Object[9]; - - String aFullString = ""; - String aFullStringExpanded = "abcdefghi"; - - for (int i = 0; i < 9; i++) { - Object o = Inputs[i]; - - if (o instanceof ItemStack) { - Slots[i] = ItemUtils.getSimpleStack((ItemStack) o, 1); - aFullString += aFullStringExpanded.charAt(i); - } else if (o instanceof Item) { - Slots[i] = ItemUtils.getSimpleStack((Item) o, 1); - aFullString += aFullStringExpanded.charAt(i); - } else if (o instanceof Block) { - Slots[i] = ItemUtils.getSimpleStack((Block) o, 1); - aFullString += aFullStringExpanded.charAt(i); - } else if (o instanceof String) { - Slots[i] = o; - aFullString += aFullStringExpanded.charAt(i); - } else if (o instanceof ItemData aData) { - ItemStack aStackFromGT = ItemUtils.getOrePrefixStack(aData.mPrefix, aData.mMaterial.mMaterial, 1); - Slots[i] = aStackFromGT; - aFullString += aFullStringExpanded.charAt(i); - } else if (o == null) { - Slots[i] = null; - aFullString += " "; - } else { - Slots[i] = null; - Logger.INFO( - "Cleaned a " + o.getClass() - .getSimpleName() + " from recipe input."); - Logger.INFO("ERROR"); - CORE.crash("Bad Shaped Recipe."); - } - } - Logger.RECIPE("Using String: " + aFullString); - - String aRow1 = aFullString.substring(0, 3); - String aRow2 = aFullString.substring(3, 6); - String aRow3 = aFullString.substring(6, 9); - Logger.RECIPE("" + aRow1); - Logger.RECIPE("" + aRow2); - Logger.RECIPE("" + aRow3); - - String[] aStringData = new String[] { aRow1, aRow2, aRow3 }; - Object[] aDataObject = new Object[19]; - aDataObject[0] = aStringData; - int aIndex = 0; - - for (int u = 1; u < 20; u += 2) { - if (aIndex == 9) { - break; - } - if (aFullString.charAt(aIndex) != (' ')) { - aDataObject[u] = aFullString.charAt(aIndex); - aDataObject[u + 1] = Slots[aIndex]; - Logger.INFO( - "(" + aIndex - + ") " - + aFullString.charAt(aIndex) - + " | " - + (Slots[aIndex] instanceof ItemStack ? ItemUtils.getItemName((ItemStack) Slots[aIndex]) - : Slots[aIndex] instanceof String ? (String) Slots[aIndex] : "Unknown")); - } - aIndex++; - } - - Logger.RECIPE("Data Size: " + aDataObject.length); - aDataObject = ArrayUtils.removeNulls(aDataObject); - Logger.RECIPE("Clean Size: " + aDataObject.length); - Logger.RECIPE("ArrayData: " + Arrays.toString(aDataObject)); - - ShapedOreRecipe aRecipe = new ShapedOreRecipe(aOutputStack, aDataObject); - - int size = COMPAT_HANDLER.mRecipesToGenerate.size(); - COMPAT_HANDLER.mRecipesToGenerate.put(new InternalRecipeObject2(aRecipe)); - if (COMPAT_HANDLER.mRecipesToGenerate.size() > size) { - if (!COMPAT_HANDLER.areInitItemsLoaded) { - RegistrationHandler.recipesSuccess++; - } else { - LateRegistrationHandler.recipesSuccess++; - } - return true; - } - return false; - } - - public static class InternalRecipeObject2 implements RunnableWithInfo { - - final ItemStack mOutput; - final ShapedOreRecipe mRecipe; - final boolean isValid; - - public InternalRecipeObject2(ShapedOreRecipe aRecipe) { - mRecipe = aRecipe; - mOutput = aRecipe.getRecipeOutput(); - if (mOutput != null) { - this.isValid = true; - } else { - this.isValid = false; - } - } - - @Override - public void run() { - if (this.isValid) { - GameRegistry.addRecipe(mRecipe); - } else { - Logger.INFO( - "[Fix] Invalid shapped recipe outputting " + mOutput != null ? mOutput.getDisplayName() - : "Bad Output Item"); - } - } - - @Override - public String getInfoData() { - if (mOutput != null) { - return mOutput.getDisplayName(); - } - return ""; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java deleted file mode 100644 index 4e6e508c15..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java +++ /dev/null @@ -1,147 +0,0 @@ -package gtPlusPlus.core.util.minecraft.gregtech; - -import net.minecraft.item.ItemStack; -import net.minecraft.world.chunk.Chunk; -import net.minecraftforge.fluids.FluidStack; - -import org.apache.commons.lang3.ArrayUtils; - -import gregtech.GT_Mod; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; -import gregtech.common.GT_Pollution; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.item.base.cell.BaseItemCell; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class PollutionUtils { - - public static AutoMap mPollutionFluidStacks = new AutoMap<>(); - - public static boolean isPollutionEnabled() { - return GT_Mod.gregtechproxy.mPollution; - } - - public static boolean addPollution(IGregTechTileEntity te, int pollutionValue) { - if (GT_Mod.gregtechproxy.mPollution) { - GT_Pollution.addPollution(te, pollutionValue); - return true; - } - return false; - } - - public static void addPollution(IHasWorldObjectAndCoords aTileOfSomeSort, int pollutionValue) { - if (GT_Mod.gregtechproxy.mPollution) { - Chunk c = aTileOfSomeSort.getWorld() - .getChunkFromBlockCoords(aTileOfSomeSort.getXCoord(), aTileOfSomeSort.getZCoord()); - addPollution(c, pollutionValue); - } - } - - public static void addPollution(Chunk aChunk, int pollutionValue) { - if (GT_Mod.gregtechproxy.mPollution) { - GT_Pollution.addPollution(aChunk, pollutionValue); - } - } - - public static void removePollution(IGregTechTileEntity te, int pollutionValue) { - addPollution(te, -pollutionValue); - } - - public static void removePollution(Chunk aChunk, int pollutionValue) { - addPollution(aChunk, -pollutionValue); - } - - public static void nullifyPollution(IGregTechTileEntity te) { - if (te == null) { - return; - } - nullifyPollution((IHasWorldObjectAndCoords) te); - } - - public static void nullifyPollution(IHasWorldObjectAndCoords aTileOfSomeSort) { - if (aTileOfSomeSort == null) { - return; - } - Chunk c = aTileOfSomeSort.getWorld() - .getChunkFromBlockCoords(aTileOfSomeSort.getXCoord(), aTileOfSomeSort.getZCoord()); - nullifyPollution(c); - } - - public static void nullifyPollution(Chunk aChunk) { - if (GT_Mod.gregtechproxy.mPollution) { - if (aChunk == null) { - return; - } - int getCurrentPollution = getPollution(aChunk); - if (getCurrentPollution > 0) { - removePollution(aChunk, getCurrentPollution); - } - } - } - - public static int getPollution(IGregTechTileEntity te) { - return GT_Pollution.getPollution(te); - } - - public static int getPollution(Chunk te) { - return GT_Pollution.getPollution(te); - } - - public static void setPollutionFluids() { - if (mPollutionFluidStacks.isEmpty()) { - FluidStack CD, CM, SD; - CD = FluidUtils.getFluidStack("carbondioxide", 1000); - CM = FluidUtils.getFluidStack("carbonmonoxide", 1000); - SD = FluidUtils.getFluidStack("sulfurdioxide", 1000); - if (PollutionUtils.mPollutionFluidStacks.size() == 0) { - if (CD != null) { - Logger.INFO("[PollutionCompat] Found carbon dioxide fluid, registering it."); - PollutionUtils.mPollutionFluidStacks.put(CD); - MISC_MATERIALS.CARBON_DIOXIDE.registerComponentForMaterial(CD); - ItemStack cellCD = ItemUtils.getItemStackOfAmountFromOreDict("cellCarbonDioxide", 1); - if (ItemUtils.checkForInvalidItems(cellCD)) { - Logger.INFO("[PollutionCompat] Found carbon dioxide cell, registering component."); - MISC_MATERIALS.CARBON_DIOXIDE.registerComponentForMaterial(OrePrefixes.cell, cellCD); - } else { - Logger.INFO("[PollutionCompat] Did not find carbon dioxide cell, registering new component."); - new BaseItemCell(MISC_MATERIALS.CARBON_DIOXIDE); - } - } else { - MaterialGenerator.generate(MISC_MATERIALS.CARBON_DIOXIDE, false, false); - } - - if (CM != null) { - Logger.INFO("[PollutionCompat] Found carbon monoxide fluid, registering it."); - PollutionUtils.mPollutionFluidStacks.put(CM); - MISC_MATERIALS.CARBON_MONOXIDE.registerComponentForMaterial(CM); - ItemStack cellCD = ItemUtils.getItemStackOfAmountFromOreDict("cellCarbonMonoxide", 1); - if (ItemUtils.checkForInvalidItems(cellCD)) { - Logger.INFO("[PollutionCompat] Found carbon monoxide cell, registering component."); - MISC_MATERIALS.CARBON_MONOXIDE.registerComponentForMaterial(OrePrefixes.cell, cellCD); - } else { - Logger.INFO("[PollutionCompat] Did not find carbon monoxide cell, registering new component."); - new BaseItemCell(MISC_MATERIALS.CARBON_MONOXIDE); - } - } else { - MaterialGenerator.generate(MISC_MATERIALS.CARBON_MONOXIDE, false, false); - } - - if (SD != null) { - Logger.INFO("[PollutionCompat] Found sulfur dioxide fluid, registering it."); - PollutionUtils.mPollutionFluidStacks.put(SD); - } - } - } else { - if (mPollutionFluidStacks.size() != 3) { - Logger.INFO("Unable to detect all 3 pollution fluids. Found: "); - Logger.INFO(ArrayUtils.toString(mPollutionFluidStacks)); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/recipe/GT_RecipeUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/recipe/GT_RecipeUtils.java deleted file mode 100644 index c5498e4f59..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/recipe/GT_RecipeUtils.java +++ /dev/null @@ -1,95 +0,0 @@ -package gtPlusPlus.core.util.recipe; - -import static gtPlusPlus.core.slots.SlotIntegratedCircuit.isRegularProgrammableCircuit; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.item.ItemStack; - -import org.apache.commons.lang3.ArrayUtils; - -import gnu.trove.map.hash.TCustomHashMap; -import gnu.trove.set.hash.TCustomHashSet; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.objects.Logger; - -public class GT_RecipeUtils { - - public static List removeDuplicates(List inputRecipes, String recipeMapName) { - TCustomHashSet recipesHashSet = new TCustomHashSet<>(RecipeHashStrat.RecipeHashingStrategy); - ArrayList recipeOutput = new ArrayList<>(); - TCustomHashMap circuitMap = new TCustomHashMap<>(RecipeHashStrat.RecipeHashingStrategy); - int removedRecipeCount = 0; - - for (GT_Recipe recipeInput : inputRecipes) { - ItemStack savedCircuit = null; - // create a new input ItemStack array that does not contain programmable circuits if they were in the recipe - ArrayList itemInputsWithoutProgrammableCircuit = new ArrayList<>(); - // iterate over the recipe input items and add them all to a new array without any programmable circuits - for (ItemStack itemStack : recipeInput.mInputs) { - if (itemStack == null) { - continue; - } - if (isRegularProgrammableCircuit(itemStack) == -1) { - itemInputsWithoutProgrammableCircuit.add(itemStack); - } else { - savedCircuit = itemStack; - } - } - GT_Recipe newRecipe = new GT_Recipe( - false, - itemInputsWithoutProgrammableCircuit.toArray(new ItemStack[0]), - recipeInput.mOutputs, - recipeInput.mSpecialItems, - recipeInput.mChances, - recipeInput.mFluidInputs, - recipeInput.mFluidOutputs, - recipeInput.mDuration, - recipeInput.mEUt, - recipeInput.mSpecialValue); - if (!recipesHashSet.contains(newRecipe)) { - // if the recipes customHashSet does not contain the new recipe then add it - recipesHashSet.add(newRecipe); - } else { - removedRecipeCount++; - } - if (savedCircuit != null) { - // if the current recipe has a circuit and the recipe (without circuits) is already in the - // circuit map then check make sure the circuit map saves the recipe with the smallest circuit - // damage value. This is to prevent a case where recipe load order would affect which duplicate - // recipes with multiple circuit values gets removed. - if (circuitMap.containsKey(newRecipe)) { - if (circuitMap.get(newRecipe) - .getItemDamage() > savedCircuit.getItemDamage()) { - circuitMap.put(newRecipe, savedCircuit); - } - } else { - // If the circuit map does not have the recipe in it yet then add it - circuitMap.put(newRecipe, savedCircuit); - } - } - } - // iterate over all recipes without duplicates and add them to the output. If the recipe had a programmable - // circuit in it then add it back with its damage value coming from the circuit map. - for (GT_Recipe filteredRecipe : recipesHashSet) { - // check to see if the recipe is in the circuit map - if (circuitMap.contains(filteredRecipe)) { - // add the circuit back - // update the item input array with the new input from - // ItemInputsWithoutProgrammableCircuit + circuit map circuit - filteredRecipe.mInputs = ArrayUtils.add(filteredRecipe.mInputs, circuitMap.get(filteredRecipe)); - } - // if the recipe was not in the circuit map then just add it the output as no updates to the item input - // needs to be made - recipeOutput.add(filteredRecipe); - } - // print results to log - Logger.INFO( - "Recipe Array duplication removal process completed for '" + recipeMapName - + "': '" - + removedRecipeCount - + "' removed."); - return recipeOutput; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/recipe/RecipeHashStrat.java b/gtpp/src/main/java/gtPlusPlus/core/util/recipe/RecipeHashStrat.java deleted file mode 100644 index 18323a4c8b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/recipe/RecipeHashStrat.java +++ /dev/null @@ -1,116 +0,0 @@ -package gtPlusPlus.core.util.recipe; - -import java.util.Arrays; -import java.util.Comparator; -import java.util.Objects; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gnu.trove.strategy.HashingStrategy; -import gregtech.api.util.GT_Recipe; - -public class RecipeHashStrat { - - public static final HashingStrategy RecipeHashingStrategy = new HashingStrategy<>() { - - @Override - public int computeHashCode(GT_Recipe recipe) { - return com.google.common.base.Objects.hashCode(recipe.mDuration, recipe.mEUt); - } - - @Override - public boolean equals(GT_Recipe recipe1, GT_Recipe recipe2) { - return areRecipesEqual(recipe1, recipe2); - } - }; - - public static boolean areRecipesEqual(GT_Recipe recipe1, GT_Recipe recipe2) { - // both item outputs use a copy to prevent interfering with chance based output orders - // sort all the arrays for recipe1 - RecipeHashStrat.sortItemStackArray(recipe1.mInputs); - ItemStack[] recipe1OutputCopy = recipe1.mOutputs.clone(); - RecipeHashStrat.sortItemStackArray(recipe1OutputCopy); - RecipeHashStrat.sortFluidStackArray(recipe1.mFluidInputs); - RecipeHashStrat.sortFluidStackArray(recipe1.mFluidOutputs); - // sort all the arrays for recipe2 - - RecipeHashStrat.sortItemStackArray(recipe2.mInputs); - ItemStack[] recipe2OutputCopy = recipe2.mOutputs.clone(); - RecipeHashStrat.sortItemStackArray(recipe2OutputCopy); - RecipeHashStrat.sortFluidStackArray(recipe2.mFluidInputs); - RecipeHashStrat.sortFluidStackArray(recipe2.mFluidOutputs); - - // checks if the recipe EUt, Duration, inputs and outputs for both items and fluids are equal - if (recipe1.mEUt != recipe2.mEUt) { - return false; - } - if (recipe1.mDuration != recipe2.mDuration) { - return false; - } - if (!areItemsStackArraysEqual(recipe1.mInputs, recipe2.mInputs)) { - return false; - } - if (!areItemsStackArraysEqual(recipe1OutputCopy, recipe2OutputCopy)) { - return false; - } - if (!areFluidStackArraysEqual(recipe1.mFluidInputs, recipe2.mFluidInputs)) { - return false; - } - if (!areFluidStackArraysEqual(recipe1.mFluidOutputs, recipe2.mFluidOutputs)) { - return false; - } - return true; - - } - - public static void sortItemStackArray(ItemStack[] itemStackArray) { - Arrays.sort( - itemStackArray, - Comparator.comparing(itemStack -> Item.getIdFromItem(itemStack.getItem())) - .thenComparing(ItemStack::getItemDamage) - .thenComparing(itemStack -> itemStack.stackSize)); - } - - public static void sortFluidStackArray(FluidStack[] fluidStackArray) { - Arrays.sort( - fluidStackArray, - Comparator.comparing(FluidStack::getFluidID) - .thenComparing(fluidStack -> fluidStack.amount)); - } - - public static boolean areItemsStackArraysEqual(ItemStack[] array1, ItemStack[] array2) { - if (array1.length != array2.length) { - return false; - } - for (int i = 0; i < array1.length; i++) { - if (!Objects.equals(array1[i].getItem(), array2[i].getItem())) { - return false; - } - if (!Objects.equals(array1[i].getItemDamage(), array2[i].getItemDamage())) { - return false; - } - if (!Objects.equals(array1[i].stackSize, array2[i].stackSize)) { - return false; - } - } - return true; - } - - public static boolean areFluidStackArraysEqual(FluidStack[] array1, FluidStack[] array2) { - if (array1.length != array2.length) { - return false; - } - for (int i = 0; i < array1.length; i++) { - // check if the string representation of both FluidStacks are not equal - if (!Objects.equals(array1[i].getFluid(), array2[i].getFluid())) { - return false; - } - if (!Objects.equals(array1[i].amount, array2[i].amount)) { - return false; - } - } - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java b/gtpp/src/main/java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java deleted file mode 100644 index 807fba9238..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java +++ /dev/null @@ -1,77 +0,0 @@ -package gtPlusPlus.core.util.reflect; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; - -public final class AddGregtechRecipe { - - public static boolean importPyroRecipe(GT_Recipe aRecipe) { - - int aModifiedTime = (int) (aRecipe.mDuration * 0.8); - - if (aRecipe.mInputs == null || aRecipe.mFluidInputs == null - || aRecipe.mFluidOutputs == null - || aRecipe.mOutputs == null) { - return false; - } - if (aRecipe.mInputs.length > 2 || aRecipe.mFluidInputs.length > 1 - || aRecipe.mFluidOutputs.length > 1 - || aRecipe.mOutputs.length > 9) { - return false; - } else if (aRecipe.mInputs.length <= 0) { - return false; - } - - int aCircuitNumber = -1; - Item aCircuit = CI.getNumberedCircuit(1) - .getItem(); - boolean hasCircuit = false; - - for (ItemStack a : aRecipe.mInputs) { - if (a != null && a.getItem() == aCircuit) { - hasCircuit = true; - aCircuitNumber = a.getItemDamage(); - break; - } - } - - ItemStack aInputItem = null; - if (!hasCircuit || aCircuitNumber < 1) { - return false; - } - - for (ItemStack a : aRecipe.mInputs) { - if (a != null && a.getItem() != aCircuit) { - aInputItem = a; - break; - } - } - - return CORE.RA.addCokeOvenRecipe( - aCircuitNumber, - aInputItem, - aRecipe.mFluidInputs, - aRecipe.mFluidOutputs, - aRecipe.mOutputs, - aModifiedTime, - aRecipe.mEUt); - } - - @Deprecated - public static boolean addCokeAndPyrolyseRecipes(ItemStack input1, int circuitNumber, FluidStack inputFluid1, - ItemStack output1, FluidStack outputFluid1, int timeInSeconds, int euTick) { - // Seconds Conversion - int TIME = timeInSeconds * 20; - int TIMEPYRO = TIME + (TIME / 5); - // Even though it says coke and pyrolyse, ICO recipes are imported from pyrolyse by #importPyroRecipe - GT_Values.RA.addPyrolyseRecipe(input1, inputFluid1, circuitNumber, output1, outputFluid1, TIMEPYRO, euTick); - - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java deleted file mode 100644 index 078cef6ea8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java +++ /dev/null @@ -1,727 +0,0 @@ -package gtPlusPlus.core.util.reflect; - -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.LinkedHashMap; -import java.util.Map; - -import org.apache.commons.lang3.ArrayUtils; - -import com.google.common.reflect.ClassPath; -import com.gtnewhorizon.gtnhlib.reflect.Fields; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.data.StringUtils; - -@SuppressWarnings({ "unchecked", "rawtypes" }) -public class ReflectionUtils { - - public static Map> mCachedClasses = new LinkedHashMap<>(); - public static Map mCachedMethods = new LinkedHashMap<>(); - public static Map mCachedFields = new LinkedHashMap<>(); - public static Map mCachedConstructors = new LinkedHashMap<>(); - public static Map mCachedFieldAccessors = new LinkedHashMap<>(); - - private static class CachedConstructor { - - private final Constructor METHOD; - - public CachedConstructor(Constructor aCons) { - METHOD = aCons; - } - - public Constructor get() { - return METHOD; - } - } - - private static class CachedMethod { - - private final Method METHOD; - - public CachedMethod(Method aMethod, boolean isStatic) { - METHOD = aMethod; - } - - public Method get() { - return METHOD; - } - - } - - private static class CachedField { - - private final Field FIELD; - - public CachedField(Field aField, boolean isStatic) { - FIELD = aField; - } - - public Field get() { - return FIELD; - } - - } - - private static Fields.ClassFields.Field cacheAccessor(Field f) { - return mCachedFieldAccessors.computeIfAbsent( - f, - (field) -> Fields.ofClass(field.getDeclaringClass()) - .getUntypedField(Fields.LookupType.DECLARED_IN_HIERARCHY, field.getName())); - } - - private static boolean cacheClass(Class aClass) { - if (aClass == null) { - return false; - } - Class y = mCachedClasses.get(aClass.getCanonicalName()); - if (y == null) { - mCachedClasses.put(aClass.getCanonicalName(), aClass); - return true; - } - return false; - } - - private static boolean cacheMethod(Class aClass, Method aMethod) { - if (aMethod == null) { - return false; - } - boolean isStatic = Modifier.isStatic(aMethod.getModifiers()); - CachedMethod y = mCachedMethods - .get(aClass.getName() + "." + aMethod.getName() + "." + ArrayUtils.toString(aMethod.getParameterTypes())); - if (y == null) { - mCachedMethods.put( - aClass.getName() + "." + aMethod.getName() + "." + ArrayUtils.toString(aMethod.getParameterTypes()), - new CachedMethod(aMethod, isStatic)); - return true; - } - return false; - } - - private static boolean cacheField(Class aClass, Field aField) { - if (aField == null) { - return false; - } - boolean isStatic = Modifier.isStatic(aField.getModifiers()); - CachedField y = mCachedFields.get(aClass.getName() + "." + aField.getName()); - if (y == null) { - mCachedFields.put(aClass.getName() + "." + aField.getName(), new CachedField(aField, isStatic)); - return true; - } - return false; - } - - private static void cacheConstructor(Class aClass, Constructor aConstructor) { - if (aConstructor == null) { - return; - } - mCachedConstructors.computeIfAbsent( - aClass.getName() + "." + ArrayUtils.toString(aConstructor.getParameterTypes()), - k -> new CachedConstructor(aConstructor)); - } - - /** - * Returns a cached {@link Constructor} object. - * - * @param aClass - Class containing the Constructor. - * @param aTypes - Varags Class Types for objects constructor. - * @return - Valid, non-final, {@link Method} object, or {@link null}. - */ - public static Constructor getConstructor(Class aClass, Class... aTypes) { - if (aClass == null || aTypes == null) { - return null; - } - - String aMethodKey = ArrayUtils.toString(aTypes); - // Logger.REFLECTION("Looking up method in cache: "+(aClass.getName()+"."+aMethodName + "." + aMethodKey)); - CachedConstructor y = mCachedConstructors.get(aClass.getName() + "." + aMethodKey); - if (y == null) { - Constructor u = getConstructor_Internal(aClass, aTypes); - if (u != null) { - Logger.REFLECTION("Caching Constructor: " + aClass.getName() + "." + aMethodKey); - cacheConstructor(aClass, u); - return u; - } else { - return null; - } - } else { - return y.get(); - } - } - - /** - * Returns a cached {@link Class} object. - * - * @param aClassCanonicalName - The canonical name of the underlying class. - * @return - Valid, {@link Class} object, or {@link null}. - */ - public static Class getClass(String aClassCanonicalName) { - if (aClassCanonicalName == null || aClassCanonicalName.length() <= 0) { - return null; - } - Class y = mCachedClasses.get(aClassCanonicalName); - if (y == null) { - y = getClass_Internal(aClassCanonicalName); - if (y != null) { - Logger.REFLECTION("Caching Class: " + aClassCanonicalName); - cacheClass(y); - } - } - return y; - } - - /** - * Returns a cached {@link Method} object. Wraps {@link #getMethod(Class, String, Class...)}. - * - * @param aObject - Object containing the Method. - * @param aMethodName - Method's name in {@link String} form. - * @param aTypes - Class Array of Types for {@link Method}'s constructor. - * @return - Valid, non-final, {@link Method} object, or {@link null}. - */ - public static Method getMethod(Object aObject, String aMethodName, Class[] aTypes) { - return getMethod(aObject.getClass(), aMethodName, aTypes); - } - - /** - * Returns a cached {@link Method} object. - * - * @param aClass - Class containing the Method. - * @param aMethodName - Method's name in {@link String} form. - * @param aTypes - Varags Class Types for {@link Method}'s constructor. - * @return - Valid, non-final, {@link Method} object, or {@link null}. - */ - public static Method getMethod(Class aClass, String aMethodName, Class... aTypes) { - if (aClass == null || aMethodName == null || aMethodName.length() <= 0) { - return null; - } - String aMethodKey = ArrayUtils.toString(aTypes); - // Logger.REFLECTION("Looking up method in cache: "+(aClass.getName()+"."+aMethodName + "." + aMethodKey)); - CachedMethod y = mCachedMethods.get(aClass.getName() + "." + aMethodName + "." + aMethodKey); - if (y == null) { - Method u = getMethod_Internal(aClass, aMethodName, aTypes); - if (u != null) { - Logger.REFLECTION("Caching Method: " + aMethodName + "." + aMethodKey); - cacheMethod(aClass, u); - return u; - } else { - return null; - } - } else { - return y.get(); - } - } - - /** - * Returns a cached {@link Field} object. - * - * @param aClass - Class containing the Method. - * @param aFieldName - Field name in {@link String} form. - * @return - Valid, non-final, {@link Field} object, or {@link null}. - */ - public static Field getField(final Class aClass, final String aFieldName) { - if (aClass == null || aFieldName == null || aFieldName.length() <= 0) { - return null; - } - CachedField y = mCachedFields.get(aClass.getName() + "." + aFieldName); - if (y == null) { - Field u; - try { - u = getField_Internal(aClass, aFieldName); - if (u != null) { - Logger.REFLECTION("Caching Field '" + aFieldName + "' from " + aClass.getName()); - cacheField(aClass, u); - return u; - } - } catch (NoSuchFieldException e) {} - return null; - - } else { - return y.get(); - } - } - - /** - * Returns a cached {@link Field} object. - * - * @param aInstance - {@link Object} to get the field instance from. - * @param aFieldName - Field name in {@link String} form. - * @return - Valid, non-final, {@link Field} object, or {@link null}. - */ - public static T getField(final Object aInstance, final String aFieldName) { - try { - return (T) getField(aInstance.getClass(), aFieldName).get(aInstance); - } catch (IllegalArgumentException | IllegalAccessException e) { - return null; - } - } - - /* - * Utility Functions - */ - - public static boolean doesClassExist(final String classname) { - return isClassPresent(classname); - } - - public static void makeFieldAccessible(final Field field) { - if (!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic( - field.getDeclaringClass() - .getModifiers())) { - field.setAccessible(true); - } - } - - public static void makeMethodAccessible(final Method field) { - if (!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic( - field.getDeclaringClass() - .getModifiers())) { - field.setAccessible(true); - } - } - - /** - * Get the method name for a depth in call stack.
- * Utility function - * - * @param depth depth in the call stack (0 means current method, 1 means call method, ...) - * @return Method name - */ - public static String getMethodName(final int depth) { - final StackTraceElement[] ste = new Throwable().getStackTrace(); - // System. out.println(ste[ste.length-depth].getClassName()+"#"+ste[ste.length-depth].getMethodName()); - if (ste.length < depth) { - return "No valid stack."; - } - return ste[depth + 1].getMethodName(); - } - - /** - * - * @param aPackageName - The full {@link Package} name in {@link String} form. - * @return - {@link Boolean} object. True if loaded > 0 classes. - */ - public static boolean dynamicallyLoadClassesInPackage(String aPackageName) { - ClassLoader classLoader = ReflectionUtils.class.getClassLoader(); - int loaded = 0; - try { - ClassPath path = ClassPath.from(classLoader); - for (ClassPath.ClassInfo info : path.getTopLevelClassesRecursive(aPackageName)) { - Class clazz = Class.forName(info.getName(), true, classLoader); - if (clazz != null) { - loaded++; - Logger.INFO("Found " + clazz.getCanonicalName() + ". [" + loaded + "]"); - } - } - } catch (ClassNotFoundException | IOException e) { - - } - - return loaded > 0; - } - - public static void loadClass(String aClassName) { - try { - Class.forName(aClassName, true, ReflectionUtils.class.getClassLoader()); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } - } - - public static boolean setField(final Object object, final String fieldName, final Object fieldValue) { - Class clazz; - if (object instanceof Class) { - clazz = (Class) object; - } else { - clazz = object.getClass(); - } - while (clazz != null) { - try { - final Field field = getField(clazz, fieldName); - if (field != null) { - setFieldValue_Internal(object, field, fieldValue); - return true; - } - } catch (final NoSuchFieldException e) { - Logger.REFLECTION("setField(" + object + ", " + fieldName + ") failed."); - clazz = clazz.getSuperclass(); - } catch (final Exception e) { - Logger.REFLECTION("setField(" + object + ", " + fieldName + ") failed."); - throw new IllegalStateException(e); - } - } - return false; - } - - public static boolean setField(final Object object, final Field field, final Object fieldValue) { - if (field == null) return false; - Class clazz; - if (object instanceof Class) { - clazz = (Class) object; - } else { - clazz = object.getClass(); - } - while (clazz != null) { - try { - final Field field2 = getField(clazz, field.getName()); - if (field2 != null) { - setFieldValue_Internal(object, field, fieldValue); - return true; - } - } catch (final NoSuchFieldException e) { - Logger.REFLECTION("setField(" + object + ", " + field.getName() + ") failed."); - clazz = clazz.getSuperclass(); - } catch (final Exception e) { - Logger.REFLECTION("setField(" + object + ", " + field.getName() + ") failed."); - throw new IllegalStateException(e); - } - } - return false; - } - - /** - * Allows to change the state of an immutable instance. Huh?!? - */ - public static void setFinalFieldValue(Class clazz, String fieldName, Object newValue) { - Field nameField = getField(clazz, fieldName); - try { - setFieldValue_Internal(clazz, nameField, newValue); - } catch (Throwable t) { - t.printStackTrace(); - } - } - - public static void setByte(Object clazz, String fieldName, byte newValue) { - Field nameField = getField(clazz.getClass(), fieldName); - cacheAccessor(nameField).setValue(null, newValue); - } - - 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; - } - - /* - * Below Code block is used for determining generic types associated with type - */ - - /* - * End of Generics Block - */ - - private static Field getField_Internal(final Class clazz, final String fieldName) throws NoSuchFieldException { - try { - Logger.REFLECTION("Field: Internal Lookup: " + fieldName); - Field k = clazz.getDeclaredField(fieldName); - makeFieldAccessible(k); - return k; - } catch (final NoSuchFieldException e) { - Logger.REFLECTION("Field: Internal Lookup Failed: " + fieldName); - final Class superClass = clazz.getSuperclass(); - if (superClass == null) { - Logger.REFLECTION("Unable to find field '" + fieldName + "'"); - throw e; - } - Logger.REFLECTION("Method: Recursion Lookup: " + fieldName + " - Checking in " + superClass.getName()); - return getField_Internal(superClass, fieldName); - } - } - - /** - * 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. - */ - private static boolean isClassPresent(final String className) { - try { - Class.forName(className); - return true; - } catch (final Throwable ex) { - // Class or one of its dependencies is not present... - return false; - } - } - - private static Method getMethod_Internal(Class aClass, String aMethodName, Class... aTypes) { - Method m = null; - try { - Logger.REFLECTION("Method: Internal Lookup: " + aMethodName); - m = aClass.getDeclaredMethod(aMethodName, aTypes); - if (m != null) { - m.setAccessible(true); - } - } catch (Throwable t) { - Logger.REFLECTION("Method: Internal Lookup Failed: " + aMethodName); - try { - m = getMethodRecursively(aClass, aMethodName); - } catch (NoSuchMethodException e) { - Logger.REFLECTION("Unable to find method '" + aMethodName + "'"); - e.printStackTrace(); - dumpClassInfo(aClass); - } - } - return m; - } - - private static Constructor getConstructor_Internal(Class aClass, Class... aTypes) { - Constructor c = null; - try { - Logger.REFLECTION("Constructor: Internal Lookup: " + aClass.getName()); - c = aClass.getDeclaredConstructor(aTypes); - if (c != null) { - c.setAccessible(true); - } - } catch (Throwable t) { - Logger.REFLECTION("Constructor: Internal Lookup Failed: " + aClass.getName()); - try { - c = getConstructorRecursively(aClass, aTypes); - } catch (Exception e) { - Logger.REFLECTION("Unable to find method '" + aClass.getName() + "'"); - e.printStackTrace(); - dumpClassInfo(aClass); - } - } - return c; - } - - private static Constructor getConstructorRecursively(Class aClass, Class... aTypes) throws Exception { - try { - Logger.REFLECTION("Constructor: Recursion Lookup: " + aClass.getName()); - Constructor c = aClass.getConstructor(aTypes); - if (c != null) { - c.setAccessible(true); - } - return c; - } catch (final NoSuchMethodException | IllegalArgumentException e) { - final Class superClass = aClass.getSuperclass(); - if (superClass == null || superClass == Object.class) { - throw e; - } - return getConstructor_Internal(superClass, aTypes); - } - } - - private static Method getMethodRecursively(final Class clazz, final String aMethodName) - throws NoSuchMethodException { - try { - Logger.REFLECTION("Method: Recursion Lookup: " + aMethodName); - Method k = clazz.getDeclaredMethod(aMethodName); - makeMethodAccessible(k); - return k; - } catch (final NoSuchMethodException e) { - final Class superClass = clazz.getSuperclass(); - if (superClass == null || superClass == Object.class) { - throw e; - } - return getMethod_Internal(superClass, aMethodName); - } - } - - private static void dumpClassInfo(Class aClass) { - Logger.INFO( - "We ran into an error processing reflection in " + aClass.getName() + ", dumping all data for debugging."); - // Get the methods - Method[] methods = aClass.getDeclaredMethods(); - Field[] fields = aClass.getDeclaredFields(); - Constructor[] consts = aClass.getDeclaredConstructors(); - - Logger.INFO("Dumping all Methods."); - for (Method method : methods) { - System.out - .println(method.getName() + " | " + StringUtils.getDataStringFromArray(method.getParameterTypes())); - } - Logger.INFO("Dumping all Fields."); - for (Field f : fields) { - System.out.println(f.getName()); - } - Logger.INFO("Dumping all Constructors."); - for (Constructor c : consts) { - System.out.println( - c.getName() + " | " - + c.getParameterCount() - + " | " - + StringUtils.getDataStringFromArray(c.getParameterTypes())); - } - } - - private 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 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; - } - - private static Class getClass_Internal(String string) { - Class aClass = null; - if (ReflectionUtils.doesClassExist(string)) { - try { - aClass = Class.forName(string); - } catch (ClassNotFoundException e) { - aClass = getNonPublicClass(string); - } - } - - if (aClass == null) { - String aClassName = ""; - Logger.REFLECTION("Splitting " + string + " to try look for hidden classes."); - String[] aData = string.split("\\."); - Logger.REFLECTION("Obtained " + aData.length + " pieces."); - for (int i = 0; i < (aData.length - 1); i++) { - aClassName += (i > 0) ? "." + aData[i] : "" + aData[i]; - Logger.REFLECTION("Building: " + aClassName); - } - if (aClassName != null && aClassName.length() > 0) { - Logger.REFLECTION("Trying to search '" + aClassName + "' for inner classes."); - Class clazz = ReflectionUtils.getClass(aClassName); - if (clazz != null) { - Class[] y = clazz.getDeclaredClasses(); - if (y == null || y.length <= 0) { - Logger.REFLECTION("No hidden inner classes found."); - return null; - } else { - boolean found = false; - for (Class h : y) { - Logger.REFLECTION("Found hidden inner class: " + h.getCanonicalName()); - if (h.getSimpleName() - .toLowerCase() - .equals(aData[aData.length - 1].toLowerCase())) { - Logger.REFLECTION( - "Found correct class. [" + aData[aData.length - 1] - + "] Caching at correct location: " - + string); - Logger.REFLECTION("Found at location: " + h.getCanonicalName()); - ReflectionUtils.mCachedClasses.put(string, h); - aClass = h; - found = true; - break; - } - } - if (!found) { - return null; - } - } - } else { - return null; - } - } else { - return null; - } - } - return aClass; - } - - /** - * - * Set the value of a field reflectively. - */ - private static void setFieldValue_Internal(Object owner, Field field, Object value) throws Exception { - cacheAccessor(field).setValue(owner, value); - } - - public static boolean doesFieldExist(Class clazz, String string) { - if (clazz != null) { - if (ReflectionUtils.getField(clazz, string) != null) { - return true; - } - } - return false; - } - - public static T getFieldValue(Field field) { - return getFieldValue(field, null); - } - - public static T getFieldValue(Field field, Object instance) { - try { - return (T) field.get(instance); - } catch (IllegalArgumentException | IllegalAccessException e) {} - return null; - } - - public static T createNewInstanceFromConstructor(Constructor aConstructor, Object[] aArgs) { - T aInstance; - try { - aInstance = (T) aConstructor.newInstance(aArgs); - if (aInstance != null) { - return aInstance; - } - } catch (InstantiationException | IllegalAccessException | IllegalArgumentException - | InvocationTargetException e) { - e.printStackTrace(); - } - return null; - } - - public static Enum getEnum(Class sgtbees, String name) { - if (sgtbees.isEnum()) { - Object[] aValues = sgtbees.getEnumConstants(); - for (Object o : aValues) { - if (o.toString() - .toLowerCase() - .equals(name.toLowerCase())) { - return (Enum) o; - } - } - } - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/util/sys/KeyboardUtils.java b/gtpp/src/main/java/gtPlusPlus/core/util/sys/KeyboardUtils.java deleted file mode 100644 index 9c8b471ff6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/util/sys/KeyboardUtils.java +++ /dev/null @@ -1,37 +0,0 @@ -package gtPlusPlus.core.util.sys; - -import net.minecraft.client.Minecraft; - -import org.lwjgl.input.Keyboard; - -public class KeyboardUtils { - - public static boolean isCtrlKeyDown() { - try { - if (!Keyboard.isCreated()) { - return false; - } - // prioritize CONTROL, but allow OPTION as well on Mac (note: GuiScreen's isCtrlKeyDown only checks for the - // OPTION key on Mac) - boolean isCtrlKeyDown = Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) - || Keyboard.isKeyDown(Keyboard.KEY_RCONTROL); - if (!isCtrlKeyDown && Minecraft.isRunningOnMac) - isCtrlKeyDown = Keyboard.isKeyDown(Keyboard.KEY_LMETA) || Keyboard.isKeyDown(Keyboard.KEY_RMETA); - - return isCtrlKeyDown; - } catch (Throwable t) { - return false; - } - } - - public static boolean isShiftKeyDown() { - try { - if (!Keyboard.isCreated()) { - return false; - } - return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT); - } catch (Throwable t) { - return false; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/world/explosions/ExplosionHandler.java b/gtpp/src/main/java/gtPlusPlus/core/world/explosions/ExplosionHandler.java deleted file mode 100644 index fdad398f6f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/world/explosions/ExplosionHandler.java +++ /dev/null @@ -1,31 +0,0 @@ -package gtPlusPlus.core.world.explosions; - -import net.minecraft.entity.Entity; -import net.minecraft.world.World; - -public class ExplosionHandler { - - /** - * Creates an explosion. Args: entity, x, y, z, strength - */ - public MiningExplosion createExplosion(final World world, final Entity entityObj, final double x, final double y, - final double z, final float size, final boolean makesFlames, final boolean makesSmoke) { - return this.newExplosion(world, entityObj, x, y, z, size, makesFlames, makesSmoke); - } - - /** - * returns a new explosion. - */ - public MiningExplosion newExplosion(final World world, final Entity entityObj, final double x, final double y, - final double z, final float size, final boolean makesFlames, final boolean makesSmoke) { - final MiningExplosion explosion = new MiningExplosion(world, entityObj, x, y, z, size); - explosion.isFlaming = makesFlames; - explosion.isSmoking = makesSmoke; - if (net.minecraftforge.event.ForgeEventFactory.onExplosionStart(world, explosion)) { - return explosion; - } - explosion.doExplosionA(); - explosion.doExplosionB(true); - return explosion; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/core/world/explosions/MiningExplosion.java b/gtpp/src/main/java/gtPlusPlus/core/world/explosions/MiningExplosion.java deleted file mode 100644 index 4d5473d349..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/core/world/explosions/MiningExplosion.java +++ /dev/null @@ -1,442 +0,0 @@ -package gtPlusPlus.core.world.explosions; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.enchantment.EnchantmentProtection; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; -import net.minecraft.world.ChunkPosition; -import net.minecraft.world.Explosion; -import net.minecraft.world.World; - -import gregtech.api.objects.XSTR; -import gtPlusPlus.core.entity.EntityPrimedMiningExplosive; -import gtPlusPlus.core.util.math.MathUtils; - -public class MiningExplosion extends Explosion { - - private final int field_77289_h = 16; - private final Random explosionRNG = new XSTR(); - private final World worldObj; - - private final Map 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) { - super(worldObj, entityObj, x, y, z, size); - this.worldObj = worldObj; - this.exploder = entityObj; - this.explosionSize = size; - this.explosionX = x; - this.explosionY = y; - this.explosionZ = z; - } - - /** - * Does the first part of the explosion (destroy blocks) - */ - @SuppressWarnings("unchecked") - @Override - public void doExplosionA() { - final float f = this.explosionSize; - final HashSet hashset = new HashSet<>(); - int i; - int j; - int k; - double d5; - double d6; - double d7; - - for (i = 0; i < this.field_77289_h; ++i) { - for (j = 0; j < this.field_77289_h; ++j) { - for (k = 0; k < this.field_77289_h; ++k) { - if ((i == 0) || (i == (this.field_77289_h - 1)) - || (j == 0) - || (j == (this.field_77289_h - 1)) - || (k == 0) - || (k == (this.field_77289_h - 1))) { - double d0 = ((i / (this.field_77289_h - 1.0F)) * 2.0F) - 1.0F; - double d1 = ((j / (this.field_77289_h - 1.0F)) * 2.0F) - 1.0F; - double d2 = ((k / (this.field_77289_h - 1.0F)) * 2.0F) - 1.0F; - final double d3 = Math.sqrt((d0 * d0) + (d1 * d1) + (d2 * d2)); - d0 /= d3; - d1 /= d3; - d2 /= d3; - float f1 = this.explosionSize * (0.7F + (this.worldObj.rand.nextFloat() * 0.6F)); - d5 = this.explosionX; - d6 = this.explosionY; - d7 = this.explosionZ; - - for (final float f2 = 0.3F; f1 > 0.0F; f1 -= f2 * 0.75F) { - final int j1 = MathHelper.floor_double(d5); - final int k1 = MathHelper.floor_double(d6); - final int l1 = MathHelper.floor_double(d7); - final Block block = this.worldObj.getBlock(j1, k1, l1); - - if (block.getMaterial() != Material.air) { - final float f3 = this.exploder != null - ? this.exploder.func_145772_a(this, this.worldObj, j1, k1, l1, block) - : block.getExplosionResistance( - this.exploder, - this.worldObj, - j1, - k1, - l1, - this.explosionX, - this.explosionY, - this.explosionZ); - f1 -= (f3 + 0.3F) * f2; - } - - if ((f1 > 0.0F) && ((this.exploder == null) - || this.exploder.func_145774_a(this, this.worldObj, j1, k1, l1, block, f1))) { - hashset.add(new ChunkPosition(j1, k1, l1)); - } - - d5 += d0 * f2; - d6 += d1 * f2; - d7 += d2 * f2; - } - } - } - } - } - - this.affectedBlockPositions.addAll(hashset); - this.explosionSize *= 2.0F; - i = MathHelper.floor_double(this.explosionX - this.explosionSize - 1.0D); - j = MathHelper.floor_double(this.explosionX + this.explosionSize + 1.0D); - k = MathHelper.floor_double(this.explosionY - this.explosionSize - 1.0D); - final int i2 = MathHelper.floor_double(this.explosionY + this.explosionSize + 1.0D); - final int l = MathHelper.floor_double(this.explosionZ - this.explosionSize - 1.0D); - final int j2 = MathHelper.floor_double(this.explosionZ + this.explosionSize + 1.0D); - final List list = this.worldObj - .getEntitiesWithinAABBExcludingEntity(this.exploder, AxisAlignedBB.getBoundingBox(i, k, l, j, i2, j2)); - net.minecraftforge.event.ForgeEventFactory.onExplosionDetonate(this.worldObj, this, list, this.explosionSize); - final Vec3 vec3 = Vec3.createVectorHelper(this.explosionX, this.explosionY, this.explosionZ); - - for (final Entity entity : list) { - final double d4 = entity.getDistance(this.explosionX, this.explosionY, this.explosionZ) - / this.explosionSize; - - if (d4 <= 1.0D) { - d5 = entity.posX - this.explosionX; - d6 = (entity.posY + entity.getEyeHeight()) - this.explosionY; - d7 = entity.posZ - this.explosionZ; - final double d9 = MathHelper.sqrt_double((d5 * d5) + (d6 * d6) + (d7 * d7)); - - if (d9 != 0.0D) { - d5 /= d9; - d6 /= d9; - d7 /= d9; - final double d10 = this.worldObj.getBlockDensity(vec3, entity.boundingBox); - final double d11 = (1.0D - d4) * d10; - entity.attackEntityFrom( - DamageSource.setExplosionSource(this), - ((int) (((((d11 * d11) + d11) / 2.0D) * 8.0D * this.explosionSize) + 1.0D))); - final double d8 = EnchantmentProtection.func_92092_a(entity, d11); - entity.motionX += d5 * d8; - entity.motionY += d6 * d8; - entity.motionZ += d7 * d8; - - if (entity instanceof EntityPlayer) { - this.field_77288_k.put(entity, Vec3.createVectorHelper(d5 * d11, d6 * d11, d7 * d11)); - } - } - } - } - - this.explosionSize = f; - } - - /** - * Does the second part of the explosion (sound, particles, drop spawn) - */ - @Override - public void doExplosionB(final boolean p_77279_1_) { - this.worldObj.playSoundEffect( - this.explosionX, - this.explosionY, - this.explosionZ, - "random.explode", - 4.0F, - (1.0F + ((this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F)) * 0.7F); - - if ((this.explosionSize >= 2.0F) && this.isSmoking) { - this.worldObj - .spawnParticle("hugeexplosion", this.explosionX, this.explosionY, this.explosionZ, 1.0D, 0.0D, 0.0D); - this.worldObj.spawnParticle( - "smoke", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largesmoke", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "cloud", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "flame", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "explode", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largeexplode", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "hugeexplosion", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } else { - this.worldObj - .spawnParticle("largeexplode", this.explosionX, this.explosionY, this.explosionZ, 1.0D, 0.0D, 0.0D); - this.worldObj.spawnParticle( - "smoke", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largesmoke", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "cloud", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "flame", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "explode", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largeexplode", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } - - Iterator iterator; - ChunkPosition chunkposition; - int i; - int j; - int k; - Block block; - - if (this.isSmoking) { - iterator = this.affectedBlockPositions.iterator(); - - while (iterator.hasNext()) { - chunkposition = iterator.next(); - i = chunkposition.chunkPosX; - j = chunkposition.chunkPosY; - k = chunkposition.chunkPosZ; - block = this.worldObj.getBlock(i, j, k); - - if (p_77279_1_) { - final double d0 = i + this.worldObj.rand.nextFloat(); - final double d1 = j + this.worldObj.rand.nextFloat(); - final double d2 = k + this.worldObj.rand.nextFloat(); - double d3 = d0 - this.explosionX; - double d4 = d1 - this.explosionY; - double d5 = d2 - this.explosionZ; - final double d6 = MathHelper.sqrt_double((d3 * d3) + (d4 * d4) + (d5 * d5)); - d3 /= d6; - d4 /= d6; - d5 /= d6; - double d7 = 0.5D / ((d6 / this.explosionSize) + 0.1D); - d7 *= (this.worldObj.rand.nextFloat() * this.worldObj.rand.nextFloat()) + 0.3F; - d3 *= d7; - d4 *= d7; - d5 *= d7; - this.worldObj.spawnParticle( - "explode", - (d0 + (this.explosionX * 1.0D)) / 2.0D, - (d1 + (this.explosionY * 1.0D)) / 2.0D, - (d2 + (this.explosionZ * 1.0D)) / 2.0D, - d3, - d4, - d5); - this.worldObj.spawnParticle("smoke", d0, d1, d2, d3, d4, d5); - this.worldObj.spawnParticle( - "smoke", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largesmoke", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "cloud", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "flame", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "explode", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "largeexplode", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - this.worldObj.spawnParticle( - "hugeexplosion", - this.explosionX + MathUtils.randDouble(0, 1), - this.explosionY + MathUtils.randDouble(0, 1), - this.explosionZ + MathUtils.randDouble(0, 1), - 0.0D, - 0.0D, - 0.0D); - } - - if (block.getMaterial() != Material.air) { - if (block.canDropFromExplosion(this)) { - // world, x, y, z, world.getBlockMetadata(x, y, z), dropProb, 0 - block.dropBlockAsItemWithChance( - this.worldObj, - i, - j, - k, - this.worldObj.getBlockMetadata(i, j, k), - 1F, - 0); - } - - block.onBlockExploded(this.worldObj, i, j, k, this); - } - } - } - - if (this.isFlaming) { - iterator = this.affectedBlockPositions.iterator(); - - while (iterator.hasNext()) { - chunkposition = iterator.next(); - i = chunkposition.chunkPosX; - j = chunkposition.chunkPosY; - k = chunkposition.chunkPosZ; - block = this.worldObj.getBlock(i, j, k); - final Block block1 = this.worldObj.getBlock(i, j - 1, k); - - if ((block.getMaterial() == Material.air) && block1.func_149730_j() - && (this.explosionRNG.nextInt(3) == 0)) { - this.worldObj.setBlock(i, j, k, Blocks.fire); - } - } - } - } - - @Override - public Map func_77277_b() { - return this.field_77288_k; - } - - /** - * Returns either the entity that placed the explosive block, the entity that caused the explosion or null. - */ - @Override - public EntityLivingBase getExplosivePlacedBy() { - return this.exploder == null ? null - : (this.exploder instanceof EntityPrimedMiningExplosive - ? ((EntityPrimedMiningExplosive) this.exploder).getTntPlacedBy() - : (this.exploder instanceof EntityLivingBase ? (EntityLivingBase) this.exploder : null)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java b/gtpp/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java deleted file mode 100644 index 34c6b01648..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java +++ /dev/null @@ -1,194 +0,0 @@ -package gtPlusPlus.everglades; - -import static gregtech.api.enums.Mods.GTPlusPlusEverglades; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; - -import net.minecraft.block.Block; -import net.minecraftforge.common.DimensionManager; -import net.minecraftforge.common.config.Configuration; - -import com.github.bartimaeusnek.crossmod.galacticgreg.GT_TileEntity_VoidMiner_Base; - -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.Mods; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.lib.CORE.Everglades; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.material.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_GT_Ore_Layer; -import gtPlusPlus.everglades.gen.gt.WorldGen_Ores; -import gtPlusPlus.preloader.CORE_Preloader; -import gtPlusPlus.xmod.gregtech.HANDLER_GT; -import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config; - -@Mod( - modid = Mods.Names.G_T_PLUS_PLUS_EVERGLADES, - name = Everglades.NAME, - version = Everglades.VERSION, - dependencies = "required-after:Forge; after:dreamcraft; after:IC2; required-after:gregtech; required-after:miscutils;") -public class GTplusplus_Everglades implements ActionListener { - - // Mod Instance - @Mod.Instance(Mods.Names.G_T_PLUS_PLUS_EVERGLADES) - public static GTplusplus_Everglades instance; - - // Dark World Handler - protected static volatile Biome_Everglades Everglades_Biome; - protected static volatile Dimension_Everglades Everglades_Dimension; - - // Pre-Init - @Mod.EventHandler - public void preInit(final FMLPreInitializationEvent event) { - Logger.INFO("Loading " + GTPlusPlusEverglades.ID + " V" + Everglades.VERSION); - - // Setup - setVars(event); - - setEvergladesBiome(new Biome_Everglades()); - Everglades_Dimension = new Dimension_Everglades(); - - // Load Dark World - 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"))); - } - - @EventHandler - public void load(final FMLInitializationEvent e) { - Logger.INFO("Begin resource allocation for " + GTPlusPlusEverglades.ID + " V" + Everglades.VERSION); - - // Load World and Biome - GameRegistry.registerWorldGenerator(new WorldGen_GT_Base(), Short.MAX_VALUE); - getEvergladesBiome().load(); - Everglades_Dimension.load(); - addToVoidMinerDrops(); - } - - public static synchronized void GenerateOreMaterials() { - MaterialGenerator.generateOreMaterial(ORES.CROCROITE); - MaterialGenerator.generateOreMaterial(ORES.GEIKIELITE); - MaterialGenerator.generateOreMaterial(ORES.NICHROMITE); - MaterialGenerator.generateOreMaterial(ORES.TITANITE); - MaterialGenerator.generateOreMaterial(ORES.ZIMBABWEITE); - MaterialGenerator.generateOreMaterial(ORES.ZIRCONILITE); - MaterialGenerator.generateOreMaterial(ORES.GADOLINITE_CE); - MaterialGenerator.generateOreMaterial(ORES.GADOLINITE_Y); - MaterialGenerator.generateOreMaterial(ORES.LEPERSONNITE); - MaterialGenerator.generateOreMaterial(ORES.SAMARSKITE_Y); - MaterialGenerator.generateOreMaterial(ORES.SAMARSKITE_YB); - MaterialGenerator.generateOreMaterial(ORES.XENOTIME); - MaterialGenerator.generateOreMaterial(ORES.YTTRIAITE); - MaterialGenerator.generateOreMaterial(ORES.YTTRIALITE); - MaterialGenerator.generateOreMaterial(ORES.YTTROCERITE); - MaterialGenerator.generateOreMaterial(ORES.ZIRCON); - MaterialGenerator.generateOreMaterial(ORES.POLYCRASE); - MaterialGenerator.generateOreMaterial(ORES.ZIRCOPHYLLITE); - MaterialGenerator.generateOreMaterial(ORES.ZIRKELITE); - MaterialGenerator.generateOreMaterial(ORES.LANTHANITE_LA); - MaterialGenerator.generateOreMaterial(ORES.LANTHANITE_CE); - MaterialGenerator.generateOreMaterial(ORES.LANTHANITE_ND); - MaterialGenerator.generateOreMaterial(ORES.AGARDITE_Y); - MaterialGenerator.generateOreMaterial(ORES.AGARDITE_CD); - MaterialGenerator.generateOreMaterial(ORES.AGARDITE_LA); - MaterialGenerator.generateOreMaterial(ORES.AGARDITE_ND); - MaterialGenerator.generateOreMaterial(ORES.HIBONITE); - MaterialGenerator.generateOreMaterial(ORES.CERITE); - MaterialGenerator.generateOreMaterial(ORES.FLUORCAPHITE); - MaterialGenerator.generateOreMaterial(ORES.FLORENCITE); - MaterialGenerator.generateOreMaterial(ORES.CRYOLITE); - - MaterialGenerator.generateOreMaterial(ORES.LAUTARITE); - MaterialGenerator.generateOreMaterial(ORES.LAFOSSAITE); - MaterialGenerator.generateOreMaterial(ORES.DEMICHELEITE_BR); - MaterialGenerator.generateOreMaterial(ORES.COMANCHEITE); - MaterialGenerator.generateOreMaterial(ORES.PERROUDITE); - MaterialGenerator.generateOreMaterial(ORES.HONEAITE); - MaterialGenerator.generateOreMaterial(ORES.ALBURNITE); - MaterialGenerator.generateOreMaterial(ORES.MIESSIITE); - MaterialGenerator.generateOreMaterial(ORES.KASHINITE); - MaterialGenerator.generateOreMaterial(ORES.IRARSITE); - MaterialGenerator.generateOreMaterial(ORES.GREENOCKITE); - MaterialGenerator.generateOreMaterial(ORES.RADIOBARITE); - MaterialGenerator.generateOreMaterial(ORES.DEEP_EARTH_REACTOR_FUEL_DEPOSIT); - - } - - 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_Everglades.DIMID)) { - Dimension_Everglades.DIMID = DimensionManager.getNextFreeDimId(); - } - - /* - * Set World Generation Values - */ - WorldGen_Ores.generateValidOreVeins(); - WorldGen_GT_Base.oreveinPercentage = 64; - WorldGen_GT_Base.oreveinAttempts = 16; - WorldGen_GT_Base.oreveinMaxPlacementAttempts = 4; - if (CORE_Preloader.DEBUG_MODE || CORE.DEVENV) { - WorldGen_GT_Base.debugWorldGen = true; - } - DarkWorldContentLoader.run(); - } - - public void addToVoidMinerDrops() { - for (WorldGen_GT_Ore_Layer t : WorldGen_Ores.validOreveins.values()) { - addVMDrop(t.mPrimaryMeta, 0, t.mWeight); - addVMDrop(t.mSecondaryMeta, 0, t.mWeight); - addVMDrop(t.mBetweenMeta, 0, t.mWeight); - addVMDrop(t.mSporadicMeta, 0, t.mWeight); - } - } - - public void addVMDrop(Block block, int meta, float weight) { - GT_TileEntity_VoidMiner_Base.addBlockToDimensionList(CORE.EVERGLADES_ID, block, meta, weight); - } - - @EventHandler - public void serverLoad(FMLServerStartingEvent event) { - getEvergladesBiome().serverLoad(event); - } - - @EventHandler - public static void postInit(final FMLPostInitializationEvent e) { - Logger.INFO("Finished loading Everglades plugin for GT++."); - } - - public static synchronized Biome_Everglades getEvergladesBiome() { - return Everglades_Biome; - } - - public static synchronized void setEvergladesBiome(Biome_Everglades darkWorld_Biome) { - Everglades_Biome = darkWorld_Biome; - } - - @Override - public void actionPerformed(ActionEvent arg0) { - // TODO Auto-generated method stub - - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/biome/BiomeGenerator_Custom.java b/gtpp/src/main/java/gtPlusPlus/everglades/biome/BiomeGenerator_Custom.java deleted file mode 100644 index fce5efca36..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/biome/BiomeGenerator_Custom.java +++ /dev/null @@ -1,361 +0,0 @@ -package gtPlusPlus.everglades.biome; - -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.BIG_SHROOM; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.CACTUS; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.CLAY; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.DEAD_BUSH; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FLOWERS; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.GRASS; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.LAKE; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.LILYPAD; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.PUMPKIN; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.REED; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SAND; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SAND_PASS2; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SHROOM; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.TREE; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.COAL; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.DIAMOND; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.DIRT; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.GOLD; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.GRAVEL; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.IRON; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.LAPIS; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.REDSTONE; - -import java.util.Random; - -import net.minecraft.block.BlockFlower; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeDecorator; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.feature.WorldGenAbstractTree; -import net.minecraft.world.gen.feature.WorldGenBigMushroom; -import net.minecraft.world.gen.feature.WorldGenCactus; -import net.minecraft.world.gen.feature.WorldGenDeadBush; -import net.minecraft.world.gen.feature.WorldGenFlowers; -import net.minecraft.world.gen.feature.WorldGenLiquids; -import net.minecraft.world.gen.feature.WorldGenPumpkin; -import net.minecraft.world.gen.feature.WorldGenReed; -import net.minecraft.world.gen.feature.WorldGenerator; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent; -import net.minecraftforge.event.terraingen.OreGenEvent; -import net.minecraftforge.event.terraingen.TerrainGen; - -import gtPlusPlus.everglades.gen.WorldGenDeadLilly; -import gtPlusPlus.everglades.gen.WorldGenMinable_Custom; - -public class BiomeGenerator_Custom extends BiomeDecorator { - - public WorldGenerator fluoriteGen; - - public BiomeGenerator_Custom() { - // Basic Blocks - this.sandGen = new WorldGenMinable_Custom(Blocks.sand, 12); - this.gravelAsSandGen = new WorldGenMinable_Custom(Blocks.gravel, 8); - this.dirtGen = new WorldGenMinable_Custom(Blocks.dirt, 32); - this.gravelGen = new WorldGenMinable_Custom(Blocks.gravel, 12); - - // Oregen - this.coalGen = new WorldGenMinable_Custom(Blocks.coal_ore, 16); - this.ironGen = new WorldGenMinable_Custom(Blocks.iron_ore, 12); - this.goldGen = new WorldGenMinable_Custom(Blocks.gold_ore, 12); - this.redstoneGen = new WorldGenMinable_Custom(Blocks.redstone_ore, 10); - this.diamondGen = new WorldGenMinable_Custom(Blocks.diamond_ore, 12); - this.lapisGen = new WorldGenMinable_Custom(Blocks.lapis_ore, 8); - - // Nature - this.yellowFlowerGen = new WorldGenFlowers(Blocks.yellow_flower); - this.mushroomBrownGen = new WorldGenFlowers(Blocks.brown_mushroom); - this.mushroomRedGen = new WorldGenFlowers(Blocks.red_mushroom); - this.bigMushroomGen = new WorldGenBigMushroom(); - this.reedGen = new WorldGenReed(); - this.cactusGen = new WorldGenCactus(); - this.waterlilyGen = new WorldGenDeadLilly(); - - this.flowersPerChunk = 1; - this.grassPerChunk = 5; - this.sandPerChunk = 3; - this.sandPerChunk2 = 5; - this.clayPerChunk = 7; - - this.generateLakes = true; - } - - @Override - public void decorateChunk(World p_150512_1_, Random p_150512_2_, BiomeGenBase p_150512_3_, int p_150512_4_, - int p_150512_5_) { - if (this.currentWorld != null) { - throw new RuntimeException("Already decorating!!"); - } else { - this.currentWorld = p_150512_1_; - this.randomGenerator = p_150512_2_; - this.chunk_X = p_150512_4_; - this.chunk_Z = p_150512_5_; - this.genDecorations(p_150512_3_); - this.currentWorld = null; - this.randomGenerator = null; - } - } - - @Override - protected void genDecorations(BiomeGenBase p_150513_1_) { - MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Pre(currentWorld, randomGenerator, chunk_X, chunk_Z)); - this.generateOres(); - int i; - int j; - int k; - - boolean doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND); - for (i = 0; doGen && i < this.sandPerChunk2; ++i) { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - this.sandGen.generate( - this.currentWorld, - this.randomGenerator, - j, - this.currentWorld.getTopSolidOrLiquidBlock(j, k), - k); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, CLAY); - for (i = 0; doGen && i < this.clayPerChunk; ++i) { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - this.clayGen.generate( - this.currentWorld, - this.randomGenerator, - j, - this.currentWorld.getTopSolidOrLiquidBlock(j, k), - k); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND_PASS2); - for (i = 0; doGen && i < this.sandPerChunk; ++i) { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - this.gravelAsSandGen.generate( - this.currentWorld, - this.randomGenerator, - j, - this.currentWorld.getTopSolidOrLiquidBlock(j, k), - k); - } - - i = this.treesPerChunk; - - if (this.randomGenerator.nextInt(10) == 0) { - ++i; - } - - int l; - int i1; - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, TREE); - for (j = 0; doGen && j < i; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - i1 = this.currentWorld.getHeightValue(k, l); - WorldGenAbstractTree worldgenabstracttree = p_150513_1_.func_150567_a(this.randomGenerator); - worldgenabstracttree.setScale(1.0D, 1.0D, 1.0D); - - if (worldgenabstracttree.generate(this.currentWorld, this.randomGenerator, k, i1, l)) { - worldgenabstracttree.func_150524_b(this.currentWorld, this.randomGenerator, k, i1, l); - } - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, BIG_SHROOM); - for (j = 0; doGen && j < this.bigMushroomsPerChunk; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - this.bigMushroomGen - .generate(this.currentWorld, this.randomGenerator, k, this.currentWorld.getHeightValue(k, l), l); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, FLOWERS); - for (j = 0; doGen && j < this.flowersPerChunk; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - i1 = nextInt(this.currentWorld.getHeightValue(k, l) + 32); - String s = p_150513_1_.func_150572_a(this.randomGenerator, k, i1, l); - BlockFlower blockflower = BlockFlower.func_149857_e(s); - - if (blockflower.getMaterial() != Material.air) { - this.yellowFlowerGen.func_150550_a(blockflower, BlockFlower.func_149856_f(s)); - this.yellowFlowerGen.generate(this.currentWorld, this.randomGenerator, k, i1, l); - } - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, GRASS); - for (j = 0; doGen && j < this.grassPerChunk; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - i1 = nextInt(this.currentWorld.getHeightValue(k, l) * 2); - WorldGenerator worldgenerator = p_150513_1_.getRandomWorldGenForGrass(this.randomGenerator); - worldgenerator.generate(this.currentWorld, this.randomGenerator, k, i1, l); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, DEAD_BUSH); - for (j = 0; doGen && j < this.deadBushPerChunk; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - i1 = nextInt(this.currentWorld.getHeightValue(k, l) * 2); - (new WorldGenDeadBush(Blocks.deadbush)).generate(this.currentWorld, this.randomGenerator, k, i1, l); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, LILYPAD); - for (j = 0; doGen && j < this.waterlilyPerChunk; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - - for (i1 = nextInt(this.currentWorld.getHeightValue(k, l) * 2); i1 > 0 - && this.currentWorld.isAirBlock(k, i1 - 1, l); --i1) { - ; - } - - this.waterlilyGen.generate(this.currentWorld, this.randomGenerator, k, i1, l); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SHROOM); - for (j = 0; doGen && j < this.mushroomsPerChunk; ++j) { - if (this.randomGenerator.nextInt(4) == 0) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - i1 = this.currentWorld.getHeightValue(k, l); - this.mushroomBrownGen.generate(this.currentWorld, this.randomGenerator, k, i1, l); - } - - if (this.randomGenerator.nextInt(8) == 0) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - i1 = nextInt(this.currentWorld.getHeightValue(k, l) * 2); - this.mushroomRedGen.generate(this.currentWorld, this.randomGenerator, k, i1, l); - } - } - - if (doGen && this.randomGenerator.nextInt(4) == 0) { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - l = nextInt(this.currentWorld.getHeightValue(j, k) * 2); - this.mushroomBrownGen.generate(this.currentWorld, this.randomGenerator, j, l, k); - } - - if (doGen && this.randomGenerator.nextInt(8) == 0) { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - l = nextInt(this.currentWorld.getHeightValue(j, k) * 2); - this.mushroomRedGen.generate(this.currentWorld, this.randomGenerator, j, l, k); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, REED); - for (j = 0; doGen && j < this.reedsPerChunk; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - i1 = nextInt(this.currentWorld.getHeightValue(k, l) * 2); - this.reedGen.generate(this.currentWorld, this.randomGenerator, k, i1, l); - } - - for (j = 0; doGen && j < 10; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - i1 = nextInt(this.currentWorld.getHeightValue(k, l) * 2); - this.reedGen.generate(this.currentWorld, this.randomGenerator, k, i1, l); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, PUMPKIN); - if (doGen && this.randomGenerator.nextInt(32) == 0) { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - l = nextInt(this.currentWorld.getHeightValue(j, k) * 2); - (new WorldGenPumpkin()).generate(this.currentWorld, this.randomGenerator, j, l, k); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, CACTUS); - for (j = 0; doGen && j < this.cactiPerChunk; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - i1 = nextInt(this.currentWorld.getHeightValue(k, l) * 2); - this.cactusGen.generate(this.currentWorld, this.randomGenerator, k, i1, l); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, LAKE); - if (doGen && this.generateLakes) { - for (j = 0; j < 50; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(this.randomGenerator.nextInt(248) + 8); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - (new WorldGenLiquids(Blocks.flowing_water)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - } - - for (j = 0; j < 20; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator - .nextInt(this.randomGenerator.nextInt(this.randomGenerator.nextInt(240) + 8) + 8); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - (new WorldGenLiquids(Blocks.flowing_lava)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - } - } - - MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Post(currentWorld, randomGenerator, chunk_X, chunk_Z)); - } - - /** - * Standard ore generation helper. Generates most ores. - */ - @Override - protected void genStandardOre1(int p_76795_1_, WorldGenerator p_76795_2_, int p_76795_3_, int p_76795_4_) { - for (int l = 0; l < p_76795_1_; ++l) { - int i1 = this.chunk_X + this.randomGenerator.nextInt(16); - int j1 = this.randomGenerator.nextInt(p_76795_4_ - p_76795_3_) + p_76795_3_; - int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); - p_76795_2_.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); - } - } - - /** - * Standard ore generation helper. Generates Lapis Lazuli. - */ - @Override - protected void genStandardOre2(int p_76793_1_, WorldGenerator p_76793_2_, int p_76793_3_, int p_76793_4_) { - for (int l = 0; l < p_76793_1_; ++l) { - int i1 = this.chunk_X + this.randomGenerator.nextInt(16); - int j1 = this.randomGenerator.nextInt(p_76793_4_) + this.randomGenerator.nextInt(p_76793_4_) - + (p_76793_3_ - p_76793_4_); - int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); - p_76793_2_.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); - } - } - - /** - * Generates ores in the current chunk - */ - @Override - protected void generateOres() { - MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Pre(currentWorld, randomGenerator, chunk_X, chunk_Z)); - if (TerrainGen.generateOre(currentWorld, randomGenerator, dirtGen, chunk_X, chunk_Z, DIRT)) - this.genStandardOre1(20, this.dirtGen, 0, 256); - if (TerrainGen.generateOre(currentWorld, randomGenerator, gravelGen, chunk_X, chunk_Z, GRAVEL)) - this.genStandardOre1(10, this.gravelGen, 0, 256); - if (TerrainGen.generateOre(currentWorld, randomGenerator, coalGen, chunk_X, chunk_Z, COAL)) - this.genStandardOre1(20, this.coalGen, 0, 128); - if (TerrainGen.generateOre(currentWorld, randomGenerator, ironGen, chunk_X, chunk_Z, IRON)) - this.genStandardOre1(20, this.ironGen, 0, 64); - if (TerrainGen.generateOre(currentWorld, randomGenerator, goldGen, chunk_X, chunk_Z, GOLD)) - this.genStandardOre1(2, this.goldGen, 0, 32); - if (TerrainGen.generateOre(currentWorld, randomGenerator, redstoneGen, chunk_X, chunk_Z, REDSTONE)) - this.genStandardOre1(8, this.redstoneGen, 0, 16); - if (TerrainGen.generateOre(currentWorld, randomGenerator, diamondGen, chunk_X, chunk_Z, DIAMOND)) - this.genStandardOre1(1, this.diamondGen, 0, 16); - if (TerrainGen.generateOre(currentWorld, randomGenerator, lapisGen, chunk_X, chunk_Z, LAPIS)) - this.genStandardOre2(1, this.lapisGen, 16, 16); - MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Post(currentWorld, randomGenerator, chunk_X, chunk_Z)); - } - - private int nextInt(int i) { - if (i <= 1) return 0; - return this.randomGenerator.nextInt(i); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/biome/Biome_Everglades.java b/gtpp/src/main/java/gtPlusPlus/everglades/biome/Biome_Everglades.java deleted file mode 100644 index 61c8ab5c26..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/biome/Biome_Everglades.java +++ /dev/null @@ -1,83 +0,0 @@ -package gtPlusPlus.everglades.biome; - -import net.minecraft.entity.monster.EntityPigZombie; -import net.minecraft.entity.passive.EntityBat; -import net.minecraft.entity.passive.EntitySquid; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.common.BiomeDictionary; -import net.minecraftforge.common.BiomeManager; - -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.core.entity.monster.EntitySickBlaze; -import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.everglades.dimension.Dimension_Everglades; - -public class Biome_Everglades { - - public static BiomeGenEverglades biome = new BiomeGenEverglades(); - - public Object instance; - - public Biome_Everglades() {} - - public void load() { - BiomeDictionary.registerBiomeType(biome, BiomeDictionary.Type.DEAD); - BiomeManager.addSpawnBiome(biome); - } - - public void serverLoad(FMLServerStartingEvent event) {} - - public void preInit(FMLPreInitializationEvent event) {} - - static class BiomeGenEverglades extends BiomeGenBase { - - @SuppressWarnings("unchecked") - 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("Toxic Everglades"); - this.topBlock = Dimension_Everglades.blockTopLayer; - this.fillerBlock = Dimension_Everglades.blockSecondLayer; - this.enableRain = true; - this.enableSnow = false; - this.rainfall = 0.7F; - this.setHeight(new BiomeGenBase.Height(0.3F, 0.5F)); - this.heightVariation = 0.4F; - this.waterColorMultiplier = 0x17290A; - this.rootHeight = -0.25f; // Ground level - - this.spawnableMonsterList.clear(); - this.spawnableCreatureList.clear(); - this.spawnableWaterCreatureList.clear(); - this.spawnableCaveCreatureList.clear(); - - // Enemies - this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntitySickBlaze.class, 100, 2, 6)); - this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityPigZombie.class, 75, 4, 16)); - this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityStaballoyConstruct.class, 20, 1, 2)); - - // Animals - this.spawnableWaterCreatureList.add(new BiomeGenBase.SpawnListEntry(EntitySquid.class, 1, 1, 6)); - this.spawnableCaveCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityBat.class, 10, 8, 8)); - } - - @Override - @SideOnly(Side.CLIENT) - public int getSkyColorByTemp(float par1) { - return 0xF67A14; - } - - @SuppressWarnings({ "unchecked", "unused" }) - private boolean addToMonsterSpawnLists(Class EntityClass, int a, int b, int c) { - this.spawnableCaveCreatureList.add(new SpawnListEntry(EntityClass, a, b, c)); - return true; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/biome/GenLayerBiomes.java b/gtpp/src/main/java/gtPlusPlus/everglades/biome/GenLayerBiomes.java deleted file mode 100644 index fe799fbe42..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/biome/GenLayerBiomes.java +++ /dev/null @@ -1,26 +0,0 @@ -package gtPlusPlus.everglades.biome; - -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerBiomes extends GenLayer { - - protected BiomeGenBase[] allowedBiomes = { Biome_Everglades.biome, }; - - public GenLayerBiomes(long seed) { - super(seed); - } - - @Override - public int[] getInts(int x, int z, int width, int depth) { - int[] dest = IntCache.getIntCache(width * depth); - for (int dz = 0; dz < depth; dz++) { - for (int dx = 0; dx < width; dx++) { - this.initChunkSeed(dx + x, dz + z); - dest[(dx + dz * width)] = this.allowedBiomes[nextInt(this.allowedBiomes.length)].biomeID; - } - } - return dest; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/biome/GenLayerEverglades.java b/gtpp/src/main/java/gtPlusPlus/everglades/biome/GenLayerEverglades.java deleted file mode 100644 index dec0ed1429..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/biome/GenLayerEverglades.java +++ /dev/null @@ -1,32 +0,0 @@ -package gtPlusPlus.everglades.biome; - -import net.minecraft.world.WorldType; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.GenLayerVoronoiZoom; -import net.minecraft.world.gen.layer.GenLayerZoom; - -public class GenLayerEverglades extends GenLayer { - - public GenLayerEverglades(long seed) { - super(seed); - } - - public static GenLayer[] makeTheWorld(long seed, WorldType type) { - GenLayer biomes = new GenLayerBiomes(1L); - biomes = new GenLayerZoom(1000L, biomes); - biomes = new GenLayerZoom(1001L, biomes); - biomes = new GenLayerZoom(1002L, biomes); - biomes = new GenLayerZoom(1003L, biomes); - biomes = new GenLayerZoom(1004L, biomes); - biomes = new GenLayerZoom(1005L, biomes); - GenLayer genlayervoronoizoom = new GenLayerVoronoiZoom(10L, biomes); - biomes.initWorldGenSeed(seed); - genlayervoronoizoom.initWorldGenSeed(seed); - return new GenLayer[] { biomes, genlayervoronoizoom }; - } - - @Override - public int[] getInts(int p_75904_1_, int p_75904_2_, int p_75904_3_, int p_75904_4_) { - return new int[] {}; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldGround.java b/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldGround.java deleted file mode 100644 index a91ed0cd84..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldGround.java +++ /dev/null @@ -1,23 +0,0 @@ -package gtPlusPlus.everglades.block; - -import static gregtech.api.enums.Mods.Minecraft; - -import net.minecraft.block.BlockGrass; - -import gtPlusPlus.api.interfaces.ITileTooltip; -import gtPlusPlus.core.creative.AddToCreativeTab; - -public class BlockDarkWorldGround extends BlockGrass implements ITileTooltip { - - public BlockDarkWorldGround() { - this.setCreativeTab(AddToCreativeTab.tabBOP); - this.setBlockName("blockDarkWorldGround"); - this.setHardness(1.0F); - this.setBlockTextureName(Minecraft.ID + ":" + "grass"); - } - - @Override - public int getTooltipID() { - return 2; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldPollutedDirt.java b/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldPollutedDirt.java deleted file mode 100644 index a99b852a5a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldPollutedDirt.java +++ /dev/null @@ -1,68 +0,0 @@ -package gtPlusPlus.everglades.block; - -import static gregtech.api.enums.Mods.Minecraft; - -import net.minecraft.block.BlockDirt; -import net.minecraft.world.ColorizerGrass; -import net.minecraft.world.IBlockAccess; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.api.interfaces.ITileTooltip; -import gtPlusPlus.core.creative.AddToCreativeTab; - -public class BlockDarkWorldPollutedDirt extends BlockDirt implements ITileTooltip { - - public BlockDarkWorldPollutedDirt() { - this.setCreativeTab(AddToCreativeTab.tabBOP); - this.setBlockName("blockDarkWorldGround2"); - this.setHardness(0.5F); - this.setBlockTextureName(Minecraft.ID + ":" + "dirt"); - } - - @Override - @SideOnly(Side.CLIENT) - public int getBlockColor() { - double d0 = 0.5D; - double d1 = 1.0D; - return ColorizerGrass.getGrassColor(d0, d1); - } - - /** - * Returns the color this block should be rendered. Used by leaves. - */ - @Override - @SideOnly(Side.CLIENT) - public int getRenderColor(int p_149741_1_) { - return this.getBlockColor(); - } - - /** - * Returns a integer with hex for 0xrrggbb with this color multiplied against the blocks color. Note only called - * when first determining what to render. - */ - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess p_149720_1_, int p_149720_2_, int p_149720_3_, int p_149720_4_) { - int l = 0; - int i1 = 0; - int j1 = 0; - - for (int k1 = -1; k1 <= 1; ++k1) { - for (int l1 = -1; l1 <= 1; ++l1) { - int i2 = p_149720_1_.getBiomeGenForCoords(p_149720_2_ + l1, p_149720_4_ + k1) - .getBiomeGrassColor(p_149720_2_ + l1, p_149720_3_, p_149720_4_ + k1); - l += (i2 & 16711680) >> 16; - i1 += (i2 & 65280) >> 8; - j1 += i2 & 255; - } - } - - return (l / 9 & 255) << 16 | (i1 / 9 & 255) << 8 | j1 / 9 & 255; - } - - @Override - public int getTooltipID() { - return 3; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldPortalFrame.java b/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldPortalFrame.java deleted file mode 100644 index 1f8b82e9ca..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldPortalFrame.java +++ /dev/null @@ -1,26 +0,0 @@ -package gtPlusPlus.everglades.block; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; - -import gtPlusPlus.api.interfaces.ITileTooltip; -import gtPlusPlus.core.creative.AddToCreativeTab; - -public class BlockDarkWorldPortalFrame extends Block implements ITileTooltip { - - public BlockDarkWorldPortalFrame() { - super(Material.iron); - this.setCreativeTab(AddToCreativeTab.tabBOP); - this.setBlockName("blockDarkWorldPortalFrame"); - this.setHardness(3.0F); - this.setLightLevel(0.5F); - this.setBlockTextureName(GTPlusPlus.ID + ":" + "metro/TEXTURE_TECH_PANEL_A"); - } - - @Override - public int getTooltipID() { - return 0; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldSludgeFluid.java b/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldSludgeFluid.java deleted file mode 100644 index b4943d1886..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockDarkWorldSludgeFluid.java +++ /dev/null @@ -1,70 +0,0 @@ -package gtPlusPlus.everglades.block; - -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.material.MaterialLiquid; -import net.minecraftforge.fluids.Fluid; - -public class BlockDarkWorldSludgeFluid extends Fluid { - - public static final Material SLUDGE = new MaterialLiquid(MapColor.dirtColor); - - protected static int mapColor = 0xFFFFFFFF; - protected static float overlayAlpha = 0.2F; - protected static Material material = SLUDGE; - - public BlockDarkWorldSludgeFluid(String fluidName, int rgbColour) { - this(fluidName, rgbColour, null); - } - - public BlockDarkWorldSludgeFluid(String fluidName, int rgbColour, Float overlayAlpha) { - super(fluidName); - setColor(rgbColour); - if (overlayAlpha != null) { - setAlpha(overlayAlpha); - } else { - setAlpha(0); - } - } - - @Override - public int getColor() { - return mapColor; - } - - public BlockDarkWorldSludgeFluid setColor(int parColor) { - mapColor = parColor; - return this; - } - - public float getAlpha() { - return overlayAlpha; - } - - public BlockDarkWorldSludgeFluid setAlpha(float parOverlayAlpha) { - overlayAlpha = parOverlayAlpha; - return this; - } - - /* - * public blockDarkWorldSludgeFluid setEmptySound(SoundEvent parSound) { emptySound = parSound; return this; } - * public SoundEvent getEmptySound() { return emptySound; } - * @Override public blockDarkWorldSludgeFluid setFillSound(SoundEvent parSound) { fillSound = parSound; return this; - * } - * @Override public SoundEvent getFillSound() { return fillSound; } - */ - - public BlockDarkWorldSludgeFluid setMaterial(Material parMaterial) { - material = parMaterial; - return this; - } - - public Material getMaterial() { - return material; - } - - /* - * @Override public boolean doesVaporize(FluidStack fluidStack) { if (block == null) return false; return - * block.getDefaultState().getMaterial() == getMaterial(); } - */ -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockEvergladesPortal.java b/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockEvergladesPortal.java deleted file mode 100644 index eafa67980d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/block/BlockEvergladesPortal.java +++ /dev/null @@ -1,393 +0,0 @@ -package gtPlusPlus.everglades.block; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockBreakable; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -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 BlockEvergladesPortal() { - super("portal", Material.portal, false); - this.setTickRandomly(true); - this.setHardness(-1.0F); - this.setLightLevel(0.75F); - this.setCreativeTab(CreativeTabs.tabBlock); - this.setBlockName("blockDarkWorldPortal"); - } - - @SideOnly(Side.CLIENT) - @Override - public IIcon getIcon(int ordinalSide, int meta) { - - if (ordinalSide == 0) return gor; - else if (ordinalSide == 1) return dol; - else if (ordinalSide == 2) return st1; - else if (ordinalSide == 3) return st2; - else if (ordinalSide == 4) return st4; - else if (ordinalSide == 5) return st3; - else return gor; - } - - @SideOnly(Side.CLIENT) - @Override - public void registerBlockIcons(IIconRegister reg) { - this.gor = reg.registerIcon("portal"); - this.dol = reg.registerIcon("portal"); - this.st1 = reg.registerIcon("portal"); - this.st2 = reg.registerIcon("portal"); - this.st3 = reg.registerIcon("portal"); - this.st4 = reg.registerIcon("portal"); - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - 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++; - } - } - if (blockCount < 4) { - par1World.setBlockToAir(x, y, z); - } - } - - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return null; - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - float f; - float f1; - if (par1IBlockAccess.getBlock(par2 - 1, par3, par4) != this - && par1IBlockAccess.getBlock(par2 + 1, par3, par4) != this) { - f = 0.125F; - f1 = 0.5F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1); - } else { - f = 0.5F; - f1 = 0.125F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1); - } - } - - /** - * Is this block (a) opaque and (B) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() { - return false; - } - - /** - * Checks to see if this location is valid to create a portal and will return True if it does. Args: world, x, y, z - */ - 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_Everglades.blockPortalFrame - || par1World.getBlock(par2 + 1, par3, par4) == Dimension_Everglades.blockPortalFrame) { - b0 = 1; - } - if (par1World.getBlock(par2, par3, par4 - 1) == Dimension_Everglades.blockPortalFrame - || par1World.getBlock(par2, par3, par4 + 1) == Dimension_Everglades.blockPortalFrame) { - b1 = 1; - } - if (b0 == b1) { - return false; - } else { - if (par1World.getBlock(par2 - b0, par3, par4 - b1) == Blocks.air) { - par2 -= b0; - par4 -= b1; - } - int l; - int i1; - for (l = -1; l <= 2; ++l) { - for (i1 = -1; i1 <= 3; ++i1) { - boolean flag = l == -1 || l == 2 || i1 == -1 || i1 == 3; - 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_Everglades.blockPortalFrame) { - return false; - } - } - /* - * else if (j1 != 0 && j1 != Main.TutorialFire.blockID) { return false; } - */ - } - } - } - for (l = 0; l < 2; ++l) { - for (i1 = 0; i1 < 3; ++i1) { - par1World.setBlock(par2 + b0 * l, par3 + i1, par4 + b1 * l, this, 0, 2); - } - } - return true; - } - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - 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(x - 1, y, z) == this || par1World.getBlock(x + 1, y, z) == this) { - b0 = 1; - b1 = 0; - } - int i1; - for (i1 = y; par1World.getBlock(x, i1 - 1, z) == this; --i1) { - ; - } - 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(x, i1 + j1, z) == this; ++j1) { - ; - } - 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(x, y, z); - } else { - 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(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 - * coordinates. Args: blockAccess, x, y, z, side - */ - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if (par1IBlockAccess.getBlock(par2, par3, par4) == this) { - return false; - } else { - boolean flag = par1IBlockAccess.getBlock(par2 - 1, par3, par4) == this - && par1IBlockAccess.getBlock(par2 - 2, par3, par4) != this; - boolean flag1 = par1IBlockAccess.getBlock(par2 + 1, par3, par4) == this - && par1IBlockAccess.getBlock(par2 + 2, par3, par4) != this; - boolean flag2 = par1IBlockAccess.getBlock(par2, par3, par4 - 1) == this - && par1IBlockAccess.getBlock(par2, par3, par4 - 2) != this; - boolean flag3 = par1IBlockAccess.getBlock(par2, par3, par4 + 1) == this - && par1IBlockAccess.getBlock(par2, par3, par4 + 2) != this; - boolean flag4 = flag || flag1; - boolean flag5 = flag2 || flag3; - return flag4 && par5 == 4 ? true - : (flag4 && par5 == 5 ? true : (flag5 && par5 == 2 ? true : flag5 && par5 == 3)); - } - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) { - return 0; - } - - /** - * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity - */ - @Override - public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { - if ((par5Entity.ridingEntity == null) && (par5Entity.riddenByEntity == null) - && ((par5Entity instanceof EntityPlayerMP thePlayer))) { - if (thePlayer.timeUntilPortal > 0) { - thePlayer.timeUntilPortal = 100; - } else if (thePlayer.dimension != Dimension_Everglades.DIMID) { - thePlayer.timeUntilPortal = 100; - 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, - new TeleporterDimensionMod(thePlayer.mcServer.worldServerForDimension(0))); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - /** - * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha - */ - public int getRenderBlockPass() { - return 1; - } - - @Override - @SideOnly(Side.CLIENT) - /** - * A randomly called display update to be able to add particles or other items for display - */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (CORE.RANDOM.nextInt(100) == 0) { - par1World.playSound( - par2 + 0.5D, - par3 + 0.5D, - par4 + 0.5D, - "portal.portal", - 0.5F, - CORE.RANDOM.nextFloat() * 0.4F + 0.8F, - false); - } - for (int l = 0; l < 4; ++l) { - double d0 = par2 + CORE.RANDOM.nextFloat(); - double d1 = par3 + CORE.RANDOM.nextFloat(); - double d2 = par4 + CORE.RANDOM.nextFloat(); - double d3 = 0.0D; - double d4 = 0.0D; - double d5 = 0.0D; - int i1 = CORE.RANDOM.nextInt(2) * 2 - 1; - d3 = (CORE.RANDOM.nextFloat() - 0.5D) * 0.5D; - d4 = (CORE.RANDOM.nextFloat() - 0.5D) * 0.5D; - d5 = (CORE.RANDOM.nextFloat() - 0.5D) * 0.5D; - if (par1World.getBlock(par2 - 1, par3, par4) != this && par1World.getBlock(par2 + 1, par3, par4) != this) { - d0 = par2 + 0.5D + 0.25D * i1; - d3 = CORE.RANDOM.nextFloat() * 2.0F * i1; - } else { - d2 = par4 + 0.5D + 0.25D * i1; - d5 = CORE.RANDOM.nextFloat() * 2.0F * i1; - } - 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); - } else if (R.nextInt(5) == 1) { - par1World.spawnParticle("flame", d0, d1, d2, 0, 0 + 0.1D, 0); - } - } - } - - @SideOnly(Side.CLIENT) - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - 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); - } - - @Override - public int getRenderColor(final int aMeta) { - return Utils.rgbtoHexValue(0, 255, 0); - } - - @Override - public String getLocalizedName() { - return EnumChatFormatting.OBFUSCATED + super.getLocalizedName(); - } - - @Override - public int getTooltipID() { - return 1; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/block/DarkWorldContentLoader.java b/gtpp/src/main/java/gtPlusPlus/everglades/block/DarkWorldContentLoader.java deleted file mode 100644 index 7cbc1cb5e0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/block/DarkWorldContentLoader.java +++ /dev/null @@ -1,73 +0,0 @@ -package gtPlusPlus.everglades.block; - -import static gtPlusPlus.everglades.dimension.Dimension_Everglades.blockFluidLakes; -import static gtPlusPlus.everglades.dimension.Dimension_Everglades.blockPortalFrame; -import static gtPlusPlus.everglades.dimension.Dimension_Everglades.blockSecondLayer; -import static gtPlusPlus.everglades.dimension.Dimension_Everglades.blockTopLayer; -import static gtPlusPlus.everglades.dimension.Dimension_Everglades.portalBlock; -import static gtPlusPlus.everglades.dimension.Dimension_Everglades.portalItem; - -import net.minecraft.init.Blocks; -import net.minecraftforge.fluids.FluidRegistry; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.core.block.base.BlockBaseFluid; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.everglades.item.ItemBlockToxicEverglades; -import gtPlusPlus.everglades.item.ItemEvergladesPortalTrigger; - -public class DarkWorldContentLoader { - - // Static Vars - public static BlockDarkWorldSludgeFluid SLUDGE; - - public static synchronized void run() { - initMisc(); - initItems(); - initBlocks(); - } - - public static synchronized boolean initMisc() { - - // Fluids - SLUDGE = (BlockDarkWorldSludgeFluid) new BlockDarkWorldSludgeFluid("sludge", Utils.rgbtoHexValue(30, 130, 30)) - .setDensity(1800) - .setGaseous(false) - .setLuminosity(2) - .setViscosity(25000) - .setTemperature(300); - FluidRegistry.registerFluid(SLUDGE); - - return true; - } - - public static synchronized boolean initItems() { - portalItem = (ItemEvergladesPortalTrigger) (new ItemEvergladesPortalTrigger() - .setUnlocalizedName("everglades.trigger")); - GameRegistry.registerItem(portalItem, "everglades.trigger"); - return true; - } - - public static synchronized boolean initBlocks() { - - // Create Block Instances - 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"); - GameRegistry.registerBlock(blockTopLayer, ItemBlockToxicEverglades.class, "blockDarkWorldGround"); - GameRegistry.registerBlock(blockSecondLayer, ItemBlockToxicEverglades.class, "blockDarkWorldGround2"); - GameRegistry.registerBlock(blockPortalFrame, ItemBlockToxicEverglades.class, "blockDarkWorldPortalFrame"); - - // Make Flammable - Blocks.fire.setFireInfo(blockTopLayer, 30, 20); - - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/chunk/ChunkProviderModded.java b/gtpp/src/main/java/gtPlusPlus/everglades/chunk/ChunkProviderModded.java deleted file mode 100644 index ad0c601092..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/chunk/ChunkProviderModded.java +++ /dev/null @@ -1,560 +0,0 @@ -package gtPlusPlus.everglades.chunk; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFalling; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.init.Blocks; -import net.minecraft.util.IProgressUpdate; -import net.minecraft.util.MathHelper; -import net.minecraft.world.ChunkPosition; -import net.minecraft.world.SpawnerAnimals; -import net.minecraft.world.World; -import net.minecraft.world.WorldType; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.gen.MapGenBase; -import net.minecraft.world.gen.MapGenCaves; -import net.minecraft.world.gen.MapGenRavine; -import net.minecraft.world.gen.NoiseGenerator; -import net.minecraft.world.gen.NoiseGeneratorOctaves; -import net.minecraft.world.gen.NoiseGeneratorPerlin; -import net.minecraft.world.gen.feature.WorldGenLakes; -import net.minecraft.world.gen.structure.MapGenMineshaft; -import net.minecraft.world.gen.structure.MapGenScatteredFeature; -import net.minecraft.world.gen.structure.MapGenVillage; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.terraingen.ChunkProviderEvent; -import net.minecraftforge.event.terraingen.PopulateChunkEvent; -import net.minecraftforge.event.terraingen.TerrainGen; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.everglades.dimension.Dimension_Everglades; - -public class ChunkProviderModded implements IChunkProvider { - - private Random rand; - private NoiseGeneratorOctaves field_147431_j; - private NoiseGeneratorOctaves field_147432_k; - private NoiseGeneratorOctaves field_147429_l; - private NoiseGeneratorPerlin field_147430_m; - /** - * A NoiseGeneratorOctaves used in generating terrain - */ - public NoiseGeneratorOctaves noiseGen5; - /** - * A NoiseGeneratorOctaves used in generating terrain - */ - public NoiseGeneratorOctaves noiseGen6; - public NoiseGeneratorOctaves mobSpawnerNoise; - /** - * Reference to the World object. - */ - private World worldObj; - private WorldType field_147435_p; - private final double[] field_147434_q; - private final float[] parabolicField; - private double[] stoneNoise = new double[256]; - private MapGenBase caveGenerator = new MapGenCaves(); - /** - * Holds Stronghold Generator - */ - /** - * Holds Village Generator - */ - private MapGenVillage villageGenerator = new MapGenVillage(); - /** - * Holds Mineshaft Generator - */ - private MapGenMineshaft mineshaftGenerator = new MapGenMineshaft(); - private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); - /** - * Holds ravine generator - */ - private MapGenBase ravineGenerator = new MapGenRavine(); - /** - * The biomes that are used to generate the chunk - */ - private BiomeGenBase[] biomesForGeneration; - double[] field_147427_d; - double[] field_147428_e; - double[] field_147425_f; - double[] field_147426_g; - int[][] field_73219_j = new int[32][32]; - { - caveGenerator = TerrainGen - .getModdedMapGen(caveGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE); - /* - * strongholdGenerator = (MapGenStronghold) TerrainGen.getModdedMapGen(strongholdGenerator, - * net.minecraftforge.event.terraingen.InitMapGenEvent.EventType. STRONGHOLD); - */ - villageGenerator = (MapGenVillage) TerrainGen - .getModdedMapGen(villageGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.VILLAGE); - mineshaftGenerator = (MapGenMineshaft) TerrainGen.getModdedMapGen( - mineshaftGenerator, - net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.MINESHAFT); - scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen( - scatteredFeatureGenerator, - net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.SCATTERED_FEATURE); - ravineGenerator = TerrainGen - .getModdedMapGen(ravineGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE); - } - - public ChunkProviderModded(World par1World, long par2) { - this.worldObj = par1World; - this.field_147435_p = par1World.getWorldInfo() - .getTerrainType(); - this.rand = new Random(par2); - this.field_147431_j = new NoiseGeneratorOctaves(this.rand, 16); - this.field_147432_k = new NoiseGeneratorOctaves(this.rand, 16); - this.field_147429_l = new NoiseGeneratorOctaves(this.rand, 8); - this.field_147430_m = new NoiseGeneratorPerlin(this.rand, 4); - this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); - this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); - this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); - this.field_147434_q = new double[825]; - this.parabolicField = new float[25]; - - for (int j = -2; j <= 2; ++j) { - for (int k = -2; k <= 2; ++k) { - float f = 10.0F / MathHelper.sqrt_float(j * j + k * k + 0.2F); - this.parabolicField[j + 2 + (k + 2) * 5] = f; - } - } - - NoiseGenerator[] noiseGens = { field_147431_j, field_147432_k, field_147429_l, field_147430_m, noiseGen5, - noiseGen6, mobSpawnerNoise }; - noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); - this.field_147431_j = (NoiseGeneratorOctaves) noiseGens[0]; - this.field_147432_k = (NoiseGeneratorOctaves) noiseGens[1]; - this.field_147429_l = (NoiseGeneratorOctaves) noiseGens[2]; - this.field_147430_m = (NoiseGeneratorPerlin) noiseGens[3]; - this.noiseGen5 = (NoiseGeneratorOctaves) noiseGens[4]; - this.noiseGen6 = (NoiseGeneratorOctaves) noiseGens[5]; - this.mobSpawnerNoise = (NoiseGeneratorOctaves) noiseGens[6]; - } - - public void func_147424_a(int p_147424_1_, int p_147424_2_, Block[] p_147424_3_) { - byte b0 = 63; - this.biomesForGeneration = this.worldObj.getWorldChunkManager() - .getBiomesForGeneration(this.biomesForGeneration, p_147424_1_ * 4 - 2, p_147424_2_ * 4 - 2, 10, 10); - this.func_147423_a(p_147424_1_ * 4, 0, p_147424_2_ * 4); - - for (int k = 0; k < 4; ++k) { - int l = k * 5; - int i1 = (k + 1) * 5; - - for (int j1 = 0; j1 < 4; ++j1) { - int k1 = (l + j1) * 33; - int l1 = (l + j1 + 1) * 33; - int i2 = (i1 + j1) * 33; - int j2 = (i1 + j1 + 1) * 33; - - for (int k2 = 0; k2 < 32; ++k2) { - double d0 = 0.125D; - double d1 = this.field_147434_q[k1 + k2]; - double d2 = this.field_147434_q[l1 + k2]; - double d3 = this.field_147434_q[i2 + k2]; - double d4 = this.field_147434_q[j2 + k2]; - double d5 = (this.field_147434_q[k1 + k2 + 1] - d1) * d0; - double d6 = (this.field_147434_q[l1 + k2 + 1] - d2) * d0; - double d7 = (this.field_147434_q[i2 + k2 + 1] - d3) * d0; - double d8 = (this.field_147434_q[j2 + k2 + 1] - d4) * d0; - - for (int l2 = 0; l2 < 8; ++l2) { - double d9 = 0.25D; - double d10 = d1; - double d11 = d2; - double d12 = (d3 - d1) * d9; - double d13 = (d4 - d2) * d9; - - for (int i3 = 0; i3 < 4; ++i3) { - int j3 = i3 + k * 4 << 12 | 0 + j1 * 4 << 8 | k2 * 8 + l2; - short short1 = 256; // TODO - wots dis do - j3 -= short1; - double d14 = 0.25D; - double d16 = (d11 - d10) * d14; - double d15 = d10 - d16; - - for (int k3 = 0; k3 < 4; ++k3) { - if ((d15 += d16) > 0.0D) { - p_147424_3_[j3 += short1] = Dimension_Everglades.blockMainFiller; - } else if (k2 * 8 + l2 < b0) { - try { - p_147424_3_[j3 += short1] = Dimension_Everglades.blockFluidLakes; // River Fluid - // . - } catch (Throwable t) { - p_147424_3_[j3 += short1] = Blocks.water; // River Fluid Fallback - } - } else { - p_147424_3_[j3 += short1] = null; - } - } - - d10 += d12; - d11 += d13; - } - - d1 += d5; - d2 += d6; - d3 += d7; - d4 += d8; - } - } - } - } - } - - public void replaceBlocksForBiome(int p_147422_1_, int p_147422_2_, Block[] p_147422_3_, byte[] p_147422_4_, - BiomeGenBase[] p_147422_5_) { - ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks( - this, - p_147422_1_, - p_147422_2_, - p_147422_3_, - new byte[256], - p_147422_5_, - null); - MinecraftForge.EVENT_BUS.post(event); - if (event.getResult() == cpw.mods.fml.common.eventhandler.Event.Result.DENY) return; - - double d0 = 0.03125D; - this.stoneNoise = this.field_147430_m - .func_151599_a(this.stoneNoise, p_147422_1_ * 16, p_147422_2_ * 16, 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); - - for (int k = 0; k < 16; ++k) { - for (int l = 0; l < 16; ++l) { - BiomeGenBase biomegenbase = p_147422_5_[l + k * 16]; - biomegenbase.genTerrainBlocks( - this.worldObj, - this.rand, - p_147422_3_, - p_147422_4_, - p_147422_1_ * 16 + k, - p_147422_2_ * 16 + l, - this.stoneNoise[l + k * 16]); - } - } - } - - /** - * loads or generates the chunk at the chunk location specified - */ - @Override - public Chunk loadChunk(int par1, int par2) { - return this.provideChunk(par1, par2); - } - - /** - * Will return back a chunk, if it doesn't exist and its not a MP client it will generates all the blocks for the - * specified chunk from the map seed and chunk seed - */ - @Override - public Chunk provideChunk(int par1, int par2) { - this.rand.setSeed(par1 * 341873128712L + par2 * 132897987541L); - Block[] ablock = new Block[65536]; - byte[] abyte = new byte[65536]; - this.func_147424_a(par1, par2, ablock); - this.biomesForGeneration = this.worldObj.getWorldChunkManager() - .loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); - this.replaceBlocksForBiome(par1, par2, ablock, abyte, this.biomesForGeneration); - - Chunk chunk = new Chunk(this.worldObj, ablock, abyte, par1, par2); - byte[] abyte1 = chunk.getBiomeArray(); - - for (int k = 0; k < abyte1.length; ++k) { - abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; - } - - chunk.generateSkylightMap(); - return chunk; - } - - private void func_147423_a(int p_147423_1_, int p_147423_2_, int p_147423_3_) { - this.field_147426_g = this.noiseGen6 - .generateNoiseOctaves(this.field_147426_g, p_147423_1_, p_147423_3_, 5, 5, 200.0D, 200.0D, 0.5D); - this.field_147427_d = this.field_147429_l.generateNoiseOctaves( - this.field_147427_d, - p_147423_1_, - p_147423_2_, - p_147423_3_, - 5, - 33, - 5, - 8.555150000000001D, - 4.277575000000001D, - 8.555150000000001D); - this.field_147428_e = this.field_147431_j.generateNoiseOctaves( - this.field_147428_e, - p_147423_1_, - p_147423_2_, - p_147423_3_, - 5, - 33, - 5, - 684.412D, - 684.412D, - 684.412D); - this.field_147425_f = this.field_147432_k.generateNoiseOctaves( - this.field_147425_f, - p_147423_1_, - p_147423_2_, - p_147423_3_, - 5, - 33, - 5, - 684.412D, - 684.412D, - 684.412D); - int l = 0; - int i1 = 0; - for (int j1 = 0; j1 < 5; ++j1) { - for (int k1 = 0; k1 < 5; ++k1) { - float f = 0.0F; - float f1 = 0.0F; - float f2 = 0.0F; - byte b0 = 2; - BiomeGenBase biomegenbase = this.biomesForGeneration[j1 + 2 + (k1 + 2) * 10]; - - for (int l1 = -b0; l1 <= b0; ++l1) { - for (int i2 = -b0; i2 <= b0; ++i2) { - BiomeGenBase biomegenbase1 = this.biomesForGeneration[j1 + l1 + 2 + (k1 + i2 + 2) * 10]; - float f3 = biomegenbase1.rootHeight; - float f4 = biomegenbase1.heightVariation; - - if (this.field_147435_p == WorldType.AMPLIFIED && f3 > 0.0F) { - f3 = 1.0F + f3 * 2.0F; - f4 = 1.0F + f4 * 4.0F; - } - - float f5 = this.parabolicField[l1 + 2 + (i2 + 2) * 5] / (f3 + 2.0F); - - if (biomegenbase1.rootHeight > biomegenbase.rootHeight) { - f5 /= 2.0F; - } - - f += f4 * f5; - f1 += f3 * f5; - f2 += f5; - } - } - - f /= f2; - f1 /= f2; - f = f * 0.9F + 0.1F; - f1 = (f1 * 4.0F - 1.0F) / 8.0F; - double d13 = this.field_147426_g[i1] / 8000.0D; - - if (d13 < 0.0D) { - d13 = -d13 * 0.3D; - } - - d13 = d13 * 3.0D - 2.0D; - - if (d13 < 0.0D) { - d13 /= 2.0D; - - if (d13 < -1.0D) { - d13 = -1.0D; - } - - d13 /= 1.4D; - d13 /= 2.0D; - } else { - if (d13 > 1.0D) { - d13 = 1.0D; - } - - d13 /= 8.0D; - } - - ++i1; - double d12 = f1; - double d14 = f; - d12 += d13 * 0.2D; - d12 = d12 * 8.5D / 8.0D; - double d5 = 8.5D + d12 * 4.0D; - - for (int j2 = 0; j2 < 33; ++j2) { - double d6 = (j2 - d5) * 12.0D * 128.0D / 256.0D / d14; - - if (d6 < 0.0D) { - d6 *= 4.0D; - } - - double d7 = this.field_147428_e[l] / 512.0D; - double d8 = this.field_147425_f[l] / 512.0D; - double d9 = (this.field_147427_d[l] / 10.0D + 1.0D) / 2.0D; - double d10 = MathHelper.denormalizeClamp(d7, d8, d9) - d6; - - if (j2 > 29) { - double d11 = (j2 - 29) / 3.0F; - d10 = d10 * (1.0D - d11) + -10.0D * d11; - } - - this.field_147434_q[l] = d10; - ++l; - } - } - } - } - - /** - * Checks to see if a chunk exists at x, y - */ - @Override - public boolean chunkExists(int par1, int par2) { - return true; - } - - /** - * Populates chunk with ores etc etc - */ - @Override - public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { - BlockFalling.fallInstantly = false; - int k = par2 * 16; - int l = par3 * 16; - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); - this.rand.setSeed(this.worldObj.getSeed()); - long i1 = this.rand.nextLong() / 2L * 2L + 1L; - long j1 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed(par2 * i1 + par3 * j1 ^ this.worldObj.getSeed()); - boolean flag = false; - - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag)); - - int k1; - int l1; - int i2; - - if (biomegenbase != BiomeGenBase.desert && biomegenbase != BiomeGenBase.desertHills - && !flag - && this.rand.nextInt(4) == 0 - && TerrainGen.populate( - par1IChunkProvider, - worldObj, - rand, - par2, - par3, - flag, - net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAKE)) { - k1 = k + this.rand.nextInt(16) + 8; - l1 = this.rand.nextInt(256); - i2 = l + this.rand.nextInt(16) + 8; - try { - (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); - Logger.INFO("Error while generating DarkWorld Lake."); - } - } - - if (TerrainGen.populate( - par1IChunkProvider, - worldObj, - rand, - par2, - par3, - flag, - net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag - && this.rand.nextInt(8) == 0) { - k1 = k + this.rand.nextInt(16) + 8; - l1 = this.rand.nextInt(this.rand.nextInt(248) + 8); - i2 = l + this.rand.nextInt(16) + 8; - - if (l1 < 63 || this.rand.nextInt(10) == 0) { // Changes 63 -> 128 - try { - (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, k1, l1, i2); - } catch (NullPointerException n) { - Logger.INFO("Error while generating DarkWorld Lake. [2]"); - } - } - } - biomegenbase.decorate(this.worldObj, this.rand, k, l); - SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); - k += 8; - l += 8; - - MinecraftForge.EVENT_BUS - .post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag)); - - BlockFalling.fallInstantly = false; - } - - /** - * Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks. Return - * true if all chunks have been saved. - */ - @Override - public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { - return true; - } - - /** - * Save extra data not associated with any Chunk. Not saved during autosave, only during world unload. Currently - * unimplemented. - */ - @Override - public void saveExtraData() {} - - /** - * Unloads chunks that are marked to be unloaded. This is not guaranteed to unload every such chunk. - */ - @Override - public boolean unloadQueuedChunks() { - return false; - } - - /** - * Returns if the IChunkProvider supports saving. - */ - @Override - public boolean canSave() { - return true; - } - - /** - * Converts the instance data to a readable string. - */ - @Override - public String makeString() { - return "RandomLevelSource"; - } - - /** - * Returns a list of creatures of the specified type that can spawn at the given location. - */ - @SuppressWarnings("rawtypes") - @Override - public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); - return par1EnumCreatureType == EnumCreatureType.monster - && this.scatteredFeatureGenerator.func_143030_a(par2, par3, par4) - ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() - : biomegenbase.getSpawnableList(par1EnumCreatureType); - } - - @Override - public ChunkPosition func_147416_a(World p_147416_1_, String p_147416_2_, int p_147416_3_, int p_147416_4_, - int p_147416_5_) { - return "Village".equals(p_147416_2_) && this.villageGenerator != null - ? this.villageGenerator.func_151545_a(p_147416_1_, p_147416_3_, p_147416_4_, p_147416_5_) - : null; - } - - @Override - public int getLoadedChunkCount() { - return 0; - } - - @Override - public void recreateStructures(int par1, int par2) { - - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/dimension/Dimension_Everglades.java b/gtpp/src/main/java/gtPlusPlus/everglades/dimension/Dimension_Everglades.java deleted file mode 100644 index 0520c5850b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/dimension/Dimension_Everglades.java +++ /dev/null @@ -1,29 +0,0 @@ -package gtPlusPlus.everglades.dimension; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraftforge.common.DimensionManager; - -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.everglades.block.BlockEvergladesPortal; -import gtPlusPlus.everglades.item.ItemEvergladesPortalTrigger; -import gtPlusPlus.everglades.world.WorldProviderMod; - -public class Dimension_Everglades { - - public Object instance; - 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; - public static Block blockSecondaryFiller; - public static Block blockFluidLakes; - public static Block blockPortalFrame; - - public void load() { - DimensionManager.registerProviderType(DIMID, WorldProviderMod.class, false); - DimensionManager.registerDimension(DIMID, DIMID); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/gen/WorldGenDeadLilly.java b/gtpp/src/main/java/gtPlusPlus/everglades/gen/WorldGenDeadLilly.java deleted file mode 100644 index 37947452c5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/gen/WorldGenDeadLilly.java +++ /dev/null @@ -1,25 +0,0 @@ -package gtPlusPlus.everglades.gen; - -import java.util.Random; - -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenWaterlily; - -public class WorldGenDeadLilly extends WorldGenWaterlily { - - @Override - public boolean generate(World world, Random rand, int x, int y, int z) { - for (int l = 0; l < 10; ++l) { - int i1 = x + rand.nextInt(8) - rand.nextInt(8); - int j1 = y + rand.nextInt(4) - rand.nextInt(4); - int k1 = z + rand.nextInt(8) - rand.nextInt(8); - - if (world.isAirBlock(i1, j1, k1) && Blocks.waterlily.canPlaceBlockAt(world, i1, j1, k1)) { - world.setBlock(i1, j1, k1, Blocks.waterlily, 0, 2); - } - } - - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/gen/WorldGenMinable_Custom.java b/gtpp/src/main/java/gtPlusPlus/everglades/gen/WorldGenMinable_Custom.java deleted file mode 100644 index e3ce830f27..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/gen/WorldGenMinable_Custom.java +++ /dev/null @@ -1,90 +0,0 @@ -package gtPlusPlus.everglades.gen; - -import static gtPlusPlus.core.lib.CORE.PI; - -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.gen.feature.WorldGenMinable; - -import gtPlusPlus.api.objects.Logger; - -public class WorldGenMinable_Custom extends WorldGenMinable { - - /** The block to generate. */ - private Block oreToGenerate; - /** The number of blocks to generate. */ - private int numberOfBlocks; - /** The block to replace. */ - private Block blockToReplace; - /** The meta of the block. */ - private int mineableBlockMeta; - - public WorldGenMinable_Custom(final Block block, final int count) { - super(block, count, Blocks.stone); - } - - public WorldGenMinable_Custom(final Block block, final int count, final Block target) { - super(block, count, target); - this.oreToGenerate = block; - this.numberOfBlocks = count; - this.blockToReplace = target; - } - - public WorldGenMinable_Custom(final Block block, final int meta, final int number, final Block target) { - this(block, number, target); - this.mineableBlockMeta = meta; - } - - @Override - public boolean generate(final World world, final Random rand, final int x, final int y, final int z) { - final float f = rand.nextFloat() * PI; - final double d0 = x + 16 + ((MathHelper.sin(f) * this.numberOfBlocks) / 4.0F); - final double d1 = (x + 16) - ((MathHelper.sin(f) * this.numberOfBlocks) / 4.0F); - final double d2 = z + 16 + ((MathHelper.cos(f) * this.numberOfBlocks) / 4.0F); - final double d3 = (z + 16) - ((MathHelper.cos(f) * this.numberOfBlocks) / 4.0F); - final double d4 = (y + rand.nextInt(8)) - 1; - final double d5 = (y + rand.nextInt(8)) - 1; - - for (int l = 0; l <= this.numberOfBlocks; ++l) { - final double d6 = d0 + (((d1 - d0) * l) / this.numberOfBlocks); - final double d7 = d4 + (((d5 - d4) * l) / this.numberOfBlocks); - final double d8 = d2 + (((d3 - d2) * l) / this.numberOfBlocks); - final double d9 = (rand.nextDouble() * this.numberOfBlocks) / 8.0D; - final double d10 = ((MathHelper.sin((l * PI) / this.numberOfBlocks) + 1.0F) * d9) + 1.0D; - final double d11 = ((MathHelper.sin((l * PI) / this.numberOfBlocks) + 1.0F) * d9) + 1.0D; - final int i1 = MathHelper.floor_double(d6 - (d10 / 2.0D)); - final int j1 = MathHelper.floor_double(d7 - (d11 / 2.0D)); - final int k1 = MathHelper.floor_double(d8 - (d10 / 2.0D)); - final int l1 = MathHelper.floor_double(d6 + (d10 / 2.0D)); - final int i2 = MathHelper.floor_double(d7 + (d11 / 2.0D)); - final int j2 = MathHelper.floor_double(d8 + (d10 / 2.0D)); - - for (int k2 = i1; k2 <= l1; ++k2) { - final double d12 = ((k2 + 0.5D) - d6) / (d10 / 2.0D); - if ((d12 * d12) < 1.0D) { - for (int l2 = j1; l2 <= i2; ++l2) { - final double d13 = ((l2 + 0.5D) - d7) / (d11 / 2.0D); - if (((d12 * d12) + (d13 * d13)) < 1.0D) { - for (int i3 = k1; i3 <= j2; ++i3) { - final double d14 = ((i3 + 0.5D) - d8) / (d10 / 2.0D); - if ((((d12 * d12) + (d13 * d13) + (d14 * d14)) < 1.0D) && world.getBlock(k2, l2, i3) - .isReplaceableOreGen(world, k2, l2, i3, this.blockToReplace)) { - world.setBlock(k2, l2, i3, this.oreToGenerate, this.mineableBlockMeta, 3); - Logger.INFO( - "Generated a " + this.oreToGenerate - .getLocalizedName() + " at x: " + k2 + " | y: " + l2 + " | z: " + i3); - } - } - } - } - } - } - } - - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT.java b/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT.java deleted file mode 100644 index a35b528726..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT.java +++ /dev/null @@ -1,49 +0,0 @@ -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; - private final Map mDimensionMap = new ConcurrentHashMap<>(); - - public WorldGen_GT(String aName, List aList, boolean aDefault) { - this.mWorldGenName = aName; - this.mEnabled = HANDLER_GT.sCustomWorldgenFile.get("worldgen", this.mWorldGenName, aDefault); - if (this.mEnabled) { - aList.add(this); - } - } - - public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, - int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) { - return false; - } - - public boolean executeCavegen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, - int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) { - return false; - } - - public boolean isGenerationAllowed(World aWorld, int aDimensionType, int aAllowedDimensionType) { - String aDimName = aWorld.provider.getDimensionName(); - Boolean tAllowed = (Boolean) this.mDimensionMap.get(aDimName); - if (tAllowed == null) { - boolean tValue = HANDLER_GT.sCustomWorldgenFile - .get("worldgen.dimensions." + this.mWorldGenName, aDimName, aDimensionType == aAllowedDimensionType); - this.mDimensionMap.put(aDimName, Boolean.valueOf(tValue)); - return tValue; - } else { - return tAllowed; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Base.java b/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Base.java deleted file mode 100644 index ac93a847fa..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Base.java +++ /dev/null @@ -1,580 +0,0 @@ -package gtPlusPlus.everglades.gen.gt; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.List; -import java.util.Random; - -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 cpw.mods.fml.common.IWorldGenerator; -import gregtech.api.objects.XSTR; -import gregtech.api.util.GT_Log; -import gregtech.common.GT_Worldgenerator; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.everglades.dimension.Dimension_Everglades; -import gtPlusPlus.xmod.gregtech.HANDLER_GT; - -public class WorldGen_GT_Base implements IWorldGenerator { - - /** - * Class Variables - */ - - /** - * Control percentage of filled 3x3 chunks. Lower number means less oreveins spawn - */ - public static int oreveinPercentage; - /** - * Control number of attempts to find a valid orevein. Generally this maximum limit isn't hit, selecting a vein is - * cheap - */ - public static int oreveinAttempts; - /** - * Control number of attempts to place a valid orevein. If a vein wasn't placed due to height restrictions, - * completely in the water, etc, another attempt is tried. - */ - public static int oreveinMaxPlacementAttempts; - /** - * Debug parameter for world generation. Tracks chunks added/removed from run queue. - */ - public static boolean debugWorldGen = false; - /** - * Try re-implement Richard Hendrick's Chunk by Chunk Ore Generation from his GT5u fork. - */ - public static List mList = new ArrayList<>(); - - public static HashSet ProcChunks = new HashSet<>(); - // This is probably not going to work. Trying to create a fake orevein to - // put into hashtable when there will be no ores in a vein. - public static WorldGen_GT_Ore_Layer noOresInVein = new WorldGen_GT_Ore_Layer( - "vein0", - 0, - 255, - 0, - 0, - 0, - ELEMENT.getInstance().IRON, - ELEMENT.getInstance().IRON, - ELEMENT.getInstance().IRON, - ELEMENT.getInstance().IRON); - - public static Hashtable validOreveins = new Hashtable<>(1024); - - public boolean mIsGenerating = false; - public static final Object listLock = new Object(); - // private static boolean gcAsteroids = true; - - public WorldGen_GT_Base() { - if (debugWorldGen) { - GT_Log.out.println("GTPP_Worldgenerator created"); - } - } - - @Override - public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, - IChunkProvider chunkProvider) { - 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_Everglades.DIMID; - switch (world.provider.dimensionId) { - case -1: // Nether - // generateNether(world, random, chunkX * 16, chunkZ * 16); - break; - case 0: // Overworld - // generateSurface(world, random, chunkX * 16, chunkZ * 16); - break; - case 1: // End - // generateEnd(world, random, chunkX * 16, chunkZ * 16); - break; - default: // Any other dimension - if (world.provider.dimensionId != xDim) { - break; - } else { - generateEverglades(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider); - break; - } - } - } - - 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_Everglades.DIMID, - aWorld, - aChunkGenerator, - aChunkProvider, - aWorld.getBiomeGenForCoords(aX * 16 + 8, aZ * 16 + 8).biomeName))) { - Logger.WORLD("Locked List addition. Success."); - } else { - Logger.WORLD("Locked List addition. Fail."); - } - if (debugWorldGen) GT_Log.out.println( - "ADD WorldSeed:" + aWorld.getSeed() - + " DimId" - + aWorld.provider.dimensionId - + " chunk x:" - + aX - + " z:" - + aZ - + " SIZE: " - + WorldGen_GT_Base.mList.size()); - } - - if (!this.mIsGenerating) { - Logger.WORLD("Is not generating."); - this.mIsGenerating = true; - Logger.WORLD("Setting Generation to true."); - int mList_sS = WorldGen_GT_Base.mList.size(); - mList_sS = Math.min(mList_sS, 3); // Run a maximum of 3 chunks at a - // time through worldgen. Extra - // chunks get done later. - for (int i = 0; i < mList_sS; i++) { - WorldGenContainer toRun = (WorldGenContainer) WorldGen_GT_Base.mList.get(0); - if (debugWorldGen) GT_Log.out.println( - "RUN WorldSeed:" + aWorld.getSeed() - + " DimId" - + aWorld.provider.dimensionId - + " chunk x:" - + toRun.mX - + " z:" - + toRun.mZ - + " SIZE: " - + WorldGen_GT_Base.mList.size() - + " i: " - + i); - synchronized (listLock) { - Logger.WORLD("Locked List Removal."); - WorldGen_GT_Base.mList.remove(0); - } - toRun.run(); - } - this.mIsGenerating = false; - Logger.WORLD("Is Generating now set to false.."); - } - } - - public void generateOre(Block block, World world, Random random, int chunk_x, int chunk_z, int maxX, int maxZ, - int maxVeinSize, int chancesToSpawn, int minY, int maxY, Block generateIn) { - int heightRange = maxY - minY; - WorldGenMinable worldgenminable = new WorldGenMinable(block, maxVeinSize, generateIn); - for (int k1 = 0; k1 < chancesToSpawn; ++k1) { - int xrand = random.nextInt(16); - int yrand = random.nextInt(heightRange) + minY; - int zrand = random.nextInt(16); - worldgenminable.generate(world, random, chunk_x + xrand, yrand, chunk_z + zrand); - } - } - - public static class WorldGenContainer implements Runnable { - - public final Random mRandom; - public final int mX; - public final int mZ; - public final int mDimensionType; - public final World mWorld; - public final IChunkProvider mChunkGenerator; - public final IChunkProvider mChunkProvider; - public final String mBiome; - - // Local class to track which orevein seeds must be checked when doing - // chunkified worldgen - class NearbySeeds { - - public int mX; - public int mZ; - - NearbySeeds(int x, int z) { - this.mX = x; - this.mZ = z; - } - }; - - public static ArrayList seedList = new ArrayList<>(); - - // aX and aZ are now the by-chunk X and Z for the chunk of interest - public WorldGenContainer(Random aRandom, int aX, int aZ, int aDimensionType, World aWorld, - IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider, String aBiome) { - this.mRandom = aRandom; - this.mX = aX; - this.mZ = aZ; - this.mDimensionType = aDimensionType; - this.mWorld = aWorld; - this.mChunkGenerator = aChunkGenerator; - this.mChunkProvider = aChunkProvider; - this.mBiome = aBiome; - } - - public void worldGenFindVein(int oreseedX, int oreseedZ) { - // Explanation of oreveinseed implementation. - // (long)this.mWorld.getSeed()<<16) Deep Dark does two oregen - // passes, one with getSeed set to +1 the original world seed. This - // pushes that +1 off the low bits of oreseedZ, so that the hashes - // are far apart for the two passes. - // ((this.mWorld.provider.dimensionId & 0xffL)<<56) Puts the - // dimension in the top bits of the hash, to make sure to get unique - // hashes per dimension - // ((long)oreseedX & 0x000000000fffffffL) << 28) Puts the chunk X in - // the bits 29-55. Cuts off the top few bits of the chunk so we have - // bits for dimension. - // ( (long)oreseedZ & 0x000000000fffffffL )) Puts the chunk Z in the - // bits 0-27. Cuts off the top few bits of the chunk so we have bits - // for dimension. - long oreveinSeed = (this.mWorld.getSeed() << 16) - ^ ((this.mWorld.provider.dimensionId & 0xffL) << 56 | ((oreseedX & 0x000000000fffffffL) << 28) - | (oreseedZ & 0x000000000fffffffL)); // Use - // an - // RNG - // that - // is - // identical - // every - // time - // it - // is - // called - // for - // this - // oreseed. - XSTR oreveinRNG = new XSTR(oreveinSeed); - int oreveinPercentageRoll = oreveinRNG.nextInt(100); // Roll the - // dice, see - // if we get - // an - // orevein - // here at - // all - int noOrePlacedCount = 0; - String tDimensionName = ""; - if (debugWorldGen) { - tDimensionName = this.mWorld.provider.getDimensionName(); - } - - if (debugWorldGen) { - GT_Log.out.println( - " Finding oreveins for oreveinSeed=" + oreveinSeed - + " mX=" - + this.mX - + " mZ=" - + this.mZ - + " oreseedX=" - + oreseedX - + " oreseedZ=" - + oreseedZ - + " worldSeed=" - + this.mWorld.getSeed()); - } - - Logger - .INFO("[World Generation Debug] !validOreveins.containsKey(oreveinSeed) | oreveinSeed: " + oreveinSeed); - // Search for a valid orevein for this dimension - if (!validOreveins.containsKey(oreveinSeed)) { - - Logger.INFO( - "[World Generation Debug] oreveinPercentageRoll < oreveinPercentage? " - + ((oreveinPercentageRoll < oreveinPercentage))); - Logger.INFO( - "[World Generation Debug] WorldGen_GT_Ore_Layer.sWeight > 0? " - + (WorldGen_GT_Ore_Layer.sWeight > 0)); - Logger.INFO( - "[World Generation Debug] WorldGen_GT_Ore_Layer.sList.size() > 0? " - + (WorldGen_GT_Ore_Layer.sList.size() > 0)); - if ((oreveinPercentageRoll < oreveinPercentage) && (WorldGen_GT_Ore_Layer.sWeight > 0) - && (WorldGen_GT_Ore_Layer.sList.size() > 0)) { - int placementAttempts = 0; - boolean oreveinFound = false; - int i; - for (i = 0; (i < oreveinAttempts) && (!oreveinFound) - && (placementAttempts < oreveinMaxPlacementAttempts); i++) { - Logger.INFO("[World Generation Debug] i: " + i); - Logger.INFO("[World Generation Debug] placementAttempts: " + placementAttempts); - Logger.INFO("[World Generation Debug] oreveinAttempts: " + oreveinAttempts); - Logger.INFO( - "[World Generation Debug] (placementAttempts < oreveinMaxPlacementAttempts): " - + (placementAttempts < oreveinMaxPlacementAttempts)); - Logger.INFO("[World Generation Debug] oreveinFound: " + oreveinFound); - int tRandomWeight = oreveinRNG.nextInt(WorldGen_GT_Ore_Layer.sWeight); - for (WorldGen_GT_Ore_Layer tWorldGen : WorldGen_GT_Ore_Layer.sList) { - Logger.INFO( - "[World Generation Debug] Iterating sList - Size: " - + WorldGen_GT_Ore_Layer.sList.size()); - tRandomWeight -= (tWorldGen).mWeight; - if (tRandomWeight <= 0) { - try { - // Adjust the seed so that this layer has a - // series of unique random numbers. - // Otherwise multiple attempts at this same - // oreseed will get the same offset and X/Z - // values. If an orevein failed, any orevein - // with the - // same minimum heights would fail as well. - // This prevents that, giving each orevein a - // unique height each pass through here. - int placementResult = tWorldGen.executeWorldgenChunkified( - this.mWorld, - new XSTR(oreveinSeed ^ (Block.getIdFromBlock(tWorldGen.mPrimaryMeta))), - this.mBiome, - this.mDimensionType, - this.mX * 16, - this.mZ * 16, - oreseedX * 16, - oreseedZ * 16, - this.mChunkGenerator, - this.mChunkProvider); - switch (placementResult) { - case WorldGen_GT_Ore_Layer.ORE_PLACED -> { - if (debugWorldGen) GT_Log.out.println( - " Added oreveinSeed=" + oreveinSeed - + " tries at oremix=" - + i - + " placementAttempts=" - + placementAttempts - + " dimensionName=" - + tDimensionName); - validOreveins.put(oreveinSeed, tWorldGen); - oreveinFound = true; - Logger.INFO("[World Generation Debug] ORE_PLACED"); - } - case WorldGen_GT_Ore_Layer.NO_ORE_IN_BOTTOM_LAYER -> { - placementAttempts++; - Logger.INFO( - "[World Generation Debug] NO_ORE_IN_BOTTOM_LAYER | Attempts: " - + placementAttempts); - } - // SHould do retry in this case - // until out of chances - case WorldGen_GT_Ore_Layer.NO_OVERLAP -> { - // Orevein didn't reach this chunk, - // can't add it yet to the hash - Logger.INFO("[World Generation Debug] NO_OVERLAP"); - if (debugWorldGen) GT_Log.out.println( - " Added far oreveinSeed=" + oreveinSeed - + " " - + (tWorldGen).mWorldGenName - + " tries at oremix=" - + i - + " placementAttempts=" - + placementAttempts - + " dimensionName=" - + tDimensionName); - validOreveins.put(oreveinSeed, tWorldGen); - oreveinFound = true; - } - case WorldGen_GT_Ore_Layer.NO_OVERLAP_AIR_BLOCK -> { - if (debugWorldGen) GT_Log.out.println( - " No overlap and air block in test spot=" + oreveinSeed - + " " - + (tWorldGen).mWorldGenName - + " tries at oremix=" - + i - + " placementAttempts=" - + placementAttempts - + " dimensionName=" - + tDimensionName); - // SHould do retry in this case until out of chances - Logger.INFO("[World Generation Debug] NO_OVERLAP_AIR_BLOCK"); - placementAttempts++; - } - } - break; // Try the next orevein - } catch (Throwable e) { - if (debugWorldGen) GT_Log.out.println( - "Exception occurred on oreVein" + tWorldGen - + " oreveinSeed=" - + oreveinSeed - + " mX=" - + this.mX - + " mZ=" - + this.mZ - + " oreseedX=" - + oreseedX - + " oreseedZ=" - + oreseedZ); - e.printStackTrace(GT_Log.err); - } - } - } - } - // Only add an empty orevein if are unable to place a vein - // at the oreseed chunk. - if ((!oreveinFound) && (this.mX == oreseedX) && (this.mZ == oreseedZ)) { - if (debugWorldGen) GT_Log.out.println( - " Empty oreveinSeed=" + oreveinSeed - + " mX=" - + this.mX - + " mZ=" - + this.mZ - + " oreseedX=" - + oreseedX - + " oreseedZ=" - + oreseedZ - + " tries at oremix=" - + i - + " placementAttempts=" - + placementAttempts - + " dimensionName=" - + tDimensionName); - validOreveins.put(oreveinSeed, noOresInVein); - } - } else if (oreveinPercentageRoll >= oreveinPercentage) { - if (debugWorldGen) GT_Log.out.println( - " Skipped oreveinSeed=" + oreveinSeed - + " mX=" - + this.mX - + " mZ=" - + this.mZ - + " oreseedX=" - + oreseedX - + " oreseedZ=" - + oreseedZ - + " RNG=" - + oreveinPercentageRoll - + " %=" - + oreveinPercentage - + " dimensionName=" - + tDimensionName); - validOreveins.put(oreveinSeed, noOresInVein); - } - } else { - // oreseed is located in the previously processed table - if (debugWorldGen) GT_Log.out - .print(" Valid oreveinSeed=" + oreveinSeed + " validOreveins.size()=" + validOreveins.size() + " "); - WorldGen_GT_Ore_Layer tWorldGen = validOreveins.get(oreveinSeed); - oreveinRNG.setSeed(oreveinSeed ^ (Block.getIdFromBlock(tWorldGen.mPrimaryMeta))); // Reset - // RNG - // to - // only - // be - // based - // on - // oreseed - // X/Z - // and - // type - // of - // vein - int placementResult = tWorldGen.executeWorldgenChunkified( - this.mWorld, - oreveinRNG, - this.mBiome, - this.mDimensionType, - this.mX * 16, - this.mZ * 16, - oreseedX * 16, - oreseedZ * 16, - this.mChunkGenerator, - this.mChunkProvider); - switch (placementResult) { - case WorldGen_GT_Ore_Layer.NO_ORE_IN_BOTTOM_LAYER -> { - if (debugWorldGen) GT_Log.out.println(" No ore in bottom layer"); - } - case WorldGen_GT_Ore_Layer.NO_OVERLAP -> { - if (debugWorldGen) GT_Log.out.println(" No overlap"); - } - } - } - } - - @Override - public void run() { - long startTime = System.nanoTime(); - int oreveinMaxSize; - - // Determine bounding box on how far out to check for oreveins - // affecting this chunk - // For now, manually reducing oreveinMaxSize when not in the - // Underdark for performance - if (this.mWorld.provider.getDimensionName() - .equals("Underdark")) { - oreveinMaxSize = 24; // Leave Deep Dark/Underdark max oregen at - // 32, instead of 64 - } else { - oreveinMaxSize = 48; - } - - int wXbox = this.mX - (oreveinMaxSize / 16); - int eXbox = this.mX + (oreveinMaxSize / 16 + 1); // Need to add 1 - // since it is - // compared - // using a < - int nZbox = this.mZ - (oreveinMaxSize / 16); - int sZbox = this.mZ + (oreveinMaxSize / 16 + 1); - - // Search for orevein seeds and add to the list; - for (int x = wXbox; x < eXbox; x++) { - for (int z = nZbox; z < sZbox; z++) { - // Determine if this X/Z is an orevein seed - if (GT_Worldgenerator.isOreChunk(x, z)) { - if (debugWorldGen) GT_Log.out.println("Adding seed x=" + x + " z=" + z); - seedList.add(new NearbySeeds(x, z)); - } - } - } - - // Now process each oreseed vs this requested chunk - for (; seedList.size() != 0; seedList.remove(0)) { - if (debugWorldGen) - GT_Log.out.println("Processing seed x=" + seedList.get(0).mX + " z=" + seedList.get(0).mZ); - worldGenFindVein(seedList.get(0).mX, seedList.get(0).mZ); - } - - long oregenTime = System.nanoTime(); - - // Do leftover worldgen for this chunk (GT_Stones and GT_small_ores) - try { - for (WorldGen_GT tWorldGen : HANDLER_GT.sWorldgenListEverglades) { - /* - * if (debugWorldGen) GT_Log.out.println( "tWorldGen.mWorldGenName="+tWorldGen.mWorldGenName ); - */ - tWorldGen.executeWorldgen( - this.mWorld, - this.mRandom, - this.mBiome, - this.mDimensionType, - this.mX * 16, - this.mZ * 16, - this.mChunkGenerator, - this.mChunkProvider); - } - } catch (Throwable e) { - e.printStackTrace(GT_Log.err); - } - - long leftOverTime = System.nanoTime(); - - Chunk tChunk = this.mWorld.getChunkFromBlockCoords(this.mX, this.mZ); - if (tChunk != null) { - tChunk.isModified = true; - } - long endTime = System.nanoTime(); - long duration = (endTime - startTime); - if (debugWorldGen) { - GT_Log.out.println( - " Oregen took " + (oregenTime - startTime) - + " Leftover gen took " - + (leftOverTime - oregenTime) - + " Worldgen took " - + duration - + " nanoseconds"); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Ore_Layer.java b/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Ore_Layer.java deleted file mode 100644 index 773109a818..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Ore_Layer.java +++ /dev/null @@ -1,590 +0,0 @@ -package gtPlusPlus.everglades.gen.gt; - -import static gtPlusPlus.everglades.gen.gt.WorldGen_GT_Base.debugWorldGen; - -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 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.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.everglades.dimension.Dimension_Everglades; -import gtPlusPlus.xmod.gregtech.HANDLER_GT; - -public class WorldGen_GT_Ore_Layer extends WorldGen_GT { - - public static ArrayList sList = new ArrayList<>(); - public static int sWeight = 0; - public final short mMinY; - public final short mMaxY; - public final short mWeight; - public final short mDensity; - public final short mSize; - public Block mPrimaryMeta; - public Block mSecondaryMeta; - public Block mBetweenMeta; - public Block mSporadicMeta; - public final Material mPrimary; - public final Material mSecondary; - public final Material mBetween; - public final Material mSporadic; - - // public final String mBiome; - public final String mRestrictBiome; - public final boolean mOverworld; - public final boolean mNether; - public final boolean mEnd; - public static final int WRONG_BIOME = 0; - public static final int WRONG_DIMENSION = 1; - public static final int NO_ORE_IN_BOTTOM_LAYER = 2; - public static final int NO_OVERLAP = 3; - public static final int ORE_PLACED = 4; - public static final int NO_OVERLAP_AIR_BLOCK = 5; - - public final String aTextWorldgen = "worldgen."; - - 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); - } - - public WorldGen_GT_Ore_Layer(String aName, boolean aDefault, int aMinY, int aMaxY, int aWeight, int aDensity, - int aSize, boolean aOverworld, boolean aNether, boolean aEnd, boolean GC_UNUSED1, boolean GC_UNUSED2, - boolean GC_UNUSED3, Material aPrimary, Material aSecondary, Material aBetween, Material aSporadic) { - super(aName, sList, aDefault); - Logger.WORLD("Creating Ore Layer Object"); - this.mOverworld = HANDLER_GT.sCustomWorldgenFile - .get(aTextWorldgen + this.mWorldGenName, "Overworld", aOverworld); - this.mNether = HANDLER_GT.sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Nether", aNether); - this.mEnd = HANDLER_GT.sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "TheEnd", aEnd); - this.mMinY = 5; - short mMaxY = 14; - if (mMaxY < (this.mMinY + 7)) { - GT_Log.out.println("Oremix " + this.mWorldGenName + " has invalid Min/Max heights!"); - mMaxY = (short) (this.mMinY + 7); - } - this.mMaxY = mMaxY; - this.mWeight = ((short) HANDLER_GT.sCustomWorldgenFile - .get(aTextWorldgen + this.mWorldGenName, "RandomWeight", aWeight)); - this.mDensity = ((short) HANDLER_GT.sCustomWorldgenFile - .get(aTextWorldgen + this.mWorldGenName, "Density", aDensity)); - this.mSize = ((short) Math - .max(1, HANDLER_GT.sCustomWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Size", aSize))); - this.mPrimary = aPrimary; - this.mSecondary = aSecondary; - this.mBetween = aBetween; - this.mSporadic = aSporadic; - this.mPrimaryMeta = aPrimary.getOreBlock(1); - this.mSecondaryMeta = aSecondary.getOreBlock(1); - this.mBetweenMeta = aBetween.getOreBlock(1); - this.mSporadicMeta = aSporadic.getOreBlock(1); - this.mRestrictBiome = HANDLER_GT.sCustomWorldgenFile - .get(aTextWorldgen + this.mWorldGenName, "RestrictToBiomeName", "None"); - - // if (mPrimaryMeta != -1 && GregTech_API.sGeneratedMaterials[(mPrimaryMeta % 1000)] == null) throw new - // IllegalArgumentException("A Material for the supplied ID " + mPrimaryMeta + " for " + mWorldGenName + " does - // not exist"); - // if (mSecondaryMeta != -1 && GregTech_API.sGeneratedMaterials[(mSecondaryMeta % 1000)] == null) throw new - // IllegalArgumentException("A Material for the supplied ID " + mSecondaryMeta + " for " + mWorldGenName + " - // does not exist"); - // if (mBetweenMeta != -1 && GregTech_API.sGeneratedMaterials[(mBetweenMeta % 1000)] == null) throw new - // IllegalArgumentException("A Material for the supplied ID " + mBetweenMeta + " for " + mWorldGenName + " does - // not exist"); - // if (mPrimaryMeta != -1 && GregTech_API.sGeneratedMaterials[(mSporadicMeta % 1000)] == null) throw new - // IllegalArgumentException("A Material for the supplied ID " + mSporadicMeta + " for " + mWorldGenName + " does - // not exist"); - - if (this.mEnabled) { - sWeight += this.mWeight; - } - } - - public int executeWorldgenChunkified(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, - int aChunkZ, int aSeedX, int aSeedZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) { - - // Debug Handler - /** - * This handles Variables that are null during Init - */ - if (this.mPrimaryMeta == Blocks.stone || this.mSecondaryMeta == Blocks.stone - || this.mBetweenMeta == Blocks.stone - || this.mSporadicMeta == Blocks.stone) { - this.mPrimaryMeta = this.mPrimary.getOreBlock(1); - this.mSecondaryMeta = this.mSecondary.getOreBlock(1); - this.mBetweenMeta = this.mBetween.getOreBlock(1); - this.mSporadicMeta = this.mSporadic.getOreBlock(1); - Logger.WORLD( - "[Vein Generator] An Ore in a Vein had defaulted back to a default value, so they have now been reset to correct values."); - } - - if (mWorldGenName.equals("vein0")) { - if (debugWorldGen) GT_Log.out.println(" NoOresInVein-vein0"); - // This is a special empty orevein - Logger.WORLD("[World Generation Debug] Special Empty Vein placed."); - return ORE_PLACED; - } - if (aDimensionType != Dimension_Everglades.DIMID) { - /* - * // Debug code, but spams log if (debugWorldGen) { GT_Log.out.println( "Wrong dimension" ); } - */ - Logger.WORLD("[World Generation Debug] Wrong dimension."); - return WRONG_DIMENSION; - } - if (!this.mRestrictBiome.equals("None") && !(this.mRestrictBiome.equals(aBiome))) { - return WRONG_BIOME; - } - int[] placeCount = new int[4]; - - int tMinY = mMinY + aRandom.nextInt(mMaxY - mMinY - 5); - // Determine West/East ends of orevein - int wXVein = aSeedX - aRandom.nextInt(mSize); // West side - int eXVein = aSeedX + 16 + aRandom.nextInt(mSize); - // Limit Orevein to only blocks present in current chunk - int wX = Math.max(wXVein, aChunkX + 2); // Bias placement by 2 blocks to prevent worldgen cascade. - int eX = Math.min(eXVein, aChunkX + 2 + 16); - 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_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)) { - // Didn't reach, but could have placed. Save orevein for future use. - return NO_OVERLAP; - } else { - // Didn't reach, but couldn't place in test spot anywys, try for another orevein - return NO_OVERLAP_AIR_BLOCK; - } - } - // Determine North/Sound ends of orevein - int nZVein = aSeedZ - aRandom.nextInt(mSize); - int sZVein = aSeedZ + 16 + aRandom.nextInt(mSize); - - int nZ = Math.max(nZVein, aChunkZ + 2); // Bias placement by 2 blocks to prevent worldgen cascade. - int sZ = Math.min(sZVein, aChunkZ + 2 + 16); - if (nZ >= sZ) { // No overlap between orevein and this chunk exists in Z - 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, 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)) { - // Didn't reach, but could have placed. Save orevein for future use. - return NO_OVERLAP; - } else { - // Didn't reach, but couldn't place in test spot anywys, try for another orevein - return NO_OVERLAP_AIR_BLOCK; - } - } - - if (debugWorldGen) { - String tDimensionName = aWorld.provider.getDimensionName(); - GT_Log.out.print( - "Trying Orevein:" + this.mWorldGenName - + " Dimension=" - + tDimensionName - + " mX=" - + aChunkX / 16 - + " mZ=" - + aChunkZ / 16 - + " oreseedX=" - + aSeedX / 16 - + " oreseedZ=" - + aSeedZ / 16 - + " cY=" - + tMinY); - } - // Adjust the density down the more chunks we are away from the oreseed. The 5 chunks surrounding the seed - // should always be max density due to truncation of Math.sqrt(). - int localDensity = (Math.max( - 1, - this.mDensity / ((int) Math - .sqrt(2 + Math.pow(aChunkX / 16 - aSeedX / 16, 2) + Math.pow(aChunkZ / 16 - aSeedZ / 16, 2))))); - - // To allow for early exit due to no ore placed in the bottom layer (probably because we are in the sky), unroll - // 1 pass through the loop - // Now we do bottom-level-first oregen, and work our way upwards. - int level = tMinY - 1; // Dunno why, but the first layer is actually played one below tMinY. Go figure. - for (int tX = wX; tX < eX; tX++) { - int placeX = Math - .max(1, Math.max(MathHelper.abs_int(wXVein - tX), MathHelper.abs_int(eXVein - tX)) / localDensity); - for (int tZ = nZ; tZ < sZ; tZ++) { - int placeZ = Math - .max(1, Math.max(MathHelper.abs_int(sZVein - tZ), MathHelper.abs_int(nZVein - tZ)) / localDensity); - if (((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mSecondaryMeta != null)) { - if (setOreBlock(aWorld, tX, level, tZ, this.mSecondaryMeta, false, false)) { - placeCount[1]++; - } - } else - if ((aRandom.nextInt(7) == 0) && ((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mSporadicMeta != null)) { // Sporadics are only 1 per vertical column normally, - // reduce by 1/7 to - // compensate - if (setOreBlock(aWorld, tX, level, tZ, this.mSporadicMeta, false, false)) placeCount[3]++; - } - } - } - /* - * if ((placeCount[1]+placeCount[3])==0) { if (debugWorldGen) GT_Log.out.println( " No ore in bottom layer" ); - * return NO_ORE_IN_BOTTOM_LAYER; // Exit early, didn't place anything in the bottom layer } - */ - Logger.WORLD("[World Generation Debug] Trying to set Ores?"); - for (level = tMinY; level < (tMinY - 1 + 3); level++) { - for (int tX = wX; tX < eX; tX++) { - int placeX = Math - .max(1, Math.max(MathHelper.abs_int(wXVein - tX), MathHelper.abs_int(eXVein - tX)) / localDensity); - for (int tZ = nZ; tZ < sZ; tZ++) { - int placeZ = Math.max( - 1, - Math.max(MathHelper.abs_int(sZVein - tZ), MathHelper.abs_int(nZVein - tZ)) / localDensity); - if (((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mSecondaryMeta != null)) { - if (setOreBlock(aWorld, tX, level, tZ, this.mSecondaryMeta, false, false)) { - placeCount[1]++; - } - } else if ((aRandom.nextInt(7) == 0) - && ((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mSporadicMeta != null)) { // Sporadics are only 1 per vertical column normally, - // reduce by 1/7 to - // compensate - if (setOreBlock(aWorld, tX, level, tZ, this.mSporadicMeta, false, false)) placeCount[3]++; - } - } - } - } - // Low Middle layer is between + sporadic - // level should be = tMinY-1+3 from end of for loop - for (int tX = wX; tX < eX; tX++) { - int placeX = Math - .max(1, Math.max(MathHelper.abs_int(wXVein - tX), MathHelper.abs_int(eXVein - tX)) / localDensity); - for (int tZ = nZ; tZ < sZ; tZ++) { - int placeZ = Math - .max(1, Math.max(MathHelper.abs_int(sZVein - tZ), MathHelper.abs_int(nZVein - tZ)) / localDensity); - if ((aRandom.nextInt(2) == 0) && ((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mBetweenMeta != null)) { // Between are only 1 per vertical column, reduce by 1/2 to - // compensate - if (setOreBlock(aWorld, tX, level, tZ, this.mBetweenMeta, false, false)) { - placeCount[2]++; - } - } else - if ((aRandom.nextInt(7) == 0) && ((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mSporadicMeta != null)) { // Sporadics are only 1 per vertical column normally, - // reduce by 1/7 to - // compensate - if (setOreBlock(aWorld, tX, level, tZ, this.mSporadicMeta, false, false)) placeCount[3]++; - } - } - } - // High Middle layer is between + primary + sporadic - level++; // Increment level to next layer - for (int tX = wX; tX < eX; tX++) { - int placeX = Math - .max(1, Math.max(MathHelper.abs_int(wXVein - tX), MathHelper.abs_int(eXVein - tX)) / localDensity); - for (int tZ = nZ; tZ < sZ; tZ++) { - int placeZ = Math - .max(1, Math.max(MathHelper.abs_int(sZVein - tZ), MathHelper.abs_int(nZVein - tZ)) / localDensity); - if ((aRandom.nextInt(2) == 0) && ((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mBetweenMeta != null)) { // Between are only 1 per vertical column, reduce by 1/2 to - // compensate - if (setOreBlock(aWorld, tX, level, tZ, this.mBetweenMeta, false, false)) { - placeCount[2]++; - } - } else if (((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mPrimaryMeta != null)) { - if (setOreBlock(aWorld, tX, level, tZ, this.mPrimaryMeta, false, false)) { - placeCount[0]++; - } - } else - if ((aRandom.nextInt(7) == 0) && ((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mSporadicMeta != null)) { // Sporadics are only 1 per vertical column normally, - // reduce by 1/7 to - // compensate - if (setOreBlock(aWorld, tX, level, tZ, this.mSporadicMeta, false, false)) placeCount[3]++; - } - } - } - // Top two layers are primary + sporadic - level++; // Increment level to next layer - for (; level < (tMinY + 6); level++) { // should do two layers - for (int tX = wX; tX < eX; tX++) { - int placeX = Math - .max(1, Math.max(MathHelper.abs_int(wXVein - tX), MathHelper.abs_int(eXVein - tX)) / localDensity); - for (int tZ = nZ; tZ < sZ; tZ++) { - int placeZ = Math.max( - 1, - Math.max(MathHelper.abs_int(sZVein - tZ), MathHelper.abs_int(nZVein - tZ)) / localDensity); - if (((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mPrimaryMeta != null)) { - if (setOreBlock(aWorld, tX, level, tZ, this.mPrimaryMeta, false, false)) { - placeCount[0]++; - } - } else if ((aRandom.nextInt(7) == 0) - && ((aRandom.nextInt(placeZ) == 0) || (aRandom.nextInt(placeX) == 0)) - && (this.mSporadicMeta != null)) { // Sporadics are only 1 per vertical column normally, - // reduce by 1/7 to - // compensate - if (setOreBlock(aWorld, tX, level, tZ, this.mSporadicMeta, false, false)) placeCount[3]++; - } - } - } - } - if (debugWorldGen) { - String tDimensionName = aWorld.provider.getDimensionName(); - GT_Log.out.println( - "Generated Orevein:" + this.mWorldGenName - + " Dimension=" - + tDimensionName - + " mX=" - + aChunkX / 16 - + " mZ=" - + aChunkZ / 16 - + " oreseedX=" - + aSeedX / 16 - + " oreseedZ=" - + aSeedZ / 16 - + " cY=" - + tMinY - + " wXVein" - + wXVein - + " eXVein" - + eXVein - + " nZVein" - + nZVein - + " sZVein" - + sZVein - + " locDen=" - + localDensity - + " Den=" - + this.mDensity - + " Sec=" - + placeCount[1] - + " Spo=" - + placeCount[3] - + " Bet=" - + placeCount[2] - + " Pri=" - + placeCount[0]); - } - // Something (at least the bottom layer must have 1 block) must have been placed, return true - return ORE_PLACED; - } - - private String fString = "unset", ore1String = "unset", ore2String = "unset", ore3String = "unset", - ore4String = "unset"; - Map gtOreMap = new HashMap<>(); - - public boolean setOreBlock(World aWorld, int aX, int aY, int aZ, Block aMetaData, boolean isSmallOre, boolean air) { - if (!air) { - aY = Math.min(aWorld.getActualHeight(), Math.max(aY, 1)); - } - - // Set GT ORE - if (aMetaData instanceof GT_Block_Ores) { - if (ore1String.equals("unset")) { - ore1String = Utils.sanitizeString( - this.mPrimary.getLocalizedName() - .toLowerCase()); - } - if (ore2String.equals("unset")) { - ore2String = Utils.sanitizeString( - this.mSecondaryMeta.getLocalizedName() - .toLowerCase()); - } - if (ore3String.equals("unset")) { - ore3String = Utils.sanitizeString( - this.mBetweenMeta.getLocalizedName() - .toLowerCase()); - } - if (ore4String.equals("unset")) { - ore4String = Utils.sanitizeString( - this.mSporadicMeta.getLocalizedName() - .toLowerCase()); - } - - if (this.mPrimaryMeta == aMetaData) { - for (Materials f : Materials.values()) { - if (!gtOreMap.containsKey(f)) { - gtOreMap.put(f, Utils.sanitizeString(f.mName.toLowerCase())); - } - fString = gtOreMap.get(f); - if (fString.contains(ore1String)) { - int r = f.mMetaItemSubID; - if (setOreBlock(aWorld, aX, aY, aZ, r, false)) { - Logger.WORLD( - "[World Generation Debug] Set " + f.mDefaultLocalName - + " Ore at X: " - + aX - + " | Y: " - + aY - + " | Z: " - + aZ); - return true; - } - } - } - } - if (this.mSecondaryMeta == aMetaData) { - for (Materials f : Materials.values()) { - if (!gtOreMap.containsKey(f)) { - gtOreMap.put(f, Utils.sanitizeString(f.mName.toLowerCase())); - } - fString = gtOreMap.get(f); - if (fString.contains(ore2String)) { - int r = f.mMetaItemSubID; - if (setOreBlock(aWorld, aX, aY, aZ, r, false)) { - Logger.WORLD( - "[World Generation Debug] Set " + f.mDefaultLocalName - + " Ore at X: " - + aX - + " | Y: " - + aY - + " | Z: " - + aZ); - return true; - } - } - } - } - if (this.mBetweenMeta == aMetaData) { - for (Materials f : Materials.values()) { - if (!gtOreMap.containsKey(f)) { - gtOreMap.put(f, Utils.sanitizeString(f.mName.toLowerCase())); - } - fString = gtOreMap.get(f); - if (fString.contains(ore3String)) { - int r = f.mMetaItemSubID; - if (setOreBlock(aWorld, aX, aY, aZ, r, false)) { - Logger.WORLD( - "[World Generation Debug] Set " + f.mDefaultLocalName - + " Ore at X: " - + aX - + " | Y: " - + aY - + " | Z: " - + aZ); - return true; - } - } - } - } - if (this.mSporadicMeta == aMetaData) { - for (Materials f : Materials.values()) { - if (!gtOreMap.containsKey(f)) { - gtOreMap.put(f, Utils.sanitizeString(f.mName.toLowerCase())); - } - fString = gtOreMap.get(f); - if (fString.contains(ore4String)) { - int r = f.mMetaItemSubID; - if (setOreBlock(aWorld, aX, aY, aZ, r, false)) { - Logger.WORLD( - "[World Generation Debug] Set " + f.mDefaultLocalName - + " Ore at X: " - + aX - + " | Y: " - + aY - + " | Z: " - + aZ); - return true; - } - } - } - } - } - - Block tBlock = aWorld.getBlock(aX, aY, aZ); - Block tOreBlock = aMetaData; - int BlockMeta = aWorld.getBlockMetadata(aX, aY, aZ); - String BlockName = tBlock.getUnlocalizedName(); - if (tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.stone) - || 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_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)) { - Logger.WORLD( - "[World Generation Debug] Set " + tOreBlock - .getLocalizedName() + " at X: " + aX + " | Y: " + aY + " | Z: " + aZ); - return true; - } - } - return false; - } - - private boolean setOreBlock(World aWorld, int aX, int aY, int aZ, int mMetaItemSubID, boolean useless) { - - // Get Class and Methods - Method setOres = null; - - try { - setOres = GT_TileEntity_Ores.class.getDeclaredMethod( - "setOreBlock", - World.class, - int.class, - int.class, - int.class, - int.class, - boolean.class); - } catch (NoSuchMethodException | SecurityException e) { - - } - - try { - if (setOres != null) { - setOres.invoke(null, aWorld, aX, aY, aZ, mMetaItemSubID, useless); - } else { - return false; - } - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - - } - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_Ores.java b/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_Ores.java deleted file mode 100644 index e45b4bcd20..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_Ores.java +++ /dev/null @@ -1,263 +0,0 @@ -package gtPlusPlus.everglades.gen.gt; - -import java.util.Hashtable; - -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.ORES; -import gtPlusPlus.core.material.nuclear.FLUORIDES; - -public class WorldGen_Ores { - - public static WorldGen_GT_Ore_Layer BaseVein = new WorldGen_GT_Ore_Layer( - "veinA", - 20, - 40, - 1, - 1, - 128, - ELEMENT.getInstance().IRON, - ELEMENT.getInstance().IRON, - ELEMENT.getInstance().IRON, - ELEMENT.getInstance().IRON); - - /** - * Custom ore Veins - */ - public static WorldGen_GT_Ore_Layer Vein1 = new WorldGen_GT_Ore_Layer( - "vein1", - 0, - 60, - 30, - 2, - 16, - ORES.AGARDITE_CD, - ORES.AGARDITE_LA, - ORES.DEMICHELEITE_BR, - ORES.IRARSITE); - - public static WorldGen_GT_Ore_Layer Vein2 = new WorldGen_GT_Ore_Layer( - "vein2", - 0, - 60, - 30, - 2, - 16, - ORES.AGARDITE_ND, - ORES.AGARDITE_Y, - ORES.KASHINITE, - ORES.CERITE); - - public static WorldGen_GT_Ore_Layer Vein3 = new WorldGen_GT_Ore_Layer( - "vein3", - 0, - 60, - 30, - 3, - 32, - ORES.CERITE, - ORES.NICHROMITE, - ORES.XENOTIME, - ORES.HIBONITE); - - public static WorldGen_GT_Ore_Layer Vein4 = new WorldGen_GT_Ore_Layer( - "vein4", - 0, - 60, - 40, - 3, - 32, - ORES.GEIKIELITE, - ORES.CRYOLITE, - ORES.GADOLINITE_CE, - ORES.AGARDITE_ND); - - public static WorldGen_GT_Ore_Layer Vein5 = new WorldGen_GT_Ore_Layer( - "vein5", - 30, - 128, - 20, - 2, - 48, - ORES.HIBONITE, - ORES.YTTRIALITE, - ORES.ZIRCONILITE, - ORES.CERITE); - public static WorldGen_GT_Ore_Layer Vein6 = new WorldGen_GT_Ore_Layer( - "vein6", - 0, - 40, - 20, - 2, - 48, - ORES.XENOTIME, - ORES.ZIRKELITE, - ORES.CROCROITE, - ORES.IRARSITE); - public static WorldGen_GT_Ore_Layer Vein7 = new WorldGen_GT_Ore_Layer( - "vein7", - 40, - 128, - 20, - 2, - 48, - ORES.HONEAITE, - ORES.MIESSIITE, - ORES.SAMARSKITE_Y, - ORES.SAMARSKITE_YB); - public static WorldGen_GT_Ore_Layer Vein8 = new WorldGen_GT_Ore_Layer( - "vein8", - 0, - 40, - 20, - 2, - 48, - ORES.TITANITE, - ORES.ZIMBABWEITE, - ORES.ZIRCON, - ORES.FLORENCITE); - - public static WorldGen_GT_Ore_Layer Vein9 = new WorldGen_GT_Ore_Layer( - "vein9", - 10, - 30, - 20, - 1, - 48, - ORES.LANTHANITE_CE, - FLUORIDES.FLUORITE, - ORES.LAFOSSAITE, - ORES.FLORENCITE); - public static WorldGen_GT_Ore_Layer Vein10 = new WorldGen_GT_Ore_Layer( - "vein10", - 20, - 50, - 20, - 2, - 32, - ORES.GEIKIELITE, - ORES.YTTROCERITE, - ORES.LANTHANITE_LA, - ORES.RADIOBARITE); - public static WorldGen_GT_Ore_Layer Vein11 = new WorldGen_GT_Ore_Layer( - "vein11", - 30, - 70, - 20, - 1, - 48, - FLUORIDES.FLUORITE, - ORES.KASHINITE, - ORES.ZIRCON, - ORES.CRYOLITE); - public static WorldGen_GT_Ore_Layer Vein12 = new WorldGen_GT_Ore_Layer( - "vein12", - 40, - 80, - 20, - 3, - 32, - ORES.CERITE, - ORES.ALBURNITE, - ORES.MIESSIITE, - ORES.HIBONITE); - - /** - * Best Rarest Veins 2017 - */ - public static WorldGen_GT_Ore_Layer Vein13 = new WorldGen_GT_Ore_Layer( - "vein13", - 5, - 15, - 5, - 1, - 16, - ORES.CRYOLITE, - ORES.RADIOBARITE, - ORES.HONEAITE, - ORES.FLORENCITE); - - public static WorldGen_GT_Ore_Layer Vein14 = new WorldGen_GT_Ore_Layer( - "vein14", - 10, - 20, - 8, - 2, - 16, - ORES.DEMICHELEITE_BR, - ORES.PERROUDITE, - ORES.IRARSITE, - ORES.RADIOBARITE); - - public static WorldGen_GT_Ore_Layer Vein15 = new WorldGen_GT_Ore_Layer( - "vein15", - 5, - 25, - 5, - 3, - 24, - ORES.FLUORCAPHITE, - ORES.LAFOSSAITE, - ORES.GADOLINITE_CE, - ORES.GADOLINITE_Y); - - public static WorldGen_GT_Ore_Layer Vein16 = new WorldGen_GT_Ore_Layer( - "vein16", - 0, - 25, - 4, - 2, - 32, - ORES.YTTROCERITE, - ORES.LEPERSONNITE, - ORES.LAUTARITE, - FLUORIDES.FLUORITE); - - public static WorldGen_GT_Ore_Layer Vein17 = new WorldGen_GT_Ore_Layer( - "vein17", - 10, - 35, - 4, - 1, - 32, - ORES.FLORENCITE, - ORES.LAUTARITE, - ORES.SAMARSKITE_YB, - ORES.POLYCRASE); - public static WorldGen_GT_Ore_Layer Vein18 = new WorldGen_GT_Ore_Layer( - "vein18", - 15, - 40, - 4, - 1, - 48, - ORES.GADOLINITE_CE, - ORES.GADOLINITE_Y, - ORES.AGARDITE_LA, - ORES.AGARDITE_CD); - - public static Hashtable validOreveins = new Hashtable<>(1024); - - static long ID = 0; - - public static void generateValidOreVeins() { - validOreveins.put(ID++, BaseVein); - validOreveins.put(ID++, Vein1); - validOreveins.put(ID++, Vein2); - validOreveins.put(ID++, Vein3); - validOreveins.put(ID++, Vein4); - validOreveins.put(ID++, Vein5); - validOreveins.put(ID++, Vein6); - validOreveins.put(ID++, Vein7); - validOreveins.put(ID++, Vein8); - validOreveins.put(ID++, Vein9); - validOreveins.put(ID++, Vein10); - validOreveins.put(ID++, Vein11); - validOreveins.put(ID++, Vein12); - validOreveins.put(ID++, Vein13); - validOreveins.put(ID++, Vein14); - validOreveins.put(ID++, Vein15); - validOreveins.put(ID++, Vein16); - validOreveins.put(ID++, Vein17); - validOreveins.put(ID++, Vein18); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/item/ItemBlockToxicEverglades.java b/gtpp/src/main/java/gtPlusPlus/everglades/item/ItemBlockToxicEverglades.java deleted file mode 100644 index b5c66ff8b4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/item/ItemBlockToxicEverglades.java +++ /dev/null @@ -1,37 +0,0 @@ -package gtPlusPlus.everglades.item; - -import java.util.List; - -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; - - public ItemBlockToxicEverglades(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 (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 - list.add("Place this if you are lazy to create the portal structure, slacker."); - } else if (this.mID == 2) { // blockDarkWorldGround - 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?."); - if (stack.getItemDamage() > 0) { - list.add("This smells worse than a bean fart..."); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/item/ItemEvergladesPortalTrigger.java b/gtpp/src/main/java/gtPlusPlus/everglades/item/ItemEvergladesPortalTrigger.java deleted file mode 100644 index be15c2a0d2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/item/ItemEvergladesPortalTrigger.java +++ /dev/null @@ -1,113 +0,0 @@ -package gtPlusPlus.everglades.item; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -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.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.everglades.dimension.Dimension_Everglades; - -public class ItemEvergladesPortalTrigger extends Item { - - public ItemEvergladesPortalTrigger() { - super(); - this.maxStackSize = 1; - setMaxDamage(64); - setCreativeTab(CreativeTabs.tabTools); - this.setTextureName(GTPlusPlus.ID + ":" + "itemAlkalusDisk"); - } - - @Override - public Item setMaxStackSize(int int1) { - return super.setMaxStackSize(1); - } - - @Override - public EnumRarity getRarity(ItemStack thisItem) { - return EnumRarity.epic; - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public String getItemStackDisplayName(final ItemStack p_77653_1_) { - return EnumChatFormatting.GOLD + "Alkalus Disk [" - + EnumChatFormatting.RED - + "Activated" - + EnumChatFormatting.GOLD - + "]"; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - list.add(EnumChatFormatting.GREEN + "Shines the way, towards the far away Everglades."); - list.add( - EnumChatFormatting.GREEN + "This item produces such a temperature, that you'd hate to use it incorrectly."); - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - return Utils.rgbtoHexValue(255, 128, 0); - } - - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, - int par5, int par6, int par7, float par8, float par9, float par10) { - if (par7 == 0) { - par5--; - } - if (par7 == 1) { - par5++; - } - if (par7 == 2) { - par6--; - } - if (par7 == 3) { - par6++; - } - if (par7 == 4) { - par4--; - } - if (par7 == 5) { - par4++; - } - if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { - return false; - } - 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_Everglades.portalBlock.tryToCreatePortal(par3World, par4, par5, par6)) { - // Make a Portal - } else { - if (!par3World.isRemote) { - par3World.setBlock(par4, par5, par6, ModBlocks.blockHellfire, 0, 3); - } - } - } - par1ItemStack.damageItem(1, par2EntityPlayer); - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/world/TeleporterDimensionMod.java b/gtpp/src/main/java/gtPlusPlus/everglades/world/TeleporterDimensionMod.java deleted file mode 100644 index 51f549ad9c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/world/TeleporterDimensionMod.java +++ /dev/null @@ -1,472 +0,0 @@ -package gtPlusPlus.everglades.world; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Random; - -import net.minecraft.entity.Entity; -import net.minecraft.init.Blocks; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.util.Direction; -import net.minecraft.util.LongHashMap; -import net.minecraft.util.MathHelper; -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 { - - private final WorldServer worldServerInstance; - /** - * A private Random() function in Teleporter - */ - private final Random random; - /** - * Stores successful portal placement locations for rapid lookup. - */ - private final LongHashMap destinationCoordinateCache = new LongHashMap(); - /** - * A list of valid keys for the destinationCoordainteCache. These are based on the X & Z of the players initial - * location. - */ - @SuppressWarnings("rawtypes") - private final List destinationCoordinateKeys = new ArrayList(); - - public TeleporterDimensionMod(WorldServer par1WorldServer) { - super(par1WorldServer); - this.worldServerInstance = par1WorldServer; - this.random = new Random(par1WorldServer.getSeed()); - } - - /** - * Place an entity in a nearby portal, creating one if necessary. - */ - @Override - public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - if (this.worldServerInstance.provider.dimensionId != 1) { - if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { - this.makePortal(par1Entity); - this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); - } - } else { - int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY) - 1; - int k = MathHelper.floor_double(par1Entity.posZ); - byte b0 = 1; - byte b1 = 0; - - for (int l = -2; l <= 2; ++l) { - for (int i1 = -2; i1 <= 2; ++i1) { - for (int j1 = -1; j1 < 3; ++j1) { - int k1 = i + i1 * b0 + l * b1; - int l1 = j + j1; - int i2 = k + i1 * b1 - l * b0; - boolean flag = j1 < 0; - this.worldServerInstance - .setBlock(k1, l1, i2, flag ? Dimension_Everglades.blockPortalFrame : Blocks.air); - } - } - } - - par1Entity.setLocationAndAngles(i, j, k, par1Entity.rotationYaw, 0.0F); - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - } - - /** - * Place an entity in a nearby portal which already exists. - */ - @Override - public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - short short1 = 128; - double d3 = -1.0D; - int i = 0; - int j = 0; - int k = 0; - int l = MathHelper.floor_double(par1Entity.posX); - int i1 = MathHelper.floor_double(par1Entity.posZ); - long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); - boolean flag = true; - double d7; - int l3; - - if (this.destinationCoordinateCache.containsItem(j1)) { - Teleporter.PortalPosition portalposition = (Teleporter.PortalPosition) this.destinationCoordinateCache - .getValueByKey(j1); - d3 = 0.0D; - i = portalposition.posX; - j = portalposition.posY; - k = portalposition.posZ; - portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); - flag = false; - } else { - for (l3 = l - short1; l3 <= l + short1; ++l3) { - double d4 = l3 + 0.5D - par1Entity.posX; - - for (int l1 = i1 - short1; l1 <= i1 + short1; ++l1) { - 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_Everglades.portalBlock) { - while (this.worldServerInstance.getBlock(l3, i2 - 1, l1) - == Dimension_Everglades.portalBlock) { - --i2; - } - - d7 = i2 + 0.5D - par1Entity.posY; - double d8 = d4 * d4 + d7 * d7 + d5 * d5; - - if (d3 < 0.0D || d8 < d3) { - d3 = d8; - i = l3; - j = i2; - k = l1; - } - } - } - } - } - } - - if (d3 >= 0.0D) { - if (flag) { - this.destinationCoordinateCache - .add(j1, new Teleporter.PortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime())); - this.destinationCoordinateKeys.add(Long.valueOf(j1)); - } - - double d11 = i + 0.5D; - double d6 = j + 0.5D; - d7 = k + 0.5D; - int i4 = -1; - - if (this.worldServerInstance.getBlock(i - 1, j, k) == Dimension_Everglades.portalBlock) { - i4 = 2; - } - - if (this.worldServerInstance.getBlock(i + 1, j, k) == Dimension_Everglades.portalBlock) { - i4 = 0; - } - - if (this.worldServerInstance.getBlock(i, j, k - 1) == Dimension_Everglades.portalBlock) { - i4 = 3; - } - - if (this.worldServerInstance.getBlock(i, j, k + 1) == Dimension_Everglades.portalBlock) { - i4 = 1; - } - - int j2 = par1Entity.getTeleportDirection(); - - if (i4 > -1) { - int k2 = Direction.rotateLeft[i4]; - int l2 = Direction.offsetX[i4]; - int i3 = Direction.offsetZ[i4]; - int j3 = Direction.offsetX[k2]; - int k3 = Direction.offsetZ[k2]; - boolean flag1 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3 + k3) - || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3 + k3); - boolean flag2 = !this.worldServerInstance.isAirBlock(i + l2, j, k + i3) - || !this.worldServerInstance.isAirBlock(i + l2, j + 1, k + i3); - - if (flag1 && flag2) { - i4 = Direction.rotateOpposite[i4]; - k2 = Direction.rotateOpposite[k2]; - l2 = Direction.offsetX[i4]; - i3 = Direction.offsetZ[i4]; - j3 = Direction.offsetX[k2]; - k3 = Direction.offsetZ[k2]; - l3 = i - j3; - d11 -= j3; - int k1 = k - k3; - d7 -= k3; - flag1 = !this.worldServerInstance.isAirBlock(l3 + l2 + j3, j, k1 + i3 + k3) - || !this.worldServerInstance.isAirBlock(l3 + l2 + j3, j + 1, k1 + i3 + k3); - flag2 = !this.worldServerInstance.isAirBlock(l3 + l2, j, k1 + i3) - || !this.worldServerInstance.isAirBlock(l3 + l2, j + 1, k1 + i3); - } - - float f1 = 0.5F; - float f2 = 0.5F; - - if (!flag1 && flag2) { - f1 = 1.0F; - } else if (flag1 && !flag2) { - f1 = 0.0F; - } else if (flag1 && flag2) { - f2 = 0.0F; - } - - d11 += j3 * f1 + f2 * l2; - d7 += k3 * f1 + f2 * i3; - float f3 = 0.0F; - float f4 = 0.0F; - float f5 = 0.0F; - float f6 = 0.0F; - - if (i4 == j2) { - f3 = 1.0F; - f4 = 1.0F; - } else if (i4 == Direction.rotateOpposite[j2]) { - f3 = -1.0F; - f4 = -1.0F; - } else if (i4 == Direction.rotateRight[j2]) { - f5 = 1.0F; - f6 = -1.0F; - } else { - f5 = -1.0F; - f6 = 1.0F; - } - - double d9 = par1Entity.motionX; - double d10 = par1Entity.motionZ; - par1Entity.motionX = d9 * f3 + d10 * f6; - par1Entity.motionZ = d9 * f5 + d10 * f4; - par1Entity.rotationYaw = par8 - j2 * 90 + i4 * 90; - } else { - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - par1Entity.setLocationAndAngles(d11, d6, d7, par1Entity.rotationYaw, par1Entity.rotationPitch); - return true; - } else { - return false; - } - } - - @Override - public boolean makePortal(Entity par1Entity) { - byte b0 = 16; - double d0 = -1.0D; - int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY); - int k = MathHelper.floor_double(par1Entity.posZ); - int l = i; - int i1 = j; - int j1 = k; - int k1 = 0; - int l1 = this.random.nextInt(4); - int i2; - double d1; - double d2; - int k2; - int i3; - int k3; - int j3; - int i4; - int l3; - int k4; - int j4; - int i5; - int l4; - double d3; - double d4; - - for (i2 = i - b0; i2 <= i + b0; ++i2) { - d1 = i2 + 0.5D - par1Entity.posX; - - for (k2 = k - b0; k2 <= k + b0; ++k2) { - d2 = k2 + 0.5D - par1Entity.posZ; - label274: for (i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3) { - if (this.worldServerInstance.isAirBlock(i2, i3, k2)) { - while (i3 > 0 && this.worldServerInstance.isAirBlock(i2, i3 - 1, k2)) { - --i3; - } - - for (j3 = l1; j3 < l1 + 4; ++j3) { - k3 = j3 % 2; - l3 = 1 - k3; - - if (j3 % 4 >= 2) { - k3 = -k3; - l3 = -l3; - } - - for (i4 = 0; i4 < 3; ++i4) { - for (j4 = 0; j4 < 4; ++j4) { - for (k4 = -1; k4 < 4; ++k4) { - l4 = i2 + (j4 - 1) * k3 + i4 * l3; - i5 = i3 + k4; - int j5 = k2 + (j4 - 1) * l3 - i4 * k3; - - if (k4 < 0 && !this.worldServerInstance.getBlock(l4, i5, j5) - .getMaterial() - .isSolid() || k4 >= 0 && !this.worldServerInstance.isAirBlock(l4, i5, j5)) { - continue label274; - } - } - } - } - - d4 = i3 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - - if (d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = i3; - j1 = k2; - k1 = j3 % 4; - } - } - } - } - } - } - - if (d0 < 0.0D) { - for (i2 = i - b0; i2 <= i + b0; ++i2) { - d1 = i2 + 0.5D - par1Entity.posX; - - for (k2 = k - b0; k2 <= k + b0; ++k2) { - d2 = k2 + 0.5D - par1Entity.posZ; - label222: for (i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3) { - if (this.worldServerInstance.isAirBlock(i2, i3, k2)) { - while (i3 > 0 && this.worldServerInstance.isAirBlock(i2, i3 - 1, k2)) { - --i3; - } - - for (j3 = l1; j3 < l1 + 2; ++j3) { - k3 = j3 % 2; - l3 = 1 - k3; - - for (i4 = 0; i4 < 4; ++i4) { - for (j4 = -1; j4 < 4; ++j4) { - k4 = i2 + (i4 - 1) * k3; - l4 = i3 + j4; - i5 = k2 + (i4 - 1) * l3; - - if (j4 < 0 && !this.worldServerInstance.getBlock(k4, l4, i5) - .getMaterial() - .isSolid() || j4 >= 0 && !this.worldServerInstance.isAirBlock(k4, l4, i5)) { - continue label222; - } - } - } - - d4 = i3 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - - if (d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = i3; - j1 = k2; - k1 = j3 % 2; - } - } - } - } - } - } - } - - int k5 = l; - int j2 = i1; - k2 = j1; - int l5 = k1 % 2; - int l2 = 1 - l5; - - if (k1 % 4 >= 2) { - l5 = -l5; - l2 = -l2; - } - - boolean flag; - - if (d0 < 0.0D) { - if (i1 < 70) { - i1 = 70; - } - - if (i1 > this.worldServerInstance.getActualHeight() - 10) { - i1 = this.worldServerInstance.getActualHeight() - 10; - } - - j2 = i1; - - for (i3 = -1; i3 <= 1; ++i3) { - for (j3 = 1; j3 < 3; ++j3) { - for (k3 = -1; k3 < 3; ++k3) { - l3 = k5 + (j3 - 1) * l5 + i3 * l2; - i4 = j2 + k3; - j4 = k2 + (j3 - 1) * l2 - i3 * l5; - flag = k3 < 0; - this.worldServerInstance - .setBlock(l3, i4, j4, flag ? Dimension_Everglades.blockPortalFrame : Blocks.air); - } - } - } - } - - for (i3 = 0; i3 < 4; ++i3) { - for (j3 = 0; j3 < 4; ++j3) { - for (k3 = -1; k3 < 4; ++k3) { - l3 = k5 + (j3 - 1) * l5; - 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_Everglades.blockPortalFrame : Dimension_Everglades.portalBlock, - 0, - 2); - } - } - - for (j3 = 0; j3 < 4; ++j3) { - for (k3 = -1; k3 < 4; ++k3) { - l3 = k5 + (j3 - 1) * l5; - i4 = j2 + k3; - j4 = k2 + (j3 - 1) * l2; - this.worldServerInstance - .notifyBlocksOfNeighborChange(l3, i4, j4, this.worldServerInstance.getBlock(l3, i4, j4)); - } - } - } - - return true; - } - - /** - * called periodically to remove out-of-date portal locations from the cache list. Argument par1 is a - * WorldServer.getTotalWorldTime() value. - */ - @Override - public void removeStalePortalLocations(long par1) { - if (par1 % 100L == 0L) { - @SuppressWarnings("rawtypes") - Iterator iterator = this.destinationCoordinateKeys.iterator(); - long j = par1 - 600L; - - while (iterator.hasNext()) { - Long olong = (Long) iterator.next(); - Teleporter.PortalPosition portalposition = (Teleporter.PortalPosition) this.destinationCoordinateCache - .getValueByKey(olong); - - if (portalposition == null || portalposition.lastUpdateTime < j) { - iterator.remove(); - this.destinationCoordinateCache.remove(olong); - } - } - } - } - - public class PortalPosition extends ChunkCoordinates { - - /** - * The worldtime at which this PortalPosition was last verified - */ - public long lastUpdateTime; - - public PortalPosition(int par2, int par3, int par4, long par5) { - super(par2, par3, par4); - this.lastUpdateTime = par5; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/world/WorldChunkManagerCustom.java b/gtpp/src/main/java/gtPlusPlus/everglades/world/WorldChunkManagerCustom.java deleted file mode 100644 index d1a621addf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/world/WorldChunkManagerCustom.java +++ /dev/null @@ -1,250 +0,0 @@ -package gtPlusPlus.everglades.world; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import net.minecraft.crash.CrashReport; -import net.minecraft.crash.CrashReportCategory; -import net.minecraft.util.ReportedException; -import net.minecraft.world.ChunkPosition; -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 cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.everglades.biome.GenLayerEverglades; - -public class WorldChunkManagerCustom extends WorldChunkManager { - - private GenLayer genBiomes; - /** A GenLayer containing the indices into BiomeGenBase.biomeList[] */ - private GenLayer biomeIndexLayer; - /** The BiomeCache object for this world. */ - private BiomeCache biomeCache; - /** A list of biomes that the player can spawn in. */ - private List biomesToSpawnIn; - - @SuppressWarnings({ "rawtypes" }) - public WorldChunkManagerCustom() { - this.biomeCache = new BiomeCache(this); - this.biomesToSpawnIn = new ArrayList(); - this.biomesToSpawnIn.addAll(allowedBiomes); // TODO - } - - public WorldChunkManagerCustom(long seed, WorldType worldType) { - this(); - // i changed this to my GenLayerDarkWorld - GenLayer[] agenlayer = GenLayerEverglades.makeTheWorld(seed, worldType); - - agenlayer = getModdedBiomeGenerators(worldType, seed, agenlayer); - this.genBiomes = agenlayer[0]; - this.biomeIndexLayer = agenlayer[1]; - } - - /** - * Gets the list of valid biomes for the player to spawn in. - */ - @Override - public List getBiomesToSpawnIn() { - return this.biomesToSpawnIn; - } - - /** - * Returns a list of rainfall values for the specified blocks. Args: listToReuse, x, z, width, length. - */ - @Override - public float[] getRainfall(float[] listToReuse, int x, int z, int width, int length) { - IntCache.resetIntCache(); - - if (listToReuse == null || listToReuse.length < width * length) { - listToReuse = new float[width * length]; - } - - int[] aint = this.biomeIndexLayer.getInts(x, z, width, length); - - for (int i1 = 0; i1 < width * length; ++i1) { - try { - float f = BiomeGenBase.getBiome(aint[i1]) - .getIntRainfall() / 65536.0F; - - if (f > 1.0F) { - f = 1.0F; - } - - listToReuse[i1] = f; - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id"); - CrashReportCategory crashreportcategory = crashreport.makeCategory("DownfallBlock"); - crashreportcategory.addCrashSection("biome id", Integer.valueOf(i1)); - crashreportcategory.addCrashSection("downfalls[] size", Integer.valueOf(listToReuse.length)); - crashreportcategory.addCrashSection("x", Integer.valueOf(x)); - crashreportcategory.addCrashSection("z", Integer.valueOf(z)); - crashreportcategory.addCrashSection("w", Integer.valueOf(width)); - crashreportcategory.addCrashSection("h", Integer.valueOf(length)); - throw new ReportedException(crashreport); - } - } - - return listToReuse; - } - - /** - * Return an adjusted version of a given temperature based on the y height - */ - @Override - @SideOnly(Side.CLIENT) - public float getTemperatureAtHeight(float par1, int par2) { - return par1; - } - - /** - * Returns an array of biomes for the location input. - */ - @Override - public BiomeGenBase[] getBiomesForGeneration(BiomeGenBase[] par1ArrayOfBiomeGenBase, int par2, int par3, int par4, - int par5) { - IntCache.resetIntCache(); - - if (par1ArrayOfBiomeGenBase == null || par1ArrayOfBiomeGenBase.length < par4 * par5) { - par1ArrayOfBiomeGenBase = new BiomeGenBase[par4 * par5]; - } - - int[] aint = this.genBiomes.getInts(par2, par3, par4, par5); - - try { - for (int i = 0; i < par4 * par5; ++i) { - par1ArrayOfBiomeGenBase[i] = BiomeGenBase.getBiome(aint[i]); - } - - return par1ArrayOfBiomeGenBase; - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id"); - CrashReportCategory crashreportcategory = crashreport.makeCategory("RawBiomeBlock"); - crashreportcategory.addCrashSection("biomes[] size", Integer.valueOf(par1ArrayOfBiomeGenBase.length)); - crashreportcategory.addCrashSection("x", Integer.valueOf(par2)); - crashreportcategory.addCrashSection("z", Integer.valueOf(par3)); - crashreportcategory.addCrashSection("w", Integer.valueOf(par4)); - crashreportcategory.addCrashSection("h", Integer.valueOf(par5)); - throw new ReportedException(crashreport); - } - } - - /** - * Returns biomes to use for the blocks and loads the other data like temperature and humidity onto the - * WorldChunkManager Args: oldBiomeList, x, z, width, depth - */ - @Override - public BiomeGenBase[] loadBlockGeneratorData(BiomeGenBase[] oldBiomeList, int x, int z, int width, int depth) { - return this.getBiomeGenAt(oldBiomeList, x, z, width, depth, true); - } - - /** - * Return a list of biomes for the specified blocks. Args: listToReuse, x, y, width, length, cacheFlag (if false, - * don't check biomeCache to avoid infinite loop in BiomeCacheBlock) - */ - @Override - public BiomeGenBase[] getBiomeGenAt(BiomeGenBase[] listToReuse, int x, int y, int width, int length, - boolean cacheFlag) { - IntCache.resetIntCache(); - - if (listToReuse == null || listToReuse.length < width * length) { - listToReuse = new BiomeGenBase[width * length]; - } - - if (cacheFlag && width == 16 && length == 16 && (x & 15) == 0 && (y & 15) == 0) { - BiomeGenBase[] abiomegenbase1 = this.biomeCache.getCachedBiomes(x, y); - System.arraycopy(abiomegenbase1, 0, listToReuse, 0, width * length); - return listToReuse; - } else { - int[] aint = this.biomeIndexLayer.getInts(x, y, width, length); - - for (int i = 0; i < width * length; ++i) { - listToReuse[i] = BiomeGenBase.getBiome(aint[i]); - } - return listToReuse; - } - } - - /** - * checks given Chunk's Biomes against List of allowed ones - */ - @Override - @SuppressWarnings("rawtypes") - public boolean areBiomesViable(int x, int y, int z, List par4List) { - IntCache.resetIntCache(); - int l = x - z >> 2; - int i1 = y - z >> 2; - int j1 = x + z >> 2; - int k1 = y + z >> 2; - int l1 = j1 - l + 1; - int i2 = k1 - i1 + 1; - int[] aint = this.genBiomes.getInts(l, i1, l1, i2); - - try { - for (int j2 = 0; j2 < l1 * i2; ++j2) { - BiomeGenBase biomegenbase = BiomeGenBase.getBiome(aint[j2]); - - if (!par4List.contains(biomegenbase)) { - return false; - } - } - - return true; - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id"); - CrashReportCategory crashreportcategory = crashreport.makeCategory("Layer"); - crashreportcategory.addCrashSection("Layer", this.genBiomes.toString()); - crashreportcategory.addCrashSection("x", Integer.valueOf(x)); - crashreportcategory.addCrashSection("z", Integer.valueOf(y)); - crashreportcategory.addCrashSection("radius", Integer.valueOf(z)); - crashreportcategory.addCrashSection("allowed", par4List); - throw new ReportedException(crashreport); - } - } - - /** - * Finds a valid position within a range, that is in one of the listed biomes. Searches {par1,par2} +-par3 blocks. - * Strongly favors positive y positions. - */ - @Override - @SuppressWarnings("rawtypes") - public ChunkPosition findBiomePosition(int p_150795_1_, int p_150795_2_, int p_150795_3_, List p_150795_4_, - Random p_150795_5_) { - IntCache.resetIntCache(); - int l = p_150795_1_ - p_150795_3_ >> 2; - int i1 = p_150795_2_ - p_150795_3_ >> 2; - int j1 = p_150795_1_ + p_150795_3_ >> 2; - int k1 = p_150795_2_ + p_150795_3_ >> 2; - int l1 = j1 - l + 1; - int i2 = k1 - i1 + 1; - int[] aint = this.genBiomes.getInts(l, i1, l1, i2); - ChunkPosition chunkposition = null; - int j2 = 0; - - for (int k2 = 0; k2 < l1 * i2; ++k2) { - int l2 = l + k2 % l1 << 2; - int i3 = i1 + k2 / l1 << 2; - BiomeGenBase biomegenbase = BiomeGenBase.getBiome(aint[k2]); - - if (p_150795_4_.contains(biomegenbase) && (chunkposition == null || p_150795_5_.nextInt(j2 + 1) == 0)) { - chunkposition = new ChunkPosition(l2, 0, i3); - ++j2; - } - } - - return chunkposition; - } - - /** - * Calls the WorldChunkManager's biomeCache.cleanupCache() - */ - @Override - public void cleanupCache() { - this.biomeCache.cleanupCache(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/everglades/world/WorldProviderMod.java b/gtpp/src/main/java/gtPlusPlus/everglades/world/WorldProviderMod.java deleted file mode 100644 index c8a69a3b0e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/everglades/world/WorldProviderMod.java +++ /dev/null @@ -1,59 +0,0 @@ -package gtPlusPlus.everglades.world; - -import net.minecraft.util.Vec3; -import net.minecraft.world.WorldProvider; -import net.minecraft.world.WorldType; -import net.minecraft.world.chunk.IChunkProvider; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.everglades.chunk.ChunkProviderModded; -import gtPlusPlus.everglades.dimension.Dimension_Everglades; - -public class WorldProviderMod extends WorldProvider { - - @Override - public void registerWorldChunkManager() { - this.worldChunkMgr = new WorldChunkManagerCustom(this.worldObj.getSeed(), WorldType.AMPLIFIED); - this.isHellWorld = false; - this.hasNoSky = false; - this.dimensionId = Dimension_Everglades.DIMID; - } - - @Override - @SideOnly(Side.CLIENT) - public Vec3 getFogColor(float par1, float par2) { - return Vec3.createVectorHelper(0.01568627450980392D, 0.09019607843137255D, 0.0D); - } - - @Override - public IChunkProvider createChunkGenerator() { - return new ChunkProviderModded(this.worldObj, this.worldObj.getSeed() - 1278); - } - - @Override - public boolean canCoordinateBeSpawn(int par1, int par2) { - return false; - } - - @Override - public float getSunBrightness(float par1) { - return (par1 * 2F); - } - - @Override - public float getStarBrightness(float par1) { - return (par1 * 5F); - } - - @Override - @SideOnly(Side.CLIENT) - public boolean doesXZShowFog(int par1, int par2) { - return true; - } - - @Override - public String getDimensionName() { - return "dimensionDarkWorld"; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/nei/DecayableRecipeHandler.java b/gtpp/src/main/java/gtPlusPlus/nei/DecayableRecipeHandler.java deleted file mode 100644 index 499e53c317..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/nei/DecayableRecipeHandler.java +++ /dev/null @@ -1,273 +0,0 @@ -package gtPlusPlus.nei; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.resources.I18n; -import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; - -import codechicken.lib.gui.GuiDraw; -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.TemplateRecipeHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.gui.machine.GUI_DecayablesChest; -import gtPlusPlus.core.handler.Recipes.DecayableRecipe; -import gtPlusPlus.core.item.base.dusts.BaseItemDustUnique; -import gtPlusPlus.core.item.materials.DustDecayable; -import gtPlusPlus.core.lib.VanillaColours; -import gtPlusPlus.nei.handlers.NeiTextureHandler; - -public class DecayableRecipeHandler extends TemplateRecipeHandler { - - public static final String mNEIName = "Decayables"; - - @Override - public String getRecipeName() { - return StatCollector.translateToLocal("GTPP.container.decaychest.name"); - } - - @Override - public String getGuiTexture() { - return GTPlusPlus.ID + ":textures/gui/nei/decayables.png"; - } - - @Override - public Class getGuiClass() { - return GUI_DecayablesChest.class; - } - - @Override - public String getOverlayIdentifier() { - return "GTPP_Decayables"; - } - - @Override - public int recipiesPerPage() { - return 1; - } - - @Override - public void loadTransferRects() { - this.transferRects - .add(new RecipeTransferRect(new Rectangle(6, 3, 16, 16), getOverlayIdentifier(), new Object[0])); - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - if (result == null || (!DustDecayable.class.isInstance(result.getItem()) - && !BaseItemDustUnique.class.isInstance(result.getItem()))) { - return; - } - if (result != null) { - // Logger.INFO("Looking up crafting recipes for "+ItemUtils.getItemName(result)); - } - final List recipes = DecayableRecipe.mRecipes; - for (final DecayableRecipe recipe : recipes) { - if (recipe.isValid()) { - final ItemStack input = recipe.mInput.copy(); - final ItemStack output = recipe.mOutput.copy(); - if (!GT_Utility.areStacksEqual(result, output, true)) { - continue; - } - // Logger.INFO("Showing Usage result for "+ItemUtils.getItemName(result)); - final DecayableRecipeNEI rec = new DecayableRecipeNEI(input, output, recipe.mTime); - this.arecipes.add(rec); - sort(); - } - } - } - - @Override - public void loadCraftingRecipes(String outputId, Object... results) { - if (outputId.equals(getOverlayIdentifier()) && this.getClass() == DecayableRecipeHandler.class) { - final List recipes = DecayableRecipe.mRecipes; - for (final DecayableRecipe recipe : recipes) { - if (recipe.isValid()) { - final ItemStack input = recipe.mInput.copy(); - final ItemStack output = recipe.mOutput.copy(); - final DecayableRecipeNEI rec = new DecayableRecipeNEI(input, output, recipe.mTime); - this.arecipes.add(rec); - sort(); - } - } - } else { - super.loadCraftingRecipes(outputId, results); - } - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - final List recipes = DecayableRecipe.mRecipes; - if (ingredient != null) { - // Logger.INFO("Looking up Usage results for "+ItemUtils.getItemName(ingredient)); - } - for (final DecayableRecipe recipe : recipes) { - if (recipe.isValid()) { - final ItemStack input = recipe.mInput.copy(); - final ItemStack output = recipe.mOutput.copy(); - if (!GT_Utility.areStacksEqual(ingredient, input, true)) { - continue; - } - // Logger.INFO("Showing up Usage results for "+ItemUtils.getItemName(ingredient)); - final DecayableRecipeNEI rec = new DecayableRecipeNEI(input, output, recipe.mTime); - // rec.setIngredientPermutation((Collection) rec.input, ingredient); - this.arecipes.add(rec); - sort(); - } - } - } - - private void sort() { - List g = new ArrayList<>(); - for (CachedRecipe u : arecipes) { - g.add((DecayableRecipeNEI) u); - } - if (g != null && !g.isEmpty()) { - Collections.sort(g); - } - } - - @Override - public void drawExtras(int recipeIndex) { - DecayableRecipeNEI recipe = (DecayableRecipeNEI) this.arecipes.get(recipeIndex); - - // GuiDraw.drawStringC(I18n.format("GTPP.container.decaychest.result", new Object[]{}), 43, 10, 8421504, false); - - int cost = recipe.time; - if (cost > 0) { - - // NEI Strings - String s = I18n.format("GTPP.nei.info", new Object[] { cost }); - String s0 = I18n.format("GTPP.nei.timetaken", new Object[] { cost }); - - // Time Strings - String s1 = I18n.format("GTPP.time.ticks", new Object[] { cost }); - String s2 = I18n.format("GTPP.time.seconds", new Object[] { cost }); - String s3 = I18n.format("GTPP.time.minutes", new Object[] { cost }); - String s4 = I18n.format("GTPP.time.hours", new Object[] { cost }); - String s5 = I18n.format("GTPP.time.days", new Object[] { cost }); - String s6 = I18n.format("GTPP.time.months", new Object[] { cost }); - int y = 20; - - int secs = cost / 20; - int mins = secs / 60; - int hours = mins / 60; - int days = hours / 24; - int months = days / 30; - - String suffix; - int formattedTime; - if (cost <= 20) { - suffix = s1; - formattedTime = cost; - } else if (cost <= (20 * 60)) { - suffix = s2; - formattedTime = secs; - } else if (cost <= (20 * 60 * 60)) { - suffix = s3; - formattedTime = mins; - } else if (cost <= (20 * 60 * 60 * 24)) { - suffix = s4; - formattedTime = hours; - } else if (cost < (20 * 60 * 60 * 24 * 30)) { - suffix = s5; - formattedTime = days; - } else if (cost <= (20 * 60 * 60 * 24 * 30)) { - suffix = s6; - formattedTime = months; - } else { - suffix = s1; - formattedTime = cost; - } - - int x = 5; - GuiDraw.drawString(s, x, 25, VanillaColours.DYE_BLACK.getAsInt(), false); - GuiDraw.drawString(s0, x, 40, VanillaColours.DYE_BLACK.getAsInt(), false); - - GuiDraw.drawString(suffix, x + 16, y + 30, VanillaColours.DYE_BLACK.getAsInt(), false); - - // Values - GuiDraw.drawString(("" + formattedTime), x, y + 30, VanillaColours.DYE_GREEN.getAsInt(), false); - - if (hours > 1) { - int aLeftoverMinutes = (cost - (hours * (20 * 60 * 60))); - if (aLeftoverMinutes > 0) { - int secs2 = aLeftoverMinutes / 20; - int mins2 = secs2 / 60; - GuiDraw.drawString(s3, x + 16, y + 42, VanillaColours.DYE_BLACK.getAsInt(), false); - GuiDraw.drawString(("" + mins2), x, y + 42, VanillaColours.DYE_GREEN.getAsInt(), false); - } - } - } - - NeiTextureHandler.RECIPE_BUTTON.renderIcon(6.0D, 3.0D, 16.0D, 16.0D, 0.0D, true); - } - - public class DecayableRecipeNEI extends TemplateRecipeHandler.CachedRecipe implements Comparable { - - private PositionedStack input; - private PositionedStack output; - public int time; - - @Override - public PositionedStack getIngredient() { - return this.input; - } - - @Override - public PositionedStack getResult() { - return this.output; - } - - public DecayableRecipeNEI(final ItemStack input, final ItemStack result, final int time) { - super(); - this.input = new PositionedStack(input, 93, 24); - this.output = new PositionedStack(result, 142, 42); - this.time = time; - } - - @Override - public int compareTo(CachedRecipe o) { - boolean b = DecayableRecipeNEI.class.isInstance(o); - if (b) { - DecayableRecipeNEI p = (DecayableRecipeNEI) o; - if (p.time > this.time) { - return 1; - } else if (p.time == this.time) { - return 0; - } else { - return -1; - } - } - return 0; - } - - @Override - public boolean equals(Object obj) { - if (obj != null) { - if (DecayableRecipeNEI.class.isInstance(obj)) { - DecayableRecipeNEI p = (DecayableRecipeNEI) obj; - if (p != null) { - // Time check first to keep it simple and not unbox the Recipes. - if (p.time == this.time) { - ItemStack aInput = p.input.item; - ItemStack aOutput = p.output.item; - if (GT_Utility.areStacksEqual(aInput, this.input.item, true)) { - if (GT_Utility.areStacksEqual(aOutput, this.output.item, true)) { - return true; - } - } - } - } - } - } - return false; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java b/gtpp/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java deleted file mode 100644 index c7c657f04a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java +++ /dev/null @@ -1,502 +0,0 @@ -package gtPlusPlus.nei; - -import java.awt.Rectangle; -import java.lang.ref.SoftReference; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.stream.Collectors; - -import net.minecraft.client.Minecraft; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import org.lwjgl.opengl.GL11; - -import codechicken.lib.gui.GuiDraw; -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.GuiCraftingRecipe; -import codechicken.nei.recipe.GuiRecipe; -import codechicken.nei.recipe.GuiUsageRecipe; -import codechicken.nei.recipe.TemplateRecipeHandler; -import cpw.mods.fml.common.event.FMLInterModComms; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.objects.ItemData; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.GasSpargingRecipe; -import gregtech.api.util.GasSpargingRecipeMap; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class GT_NEI_LFTR_Sparging extends TemplateRecipeHandler { - - public static final String mNEIName = GasSpargingRecipeMap.mNEIDisplayName; - private SoftReference> mCachedRecipes = null; - - public GT_NEI_LFTR_Sparging() { - this.transferRects.add( - new TemplateRecipeHandler.RecipeTransferRect( - new Rectangle(65, 13, 36, 18), - this.getOverlayIdentifier(), - new Object[0])); - if (!NEI_GTPP_Config.sIsAdded) { - FMLInterModComms.sendRuntimeMessage( - GT_Values.GT, - "NEIPlugins", - "register-crafting-handler", - "gregtechplusplus@" + this.getRecipeName() + "@" + this.getOverlayIdentifier()); - GuiCraftingRecipe.craftinghandlers.add(this); - GuiUsageRecipe.usagehandlers.add(this); - } - } - - @Override - public String getRecipeName() { - return mNEIName; - } - - @Override - public String getGuiTexture() { - return GasSpargingRecipeMap.mNEIGUIPath; - } - - @Override - public String getOverlayIdentifier() { - return gregtech.api.util.GasSpargingRecipeMap.mUnlocalizedName; - } - - @Override - public int recipiesPerPage() { - return 1; - } - - @Override - public void drawBackground(final int recipe) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GuiDraw.changeTexture(this.getGuiTexture()); - GuiDraw.drawTexturedModalRect(-4, -8, 1, 3, 174, 68); - } - - @Override - public void loadTransferRects() { - this.transferRects - .add(new RecipeTransferRect(new Rectangle(72, 14, 22, 16), getOverlayIdentifier(), new Object[0])); - } - - public List getCache() { - List cache; - if (mCachedRecipes == null || (cache = mCachedRecipes.get()) == null) { - cache = GasSpargingRecipeMap.mRecipes.stream() // do not use parallel stream. This is already parallelized - // by NEI - .sorted() - .map(temp -> createCachedRecipe(temp)) - .collect(Collectors.toList()); - // while the NEI parallelize handlers, for each individual handler it still uses sequential execution model - // so we do not need any synchronization here - mCachedRecipes = new SoftReference<>(cache); - } - return cache; - } - - public GasSpargingRecipeNEI createCachedRecipe(GasSpargingRecipe aRecipe) { - return new GasSpargingRecipeNEI(aRecipe); - } - - @Override - public void loadCraftingRecipes(String outputId, Object... results) { - if (outputId.equals(getOverlayIdentifier())) { - arecipes.addAll(getCache()); - } else { - super.loadCraftingRecipes(outputId, results); - } - } - - @Override - public void loadCraftingRecipes(ItemStack aResult) { - ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aResult); - - ArrayList tResults = new ArrayList<>(); - tResults.add(aResult); - tResults.add(GT_OreDictUnificator.get(true, aResult)); - if ((tPrefixMaterial != null) && (!tPrefixMaterial.mBlackListed) - && (!tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty())) { - for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { - tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); - } - } - FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true); - FluidStack tFluidStack; - if (tFluid != null) { - tFluidStack = tFluid; - tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - } else tFluidStack = GT_Utility.getFluidFromDisplayStack(aResult); - if (tFluidStack != null) { - tResults.addAll(GT_Utility.getContainersFromFluid(tFluidStack)); - } - for (GasSpargingRecipeNEI recipe : getCache()) { - if (tResults.stream() - .anyMatch(stack -> recipe.contains(recipe.mOutputs, stack))) arecipes.add(recipe); - } - } - - @Override - public void loadUsageRecipes(ItemStack aInput) { - ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aInput); - - ArrayList tInputs = new ArrayList<>(); - tInputs.add(aInput); - tInputs.add(GT_OreDictUnificator.get(false, aInput)); - if ((tPrefixMaterial != null) && (!tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty())) { - for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { - tInputs.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); - } - } - FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true); - FluidStack tFluidStack; - if (tFluid != null) { - tFluidStack = tFluid; - tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - } else tFluidStack = GT_Utility.getFluidFromDisplayStack(aInput); - if (tFluidStack != null) { - tInputs.addAll(GT_Utility.getContainersFromFluid(tFluidStack)); - } - for (GasSpargingRecipeNEI recipe : getCache()) { - if (tInputs.stream() - .anyMatch(stack -> recipe.contains(recipe.mInputs, stack))) arecipes.add(recipe); - } - } - - protected static void drawText(int aX, int aY, String aString, int aColor) { - Minecraft.getMinecraft().fontRenderer.drawString(aString, aX, aY, aColor); - } - - @Override - public void drawExtras(int aRecipeIndex) { - final long tEUt = ((GasSpargingRecipeNEI) this.arecipes.get(aRecipeIndex)).mRecipe.mEUt; - final long tDuration = ((GasSpargingRecipeNEI) this.arecipes.get(aRecipeIndex)).mRecipe.mDuration; - drawText(10, 73, "Total: " + MathUtils.formatNumbers((long) (tDuration * tEUt)) + " EU", -16777216); - drawText(10, 83, "Usage: " + MathUtils.formatNumbers(tEUt) + " EU/t", -16777216); - drawText( - 10, - 93, - "Time: " + (tDuration < 20 ? "< 1" : MathUtils.formatNumbers(0.05d * tDuration)) + " secs", - -16777216); - drawText(10, 103, "Gas not used to sparge is", -16777216); - drawText(10, 113, "returned alongside outputs.", -16777216); - } - - @Override - public List handleItemTooltip(final GuiRecipe gui, final ItemStack aStack, final List currenttip, - final int aRecipeIndex) { - final TemplateRecipeHandler.CachedRecipe tObject = this.arecipes.get(aRecipeIndex); - if ((tObject instanceof final GasSpargingRecipeNEI tRecipe)) { - ItemStack aSpargeInput = tRecipe.mOutputs.get(0).item; - ItemStack aSpentFuel = tRecipe.mOutputs.get(1).item; - for (final PositionedStack tStack : tRecipe.mOutputs) { - if (aStack == tStack.item) { - if (ItemList.Display_Fluid.isStackEqual(tStack.item, true, true)) { - if (GT_Utility.areStacksEqual(aStack, aSpentFuel, true)) { - break; - } - if (GT_Utility.areStacksEqual(aStack, aSpargeInput, true)) { - currenttip.add("The amount returned is the remainder after all other outputs."); - } - currenttip.add( - "Maximum Output: " + (((FixedPositionedStack) tStack).mChance / 100) - + "." - + ((((FixedPositionedStack) tStack).mChance % 100) < 10 - ? "0" + (((FixedPositionedStack) tStack).mChance % 100) - : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) - + "L"); - break; - } - break; - } - } - for (final PositionedStack tStack : tRecipe.mInputs) { - if (GT_Utility.areStacksEqual(aStack, tStack.item)) { - if ((gregtech.api.enums.ItemList.Display_Fluid.isStackEqual(tStack.item, true, true)) - || (tStack.item.stackSize != 0)) { - break; - } - if (ItemUtils.isControlCircuit(aStack)) { - currenttip.add("Does not get consumed in the process"); - } - break; - } - } - } - return currenttip; - } - - public class FixedPositionedStack extends PositionedStack { - - public final int mChance; - public boolean permutated = false; - - public FixedPositionedStack(final Object object, final int x, final int y) { - this(object, x, y, 0); - } - - public FixedPositionedStack(final Object object, final int x, final int y, final int aChance) { - super(object, x, y, true); - this.mChance = aChance; - } - - @Override - public void generatePermutations() { - if (this.permutated) { - return; - } - final ArrayList tDisplayStacks = new ArrayList<>(); - for (final ItemStack tStack : this.items) { - if (GT_Utility.isStackValid(tStack)) { - if (tStack.getItemDamage() == 32767) { - final List permutations = codechicken.nei.ItemList.itemMap.get(tStack.getItem()); - if (!permutations.isEmpty()) { - ItemStack stack; - for (final Iterator i$ = permutations.iterator(); i$.hasNext(); tDisplayStacks - .add(GT_Utility.copyAmount(tStack.stackSize, new Object[] { stack }))) { - stack = i$.next(); - } - } else { - final ItemStack base = new ItemStack(tStack.getItem(), tStack.stackSize); - base.stackTagCompound = tStack.stackTagCompound; - tDisplayStacks.add(base); - } - } else { - tDisplayStacks.add(GT_Utility.copy(new Object[] { tStack })); - } - } - } - this.items = (tDisplayStacks.toArray(new ItemStack[0])); - if (this.items.length == 0) { - this.items = new ItemStack[] { new ItemStack(Blocks.fire) }; - } - this.permutated = true; - this.setPermutationToRender(0); - } - } - - public class GasSpargingRecipeNEI extends CachedRecipe implements Comparable { - - public final GasSpargingRecipe mRecipe; - public final List mOutputs = new ArrayList<>(); - public final List mInputs = new ArrayList<>(); - - public GasSpargingRecipeNEI(GasSpargingRecipe tRecipe) { - super(); - this.mRecipe = tRecipe; - int tStartIndex = 0; - if (tRecipe.mFluidInputs.length > 0) { - if ((tRecipe.mFluidInputs[0] != null) && (tRecipe.mFluidInputs[0].getFluid() != null)) { - this.mInputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidInputs[0], true), - 30, - 5)); - } - if ((tRecipe.mFluidInputs.length > 1) && (tRecipe.mFluidInputs[1] != null) - && (tRecipe.mFluidInputs[1].getFluid() != null)) { - this.mInputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidInputs[1], true), - 12, - 5)); - } - if ((tRecipe.mFluidInputs.length > 2) && (tRecipe.mFluidInputs[2] != null) - && (tRecipe.mFluidInputs[2].getFluid() != null)) { - this.mInputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidInputs[2], true), - 48, - 5)); - } - if ((tRecipe.mFluidInputs.length > 3) && (tRecipe.mFluidInputs[3] != null) - && (tRecipe.mFluidInputs[3].getFluid() != null)) { - this.mInputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidInputs[3], true), - 12, - 23)); - } - if ((tRecipe.mFluidInputs.length > 4) && (tRecipe.mFluidInputs[4] != null) - && (tRecipe.mFluidInputs[4].getFluid() != null)) { - this.mInputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidInputs[4], true), - 30, - 23)); - } - if ((tRecipe.mFluidInputs.length > 5) && (tRecipe.mFluidInputs[5] != null) - && (tRecipe.mFluidInputs[5].getFluid() != null)) { - this.mInputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidInputs[5], true), - 48, - 23)); - } - if ((tRecipe.mFluidInputs.length > 6) && (tRecipe.mFluidInputs[6] != null) - && (tRecipe.mFluidInputs[6].getFluid() != null)) { - this.mInputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidInputs[6], true), - 12, - 41)); - } - if ((tRecipe.mFluidInputs.length > 7) && (tRecipe.mFluidInputs[7] != null) - && (tRecipe.mFluidInputs[7].getFluid() != null)) { - this.mInputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidInputs[7], true), - 30, - 41)); - } - if ((tRecipe.mFluidInputs.length > 8) && (tRecipe.mFluidInputs[8] != null) - && (tRecipe.mFluidInputs[8].getFluid() != null)) { - this.mInputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidInputs[8], true), - 48, - 41)); - } - } - - tStartIndex = 0; - if (tRecipe.mFluidOutputs.length > 0) { - if ((tRecipe.mFluidOutputs[0] != null) && (tRecipe.mFluidOutputs[0].getFluid() != null)) { - this.mOutputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidOutputs[0], false), - 120, - 5, - tRecipe.getMaxOutput(tStartIndex++))); - } - if ((tRecipe.mFluidOutputs.length > 1) && (tRecipe.mFluidOutputs[1] != null) - && (tRecipe.mFluidOutputs[1].getFluid() != null)) { - this.mOutputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidOutputs[1], true), - 102, - 5, - tRecipe.getMaxOutput(tStartIndex++))); - } - if ((tRecipe.mFluidOutputs.length > 2) && (tRecipe.mFluidOutputs[2] != null) - && (tRecipe.mFluidOutputs[2].getFluid() != null)) { - this.mOutputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidOutputs[2], false), - 138, - 5, - tRecipe.getMaxOutput(tStartIndex++))); - } - if ((tRecipe.mFluidOutputs.length > 3) && (tRecipe.mFluidOutputs[3] != null) - && (tRecipe.mFluidOutputs[3].getFluid() != null)) { - this.mOutputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidOutputs[3], false), - 102, - 23, - tRecipe.getMaxOutput(tStartIndex++))); - } - if ((tRecipe.mFluidOutputs.length > 4) && (tRecipe.mFluidOutputs[4] != null) - && (tRecipe.mFluidOutputs[4].getFluid() != null)) { - this.mOutputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidOutputs[4], false), - 120, - 23, - tRecipe.getMaxOutput(tStartIndex++))); - } - if ((tRecipe.mFluidOutputs.length > 5) && (tRecipe.mFluidOutputs[5] != null) - && (tRecipe.mFluidOutputs[5].getFluid() != null)) { - this.mOutputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidOutputs[5], false), - 138, - 23, - tRecipe.getMaxOutput(tStartIndex++))); - } - if ((tRecipe.mFluidOutputs.length > 6) && (tRecipe.mFluidOutputs[6] != null) - && (tRecipe.mFluidOutputs[6].getFluid() != null)) { - this.mOutputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidOutputs[6], false), - 102, - 41, - tRecipe.getMaxOutput(tStartIndex++))); - } - if ((tRecipe.mFluidOutputs.length > 7) && (tRecipe.mFluidOutputs[7] != null) - && (tRecipe.mFluidOutputs[7].getFluid() != null)) { - this.mOutputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidOutputs[7], false), - 120, - 41, - tRecipe.getMaxOutput(tStartIndex++))); - } - if ((tRecipe.mFluidOutputs.length > 8) && (tRecipe.mFluidOutputs[8] != null) - && (tRecipe.mFluidOutputs[8].getFluid() != null)) { - this.mOutputs.add( - new FixedPositionedStack( - GT_Utility.getFluidDisplayStack(tRecipe.mFluidOutputs[8], false), - 138, - 41, - tRecipe.getMaxOutput(tStartIndex++))); - } - } - } - - @Override - public int compareTo(CachedRecipe o) { - boolean b = GasSpargingRecipeNEI.class.isInstance(o); - if (b) { - GasSpargingRecipeNEI p = (GasSpargingRecipeNEI) o; - if (p.mOutputs.size() > this.mOutputs.size()) { - return 1; - } else if (p.mOutputs.size() == this.mOutputs.size()) { - return 0; - } else { - return -1; - } - } - return 0; - } - - @Override - public boolean equals(Object obj) { - if (obj != null) { - if (GasSpargingRecipeNEI.class.isInstance(obj)) { - GasSpargingRecipeNEI p = (GasSpargingRecipeNEI) obj; - if (p != null) { - if (GT_Utility.areStacksEqual(p.mInputs.get(0).item, this.mInputs.get(0).item, true)) { - if (p.mOutputs.size() == this.mOutputs.size()) { - return true; - } - } - } - } - } - return false; - } - - @Override - public List getIngredients() { - return this.getCycledIngredients(GT_NEI_LFTR_Sparging.this.cycleticks / 10, this.mInputs); - } - - @Override - public PositionedStack getResult() { - return null; - } - - @Override - public List getOtherStacks() { - return this.mOutputs; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/nei/NEI_GTPP_Config.java b/gtpp/src/main/java/gtPlusPlus/nei/NEI_GTPP_Config.java deleted file mode 100644 index 16cc1e8cbf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/nei/NEI_GTPP_Config.java +++ /dev/null @@ -1,102 +0,0 @@ -package gtPlusPlus.nei; - -import java.util.Arrays; - -import net.minecraft.item.ItemStack; - -import codechicken.nei.api.API; -import codechicken.nei.api.IConfigureNEI; -import codechicken.nei.event.NEIRegisterHandlerInfosEvent; -import codechicken.nei.recipe.HandlerInfo; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import gregtech.api.enums.Mods; -import gregtech.api.recipe.RecipeMaps; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class NEI_GTPP_Config implements IConfigureNEI { - - public static boolean sIsAdded = true; - - @Override - public synchronized void loadConfig() { - sIsAdded = false; - - Logger.INFO("NEI Registration: Registering NEI handler for " + DecayableRecipeHandler.mNEIName); - API.registerRecipeHandler(new DecayableRecipeHandler()); - API.registerUsageHandler(new DecayableRecipeHandler()); - API.addRecipeCatalyst(new ItemStack(ModBlocks.blockDecayablesChest, 1), "GTPP_Decayables"); - - Logger.INFO("NEI Registration: Registering NEI handler for " + GT_NEI_LFTR_Sparging.mNEIName); - new GT_NEI_LFTR_Sparging(); - API.addRecipeCatalyst(GregtechItemList.Controller_Sparge_Tower.get(1), "gtpp.recipe.lftr.sparging"); - - for (GregtechItemList item : Arrays.asList( - GregtechItemList.GT4_Electric_Auto_Workbench_LV, - GregtechItemList.GT4_Electric_Auto_Workbench_MV, - GregtechItemList.GT4_Electric_Auto_Workbench_HV, - GregtechItemList.GT4_Electric_Auto_Workbench_EV, - GregtechItemList.GT4_Electric_Auto_Workbench_IV, - GregtechItemList.GT4_Electric_Auto_Workbench_LuV, - GregtechItemList.GT4_Electric_Auto_Workbench_ZPM, - GregtechItemList.GT4_Electric_Auto_Workbench_UV)) { - API.addRecipeCatalyst(item.get(1), "crafting", -10); - } - // Bronze workbench - API.removeRecipeCatalyst(ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:31081", 1), "crafting"); - API.removeRecipeCatalyst(ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:31082", 1), "crafting"); - - // Moved to its own handler - API.removeRecipeCatalyst( - GregtechItemList.Controller_Vacuum_Furnace.get(1), - GTPPRecipeMaps.chemicalDehydratorRecipes.unlocalizedName); - - // ULV simple washer - API.removeRecipeCatalyst( - ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:767", 1), - GTPPRecipeMaps.simpleWasherRecipes.unlocalizedName); - - // ULV combustion generator - API.removeRecipeCatalyst( - ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:960", 1), - RecipeMaps.dieselFuels.unlocalizedName); - - // ULV gas turbine - API.removeRecipeCatalyst( - ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:961", 1), - RecipeMaps.gasTurbineFuels.unlocalizedName); - - // Hide Flasks - if (Utils.isClient()) { - API.addItemListEntry(GregtechItemList.VOLUMETRIC_FLASK_8k.get(1)); - API.addItemListEntry(GregtechItemList.VOLUMETRIC_FLASK_32k.get(1)); - } - sIsAdded = true; - } - - @SubscribeEvent - public void registerHandlerInfo(NEIRegisterHandlerInfosEvent event) { - event.registerHandlerInfo( - new HandlerInfo.Builder("gtpp.recipe.lftr.sparging", CORE.name, Mods.GTPlusPlus.ID) - .setDisplayStack(GregtechItemList.Controller_Sparge_Tower.get(1)) - .setShiftY(6) - .setHeight(135) - .setMaxRecipesPerPage(1) - .build()); - } - - @Override - public String getName() { - return "GT++ NEI Plugin"; - } - - @Override - public String getVersion() { - return "(1.12)"; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java b/gtpp/src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java deleted file mode 100644 index 2644ffb4ff..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java +++ /dev/null @@ -1,126 +0,0 @@ -package gtPlusPlus.nei.handlers; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -/** - * Based on crazypants.enderio.gui.IconEIO - * - * @author Original EIO Author - * - * This is free and unencumbered software released into the public domain. - * - * Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source - * code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. - * - * In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all - * copyright interest in the software to the public domain. We make this dedication for the benefit of the - * public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt - * act of relinquishment in perpetuity of all present and future rights to this software under copyright law. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * For more information, please refer to - * - * https://github.com/SleepyTrousers/EnderIO/blob/release/1.7.10/2.2/src/main/java/crazypants/render/RenderUtil.java - * - */ -public final class NeiTextureHandler { - - public static final NeiTextureHandler RECIPE_BUTTON = new NeiTextureHandler(128, 116, 24, 24); - - public final double minU; - public final double maxU; - public final double minV; - public final double maxV; - public final double width; - public final double height; - - public static final ResourceLocation TEXTURE = new ResourceLocation( - GTPlusPlus.ID + ":textures/gui/nei/widgets.png"); - - public NeiTextureHandler(int x, int y, int width, int height) { - this( - width, - height, - (float) (0.00390625D * (double) x), - (float) (0.00390625D * (double) (x + width)), - (float) (0.00390625D * (double) y), - (float) (0.00390625D * (double) (y + height))); - } - - public NeiTextureHandler(double width, double height, double minU, double maxU, double minV, double maxV) { - this.width = width; - this.height = height; - this.minU = minU; - this.maxU = maxU; - this.minV = minV; - this.maxV = maxV; - } - - public void renderIcon(double x, double y, double width, double height, double zLevel, boolean doDraw) { - this.renderIcon(x, y, width, height, zLevel, doDraw, false); - } - - public void renderIcon(double x, double y, double width, double height, double zLevel, boolean doDraw, - boolean flipY) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - if (doDraw) { - bindTexture(TEXTURE); - tessellator.startDrawingQuads(); - } - - if (flipY) { - tessellator.addVertexWithUV(x, y + height, zLevel, this.minU, this.minV); - tessellator.addVertexWithUV(x + width, y + height, zLevel, this.maxU, this.minV); - tessellator.addVertexWithUV(x + width, y + 0.0D, zLevel, this.maxU, this.maxV); - tessellator.addVertexWithUV(x, y + 0.0D, zLevel, this.minU, this.maxV); - } else { - tessellator.addVertexWithUV(x, y + height, zLevel, this.minU, this.maxV); - tessellator.addVertexWithUV(x + width, y + height, zLevel, this.maxU, this.maxV); - tessellator.addVertexWithUV(x + width, y + 0.0D, zLevel, this.maxU, this.minV); - tessellator.addVertexWithUV(x, y + 0.0D, zLevel, this.minU, this.minV); - } - - if (doDraw) { - tessellator.draw(); - } - } - - public static final ResourceLocation BLOCK_TEX; - public static final ResourceLocation ITEM_TEX; - public static final ResourceLocation GLINT_TEX; - public static int BRIGHTNESS_MAX; - - static { - BLOCK_TEX = TextureMap.locationBlocksTexture; - ITEM_TEX = TextureMap.locationItemsTexture; - GLINT_TEX = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - BRIGHTNESS_MAX = 15728880; - } - - public static TextureManager engine() { - return Minecraft.getMinecraft().renderEngine; - } - - public static void bindTexture(String string) { - engine().bindTexture(new ResourceLocation(string)); - } - - public static void bindTexture(ResourceLocation tex) { - engine().bindTexture(tex); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/AlgaeDefinition.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/AlgaeDefinition.java deleted file mode 100644 index 890a9020c9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/AlgaeDefinition.java +++ /dev/null @@ -1,49 +0,0 @@ -package gtPlusPlus.plugin.agrichem; - -public enum AlgaeDefinition { - - /* - * In general, the productivity of freshwater algae is primarily limited by the availability of the nutrient - * phosphate (PO4-3), while that of marine algae is limited by nitrate (NO3-) or ammonium (NH4+). Some algal - * species, however, may have unusual nutrient requirements, and their productivity may be limited by certain - * micronutrients, such as silica, in the case of diatoms. - */ - - Euglenophyta("Euglenophyta", "Euglenoids", true, false, getRGB(147, 168, 50)), - Chrysophyta("Chrysophyta", "Golden-Brown Algae", true, true, getRGB(186, 146, 0)), - Pyrrophyta("Pyrrophyta", "Fire Algae", true, true, getRGB(250, 118, 2)), - Chlorophyta("Chlorophyta", "Green Algae", true, true, getRGB(99, 181, 62)), - Rhodophyta("Rhodophyta", "Red Algae", false, true, getRGB(153, 5, 22)), - Paeophyta("Paeophyta", "Brown Algae", false, true, getRGB(94, 78, 47)), - Xanthophyta("Xanthophyta", "Yellow-Green Algae", true, false, getRGB(118, 138, 16)); - - public final String mScientificName; - public final String mSimpleName; - public final boolean mSaltWater; - public final boolean mFreshWater; - public final int mColour; - - AlgaeDefinition(String aScientificName, String aSimpleName, boolean aFresh, boolean aSalt, int aColour) { - mScientificName = aScientificName; - mSimpleName = aSimpleName; - mFreshWater = aFresh; - mSaltWater = aSalt; - mColour = aColour; - } - - public static AlgaeDefinition getByIndex(int aIndex) { - return switch (aIndex) { - default -> Euglenophyta; - case 1 -> Chrysophyta; - case 2 -> Pyrrophyta; - case 3 -> Chlorophyta; - case 4 -> Rhodophyta; - case 5 -> Paeophyta; - case 6 -> Xanthophyta; - }; - } - - private static int getRGB(int r, int g, int b) { - return AlgaeUtils.rgbtoHexValue(r, g, b); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/AlgaeUtils.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/AlgaeUtils.java deleted file mode 100644 index 4906d0483f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/AlgaeUtils.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.plugin.agrichem; - -import gtPlusPlus.core.util.Utils; - -public class AlgaeUtils { - - public static int rgbtoHexValue(final int r, final int g, final int b) { - return Utils.rgbtoHexValue(r, g, b); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java deleted file mode 100644 index a4bbd6e03a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java +++ /dev/null @@ -1,1257 +0,0 @@ -package gtPlusPlus.plugin.agrichem; - -import static gregtech.api.enums.Mods.Forestry; -import static gregtech.api.enums.Mods.Railcraft; -import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; -import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; -import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; -import static gregtech.api.recipe.RecipeMaps.extractorRecipes; -import static gregtech.api.recipe.RecipeMaps.extruderRecipes; -import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.recipe.RecipeMaps.latheRecipes; -import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; -import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; -import static gregtech.api.util.GT_RecipeBuilder.MINUTES; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; -import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; -import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; -import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; -import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; -import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; -import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TierEU; -import gregtech.api.objects.GT_ItemStack; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_RecipeConstants; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.OreDictUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.plugin.agrichem.block.AgrichemFluids; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.railcraft.utils.RailcraftUtils; -import ic2.core.Ic2Items; - -public class BioRecipes { - - private static Item mFert; - private static Item mDustDirt; - - private static Fluid mSalineWater; - private static Fluid mDistilledWater; - private static Fluid mThermalWater; - private static Fluid mAir; - private static Fluid mSulfuricWasteWater; - private static Fluid mAmmonia; - private static Fluid mMethanol; - private static Fluid mAceticAcid; - private static Fluid mPropionicAcid; - private static Fluid mLiquidPlastic; - private static Fluid mFermentationBase; - private static Fluid mCarbonDioxide; - private static Fluid mCarbonMonoxide; - private static Fluid mEthylene; - private static Fluid mEthanol; - private static Fluid mChlorine; - private static Fluid mHydrogen; - private static Fluid mDilutedSulfuricAcid; - private static Fluid mSulfuricAcid; - private static Fluid mUrea; - public static Fluid mFormaldehyde; - private static Fluid mLiquidResin; - private static Fluid mMethane; - private static Fluid mBenzene; - private static Fluid mEthylbenzene; - private static Fluid mStyrene; - private static Fluid mButanol; - private static Fluid mAcetone; - - private static ItemStack getGreenAlgaeRecipeChip() { - return getBioChip(4); - } - - private static ItemStack getBrownAlgaeRecipeChip() { - return getBioChip(8); - } - - private static ItemStack getGoldenBrownAlgaeRecipeChip() { - return getBioChip(12); - } - - private static ItemStack getRedAlgaeRecipeChip() { - return getBioChip(16); - } - - private static ItemStack getBioChip(int aID) { - return ItemUtils.simpleMetaStack(AgriculturalChem.mBioCircuit, aID, 0); - } - - public static void init() { - Logger.INFO("[Bio] Setting Variables"); - initRecipeVars(); - Logger.INFO("[Bio] Generating Biochip Recipes"); - recipeBioChip(); - Logger.INFO("[Bio] Generating Recipes"); - recipeAlgaeBiomass(); - Logger.INFO("[Bio] Finished with recipes"); - } - - private static void initRecipeVars() { - mFert = AgriculturalChem.dustOrganicFertilizer; - mDustDirt = AgriculturalChem.dustDirt; - - // 5.08 Salt Water Solution ;) - if (!FluidUtils.doesFluidExist("saltwater")) { - mSalineWater = FluidUtils - .generateFluidNoPrefix("saltwater", "Salt Water", 200, new short[] { 10, 30, 220, 100 }); - } else { - Materials aSaltWater = MaterialUtils.getMaterial("saltwater"); - if (aSaltWater != null) { - FluidStack aWaterStack = aSaltWater.getFluid(1); - if (aWaterStack != null) { - mSalineWater = aSaltWater.getFluid(1) - .getFluid(); - } - } - if (mSalineWater == null) { - mSalineWater = FluidUtils.getWildcardFluidStack("saltwater", 1) - .getFluid(); - } - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellSaltWater", 1) == null) { - new BaseItemComponent("saltwater", "Salt Water", new short[] { 10, 30, 220 }); - } - } - - mDistilledWater = FluidUtils.getDistilledWater(1) - .getFluid(); - mThermalWater = FluidUtils.getFluidStack("ic2hotwater", 1) - .getFluid(); - mAir = FluidUtils.getFluidStack("air", 1) - .getFluid(); - mSulfuricWasteWater = FluidUtils.getFluidStack("sulfuricapatite", 1) - .getFluid(); - mAmmonia = MISC_MATERIALS.AMMONIA.getFluidStack(1) - .getFluid(); - mEthylene = FluidUtils.getFluidStack("ethylene", 1) - .getFluid(); - mEthanol = FluidUtils.getFluidStack("bioethanol", 1) - .getFluid(); - mDilutedSulfuricAcid = FluidUtils.getFluidStack("dilutedsulfuricacid", 1) - .getFluid(); - mSulfuricAcid = FluidUtils.getFluidStack("sulfuricacid", 1) - .getFluid(); - mFormaldehyde = FluidUtils.getFluidStack("fluid.formaldehyde", 1) - .getFluid(); - mMethane = FluidUtils.getFluidStack("methane", 1) - .getFluid(); - mBenzene = FluidUtils.getFluidStack("benzene", 1) - .getFluid(); - mEthylbenzene = FluidUtils.getFluidStack("fluid.ethylbenzene", 1) - .getFluid(); - mStyrene = FluidUtils.getFluidStack("styrene", 1) - .getFluid(); - mMethanol = FluidUtils.getFluidStack("methanol", 1) - .getFluid(); - mLiquidPlastic = FluidUtils.getWildcardFluidStack("plastic", 1) - .getFluid(); - mCarbonDioxide = MISC_MATERIALS.CARBON_DIOXIDE.getFluidStack(1) - .getFluid(); - mCarbonMonoxide = MISC_MATERIALS.CARBON_MONOXIDE.getFluidStack(1) - .getFluid(); - mChlorine = FluidUtils.getFluidStack("chlorine", 1) - .getFluid(); - mHydrogen = FluidUtils.getFluidStack("hydrogen", 1) - .getFluid(); - mAceticAcid = AgrichemFluids.mAceticAcid; - mPropionicAcid = AgrichemFluids.mPropionicAcid; - mUrea = AgrichemFluids.mUrea; - mLiquidResin = AgrichemFluids.mLiquidResin; - mFermentationBase = AgrichemFluids.mFermentationBase; - mButanol = AgrichemFluids.mButanol; - mAcetone = AgrichemFluids.mAcetone; - } - - private static void recipeAlgaeBiomass() { - - // TODO - // Add in recipes to get initial Biomass - - recipeGreenAlgae(); - recipeBrownAlgae(); - recipeGoldenBrownAlgae(); - recipeRedAlgae(); - recipeWoodPellets(); - recipeWoodBricks(); - recipeCellulosePulp(); - recipeCatalystCarrier(); - recipeAluminiumSilverCatalyst(); - recipeAceticAcid(); - recipePropionicAcid(); - recipeFermentationBase(); - recipeEthanol(); - recipeCelluloseFibre(); - recipeGoldenBrownCelluloseFiber(); - recipeRedCelluloseFiber(); - recipeSodiumHydroxide(); - recipeSodiumCarbonate(); - recipePelletMold(); - recipeAluminiumPellet(); - recipeAlumina(); - recipeAluminium(); - recipeLithiumChloride(); - recipeSulfuricAcid(); - recipeUrea(); - recipeRawBioResin(); - recipeLiquidResin(); - recipeCompost(); - recipeMethane(); - recipeBenzene(); - recipeStyrene(); - registerFuels(); - } - - private static void registerFuels() { - - // Burnables - ItemUtils.registerFuel(ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1), 800); - ItemUtils.registerFuel(ItemUtils.getSimpleStack(AgriculturalChem.mWoodBrick, 1), 4800); - - // Combustion Fuels - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("cellButanol", 1)) - .metadata(FUEL_VALUE, 400) - .metadata(FUEL_TYPE, 0) - .duration(0) - .eut(0) - .addTo(GT_RecipeConstants.Fuel); - } - - private static void recipeGreenAlgae() { - // Compost - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 4)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - // Turn into Cellulose - GT_Values.RA.stdBuilder() - .itemInputs(getGreenAlgaeRecipeChip(), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 10)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 5)) - .duration(7 * SECONDS + 10 * TICKS) - .eut(16) - .addTo(assemblerRecipes); - } - - private static void recipeBrownAlgae() { - // Compost - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 2)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - // Alginic acid - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 10)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mAlginicAcid, 2)) - .duration(2 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(extractorRecipes); - - // Lithium Chloride - GT_Values.RA.stdBuilder() - .itemInputs(getBrownAlgaeRecipeChip(), ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 20)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mLithiumChloride, 5)) - .duration(6 * SECONDS) - .eut(TierEU.RECIPE_MV) - .metadata(COIL_HEAT, 1200) - .addTo(blastFurnaceRecipes); - - // Sodium Carbonate - GT_Values.RA.stdBuilder() - .itemInputs(getBrownAlgaeRecipeChip(), ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 40)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 20)) - .fluidInputs(FluidUtils.getDistilledWater(2000)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(UniversalChemical); - } - - private static void recipeGoldenBrownAlgae() { - // Compost - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownAlgaeBiosmass, 1)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - // Turn into Cellulose - GT_Values.RA.stdBuilder() - .itemInputs( - getGoldenBrownAlgaeRecipeChip(), - ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownAlgaeBiosmass, 10)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 5)) - .duration(7 * SECONDS + 10 * TICKS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - } - - private static void recipeRedAlgae() { - // Compost - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mRedAlgaeBiosmass, 1)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 2)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - // Turn into Cellulose - GT_Values.RA.stdBuilder() - .itemInputs(getRedAlgaeRecipeChip(), ItemUtils.getSimpleStack(AgriculturalChem.mRedAlgaeBiosmass, 10)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mRedCelluloseFiber, 5)) - .duration(7 * SECONDS + 10 * TICKS) - .eut(TierEU.RECIPE_HV / 2) - .addTo(assemblerRecipes); - } - - private static void recipeCelluloseFibre() { - - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 8), - ItemUtils.getSimpleStack(AgriculturalChem.mAlginicAcid, 2)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 10)) - .duration(10 * SECONDS) - .eut(16) - .addTo(UniversalChemical); - - // Craft into Wood Pellets - GT_Values.RA.stdBuilder() - .itemInputs(getBioChip(2), ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 12)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 24)) - .duration(2 * SECONDS + 8 * TICKS) - .eut(8) - .addTo(assemblerRecipes); - - // Methanol Extraction - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 12)) - .fluidOutputs(Materials.Methanol.getFluid(1000L)) - .duration(7 * SECONDS + 10 * TICKS) - .eut(TierEU.RECIPE_LV) - .addTo(fluidExtractionRecipes); - - // Compost - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 3)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - // Plastic - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(16), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 4), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mAceticAcid, 500), - FluidUtils.getFluidStack(BioRecipes.mPropionicAcid, 500), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mLiquidPlastic, (1000)), }, - 10 * 20, - 240, - 2); - } - - private static void recipeWoodPellets() { - // Shapeless Recipe - RecipeUtils.addShapelessGregtechRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1), - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1), - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1), - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1), - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1), - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1), - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1), - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1) }, - ItemUtils.getSimpleStack(AgriculturalChem.mWoodBrick, 2)); - - // Extruder Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 12), - ItemUtils.getSimpleStack(AgriculturalChem.mPelletMold, 0)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 3)) - .duration(10 * SECONDS) - .eut(16) - .addTo(extruderRecipes); - - // Assembly Recipe - GT_Values.RA.stdBuilder() - .itemInputs(getBioChip(2), ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 8)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodBrick, 2)) - .duration(5 * SECONDS) - .eut(8) - .addTo(assemblerRecipes); - - // CO2 - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1)) - .fluidOutputs(FluidUtils.getFluidStack(mCarbonDioxide, 70)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(fluidExtractionRecipes); - - // Add Charcoal Recipe - if (Railcraft.isModLoaded()) { - RailcraftUtils.addCokeOvenRecipe( - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 2), - true, - true, - ItemUtils.getItemStackOfAmountFromOreDict("gemCharcoal", 3), - GT_Values.NF, - 1200); - } - CORE.RA.addCokeOvenRecipe( - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 2), - getBioChip(3), - null, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("gemCharcoal", 3), - 120, - 16); - } - - private static void recipeWoodBricks() { - - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs(getBioChip(3), ItemUtils.getOrePrefixStack(OrePrefixes.dust, Materials.Wood, 50)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodBrick, 1)) - .duration(1 * MINUTES + 40 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - } - - private static void recipeCellulosePulp() { - - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs(getBioChip(2), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 4)) - .itemOutputs(ItemUtils.getSimpleStack(Items.paper, 4)) - .duration(2 * SECONDS) - .eut(16) - .addTo(assemblerRecipes); - } - - private static void recipeCatalystCarrier() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getBioChip(20), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 8L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 4L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Tin, 6L)) - .itemOutputs(CI.getEmptyCatalyst(1)) - .duration(5 * MINUTES) - .eut(16) - .addTo(assemblerRecipes); - } - - private static void recipeAluminiumSilverCatalyst() { - // Assembler Recipe - GT_Values.RA.stdBuilder() - .itemInputs( - getBioChip(4), - CI.getEmptyCatalyst(10), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 4L)) - .itemOutputs(CI.getGreenCatalyst(10)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(assemblerRecipes); - } - - private static void recipeAceticAcid() { - - // CH4O + CO = C2H4O2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getGreenCatalyst(0) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mMethanol, 700), - FluidUtils.getFluidStack(BioRecipes.mCarbonMonoxide, 700), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mAceticAcid, 700), }, - 120 * 20, - 60, - 1); - - GT_Values.RA.stdBuilder() - .itemInputs(CI.getNumberedBioCircuit(14)) - .fluidInputs(FluidUtils.getFluidStack(mFermentationBase, 1000)) - .fluidOutputs(FluidUtils.getFluidStack(mAceticAcid, 1000)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 2)) - .duration(60 * SECONDS) - .eut(16) - .noOptimize() - .addTo(chemicalDehydratorRecipes); - } - - public static final HashSet mFruits = new HashSet<>(); - public static final HashSet mVege = new HashSet<>(); - public static final HashSet mNuts = new HashSet<>(); - public static final HashSet mSeeds = new HashSet<>(); - - public static final AutoMap mList_Master_FruitVege = new AutoMap<>(); - public static final AutoMap mList_Master_Seeds = new AutoMap<>(); - - private static void processFermentationOreDict() { - processOreDictEntry("listAllfruit", mFruits); - processOreDictEntry("listAllFruit", mFruits); - processOreDictEntry("listAllveggie", mVege); - processOreDictEntry("listAllVeggie", mVege); - processOreDictEntry("listAllnut", mNuts); - processOreDictEntry("listAllNut", mNuts); - processOreDictEntry("listAllseed", mSeeds); - processOreDictEntry("listAllSeed", mSeeds); - - if (!mFruits.isEmpty()) { - for (GT_ItemStack g : mFruits) { - mList_Master_FruitVege.put(g.toStack()); - } - } - if (!mVege.isEmpty()) { - for (GT_ItemStack g : mVege) { - mList_Master_FruitVege.put(g.toStack()); - } - } - if (!mNuts.isEmpty()) { - for (GT_ItemStack g : mNuts) { - mList_Master_FruitVege.put(g.toStack()); - } - } - if (!mSeeds.isEmpty()) { - for (GT_ItemStack g : mSeeds) { - mList_Master_Seeds.put(g.toStack()); - } - } - } - - // Make Fermentation - private static void processOreDictEntry(String aOreName, HashSet mfruits2) { - ArrayList aTemp = OreDictionary.getOres(aOreName); - if (!aTemp.isEmpty()) { - for (ItemStack stack : aTemp) { - mfruits2.add(new GT_ItemStack(stack)); - } - } - } - - private static void recipeFermentationBase() { - processFermentationOreDict(); - AutoMap aFruitVege = mList_Master_FruitVege; - AutoMap aSeeds = mList_Master_Seeds; - ArrayList aMap = OreDictionary.getOres("cropSugarbeet"); - for (ItemStack a : aFruitVege) { - if (aMap.contains(a)) { - continue; - } - if (ItemUtils.checkForInvalidItems(a)) { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(2), ItemUtils.getSimpleStack(a, 10) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000), }, - 30 * 20, - 2, - 0); - } - } - for (ItemStack a : aSeeds) { - if (ItemUtils.checkForInvalidItems(a)) { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(a, 20) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000), }, - 30 * 20, - 2, - 0); - } - } - - // Sugar Cane - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(4), ItemUtils.getSimpleStack(Items.reeds, 32) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000), }, - 30 * 20, - 30, - 0); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(5), ItemUtils.getSimpleStack(Items.reeds, 32), - ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 2) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mThermalWater, 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 2000), }, - 10 * 20, - 30, - 0); - - // Sugar Beet - if (OreDictUtils.containsValidEntries("cropSugarbeet")) { - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(4), ItemUtils.getItemStackOfAmountFromOreDict("cropSugarbeet", 4), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000), }, - 30 * 20, - 30, - 0); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(5), ItemUtils.getItemStackOfAmountFromOreDict("cropSugarbeet", 4), - ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 2) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mThermalWater, 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 2000), }, - 10 * 20, - 30, - 0); - } - - // Produce Acetone, Butanol and Ethanol - GT_Values.RA.stdBuilder() - .itemInputs( - getBioChip(5), - ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 6), - ItemUtils.getSimpleStack(AgriculturalChem.mRedCelluloseFiber, 16)) - .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 48000)) - .fluidOutputs( - FluidUtils.getFluidStack(BioRecipes.mButanol, 18000), - FluidUtils.getFluidStack(BioRecipes.mAcetone, 9000), - FluidUtils.getFluidStack(BioRecipes.mEthanol, 3000)) - .duration(100 * SECONDS) - .eut(32) - .specialValue(1) - .noOptimize() - .addTo(chemicalPlantRecipes); - } - - private static void recipePropionicAcid() { - // C2H4 + CO + H2O = C3H6O2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getGreenCatalyst(0) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mEthylene, 1000), - FluidUtils.getFluidStack(BioRecipes.mCarbonMonoxide, 1000), - FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mPropionicAcid, 1000), }, - 10 * 20, - 60, - 1); - } - - private static void recipeEthanol() { - - GT_Values.RA.stdBuilder() - .itemInputs(BioRecipes.getBioChip(2)) - .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000)) - .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mEthanol, 100)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(distilleryRecipes); - } - - private static void recipeGoldenBrownCelluloseFiber() { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 5)) - .fluidOutputs(Materials.Ammonia.getGas(500)) - .duration(15 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(fluidExtractionRecipes); - } - - private static void recipeRedCelluloseFiber() { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mRedCelluloseFiber, 3)) - .itemOutputs(ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 5)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_HV / 2) - .addTo(extractorRecipes); - } - - private static void recipeSodiumHydroxide() { - // NaCl·H2O = NaOH + Cl + H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(4) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mSalineWater, 1000), }, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mSodiumHydroxide, 3) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mChlorine, 1000), - FluidUtils.getFluidStack(BioRecipes.mHydrogen, 1000), }, - 300 * 20, - 120, - 1); - - // Na + H2O = NaOH + H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(5), ItemUtils.getItemStackOfAmountFromOreDict("dustSodium", 5) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 5000), }, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mSodiumHydroxide, 15) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mHydrogen, 5000), }, - 60 * 20, - 60, - 1); - } - - private static void recipeSodiumCarbonate() { - - if (OreDictUtils.containsValidEntries("fuelCoke")) { - // Na2CO3 + Al2O3 =C= 2NaAlO2 + CO2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(18), ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 1), - ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6), - ItemUtils.getSimpleStack(AgriculturalChem.mAluminiumPellet, 5) }, - new FluidStack[] {}, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mSodiumAluminate, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mCarbonDioxide, 1000), }, - 120 * 20, - 120, - 1); - } - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(18), ItemUtils.getItemStackOfAmountFromOreDict("dustCoal", 2), - ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6), - ItemUtils.getSimpleStack(AgriculturalChem.mAluminiumPellet, 5) }, - new FluidStack[] {}, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mSodiumAluminate, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mCarbonDioxide, 1000), }, - 180 * 20, - 120, - 1); - } - - private static void recipePelletMold() { - GregtechItemList.Pellet_Mold.set(ItemUtils.getSimpleStack(AgriculturalChem.mPelletMold, 1)); - GT_Values.RA.stdBuilder() - .itemInputs(ALLOY.TUMBAGA.getBlock(1)) - .itemOutputs(GregtechItemList.Pellet_Mold.get(1)) - .duration(7 * MINUTES + 30 * SECONDS) - .eut(TierEU.RECIPE_MV / 4 * 3) - .addTo(latheRecipes); - } - - private static void recipeAluminiumPellet() { - - // Ore Names, no prefix - AutoMap aOreNames = new AutoMap<>(); - - aOreNames.put("Lazurite"); - aOreNames.put("Bauxite"); - aOreNames.put("Grossular"); - aOreNames.put("Pyrope"); - aOreNames.put("Sodalite"); - aOreNames.put("Spodumene"); - aOreNames.put("Ruby"); - aOreNames.put("Sapphire"); - aOreNames.put("GreenSapphire"); - - // Voltage - HashMap aOreData1 = new HashMap<>(); - // Input Count - HashMap aOreData2 = new HashMap<>(); - // Output Count - HashMap aOreData3 = new HashMap<>(); - - aOreData1.put("Lazurite", 120); - aOreData1.put("Bauxite", 90); - aOreData1.put("Grossular", 90); - aOreData1.put("Pyrope", 90); - aOreData1.put("Sodalite", 90); - aOreData1.put("Spodumene", 90); - aOreData1.put("Ruby", 60); - aOreData1.put("Sapphire", 30); - aOreData1.put("GreenSapphire", 30); - aOreData2.put("Lazurite", 14); - aOreData2.put("Bauxite", 39); - aOreData2.put("Grossular", 20); - aOreData2.put("Pyrope", 20); - aOreData2.put("Sodalite", 11); - aOreData2.put("Spodumene", 10); - aOreData2.put("Ruby", 6); - aOreData2.put("Sapphire", 5); - aOreData2.put("GreenSapphire", 5); - aOreData3.put("Lazurite", 3); - aOreData3.put("Bauxite", 16); - aOreData3.put("Grossular", 2); - aOreData3.put("Pyrope", 2); - aOreData3.put("Sodalite", 3); - aOreData3.put("Spodumene", 1); - aOreData3.put("Ruby", 2); - aOreData3.put("Sapphire", 2); - aOreData3.put("GreenSapphire", 2); - - // Assemble all valid crushed ore types for making pellet mix - HashMap aOreCache = new HashMap<>(); - for (String aOreName : aOreNames) { - String aTemp = aOreName; - aOreName = "crushedPurified" + aOreName; - if (ItemUtils.doesOreDictHaveEntryFor(aOreName)) { - aOreCache.put(aTemp, ItemUtils.getItemStackOfAmountFromOreDict(aOreName, 1)); - } - } - - for (String aOreName : aOreNames) { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(14), - ItemUtils.getSimpleStack(aOreCache.get(aOreName), aOreData2.get(aOreName)) }, - new FluidStack[] { FluidUtils.getSteam(2000 * aOreData2.get(aOreName)) }, - new ItemStack[] { ItemUtils.getSimpleStack( - AgriculturalChem.mCleanAluminiumMix, - (int) (Math.ceil(aOreData3.get(aOreName) * 1.4))) }, - new FluidStack[] { FluidUtils - .getFluidStack(AgriculturalChem.RedMud, 100 * (int) (Math.ceil(aOreData3.get(aOreName) * 1.4))) }, - 20 * 60, - aOreData1.get(aOreName), - aOreName.equals("Bauxite") ? 2 : 1); - } - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(AgriculturalChem.mCleanAluminiumMix, 3), - ItemUtils.getSimpleStack(AgriculturalChem.mPelletMold, 0)) - .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mAluminiumPellet, 4)) - .duration(30 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(extruderRecipes); - } - - private static void recipeAlumina() { - // 2NaAlO2 + 2NaOH + 2CO2 = Al2O3 + 2Na2CO3 + H2O - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(AgriculturalChem.mSodiumAluminate, 8), - ItemUtils.getSimpleStack(AgriculturalChem.mSodiumHydroxide, 6)) - .itemOutputs( - ItemUtils.getSimpleStack(AgriculturalChem.mAlumina, 5), - ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 12)) - .fluidInputs(Materials.CarbonDioxide.getGas(2000L)) - .duration(40 * SECONDS) - .eut(TierEU.RECIPE_MV) - .metadata(COIL_HEAT, 1200) - .addTo(blastFurnaceRecipes); - } - - private static void recipeAluminium() { - // 2Al2O3 + 3C = 4Al + 3CO2 - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(AgriculturalChem.mAlumina, 10), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 3L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4L)) - .fluidOutputs(Materials.CarbonDioxide.getGas(3000L)) - .duration(2 * MINUTES) - .eut(TierEU.RECIPE_MV) - .metadata(COIL_HEAT, 1600) - .addTo(blastFurnaceRecipes); - } - - private static void recipeLithiumChloride() { - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RockSalt, 8), - ItemUtils.getSimpleStack(AgriculturalChem.mLithiumChloride, 10)) - .itemOutputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 2), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lithium, 3), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lithium, 3), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lithium, 5), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Potassium, 2), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Potassium, 5)) - .outputChances(7500, 8000, 8500, 9000, 7500, 8500) - .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mAir, 4000)) - .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mChlorine, 500)) - .duration(1 * MINUTES + 30 * SECONDS) - .eut(TierEU.RECIPE_MV / 2) - .addTo(multiblockChemicalReactorRecipes); - if (OreDictUtils.containsValidEntries("dustPotash")) { - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Potash, 10), - ItemUtils.getSimpleStack(AgriculturalChem.mLithiumChloride, 16)) - .itemOutputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 3), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lithium, 5), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lithium, 5), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lithium, 7), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 2), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 2)) - .outputChances(7500, 8000, 8500, 9000, 9000, 9000) - .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mThermalWater, 2000)) - .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mChlorine, 250)) - .duration(1 * MINUTES) - .eut(TierEU.RECIPE_MV) - .addTo(multiblockChemicalReactorRecipes); - } - } - - private static void recipeSulfuricAcid() { - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(7), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 10), - ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 6) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 5000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mSulfuricAcid, 5000), }, - 50 * 20, - 60, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(7), ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 2), - ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 10) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 5000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mSulfuricAcid, 5000), }, - 6 * 20, - 180, - 3); - } - - private static void recipeUrea() { - - // 2NH3 + CO2 = CH4N2O + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(9), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mAmmonia, 600), - FluidUtils.getFluidStack(BioRecipes.mCarbonDioxide, 300), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mUrea, 300), - FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 300), }, - 5 * 20, - 30, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(9), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mUrea, 200), - FluidUtils.getFluidStack(BioRecipes.mFormaldehyde, 200), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mLiquidResin, 200) }, - 5 * 20, - 30, - 1); - } - - private static void recipeRawBioResin() { - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 5), - ItemUtils.getSimpleStack(Blocks.dirt, 1) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 100), }, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mRawBioResin, 1), }, - new FluidStack[] {}, - 1 * 20, - 30, - 1); - } - - private static void recipeLiquidResin() { - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mRawBioResin, 1) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mEthanol, 200), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mLiquidResin, 500), }, - 5 * 20, - 30, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mLiquidResin, 144), }, - new ItemStack[] { ItemUtils.getSimpleStack(Ic2Items.resin, 32) }, - new FluidStack[] {}, - 60 * 20, - 30, - 1); - } - - private static void recipeCompost() { - ItemStack aFert; - if (Forestry.isModLoaded()) { - aFert = ItemUtils.getSimpleStack(AgriculturalChem.aFertForestry, 32); - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(11), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 16), - ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mUrea, 200), }, - new ItemStack[] { aFert }, - new FluidStack[] {}, - 30 * 20, - 60, - 1); - } - - aFert = ItemUtils.getSimpleStack(AgriculturalChem.aFertIC2, 32); - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(12), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 16), - ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mUrea, 200), }, - new ItemStack[] { aFert }, - new FluidStack[] {}, - 30 * 20, - 60, - 1); - } - - private static void recipeMethane() { - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(12), ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 10) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 500), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mMethane, 500), }, - 5 * 20, - 64, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(13), ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 8), - ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 6), - ItemUtils.getSimpleStack(AgriculturalChem.mRedCelluloseFiber, 4) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mMethane, 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mEthylene, 2000), }, - 10 * 20, - 60, - 1); - } - - private static void recipeBenzene() { - - // 6CH4 = C6H6 + 18H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(19), CI.getGreenCatalyst(0), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mMethane, 6000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mBenzene, 1000), Materials.Hydrogen.getGas(18000) }, - 8 * 20, - 120, - 2); - } - - private static void recipeStyrene() { - - // C8H10 = C8H8 + 2H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(20), CI.getGreenCatalyst(0), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mEthylbenzene, 100), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mStyrene, 100), Materials.Hydrogen.getGas(200) }, - 16 * 20, - 480, - 2); - } - - private static void recipeBioChip() { - GT_ModHandler.addShapelessCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 0L), - 0, - new Object[] { OrePrefixes.circuit.get(Materials.Primitive) }); - - long bits = 0; - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 1L, new Object[0]), - bits, - new Object[] { "d ", " P ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 2L, new Object[0]), - bits, - new Object[] { " d ", " P ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 3L, new Object[0]), - bits, - new Object[] { " d", " P ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 4L, new Object[0]), - bits, - new Object[] { " ", " Pd", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 5L, new Object[0]), - bits, - new Object[] { " ", " P ", " d", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 6L, new Object[0]), - bits, - new Object[] { " ", " P ", " d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 7L, new Object[0]), - bits, - new Object[] { " ", " P ", "d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 8L, new Object[0]), - bits, - new Object[] { " ", "dP ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 9L, new Object[0]), - bits, - new Object[] { "P d", " ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 10L, new Object[0]), - bits, - new Object[] { "P ", " d", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 11L, new Object[0]), - bits, - new Object[] { "P ", " ", " d", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 12L, new Object[0]), - bits, - new Object[] { "P ", " ", " d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 13L, new Object[0]), - bits, - new Object[] { " P", " ", " d", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 14L, new Object[0]), - bits, - new Object[] { " P", " ", " d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 15L, new Object[0]), - bits, - new Object[] { " P", " ", "d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 16L, new Object[0]), - bits, - new Object[] { " P", "d ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 17L, new Object[0]), - bits, - new Object[] { " ", " ", "d P", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 18L, new Object[0]), - bits, - new Object[] { " ", "d ", " P", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 19L, new Object[0]), - bits, - new Object[] { "d ", " ", " P", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 20L, new Object[0]), - bits, - new Object[] { " d ", " ", " P", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 21L, new Object[0]), - bits, - new Object[] { "d ", " ", "P ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 22L, new Object[0]), - bits, - new Object[] { " d ", " ", "P ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 23L, new Object[0]), - bits, - new Object[] { " d", " ", "P ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 24L, new Object[0]), - bits, - new Object[] { " ", " d", "P ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); - } - - public static boolean addCraftingRecipe(ItemStack aResult, long aBitMask, Object[] aRecipe) { - Method mAddRecipe = ReflectionUtils.getMethod( - GT_ModHandler.class, - "addCraftingRecipe", - new Class[] { ItemStack.class, Enchantment[].class, int[].class, boolean.class, boolean.class, - boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, - boolean.class, boolean.class, boolean.class, boolean.class, Object[].class }); - boolean didInvoke = false; - if (mAddRecipe != null) { - try { - didInvoke = (boolean) mAddRecipe.invoke( - null, - aResult, - new Enchantment[] {}, - new int[] {}, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - aRecipe); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - return didInvoke; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/Core_Agrichem.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/Core_Agrichem.java deleted file mode 100644 index 0c3d7d2867..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/Core_Agrichem.java +++ /dev/null @@ -1,56 +0,0 @@ -package gtPlusPlus.plugin.agrichem; - -import gtPlusPlus.api.interfaces.IPlugin; -import gtPlusPlus.plugin.agrichem.block.AgrichemFluids; -import gtPlusPlus.plugin.manager.Core_Manager; - -// Called by Core_Manager#veryEarlyInit -@SuppressWarnings("unused") -public class Core_Agrichem implements IPlugin { - - static final Core_Agrichem mInstance; - - static { - mInstance = new Core_Agrichem(); - Core_Manager.registerPlugin(mInstance); - mInstance.log("Preparing " + mInstance.getPluginName() + " for use."); - } - - @Override - public boolean preInit() { - AgrichemFluids.init(); - return true; - } - - @Override - public boolean init() { - mInstance.log("Setting Items"); - return true; - } - - @Override - public boolean postInit() { - mInstance.log("Generating Recipes"); - return true; - } - - @Override - public boolean serverStart() { - return true; - } - - @Override - public boolean serverStop() { - return true; - } - - @Override - public String getPluginName() { - return "GT++ Agrichemistry Module"; - } - - @Override - public String getPluginAbbreviation() { - return "FARM"; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/IAlgalItem.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/IAlgalItem.java deleted file mode 100644 index 8ce137a323..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/IAlgalItem.java +++ /dev/null @@ -1,12 +0,0 @@ -package gtPlusPlus.plugin.agrichem; - -import net.minecraft.item.ItemStack; - -import gtPlusPlus.plugin.agrichem.logic.AlgaeGeneticData; - -public interface IAlgalItem { - - AlgaeDefinition getAlgaeType(ItemStack aStack); - - AlgaeGeneticData getSpeciesData(ItemStack aStack); -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/block/AgrichemFluids.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/block/AgrichemFluids.java deleted file mode 100644 index bd72654f0a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/block/AgrichemFluids.java +++ /dev/null @@ -1,77 +0,0 @@ -package gtPlusPlus.plugin.agrichem.block; - -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; - -import gtPlusPlus.core.util.minecraft.FluidUtils; - -public class AgrichemFluids { - - /* - * Saline Water - saltwater Sulfuric Waste Water - sulfuricapatite Methanol - methanol Hot Water - ic2hotwater - * Acetic Acid Propionic Acid Fermentation Base Ethylene - ethylene Ethanol - bioethanol Diluted SA - - * filutedsulfuricacid Sulfuric Acid - sulfuricacid Urea Formaldehyde - fluid.formaldehyde Liquid Resin Methane - - * methane Benzene - benzene Ethylbenzene - fluid.ethylbenzene Styrene - styrene - */ - - public static Fluid mAceticAcid; - public static Fluid mPropionicAcid; - public static Fluid mFermentationBase; - public static Fluid mUrea; - public static Fluid mLiquidResin; - public static Fluid mAcetone; - public static Fluid mButanol; - - public static void init() { - if (!FluidRegistry.isFluidRegistered("aceticacid")) { - mAceticAcid = FluidUtils - .generateFluidNoPrefix("aceticacid", "Acetic Acid", 200, new short[] { 97, 168, 96, 100 }, true); - } else { - mAceticAcid = FluidRegistry.getFluid("aceticacid"); - } - if (!FluidRegistry.isFluidRegistered("propionicacid")) { - mPropionicAcid = FluidUtils.generateFluidNoPrefix( - "propionicacid", - "Propionic Acid", - 200, - new short[] { 198, 209, 148, 100 }, - true); - } else { - mPropionicAcid = FluidRegistry.getFluid("propionicacid"); - } - if (!FluidRegistry.isFluidRegistered("fermentation.base")) { - mFermentationBase = FluidUtils.generateFluidNoPrefix( - "fermentation.base", - "Fermentation Base", - 200, - new short[] { 107, 100, 63, 100 }, - true); - } else { - mFermentationBase = FluidRegistry.getFluid("fermentation.base"); - } - if (!FluidRegistry.isFluidRegistered("ureamix")) { - mUrea = FluidUtils.generateFluidNoPrefix("ureamix", "Urea Mix", 200, new short[] { 71, 55, 12, 100 }, true); - } else { - mUrea = FluidRegistry.getFluid("ureamix"); - } - if (!FluidRegistry.isFluidRegistered("liquidresin")) { - mLiquidResin = FluidUtils - .generateFluidNoPrefix("liquidresin", "Liquid Resin", 200, new short[] { 59, 58, 56, 100 }, true); - } else { - mLiquidResin = FluidRegistry.getFluid("liquidresin"); - } - - if (!FluidRegistry.isFluidRegistered("acetone")) { - mAcetone = FluidUtils - .generateFluidNoPrefix("acetone", "Acetone", 200, new short[] { 59, 58, 56, 100 }, true); - } else { - mAcetone = FluidRegistry.getFluid("acetone"); - } - if (!FluidRegistry.isFluidRegistered("butanol")) { - mButanol = FluidUtils - .generateFluidNoPrefix("butanol", "Butanol", 200, new short[] { 159, 58, 56, 100 }, true); - } else { - mButanol = FluidRegistry.getFluid("butanol"); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/item/algae/ItemAgrichemBase.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/item/algae/ItemAgrichemBase.java deleted file mode 100644 index 8a6d189898..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/item/algae/ItemAgrichemBase.java +++ /dev/null @@ -1,268 +0,0 @@ -package gtPlusPlus.plugin.agrichem.item.algae; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -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.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.OreDictUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class ItemAgrichemBase extends Item { - - protected final IIcon base[]; - - /* - * 0 - Algae Biomass 1 - Green Algae Biomass 2 - Brown Algae Biomass 3 - Golden-Brown Algae Biomass 4 - Red Algae - * Biomass 5 - Cellulose Fiber 6 - Golden-Brown Cellulose Fiber 7 - Red Cellulose Fiber 8 - Compost 9 - Wood Pellet - * 10 - Wood Brick 11 - Cellulose Pulp 12 - Raw Bio Resin 13 - Catalyst Carrier 14 - Green Metal Catalyst 15 - - * Alginic Acid 16 - Alumina 17 - Aluminium Pellet 18 - Sodium Aluminate 19 - Sodium Hydroxide // Exists in Newer GT - * 20 - Sodium Carbonate 21 - Lithium Chloride 22 - Pellet Mold 23 - Clean Aluminium Mix 24 - Pinecone 25 - Crushed - * Pine - */ - - public ItemAgrichemBase() { - this.setHasSubtypes(true); - this.setNoRepair(); - this.setMaxStackSize(64); - this.setMaxDamage(0); - base = new IIcon[26]; - this.setUnlocalizedName("BasicAgrichemItem"); - GameRegistry.registerItem(this, this.getUnlocalizedName()); - } - - @Override - public boolean isDamageable() { - return false; - } - - @Override - public boolean shouldRotateAroundWhenRendering() { - return super.shouldRotateAroundWhenRendering(); - } - - @Override - public void onUpdate(ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, - boolean p_77663_5_) { - super.onUpdate(p_77663_1_, p_77663_2_, p_77663_3_, p_77663_4_, p_77663_5_); - } - - @Override - public String getItemStackDisplayName(ItemStack aStack) { - return super.getItemStackDisplayName(aStack); - } - - @Override - public EnumRarity getRarity(ItemStack p_77613_1_) { - return EnumRarity.common; - } - - @Override - public boolean requiresMultipleRenderPasses() { - return false; - } - - private static boolean mHasCheckedForSodiumHydroxide = false; - private static boolean mShowSodiumHydroxide = true; - - private static boolean checkSodiumHydroxide() { - if (mHasCheckedForSodiumHydroxide) { - return mShowSodiumHydroxide; - } else { - if (OreDictUtils.containsValidEntries("dustSodiumHydroxide_GT5U") - || OreDictUtils.containsValidEntries("dustSodiumHydroxide")) { - List aTest = OreDictionary.getOres("dustSodiumHydroxide", false); - if (aTest.isEmpty()) { - aTest = OreDictionary.getOres("dustSodiumHydroxide_GT5U", false); - if (!aTest.isEmpty()) { - mShowSodiumHydroxide = false; - } - } else { - mShowSodiumHydroxide = false; - } - } - } - mHasCheckedForSodiumHydroxide = true; - return mShowSodiumHydroxide; - } - - @Override - public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) { - for (int i = 0; i < base.length; i++) { - if (i == 19) { - // Only show if it doesn't exist. - if (checkSodiumHydroxide()) { - aList.add(ItemUtils.simpleMetaStack(aItem, i, 1)); - } - } else { - aList.add(ItemUtils.simpleMetaStack(aItem, i, 1)); - } - } - } - - @Override - public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) { - return false; - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public boolean isBookEnchantable(ItemStack stack, ItemStack book) { - return false; - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public int getItemEnchantability(ItemStack stack) { - return 0; - } - - @Override - public void registerIcons(final IIconRegister u) { - for (int i = 0; i < this.base.length; i++) { - String aPath = GTPlusPlus.ID + ":" + "bioscience/MetaItem1/" + i; - this.base[i] = u.registerIcon(aPath); - } - } - - private boolean isTextureValid(String aPath) { - if (aPath == null) { - return false; - } else if (aPath.indexOf(92) == -1) { - Constructor aTextureAtlasSprite = ReflectionUtils.getConstructor(TextureAtlasSprite.class, String.class); - if (aTextureAtlasSprite != null) { - try { - TextureAtlasSprite aTestAtlas = (TextureAtlasSprite) aTextureAtlasSprite.newInstance(aPath); - if (aTestAtlas != null) { - return true; - } - } catch (InstantiationException | IllegalAccessException | IllegalArgumentException - | InvocationTargetException e) {} - } - } - return false; - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - return this.base[damage]; - } - - @Override - public IIcon getIconFromDamage(int damage) { - return this.base[damage]; - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - return this.base[stack.getItemDamage()]; - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return this.base[stack.getItemDamage()]; - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return super.getUnlocalizedName() + "." + stack.getItemDamage(); - } - - @Override - public double getDurabilityForDisplay(ItemStack aStack) { - if (ItemUtils.isCatalyst(aStack)) { - if (aStack.getTagCompound() == null || aStack.getTagCompound() - .hasNoTags()) { - createCatalystNBT(aStack); - } - double currentDamage = getCatalystDamage(aStack); - return currentDamage / getCatalystMaxDamage(aStack); - } else { - return 1D; - } - } - - @SuppressWarnings("unchecked") - @Override - public void addInformation(ItemStack aStack, EntityPlayer player, List list, boolean bool) { - boolean aHasSpecialTooltips = false; - int aMaxDamage = 0; - int aDamageSegment = 0; - int aDam = 0; - EnumChatFormatting durability = EnumChatFormatting.GRAY; - if (ItemUtils.isCatalyst(aStack)) { - list.add(EnumChatFormatting.GRAY + "Active Reaction Agent"); - aMaxDamage = getCatalystMaxDamage(aStack); - aDamageSegment = aMaxDamage / 5; - aDam = aMaxDamage - getCatalystDamage(aStack); - aHasSpecialTooltips = true; - } - if (aHasSpecialTooltips) { - if (aDam > aDamageSegment * 3) { - durability = EnumChatFormatting.GREEN; - } else if (aDam > aDamageSegment * 2) { - durability = EnumChatFormatting.YELLOW; - } else if (aDam > aDamageSegment) { - durability = EnumChatFormatting.GOLD; - } else if (aDam >= 0) { - durability = EnumChatFormatting.RED; - } - list.add(durability + "" + (aDam) + EnumChatFormatting.GRAY + " / " + aMaxDamage); - } - super.addInformation(aStack, player, list, bool); - } - - @Override - public boolean showDurabilityBar(ItemStack aStack) { - if (ItemUtils.isCatalyst(aStack)) { - int aDam = getCatalystDamage(aStack); - return aDam > 0; - } - return false; - } - - public static boolean createCatalystNBT(ItemStack rStack) { - return ItemGenericChemBase.createCatalystNBT(rStack); - } - - public static int getCatalystDamage(ItemStack aStack) { - return ItemGenericChemBase.getCatalystDamage(aStack); - } - - public static int getCatalystMaxDamage(ItemStack aStack) { - return ItemGenericChemBase.getCatalystMaxDamage(aStack); - } - - public static void setCatalystDamage(ItemStack aStack, int aAmount) { - ItemGenericChemBase.setCatalystDamage(aStack, aAmount); - } - - public static int getMaxCatalystDurability(ItemStack aStack) { - return ItemGenericChemBase.getMaxCatalystDurability(aStack); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/item/algae/ItemAlgaeBase.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/item/algae/ItemAlgaeBase.java deleted file mode 100644 index f34348a3af..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/item/algae/ItemAlgaeBase.java +++ /dev/null @@ -1,225 +0,0 @@ -package gtPlusPlus.plugin.agrichem.item.algae; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.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 net.minecraft.world.World; - -import cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.plugin.agrichem.AlgaeDefinition; -import gtPlusPlus.plugin.agrichem.IAlgalItem; -import gtPlusPlus.plugin.agrichem.logic.AlgaeGeneticData; - -public class ItemAlgaeBase extends Item implements IAlgalItem { - - protected IIcon base; - protected IIcon overlay; - - public ItemAlgaeBase() { - this.setHasSubtypes(true); - this.setMaxDamage(127); - this.setNoRepair(); - this.setMaxStackSize(32); - this.setUnlocalizedName("BasicAlgaeItem"); - GameRegistry.registerItem(this, this.getUnlocalizedName()); - } - - @Override - public boolean isDamageable() { - return false; - } - - @Override - public boolean shouldRotateAroundWhenRendering() { - return super.shouldRotateAroundWhenRendering(); - } - - @Override - public void onUpdate(ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, - boolean p_77663_5_) { - if (!p_77663_1_.hasTagCompound() || p_77663_1_.getTagCompound() - .hasNoTags()) { - p_77663_1_ = initNBT(p_77663_1_); - } - super.onUpdate(p_77663_1_, p_77663_2_, p_77663_3_, p_77663_4_, p_77663_5_); - } - - @Override - public String getItemStackDisplayName(ItemStack aStack) { - return EnumChatFormatting.UNDERLINE + super.getItemStackDisplayName(aStack); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) { - int aDam = aStack.getItemDamage(); - try { - aList.add(AlgaeDefinition.getByIndex(aDam).mSimpleName); - if (!aStack.hasTagCompound() || aStack.getTagCompound() - .hasNoTags()) { - aStack = initNBT(aStack); - } else { - NBTTagCompound aNBT = aStack.getTagCompound(); - boolean mRequiresLight = aNBT.getBoolean("mRequiresLight"); - boolean mSaltWater = aNBT.getBoolean("mSaltWater"); - boolean mFreshWater = aNBT.getBoolean("mFreshWater"); - byte mTempTolerance = aNBT.getByte("mTempTolerance"); - float mFertility = aNBT.getFloat("mFertility"); - float mProductionSpeed = aNBT.getFloat("mProductionSpeed"); - byte mLifespan = aNBT.getByte("mLifespan"); - int mGeneration = aNBT.getInteger("mGeneration"); - - aList.add("Requires Light: " + mRequiresLight); - aList.add("Salt Water: " + mSaltWater); - aList.add("Fresh Water: " + mFreshWater); - aList.add("Temp Tolerance: " + mTempTolerance); - aList.add("Growth: " + mFertility); - aList.add("Production: " + mProductionSpeed); - aList.add("Lifespan in days: " + mLifespan); - aList.add("Generation: " + mGeneration); - } - } catch (Throwable t) { - t.printStackTrace(); - } - super.addInformation(aStack, p_77624_2_, aList, p_77624_4_); - } - - @Override - public EnumRarity getRarity(ItemStack p_77613_1_) { - return EnumRarity.uncommon; - } - - @Override - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) { - for (int i = 0; i < AlgaeDefinition.values().length; i++) { - aList.add(ItemUtils.simpleMetaStack(aItem, i, 1)); - } - } - - @Override - public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) { - return false; - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public boolean isBookEnchantable(ItemStack stack, ItemStack book) { - return false; - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public int getItemEnchantability(ItemStack stack) { - return 0; - } - - @Override - public int getColorFromItemStack(ItemStack aStack, int aMeta) { - return AlgaeDefinition.getByIndex(aStack.getItemDamage()).mColour; - } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - if (pass == 0) { - return this.base; - } - return this.overlay; - } - - @Override - public void registerIcons(final IIconRegister i) { - this.base = i.registerIcon(GTPlusPlus.ID + ":" + "bioscience/BasicAlgae"); - this.overlay = i.registerIcon(GTPlusPlus.ID + ":" + "bioscience/BasicAlgae_Overlay"); - } - - public static ItemStack initNBT(ItemStack aFreshAlgae) { - NBTTagCompound aNewTag = new NBTTagCompound(); - ItemAlgaeBase aItem; - if (aFreshAlgae.getItem() instanceof ItemAlgaeBase) { - aItem = (ItemAlgaeBase) aFreshAlgae.getItem(); - if (!aFreshAlgae.hasTagCompound()) { - AlgaeGeneticData y = aItem.getSpeciesData(aFreshAlgae); - aNewTag = y.writeToNBT(); - aFreshAlgae.setTagCompound(aNewTag); - } else { - aNewTag = aFreshAlgae.getTagCompound(); - } - } - return aFreshAlgae; - } - - @Override - public AlgaeDefinition getAlgaeType(ItemStack aStack) { - return AlgaeDefinition.getByIndex(aStack != null ? aStack.getItemDamage() : 3); - } - - @Override - public AlgaeGeneticData getSpeciesData(ItemStack aStack) { - NBTTagCompound aTag; - if (!aStack.hasTagCompound() || aStack.getTagCompound() - .hasNoTags()) { - aTag = new NBTTagCompound(); - AlgaeGeneticData aGenes; - if (aStack.getItemDamage() < 3 || aStack.getItemDamage() > 5) { - aGenes = new AlgaeGeneticData(); - aTag = aGenes.writeToNBT(); - } else { - byte aTemp, aLifespan; - float aFert, aSpeed; - - int aDam = aStack.getItemDamage(); - aTemp = (byte) (aDam == 3 ? 0 : aDam == 4 ? 2 : 1); - aLifespan = (byte) (aDam == 3 ? 1 : aDam == 4 ? 3f : 2f); - aFert = (float) (aDam == 3 ? 2f : aDam == 4 ? 1f : 1.75f); - aSpeed = (float) (aDam == 3 ? 1f : aDam == 4 ? 1.5f : 2f); - - aGenes = new AlgaeGeneticData( - true, - true, - AlgaeDefinition.getByIndex(aDam).mSaltWater, - AlgaeDefinition.getByIndex(aDam).mFreshWater, - aTemp, - aFert, - aSpeed, - aLifespan, - 0, - new AutoMap<>()); - aTag = aGenes.writeToNBT(); - } - } else { - aTag = aStack.getTagCompound(); - } - - return new AlgaeGeneticData(aTag); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/logic/AlgaeGeneticData.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/logic/AlgaeGeneticData.java deleted file mode 100644 index 6b7b72aa71..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/logic/AlgaeGeneticData.java +++ /dev/null @@ -1,129 +0,0 @@ -package gtPlusPlus.plugin.agrichem.logic; - -import net.minecraft.nbt.NBTTagCompound; - -import gtPlusPlus.api.objects.data.AutoMap; - -public class AlgaeGeneticData { - - private final int mLifespan; - - private final int mGeneration; - - private final boolean mIsDominant; - - private final boolean mRequiresLight; - - private final boolean mSaltWater; - - private final boolean mFreshWater; - - private final byte mTempTolerance; - - private final float mFertility; - - private final float mProductionSpeed; - - private final AutoMap mSpecialRequirements; - - public AlgaeGeneticData() { - this(true, true, true, true, (byte) 0, 1f, 1f, (byte) 30, 0, new AutoMap<>()); - } - - public AlgaeGeneticData(boolean isDominant, boolean requiresLight, boolean isSalt, boolean isFresh, - byte aTempTolerance, float aFertility, float aSpeed, byte aLifespan, int aGeneration, - AutoMap aRequirements) { - mIsDominant = isDominant; - mRequiresLight = requiresLight; - mSaltWater = isSalt; - mFreshWater = isFresh; - mTempTolerance = aTempTolerance; - mFertility = aFertility; - mProductionSpeed = aSpeed; - mLifespan = aLifespan; - mGeneration = aGeneration; - mSpecialRequirements = aRequirements; - } - - public AlgaeGeneticData(NBTTagCompound aNBT) { - if (aNBT == null || aNBT.hasNoTags()) { - mIsDominant = true; - mRequiresLight = true; - mSaltWater = true; - mFreshWater = true; - mTempTolerance = 0; - mFertility = 1; - mProductionSpeed = 1; - mLifespan = 30; - mGeneration = 0; - } else { - mIsDominant = aNBT.getBoolean("mIsDominant"); - mRequiresLight = aNBT.getBoolean("mRequiresLight"); - mSaltWater = aNBT.getBoolean("mSaltWater"); - mFreshWater = aNBT.getBoolean("mFreshWater"); - mTempTolerance = aNBT.getByte("mTempTolerance"); - mFertility = aNBT.getFloat("mFertility"); - mProductionSpeed = aNBT.getFloat("mProductionSpeed"); - mLifespan = aNBT.getByte("mLifespan"); - mGeneration = aNBT.getInteger("mGeneration"); - } - mSpecialRequirements = new AutoMap<>(); - } - - /** - * In MC Days - */ - public final int getLifespan() { - return this.mLifespan; - } - - public final boolean isDominant() { - return this.mIsDominant; - } - - public final boolean RequiresLight() { - return this.mRequiresLight; - } - - public final boolean isSaltWater() { - return this.mSaltWater; - } - - public final boolean isFreshWater() { - return this.mFreshWater; - } - - public final byte getTempTolerance() { - return this.mTempTolerance; - } - - public final float getFertility() { - return this.mFertility; - } - - public final float getProductionSpeed() { - return this.mProductionSpeed; - } - - public final int getGeneration() { - return this.mGeneration; - } - - public final AutoMap getSpecialRequirements() { - return this.mSpecialRequirements; - } - - public NBTTagCompound writeToNBT() { - NBTTagCompound aGenes = new NBTTagCompound(); - aGenes.setBoolean("mIsDominant", this.mIsDominant); - aGenes.setBoolean("mRequiresLight", this.mRequiresLight); - aGenes.setBoolean("mSaltWater", this.mSaltWater); - aGenes.setBoolean("mFreshWater", this.mFreshWater); - aGenes.setInteger("mLifespan", this.mLifespan); - aGenes.setInteger("mGeneration", this.mGeneration); - aGenes.setByte("mTempTolerance", this.mTempTolerance); - aGenes.setFloat("mFertility", this.mFertility); - aGenes.setFloat("mProductionSpeed", this.mProductionSpeed); - return aGenes; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/logic/AlgaeGrowthRequirement.java b/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/logic/AlgaeGrowthRequirement.java deleted file mode 100644 index 07b89e5b5e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/agrichem/logic/AlgaeGrowthRequirement.java +++ /dev/null @@ -1,4 +0,0 @@ -package gtPlusPlus.plugin.agrichem.logic; - -public class AlgaeGrowthRequirement { -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/interfaces/IBugFix.java b/gtpp/src/main/java/gtPlusPlus/plugin/fixes/interfaces/IBugFix.java deleted file mode 100644 index b35ad2c063..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/interfaces/IBugFix.java +++ /dev/null @@ -1,6 +0,0 @@ -package gtPlusPlus.plugin.fixes.interfaces; - -public interface IBugFix { - - boolean isFixValid(); -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/Core_VanillaFixes.java b/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/Core_VanillaFixes.java deleted file mode 100644 index cc181756c0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/Core_VanillaFixes.java +++ /dev/null @@ -1,101 +0,0 @@ -package gtPlusPlus.plugin.fixes.vanilla; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -import gtPlusPlus.api.interfaces.IPlugin; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.plugin.manager.Core_Manager; - -// Called by Core_Manager#veryEarlyInit -@SuppressWarnings("unused") -public class Core_VanillaFixes implements IPlugin { - - static final Core_VanillaFixes mInstance; - static final VanillaBedHeightFix mBedFixInstance; - static final VanillaBackgroundMusicFix mMusicFixInstance; - - static { - mInstance = new Core_VanillaFixes(); - mBedFixInstance = new VanillaBedHeightFix(mInstance); - mMusicFixInstance = new VanillaBackgroundMusicFix(mInstance); - mInstance.log("Preparing " + mInstance.getPluginName() + " for use."); - } - - Core_VanillaFixes() { - Core_Manager.registerPlugin(this); - } - - @Override - public boolean preInit() { - return fixVanillaOD(); - } - - @Override - public boolean init() { - return true; - } - - @Override - public boolean postInit() { - return true; - } - - @Override - public boolean serverStart() { - mMusicFixInstance.manage(); - return true; - } - - @Override - public boolean serverStop() { - return true; - } - - @Override - public String getPluginName() { - return "GT++ Vanilla Fixes Module"; - } - - @Override - public String getPluginAbbreviation() { - return "VFIX"; - } - - private boolean fixVanillaOD() { - registerToOreDict(ItemUtils.getSimpleStack(Items.blaze_rod), "rodBlaze"); - registerToOreDict(ItemUtils.getSimpleStack(Items.nether_wart), "cropNetherWart"); - registerToOreDict(ItemUtils.getSimpleStack(Items.reeds), "sugarcane"); - registerToOreDict(ItemUtils.getSimpleStack(Items.paper), "paper"); - registerToOreDict(ItemUtils.getSimpleStack(Items.ender_pearl), "enderpearl"); - registerToOreDict(ItemUtils.getSimpleStack(Items.bone), "bone"); - registerToOreDict(ItemUtils.getSimpleStack(Items.gunpowder), "gunpowder"); - registerToOreDict(ItemUtils.getSimpleStack(Items.string), "string"); - registerToOreDict(ItemUtils.getSimpleStack(Items.nether_star), "netherStar"); - registerToOreDict(ItemUtils.getSimpleStack(Items.leather), "leather"); - registerToOreDict(ItemUtils.getSimpleStack(Items.feather), "feather"); - registerToOreDict(ItemUtils.getSimpleStack(Items.egg), "egg"); - registerToOreDict(ItemUtils.getSimpleStack(Blocks.end_stone), "endstone"); - registerToOreDict(ItemUtils.getSimpleStack(Blocks.vine), "vine"); - registerToOreDict(ItemUtils.getSimpleStack(Blocks.cactus), "blockCactus"); - registerToOreDict(ItemUtils.getSimpleStack(Blocks.grass), "grass"); - registerToOreDict(ItemUtils.getSimpleStack(Blocks.obsidian), "obsidian"); - registerToOreDict(ItemUtils.getSimpleStack(Blocks.crafting_table), "workbench"); - return true; - } - - private void registerToOreDict(ItemStack aStack, String aString) { - if (aStack.getItem() == Items.blaze_rod) { - mInstance - .log("Registering " + aStack.getDisplayName() + " to OreDictionary under the tag '" + aString + "'."); - } else { - mInstance.log( - "Registering " + aStack.getDisplayName() - + " to OreDictionary under the tag '" - + aString - + "'. (Added to Forge in 1.8.9)"); - } - ItemUtils.addItemToOreDictionary(aStack, aString); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/VanillaBackgroundMusicFix.java b/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/VanillaBackgroundMusicFix.java deleted file mode 100644 index 22ae6f29c6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/VanillaBackgroundMusicFix.java +++ /dev/null @@ -1,64 +0,0 @@ -package gtPlusPlus.plugin.fixes.vanilla; - -import java.util.Timer; -import java.util.TimerTask; - -import gtPlusPlus.api.interfaces.IPlugin; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.plugin.fixes.interfaces.IBugFix; -import gtPlusPlus.plugin.fixes.vanilla.music.MusicTocker; -import gtPlusPlus.preloader.CORE_Preloader; - -public class VanillaBackgroundMusicFix implements IBugFix { - - private final IPlugin mParent; - private final boolean enabled; - private MusicTocker mFixInstance; - - public VanillaBackgroundMusicFix(IPlugin minstance) { - mParent = minstance; - if (CORE_Preloader.enableWatchdogBGM > 0 && Utils.isClient()) { - mParent.log("[BGM] Registering BGM delay Fix."); - enabled = true; - mFixInstance = new MusicTocker(mParent); - } else if (CORE_Preloader.enableWatchdogBGM > 0 && Utils.isServer()) { - mParent.log("[BGM] Tried registering BGM delay Fix on Server, disabling."); - enabled = false; - } else { - mParent.log("[BGM] Not registering BGM delay Fix."); - enabled = false; - } - } - - @Override - public boolean isFixValid() { - return enabled; - } - - public void manage() { - if (CORE_Preloader.enableWatchdogBGM > 0 && Utils.isClient()) { - TimerTask task = new ManageTask(this.mFixInstance); - Timer timer = new Timer("BGM-WatchDog"); - long delay = 1000 * 60; - timer.scheduleAtFixedRate(task, delay, 5000); - } - } - - private static class ManageTask extends TimerTask { - - private final MusicTocker A; - - public ManageTask(MusicTocker a) { - A = a; - } - - @Override - public void run() { - if (CORE_Preloader.enableWatchdogBGM > 0 && Utils.isClient()) { - if (!A.mVanillaManager) { - A.run(); - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/VanillaBedHeightFix.java b/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/VanillaBedHeightFix.java deleted file mode 100644 index 60ab048ca3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/VanillaBedHeightFix.java +++ /dev/null @@ -1,85 +0,0 @@ -package gtPlusPlus.plugin.fixes.vanilla; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraftforge.event.entity.player.PlayerSleepInBedEvent; - -import cpw.mods.fml.common.eventhandler.EventPriority; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import gtPlusPlus.api.interfaces.IPlugin; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.plugin.fixes.interfaces.IBugFix; -import gtPlusPlus.preloader.CORE_Preloader; - -public class VanillaBedHeightFix implements IBugFix { - - private final Method mSleepInBedAt; - private final IPlugin mParent; - - public VanillaBedHeightFix(IPlugin minstance) { - mParent = minstance; - Method m; - if (!CORE_Preloader.DEV_ENVIRONMENT) { - m = ReflectionUtils.getMethod(EntityPlayer.class, "func_71018_a", int.class, int.class, int.class); - } else { - m = ReflectionUtils.getMethod( - net.minecraft.entity.player.EntityPlayer.class, - "sleepInBedAt", - int.class, - int.class, - int.class); - } - if (m != null) { - mSleepInBedAt = m; - mParent.log("Registering Bed Height Fix."); - Utils.registerEvent(this); - } else { - mSleepInBedAt = null; - } - } - - @Override - public boolean isFixValid() { - return mSleepInBedAt != null; - } - - /** - * Fix created by deNULL - - * https://github.com/deNULL/BugPatch/blob/master/src/main/java/ru/denull/BugPatch/mod/ClientEvents.java#L45 - * - * @param evt - The event where a player sleeps - */ - @SubscribeEvent(priority = EventPriority.HIGHEST) - public void playerSleepInBed(PlayerSleepInBedEvent evt) { - Logger.WARNING("Sleep Event Detected. Player is sleeping at Y: " + evt.y); - if (evt.y <= 0 && isFixValid()) { - int correctY = 256 + evt.y; - if (correctY <= 0) { - Logger.WARNING( - "You're trying to sleep at y=" + evt.y - + ", which is impossibly low. However, fixed y value is " - + correctY - + ", which is still below 0. Falling back to default behavior."); - } else { - Logger.WARNING( - "You're trying to sleep at y=" + evt.y - + ". This is probably caused by overflow, stopping original event; retrying with y=" - + correctY - + "."); - evt.result = EntityPlayer.EnumStatus.OTHER_PROBLEM; - try { - mSleepInBedAt.invoke(evt.entityPlayer, evt.x, correctY, evt.z); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - Logger.WARNING("Encountered an error trying to sleep."); - } - } - } else if (!isFixValid()) { - Logger.WARNING( - "Method sleepInBedAt was not found in EntityPlayer (wrong MC and/or Forge version?), unable to fix"); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/music/MusicTocker.java b/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/music/MusicTocker.java deleted file mode 100644 index c669f93f62..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/fixes/vanilla/music/MusicTocker.java +++ /dev/null @@ -1,131 +0,0 @@ -package gtPlusPlus.plugin.fixes.vanilla.music; - -import java.lang.reflect.Field; -import java.util.Random; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.ISound; -import net.minecraft.client.audio.MusicTicker; -import net.minecraft.client.audio.PositionedSoundRecord; -import net.minecraft.util.MathHelper; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.objects.XSTR; -import gtPlusPlus.api.interfaces.IPlugin; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; - -@SideOnly(Side.CLIENT) -public class MusicTocker extends MusicTicker implements Runnable { - - private final Random mRandom = new XSTR(); - private final Minecraft mMinecraft; - private final IPlugin mPlugin; - private ISound mSound; - private int mTimeUntilNextTrack = 100; - - public boolean mVanillaManager = false; - - public MusicTocker(IPlugin aPlugin) { - super(Minecraft.getMinecraft()); - mPlugin = aPlugin; - mMinecraft = Minecraft.getMinecraft(); - mPlugin.log("[BGM] Created BGM Watchdog with a delay of " + getDelay() + " ticks."); - inject(); - } - - private static int getDelay() { - return CORE_Preloader.enableWatchdogBGM; - } - - private boolean inject() { - mPlugin.log("[BGM] Inject new Watchdog into Minecraft instance."); - ReflectionUtils.setField(Minecraft.getMinecraft(), "mcMusicTicker", this); - mPlugin.log("[BGM] Verifying..."); - Field f = ReflectionUtils.getField(Minecraft.class, "mcMusicTicker"); - try { - Object m = f.get(mMinecraft); - if (m != null) { - if (m instanceof MusicTocker || m.getClass() - .isAssignableFrom(getClass())) { - mPlugin.log("[BGM] Success."); - return true; - } else if (m instanceof MusicTicker || m.getClass() - .isAssignableFrom(MusicTicker.class)) { - mPlugin.log("[BGM] Found Vanilla MusicTicker, but may be instance of MusicTocker."); - return true; - } - } - } catch (IllegalArgumentException | IllegalAccessException e) {} - - mPlugin.log("[BGM] Failed."); - return false; - } - - private void updateInternalNumber() { - if (ReflectionUtils.doesFieldExist(getClass(), "field_147676_d")) { - ReflectionUtils.setField(this, "field_147676_d", mTimeUntilNextTrack); - } - } - - private void updateInternalSound(ISound aSound) { - if (ReflectionUtils.doesFieldExist(getClass(), "field_147678_c")) { - ReflectionUtils.setField(this, "field_147678_c", aSound); - } - } - - /** - * Updates the JList with a new model. - */ - @Override - public void update() { - run(); - mVanillaManager = true; - } - - @Override - public void run() { - MusicType musictype = this.mMinecraft.func_147109_W(); - - if (this.mSound != null) { - if (!musictype.getMusicTickerLocation() - .equals(this.mSound.getPositionedSoundLocation())) { - this.mMinecraft.getSoundHandler() - .stopSound(this.mSound); - this.mTimeUntilNextTrack = MathHelper.getRandomIntegerInRange(this.mRandom, 0, getDelay() / 2); - updateInternalNumber(); - Logger.INFO("[BGM] Adjusted BGM delay 1"); - } - if (!this.mMinecraft.getSoundHandler() - .isSoundPlaying(this.mSound)) { - this.mSound = null; - updateInternalSound(null); - this.mTimeUntilNextTrack = Math.min( - MathHelper.getRandomIntegerInRange(this.mRandom, getDelay(), getDelay() * 2), - this.mTimeUntilNextTrack); - updateInternalNumber(); - Logger.INFO("[BGM] Adjusted BGM delay 2"); - } - } else if (this.mSound == null && this.mTimeUntilNextTrack-- <= 0) { - this.mSound = PositionedSoundRecord.func_147673_a(musictype.getMusicTickerLocation()); - updateInternalSound(mSound); - this.mMinecraft.getSoundHandler() - .playSound(this.mSound); - this.mTimeUntilNextTrack = getDelay(); - updateInternalNumber(); - Logger.INFO("[BGM] Adjusted BGM 3"); - } - - /* - * try { // Get Value stored in underlying object. Integer aRealDelay = (Integer) - * ReflectionUtils.getField(getClass(), "field_147676_d").get(this); if (aRealDelay == null) { return; } else { - * if (aRealDelay > getDelay() || aRealDelay <= 0) { this.mTimeUntilNextTrack = getDelay(); - * updateInternalNumber(); } else { this.mTimeUntilNextTrack -= 5 * 20; updateInternalNumber(); } aRealDelay = - * (Integer) ReflectionUtils.getField(getClass(), "field_147676_d").get(this); - * Logger.INFO("[BGM] Adjusted BGM - "+aRealDelay); } } catch (IllegalArgumentException | IllegalAccessException - * e) { } - */ - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/plugin/manager/Core_Manager.java b/gtpp/src/main/java/gtPlusPlus/plugin/manager/Core_Manager.java deleted file mode 100644 index be1dafd231..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/plugin/manager/Core_Manager.java +++ /dev/null @@ -1,94 +0,0 @@ -package gtPlusPlus.plugin.manager; - -import gtPlusPlus.api.interfaces.IPlugin; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class Core_Manager { - - public static AutoMap mPlugins = new AutoMap<>(); - - /** - * @param plugin - Dynamically registers the plugin for loading. - */ - public static void registerPlugin(IPlugin plugin) { - Logger.INFO("[Plugin] " + "Registered " + plugin.getPluginName() + "."); - mPlugins.put(plugin); - } - - /** - * Dynamically loads all class objects within the "gtPlusPlus.plugin" package. - */ - public static void veryEarlyInit() { - if (ReflectionUtils.dynamicallyLoadClassesInPackage("gtPlusPlus.plugin")) { - Logger.INFO("[Plugin] Plugin System loaded."); - } - } - - public static boolean preInit() { - try { - for (IPlugin h : mPlugins) { - if (h.preInit()) { - Logger.INFO("[Plugin] Completed Pre-Init Phase for " + h.getPluginName() + "."); - } else { - Logger.INFO("[Plugin] Failed during Pre-Init Phase for " + h.getPluginName() + "."); - } - } - return true; - } catch (Throwable ignored) {} - return false; - } - - public static boolean init() { - try { - for (IPlugin h : mPlugins) { - if (h.init()) { - Logger.INFO("[Plugin] Completed Init Phase for " + h.getPluginName() + "."); - } else { - Logger.INFO("[Plugin] Failed during Init Phase for " + h.getPluginName() + "."); - } - } - return true; - } catch (Throwable ignored) {} - return false; - } - - public static boolean postInit() { - try { - for (IPlugin h : mPlugins) { - if (h.postInit()) { - Logger.INFO("[Plugin] Completed Post-Init Phase for " + h.getPluginName() + "."); - } else { - Logger.INFO("[Plugin] Failed during Post-Init Phase for " + h.getPluginName() + "."); - } - } - return true; - } catch (Throwable ignored) {} - return false; - } - - public static void serverStart() { - try { - for (IPlugin h : mPlugins) { - if (h.serverStart()) { - Logger.INFO("[Plugin] Completed Server Start Phase for " + h.getPluginName() + "."); - } else { - Logger.INFO("[Plugin] Failed during Server Start Phase for " + h.getPluginName() + "."); - } - } - } catch (Throwable ignored) {} - } - - public static void serverStop() { - try { - for (IPlugin h : mPlugins) { - if (h.serverStop()) { - Logger.INFO("[Plugin] Completed Server Stop Phase for " + h.getPluginName() + "."); - } else { - Logger.INFO("[Plugin] Failed during Server Stop Phase for " + h.getPluginName() + "."); - } - } - } catch (Throwable ignored) {} - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java b/gtpp/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java deleted file mode 100644 index 146c92764b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java +++ /dev/null @@ -1,33 +0,0 @@ -package gtPlusPlus.preloader; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import cpw.mods.fml.common.versioning.ArtifactVersion; - -public class CORE_Preloader { - - public static final String NAME = "GT++ Preloader"; - public static final String MODID = "GT++_Preloader"; - public static final String VERSION = "0.5-Beta"; - public static final List DEPENDENCIES; - public static final String JAVA_VERSION = System.getProperty("java.version"); - - public static File MC_DIR; - public static boolean DEV_ENVIRONMENT = false; - public static boolean DEBUG_MODE = false; - public static boolean enableOldGTcircuits = false; - public static int enableWatchdogBGM = 0; - - public static void setMinecraftDirectory(File aDir) { - MC_DIR = aDir; - } - - static { - ArrayList deps = new ArrayList<>(); - // deps.add("required-before:gregtech;"); - DEPENDENCIES = Collections.unmodifiableList(deps); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/Preloader_GT_OreDict.java b/gtpp/src/main/java/gtPlusPlus/preloader/Preloader_GT_OreDict.java deleted file mode 100644 index 9a350ab5e4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/Preloader_GT_OreDict.java +++ /dev/null @@ -1,103 +0,0 @@ -package gtPlusPlus.preloader; - -import static gregtech.api.enums.Mods.GregTech; - -import net.minecraft.item.ItemStack; - -import org.apache.logging.log4j.Level; - -import cpw.mods.fml.relauncher.FMLRelaunchLog; -import gregtech.common.items.GT_MetaGenerated_Item_01; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class Preloader_GT_OreDict { - - public static boolean shouldPreventRegistration(final String string, final ItemStack bannedItem) { - - if (bannedItem == null) { - return false; - } else if (!CORE_Preloader.enableOldGTcircuits) { - return false; - } - - try { - if (CORE_Preloader.enableOldGTcircuits) { - if ((bannedItem != null) && ItemUtils.getModId(bannedItem) - .toLowerCase() - .equals(GregTech.ID)) { - final int damageValue = bannedItem.getItemDamage() - 32000; - if (bannedItem.getItem() instanceof GT_MetaGenerated_Item_01) { // 700-720 - if ((damageValue >= 700) && (damageValue <= 720)) { - return true; - } - } else { - if (ReflectionUtils.doesClassExist("gregtech.common.items.GT_MetaGenerated_Item_03")) { // 6/11/12/14/16/20/30-57/69-73/79-96 - final Class MetaItem03 = ReflectionUtils - .getClass("gregtech.common.items.GT_MetaGenerated_Item_03"); - if (isInstanceOf(MetaItem03, bannedItem.getItem())) { - if ((damageValue == 6) || (damageValue == 7) - || (damageValue == 11) - || (damageValue == 12) - || (damageValue == 14) - || (damageValue == 16) - || (damageValue == 20) - || (damageValue == 21) - || (damageValue == 22)) { - return true; - } else if ((damageValue >= 30) && (damageValue <= 57)) { - return true; - } else if ((damageValue >= 69) && (damageValue <= 73)) { - return true; - } else if ((damageValue >= 78) && (damageValue <= 96)) { - return true; - } - } - } - } - } - } - - } catch (final Throwable e) { - if (CORE.ConfigSwitches.showHiddenNEIItems) { - 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 %s", - ItemUtils.getModId(bannedItem)); - try { - if (bannedItem.getItemDamage() <= Short.MAX_VALUE - 1) { - FMLRelaunchLog.log( - "[GT++ ASM] OreDictTransformer", - Level.INFO, - "Item was not null, but still invalidly registering: %s", - bannedItem.getDisplayName() != null ? bannedItem.getDisplayName() - : "INVALID ITEM FOUND"); - } else { - FMLRelaunchLog.log( - "[GT++ ASM] OreDictTransformer", - Level.INFO, - "Item was not null, but still invalidly registering: %s", - "Found Wildcard item that is being registered too early."); - } - } catch (Exception h) { - h.printStackTrace(); - } - } - } - // FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "%s", e.getMessage()); - } - return false; - } - - // Simplification of Life. - private static boolean isInstanceOf(final Class clazz, final Object obj) { - return clazz.isInstance(obj); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/Preloader_Logger.java b/gtpp/src/main/java/gtPlusPlus/preloader/Preloader_Logger.java deleted file mode 100644 index 477e1371e3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/Preloader_Logger.java +++ /dev/null @@ -1,50 +0,0 @@ -package gtPlusPlus.preloader; - -import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -public class Preloader_Logger { - - private Preloader_Logger() {} - - // Logging Functions - public static final Logger MODLOGGER = LogManager.getLogger("GT++ ASM"); - - public static Logger getLogger() { - return MODLOGGER; - } - - // Non-Dev Comments - - public static void INFO(final String s, final String s2) { - INFO(s); - INFO(s2); - } - - public static void INFO(final String s) { - MODLOGGER.info(s); - } - - // Developer Comments - public static void WARNING(final String s) { - MODLOGGER.warn(s); - } - - // Errors - public static void ERROR(final String s) { - MODLOGGER.fatal(s); - } - - public static void LOG(String string, Level info, String string2) { - if (info.equals(Level.INFO)) { - INFO("[" + string + "] " + string2); - } - if (info.equals(Level.WARN)) { - WARNING("[" + string + "] " + string2); - } - if (info.equals(Level.ERROR)) { - ERROR("[" + string + "] " + string2); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java b/gtpp/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java deleted file mode 100644 index b4a49c275c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java +++ /dev/null @@ -1,144 +0,0 @@ -package gtPlusPlus.preloader.asm; - -import java.io.File; -import java.util.ArrayList; - -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.common.config.Property; - -import org.apache.logging.log4j.Level; - -import cpw.mods.fml.common.FMLLog; -import gtPlusPlus.preloader.Preloader_Logger; - -public class AsmConfig { - - public static Configuration config; - - public static boolean enableOreDictPatch; - public static boolean enableGtTooltipFix; - public static boolean enableGtNbtFix; - public static boolean enableGtCharcoalPitFix; - public static boolean enableCofhPatch; - public static boolean enableTcAspectSafety; - public static boolean enabledLwjglKeybindingFix; - public static boolean enabledFixEntitySetHealth; - public static boolean enableThaumicTinkererRepairFix; - - public static boolean disableAllLogging; - public static boolean debugMode; - - static { - config = new Configuration(new File("config/GTplusplus/asm.cfg")); - syncConfig(true); - } - - public static void syncConfig(boolean load) { - ArrayList propOrder = new ArrayList<>(); - ArrayList propOrderDebug = new ArrayList<>(); - - try { - if (!config.isChild && load) { - config.load(); - } - - Property prop; - - // Debug - prop = config.get("debug", "disableAllLogging", true); - prop.comment = "Disables ALL logging from GT++."; - prop.setLanguageKey("gtpp.disableAllLogging") - .setRequiresMcRestart(false); - disableAllLogging = prop.getBoolean(true); - propOrderDebug.add(prop.getName()); - - prop = config.get("debug", "debugMode", false); - prop.comment = "Enables all sorts of debug logging. (Don't use unless told to, breaks other things.)"; - prop.setLanguageKey("gtpp.debugMode") - .setRequiresMcRestart(false); - debugMode = prop.getBoolean(false); - propOrderDebug.add(prop.getName()); - - prop = config.get("debug", "enabledFixEntitySetHealth", false); - prop.comment = "Enable/Disable entity setHealth() fix."; - prop.setLanguageKey("gtpp.enabledFixEntitySetHealth") - .setRequiresMcRestart(true); - enabledFixEntitySetHealth = prop.getBoolean(false); - propOrderDebug.add(prop.getName()); - - prop = config.get("debug", "enableGtNbtFix", true); - prop.comment = "Enable/Disable GT NBT Persistency Fix"; - prop.setLanguageKey("gtpp.enableGtNbtFix") - .setRequiresMcRestart(true); - enableGtNbtFix = prop.getBoolean(true); - propOrderDebug.add(prop.getName()); - - prop = config.get("debug", "enableCofhPatch", false); - prop.comment = "Enable/Disable COFH OreDictionaryArbiter Patch (Useful for Development)"; - prop.setLanguageKey("gtpp.enableCofhPatch") - .setRequiresMcRestart(true); - enableCofhPatch = prop.getBoolean(false); - propOrderDebug.add(prop.getName()); - - prop = config.get("debug", "enableOreDictPatch", false); - prop.comment = "Enable/Disable Forge OreDictionary Patch (Useful for Development)"; - prop.setLanguageKey("gtpp.enableOreDictPatch") - .setRequiresMcRestart(true); - enableOreDictPatch = prop.getBoolean(false); - propOrderDebug.add(prop.getName()); - - prop = config.get("debug", "enableThaumicTinkererRepairFix", false); - prop.comment = "Enable/Disable Patch for Thaumic Repairer"; - prop.setLanguageKey("gtpp.enableThaumicTinkererRepairFix") - .setRequiresMcRestart(true); - enableThaumicTinkererRepairFix = prop.getBoolean(false); - propOrderDebug.add(prop.getName()); - - // General Features - prop = config.get("general", "enabledLwjglKeybindingFix", true); - prop.comment = "Prevents the game crashing from having invalid keybinds. https://github.com/alkcorp/GTplusplus/issues/544"; - prop.setLanguageKey("gtpp.enabledLwjglKeybindingFix") - .setRequiresMcRestart(true); - enabledLwjglKeybindingFix = prop.getBoolean(true); - propOrder.add(prop.getName()); - - prop = config.get("general", "enableGtTooltipFix", true); - prop.comment = "Enable/Disable Custom GT Tooltips"; - prop.setLanguageKey("gtpp.enableGtTooltipFix") - .setRequiresMcRestart(true); - enableGtTooltipFix = prop.getBoolean(true); - propOrder.add(prop.getName()); - - prop = config.get("general", "enableGtCharcoalPitFix", true); - prop.comment = "Makes the Charcoal Pile Igniter work better."; - prop.setLanguageKey("gtpp.enableGtCharcoalPitFix") - .setRequiresMcRestart(true); - enableGtCharcoalPitFix = prop.getBoolean(true); - propOrder.add(prop.getName()); - - // TC Aspect Safety - prop = config.get("general", "enableTcAspectSafety", true); - prop.comment = "Fixes small oversights in Thaumcraft 4."; - prop.setLanguageKey("gtpp.enableTcAspectSafety") - .setRequiresMcRestart(true); - enableTcAspectSafety = prop.getBoolean(true); - propOrder.add(prop.getName()); - - config.setCategoryPropertyOrder("general", propOrder); - config.setCategoryPropertyOrder("debug", propOrderDebug); - if (config.hasChanged()) { - config.save(); - } - - Preloader_Logger.INFO("Gt Nbt Fix - Enabled: " + enableGtNbtFix); - Preloader_Logger.INFO("Gt Tooltip Fix - Enabled: " + enableGtTooltipFix); - Preloader_Logger.INFO("COFH Patch - Enabled: " + enableCofhPatch); - Preloader_Logger.INFO("Thaumcraft Aspect Safety Patch - Enabled: " + enableTcAspectSafety); - Preloader_Logger - .INFO("Fix bad usage of EntityLivingBase.setHealth Patch - Enabled: " + enabledFixEntitySetHealth); - - } catch (Exception var3) { - FMLLog.log(Level.ERROR, var3, "GT++ ASM had a problem loading it's config", new Object[0]); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java b/gtpp/src/main/java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java deleted file mode 100644 index c77f570a8d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java +++ /dev/null @@ -1,70 +0,0 @@ -package gtPlusPlus.preloader.asm; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.GregTech; - -import java.io.File; -import java.util.Collections; - -import net.minecraftforge.common.config.Configuration; - -import com.google.common.eventbus.EventBus; -import com.google.common.eventbus.Subscribe; - -import cpw.mods.fml.common.DummyModContainer; -import cpw.mods.fml.common.LoadController; -import cpw.mods.fml.common.ModMetadata; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import gtPlusPlus.preloader.CORE_Preloader; -import gtPlusPlus.preloader.Preloader_Logger; - -public class Preloader_DummyContainer extends DummyModContainer { - - public Preloader_DummyContainer() { - super(new ModMetadata()); - ModMetadata meta = getMetadata(); - meta.modId = CORE_Preloader.MODID; - meta.name = CORE_Preloader.NAME; - meta.version = CORE_Preloader.VERSION; - meta.credits = "Roll Credits ..."; - meta.authorList = Collections.singletonList("Alkalus"); - meta.screenshots = new String[0]; - meta.parent = GTPlusPlus.ID; - } - - @Override - public boolean registerBus(EventBus bus, LoadController controller) { - bus.register(this); - return true; - } - - @Subscribe - public void preInit(FMLPreInitializationEvent event) { - Preloader_Logger.INFO("Loading " + CORE_Preloader.MODID + " V" + CORE_Preloader.VERSION); - // Handle GT++ Config - handleConfigFile(event); - } - - public static void handleConfigFile(final FMLPreInitializationEvent event) { - final Configuration config = new Configuration( - new File(event.getModConfigurationDirectory(), "GTplusplus/GTplusplus.cfg")); - config.load(); - - // BGM Watchdog - CORE_Preloader.enableWatchdogBGM = config.getInt( - "enableWatchdogBGM", - "features", - 0, - 0, - Short.MAX_VALUE, - "Set to a value greater than 0 to reduce the ticks taken to delay between BGM tracks. Acceptable Values are 1-32767, where 0 is disabled. Vanilla Uses 12,000 & 24,000. 200 is 10s."); - - // Circuits - CORE_Preloader.enableOldGTcircuits = config.getBoolean( - "enableOldGTcircuits", - GregTech.ID, - false, - "Restores circuits and their recipes from Pre-5.09.28 times."); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java b/gtpp/src/main/java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java deleted file mode 100644 index cdd25bb268..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java +++ /dev/null @@ -1,47 +0,0 @@ -package gtPlusPlus.preloader.asm; - -import java.io.File; -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.CORE_Preloader; -import gtPlusPlus.preloader.asm.transformers.Preloader_Transformer_Handler; - -@SortingIndex(10097) -@MCVersion(value = "1.7.10") -@IFMLLoadingPlugin.TransformerExclusions("gtPlusPlus.preloader") -@IFMLLoadingPlugin.Name(CORE_Preloader.NAME) -public class Preloader_FMLLoadingPlugin implements IFMLLoadingPlugin { - - @Override - public String getAccessTransformerClass() { - return null; - } - - @Override - public String[] getASMTransformerClass() { - return new String[] { Preloader_Transformer_Handler.class.getName() }; - } - - @Override - public String getModContainerClass() { - return Preloader_DummyContainer.class.getName(); - } - - @Override - public String getSetupClass() { - return null; - } - - @Override - public void injectData(Map data) { - CORE_Preloader.DEV_ENVIRONMENT = !(boolean) data.get("runtimeDeobfuscationEnabled"); - File mcDir = (File) data.get("mcLocation"); - if (mcDir != null && mcDir.exists()) { - CORE_Preloader.setMinecraftDirectory(mcDir); - } - CORE_Preloader.DEBUG_MODE = AsmConfig.debugMode; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_COFH_OreDictionaryArbiter.java b/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_COFH_OreDictionaryArbiter.java deleted file mode 100644 index 0b41846928..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_COFH_OreDictionaryArbiter.java +++ /dev/null @@ -1,187 +0,0 @@ -package gtPlusPlus.preloader.asm.transformers; - -import static org.objectweb.asm.Opcodes.ACC_PUBLIC; -import static org.objectweb.asm.Opcodes.ACC_STATIC; -import static org.objectweb.asm.Opcodes.ALOAD; -import static org.objectweb.asm.Opcodes.ASM5; -import static org.objectweb.asm.Opcodes.INVOKESTATIC; -import static org.objectweb.asm.Opcodes.RETURN; - -import java.util.ArrayList; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -import org.apache.logging.log4j.Level; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.ClassWriter; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; - -import com.google.common.base.Strings; -import com.google.common.collect.BiMap; -import com.google.common.collect.HashBiMap; - -import cofh.core.util.oredict.OreDictionaryArbiter; -import cofh.lib.util.ItemWrapper; -import cpw.mods.fml.relauncher.FMLRelaunchLog; -import gnu.trove.map.TMap; -import gnu.trove.map.hash.THashMap; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class ClassTransformer_COFH_OreDictionaryArbiter { - - // The qualified name of the class we plan to transform. - private static final String className = "cofh.core.util.oredict.OreDictionaryArbiter"; - // cofh/core/util/oredict/OreDictionaryArbiter - - private final boolean isValid; - private final ClassReader reader; - private final ClassWriter writer; - - public ClassTransformer_COFH_OreDictionaryArbiter(byte[] basicClass) { - ClassReader aTempReader = null; - ClassWriter aTempWriter = null; - aTempReader = new ClassReader(basicClass); - aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES); - aTempReader.accept(new localClassVisitor(aTempWriter), 0); - - if (aTempReader != null && aTempWriter != null) { - isValid = true; - } else { - isValid = false; - } - reader = aTempReader; - writer = aTempWriter; - - if (reader != null && writer != null) { - injectMethod("registerOreDictionaryEntry"); - } - } - - public boolean isValidTransformer() { - return isValid; - } - - public ClassReader getReader() { - return reader; - } - - public ClassWriter getWriter() { - return writer; - } - - public void injectMethod(String aMethodName) { - - String aItemStack = "net/minecraft/item/ItemStack"; - MethodVisitor mv; - if (aMethodName.equals("registerOreDictionaryEntry")) { - FMLRelaunchLog.log( - "[GT++ ASM] COFH OreDictionaryArbiter Patch", - Level.INFO, - "Injecting " + aMethodName + " into " + className + ". ItemStack: " + aItemStack); - mv = getWriter().visitMethod( - ACC_PUBLIC + ACC_STATIC, - "registerOreDictionaryEntry", - "(L" + aItemStack + ";Ljava/lang/String;)V", - null, - null); - mv.visitCode(); - Label l0 = new Label(); - mv.visitLabel(l0); - mv.visitLineNumber(61, l0); - mv.visitVarInsn(ALOAD, 0); - mv.visitVarInsn(ALOAD, 1); - mv.visitMethodInsn( - INVOKESTATIC, - "gtPlusPlus/preloader/asm/transformers/ClassTransformer_COFH_OreDictionaryArbiter$FixCOFH", - "registerOreDictionaryEntry", - "(L" + aItemStack + ";Ljava/lang/String;)V", - false); - Label l1 = new Label(); - mv.visitLabel(l1); - mv.visitLineNumber(62, l1); - mv.visitInsn(RETURN); - Label l2 = new Label(); - mv.visitLabel(l2); - mv.visitLocalVariable("arg", "L" + aItemStack + ";", null, l0, l2, 0); - mv.visitLocalVariable("arg0", "Ljava/lang/String;", null, l0, l2, 1); - mv.visitMaxs(2, 2); - mv.visitEnd(); - } - FMLRelaunchLog.log("[GT++ ASM] COFH OreDictionaryArbiter Patch", Level.INFO, "Method injection complete."); - } - - public static final class localClassVisitor extends ClassVisitor { - - public localClassVisitor(ClassVisitor cv) { - super(ASM5, cv); - } - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - if (name.equals("registerOreDictionaryEntry")) { - FMLRelaunchLog.log("[GT++ ASM] COFH OreDictionaryArbiter Patch", Level.INFO, "Removing method " + name); - return null; - } - MethodVisitor methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); - return methodVisitor; - } - } - - @SuppressWarnings("unchecked") - public static class FixCOFH { - - private static BiMap oreIDs; - private static TMap> oreStacks; - private static TMap> stackIDs; - private static TMap> stackNames; - - static { - try { - oreIDs = (BiMap) ReflectionUtils.getField(OreDictionaryArbiter.class, "oreIDs") - .get(null); - oreStacks = (TMap>) ReflectionUtils - .getField(OreDictionaryArbiter.class, "oreStacks") - .get(null); - stackIDs = (TMap>) ReflectionUtils - .getField(OreDictionaryArbiter.class, "stackIDs") - .get(null); - stackNames = (TMap>) ReflectionUtils - .getField(OreDictionaryArbiter.class, "stackNames") - .get(null); - } catch (Throwable t) { - oreIDs = HashBiMap.create(); - oreStacks = new THashMap<>(); - stackIDs = new THashMap<>(); - stackNames = new THashMap<>(); - } - } - - public static void registerOreDictionaryEntry(ItemStack arg, String arg0) { - try { - if (arg == null) { - return; - } - if (arg.getItem() != null && !Strings.isNullOrEmpty(arg0)) { - int arg1 = OreDictionary.getOreID(arg0); - oreIDs.put(arg0, Integer.valueOf(arg1)); - if (!oreStacks.containsKey(Integer.valueOf(arg1))) { - oreStacks.put(Integer.valueOf(arg1), new ArrayList<>()); - } - ((ArrayList) oreStacks.get(Integer.valueOf(arg1))).add(arg); - ItemWrapper arg2 = ItemWrapper.fromItemStack(arg); - if (!stackIDs.containsKey(arg2)) { - stackIDs.put(arg2, new ArrayList<>()); - stackNames.put(arg2, new ArrayList<>()); - } - ((ArrayList) stackIDs.get(arg2)).add(Integer.valueOf(arg1)); - ((ArrayList) stackNames.get(arg2)).add(arg0); - } - } catch (Throwable t) { - return; - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool.java b/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool.java deleted file mode 100644 index 7aa5ff4f90..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool.java +++ /dev/null @@ -1,233 +0,0 @@ -package gtPlusPlus.preloader.asm.transformers; - -import static org.objectweb.asm.Opcodes.ACC_PUBLIC; -import static org.objectweb.asm.Opcodes.ALOAD; -import static org.objectweb.asm.Opcodes.ARETURN; -import static org.objectweb.asm.Opcodes.ASM5; -import static org.objectweb.asm.Opcodes.ILOAD; -import static org.objectweb.asm.Opcodes.INVOKESTATIC; -import static org.objectweb.asm.Opcodes.IRETURN; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; - -import org.apache.logging.log4j.Level; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.ClassWriter; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; - -import cpw.mods.fml.relauncher.FMLRelaunchLog; - -public class ClassTransformer_IC2_GetHarvestTool { - - private final boolean isValid; - private final ClassReader reader; - private final ClassWriter writer; - private final String className; - - private final String aName_getItemDropped; - private final String aName_damageDropped; - - public static String getHarvestTool(int aMeta) { - return "wrench"; - } - - public static Item getItemDropped(Block aBlock, int meta, Random random, int fortune) { - return Item.getItemFromBlock(aBlock); - } - - public static int damageDropped(int aMeta) { - return aMeta; - } - - public ClassTransformer_IC2_GetHarvestTool(byte[] basicClass, boolean obfuscated, String aClassName) { - className = aClassName; - ClassReader aTempReader = null; - ClassWriter aTempWriter = null; - - aName_getItemDropped = obfuscated ? "func_149650_a" : "getItemDropped"; - aName_damageDropped = obfuscated ? "func_149692_a" : "damageDropped"; - - FMLRelaunchLog.log( - "[GT++ ASM] IC2 getHarvestTool Patch", - Level.INFO, - "Attempting to patch in mode " + className + ". Obfuscated? " + obfuscated); - - aTempReader = new ClassReader(basicClass); - aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES); - aTempReader.accept(new localClassVisitor(aTempWriter, className), 0); - - if (aTempReader != null && aTempWriter != null) { - isValid = true; - } else { - isValid = false; - } - - FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Valid patch? " + isValid + "."); - reader = aTempReader; - writer = aTempWriter; - - if (reader != null && writer != null) { - FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Attempting Method Injection."); - injectMethod("getHarvestTool"); - if (aClassName.equals("ic2.core.block.machine.BlockMachine2") - || aClassName.equals("ic2.core.block.machine.BlockMachine3") - || aClassName.equals("ic2.core.block.wiring.BlockElectric")) { - injectMethod(aName_getItemDropped); - injectMethod(aName_damageDropped); - } else if (aClassName.equals("ic2.core.block.generator.block.BlockGenerator") - || aClassName.equals("ic2.core.block.machine.BlockMachine")) { - injectMethod(aName_damageDropped); - } - } - } - - public boolean isValidTransformer() { - return isValid; - } - - public ClassReader getReader() { - return reader; - } - - public ClassWriter getWriter() { - return writer; - } - - public boolean injectMethod(String aMethodName) { - MethodVisitor mv; - boolean didInject = false; - String aFormattedClassName = className.replace('.', '/'); - ClassWriter cw = getWriter(); - - FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Injecting " + aMethodName + "."); - if (aMethodName.equals("getHarvestTool")) { - mv = getWriter().visitMethod(ACC_PUBLIC, "getHarvestTool", "(I)Ljava/lang/String;", null, null); - mv.visitCode(); - Label l0 = new Label(); - mv.visitLabel(l0); - mv.visitLineNumber(63, l0); - mv.visitVarInsn(ILOAD, 1); - mv.visitMethodInsn( - INVOKESTATIC, - "gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool", - "getHarvestTool", - "(I)Ljava/lang/String;", - false); - mv.visitInsn(ARETURN); - Label l1 = new Label(); - mv.visitLabel(l1); - mv.visitLocalVariable("this", "L" + aFormattedClassName + ";", null, l0, l1, 0); - mv.visitLocalVariable("aMeta", "I", null, l0, l1, 1); - mv.visitMaxs(1, 2); - mv.visitEnd(); - didInject = true; - } else if (aMethodName.equals(aName_getItemDropped)) { - mv = cw.visitMethod( - ACC_PUBLIC, - aName_getItemDropped, - "(ILjava/util/Random;I)Lnet/minecraft/item/Item;", - null, - null); - mv.visitCode(); - Label l0 = new Label(); - mv.visitLabel(l0); - mv.visitLineNumber(44, l0); - mv.visitVarInsn(ALOAD, 0); - mv.visitVarInsn(ILOAD, 1); - mv.visitVarInsn(ALOAD, 2); - mv.visitVarInsn(ILOAD, 3); - mv.visitMethodInsn( - INVOKESTATIC, - "gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool", - "getItemDropped", - "(Lnet/minecraft/block/Block;ILjava/util/Random;I)Lnet/minecraft/item/Item;", - false); - mv.visitInsn(ARETURN); - Label l1 = new Label(); - mv.visitLabel(l1); - mv.visitLocalVariable("this", "L" + aFormattedClassName + ";", null, l0, l1, 0); - mv.visitLocalVariable("meta", "I", null, l0, l1, 1); - mv.visitLocalVariable("random", "Ljava/util/Random;", null, l0, l1, 2); - mv.visitLocalVariable("fortune", "I", null, l0, l1, 3); - mv.visitMaxs(4, 4); - mv.visitEnd(); - didInject = true; - } else if (aMethodName.equals(aName_damageDropped)) { - mv = cw.visitMethod(ACC_PUBLIC, aName_damageDropped, "(I)I", null, null); - mv.visitCode(); - Label l0 = new Label(); - mv.visitLabel(l0); - mv.visitLineNumber(48, l0); - mv.visitVarInsn(ILOAD, 1); - mv.visitMethodInsn( - INVOKESTATIC, - "gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool", - "damageDropped", - "(I)I", - false); - mv.visitInsn(IRETURN); - Label l1 = new Label(); - mv.visitLabel(l1); - mv.visitLocalVariable("this", "L" + aFormattedClassName + ";", null, l0, l1, 0); - mv.visitLocalVariable("meta", "I", null, l0, l1, 1); - mv.visitMaxs(1, 2); - mv.visitEnd(); - didInject = true; - } - FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Method injection complete."); - return didInject; - } - - public final class localClassVisitor extends ClassVisitor { - - String aClassName; - - public localClassVisitor(ClassVisitor cv, String aName) { - super(ASM5, cv); - aClassName = aName; - } - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - MethodVisitor methodVisitor; - if (aClassName.equals("ic2.core.block.machine.BlockMachine2") - || aClassName.equals("ic2.core.block.machine.BlockMachine3") - || aClassName.equals("ic2.core.block.wiring.BlockElectric")) { - if (name.equals(aName_getItemDropped)) { - methodVisitor = null; - } else if (name.equals(aName_damageDropped)) { - methodVisitor = null; - } else if (name.equals("getHarvestTool")) { - methodVisitor = null; - } else { - methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); - } - } else if (aClassName.equals("ic2.core.block.generator.block.BlockGenerator") - || aClassName.equals("ic2.core.block.machine.BlockMachine")) { - if (name.equals(aName_damageDropped)) { - methodVisitor = null; - } else if (name.equals("getHarvestTool")) { - methodVisitor = null; - } else { - methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); - } - } else { - if (name.equals("getHarvestTool")) { - methodVisitor = null; - } else { - methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); - } - } - if (methodVisitor == null) { - FMLRelaunchLog - .log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Found method " + name + ", removing."); - } - return methodVisitor; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_LWJGL_Keyboard.java b/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_LWJGL_Keyboard.java deleted file mode 100644 index 4d3c78e6bd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_LWJGL_Keyboard.java +++ /dev/null @@ -1,297 +0,0 @@ -package gtPlusPlus.preloader.asm.transformers; - -import static org.objectweb.asm.Opcodes.ACC_PUBLIC; -import static org.objectweb.asm.Opcodes.ACC_STATIC; -import static org.objectweb.asm.Opcodes.ACC_SYNCHRONIZED; -import static org.objectweb.asm.Opcodes.ARETURN; -import static org.objectweb.asm.Opcodes.ASM5; -import static org.objectweb.asm.Opcodes.ILOAD; -import static org.objectweb.asm.Opcodes.INVOKESTATIC; - -import java.lang.reflect.Field; -import java.util.HashMap; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.client.settings.KeyBinding; - -import org.apache.logging.log4j.Level; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.ClassWriter; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; - -import cpw.mods.fml.relauncher.FMLRelaunchLog; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class ClassTransformer_LWJGL_Keyboard { - - private final boolean isValid; - private final ClassReader reader; - private final ClassWriter writer; - - private static final HashMap mBadKeyCache = new HashMap<>(); - - /** - * Gets a key's name - * - * @param key The key - * @return a String with the key's human readable name in it or null if the key is unnamed - */ - public static synchronized String getKeyName(int key) { - if (init()) { - String[] aTemp = getKeyName(); - if (key < aTemp.length && key >= 0) { - return aTemp[key]; - } - } - String aCachedValue = mBadKeyCache.get("key-" + key); - if (aCachedValue == null) { - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Unable to map key code " + key + " to LWJGL keymap."); - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Caching key value to be empty."); - // mBadKeyCache.put("key-"+key, getKeyName()[0x00]); - aCachedValue = "FIX!"; - mBadKeyCache.put("key-" + key, aCachedValue); - trySetClientKey(key); - } - return aCachedValue; // Return nothing - } - - public static void trySetClientKey(int aKey) { - if (Utils.isClient() && ReflectionUtils.doesClassExist("net.minecraft.client.Minecraft")) { - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Trying to set key value to be empty."); - GameSettings options = Minecraft.getMinecraft().gameSettings; - KeyBinding[] akeybinding = Minecraft.getMinecraft().gameSettings.keyBindings; - int i = akeybinding.length; - for (KeyBinding keybinding : akeybinding) { - if (keybinding != null && keybinding.getKeyCode() == aKey) { - options.setOptionKeyBinding(keybinding, 0); - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Set keybind " + aKey + " to 0."); - break; - } - } - } - } - - @SuppressWarnings("rawtypes") - private static Class mKeyboard; - - private static Field mKeyName; - - @SuppressWarnings("rawtypes") - private static boolean init() { - if (mKeyName != null) { - return true; - } - Class aKeyboard = ReflectionUtils.getClass("org.lwjgl.input.Keyboard"); - if (aKeyboard != null) { - mKeyboard = aKeyboard; - Field aKeyName = ReflectionUtils.getField(mKeyboard, "keyName"); - if (aKeyName != null) { - mKeyName = aKeyName; - } - } - return mKeyName != null; - } - - private static String[] getKeyName() { - if (init()) { - try { - Object o = mKeyName.get(null); - if (o instanceof String[]y) { - return y; - } - } catch (IllegalArgumentException | IllegalAccessException e) {} - } - return new String[] {}; - } - - public ClassTransformer_LWJGL_Keyboard(byte[] basicClass, boolean isClientSettings) { - ClassReader aTempReader = null; - ClassWriter aTempWriter = null; - aTempReader = new ClassReader(basicClass); - aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES); - if (!isClientSettings) { - // gtPlusPlus.preloader.keyboard.BetterKeyboard.init(); - aTempReader.accept(new PatchLWJGL(aTempWriter), 0); - injectLWJGLPatch(aTempWriter); - } else { - // gtPlusPlus.preloader.keyboard.BetterKeyboard.init(); - aTempReader.accept(new PatchClientSettings(aTempWriter), 0); - injectClientSettingPatch(aTempWriter); - } - if (aTempReader != null && aTempWriter != null) { - isValid = true; - } else { - isValid = false; - } - FMLRelaunchLog - .log("[GT++ ASM] LWJGL Keybinding index out of bounds fix", Level.INFO, "Valid? " + isValid + "."); - reader = aTempReader; - writer = aTempWriter; - } - - public boolean isValidTransformer() { - return isValid; - } - - public ClassReader getReader() { - return reader; - } - - public ClassWriter getWriter() { - return writer; - } - - private boolean isClientSettingsObfuscated = false; - - public boolean injectLWJGLPatch(ClassWriter cw) { - MethodVisitor mv; - boolean didInject = false; - FMLRelaunchLog - .log("[GT++ ASM] LWJGL Keybinding index out of bounds fix", Level.INFO, "Injecting " + "getKeyName" + "."); - mv = cw - .visitMethod(ACC_PUBLIC + ACC_STATIC + ACC_SYNCHRONIZED, "getKeyName", "(I)Ljava/lang/String;", null, null); - mv.visitCode(); - Label l0 = new Label(); - mv.visitLabel(l0); - mv.visitLineNumber(49, l0); - mv.visitVarInsn(ILOAD, 0); - mv.visitMethodInsn( - INVOKESTATIC, - "gtPlusPlus/preloader/asm/transformers/ClassTransformer_LWJGL_Keyboard", - "getKeyName", - "(I)Ljava/lang/String;", - false); - mv.visitInsn(ARETURN); - Label l1 = new Label(); - mv.visitLabel(l1); - mv.visitLocalVariable("key", "I", null, l0, l1, 0); - mv.visitMaxs(1, 1); - mv.visitEnd(); - didInject = true; - - FMLRelaunchLog - .log("[GT++ ASM] LWJGL Keybinding index out of bounds fix", Level.INFO, "Method injection complete."); - return didInject; - } - - public boolean injectClientSettingPatch(ClassWriter cw) { - MethodVisitor mv; - boolean didInject = false; - String aMethodName = this.isClientSettingsObfuscated ? "func_74298_c" : "getKeyDisplayString"; - FMLRelaunchLog - .log("[GT++ ASM] LWJGL Keybinding index out of bounds fix", Level.INFO, "Injecting " + aMethodName + "."); - mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, aMethodName, "(I)Ljava/lang/String;", null, null); - mv.visitCode(); - Label l0 = new Label(); - mv.visitLabel(l0); - mv.visitLineNumber(130, l0); - mv.visitVarInsn(ILOAD, 0); - mv.visitMethodInsn( - INVOKESTATIC, - "gtPlusPlus/preloader/keyboard/BetterKeyboard", - "getKeyDisplayString", - "(I)Ljava/lang/String;", - false); - mv.visitInsn(ARETURN); - Label l1 = new Label(); - mv.visitLabel(l1); - mv.visitLocalVariable("p_74298_0_", "I", null, l0, l1, 0); - mv.visitMaxs(1, 1); - mv.visitEnd(); - didInject = true; - FMLRelaunchLog - .log("[GT++ ASM] LWJGL Keybinding index out of bounds fix", Level.INFO, "Method injection complete."); - return didInject; - } - - public class PatchClientSettings extends ClassVisitor { - - public PatchClientSettings(ClassVisitor cv) { - super(ASM5, cv); - this.cv = cv; - } - - private final String[] aMethodsToStrip = new String[] { "func_74298_c", "getKeyDisplayString" }; - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - MethodVisitor methodVisitor; - boolean found = false; - - for (String s : aMethodsToStrip) { - if (name.equals(s)) { - if (name.equals(aMethodsToStrip[0])) { - isClientSettingsObfuscated = true; - } else { - isClientSettingsObfuscated = false; - } - found = true; - break; - } - } - if (!found) { - methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); - } else { - methodVisitor = null; - } - if (found) { - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Found method " + name + ", removing."); - } - return methodVisitor; - } - } - - public class PatchLWJGL extends ClassVisitor { - - public PatchLWJGL(ClassVisitor cv) { - super(ASM5, cv); - this.cv = cv; - } - - private final String[] aMethodsToStrip = new String[] { "getKeyName" }; - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - MethodVisitor methodVisitor; - boolean found = false; - - for (String s : aMethodsToStrip) { - if (name.equals(s)) { - found = true; - break; - } - } - if (!found) { - methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); - } else { - methodVisitor = null; - } - if (found) { - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Found method " + name + ", removing."); - } - return methodVisitor; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TC_ItemWispEssence.java b/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TC_ItemWispEssence.java deleted file mode 100644 index cf8b08d40c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TC_ItemWispEssence.java +++ /dev/null @@ -1,317 +0,0 @@ -package gtPlusPlus.preloader.asm.transformers; - -import static org.objectweb.asm.Opcodes.AALOAD; -import static org.objectweb.asm.Opcodes.ACC_PUBLIC; -import static org.objectweb.asm.Opcodes.ACONST_NULL; -import static org.objectweb.asm.Opcodes.ALOAD; -import static org.objectweb.asm.Opcodes.ARETURN; -import static org.objectweb.asm.Opcodes.ARRAYLENGTH; -import static org.objectweb.asm.Opcodes.ASM5; -import static org.objectweb.asm.Opcodes.ASTORE; -import static org.objectweb.asm.Opcodes.DUP; -import static org.objectweb.asm.Opcodes.F_APPEND; -import static org.objectweb.asm.Opcodes.F_CHOP; -import static org.objectweb.asm.Opcodes.F_SAME; -import static org.objectweb.asm.Opcodes.F_SAME1; -import static org.objectweb.asm.Opcodes.GETSTATIC; -import static org.objectweb.asm.Opcodes.GOTO; -import static org.objectweb.asm.Opcodes.I2L; -import static org.objectweb.asm.Opcodes.ICONST_0; -import static org.objectweb.asm.Opcodes.IFEQ; -import static org.objectweb.asm.Opcodes.IFLE; -import static org.objectweb.asm.Opcodes.IFNONNULL; -import static org.objectweb.asm.Opcodes.IFNULL; -import static org.objectweb.asm.Opcodes.ILOAD; -import static org.objectweb.asm.Opcodes.INVOKESPECIAL; -import static org.objectweb.asm.Opcodes.INVOKESTATIC; -import static org.objectweb.asm.Opcodes.INVOKEVIRTUAL; -import static org.objectweb.asm.Opcodes.IRETURN; -import static org.objectweb.asm.Opcodes.ISTORE; -import static org.objectweb.asm.Opcodes.L2I; -import static org.objectweb.asm.Opcodes.LDIV; -import static org.objectweb.asm.Opcodes.LREM; -import static org.objectweb.asm.Opcodes.NEW; - -import org.apache.logging.log4j.Level; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.ClassWriter; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; - -import cpw.mods.fml.relauncher.FMLRelaunchLog; - -public class ClassTransformer_TC_ItemWispEssence { - - private final boolean isValid; - private final ClassReader reader; - private final ClassWriter writer; - - public ClassTransformer_TC_ItemWispEssence(byte[] basicClass, boolean obfuscated2) { - ClassReader aTempReader = null; - ClassWriter aTempWriter = null; - FMLRelaunchLog.log( - "[GT++ ASM] Thaumcraft WispEssence_Patch", - Level.INFO, - "Are we patching obfuscated methods? " + obfuscated2); - String aGetColour = obfuscated2 ? "func_82790_a" : "getColorFromItemStack"; - aTempReader = new ClassReader(basicClass); - aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES); - aTempReader.accept(new AddAdapter(aTempWriter, new String[] { "getAspects", aGetColour }), 0); - injectMethod("getAspects", aTempWriter, obfuscated2); - injectMethod(aGetColour, aTempWriter, obfuscated2); - if (aTempReader != null && aTempWriter != null) { - isValid = true; - } else { - isValid = false; - } - FMLRelaunchLog.log("[GT++ ASM] Thaumcraft WispEssence_Patch", Level.INFO, "Valid? " + isValid + "."); - reader = aTempReader; - writer = aTempWriter; - } - - public boolean isValidTransformer() { - return isValid; - } - - public ClassReader getReader() { - return reader; - } - - public ClassWriter getWriter() { - return writer; - } - - public boolean injectMethod(String aMethodName, ClassWriter cw, boolean obfuscated) { - MethodVisitor mv; - boolean didInject = false; - FMLRelaunchLog.log("[GT++ ASM] Thaumcraft WispEssence_Patch", Level.INFO, "Injecting " + aMethodName + "."); - - String aGetColour = obfuscated ? "func_82790_a" : "getColorFromItemStack"; - String aHasTagCompound = obfuscated ? "func_77942_o" : "hasTagCompound"; - String aGetTagCompound = obfuscated ? "func_77978_p" : "getTagCompound"; - - if (aMethodName.equals("getAspects")) { - mv = cw.visitMethod( - ACC_PUBLIC, - "getAspects", - "(Lnet/minecraft/item/ItemStack;)Lthaumcraft/api/aspects/AspectList;", - null, - null); - mv.visitCode(); - Label l0 = new Label(); - mv.visitLabel(l0); - mv.visitLineNumber(141, l0); - mv.visitVarInsn(ALOAD, 1); - Label l1 = new Label(); - mv.visitJumpInsn(IFNONNULL, l1); - Label l2 = new Label(); - mv.visitLabel(l2); - mv.visitLineNumber(142, l2); - mv.visitInsn(ACONST_NULL); - mv.visitInsn(ARETURN); - mv.visitLabel(l1); - mv.visitLineNumber(144, l1); - mv.visitFrame(F_SAME, 0, null, 0, null); - mv.visitVarInsn(ALOAD, 1); - mv.visitMethodInsn(INVOKEVIRTUAL, "net/minecraft/item/ItemStack", aHasTagCompound, "()Z", false); - Label l3 = new Label(); - mv.visitJumpInsn(IFEQ, l3); - Label l4 = new Label(); - mv.visitLabel(l4); - mv.visitLineNumber(145, l4); - mv.visitTypeInsn(NEW, "thaumcraft/api/aspects/AspectList"); - mv.visitInsn(DUP); - mv.visitMethodInsn(INVOKESPECIAL, "thaumcraft/api/aspects/AspectList", "", "()V", false); - mv.visitVarInsn(ASTORE, 2); - Label l5 = new Label(); - mv.visitLabel(l5); - mv.visitLineNumber(146, l5); - mv.visitVarInsn(ALOAD, 2); - mv.visitVarInsn(ALOAD, 1); - mv.visitMethodInsn( - INVOKEVIRTUAL, - "net/minecraft/item/ItemStack", - aGetTagCompound, - "()Lnet/minecraft/nbt/NBTTagCompound;", - false); - mv.visitMethodInsn( - INVOKEVIRTUAL, - "thaumcraft/api/aspects/AspectList", - "readFromNBT", - "(Lnet/minecraft/nbt/NBTTagCompound;)V", - false); - Label l6 = new Label(); - mv.visitLabel(l6); - mv.visitLineNumber(147, l6); - mv.visitVarInsn(ALOAD, 2); - mv.visitMethodInsn(INVOKEVIRTUAL, "thaumcraft/api/aspects/AspectList", "size", "()I", false); - Label l7 = new Label(); - mv.visitJumpInsn(IFLE, l7); - mv.visitVarInsn(ALOAD, 2); - Label l8 = new Label(); - mv.visitJumpInsn(GOTO, l8); - mv.visitLabel(l7); - mv.visitFrame(F_APPEND, 1, new Object[] { "thaumcraft/api/aspects/AspectList" }, 0, null); - mv.visitInsn(ACONST_NULL); - mv.visitLabel(l8); - mv.visitFrame(F_SAME1, 0, null, 1, new Object[] { "thaumcraft/api/aspects/AspectList" }); - mv.visitInsn(ARETURN); - mv.visitLabel(l3); - mv.visitLineNumber(149, l3); - mv.visitFrame(F_CHOP, 1, null, 0, null); - mv.visitInsn(ACONST_NULL); - mv.visitInsn(ARETURN); - Label l9 = new Label(); - mv.visitLabel(l9); - mv.visitLocalVariable( - "this", - "LgtPlusPlus/preloader/asm/transformers/ClassTransformer_TC_ItemWispEssence;", - null, - l0, - l9, - 0); - mv.visitLocalVariable("itemstack", "Lnet/minecraft/item/ItemStack;", null, l0, l9, 1); - mv.visitLocalVariable("aspects", "Lthaumcraft/api/aspects/AspectList;", null, l5, l3, 2); - mv.visitMaxs(2, 3); - mv.visitEnd(); - didInject = true; - } else if (aMethodName.equals(aGetColour)) { - - // thaumcraft/common/items/ItemWispEssence - mv = cw.visitMethod(ACC_PUBLIC, aGetColour, "(Lnet/minecraft/item/ItemStack;I)I", null, null); - AnnotationVisitor av0; - { - av0 = mv.visitAnnotation("Lcpw/mods/fml/relauncher/SideOnly;", true); - av0.visitEnum("value", "Lcpw/mods/fml/relauncher/Side;", "CLIENT"); - av0.visitEnd(); - } - mv.visitCode(); - Label l0 = new Label(); - mv.visitLabel(l0); - mv.visitLineNumber(197, l0); - mv.visitVarInsn(ALOAD, 1); - Label l1 = new Label(); - mv.visitJumpInsn(IFNONNULL, l1); - Label l2 = new Label(); - mv.visitLabel(l2); - mv.visitLineNumber(198, l2); - mv.visitInsn(ICONST_0); - mv.visitInsn(IRETURN); - mv.visitLabel(l1); - mv.visitLineNumber(200, l1); - mv.visitFrame(F_SAME, 0, null, 0, null); - mv.visitVarInsn(ALOAD, 0); - mv.visitVarInsn(ALOAD, 1); - mv.visitMethodInsn( - INVOKEVIRTUAL, - "thaumcraft/common/items/ItemWispEssence", - "getAspects", - "(Lnet/minecraft/item/ItemStack;)Lthaumcraft/api/aspects/AspectList;", - false); - Label l3 = new Label(); - mv.visitJumpInsn(IFNULL, l3); - Label l4 = new Label(); - mv.visitLabel(l4); - mv.visitLineNumber(201, l4); - mv.visitVarInsn(ALOAD, 0); - mv.visitVarInsn(ALOAD, 1); - mv.visitMethodInsn( - INVOKEVIRTUAL, - "thaumcraft/common/items/ItemWispEssence", - "getAspects", - "(Lnet/minecraft/item/ItemStack;)Lthaumcraft/api/aspects/AspectList;", - false); - mv.visitMethodInsn( - INVOKEVIRTUAL, - "thaumcraft/api/aspects/AspectList", - "getAspects", - "()[Lthaumcraft/api/aspects/Aspect;", - false); - mv.visitInsn(ICONST_0); - mv.visitInsn(AALOAD); - mv.visitMethodInsn(INVOKEVIRTUAL, "thaumcraft/api/aspects/Aspect", "getColor", "()I", false); - mv.visitInsn(IRETURN); - mv.visitLabel(l3); - mv.visitLineNumber(203, l3); - mv.visitFrame(F_SAME, 0, null, 0, null); - mv.visitMethodInsn(INVOKESTATIC, "java/lang/System", "currentTimeMillis", "()J", false); - mv.visitLdcInsn(new Long(500L)); - mv.visitInsn(LDIV); - mv.visitFieldInsn( - GETSTATIC, - "thaumcraft/common/items/ItemWispEssence", - "displayAspects", - "[Lthaumcraft/api/aspects/Aspect;"); - mv.visitInsn(ARRAYLENGTH); - mv.visitInsn(I2L); - mv.visitInsn(LREM); - mv.visitInsn(L2I); - mv.visitVarInsn(ISTORE, 3); - Label l5 = new Label(); - mv.visitLabel(l5); - mv.visitLineNumber(204, l5); - mv.visitFieldInsn( - GETSTATIC, - "thaumcraft/common/items/ItemWispEssence", - "displayAspects", - "[Lthaumcraft/api/aspects/Aspect;"); - mv.visitVarInsn(ILOAD, 3); - mv.visitInsn(AALOAD); - mv.visitMethodInsn(INVOKEVIRTUAL, "thaumcraft/api/aspects/Aspect", "getColor", "()I", false); - mv.visitInsn(IRETURN); - Label l6 = new Label(); - mv.visitLabel(l6); - mv.visitLocalVariable("this", "Lthaumcraft/common/items/ItemWispEssence;", null, l0, l6, 0); - mv.visitLocalVariable("stack", "Lnet/minecraft/item/ItemStack;", null, l0, l6, 1); - mv.visitLocalVariable("par2", "I", null, l0, l6, 2); - mv.visitLocalVariable("idx", "I", null, l5, l6, 3); - mv.visitMaxs(4, 4); - mv.visitEnd(); - didInject = true; - } - - FMLRelaunchLog.log( - "[GT++ ASM] Thaumcraft WispEssence_Patch", - Level.INFO, - "Method injection complete. " + (obfuscated ? "Obfuscated" : "Non-Obfuscated")); - return didInject; - } - - public class AddAdapter extends ClassVisitor { - - public AddAdapter(ClassVisitor cv, String[] aMethods) { - super(ASM5, cv); - this.cv = cv; - this.aMethodsToStrip = aMethods; - } - - private final String[] aMethodsToStrip; - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - - MethodVisitor methodVisitor; - boolean found = false; - - for (String s : aMethodsToStrip) { - if (name.equals(s)) { - found = true; - break; - } - } - if (!found) { - methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); - } else { - methodVisitor = null; - } - - if (found) { - FMLRelaunchLog - .log("[GT++ ASM] Thaumcraft WispEssence_Patch", Level.INFO, "Found method " + name + ", removing."); - } - return methodVisitor; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java b/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java deleted file mode 100644 index 82526b1290..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java +++ /dev/null @@ -1,79 +0,0 @@ -package gtPlusPlus.preloader.asm.transformers; - -import static org.objectweb.asm.Opcodes.ALOAD; -import static org.objectweb.asm.Opcodes.ASM5; -import static org.objectweb.asm.Opcodes.IFEQ; -import static org.objectweb.asm.Opcodes.INVOKESTATIC; -import static org.objectweb.asm.Opcodes.RETURN; - -import org.apache.logging.log4j.Level; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; - -import cpw.mods.fml.relauncher.FMLRelaunchLog; - -public class Preloader_ClassTransformer { - - public static final class OreDictionaryVisitor extends ClassVisitor { - - public OreDictionaryVisitor(ClassVisitor cv) { - super(ASM5, cv); - } - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - MethodVisitor methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); - if (name.equals("registerOreImpl") && desc.equals("(Ljava/lang/String;Lnet/minecraft/item/ItemStack;)V")) { - FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Found target method. [Unobfuscated]"); - return new RegisterOreImplVisitor(methodVisitor, false); - } else if (name.equals("registerOreImpl") && desc.equals("(Ljava/lang/String;Ladd;)V")) { - FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Found target method. [Obfuscated]"); - return new RegisterOreImplVisitor(methodVisitor, true); - } - return methodVisitor; - } - } - - private static final class RegisterOreImplVisitor extends MethodVisitor { - - private final boolean mObfuscated; - - public RegisterOreImplVisitor(MethodVisitor mv, boolean obfuscated) { - super(ASM5, mv); - this.mObfuscated = obfuscated; - } - - @Override - public void visitCode() { - FMLRelaunchLog - .log("[GT++ ASM] OreDictTransformer", Level.INFO, "Fixing Forge's poor attempt at an oreDictionary."); - super.visitCode(); - super.visitVarInsn(ALOAD, 0); - super.visitVarInsn(ALOAD, 1); - if (!mObfuscated) { - FMLRelaunchLog - .log("[GT++ ASM] OreDictTransformer", Level.INFO, "Injecting target method. [Unobfuscated]"); - super.visitMethodInsn( - INVOKESTATIC, - "gtPlusPlus/preloader/Preloader_GT_OreDict", - "shouldPreventRegistration", - "(Ljava/lang/String;Lnet/minecraft/item/ItemStack;)Z", - false); - } else { - FMLRelaunchLog - .log("[GT++ ASM] OreDictTransformer", Level.INFO, "Injecting target method. [Obfuscated]"); - super.visitMethodInsn( - INVOKESTATIC, - "gtPlusPlus/preloader/Preloader_GT_OreDict", - "shouldPreventRegistration", - "(Ljava/lang/String;Ladd;)Z", - false); - } - Label endLabel = new Label(); - super.visitJumpInsn(IFEQ, endLabel); - super.visitInsn(RETURN); - super.visitLabel(endLabel); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java b/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java deleted file mode 100644 index 922ce88e27..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java +++ /dev/null @@ -1,92 +0,0 @@ -package gtPlusPlus.preloader.asm.transformers; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.launchwrapper.IClassTransformer; - -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassWriter; - -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; -import gtPlusPlus.preloader.Preloader_Logger; -import gtPlusPlus.preloader.asm.AsmConfig; -import gtPlusPlus.preloader.asm.transformers.Preloader_ClassTransformer.OreDictionaryVisitor; - -public class Preloader_Transformer_Handler implements IClassTransformer { - - private static final Set IC2_WRENCH_PATCH_CLASS_NAMES = new HashSet<>(); - private static final String LWJGL_KEYBOARD = "org.lwjgl.input.Keyboard"; - private static final String MINECRAFT_GAMESETTINGS = "net.minecraft.client.settings.GameSettings"; - private static final String FORGE_CHUNK_MANAGER = "net.minecraftforge.common.ForgeChunkManager"; - private static final String FORGE_ORE_DICTIONARY = "net.minecraftforge.oredict.OreDictionary"; - private static final String COFH_ORE_DICTIONARY_ARBITER = "cofh.core.util.oredict.OreDictionaryArbiter"; - private static final String THAUMCRAFT_ITEM_WISP_ESSENCE = "thaumcraft.common.items.ItemWispEssence"; - - static { - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.BlockTileEntity"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.machine.BlockMachine"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.machine.BlockMachine2"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.machine.BlockMachine3"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.kineticgenerator.block.BlockKineticGenerator"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.heatgenerator.block.BlockHeatGenerator"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.generator.block.BlockGenerator"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.reactor.block.BlockReactorAccessHatch"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.reactor.block.BlockReactorChamber"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.reactor.block.BlockReactorFluidPort"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.reactor.block.BlockReactorRedstonePort"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.reactor.block.BlockReactorVessel"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.personal.BlockPersonal.class"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.wiring.BlockChargepad.class"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.wiring.BlockElectric.class"); - IC2_WRENCH_PATCH_CLASS_NAMES.add("ic2.core.block.wiring.BlockLuminator.class"); - } - - @Override - public byte[] transform(String name, String transformedName, byte[] basicClass) { - // Fix LWJGL index array out of bounds on keybinding IDs - if ((transformedName.equals(LWJGL_KEYBOARD) || transformedName.equals(MINECRAFT_GAMESETTINGS)) - && AsmConfig.enabledLwjglKeybindingFix - // Do not transform if using lwjgl3 - && !ReflectionUtils.doesClassExist("org.lwjgl.system.Platform")) { - boolean isClientSettingsClass = !transformedName.equals("org.lwjgl.input.Keyboard"); - Preloader_Logger.INFO("LWJGL Keybinding index out of bounds fix", "Transforming " + transformedName); - return new ClassTransformer_LWJGL_Keyboard(basicClass, isClientSettingsClass).getWriter() - .toByteArray(); - } - - // Fix the OreDictionary - Forge - if (transformedName.equals(FORGE_ORE_DICTIONARY) && AsmConfig.enableOreDictPatch) { - Preloader_Logger.INFO("OreDictTransformer", "Transforming " + transformedName); - ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_FRAMES); - new ClassReader(basicClass).accept(new OreDictionaryVisitor(classWriter), 0); - return classWriter.toByteArray(); - } - - // Fix the OreDictionary COFH - if (transformedName.equals(COFH_ORE_DICTIONARY_ARBITER) - && (AsmConfig.enableCofhPatch || CORE_Preloader.DEV_ENVIRONMENT)) { - Preloader_Logger.INFO("COFH", "Transforming " + transformedName); - return new ClassTransformer_COFH_OreDictionaryArbiter(basicClass).getWriter() - .toByteArray(); - } - - if (IC2_WRENCH_PATCH_CLASS_NAMES.contains(transformedName)) { - Preloader_Logger.INFO("IC2 getHarvestTool Patch", "Transforming " + transformedName); - return new ClassTransformer_IC2_GetHarvestTool(basicClass, !CORE_Preloader.DEV_ENVIRONMENT, transformedName) - .getWriter() - .toByteArray(); - } - - // Fix Thaumcraft stuff - // Patching ItemWispEssence to allow invalid item handling - if (transformedName.equals(THAUMCRAFT_ITEM_WISP_ESSENCE) && AsmConfig.enableTcAspectSafety) { - Preloader_Logger.INFO("Thaumcraft WispEssence_Patch", "Transforming " + transformedName); - return new ClassTransformer_TC_ItemWispEssence(basicClass, !CORE_Preloader.DEV_ENVIRONMENT).getWriter() - .toByteArray(); - } - - return basicClass; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/preloader/keyboard/BetterKeyboard.java b/gtpp/src/main/java/gtPlusPlus/preloader/keyboard/BetterKeyboard.java deleted file mode 100644 index 510689911c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/preloader/keyboard/BetterKeyboard.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2002-2008 LWJGL Project All rights reserved. Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following conditions are met: * Redistributions of source code - * must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in - * binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. * Neither the name of 'LWJGL' nor the names of - * its contributors may be used to endorse or promote products derived from this software without specific prior written - * permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package gtPlusPlus.preloader.keyboard; - -import java.lang.reflect.Field; -import java.nio.ByteBuffer; -import java.util.HashMap; -import java.util.Map; - -import net.minecraft.client.resources.I18n; - -import org.apache.logging.log4j.Level; -import org.lwjgl.BufferUtils; -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.FMLRelaunchLog; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.asm.transformers.ClassTransformer_LWJGL_Keyboard; - -/** - *
- * A raw Keyboard interface. This can be used to poll the current state of the keys, or read all the keyboard presses / - * releases since the last read. - * - * DO NOT REMOVE. CALLED BY ASM CODE. - * - * @author cix_foo - * @author elias_naur - * @author Brian Matzon - * @version $Revision$ $Id$ - */ -@SuppressWarnings("unused") -public class BetterKeyboard { - - public static final int KEYBOARD_SIZE = Short.MAX_VALUE; - - private static boolean init = false; - - public static void init() { - if (!init) { - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Trying to patch out LWJGL internal arrays with larger ones."); - Field aKeyNameSize = ReflectionUtils.getField(Keyboard.class, "keyName"); - Field aKeyMapSize = ReflectionUtils.getField(Keyboard.class, "keyMap"); - Field aKeyDownBuffer = ReflectionUtils.getField(Keyboard.class, "keyDownBuffer"); - String[] aOldKeyNameArray = ReflectionUtils.getFieldValue(aKeyNameSize); - if (aOldKeyNameArray != null && aOldKeyNameArray.length < Short.MAX_VALUE) { - String[] aNewKeyNameArray = new String[Short.MAX_VALUE]; - for (int i = 0; i < aOldKeyNameArray.length; i++) { - aNewKeyNameArray[i] = aOldKeyNameArray[i]; - } - try { - ReflectionUtils.setFinalFieldValue(Keyboard.class, aKeyNameSize.getName(), aNewKeyNameArray); - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Patched Field: " + aKeyNameSize.getName()); - } catch (Throwable t) { - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Failed Patching Field: " + aKeyDownBuffer.getName()); - } - } - Map aOldKeyMapArray = ReflectionUtils.getFieldValue(aKeyMapSize); - if (aOldKeyNameArray != null && aOldKeyMapArray.size() < Short.MAX_VALUE) { - Map aNewKeyMapArray = new HashMap(Short.MAX_VALUE); - aNewKeyMapArray.putAll(aOldKeyMapArray); - try { - ReflectionUtils.setFinalFieldValue(Keyboard.class, aKeyMapSize.getName(), aNewKeyMapArray); - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Patched Field: " + aKeyMapSize.getName()); - } catch (Throwable t) { - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Failed Patching Field: " + aKeyDownBuffer.getName()); - } - } - ByteBuffer aOldByteBuffer = ReflectionUtils.getFieldValue(aKeyDownBuffer); - if (aOldByteBuffer != null && aOldByteBuffer.capacity() == Keyboard.KEYBOARD_SIZE) { - ByteBuffer aNewByteBuffer = BufferUtils.createByteBuffer(Short.MAX_VALUE); - try { - ReflectionUtils.setFinalFieldValue(Keyboard.class, aKeyDownBuffer.getName(), aNewByteBuffer); - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Patched Field: " + aKeyDownBuffer.getName()); - } catch (Throwable t) { - FMLRelaunchLog.log( - "[GT++ ASM] LWJGL Keybinding index out of bounds fix", - Level.INFO, - "Failed Patching Field: " + aKeyDownBuffer.getName()); - } - } - init = true; - } - } - - /** - * Gets a key's name - * - * @param key The key - * @return a String with the key's human readable name in it or null if the key is unnamed - */ - public static synchronized String getKeyName(int key) { - return ClassTransformer_LWJGL_Keyboard.getKeyName(key); - } - - /** - * Represents a key or mouse button as a string. Args: key - */ - public static String getKeyDisplayString(int aKeyValue) { - return aKeyValue < 0 ? I18n.format("key.mouseButton", new Object[] { Integer.valueOf(aKeyValue + 101) }) - : getKeyName(aKeyValue); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java b/gtpp/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java deleted file mode 100644 index 347010f71b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java +++ /dev/null @@ -1,73 +0,0 @@ -package gtPlusPlus.recipes; - -import java.util.ArrayList; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.AddGregtechRecipe; - -public class CokeAndPyrolyseOven { - - public static void onLoadComplete() { - convertPyroToCokeOven(); - } - - public static void postInit() { - Logger.INFO("Loading Recipes for Industrial Coking Oven."); - // Wood to Charcoal - // Try use all woods found - ArrayList aLogData = OreDictionary.getOres("logWood"); - for (ItemStack stack : aLogData) { - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - ItemUtils.getSimpleStack(stack, 20), - 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 convertPyroToCokeOven() { - int aCount = 0; - for (GT_Recipe g : RecipeMaps.pyrolyseRecipes.getAllRecipes()) { - if (AddGregtechRecipe.importPyroRecipe(g)) { - aCount++; - } - } - Logger.INFO("Converted " + aCount + " Pyrolyse recipes into Industrial Coke Oven recipes."); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java b/gtpp/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java deleted file mode 100644 index 4462f81fc7..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java +++ /dev/null @@ -1,107 +0,0 @@ -package gtPlusPlus.recipes; - -import static gtPlusPlus.core.util.minecraft.MaterialUtils.getMaterialName; - -import java.util.Collection; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import org.apache.commons.lang3.ArrayUtils; - -import advsolar.common.AdvancedSolarPanel; -import gregtech.api.enums.Materials; -import gregtech.api.enums.Mods; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Recipe; -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; - -public class RecipeRemovals { - - public static void postInit() { - if (Mods.AdvancedSolarPanel.isModLoaded()) { - RecipeUtils.removeRecipeByOutput(ItemUtils.getSimpleStack(AdvancedSolarPanel.blockMolecularTransformer)); - } - } - - public static void onLoadComplete() { - removeCrudeTurbineRotors(); - } - - // Doesn't actually remove recipes, just hide them - private static void removeCrudeTurbineRotors() { - int aRemoved = 0; - int CUT = CORE.turbineCutoffBase; - Item aU; - Collection aAssRecipes = RecipeMaps.assemblerRecipes.getAllRecipes(); - // 170, 172, 174, 176 - if (aAssRecipes.size() > 0) { - for (GT_Recipe aG : aAssRecipes) { - if (ArrayUtils.isNotEmpty(aG.mOutputs)) { - for (ItemStack aI : aG.mOutputs) { - if (aI == null) { - continue; - } - aU = aI.getItem(); - if (aU == null) { - continue; - } - if (aU instanceof GT_MetaGenerated_Tool_01) { - int aMeta = aI.getItemDamage(); - // Found a Turbine - if (aMeta >= 170 && aMeta <= 176) { - int aCutoff; - String aType; - switch (aMeta) { - case 170 -> { - aCutoff = CUT; - aType = "Small "; - } - case 172 -> { - aCutoff = 2 * CUT; - aType = ""; - } - case 174 -> { - aCutoff = 3 * CUT; - aType = "Large "; - } - default -> { // 176 - aCutoff = 4 * CUT; - aType = "Huge "; - } - } - Materials aMainMaterial = GT_MetaGenerated_Tool.getPrimaryMaterial(aI); - Materials aSecondaryMaterial = GT_MetaGenerated_Tool.getSecondaryMaterial(aI); - long rotorDurabilityMax = GT_MetaGenerated_Tool.getToolMaxDamage(aI); - if (rotorDurabilityMax < aCutoff) { - Logger.WARNING( - "[Turbine Cleanup] " + getMaterialName(aMainMaterial) - + " " - + aType - + "Turbines have " - + rotorDurabilityMax - + ", which is below the cutoff durability of " - + aCutoff - + ", disabling."); - aG.mEnabled = false; - aG.mHidden = true; - aG.mCanBeBuffered = false; - aRemoved++; - } else { - break; - } - } - } - } - } - } - } - - Logger.INFO("Removed " + aRemoved + " useless Turbines."); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/HANDLER_CropsPlusPlus.java b/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/HANDLER_CropsPlusPlus.java deleted file mode 100644 index 9ca5488280..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/HANDLER_CropsPlusPlus.java +++ /dev/null @@ -1,16 +0,0 @@ -package gtPlusPlus.xmod.bartcrops; - -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; - -public class HANDLER_CropsPlusPlus { - - public static void preInit(FMLPreInitializationEvent preinit) { - LoaderOfTheCrops.load(preinit); - } - - public static void postInit(FMLPostInitializationEvent postinit) { - LoaderOfTheCrops.register(); - LoaderOfTheCrops.registerBaseSeed(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/LoaderOfTheCrops.java b/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/LoaderOfTheCrops.java deleted file mode 100644 index c3c2f0b6cc..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/LoaderOfTheCrops.java +++ /dev/null @@ -1,109 +0,0 @@ -package gtPlusPlus.xmod.bartcrops; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.bartcrops.crops.Crop_Hemp; -import ic2.api.crops.CropCard; -import ic2.api.crops.Crops; - -/** - * Mostly borrowed from the Crops++ Crop Loader. - * - * @author Alkalus - */ -public class LoaderOfTheCrops { - - private static List mHasCropObj = new ArrayList<>(); - private CropCard mCropObj; - private ItemStack mBaseSeed; - private static List mCropList = cropLoader(); - - public LoaderOfTheCrops(CropCard cropObj) { - this.mCropObj = cropObj; - } - - public LoaderOfTheCrops(CropCard cropObj, ItemStack baseseed) { - this.mCropObj = cropObj; - this.mBaseSeed = baseseed; - } - - public static CropCard cropUnpackerCC(LoaderOfTheCrops inp) { - return inp.mCropObj; - } - - private static ItemStack cropUnpackerCG(LoaderOfTheCrops inp) { - return inp.mBaseSeed; - } - - private static LoaderOfTheCrops cropHelper(CropCard cropObj) { - return new LoaderOfTheCrops(cropObj, ItemUtils.getItemStackOfAmountFromOreDict("crop" + cropObj.name(), 0)); - } - - public static List cropLoader() { - List p = new ArrayList<>(); - - p.add(new LoaderOfTheCrops(new Crop_Hemp(), new ItemStack(Item.getItemById(111), 3))); - - return p; - } - - private static List cropObjs() { - List p = new ArrayList<>(); - - for (LoaderOfTheCrops loaderOfTheCrops : mCropList) { - p.add(cropUnpackerCC((LoaderOfTheCrops) loaderOfTheCrops)); - } - - return p; - } - - private static List setBaseSeed() { - List p = new ArrayList<>(); - - for (LoaderOfTheCrops loaderOfTheCrops : mCropList) { - p.add(cropUnpackerCG((LoaderOfTheCrops) loaderOfTheCrops)); - } - - return p; - } - - private static List setnames() { - List s = new ArrayList<>(); - - for (int i = 0; i < mCropList.size(); ++i) { - s.add(((CropCard) cropObjs().get(i)).name()); - } - - return s; - } - - public static void load(FMLPreInitializationEvent preinit) { - for (int i = 0; i < mCropList.size(); ++i) { - mHasCropObj.add(true); - } - } - - public static void register() { - for (int i = 0; i < mCropList.size(); ++i) { - if ((Boolean) mHasCropObj.get(i) && cropObjs().get(i) != null) { - Crops.instance.registerCrop((CropCard) cropObjs().get(i)); - } - } - } - - public static void registerBaseSeed() { - List baseseed = new ArrayList<>(setBaseSeed()); - - for (int i = 0; i < mCropList.size(); ++i) { - if (baseseed.get(i) != null && cropObjs().get(i) != null) { - Crops.instance.registerBaseSeed((ItemStack) baseseed.get(i), (CropCard) cropObjs().get(i), 1, 1, 1, 1); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseAestheticCrop.java b/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseAestheticCrop.java deleted file mode 100644 index c794c40878..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseAestheticCrop.java +++ /dev/null @@ -1,34 +0,0 @@ -package gtPlusPlus.xmod.bartcrops.abstracts; - -import gtPlusPlus.preloader.CORE_Preloader; -import ic2.api.crops.ICropTile; - -public abstract class BaseAestheticCrop extends BaseHarvestableCrop { - - @Override - public int tier() { - return 1; - } - - @Override - public int stat(int n) { - return switch (n) { - case 0 -> 0; - case 1 -> 0; - case 2 -> 0; - case 3 -> 4; - case 4 -> 0; - default -> 0; - }; - } - - @Override - public int growthDuration(ICropTile crop) { - return CORE_Preloader.DEBUG_MODE ? 1 : 225; - } - - @Override - public byte getSizeAfterHarvest(ICropTile crop) { - return 1; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseCrop.java b/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseCrop.java deleted file mode 100644 index 405c1ef1e1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseCrop.java +++ /dev/null @@ -1,67 +0,0 @@ -package gtPlusPlus.xmod.bartcrops.abstracts; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import ic2.api.crops.CropCard; -import ic2.api.crops.ICropTile; -import speiger.src.crops.api.ICropCardInfo; - -public abstract class BaseCrop extends CropCard implements ICropCardInfo { - - @Override - @SideOnly(Side.CLIENT) - public void registerSprites(IIconRegister iconRegister) { - this.textures = new IIcon[this.maxSize()]; - for (int i = 1; i <= this.textures.length; ++i) { - this.textures[i - 1] = iconRegister - .registerIcon(GTPlusPlus.ID + ":crop/blockCrop." + this.name() + "." + i); - } - } - - @Override - public float dropGainChance() { - return (float) (Math.pow(0.95D, (double) ((float) this.tier())) * (double) 1f); - } - - @Override - public boolean canCross(ICropTile crop) { - return crop.getSize() == this.maxSize(); - } - - @Override - public int getrootslength(ICropTile crop) { - return 3; - } - - @Override - public String discoveredBy() { - return "Alkalus"; - } - - @Override - public String owner() { - return "Gtplusplus"; - } - - @Override - public List getCropInformation() { - List ret = new ArrayList<>(); - ret.add(Arrays.toString(this.attributes())); - return ret; - } - - public ItemStack getDisplayItem(CropCard card) { - return ItemUtils.getItemStackOfAmountFromOreDict("crop" + this.name(), 0); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseHarvestableCrop.java b/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseHarvestableCrop.java deleted file mode 100644 index 80325edff0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/abstracts/BaseHarvestableCrop.java +++ /dev/null @@ -1,73 +0,0 @@ -package gtPlusPlus.xmod.bartcrops.abstracts; - -import gtPlusPlus.preloader.CORE_Preloader; -import ic2.api.crops.ICropTile; - -public abstract class BaseHarvestableCrop extends BaseCrop { - - @Override - public int tier() { - return 2; - } - - @Override - public int stat(int n) { - return switch (n) { - case 0 -> 0; - case 1 -> 4; - case 2 -> 0; - case 3 -> 4; - case 4 -> 0; - default -> 0; - }; - } - - @Override - public boolean canGrow(ICropTile crop) { - return crop.getSize() < 3; - } - - @Override - public int getOptimalHavestSize(ICropTile crop) { - return 3; - } - - @Override - public boolean canBeHarvested(ICropTile crop) { - return crop.getSize() == 3; - } - - @Override - public int weightInfluences(ICropTile crop, float humidity, float nutrients, float air) { - return (int) ((double) humidity * 1.2D + (double) nutrients * 0.9D + (double) air * 0.9D); - } - - @Override - public int growthDuration(ICropTile crop) { - short r; - if (CORE_Preloader.DEBUG_MODE) { - r = 1; - } else if (crop.getSize() == 2) { - r = 200; - } else { - r = 700; - } - - return r; - } - - @Override - public byte getSizeAfterHarvest(ICropTile crop) { - return 2; - } - - @Override - public int maxSize() { - return 3; - } - - @Override - public String discoveredBy() { - return "Alkalus"; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/crops/Crop_Hemp.java b/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/crops/Crop_Hemp.java deleted file mode 100644 index f5bf252edb..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bartcrops/crops/Crop_Hemp.java +++ /dev/null @@ -1,41 +0,0 @@ -package gtPlusPlus.xmod.bartcrops.crops; - -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.xmod.bartcrops.abstracts.BaseAestheticCrop; -import ic2.api.crops.ICropTile; - -public class Crop_Hemp extends BaseAestheticCrop { - - @Override - public int tier() { - return 2; - } - - @Override - public String name() { - return "Hemp"; - } - - @Override - public int growthDuration(ICropTile crop) { - return 550; - } - - @Override - public String[] attributes() { - return new String[] { "Green", "Soil", "Orange" }; - } - - @Override - public ItemStack getGain(ICropTile crop) { - return new ItemStack(Items.string, MathUtils.randInt(1, 3), 0); - } - - @Override - public ItemStack getDisplayItem() { - return new ItemStack(Items.string, 1, 0); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bartworks/BW_Utils.java b/gtpp/src/main/java/gtPlusPlus/xmod/bartworks/BW_Utils.java deleted file mode 100644 index e3fdc9ae0a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bartworks/BW_Utils.java +++ /dev/null @@ -1,17 +0,0 @@ -package gtPlusPlus.xmod.bartworks; - -import net.minecraft.item.ItemStack; - -import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; -import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; - -import gregtech.api.enums.OrePrefixes; - -public class BW_Utils { - - public static ItemStack getCorrespondingItemStack(OrePrefixes orePrefixes, short werkstoffID, int amount) { - Werkstoff werkstoff = Werkstoff.werkstoffHashMap.get(werkstoffID); - if (werkstoff == null) return null; - return WerkstoffLoader.getCorrespondingItemStackUnsafe(orePrefixes, werkstoff, amount); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java deleted file mode 100644 index 7727eaef38..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/HANDLER_BiomesOPlenty.java +++ /dev/null @@ -1,178 +0,0 @@ -package gtPlusPlus.xmod.bop; - -import static gregtech.api.enums.Mods.BiomesOPlenty; - -import java.lang.reflect.Field; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator; - -public class HANDLER_BiomesOPlenty { - - public static Item mPineCone; - - public static Block logs1; - public static Block logs2; - public static Block logs3; - public static Block logs4; - - public static Block leaves1; - public static Block leaves2; - public static Block leaves3; - public static Block leaves4; - - public static Block colorizedLeaves1; - public static Block colorizedLeaves2; - - public static Block saplings; - public static Block colorizedSaplings; - - public static void preInit() { - BOP_Block_Registrator.run(); - if (BiomesOPlenty.isModLoaded()) { - setFields(); - registerPineconeToOreDict(); - } - } - - public static void postInit() { - BOP_Block_Registrator.recipes(); - } - - private static void registerPineconeToOreDict() { - if (mPineCone != null) { - ItemStack aPinecone = ItemUtils.simpleMetaStack(mPineCone, 13, 1); - if (aPinecone != null) { - ItemUtils.addItemToOreDictionary(aPinecone, "pinecone"); - } - } - } - - public static ItemStack getStack(Block aBlock, int aMeta, int aSize) { - return ItemUtils.simpleMetaStack(aBlock, aMeta, aSize); - } - - // BOPCBlocks.logs4 - 0 - // BOPCBlocks.colorizedLeaves2 - 1 - - private static void setFields() { - Field aBopMiscItem = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCItems"), "misc"); - - Field aBopBlock1 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "logs1"); - Field aBopBlock2 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "logs2"); - Field aBopBlock3 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "logs3"); - Field aBopBlock4 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "logs4"); - - Field aBopLeaves1 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "leaves1"); - Field aBopLeaves2 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "leaves2"); - Field aBopLeaves3 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "leaves3"); - Field aBopLeaves4 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "leaves4"); - - Field aBopColouredLeaves1 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "colorizedLeaves1"); - Field aBopColouredLeaves2 = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "colorizedLeaves2"); - - Field aBopSapling = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "saplings"); - Field aBopColouredSapling = ReflectionUtils - .getField(ReflectionUtils.getClass("biomesoplenty.api.content.BOPCBlocks"), "colorizedSaplings"); - - if (aBopMiscItem != null) { - Item aMiscItem = ReflectionUtils.getFieldValue(aBopMiscItem); - if (aMiscItem != null) { - mPineCone = aMiscItem; - } - } - - if (aBopBlock1 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopBlock1); - if (aBlock != null) { - logs1 = aBlock; - } - } - if (aBopBlock2 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopBlock2); - if (aBlock != null) { - logs2 = aBlock; - } - } - if (aBopBlock3 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopBlock3); - if (aBlock != null) { - logs3 = aBlock; - } - } - if (aBopBlock4 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopBlock4); - if (aBlock != null) { - logs4 = aBlock; - } - } - - if (aBopLeaves1 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopLeaves1); - if (aBlock != null) { - leaves1 = aBlock; - } - } - if (aBopLeaves2 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopLeaves2); - if (aBlock != null) { - leaves2 = aBlock; - } - } - if (aBopLeaves3 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopLeaves3); - if (aBlock != null) { - leaves3 = aBlock; - } - } - if (aBopLeaves4 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopLeaves4); - if (aBlock != null) { - leaves4 = aBlock; - } - } - - if (aBopColouredLeaves1 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopColouredLeaves1); - if (aBlock != null) { - colorizedLeaves1 = aBlock; - } - } - if (aBopColouredLeaves2 != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopColouredLeaves2); - if (aBlock != null) { - colorizedLeaves2 = aBlock; - } - } - - if (aBopSapling != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopSapling); - if (aBlock != null) { - saplings = aBlock; - } - } - if (aBopColouredSapling != null) { - Block aBlock = ReflectionUtils.getFieldValue(aBopColouredSapling); - if (aBlock != null) { - colorizedSaplings = aBlock; - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java deleted file mode 100644 index 4a3c91e9cb..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java +++ /dev/null @@ -1,173 +0,0 @@ -package gtPlusPlus.xmod.bop.blocks; - -import static gregtech.api.recipe.RecipeMaps.cutterRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.loaders.oreprocessing.ProcessingLog.addPyrolyeOvenRecipes; - -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 gregtech.GT_Mod; -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 gregtech.api.util.GT_Utility; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import gtPlusPlus.xmod.bop.blocks.pine.LeavesPineTree; -import gtPlusPlus.xmod.bop.blocks.pine.LogPineTree; -import gtPlusPlus.xmod.bop.blocks.pine.SaplingPineTree; -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; - public static Block leaves_Rainforest; - public static Block sapling_Rainforest; - public static Block log_Pine; - public static Block leaves_Pine; - public static Block sapling_Pine; - - // Runs Each tree Type separately - public static void run() { - registerTree_Rainforest(); - registerTree_Pine(); - } - - private static void registerTree_Rainforest() { - log_Rainforest = new LogRainforestTree(); - leaves_Rainforest = new LeavesRainforestTree(); - sapling_Rainforest = new SaplingRainforestTree(); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(log_Rainforest), "logWood", true); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(leaves_Rainforest), "treeLeaves", true); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(sapling_Rainforest), "treeSapling", true); - } - - private static void registerTree_Pine() { - log_Pine = new LogPineTree(); - leaves_Pine = new LeavesPineTree(); - sapling_Pine = new SaplingPineTree(); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(log_Pine), "logWood", true); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(leaves_Pine), "treeLeaves", true); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(sapling_Pine), "treeSapling", true); - } - - public static void recipes() { - // Rainforest Oak - addLogRecipes(ItemUtils.getSimpleStack(log_Rainforest)); - // Pine - addLogRecipes(ItemUtils.getSimpleStack(log_Pine)); - } - - public static void addLogRecipes(final ItemStack aStack) { - RecipeUtils.addShapelessGregtechRecipe( - new ItemStack[] { aStack }, - ItemUtils - .getSimpleStack(Item.getItemFromBlock(Blocks.planks), GT_Mod.gregtechproxy.mNerfedWoodPlank ? 2 : 4)); - RecipeUtils.recipeBuilder( - CI.craftingToolSaw, - null, - null, - aStack, - null, - null, - null, - null, - null, - ItemUtils.getSimpleStack(Item.getItemFromBlock(Blocks.planks), 4)); - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Wood, 2L), - GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "sLf", 'L', GT_Utility.copyAmount(1L, aStack) }); - - final short aMeta = (short) aStack.getItemDamage(); - if (GT_Utility.areStacksEqual( - GT_ModHandler.getSmeltingOutput(GT_Utility.copyAmount(1L, aStack), false, null), - new ItemStack(Items.coal, 1, 1))) { - addPyrolyeOvenRecipes(aStack); - GT_ModHandler.removeFurnaceSmelting(GT_Utility.copyAmount(1L, aStack)); - } - if (aMeta == 32767) { - for (int i = 0; i < 32767; ++i) { - if (GT_Utility.areStacksEqual( - GT_ModHandler.getSmeltingOutput(new ItemStack(aStack.getItem(), 1, i), false, null), - new ItemStack(Items.coal, 1, 1))) { - addPyrolyeOvenRecipes(aStack); - GT_ModHandler.removeFurnaceSmelting(new ItemStack(aStack.getItem(), 1, i)); - } - final ItemStack tStack = GT_ModHandler.getRecipeOutput(new ItemStack(aStack.getItem(), 1, i)); - if (tStack == null) { - if (i >= 16) { - break; - } - } else { - final ItemStack tPlanks = GT_Utility.copy(tStack); - tPlanks.stackSize = tPlanks.stackSize * 3 / 2; - GT_Values.RA.stdBuilder() - .itemInputs(new ItemStack(aStack.getItem(), 1, i)) - .itemOutputs( - GT_Utility.copyAmount( - GT_Mod.gregtechproxy.mNerfedWoodPlank ? ((long) tStack.stackSize) - : (((long) tStack.stackSize) * 5L / 4), - tStack), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L)) - .duration(10 * SECONDS) - .eut(8) - .addTo(cutterRecipes); - GT_ModHandler.removeRecipe(new ItemStack(aStack.getItem(), 1, i)); - GT_ModHandler.addCraftingRecipe( - GT_Utility.copyAmount( - GT_Mod.gregtechproxy.mNerfedWoodPlank ? ((long) tStack.stackSize) - : (((long) tStack.stackSize) * 5L / 4), - tStack), - new Object[] { "s", "L", 'L', new ItemStack(aStack.getItem(), 1, i) }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility - .copyAmount(tStack.stackSize / (GT_Mod.gregtechproxy.mNerfedWoodPlank ? 2 : 1), tStack), - new Object[] { new ItemStack(aStack.getItem(), 1, i) }); - } - } - } else { - final ItemStack tStack2 = GT_ModHandler.getRecipeOutput(GT_Utility.copyAmount(1L, aStack)); - if (tStack2 != null) { - final ItemStack tPlanks2 = GT_Utility.copy(tStack2); - tPlanks2.stackSize = tPlanks2.stackSize * 3 / 2; - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.copyAmount(1L, aStack)) - .itemOutputs( - GT_Utility.copyAmount( - GT_Mod.gregtechproxy.mNerfedWoodPlank ? ((long) tStack2.stackSize) - : (((long) tStack2.stackSize) * 5L / 4), - tStack2), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L)) - .duration(10 * SECONDS) - .eut(8) - .addTo(cutterRecipes); - GT_ModHandler.removeRecipe(GT_Utility.copyAmount(1L, aStack)); - GT_ModHandler.addCraftingRecipe( - GT_Utility.copyAmount( - GT_Mod.gregtechproxy.mNerfedWoodPlank ? ((long) tStack2.stackSize) - : (((long) tStack2.stackSize) * 5L / 4), - tStack2), - new Object[] { "s", "L", 'L', GT_Utility.copyAmount(1L, aStack) }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility.copyAmount(tStack2.stackSize / (GT_Mod.gregtechproxy.mNerfedWoodPlank ? 2 : 1), tStack2), - new Object[] { GT_Utility.copyAmount(1L, aStack) }); - } - } - if (GT_Utility.areStacksEqual( - GT_ModHandler.getSmeltingOutput(GT_Utility.copyAmount(1L, aStack), false, null), - new ItemStack(Items.coal, 1, 1))) { - addPyrolyeOvenRecipes(aStack); - GT_ModHandler.removeFurnaceSmelting(GT_Utility.copyAmount(1L, aStack)); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java deleted file mode 100644 index 171bb9a58c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/LeavesBase.java +++ /dev/null @@ -1,106 +0,0 @@ -package gtPlusPlus.xmod.bop.blocks.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; -import java.util.Random; - -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.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -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.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class LeavesBase extends BlockLeaves { - - protected IIcon[][] leafTextures = new IIcon[2][]; - protected String[][] leafType = new String[][] { {}, {} }; - protected String[] treeType = new String[] {}; - protected ItemStack[] bonusDrops; - - public LeavesBase(String blockNameLocalized, String blockNameUnlocalized, ItemStack[] bonusDrops) { - this.bonusDrops = bonusDrops; - String blockName = "block" + Utils.sanitizeString(blockNameLocalized) + "Leaves"; - GameRegistry.registerBlock(this, ItemBlock.class, blockName); - this.setBlockName(blockName); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), "treeLeaves", true); - this.setCreativeTab(AddToCreativeTab.tabBOP); - Blocks.fire.setFireInfo(this, 80, 150); - } - - private void setVanillaVariable(Object toSet, Object value) { - toSet = value; - } - - @Override - public int quantityDropped(Random p_149745_1_) { - return p_149745_1_.nextInt(20) == 0 ? 1 : 0; - } - - @Override // Drops when Leaf is broken - protected void func_150124_c(World world, int x, int y, int z, int meta, int randomChance) { - Logger.INFO("Dropping Bonus Drops"); - for (ItemStack bonusDrop : this.bonusDrops) { - if (bonusDrop != null && world.rand.nextInt(randomChance) == 0) { - this.dropBlockAsItem(world, x, y, z, ItemUtils.getSimpleStack(bonusDrop, 1)); - } - } - } - - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - @SuppressWarnings("unchecked") - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item item, CreativeTabs tab, @SuppressWarnings("rawtypes") List metaList) { - for (int i = 0; i < this.treeType.length; ++i) { - metaList.add(new ItemStack(item, 1, i)); - } - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int ordinalSide, int metaID) { - return (metaID & 3) == 1 ? this.leafTextures[this.field_150127_b][1] - : this.leafTextures[this.field_150127_b][0]; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iIcon) { - for (int i = 0; i < leafType.length; ++i) { - this.leafTextures[i] = new IIcon[leafType[i].length]; - for (int j = 0; j < leafType[i].length; ++j) { - this.leafTextures[i][j] = iIcon - .registerIcon(GTPlusPlus.ID + ":" + "trees/" + "leaves/" + "leaves_" + leafType[i][j]); - } - } - setVanillaVariable(this.field_150129_M, this.leafTextures); - } - - @Override - public String[] func_150125_e() { - return treeType; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java deleted file mode 100644 index 2cf8ba1fbc..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/LogBase.java +++ /dev/null @@ -1,85 +0,0 @@ -package gtPlusPlus.xmod.bop.blocks.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -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.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -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.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public abstract class LogBase extends BlockLog { - - public String[] treeType = new String[] {}; - protected IIcon[] textureSide; - protected IIcon[] textureTop; - - public LogBase(String blockNameLocalized, String blockNameUnlocalized, String[] treeTypes) { - this.treeType = treeTypes; - String blockName = "block" + Utils.sanitizeString(blockNameLocalized) + "Log"; - GameRegistry.registerBlock(this, ItemBlock.class, blockName); - this.setBlockName(blockName); - ItemUtils.addItemToOreDictionary( - ItemUtils.getSimpleStack(this), - "log" + Utils.sanitizeString(blockNameLocalized), - true); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), "logWood", true); - this.setCreativeTab(AddToCreativeTab.tabBOP); - Blocks.fire.setFireInfo(this, 20, 100); - } - - private void setVanillaVariable(Object toSet, Object value) { - toSet = value; - } - - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item item, CreativeTabs tab, List metaList) { - for (int i = 0; i < this.textureSide.length; ++i) { - metaList.add(new ItemStack(item, 1, i)); - } - } - - @Override - @SideOnly(Side.CLIENT) - protected IIcon getTopIcon(int meta) { - return this.textureTop[meta % this.textureTop.length]; - } - - @Override - @SideOnly(Side.CLIENT) - protected IIcon getSideIcon(int metaID) { - return this.textureSide[metaID % this.textureSide.length]; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iIcon) { - this.textureSide = new IIcon[treeType.length]; - this.textureTop = new IIcon[treeType.length]; - - for (int i = 0; i < this.textureSide.length; ++i) { - this.textureSide[i] = iIcon.registerIcon(GTPlusPlus.ID + ":" + "trees/" + "logs/" + "log_" + treeType[i]); - this.textureTop[i] = iIcon - .registerIcon(GTPlusPlus.ID + ":" + "trees/" + "logs/" + "log_" + treeType[i] + "_top"); - } - - setVanillaVariable(this.field_150167_a, this.textureSide); - setVanillaVariable(this.field_150166_b, this.textureTop); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java deleted file mode 100644 index ff5c8770d4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/base/SaplingBase.java +++ /dev/null @@ -1,166 +0,0 @@ -package gtPlusPlus.xmod.bop.blocks.base; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; -import java.util.Random; - -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.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.WorldGenBigTree; -import net.minecraft.world.gen.feature.WorldGenTrees; -import net.minecraft.world.gen.feature.WorldGenerator; - -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.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class SaplingBase extends BlockSapling { - - protected String[] saplingTypes = new String[] {}; - protected IIcon[] saplingTextures = new IIcon[] {}; - - // Sapling types - field_149882_a - // Iicons - field_149881_b - - protected SaplingBase(String blockNameLocalized, String blockNameUnlocalized, String[] saplingTypes) { - float f = 0.4F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); - this.saplingTypes = saplingTypes; - this.saplingTextures = new IIcon[saplingTypes.length]; - String blockName = "block" + Utils.sanitizeString(blockNameLocalized); - GameRegistry.registerBlock(this, ItemBlock.class, blockName); - this.setBlockName(blockName); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(this), "treeSapling", true); - this.setCreativeTab(AddToCreativeTab.tabBOP); - } - - private void setVanillaVariable(Object toSet, Object value) { - toSet = value; - } - - /** - * Gets the block's texture. Args: side, meta - */ - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int someInt, int meta) { - /* - * meta &= 7; return saplingTextures[MathHelper.clamp_int(meta, 0, 5)]; - */ - // return this.saplingTextures[meta % this.saplingTextures.length]; - try { - return this.saplingTextures[meta]; - } catch (Throwable T) { - Logger.WARNING("Invalid Sapling meta is " + meta); - return this.saplingTextures[0]; - } - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World world, int x, int y, int z, Random rand) { - if (!world.isRemote) { - super.updateTick(world, x, y, z, rand); - if (world.getBlockLightValue(x, y + 1, z) >= 9 && rand.nextInt(7) == 0) { - Logger.WARNING("Update Tick"); - this.updateMeta(world, x, y, z, rand); - } else { - Logger.WARNING("Tried to Tick."); - } - } - } - - // Dunno - Think it is doGrow || doGrowthTick - @Override - public void func_149853_b(World world, Random rand, int x, int y, int z) { - Logger.WARNING("Please find what calls me - func_149853_b"); - this.updateMeta(world, x, y, z, rand); - } - - public void updateMeta(World world, int x, int y, int z, Random rand) { - func_149879_c(world, x, y, z, rand); - } - - @Override - public void func_149879_c(World world, int x, int y, int z, Random rand) { - Logger.WARNING("func_149879_c - 1"); - int l = world.getBlockMetadata(x, y, z); - - if ((l & 8) == 0) { - Logger.WARNING("func_149879_c - 2"); - world.setBlockMetadataWithNotify(x, y, z, l | 8, 4); - } else { - Logger.WARNING("func_149879_c - 3"); - this.func_149878_d(world, x, y, z, rand); - } - } - - @Override - public void func_149878_d(World world, int x, int y, int z, Random rand) { - Logger.WARNING("func_149878_d - 1"); - if (!net.minecraftforge.event.terraingen.TerrainGen.saplingGrowTree(world, rand, x, y, z)) return; - int l = world.getBlockMetadata(x, y, z) & 7; - Object object = rand.nextInt(10) == 0 ? new WorldGenBigTree(true) : new WorldGenTrees(true); - int i1 = 0; - int j1 = 0; - boolean flag = false; - - Block block = Blocks.air; - - world.setBlock(x, y, z, block, 0, 4); - - if (!((WorldGenerator) object).generate(world, rand, x + i1, y, z + j1)) { - world.setBlock(x, y, z, this, l, 4); - } - } - - @Override - public boolean func_149880_a(World world, int p_149880_2_, int p_149880_3_, int p_149880_4_, int p_149880_5_) { - return world.getBlock(p_149880_2_, p_149880_3_, p_149880_4_) == this - && (world.getBlockMetadata(p_149880_2_, p_149880_3_, p_149880_4_) & 7) == p_149880_5_; - } - - /** - * Determines the damage on the item the block drops. Used in cloth and wood. - */ - @Override - public int damageDropped(int meta) { - return MathHelper.clamp_int(meta & 7, 0, 5); - } - - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item item, CreativeTabs tab, List metaList) { - for (int i = 0; i < this.saplingTextures.length; ++i) { - metaList.add(new ItemStack(item, 1, i)); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iIcon) { - for (int i = 0; i < saplingTextures.length; ++i) { - saplingTextures[i] = iIcon - .registerIcon(GTPlusPlus.ID + ":" + "trees/" + "saplings/" + "sapling_" + saplingTypes[i]); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/LeavesPineTree.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/LeavesPineTree.java deleted file mode 100644 index 93f7e59a1e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/LeavesPineTree.java +++ /dev/null @@ -1,41 +0,0 @@ -package gtPlusPlus.xmod.bop.blocks.pine; - -import java.util.Random; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator; -import gtPlusPlus.xmod.bop.blocks.base.LeavesBase; - -public class LeavesPineTree extends LeavesBase { - - public LeavesPineTree() { - super("Pine", "pine", new ItemStack[] {}); - this.treeType = new String[] { "pine" }; - this.leafType = new String[][] { { "pine" }, { "pine_opaque" } }; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(BOP_Block_Registrator.sapling_Pine); - } - - @Override // Drops when Leaf is broken - protected void func_150124_c(World world, int x, int y, int z, int meta, int randomChance) { - Logger.INFO("Dropping Bonus Drops"); - if (MathUtils.randInt(0, 10) >= 9) { - this.dropBlockAsItem( - world, - x, - y, - z, - ItemUtils.getSimpleStack(AgriculturalChem.mPinecone, MathUtils.randInt(1, 4))); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/LogPineTree.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/LogPineTree.java deleted file mode 100644 index 98e384cd3f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/LogPineTree.java +++ /dev/null @@ -1,21 +0,0 @@ -package gtPlusPlus.xmod.bop.blocks.pine; - -import gtPlusPlus.xmod.bop.blocks.base.LogBase; - -public class LogPineTree extends LogBase { - - public LogPineTree() { - super("Pine Log", "pine", new String[] { "pine" }); - this.treeType = new String[] { "pine" }; - } - - /* - * @Override - * @SideOnly(Side.CLIENT) protected IIcon getSideIcon(int metaID){ return this.textureSide[metaID % - * this.textureSide.length]; } - * @Override - * @SideOnly(Side.CLIENT) protected IIcon getTopIcon(int metaID){ return this.textureTop[metaID % - * this.textureTop.length]; } - */ - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/SaplingPineTree.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/SaplingPineTree.java deleted file mode 100644 index 2c2bb38af6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/pine/SaplingPineTree.java +++ /dev/null @@ -1,52 +0,0 @@ -package gtPlusPlus.xmod.bop.blocks.pine; - -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.core.lib.CORE; -import gtPlusPlus.xmod.bop.blocks.base.SaplingBase; -import gtPlusPlus.xmod.bop.world.features.trees.WorldGenPineTree; - -public class SaplingPineTree extends SaplingBase { - - public SaplingPineTree() { - super("Pine Sapling", "pine", new String[] { "pine" }); - } - - @Override - public void func_149878_d(World world, int x, int y, int z, Random rand) { - Logger.WARNING("func_149878_d - 1"); - if (!net.minecraftforge.event.terraingen.TerrainGen.saplingGrowTree(world, rand, x, y, z)) return; - rand.nextInt(10); - new WorldGenBigTree(true); - new WorldGenTrees(true); - int i1 = 0; - int j1 = 0; - boolean flag = false; - - Block block = Blocks.air; - - if (flag) { - world.setBlock(x + i1, y, z + j1, block, 0, 4); - world.setBlock(x + i1 + 1, y, z + j1, block, 0, 4); - world.setBlock(x + i1, y, z + j1 + 1, block, 0, 4); - world.setBlock(x + i1 + 1, y, z + j1 + 1, block, 0, 4); - } else { - world.setBlock(x, y, z, block, 0, 4); - } - Object obj = new WorldGenPineTree(); - if (obj != null) { - world.setBlockToAir(x, y, z); - if (!((WorldGenerator) obj).generate(world, CORE.RANDOM, x, y, z)) { - world.setBlock(x, y, z, this, 0, 2); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java deleted file mode 100644 index 816b666a40..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/LeavesRainforestTree.java +++ /dev/null @@ -1,25 +0,0 @@ -package gtPlusPlus.xmod.bop.blocks.rainforest; - -import java.util.Random; - -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() { - super("Rainforest Oak", "rainforestoak", new ItemStack[] { ItemUtils.getSimpleStack(Items.apple) }); - this.treeType = new String[] { "rainforest" }; - this.leafType = new String[][] { { "rainforest" }, { "rainforest_opaque" } }; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(BOP_Block_Registrator.sapling_Rainforest); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/LogRainforestTree.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/LogRainforestTree.java deleted file mode 100644 index 4e769b7c95..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/LogRainforestTree.java +++ /dev/null @@ -1,12 +0,0 @@ -package gtPlusPlus.xmod.bop.blocks.rainforest; - -import gtPlusPlus.xmod.bop.blocks.base.LogBase; - -public class LogRainforestTree extends LogBase { - - public LogRainforestTree() { - super("Rainforest Oak", "rainforestoak", new String[] { "rainforest" }); - this.treeType = new String[] { "rainforest" }; - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java deleted file mode 100644 index 362eb2f541..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/blocks/rainforest/SaplingRainforestTree.java +++ /dev/null @@ -1,65 +0,0 @@ -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; - -public class SaplingRainforestTree extends SaplingBase { - - public SaplingRainforestTree() { - super("Rainforest Oak Sapling", "rainforestoak", new String[] { "rainforest" }); - } - - @Override - public void func_149878_d(World world, int x, int y, int z, Random rand) { - Logger.WARNING("func_149878_d - 1"); - if (!net.minecraftforge.event.terraingen.TerrainGen.saplingGrowTree(world, rand, x, y, z)) return; - int l = world.getBlockMetadata(x, y, z) & 7; - rand.nextInt(10); - new WorldGenBigTree(true); - new WorldGenTrees(true); - int i1 = 0; - int j1 = 0; - boolean flag = false; - - Block block = Blocks.air; - - if (flag) { - world.setBlock(x + i1, y, z + j1, block, 0, 4); - world.setBlock(x + i1 + 1, y, z + j1, block, 0, 4); - world.setBlock(x + i1, y, z + j1 + 1, block, 0, 4); - world.setBlock(x + i1 + 1, y, z + j1 + 1, block, 0, 4); - } else { - world.setBlock(x, y, z, block, 0, 4); - } - Object o = new WorldGenRainForestTree_Ex( - BOP_Block_Registrator.log_Rainforest, - BOP_Block_Registrator.leaves_Rainforest, - 0, - 0, - true, - 50, - 75); - - if (!((WorldGenerator) o).generate(world, rand, x + i1, y, z + j1)) { - if (flag) { - world.setBlock(x + i1, y, z + j1, this, l, 4); - world.setBlock(x + i1 + 1, y, z + j1, this, l, 4); - world.setBlock(x + i1, y, z + j1 + 1, this, l, 4); - world.setBlock(x + i1 + 1, y, z + j1 + 1, this, l, 4); - } else { - world.setBlock(x, y, z, this, l, 4); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenPineTree.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenPineTree.java deleted file mode 100644 index bc97042c82..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenPineTree.java +++ /dev/null @@ -1,172 +0,0 @@ -package gtPlusPlus.xmod.bop.world.features.trees; - -import java.util.Random; - -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 net.minecraftforge.common.util.ForgeDirection; - -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator; - -public class WorldGenPineTree extends WorldGenAbstractTree { - - public WorldGenPineTree() { - super(true); - } - - @Override - public boolean generate(World world, Random random, int x, int y, int z) { - while (world.isAirBlock(x, y, z) && y > 2) { - --y; - } - - Block aSoilBlock = world.getBlock(x, y, z); - - if (!canBlockSustainSapling(world, aSoilBlock, x, y, z)) { - return false; - } else { - int height; - int branches; - for (height = -2; height <= 2; ++height) { - for (branches = -2; branches <= 2; ++branches) { - if (world.isAirBlock(x + height, y - 1, z + branches) - && world.isAirBlock(x + height, y - 2, z + branches) - && !world.isAirBlock(x + height, y, z + branches)) { - return false; - } - } - } - - height = 2 + MathUtils.randInt(8, 16); - branches = 2 + MathUtils.randInt(6, 18); - int h = 1; - aSoilBlock.onPlantGrow(world, x, y - 1, z, x, y, z); - - int c; - int r = MathUtils.randInt(1, 3); - for (c = 0; c < height; ++c) { - this.buildBlock(world, x, y + h, z, BOP_Block_Registrator.log_Pine, 0); - h++; - if (c >= r && c % 2 == 0) { - this.generateBranch(world, random, x, y + h, z, c); - } - } - - this.generateTop(world, x, y + h, z); - return true; - } - } - - public void generateTop(World world, int x, int y, int z) { - for (int i = -1; i < 2; ++i) { - for (int j = -1; j < 2; ++j) { - this.buildBlock(world, x + i, y, z + j, BOP_Block_Registrator.leaves_Pine, 0); - } - } - - this.buildBlock(world, x, y, z, BOP_Block_Registrator.log_Pine, 0); - this.buildBlock(world, x + 1, y + 1, z, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x, y + 1, z - 1, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x, y + 1, z + 1, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x - 1, y + 1, z, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x, y + 2, z, BOP_Block_Registrator.leaves_Pine, 0); - } - - public void generateBranch(World world, Random rand, int x, int y, int z, int n) { - int var99999; - int var99998; - for (var99999 = -1; var99999 < 2; ++var99999) { - for (var99998 = -1; var99998 < 2; ++var99998) { - this.buildBlock(world, x + var99999, y, z + var99998, BOP_Block_Registrator.leaves_Pine, 0); - } - } - - var99999 = rand.nextInt(2); - var99998 = rand.nextInt(2); - int var99997 = rand.nextInt(2); - int var99996 = rand.nextInt(2); - if (n % 2 == 0) { - if (var99998 == 0) { - this.buildBlock(world, x + 1, y - 1, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x + 2, y - 1, z - 1, BOP_Block_Registrator.leaves_Pine, 0); - if (var99999 == 0) { - this.buildBlock(world, x + 2, y - 2, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - } else { - this.buildBlock(world, x + 2, y - 1, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - } - } else { - this.buildBlock(world, x + 1, y, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x + 2, y, z - 1, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x + 2, y, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - } - - if (var99997 == 0) { - this.buildBlock(world, x - 2, y - 1, z + 1, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x - 1, y - 1, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - if (var99996 == 0) { - this.buildBlock(world, x - 2, y - 2, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - } else { - this.buildBlock(world, x - 2, y - 1, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - } - } else { - this.buildBlock(world, x - 2, y, z + 1, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x - 1, y, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x - 2, y, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - } - } else { - if (var99998 == 0) { - this.buildBlock(world, x + 2, y - 1, z + 1, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x + 1, y - 1, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - if (var99999 == 0) { - this.buildBlock(world, x + 2, y - 2, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - } else { - this.buildBlock(world, x + 2, y - 1, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - } - } else { - this.buildBlock(world, x + 2, y, z + 1, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x + 1, y, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - if (var99999 == 0) { - this.buildBlock(world, x + 2, y - 1, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - } else { - this.buildBlock(world, x + 2, y, z + 2, BOP_Block_Registrator.leaves_Pine, 0); - } - } - - if (var99997 == 0) { - this.buildBlock(world, x - 1, y - 1, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x - 2, y - 1, z - 1, BOP_Block_Registrator.leaves_Pine, 0); - if (var99996 == 0) { - this.buildBlock(world, x - 2, y - 2, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - } else { - this.buildBlock(world, x - 2, y - 1, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - } - } else { - this.buildBlock(world, x - 1, y, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - this.buildBlock(world, x - 2, y, z - 1, BOP_Block_Registrator.leaves_Pine, 0); - if (var99996 == 0) { - this.buildBlock(world, x - 2, y - 1, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - } else { - this.buildBlock(world, x - 2, y, z - 2, BOP_Block_Registrator.leaves_Pine, 0); - } - } - } - - this.buildBlock(world, x, y, z, BOP_Block_Registrator.log_Pine, 0); - this.buildBlock(world, x, y + 1, z, BOP_Block_Registrator.log_Pine, 0); - } - - public void buildBlock(World world, int x, int y, int z, Block block, int meta) { - if (world.isAirBlock(x, y, z) || world.getBlock(x, y, z) - .isLeaves(world, x, y, z)) { - world.setBlock(x, y, z, block, meta, 2); - } - } - - public boolean canBlockSustainSapling(World world, Block block, int x, int y, int z) { - return block.canSustainPlant(world, x, y, z, ForgeDirection.UP, (BlockSapling) Blocks.sapling); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenRainForestTree_Ex.java b/gtpp/src/main/java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenRainForestTree_Ex.java deleted file mode 100644 index d3ad2efaea..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/bop/world/features/trees/WorldGenRainForestTree_Ex.java +++ /dev/null @@ -1,310 +0,0 @@ -package gtPlusPlus.xmod.bop.world.features.trees; - -import java.util.Random; - -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 net.minecraftforge.common.util.ForgeDirection; - -import gtPlusPlus.api.objects.Logger; - -public class WorldGenRainForestTree_Ex extends WorldGenAbstractTree { - - private final int minTreeHeight; - private final int randomTreeHeight; - private final Block wood; - private final Block leaves; - private final int woodMeta; - private final int leavesMeta; - - // return random.nextInt(5) == 0 ? new WorldGenTrees(false, 4 + random.nextInt(7), 3, 3, true) : new - // WorldGenRainforestTree1(BOPCBlocks.logs4, BOPCBlocks.colorizedLeaves2, 3, 2, false, 8, 8); - - public WorldGenRainForestTree_Ex(Block wood, Block leaves, int woodMeta, int leavesMeta, boolean doBlockNotify, - int minTreeHeight, int randomTreeHeight) { - super(doBlockNotify); - this.wood = wood; - this.leaves = leaves; - this.woodMeta = woodMeta; - this.leavesMeta = leavesMeta; - this.minTreeHeight = minTreeHeight; - this.randomTreeHeight = randomTreeHeight; - } - - @Override - public boolean generate(World world, Random random, int x, int y, int z) { - int treeHeight = random.nextInt(this.randomTreeHeight) + this.minTreeHeight; - boolean flag = true; - if ((y >= 1) && (y + treeHeight + 1 <= 256)) { - for (int i1 = y; i1 <= y + 1 + treeHeight; i1++) { - byte b0 = 1; - if (i1 == y) { - b0 = 0; - } - if (i1 >= y + 1 + treeHeight - 2) { - b0 = 2; - } - for (int j1 = x - b0; (j1 <= x + b0) && (flag); j1++) { - for (int k1 = z - b0; (k1 <= z + b0) && (flag); k1++) { - if ((i1 >= 0) && (i1 < 256)) { - Block block = world.getBlock(j1, i1, k1); - if (!isReplaceable(world, j1, i1, k1)) { - flag = false; - } - } else { - flag = false; - } - } - } - } - if (!flag) { - return false; - } - Block block2 = world.getBlock(x, y - 1, z); - - boolean isSoil = block2 - .canSustainPlant(world, x, y - 1, z, ForgeDirection.UP, (BlockSapling) Blocks.sapling); - if ((isSoil) && (y < 256 - treeHeight - 1)) { - block2.onPlantGrow(world, x, y - 1, z, x, y, z); - byte b0 = 3; - byte b1 = 0; - Logger.WARNING("Sapling located at X:" + x + " | Y:" + y + " | Z:" + z); - for (int k1 = y - b0 + treeHeight; k1 <= y + treeHeight; k1++) { - Logger - .WARNING("[1]| k1 = " + k1 + " | y = " + y + " | b0 = " + b0 + " | l = " + treeHeight + " | "); - int i3 = k1 - (y + treeHeight); - int l1 = b1 + 1 - i3; - for (int i2 = x - l1; i2 <= x + l1; i2++) { - int j2 = i2 - x; - Logger.WARNING("[2]| i2 = " + i2 + " | x = " + x + " | l1 = " + l1 + " | j2 = " + j2 + " | "); - for (int k2 = z - l1; k2 <= z + l1; k2++) { - int l2 = k2 - z; - Logger - .WARNING("[3]| k2 = " + k2 + " | z = " + z + " | l1 = " + l1 + " | l2 = " + l2 + " | "); - if ((Math.abs(j2) != l1) || (Math.abs(l2) != l1) - || ((random.nextInt(2) != 0) && (i3 != 0))) { - Block block1 = world.getBlock(i2, k1, k2); - if ((block1.isAir(world, i2, k1, k2)) || (block1.isLeaves(world, i2, k1, k2))) { - Logger.WARNING("Setting something as leaves?"); - setBlockAndNotifyAdequately(world, i2, k1, k2, this.leaves, this.leavesMeta); - } - } - } - } - } - for (int k1 = 0; k1 < treeHeight; k1++) { - Logger.WARNING("Building tree - Layer " + k1 + " | Max height is " + treeHeight); - Block block = world.getBlock(x, y + k1, z); - if ((block.isAir(world, x, y + k1, z)) || (block.isLeaves(world, x, y + k1, z))) { - setBlockAndNotifyAdequately(world, x, y + k1, z, this.wood, this.woodMeta); - - // Trying this to make trunk - setBlockAndNotifyAdequately(world, x, y + k1, z + 1, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + k1, z - 1, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x + 1, y + k1, z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x - 1, y + k1, z, this.wood, this.woodMeta); - - if (k1 >= 5) { - if (k1 % 5 == 0) { - // Bottom layer - Block block5 = world.getBlock(x, y + k1, z); - for (int xDir = -5; xDir <= 5; xDir++) { - for (int zDir = -5; zDir <= 5; zDir++) { - if (canRemoveLeafBlockLayer2(-5, 5, xDir, -5, 5, zDir)) { - Logger.WARNING( - "Doing Nothing at " + "x=" + xDir + " | y=" + y + " z=" + zDir); - } else { - Logger.WARNING( - "Trying to place leaves at " + "x=" - + xDir - + " | y=" - + y - + " z=" - + zDir); - block5 = world.getBlock(x + xDir, y + k1, z + zDir); - if (block5.isAir(world, x + xDir, y + k1, x + zDir)) { - setBlockAndNotifyAdequately( - world, - x + xDir, - y + k1, - z + zDir, - this.leaves, - this.leavesMeta); - } - } - } - } - // Next Layer - for (int xDir = -4; xDir <= 4; xDir++) { - for (int zDir = -4; zDir <= 4; zDir++) { - if (canRemoveLeafBlockLayer2(-4, 4, xDir, -4, 4, zDir)) { - Logger.WARNING( - "Doing Nothing at " + "x=" - + xDir - + " | y=" - + y - + k1 - + 1 - + " z=" - + zDir); - } else { - Logger.WARNING( - "Trying to place leaves at " + "x=" - + xDir - + " | y=" - + y - + k1 - + 1 - + " z=" - + zDir); - block5 = world.getBlock(x + xDir, y + k1 + 1, z + zDir); - if (block5.isAir(world, x + xDir, y + k1 + 1, x + zDir)) { - setBlockAndNotifyAdequately( - world, - x + xDir, - y + k1 + 1, - z + zDir, - this.leaves, - this.leavesMeta); - } - } - } - } - - // Third Layer - for (int xDir = -3; xDir <= 3; xDir++) { - for (int zDir = -3; zDir <= 3; zDir++) { - if (canRemoveLeafBlockLayer2(-3, 3, xDir, -3, 3, zDir)) { - Logger.WARNING( - "Doing Nothing at " + "x=" - + xDir - + " | y=" - + y - + k1 - + 2 - + " z=" - + zDir); - } else { - Logger.WARNING( - "Trying to place leaves at " + "x=" - + xDir - + " | y=" - + y - + k1 - + 2 - + " z=" - + zDir); - block5 = world.getBlock(x + xDir, y + k1 + 2, z + zDir); - if (block5.isAir(world, x + xDir, y + k1 + 2, x + zDir)) { - setBlockAndNotifyAdequately( - world, - x + xDir, - y + k1 + 2, - z + zDir, - this.leaves, - this.leavesMeta); - } - } - } - } - - // Fourth Layer - for (int xDir = -2; xDir <= 2; xDir++) { - for (int zDir = -2; zDir <= 2; zDir++) { - if (canRemoveLeafBlockLayer2(-2, 2, xDir, -2, 2, zDir)) { - Logger.WARNING( - "Doing Nothing at " + "x=" - + xDir - + " | y=" - + y - + k1 - + 3 - + " z=" - + zDir); - } else { - Logger.WARNING( - "Trying to place leaves at " + "x=" - + xDir - + " | y=" - + y - + k1 - + 3 - + " z=" - + zDir); - block5 = world.getBlock(x + xDir, y + k1 + 3, z + zDir); - if (block5.isAir(world, x + xDir, y + k1 + 3, x + zDir)) { - setBlockAndNotifyAdequately( - world, - x + xDir, - y + k1 + 3, - z + zDir, - this.leaves, - this.leavesMeta); - } - } - } - } - } else { - - } - } - - setBlockAndNotifyAdequately(world, x - 3, y + (treeHeight - 3), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x + 3, y + (treeHeight - 3), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 3), z - 3, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 3), z + 3, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x - 2, y + (treeHeight - 4), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x + 2, y + (treeHeight - 4), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 4), z - 2, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 4), z + 2, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x - 2, y + (treeHeight - 5), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x + 2, y + (treeHeight - 5), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 5), z - 2, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 5), z + 2, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x - 1, y + (treeHeight - 6), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x + 1, y + (treeHeight - 6), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 6), z - 1, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 6), z + 1, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 3), z, this.leaves, this.leavesMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 2), z, this.leaves, this.leavesMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 1), z, this.leaves, this.leavesMeta); - setBlockAndNotifyAdequately(world, x, y + treeHeight, z, this.leaves, this.leavesMeta); - func_150515_a(world, x, y + (treeHeight - 4), z, Blocks.air); - func_150515_a(world, x, y + (treeHeight - 5), z, Blocks.air); - setBlockAndNotifyAdequately(world, x - 1, y + (treeHeight - 3), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x + 1, y + (treeHeight - 3), z, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 3), z - 1, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 3), z + 1, this.wood, this.woodMeta); - setBlockAndNotifyAdequately(world, x, y + (treeHeight - 2), z, this.wood, this.woodMeta); - } - } - return true; - } - return false; - } - return false; - } - - private boolean canRemoveLeafBlockLayer2(int xDirMin, int xDirMax, int xDir, int zDirMin, int zDirMax, int zDir) { - if (xDir == xDirMin || xDir == xDirMin + 1 || xDir == xDirMax || xDir == xDirMax - 1) { - if (zDir == zDirMin || zDir == zDirMin + 1 || zDir == zDirMax || zDir == zDirMax - 1) { - if (xDir == xDirMin + 1 && zDir == zDirMin + 1) { - return false; - } else if (xDir == xDirMin + 1 && zDir == zDirMax - 1) { - return false; - } else if (xDir == xDirMax - 1 && zDir == zDirMin + 1) { - return false; - } else if (xDir == xDirMax - 1 && zDir == zDirMax - 1) { - return false; - } - return true; - } - return false; - } else { - return false; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java deleted file mode 100644 index a1b96d0f2f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java +++ /dev/null @@ -1,23 +0,0 @@ -package gtPlusPlus.xmod.forestry; - -import static gregtech.api.enums.Mods.Forestry; - -import gtPlusPlus.xmod.forestry.bees.items.FR_ItemRegistry; -import gtPlusPlus.xmod.forestry.bees.recipe.FR_Gregtech_Recipes; -import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; - -public class HANDLER_FR { - - public static void preInit() { - if (Forestry.isModLoaded()) { - FR_ItemRegistry.Register(); - } - } - - public static void postInit() { - if (Forestry.isModLoaded()) { - FR_Gregtech_Recipes.registerItems(); - new GTPP_Bees(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/CustomCombs.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/CustomCombs.java deleted file mode 100644 index 3c00c79fcb..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/CustomCombs.java +++ /dev/null @@ -1,94 +0,0 @@ -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 { - // Custom Bees - - // Rubbers & Silicons - SILICON("silicon", true, Materials.Silicon, 100), - RUBBER("rubber", true, Materials.Rubber, 100), - PLASTIC("polyethylene", true, Materials.Plastic, 75), - PTFE("polytetrafluoroethylene", true, GTPP_Bees.PTFE, 50), - PBS("styrene-butadiene", true, GTPP_Bees.PBS, 25), - - // Fuels - BIOMASS("biomass", true, Materials.Biomass, 100), - ETHANOL("ethanol", true, Materials.Ethanol, 75), - DIESEL("diesel", true, Materials.Fuel, 50), - NITRO("nitro", true, Materials.NitroFuel, 25), - HOOTCH("hootch", true, Materials.Silicon, 50), - ROCKETFUEL("rocket", true, Materials.Silicon, 25), - - // Materials which are hard, if not impossible to obtain. - FLUORINE("fluorine", true, Materials.Fluorine, 25), - COKE("coke", true, Materials._NULL, 50), - FORCE("force", true, Materials.Force, 50), - NIKOLITE("nikolite", true, Materials.Nikolite, 75), - MITHRIL("mithril", true, Materials.Mithril, 10), - ADAMANTIUM("adamantium", true, Materials.Adamantium, 5), - - // Trash - SALT("salt", true, Materials.Salt, 75), - SAND("sand", true, Materials.Sand, 100),; - - private static final int[][] colours = new int[][] { - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // SILICON - { Utils.rgbtoHexValue(55, 55, 55), Utils.rgbtoHexValue(75, 75, 75) }, // RUBBER - { Utils.rgbtoHexValue(245, 245, 245), Utils.rgbtoHexValue(175, 175, 175) }, // PLASTIC - { Utils.rgbtoHexValue(150, 150, 150), Utils.rgbtoHexValue(75, 75, 75) }, // PTFE - { Utils.rgbtoHexValue(33, 26, 24), Utils.rgbtoHexValue(23, 16, 14) }, // PBS - // Unused - { Utils.rgbtoHexValue(33, 225, 24), Utils.rgbtoHexValue(23, 175, 14) }, // Biofuel - { Utils.rgbtoHexValue(255, 128, 0), Utils.rgbtoHexValue(220, 156, 32) }, // Ethanol - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // - { Utils.rgbtoHexValue(30, 230, 230), Utils.rgbtoHexValue(10, 150, 150) }, // Fluorine - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // - { Utils.rgbtoHexValue(250, 250, 20), Utils.rgbtoHexValue(200, 200, 5) }, // Force - { Utils.rgbtoHexValue(60, 180, 200), Utils.rgbtoHexValue(40, 150, 170) }, // Nikolite - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, // - { Utils.rgbtoHexValue(75, 75, 75), Utils.rgbtoHexValue(125, 125, 125) }, { 0x666666, 0x525252 }, - { 0x2E8F5B, 0xDCC289 }, { 0x4C4C4C, 0x333333 }, { 0x808080, 0x999999 }, { 0x57CFFB, 0xBBEEFF }, - { 0x7D0F0F, 0xD11919 }, { 0x1947D1, 0x476CDA }, { 0xE6005C, 0xCC0052 }, { 0x0033CC, 0x00248F }, - { 0xCCFFFF, 0xA3CCCC }, { 0x248F24, 0xCCFFCC }, { 0x248F24, 0x2EB82E }, { 0xD4D4D4, 0x58300B }, - { 0xFF6600, 0xE65C00 }, { 0xD4D4D4, 0xDDDDDD }, { 0x666699, 0xA3A3CC }, { 0xDA9147, 0xDE9C59 }, - { 0x808080, 0x999999 }, { 0x8585AD, 0x9D9DBD }, { 0xF0DEF0, 0xF2E1F2 }, { 0xC2C2D6, 0xCECEDE }, - { 0xE6B800, 0xCFA600 }, { 0x008AB8, 0xD6D6FF }, { 0xD5D5D5, 0xAAAAAA }, { 0xCC99FF, 0xDBB8FF }, - { 0xEBA1EB, 0xF2C3F2 }, { 0x62626D, 0x161620 }, { 0xE6E6E6, 0xFFFFCC }, { 0xDADADA, 0xD1D1E0 }, - { 0x19AF19, 0x169E16 }, { 0x335C33, 0x6B8F00 }, { 0x003300, 0x002400 }, }; - public boolean showInList; - public final Materials material; - public final int chance; - private final String name; - - private CustomCombs(String pName, boolean show, Materials material, int chance) { - this.name = pName; - this.material = material; - this.chance = chance; - this.showInList = show; - } - - public void setHidden() { - this.showInList = false; - } - - public String getName() { - // return "gt.comb."+this.name; - return GT_LanguageManager.addStringLocalization( - "comb." + this.name, - this.name.substring(0, 1) - .toUpperCase() + this.name.substring(1) + " Comb"); - } - - public int[] getColours() { - return colours[this.ordinal()]; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bee_Definition.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bee_Definition.java deleted file mode 100644 index 0cdb49a9b5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bee_Definition.java +++ /dev/null @@ -1,604 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.custom; - -import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.Locale; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.BiomeDictionary.Type; - -import org.apache.commons.lang3.reflect.FieldUtils; -import org.apache.commons.lang3.text.WordUtils; - -import forestry.api.apiculture.BeeManager; -import forestry.api.apiculture.EnumBeeChromosome; -import forestry.api.apiculture.EnumBeeType; -import forestry.api.apiculture.IAlleleBeeSpecies; -import forestry.api.apiculture.IAlleleBeeSpeciesCustom; -import forestry.api.apiculture.IBee; -import forestry.api.apiculture.IBeeGenome; -import forestry.api.apiculture.IBeeMutationCustom; -import forestry.api.core.EnumHumidity; -import forestry.api.core.EnumTemperature; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAllele; -import forestry.apiculture.genetics.Bee; -import forestry.apiculture.genetics.BeeDefinition; -import forestry.apiculture.genetics.BeeVariation; -import forestry.apiculture.genetics.IBeeDefinition; -import forestry.core.genetics.alleles.AlleleHelper; -import gregtech.loaders.misc.GT_BeeDefinition; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public enum GTPP_Bee_Definition implements IBeeDefinition { - - SILICON(GTPP_Branch_Definition.ORGANIC, "Silicon", true, Utils.rgbtoHexValue(75, 75, 75), - Utils.rgbtoHexValue(125, 125, 125)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(getSlagComb(), 0.10f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SILICON), 0.20f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation( - getGregtechBeeType("SLIMEBALL"), - getGregtechBeeType("STICKYRESIN"), - 10); - } - }, - - RUBBER(GTPP_Branch_Definition.ORGANIC, "Rubber", true, Utils.rgbtoHexValue(55, 55, 55), - Utils.rgbtoHexValue(75, 75, 75)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(getSlagComb(), 0.10f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.RUBBER), 0.30f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation( - getGregtechBeeType("SLIMEBALL"), - getGregtechBeeType("STICKYRESIN"), - 10); - } - }, - - PLASTIC(GTPP_Branch_Definition.ORGANIC, "Plastic", true, Utils.rgbtoHexValue(245, 245, 245), - Utils.rgbtoHexValue(175, 175, 175)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(getStoneComb(), 0.30f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.PLASTIC), 0.15f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(RUBBER.species, getGregtechBeeType("OIL"), 10); - } - }, - - PTFE(GTPP_Branch_Definition.ORGANIC, "Ptfe", true, Utils.rgbtoHexValue(150, 150, 150), - Utils.rgbtoHexValue(75, 75, 75)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(getStoneComb(), 0.30f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.PTFE), 0.10f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(RUBBER.species, PLASTIC.species, 10); - } - }, - - PBS(GTPP_Branch_Definition.ORGANIC, "Pbs", true, Utils.rgbtoHexValue(33, 26, 24), Utils.rgbtoHexValue(23, 16, 14)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(getStoneComb(), 0.30f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.PBS), 0.10f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(PTFE.species, PLASTIC.species, 10); - } - }, - - /** - * Fuels - */ - BIOMASS(GTPP_Branch_Definition.ORGANIC, "Biomass", true, Utils.rgbtoHexValue(33, 225, 24), - Utils.rgbtoHexValue(23, 175, 14)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SAND), 0.40f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.BIOMASS), 0.20f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), getSpecies("Rural"), 10); - tMutation.restrictBiomeType(Type.FOREST); - } - }, - - ETHANOL(GTPP_Branch_Definition.ORGANIC, "Ethanol", true, Utils.rgbtoHexValue(255, 128, 0), - Utils.rgbtoHexValue(220, 156, 32)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SAND), 0.40f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.ETHANOL), 0.20f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(BIOMASS.species, getSpecies("Farmerly"), 5); - tMutation.restrictBiomeType(Type.FOREST); - } - }, - - /** - * Materials - */ - FLUORINE(GTPP_Branch_Definition.ORGANIC, "Fluorine", true, Utils.rgbtoHexValue(30, 230, 230), - Utils.rgbtoHexValue(10, 150, 150)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(getStoneComb(), 0.40f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.FLUORINE), 0.05f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.COLD); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation( - getGregtechBeeType("LAPIS"), - getGregtechBeeType("SAPPHIRE"), - 5); - tMutation.restrictBiomeType(Type.COLD); - } - }, - - // Coke - - // Force - FORCE(GTPP_Branch_Definition.METAL, "Force", true, Utils.rgbtoHexValue(250, 250, 20), - Utils.rgbtoHexValue(200, 200, 5)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(getStoneComb(), 0.30f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SAND), 0.25f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.FORCE), 0.25f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SALT), 0.05f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.HOT); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation( - getGregtechBeeType("STEEL"), - getGregtechBeeType("GOLD"), - 10); - tMutation.restrictBiomeType(Type.HOT); - } - }, - - // Nikolite - NIKOLITE(GTPP_Branch_Definition.METAL, "Nikolite", true, Utils.rgbtoHexValue(60, 180, 200), - Utils.rgbtoHexValue(40, 150, 170)) { - - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(getStoneComb(), 0.30f); - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.NIKOLITE), 0.05f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.HOT); - } - - @Override - protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); - } - - @Override - protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation( - getGregtechBeeType("ALUMINIUM"), - getGregtechBeeType("SILVER"), - 8); - tMutation.restrictBiomeType(Type.HOT); - } - }, - - /* - * CLAY(GTPP_Branch_Definition.ORGANIC, "Clay", true, 0x19d0ec, 0xffdc16) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f); - * beeSpecies.addProduct(new ItemStack(Items.clay_ball, 1), 0.15f); beeSpecies.setHumidity(EnumHumidity.DAMP); - * beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.MEADOWS.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = - * registerMutation(getSpecies("Industrious"), getSpecies("Diligent"), 20); } }, - * SLIMEBALL(GTPP_Branch_Definition.ORGANIC, "SlimeBall", true, 0x4E9E55, 0x00FF15) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 15), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STICKY), 0.30f); - * beeSpecies.setHumidity(EnumHumidity.DAMP); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.MARSHY.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = - * registerMutation(getSpecies("Marshy"), CLAY.species, 15); } }, PEAT(GTPP_Branch_Definition.ORGANIC, "Peat", true, - * 0x906237, 0x58300B) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.LIGNIE), 0.30f); - * beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.RURAL.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = - * registerMutation(getSpecies("Rural"), CLAY.species, 20); } }, STICKYRESIN(GTPP_Branch_Definition.ORGANIC, - * "StickyResin", true, 0x2E8F5B, 0xDCC289) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f); - * beeSpecies.addProduct(ItemList.IC2_Resin.get(1, new Object[0]), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.MEADOWS.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(SLIMEBALL.species, - * PEAT.species, 25); } }, COAL(GTPP_Branch_Definition.ORGANIC, "Coal", true, 0x666666, 0x525252) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.LIGNIE), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.COAL), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.AUSTERE.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = - * registerMutation(getSpecies("Industrious"), PEAT.species, 18); } }, OIL(GTPP_Branch_Definition.ORGANIC, "Oil", - * true, 0x4C4C4C, 0x333333) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.OIL), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.DAMP); beeSpecies.setTemperature(EnumTemperature.NORMAL); - * beeSpecies.setNocturnal(); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.MEADOWS.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(COAL.species, - * STICKYRESIN.species, 8); } }, REDSTONE(GTPP_Branch_Definition.GEM, "Redstone", true, 0x7D0F0F, 0xD11919) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STONE), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.REDSTONE), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = - * registerMutation(getSpecies("Industrious"), getSpecies("Demonic"), 20); } }, LAPIS(GTPP_Branch_Definition.GEM, - * "Lapis", true, 0x1947D1, 0x476CDA) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STONE), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.LAPIS), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = - * registerMutation(getSpecies("Demonic"), getSpecies("Imperial"), 20); } }, CERTUS(GTPP_Branch_Definition.GEM, - * "CertusQuartz", true, 0x57CFFB, 0xBBEEFF) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STONE), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.CERTUS), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = - * registerMutation(getSpecies("Hermitic"), LAPIS.species, 20); } }, RUBY(GTPP_Branch_Definition.GEM, "Ruby", true, - * 0xE6005C, 0xCC0052) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STONE), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.RUBY), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, - * DIAMOND.species, 10); } }, SAPPHIRE(GTPP_Branch_Definition.GEM, "Sapphire", true, 0x0033CC, 0x00248F) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STONE), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SAPPHIRE), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(CERTUS.species, - * LAPIS.species, 10); } }, DIAMOND(GTPP_Branch_Definition.GEM, "Diamond", true, 0xCCFFFF, 0xA3CCCC) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STONE), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.DIAMOND), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(CERTUS.species, - * COAL.species, 6); } }, OLIVINE(GTPP_Branch_Definition.GEM, "Olivine", true, 0x248F24, 0xCCFFCC) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STONE), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.OLIVINE), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(CERTUS.species, - * getSpecies("Ended"), 10); } }, EMERALD(GTPP_Branch_Definition.GEM, "Emerald", true, 0x248F24, 0x2EB82E) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STONE), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.EMERALD), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.COLD); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(OLIVINE.species, - * DIAMOND.species, 8); } }, COPPER(GTPP_Branch_Definition.METAL, "Copper", true, 0xFF6600, 0xE65C00) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.COPPER), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = - * registerMutation(getSpecies("Majestic"), CLAY.species, 25); } }, TIN(GTPP_Branch_Definition.METAL, "Tin", true, - * 0xD4D4D4, 0xDDDDDD) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.TIN), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(CLAY.species, - * getSpecies("Diligent"), 25); } }, LEAD(GTPP_Branch_Definition.METAL, "Lead", true, 0x666699, 0xA3A3CC) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.LEAD), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.DAMP); beeSpecies.setTemperature(EnumTemperature.WARM); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(COAL.species, - * COPPER.species, 25); } }, IRON(GTPP_Branch_Definition.METAL, "Iron", true, 0xDA9147, 0xDE9C59) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.IRON), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(TIN.species, - * COPPER.species, 25); } }, STEEL(GTPP_Branch_Definition.METAL, "Steel", true, 0x808080, 0x999999) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.STEEL), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(IRON.species, - * COAL.species, 20); } }, NICKEL(GTPP_Branch_Definition.METAL, "Nickel", true, 0x8585AD, 0x8585AD) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.NICKEL), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(IRON.species, - * COPPER.species, 25); } }, ZINC(GTPP_Branch_Definition.METAL, "Zinc", true, 0xF0DEF0, 0xF2E1F2) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.ZINC), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(IRON.species, - * TIN.species, 20); } }, SILVER(GTPP_Branch_Definition.METAL, "Silver", true, 0xC2C2D6, 0xCECEDE) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SILVER), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(LEAD.species, - * TIN.species, 20); } }, GOLD(GTPP_Branch_Definition.METAL, "Gold", true, 0xEBC633, 0xEDCC47) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.GOLD), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(LEAD.species, - * COPPER.species, 20); } }, ALUMINIUM(GTPP_Branch_Definition.RAREMETAL, "Aluminium", true, 0xB8B8FF, 0xD6D6FF) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.ALUMINIUM), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.HOT); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(NICKEL.species, - * ZINC.species, 18); } }, TITANIUM(GTPP_Branch_Definition.RAREMETAL, "Titanium", true, 0xCC99FF, 0xDBB8FF) { - * @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.SLAG), 0.30f); - * beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CustomCombs.TITANIUM), 0.15f); - * beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.HOT); } - * @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.COMMON.getTemplate(); } - * @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, - * ALUMINIUM.species, 5); } } - */ - - ; - - private final GTPP_Branch_Definition branch; - private final IAlleleBeeSpeciesCustom species; - - private IAllele[] template; - private IBeeGenome genome; - - GTPP_Bee_Definition(GTPP_Branch_Definition branch, String binomial, boolean dominant, int primary, int secondary) { - String lowercaseName = this.toString() - .toLowerCase(Locale.ENGLISH); - String species = "species" + WordUtils.capitalize(lowercaseName); - - String uid = "forestry." + species; - String description = "for.description." + species; - String name = "for.bees.species." + lowercaseName; - - this.branch = branch; - this.species = BeeManager.beeFactory.createSpecies( - uid, - dominant, - "Sengir", - name, - description, - branch.getBranch(), - binomial, - primary, - secondary); - } - - public static void initBees() { - for (GTPP_Bee_Definition bee : values()) { - bee.init(); - } - for (GTPP_Bee_Definition bee : values()) { - bee.registerMutations(); - } - } - - private static IAlleleBeeSpecies getSpecies(String name) { - return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele( - (new StringBuilder()).append("forestry.species") - .append(name) - .toString()); - } - - protected abstract void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies); - - protected abstract void setAlleles(IAllele[] template); - - protected abstract void registerMutations(); - - private void init() { - setSpeciesProperties(species); - - template = branch.getTemplate(); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPECIES, species); - setAlleles(template); - - genome = BeeManager.beeRoot.templateAsGenome(template); - - BeeManager.beeRoot.registerTemplate(template); - } - - protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, - int chance) { - IAllele[] template = getTemplate(); - Logger.DEBUG_BEES("parent1: " + (parent1 != null)); - Logger.DEBUG_BEES("parent2: " + (parent2 != null)); - Logger.DEBUG_BEES("chance: " + (chance)); - Logger.DEBUG_BEES("template: " + (template != null)); - return BeeManager.beeMutationFactory.createMutation(parent1, parent2, template, chance); - } - - @Override - public final IAllele[] getTemplate() { - return Arrays.copyOf(template, template.length); - } - - @Override - public final IBeeGenome getGenome() { - return genome; - } - - @Override - public final IBee getIndividual() { - return new Bee(genome); - } - - @Override - public final ItemStack getMemberStack(EnumBeeType beeType) { - IBee bee = getIndividual(); - return BeeManager.beeRoot.getMemberStack(bee, beeType.ordinal()); - } - - public final IBeeDefinition getRainResist() { - return new BeeVariation.RainResist(this); - } - - private static ItemStack getSlagComb() { - return issStackValid(ItemUtils.getSimpleStack(GTPP_Bees.Comb_Slag, 1)); - } - - private static ItemStack getStoneComb() { - return issStackValid(ItemUtils.getSimpleStack(GTPP_Bees.Comb_Stone, 1)); - } - - private static ItemStack issStackValid(ItemStack result) { - if (result == null) { - return ItemUtils.getErrorStack(1); - } - return result; - } - - public static IAlleleBeeSpecies getGregtechBeeType(String name) { - try { - Enum gtBeeEnumObject = Enum.valueOf(GT_BeeDefinition.class, name); - Field gtBeesField = FieldUtils.getDeclaredField(GT_BeeDefinition.class, "species", true); - gtBeesField.setAccessible(true); - ReflectionUtils.makeFieldAccessible(gtBeesField); - Object beeType = gtBeesField.get(gtBeeEnumObject); - return (IAlleleBeeSpecies) beeType; - } catch (IllegalArgumentException | IllegalAccessException e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java deleted file mode 100644 index 4d04e3ad31..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java +++ /dev/null @@ -1,172 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.custom; - -import static gregtech.api.enums.Mods.Forestry; -import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; - -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import org.apache.commons.lang3.reflect.FieldUtils; - -import gregtech.GT_Mod; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -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.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class GTPP_Bees { - - // Custom Comb Drop Base Items - public static Item dropForceGem; - public static Item dropBiomassBlob; - public static Item dropEthanolBlob; - public static Item dropNikoliteDust; - public static Item dropFluorineBlob; - - // Base Comb Item - public static ItemCustomComb combs; - - // Combs obtained via reflection - public static ItemStack Comb_Slag; - public static ItemStack Comb_Stone; - - // Materials obtained via reflection - public static Materials PTFE; - public static Materials PBS; - - // public static GTPP_Branch_Definition definition; - - public GTPP_Bees() { - if (Forestry.isModLoaded()) { - - // Set Materials and Comb stacks from GT via Reflection - setMaterials(); - setCustomItems(); - - try { - combs = new ItemCustomComb(); - combs.initCombsRecipes(); - GTPP_Bee_Definition.initBees(); - } catch (Throwable t) { - Logger.BEES("Failed to load bees, probably due to an ancient forestry version"); - t.printStackTrace(); - } - } - } - - private void setCustomItems() { - dropForceGem = new BaseItemMisc("Force", new short[] { 250, 250, 20 }, 64, MiscTypes.GEM, null); - dropBiomassBlob = new BaseItemMisc("Biomass", new short[] { 33, 225, 24 }, 64, MiscTypes.DROP, null); - dropEthanolBlob = new BaseItemMisc("Ethanol", new short[] { 255, 128, 0 }, 64, MiscTypes.DROP, null); - - // Nikolite may not exist, so lets make it. - dropNikoliteDust = ItemUtils - .generateSpecialUseDusts("Nikolite", "Nikolite", Utils.rgbtoHexValue(60, 180, 200))[2]; - - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingotNikolite", 1) == null) { - new BaseItemIngot_OLD("itemIngotNikolite", "Nikolite", Utils.rgbtoHexValue(60, 180, 200), 0); - } - - dropFluorineBlob = new BaseItemMisc("Fluorine", new short[] { 30, 230, 230 }, 64, MiscTypes.DROP, null); - addRecipes(); - } - - private void addRecipes() { - addExtractorRecipe(ItemUtils.getSimpleStack(dropBiomassBlob), FluidUtils.getFluidStack("biomass", 30)); - addExtractorRecipe(ItemUtils.getSimpleStack(dropEthanolBlob), FluidUtils.getFluidStack("ethanol", 6)); - addExtractorRecipe(ItemUtils.getSimpleStack(dropFluorineBlob), FluidUtils.getFluidStack("fluorine", 4)); - } - - private void addExtractorRecipe(ItemStack input, FluidStack output) { - GT_Values.RA.stdBuilder() - .itemInputs(input) - .fluidOutputs(output) - .duration(1 * SECONDS + 10 * TICKS) - .eut(8) - .addTo(fluidExtractionRecipes); - } - - private static boolean tryGetBeesBoolean() { - try { - Class mProxy = Class.forName("gregtech.GT_Mod.gregtechproxy"); - Field mNerf = FieldUtils.getDeclaredField(mProxy, "mGTBees", true); - boolean returnValue = (boolean) mNerf.get(GT_Mod.gregtechproxy); - return returnValue; - } catch (ClassNotFoundException | IllegalArgumentException | IllegalAccessException e) { - return false; - } - } - - private void setMaterials() { - try { - - Class gtBees = Class.forName("gregtech.loaders.misc.GT_Bees"); - Class gtCombItemClass = Class.forName("gregtech.common.items.ItemComb"); - Class gtCombEnumClass = Class.forName("gregtech.common.items.CombType"); - Field gtCombs = FieldUtils.getDeclaredField(gtBees, "combs", true); - gtCombs.setAccessible(true); - ReflectionUtils.makeFieldAccessible(gtCombs); - Enum gtCombTypeSlag = Enum.valueOf(gtCombEnumClass, "SLAG"); - Enum gtCombTypeStone = Enum.valueOf(gtCombEnumClass, "STONE"); - Object oCombObject = gtCombs.get(null); - - Logger.DEBUG_BEES("Field getModifiers: " + gtCombs.getModifiers()); - Logger.DEBUG_BEES("Field toGenericString: " + gtCombs.toGenericString()); - Logger.DEBUG_BEES("Field getClass: " + gtCombs.getClass()); - Logger.DEBUG_BEES("Field isEnumConstant: " + gtCombs.isEnumConstant()); - Logger.DEBUG_BEES("Field isSynthetic: " + gtCombs.isSynthetic()); - Logger.DEBUG_BEES("Field get(gtBees) != null: " + (gtCombs.get(gtBees) != null)); - Logger.DEBUG_BEES("Field isAccessible: " + gtCombs.isAccessible()); - - Logger.BEES("gtBees: " + (gtBees != null)); - Logger.BEES("gtCombItemClass: " + (gtCombItemClass != null)); - Logger.BEES("gtCombEnumClass: " + (gtCombEnumClass != null)); - Logger.BEES("gtCombs: " + (gtCombs != null)); - Logger.BEES("gtCombTypeSlag: " + (gtCombTypeSlag != null)); - Logger.BEES("gtCombTypeStone: " + (gtCombTypeStone != null)); - Logger.BEES("oCombObject: " + (oCombObject != null)); - - // if (gtCombItemClass.isInstance(oCombObject)){ - Method getStackForType; - getStackForType = gtCombItemClass.getDeclaredMethod("getStackForType", gtCombEnumClass); - - if (getStackForType != null) { - Logger.BEES("Found Method: getStackForType"); - } - if (Comb_Slag == null) { - Comb_Slag = (ItemStack) getStackForType.invoke(gtBees, gtCombTypeSlag); - } - if (Comb_Stone == null) { - Comb_Stone = (ItemStack) getStackForType.invoke(gtBees, gtCombTypeStone); - } - - } catch (NullPointerException | ClassNotFoundException | IllegalArgumentException | IllegalAccessException - | NoSuchMethodException | SecurityException | InvocationTargetException e) { - Logger.BEES("Bad Reflection. setMaterials()"); - } - - PTFE = trySetValue("Polytetrafluoroethylene"); - PBS = trySetValue("StyreneButadieneRubber"); - } - - private Materials trySetValue(String material) { - Materials mTemp = Materials.get(material); - if (mTemp != Materials._NULL) { - return mTemp; - } - return Materials._NULL; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Branch_Definition.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Branch_Definition.java deleted file mode 100644 index 94e6078c49..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Branch_Definition.java +++ /dev/null @@ -1,76 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.custom; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IClassification; -import gtPlusPlus.api.objects.Logger; - -public enum GTPP_Branch_Definition { - - ORGANIC("ORGANIC"), - GEM("GEM"), - METAL("METAL"), - RAREMETAL("RAREMETAL"), - RADIOACTIVE("RADIOACTIVE"); - - final String mFieldName; - final Enum mActualValues; - - GTPP_Branch_Definition(String mValue) { - this.mFieldName = mValue; - this.mActualValues = setEnumVar(mValue); - } - - public final IAllele[] getTemplate() { - Class gtBranchDefClass; - try { - gtBranchDefClass = Class.forName("gregtech.loaders.misc.GT_BranchDefinition"); - Enum enumA = mActualValues; - Method methodMyMethod = gtBranchDefClass.getMethod("getTemplate"); - - Logger.INFO("[Bees] gtBranchDefClass: " + (gtBranchDefClass != null)); - Logger.INFO("[Bees] enumA: " + (enumA != null)); - Logger.INFO("[Bees] methodMyMethod: " + (methodMyMethod != null)); - - return (IAllele[]) methodMyMethod.invoke(enumA); - } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | IllegalAccessException - | IllegalArgumentException | InvocationTargetException e) { - Logger.INFO("[Bees] Bad Reflection. getTemplate()"); - e.printStackTrace(); - // gregtech.loaders.misc.GT_BranchDefinition.getTemplate() - return null; - } - } - - public final IClassification getBranch() { - Class gtBranchDefClass; - try { - gtBranchDefClass = Class.forName("gregtech.loaders.misc.GT_BranchDefinition"); - Enum enum_MY_SAMPLE_ENUM = mActualValues; - Method methodMyMethod = gtBranchDefClass.getMethod("getBranch"); - - Logger.INFO("[Bees] gtBranchDefClass: " + (gtBranchDefClass != null)); - Logger.INFO("[Bees] enum_MY_SAMPLE_ENUM: " + (enum_MY_SAMPLE_ENUM != null)); - Logger.INFO("[Bees] methodMyMethod: " + (methodMyMethod != null)); - - return (IClassification) methodMyMethod.invoke(enum_MY_SAMPLE_ENUM); - } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | IllegalAccessException - | IllegalArgumentException | InvocationTargetException e) { - Logger.INFO("[Bees] Bad Reflection. getBranch()"); - e.printStackTrace(); - return null; - } - } - - private Enum setEnumVar(String value) { - try { - Class gtBranchDefClass = Class.forName("gregtech.loaders.misc.GT_BranchDefinition"); - Enum branchDef = Enum.valueOf(gtBranchDefClass, value); - return branchDef; - } catch (ClassNotFoundException e) { - return null; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java deleted file mode 100644 index 63c0ae53ec..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java +++ /dev/null @@ -1,142 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.custom; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; - -import java.util.List; - -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 cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import forestry.api.core.Tabs; -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_OreDictUnificator; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class ItemCustomComb extends Item { - - @SideOnly(Side.CLIENT) - private IIcon secondIcon; - - public ItemCustomComb() { - super(); - this.setCreativeTab(Tabs.tabApiculture); - this.setHasSubtypes(true); - this.setUnlocalizedName("gtpp.comb"); - GameRegistry.registerItem(this, "gtpp.comb", GTPlusPlus.ID); - } - - public ItemStack getStackForType(CustomCombs type) { - return new ItemStack(this, 1, type.ordinal()); - } - - public ItemStack getStackForType(CustomCombs type, int count) { - return new ItemStack(this, count, type.ordinal()); - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs tabs, List list) { - for (CustomCombs type : CustomCombs.values()) { - if (type.showInList) { - list.add(this.getStackForType(type)); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - public int getRenderPasses(int meta) { - return 2; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("forestry:beeCombs.0"); - this.secondIcon = par1IconRegister.registerIcon("forestry:beeCombs.1"); - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return (pass == 0) ? itemIcon : secondIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) { - int meta = Math.max(0, Math.min(CustomCombs.values().length - 1, stack.getItemDamage())); - int colour = CustomCombs.values()[meta].getColours()[0]; - - if (pass >= 1) { - colour = CustomCombs.values()[meta].getColours()[1]; - } - - return colour; - } - - @Override - public String getItemStackDisplayName(ItemStack stack) { - return CustomCombs.values()[stack.getItemDamage()].getName(); - } - - public void initCombsRecipes() { - ItemStack tComb; - - tComb = getStackForType(CustomCombs.SILICON); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silicon, 1), 30); - // addProcess(tComb, Materials.Silver, 100); - // addProcess(tComb, Materials.Galena, 100); - - // Rubbers - tComb = getStackForType(CustomCombs.RUBBER); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Rubber, 1), 30); - tComb = getStackForType(CustomCombs.PLASTIC); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plastic, 1), 20); - tComb = getStackForType(CustomCombs.PTFE); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, GTPP_Bees.PTFE, 1), 10); - tComb = getStackForType(CustomCombs.PBS); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, GTPP_Bees.PBS, 1), 5); - - // Fuels - tComb = getStackForType(CustomCombs.BIOMASS); - addSpecialCent(tComb, ItemUtils.getSimpleStack(GTPP_Bees.dropBiomassBlob), 5); - tComb = getStackForType(CustomCombs.PBS); - addSpecialCent(tComb, ItemUtils.getSimpleStack(GTPP_Bees.dropEthanolBlob), 5); - - // Misc Materials - tComb = getStackForType(CustomCombs.FORCE); - addSpecialCent(tComb, ItemUtils.getSimpleStack(GTPP_Bees.dropForceGem), 5); - tComb = getStackForType(CustomCombs.FLUORINE); - addSpecialCent(tComb, ItemUtils.getSimpleStack(GTPP_Bees.dropFluorineBlob), 5); - tComb = getStackForType(CustomCombs.NIKOLITE); - addSpecialCent(tComb, ItemUtils.getSimpleStack(GTPP_Bees.dropNikoliteDust), 5); - } - - public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance) { - GT_Values.RA.stdBuilder() - .itemInputs(tComb) - .itemOutputs(aOutput, ItemList.FR_Wax.get(1)) - .outputChances(chance * 100, 3000) - .duration(6 * SECONDS + 8 * TICKS) - .eut(5) - .addTo(centrifugeRecipes); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_CombType.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_CombType.java deleted file mode 100644 index 31b14ed4e6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_CombType.java +++ /dev/null @@ -1,62 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.handler; - -import net.minecraft.item.ItemStack; - -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; - -public enum GTPP_CombType { - - DRAGONBLOOD(0, "Dragon Blood", true, 30, Utils.rgbtoHexValue(220, 20, 20), Utils.rgbtoHexValue(20, 20, 20)), - FORCE(1, "Force", true, 30, Utils.rgbtoHexValue(250, 250, 20), Utils.rgbtoHexValue(200, 200, 5)); - - public boolean mShowInList; - public final Material mMaterial; - public final int mChance; - public final int mID; - - private final String mName; - private final String mNameUnlocal; - private final int[] mColour; - - private static void map(int aId, GTPP_CombType aType) { - GTPP_Bees.sCombMappings.put(aId, aType); - } - - public static GTPP_CombType get(int aID) { - return GTPP_Bees.sCombMappings.get(aID); - } - - GTPP_CombType(int aID, String aName, boolean aShow, int aChance, int... aColour) { - this.mID = aID; - this.mName = aName; - this.mNameUnlocal = aName.toLowerCase() - .replaceAll(" ", ""); - this.mChance = aChance; - this.mShowInList = aShow; - this.mColour = aColour; - map(aID, this); - this.mMaterial = GTPP_Bees.sMaterialMappings.get( - aName.toLowerCase() - .replaceAll(" ", "")); - GT_LanguageManager.addStringLocalization("gtplusplus.comb." + this.mNameUnlocal, this.mName + " Comb"); - } - - public void setHidden() { - this.mShowInList = false; - } - - public String getName() { - return GT_LanguageManager.getTranslation("gtplusplus.comb." + this.mNameUnlocal); - } - - public int[] getColours() { - return mColour == null || mColour.length != 2 ? new int[] { 0, 0 } : mColour; - } - - public ItemStack getStackForType(int count) { - return new ItemStack(GTPP_Bees.combs, count, mID); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_DropType.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_DropType.java deleted file mode 100644 index 9819c586cd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_DropType.java +++ /dev/null @@ -1,61 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.handler; - -import net.minecraft.item.ItemStack; - -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; - -public enum GTPP_DropType { - - DRAGONBLOOD(0, "Dragon Blood", true, Utils.rgbtoHexValue(220, 20, 20), Utils.rgbtoHexValue(20, 20, 20)), - FORCE(1, "Force", true, Utils.rgbtoHexValue(250, 250, 20), Utils.rgbtoHexValue(200, 200, 5)); - - public boolean mShowInList; - public final Material mMaterial; - public int mChance; - public final int mID; - - private final String mName; - private final String mNameUnlocal; - private final int[] mColour; - - private static void map(int aId, GTPP_DropType aType) { - GTPP_Bees.sDropMappings.put(aId, aType); - } - - public static GTPP_DropType get(int aID) { - return GTPP_Bees.sDropMappings.get(aID); - } - - private GTPP_DropType(int aID, String aName, boolean aShow, int... aColour) { - this.mID = aID; - this.mName = aName; - this.mNameUnlocal = aName.toLowerCase() - .replaceAll(" ", ""); - this.mShowInList = aShow; - this.mColour = aColour; - map(aID, this); - this.mMaterial = GTPP_Bees.sMaterialMappings.get( - aName.toLowerCase() - .replaceAll(" ", "")); - GT_LanguageManager.addStringLocalization("gtplusplus.drop." + this.mNameUnlocal, this.mName + " Drop"); - } - - public void setHidden() { - this.mShowInList = false; - } - - public String getName() { - return GT_LanguageManager.getTranslation("gtplusplus.drop." + this.mNameUnlocal); - } - - public int[] getColours() { - return mColour; - } - - public ItemStack getStackForType(int count) { - return new ItemStack(GTPP_Bees.drop, count, mID); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PollenType.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PollenType.java deleted file mode 100644 index 66451c7581..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PollenType.java +++ /dev/null @@ -1,60 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.handler; - -import net.minecraft.item.ItemStack; - -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; - -public enum GTPP_PollenType { - - DRAGONBLOOD(0, "Dragon Blood", true, Utils.rgbtoHexValue(220, 20, 20), Utils.rgbtoHexValue(20, 20, 20)); - - public boolean mShowInList; - public final Material mMaterial; - public int mChance; - public final int mID; - - private final String mName; - private final String mNameUnlocal; - private final int[] mColour; - - private static void map(int aId, GTPP_PollenType aType) { - GTPP_Bees.sPollenMappings.put(aId, aType); - } - - public static GTPP_PollenType get(int aID) { - return GTPP_Bees.sPollenMappings.get(aID); - } - - private GTPP_PollenType(int aID, String aName, boolean aShow, int... aColour) { - this.mID = aID; - this.mName = aName; - this.mNameUnlocal = aName.toLowerCase() - .replaceAll(" ", ""); - this.mShowInList = aShow; - this.mColour = aColour; - map(aID, this); - this.mMaterial = GTPP_Bees.sMaterialMappings.get( - aName.toLowerCase() - .replaceAll(" ", "")); - GT_LanguageManager.addStringLocalization("gtplusplus.pollen." + this.mNameUnlocal, this.mName + " Pollen"); - } - - public void setHidden() { - this.mShowInList = false; - } - - public String getName() { - return GT_LanguageManager.getTranslation("gtplusplus.pollen." + this.mNameUnlocal); - } - - public int[] getColours() { - return mColour; - } - - public ItemStack getStackForType(int count) { - return new ItemStack(GTPP_Bees.pollen, count, mID); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PropolisType.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PropolisType.java deleted file mode 100644 index eb3b617077..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PropolisType.java +++ /dev/null @@ -1,61 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.handler; - -import net.minecraft.item.ItemStack; - -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; - -public enum GTPP_PropolisType { - - DRAGONBLOOD(0, "Dragon Blood", true, Utils.rgbtoHexValue(220, 20, 20)), - FORCE(1, "Force", true, Utils.rgbtoHexValue(250, 250, 20)); - - public boolean mShowInList; - public final Material mMaterial; - public int mChance; - public final int mID; - - private final String mName; - private final String mNameUnlocal; - private final int mColour; - - private static void map(int aId, GTPP_PropolisType aType) { - GTPP_Bees.sPropolisMappings.put(aId, aType); - } - - public static GTPP_PropolisType get(int aID) { - return GTPP_Bees.sPropolisMappings.get(aID); - } - - private GTPP_PropolisType(int aID, String aName, boolean aShow, int aColour) { - this.mID = aID; - this.mName = aName; - this.mNameUnlocal = aName.toLowerCase() - .replaceAll(" ", ""); - this.mShowInList = aShow; - this.mColour = aColour; - map(aID, this); - this.mMaterial = GTPP_Bees.sMaterialMappings.get( - aName.toLowerCase() - .replaceAll(" ", "")); - GT_LanguageManager.addStringLocalization("gtplusplus.propolis." + this.mNameUnlocal, this.mName + " Propolis"); - } - - public void setHidden() { - this.mShowInList = false; - } - - public String getName() { - return GT_LanguageManager.getTranslation("gtplusplus.propolis." + this.mNameUnlocal); - } - - public int getColours() { - return mColour; - } - - public ItemStack getStackForType(int count) { - return new ItemStack(GTPP_Bees.propolis, count, mID); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_ItemRegistry.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_ItemRegistry.java deleted file mode 100644 index b61a91710e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_ItemRegistry.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011-2014 SirSengir. All rights reserved. This program and the accompanying materials are made - * available under the terms of the GNU Lesser Public License v3 which accompanies this distribution, and is available - * at http://www.gnu.org/licenses/lgpl-3.0.txt - * - * Various Contributors including, but not limited to: SirSengir (original work), CovertJaguar, Player, Binnie, - * MysteriousAges - ******************************************************************************/ -package gtPlusPlus.xmod.forestry.bees.items; - -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraftforge.common.ChestGenHooks; - -import cpw.mods.fml.common.Optional; -import cpw.mods.fml.common.registry.GameRegistry; -import forestry.core.utils.StringUtil; -import gregtech.api.enums.Mods; - -public class FR_ItemRegistry { - - // ----- Apiary Frames ---------------------- - - // Magic Bee Frame Items - public static MB_ItemFrame hiveFrameAccelerated; - public static MB_ItemFrame hiveFrameVoid; - public static MB_ItemFrame hiveFrameMutagenic; - public static MB_ItemFrame hiveFrameBusy; - - // Extra Bee Frame Items - public static MB_ItemFrame hiveFrameCocoa; - public static MB_ItemFrame hiveFrameCaged; - public static MB_ItemFrame hiveFrameSoul; - public static MB_ItemFrame hiveFrameClay; - public static MB_ItemFrame hiveFrameNova; - - // Frame Items added by bartimaeusnek - public static MB_ItemFrame hiveFrameDecay; - public static MB_ItemFrame hiveFrameSlow; - public static MB_ItemFrame hiveFrameStalilize; - public static MB_ItemFrame hiveFrameArborist; - - @Optional.Method(modid = Mods.Names.FORESTRY) - public static void Register() { - - // Forestry Frames - // frameUntreated = registerItem(new FR_ItemHiveFrame(80, 0.9f), "frameUntreated"); - // frameImpregnated = registerItem(new FR_ItemHiveFrame(240, 0.4f), "frameImpregnated"); - // frameProven = registerItem(new FR_ItemHiveFrame(720, 0.3f), "frameProven"); - - // Magic Bee like Frames - - 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."); - 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)); - ChestGenHooks.addItem( - ChestGenHooks.STRONGHOLD_LIBRARY, - new WeightedRandomChestContent(new ItemStack(hiveFrameVoid), 1, 3, 18)); - ChestGenHooks.addItem( - ChestGenHooks.DUNGEON_CHEST, - new WeightedRandomChestContent(new ItemStack(hiveFrameVoid), 1, 1, 14)); - ChestGenHooks.addItem( - ChestGenHooks.MINESHAFT_CORRIDOR, - new WeightedRandomChestContent(new ItemStack(hiveFrameVoid), 1, 1, 9)); - ChestGenHooks.addItem( - ChestGenHooks.PYRAMID_DESERT_CHEST, - new WeightedRandomChestContent(new ItemStack(hiveFrameMutagenic), 1, 1, 9)); - ChestGenHooks.addItem( - ChestGenHooks.PYRAMID_JUNGLE_CHEST, - new WeightedRandomChestContent(new ItemStack(hiveFrameMutagenic), 1, 3, 12)); - ChestGenHooks.addItem( - ChestGenHooks.MINESHAFT_CORRIDOR, - new WeightedRandomChestContent(new ItemStack(hiveFrameMutagenic), 1, 3, 8)); - ChestGenHooks.addItem( - ChestGenHooks.DUNGEON_CHEST, - new WeightedRandomChestContent(new ItemStack(hiveFrameMutagenic), 1, 3, 12)); - - // Frame Items added by bartimaeusnek - hiveFrameDecay = new MB_ItemFrame( - MB_FrameType.DECAYING, - EnumRarity.uncommon, - "Who really needs stable genetics?"); - hiveFrameSlow = new MB_ItemFrame(MB_FrameType.SLOWING, EnumRarity.common, "The journey is its own reward."); - hiveFrameStalilize = new MB_ItemFrame( - MB_FrameType.STABILIZING, - EnumRarity.rare, - "If you wish your bees to keep their form."); - hiveFrameArborist = new MB_ItemFrame( - MB_FrameType.ARBORISTS, - EnumRarity.common, - "Who need Bees when you can have Trees?"); - ChestGenHooks.addItem( - ChestGenHooks.PYRAMID_JUNGLE_CHEST, - new WeightedRandomChestContent(new ItemStack(hiveFrameArborist), 1, 4, 24)); - ChestGenHooks.addItem( - ChestGenHooks.STRONGHOLD_LIBRARY, - new WeightedRandomChestContent(new ItemStack(hiveFrameSlow), 1, 4, 24)); - } - - protected static T registerItem(final T item, final String name) { - item.setUnlocalizedName(name); - GameRegistry.registerItem(item, StringUtil.cleanItemName(item)); - return item; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_StringUtil.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_StringUtil.java deleted file mode 100644 index c63401aecf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_StringUtil.java +++ /dev/null @@ -1,14 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.items; - -import net.minecraft.util.StatCollector; - -public class FR_StringUtil { - - public static String getLocalizedString(final String key) { - if (StatCollector.canTranslate(key)) { - return StatCollector.translateToLocal(key); - } - return StatCollector.translateToFallback(key); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/MB_FrameType.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/MB_FrameType.java deleted file mode 100644 index 418c05587f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/MB_FrameType.java +++ /dev/null @@ -1,126 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.items; - -import forestry.api.apiculture.IBeeGenome; -import forestry.api.apiculture.IBeeModifier; - -public enum MB_FrameType implements IBeeModifier { - - // ExtraBees Clone Frames - // Name, FrameHP, territory (1f), Mutation rate, lifespan rate, production rate, genetic decay (1f) - COCOA("Chocolate", 240, 1.0f, 1.0f, 0.50f, 0.50f, 1f), // production was 1.5x, now +0.5 - CAGE("Restraint", 240, 0.5f, 1.0f, 0.75f, -0.25f, 1f), // production was 0.75x, now -0.25 - SOUL("Soul", 80, 1.0f, 1.5f, 0.75f, -0.75f, 1f), // production was 0.25x, now -0.75 - CLAY("Healing", 240, 1.0f, 0.5f, 1.50f, -0.25f, 1f), // production was 0.75x, now -0.25 - NOVA("Nova", 240, 1.0f, 100.0f, 0.0001f, 0.00f, 1f), // production was 1x, now +0 - - // Name, FrameHP, territory (1f), Mutation rate, lifespan rate, production rate, genetic decay (1f) - ACCELERATED("Accelerated", 175, 1f, 1.2f, 0.9f, 0.8f, 1f), // production was 1.8x, now +0.8 - VOID("Void", 20, 1f, 1f, 0.0001f, 9f, 1f), // production was 10x, now +9 - MUTAGENIC("Mutagenic", 3, 1f, 5f, 0.0001f, 9f, 1f), // production was 10x, now +9 - BUSY("Busy", 2000, 1f, 0f, 3f, 3f, 1f), // production was 4x, now +3 - USELESS("Useless", 100, 1f, 0f, 1f, 0f, 1f), // production was 1x, now +0 - - // Frame Items added by bartimaeusnek - DECAYING("Decaying", 240, 1f, 1f, 1f, 0f, 10f), // enhanches decay to 10x // production was 1x, now +0 - SLOWING("Slowing", 175, 1f, 0.5f, 2f, -0.5f, 1f), // reduces mutation, production rate and enhanches lifespan // - // production was 0.5x, now -0.5 - STABILIZING("Stabilizing", 60, 1f, 0.1f, 1f, -0.9f, 0.5f), // reduces mutation, production and decay // production - // was 0.1x, now -0.9 - ARBORISTS("Arborists", 240, 3f, 0f, 3f, -9001f, 1f); // 3x territory and lifespan, sets mutation and production to - // zero // production was 0x, now -9001 - - private final String frameName; - public final int maxDamage; - - private final float territoryMod; - private final float mutationMod; - private final float lifespanMod; - private final float productionMod; - private final float floweringMod; - private final float geneticDecayMod; - private final boolean isSealed; - private final boolean isLit; - private final boolean isSunlit; - private final boolean isHellish; - - MB_FrameType(final String name, final int damage, final float territory, final float mutation, final float lifespan, - final float production, final float geneticDecay) { - this(name, damage, territory, mutation, lifespan, production, 1f, geneticDecay, false, false, false, false); - } - - MB_FrameType(final String name, final int damage, final float territory, final float mutation, final float lifespan, - final float production, final float flowering, final float geneticDecay, final boolean sealed, - final boolean lit, final boolean sunlit, final boolean hellish) { - this.frameName = name; - this.maxDamage = damage; - - this.territoryMod = territory; - this.mutationMod = mutation; - this.lifespanMod = lifespan; - this.productionMod = production; - this.floweringMod = flowering; - this.geneticDecayMod = geneticDecay; - this.isSealed = sealed; - this.isLit = lit; - this.isSunlit = sunlit; - this.isHellish = hellish; - } - - public String getName() { - return this.frameName; - } - - public String getLocalizedName() { - return FR_StringUtil.getLocalizedString("frame." + this.frameName); - } - - @Override - public float getTerritoryModifier(final IBeeGenome genome, final float currentModifier) { - return this.territoryMod; - } - - @Override - public float getMutationModifier(final IBeeGenome genome, final IBeeGenome mate, final float currentModifier) { - return this.mutationMod; - } - - @Override - public float getLifespanModifier(final IBeeGenome genome, final IBeeGenome mate, final float currentModifier) { - return this.lifespanMod; - } - - @Override - public float getProductionModifier(final IBeeGenome genome, final float currentModifier) { - return this.productionMod; - } - - @Override - public float getFloweringModifier(final IBeeGenome genome, final float currentModifier) { - return this.floweringMod; - } - - @Override - public float getGeneticDecay(final IBeeGenome genome, final float currentModifier) { - return this.geneticDecayMod; - } - - @Override - public boolean isSealed() { - return this.isSealed; - } - - @Override - public boolean isSelfLighted() { - return this.isLit; - } - - @Override - public boolean isSunlightSimulated() { - return this.isSunlit; - } - - @Override - public boolean isHellish() { - return this.isHellish; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/MB_ItemFrame.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/MB_ItemFrame.java deleted file mode 100644 index e5d36d15e8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/MB_ItemFrame.java +++ /dev/null @@ -1,142 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.items; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -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 cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import forestry.api.apiculture.IBee; -import forestry.api.apiculture.IBeeGenome; -import forestry.api.apiculture.IBeeHousing; -import forestry.api.apiculture.IBeeModifier; -import forestry.api.apiculture.IHiveFrame; -import gtPlusPlus.core.creative.AddToCreativeTab; - -public class MB_ItemFrame extends Item implements IHiveFrame { - - private final MB_FrameType type; - private EnumRarity rarity_value = EnumRarity.uncommon; - private final String toolTip; - - public MB_ItemFrame(final MB_FrameType frameType, final String description) { - this(frameType, EnumRarity.uncommon, description); - } - - public MB_ItemFrame(final MB_FrameType frameType, final EnumRarity rarity, final String description) { - super(); - this.type = frameType; - this.setMaxDamage(this.type.maxDamage); - this.setMaxStackSize(1); - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setUnlocalizedName("frame" + frameType.getName()); - this.rarity_value = rarity; - this.toolTip = description; - GameRegistry.registerItem(this, "frame" + frameType.getName()); - } - - @Override - public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - if ((this.toolTip != "") || !this.toolTip.equals("")) { - list.add(EnumChatFormatting.GRAY + this.toolTip); - } - super.addInformation(stack, aPlayer, list, bool); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(GTPlusPlus.ID + ":frame" + this.type.getName()); - } - - // --------- IHiveFrame functions ----------------------------------------- - - @Override - public ItemStack frameUsed(final IBeeHousing housing, ItemStack frame, final IBee queen, final int wear) { - frame.setItemDamage(frame.getItemDamage() + wear); - - if (frame.getItemDamage() >= frame.getMaxDamage()) { - // Break the frame. - frame = null; - } - - return frame; - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(final ItemStack par1ItemStack) { - return this.rarity_value; - } - - @Override - public boolean hasEffect(final ItemStack par1ItemStack, final int pass) { - if ((this.rarity_value == EnumRarity.uncommon) || (this.rarity_value == EnumRarity.common)) { - return false; - } - return true; - } - - @Override - public IBeeModifier getBeeModifier() { - return this.type; - } - - @Override - public boolean isBookEnchantable(final ItemStack itemstack1, final ItemStack itemstack2) { - return false; - } - - @Override - public boolean isRepairable() { - return false; - } - - public float getTerritoryModifier(final IBeeGenome genome, final float currentModifier) { - return this.type.getTerritoryModifier(genome, currentModifier); - } - - public float getMutationModifier(final IBeeGenome genome, final IBeeGenome mate, final float currentModifier) { - return this.type.getMutationModifier(genome, mate, currentModifier); - } - - public float getLifespanModifier(final IBeeGenome genome, final IBeeGenome mate, final float currentModifier) { - return this.type.getLifespanModifier(genome, mate, currentModifier); - } - - public float getProductionModifier(final IBeeGenome genome, final float currentModifier) { - return this.type.getProductionModifier(genome, currentModifier); - } - - public float getFloweringModifier(final IBeeGenome genome, final float currentModifier) { - return this.type.getFloweringModifier(genome, currentModifier); - } - - public float getGeneticDecay(final IBeeGenome genome, final float currentModifier) { - return this.type.getGeneticDecay(genome, currentModifier); - } - - public boolean isSealed() { - return this.type.isSealed(); - } - - public boolean isSelfLighted() { - return this.type.isSelfLighted(); - } - - public boolean isSunlightSimulated() { - return this.type.isSunlightSimulated(); - } - - public boolean isHellish() { - return this.type.isHellish(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java deleted file mode 100644 index 7c9cc5a990..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java +++ /dev/null @@ -1,131 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.items.output; - -import static gregtech.api.enums.Mods.Forestry; -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.FluidStack; - -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 gregtech.api.util.GT_ModHandler; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_CombType; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_DropType; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_PropolisType; -import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; - -public class GTPP_Comb extends Item { - - @SideOnly(Side.CLIENT) - private IIcon secondIcon; - - public GTPP_Comb() { - super(); - this.setCreativeTab(Tabs.tabApiculture); - this.setHasSubtypes(true); - this.setUnlocalizedName("gtpp.comb"); - GameRegistry.registerItem(this, "gtpp.comb", GTPlusPlus.ID); - } - - public ItemStack getStackForType(GTPP_CombType type) { - return new ItemStack(this, 1, type.mID); - } - - public ItemStack getStackForType(GTPP_CombType type, int count) { - return new ItemStack(this, count, type.mID); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs tabs, List list) { - for (GTPP_CombType type : GTPP_CombType.values()) { - if (type.mShowInList) { - list.add(this.getStackForType(type)); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - public int getRenderPasses(int meta) { - return 2; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("forestry:beeCombs.0"); - this.secondIcon = par1IconRegister.registerIcon("forestry:beeCombs.1"); - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return (pass == 0) ? itemIcon : secondIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) { - int colour = GTPP_CombType.get(stack.getItemDamage()) - .getColours()[0]; - - if (pass >= 1) { - colour = GTPP_CombType.get(stack.getItemDamage()) - .getColours()[1]; - } - - return colour; - } - - @Override - public String getItemStackDisplayName(ItemStack stack) { - return GTPP_CombType.get(stack.getItemDamage()) - .getName(); - } - - public static void initCombsRecipes() { - - addChemicalRecipe( - GTPP_CombType.DRAGONBLOOD, - new ItemStack[] { GT_ModHandler.getModItem(Forestry.ID, "refractoryWax", 1L, 0), - GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.DRAGONBLOOD), - GTPP_Bees.drop.getStackForType(GTPP_DropType.DRAGONBLOOD) }, - new int[] { 3000, 1500, 500 }); - addChemicalRecipe( - GTPP_CombType.FORCE, - new ItemStack[] { GT_ModHandler.getModItem(Forestry.ID, "beeswax", 1L, 0), - GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.FORCE), - GTPP_Bees.drop.getStackForType(GTPP_DropType.FORCE) }, - new int[] { 5000, 3000, 1000 }); - } - - public static void addChemicalRecipe(GTPP_CombType aInputStack, ItemStack[] aOutputs, int[] aChances) { - Material aMat = aInputStack.mMaterial; - long aEU = aMat.vVoltageMultiplier; - int aTier = Math.max(aMat.vTier / 2, 1); - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { aInputStack.getStackForType(aTier), }, - new FluidStack[] {}, - aOutputs, - new FluidStack[] {}, - aChances, - aTier * 20 * 60, - aEU, - aTier); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java deleted file mode 100644 index a84d11e74c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java +++ /dev/null @@ -1,131 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.items.output; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.FluidStack; - -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 gregtech.api.enums.GT_Values; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_DropType; -import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; - -public class GTPP_Drop extends Item { - - @SideOnly(Side.CLIENT) - private IIcon secondIcon; - - public GTPP_Drop() { - super(); - this.setCreativeTab(Tabs.tabApiculture); - this.setHasSubtypes(true); - this.setUnlocalizedName("gtpp.drop"); - GameRegistry.registerItem(this, "gtpp.drop", GTPlusPlus.ID); - } - - public ItemStack getStackForType(GTPP_DropType type) { - return new ItemStack(this, 1, type.mID); - } - - public ItemStack getStackForType(GTPP_DropType type, int count) { - return new ItemStack(this, count, type.mID); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs tabs, List list) { - for (GTPP_DropType type : GTPP_DropType.values()) { - if (type.mShowInList) { - list.add(this.getStackForType(type)); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - public int getRenderPasses(int meta) { - return 2; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("forestry:honeyDrop.0"); - this.secondIcon = par1IconRegister.registerIcon("forestry:honeyDrop.1"); - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return (pass == 0) ? itemIcon : secondIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) { - int colour = GTPP_DropType.get(stack.getItemDamage()) - .getColours()[0]; - - if (pass >= 1) { - colour = GTPP_DropType.get(stack.getItemDamage()) - .getColours()[1]; - } - - return colour; - } - - @Override - public String getItemStackDisplayName(ItemStack stack) { - return GTPP_DropType.get(stack.getItemDamage()) - .getName(); - } - - private static final int[] sFluidOutputs = new int[] { 144, 136, 128, 120, 112, 104, 96, 88, 80, 72, 64, 48, 32, 16, - 8, 4 }; - - public static void initDropsRecipes() { - ItemStack tDrop; - Logger.BEES("Processing recipes for " + GTPP_Bees.sDropMappings.size() + " Drops."); - for (GTPP_DropType aDrop : GTPP_Bees.sDropMappings.values()) { - tDrop = aDrop.getStackForType(1); - if (addProcess( - tDrop, - new FluidStack(aDrop.mMaterial.getFluid(), sFluidOutputs[aDrop.mMaterial.vTier]), - aDrop.mMaterial.vTier * 20 * 30, - aDrop.mMaterial.vVoltageMultiplier)) { - Logger.BEES("Added Drop extraction recipe for: " + aDrop.getName()); - } else { - Logger.BEES("Failed to add Drop extraction recipe for: " + aDrop.getName()); - } - } - } - - public static boolean addProcess(ItemStack tDrop, FluidStack aOutput, int aDuration, int aEUt) { - if (aOutput == null) { - return false; - } - GT_Values.RA.stdBuilder() - .itemInputs(tDrop) - .fluidOutputs(aOutput) - .duration(aDuration * TICKS) - .eut(aEUt) - .addTo(fluidExtractionRecipes); - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Pollen.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Pollen.java deleted file mode 100644 index 7e959151a0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Pollen.java +++ /dev/null @@ -1,92 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.items.output; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -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 cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import forestry.api.core.Tabs; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_PollenType; - -public class GTPP_Pollen extends Item { - - @SideOnly(Side.CLIENT) - private IIcon secondIcon; - - public GTPP_Pollen() { - super(); - this.setCreativeTab(Tabs.tabApiculture); - this.setHasSubtypes(true); - this.setUnlocalizedName("gtpp.pollen"); - GameRegistry.registerItem(this, "gtpp.pollen", GTPlusPlus.ID); - } - - public ItemStack getStackForType(GTPP_PollenType type) { - return new ItemStack(this, 1, type.mID); - } - - public ItemStack getStackForType(GTPP_PollenType type, int count) { - return new ItemStack(this, count, type.mID); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs tabs, List list) { - for (GTPP_PollenType type : GTPP_PollenType.values()) { - if (type.mShowInList) { - list.add(this.getStackForType(type)); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - public int getRenderPasses(int meta) { - return 2; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("forestry:pollen.0"); - this.secondIcon = par1IconRegister.registerIcon("forestry:pollen.1"); - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return (pass == 0) ? itemIcon : secondIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) { - int colour = GTPP_PollenType.get(stack.getItemDamage()) - .getColours()[0]; - - if (pass >= 1) { - colour = GTPP_PollenType.get(stack.getItemDamage()) - .getColours()[1]; - } - - return colour; - } - - @Override - public String getItemStackDisplayName(ItemStack stack) { - return GTPP_PollenType.get(stack.getItemDamage()) - .getName(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java deleted file mode 100644 index 1c1bd95d09..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java +++ /dev/null @@ -1,110 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.items.output; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.recipe.RecipeMaps.extractorRecipes; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; - -import java.util.List; - -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 cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import forestry.api.core.Tabs; -import gregtech.api.enums.GT_Values; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_PropolisType; -import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; - -public class GTPP_Propolis extends Item { - - @SideOnly(Side.CLIENT) - private IIcon secondIcon; - - public GTPP_Propolis() { - super(); - this.setCreativeTab(Tabs.tabApiculture); - this.setHasSubtypes(true); - this.setUnlocalizedName("gtpp.propolis"); - GameRegistry.registerItem(this, "gtpp.propolis", GTPlusPlus.ID); - } - - public ItemStack getStackForType(GTPP_PropolisType type) { - return new ItemStack(this, 1, type.mID); - } - - public ItemStack getStackForType(GTPP_PropolisType type, int count) { - return new ItemStack(this, count, type.mID); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs tabs, List list) { - for (GTPP_PropolisType type : GTPP_PropolisType.values()) { - if (type.mShowInList) { - list.add(this.getStackForType(type)); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("forestry:propolis.0"); - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return itemIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) { - return GTPP_PropolisType.get(stack.getItemDamage()) - .getColours(); - } - - @Override - public String getItemStackDisplayName(ItemStack stack) { - return GTPP_PropolisType.get(stack.getItemDamage()) - .getName(); - } - - public static void initPropolisRecipes() { - ItemStack tDrop; - Logger.BEES("Processing recipes for " + GTPP_Bees.sPropolisMappings.size() + " Propolis."); - for (GTPP_PropolisType aProp : GTPP_Bees.sPropolisMappings.values()) { - tDrop = aProp.getStackForType(1); - if (addProcess( - tDrop, - aProp.mMaterial.getDust(1), - Math.min(Math.max(10000 - (aProp.mMaterial.vTier * 625), 100), 10000), - aProp.mMaterial.vTier * 20 * 15, - aProp.mMaterial.vVoltageMultiplier)) { - Logger.BEES("Added Propolis extraction recipe for: " + aProp.getName()); - } else { - Logger.BEES("Failed to add Propolis extraction recipe for: " + aProp.getName()); - } - } - } - - public static boolean addProcess(ItemStack tDrop, ItemStack aOutput, int aChance, int aDuration, int aEUt) { - if (aOutput == null) { - return false; - } - GT_Values.RA.stdBuilder() - .itemInputs(tDrop) - .itemOutputs(aOutput) - .outputChances(aChance) - .duration(aDuration * TICKS) - .eut(aEUt) - .addTo(extractorRecipes); - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/recipe/FR_Gregtech_Recipes.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/recipe/FR_Gregtech_Recipes.java deleted file mode 100644 index ce982cd67e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/recipe/FR_Gregtech_Recipes.java +++ /dev/null @@ -1,134 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.recipe; - -import static gregtech.api.enums.Mods.MagicBees; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -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"; - private static String rod_LongElectrum = "stickLongElectrum"; - private static String foil_Electrum = "foilElectrum"; - private static String rod_Uranium = "stickUranium"; - private static String rod_LongUranium = "stickLongUranium"; - private static String foil_Uranium235 = "foilUranium235"; - private static ItemStack hiveFrameAccelerated = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameAccelerated); - private static ItemStack hiveFrameMutagenic = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameMutagenic); - private static ItemStack hiveFrameVoid = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameVoid); - private static ItemStack hiveFrameBusy = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameBusy); - - private static ItemStack hiveFrameCocoa = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameCocoa); - private static ItemStack hiveFrameCaged = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameCaged); - private static ItemStack hiveFrameSoul = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameSoul); - private static ItemStack hiveFrameClay = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameClay); - private static ItemStack hiveFrameNova = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameNova); - - private static ItemStack hiveFrameImpregnated = ItemUtils.getItemStackFromFQRN("Forestry:frameImpregnated", 1); - private static ItemStack blockSoulSand = new ItemStack(Blocks.soul_sand, 1); - private static ItemStack blockIronBars = new ItemStack(Blocks.iron_bars, 1); - private static ItemStack itemClayDust = new ItemStack(Items.clay_ball, 1); - private static ItemStack itemCocoaBeans = new ItemStack(Items.dye, 1, 3); - - private static ItemStack hiveFrameDecay = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameDecay); - private static ItemStack hiveFrameSlow = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameSlow); - private static ItemStack hiveFrameStalilize = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameStalilize); - private static ItemStack hiveFrameArborist = ItemUtils.getSimpleStack(FR_ItemRegistry.hiveFrameArborist); - - public static void registerItems() { - // Magic Bee Like Frames - RecipeUtils.addShapedGregtechRecipe( - rod_LongElectrum, - rod_Electrum, - rod_LongElectrum, - rod_LongElectrum, - foil_Electrum, - rod_LongElectrum, - rod_Electrum, - rod_Electrum, - rod_Electrum, - hiveFrameAccelerated); - - RecipeUtils.addShapedGregtechRecipe( - rod_LongUranium, - rod_Uranium, - rod_LongUranium, - rod_LongUranium, - foil_Uranium235, - rod_LongUranium, - rod_Uranium, - rod_Uranium, - rod_Uranium, - hiveFrameMutagenic); - if (MagicBees.isModLoaded()) { - RecipeUtils.addShapelessGregtechRecipe( - new ItemStack[] { hiveFrameVoid }, - ItemUtils.getCorrectStacktype("MagicBees:frameOblivion", 1)); - } - RecipeUtils.addShapedGregtechRecipe( - "stickLongBlueSteel", - "stickBlueSteel", - "stickLongBlueSteel", - "stickLongBlueSteel", - ItemUtils.getSimpleStack(Items.nether_star), - "stickLongBlueSteel", - "stickBlueSteel", - "stickBlueSteel", - "stickBlueSteel", - hiveFrameBusy); - - // Frame Items added by bartimaeusnek - RecipeUtils.addShapedGregtechRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("stickLongTumbaga", 1), - ItemUtils.getItemStackOfAmountFromOreDict("stickTumbaga", 1), - ItemUtils.getItemStackOfAmountFromOreDict("stickLongTumbaga", 1), - ItemUtils.getItemStackOfAmountFromOreDict("stickLongTumbaga", 1), - foil_Electrum, - ItemUtils.getItemStackOfAmountFromOreDict("stickLongTumbaga", 1), - ItemUtils.getItemStackOfAmountFromOreDict("stickTumbaga", 1), - ItemUtils.getItemStackOfAmountFromOreDict("stickTumbaga", 1), - ItemUtils.getItemStackOfAmountFromOreDict("stickTumbaga", 1), - hiveFrameSlow); - - RecipeUtils.addShapedGregtechRecipe( - "stickLongWroughtIron", - "stickWroughtIron", - "stickLongWroughtIron", - "stickLongWroughtIron", - "foilZinc", - "stickLongWroughtIron", - "stickWroughtIron", - "stickWroughtIron", - "stickWroughtIron", - hiveFrameDecay); - - RecipeUtils.addShapedGregtechRecipe( - "stickLongOsmiridium", - "stickOsmiridium", - "stickLongOsmiridium", - "stickLongOsmiridium", - "foilOsmiridium", - "stickLongOsmiridium", - "stickOsmiridium", - "stickOsmiridium", - "stickOsmiridium", - hiveFrameStalilize); - - RecipeUtils.addShapedGregtechRecipe( - "stickLongWoodSealed", - "stickWoodSealed", - "stickLongWoodSealed", - "stickLongWoodSealed", - Items.paper, - "stickLongWoodSealed", - "stickWoodSealed", - "stickWoodSealed", - "stickWoodSealed", - hiveFrameArborist); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_AlleleBeeSpecies.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_AlleleBeeSpecies.java deleted file mode 100644 index 05ce6e56e6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_AlleleBeeSpecies.java +++ /dev/null @@ -1,50 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.registry; - -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -import forestry.api.apiculture.EnumBeeChromosome; -import forestry.api.apiculture.IAlleleBeeSpeciesCustom; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IClassification; -import forestry.apiculture.genetics.alleles.AlleleBeeSpecies; - -public class GTPP_AlleleBeeSpecies extends AlleleBeeSpecies { - - public GTPP_AlleleBeeSpecies(String uid, boolean dominant, String unlocalizedName, String authority, - String unlocalizedDescription, IClassification branch, String binomial, int primaryColor, int secondaryColor) { - super( - uid, - unlocalizedName, - authority, - unlocalizedDescription, - dominant, - branch, - binomial, - primaryColor, - secondaryColor); - AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPECIES); - } - - @Override - public IAlleleBeeSpeciesCustom addProduct(ItemStack product, Float chance) { - if (product == null || product.getItem() == null) { - product = new ItemStack(Items.boat); - } - if (chance <= 0.0f || chance > 1.0f) { - chance = 0.1f; - } - return super.addProduct(product, chance); - } - - @Override - public IAlleleBeeSpeciesCustom addSpecialty(ItemStack specialty, Float chance) { - if (specialty == null || specialty.getItem() == null) { - specialty = new ItemStack(Items.boat); - } - if (chance <= 0.0f || chance > 1.0f) { - chance = 0.1f; - } - return super.addSpecialty(specialty, chance); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java deleted file mode 100644 index 73418bdab8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java +++ /dev/null @@ -1,301 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.registry; - -import static forestry.api.apiculture.EnumBeeChromosome.EFFECT; -import static forestry.api.apiculture.EnumBeeChromosome.HUMIDITY_TOLERANCE; -import static forestry.api.apiculture.EnumBeeChromosome.LIFESPAN; -import static forestry.api.apiculture.EnumBeeChromosome.SPECIES; -import static forestry.api.apiculture.EnumBeeChromosome.TEMPERATURE_TOLERANCE; -import static forestry.api.core.EnumHumidity.ARID; -import static gregtech.api.enums.Mods.Forestry; - -import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.Locale; -import java.util.function.Consumer; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.BiomeDictionary; - -import org.apache.commons.lang3.text.WordUtils; - -import forestry.api.apiculture.BeeManager; -import forestry.api.apiculture.EnumBeeType; -import forestry.api.apiculture.IAlleleBeeEffect; -import forestry.api.apiculture.IAlleleBeeSpecies; -import forestry.api.apiculture.IBee; -import forestry.api.apiculture.IBeeGenome; -import forestry.api.apiculture.IBeeMutationCustom; -import forestry.api.core.EnumHumidity; -import forestry.api.core.EnumTemperature; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IAlleleFlowers; -import forestry.apiculture.genetics.Bee; -import forestry.apiculture.genetics.BeeVariation; -import forestry.apiculture.genetics.IBeeDefinition; -import forestry.apiculture.genetics.alleles.AlleleEffect; -import forestry.core.genetics.alleles.AlleleHelper; -import forestry.core.genetics.alleles.EnumAllele.Lifespan; -import forestry.core.genetics.alleles.EnumAllele.Tolerance; -import gregtech.api.enums.Materials; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_ModHandler; -import gregtech.common.items.CombType; -import gregtech.loaders.misc.GT_Bees; -import gtPlusPlus.core.material.ELEMENT.STANDALONE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_CombType; - -public enum GTPP_BeeDefinition implements IBeeDefinition { - - DRAGONBLOOD(GTPP_BranchDefinition.LEGENDARY, "Dragon Blood", STANDALONE.DRAGON_METAL, true, - Utils.rgbtoHexValue(220, 20, 20), Utils.rgbtoHexValue(20, 20, 20), beeSpecies -> { - beeSpecies.addProduct(GT_ModHandler.getModItem(Forestry.ID, "beeCombs", 1, 8), 0.30f); - beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(GTPP_CombType.DRAGONBLOOD), 0.10f); - beeSpecies.setHumidity(ARID); - beeSpecies.setTemperature(EnumTemperature.NORMAL); - beeSpecies.setHasEffect(); - }, template -> { - AlleleHelper.instance.set(template, LIFESPAN, Lifespan.LONGER); - AlleleHelper.instance.set(template, EFFECT, AlleleEffect.effectAggressive); - AlleleHelper.instance.set(template, TEMPERATURE_TOLERANCE, Tolerance.BOTH_3); - AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.BOTH_3); - }, dis -> { - IBeeMutationCustom tMutation = dis.registerMutation("DRAGONESSENCE", "NEUTRONIUM", 2); - tMutation.restrictHumidity(ARID); - tMutation.requireResource(STANDALONE.DRAGON_METAL.getBlock(), 1); - tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(1, "End")); // End Dim - }), - FORCE(GTPP_BranchDefinition.LEGENDARY, "Force", STANDALONE.FORCE, true, Utils.rgbtoHexValue(250, 250, 20), - Utils.rgbtoHexValue(200, 200, 5), beeSpecies -> { - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALT), 0.15f); - beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(GTPP_CombType.FORCE), 0.10f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.HOT); - beeSpecies.setHasEffect(); - }, template -> { - AlleleHelper.instance.set(template, LIFESPAN, Lifespan.NORMAL); - AlleleHelper.instance.set(template, EFFECT, AlleleEffect.effectAggressive); - AlleleHelper.instance.set(template, TEMPERATURE_TOLERANCE, Tolerance.BOTH_1); - AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.BOTH_1); - }, dis -> { - IBeeMutationCustom tMutation = dis.registerMutation("STEEL", "GOLD", 10); - tMutation.restrictHumidity(ARID); - tMutation.restrictBiomeType(BiomeDictionary.Type.HOT); - }),; - - private final GTPP_BranchDefinition branch; - private final GTPP_AlleleBeeSpecies species; - private final Consumer mSpeciesProperties; - private final Consumer mAlleles; - private final Consumer mMutations; - private IAllele[] template; - private IBeeGenome genome; - - GTPP_BeeDefinition(GTPP_BranchDefinition branch, String binomial, Materials aMat, boolean dominant, int primary, - int secondary, Consumer aSpeciesProperties, Consumer aAlleles, - Consumer aMutations) { - this( - branch, - binomial, - MaterialUtils.generateMaterialFromGtENUM(aMat), - dominant, - primary, - secondary, - aSpeciesProperties, - aAlleles, - aMutations); - } - - GTPP_BeeDefinition(GTPP_BranchDefinition branch, String binomial, Material aMat, boolean dominant, int primary, - int secondary, Consumer aSpeciesProperties, Consumer aAlleles, - Consumer aMutations) { - this.mAlleles = aAlleles; - this.mMutations = aMutations; - this.mSpeciesProperties = aSpeciesProperties; - String lowercaseName = this.toString() - .toLowerCase(Locale.ENGLISH); - String species = WordUtils.capitalize(binomial); - String uid = "gtpp.bee.species" + species; - String description = "for.description." + species; - String name = "for.bees.species." + lowercaseName; - GT_LanguageManager.addStringLocalization("for.bees.species." + lowercaseName, species, true); - GTPP_Bees.sMaterialMappings.put( - binomial.toLowerCase() - .replaceAll(" ", ""), - aMat); - this.branch = branch; - this.species = new GTPP_AlleleBeeSpecies( - uid, - dominant, - name, - "GT++", - description, - branch.getBranch(), - binomial, - primary, - secondary); - } - - public static void initBees() { - for (GTPP_BeeDefinition bee : values()) { - bee.init(); - } - for (GTPP_BeeDefinition bee : values()) { - bee.registerMutations(); - } - } - - private static IAlleleBeeEffect getEffect(byte modid, String name) { - String s = switch (modid) { - case GTPP_Bees.EXTRABEES -> "extrabees.effect." + name; - case GTPP_Bees.GENDUSTRY -> "gendustry.effect." + name; - case GTPP_Bees.MAGICBEES -> "magicbees.effect" + name; - case GTPP_Bees.GREGTECH -> "gregtech.effect" + name; - default -> "forestry.effect" + name; - }; - return (IAlleleBeeEffect) AlleleManager.alleleRegistry.getAllele(s); - } - - private static IAlleleFlowers getFlowers(byte modid, String name) { - String s = switch (modid) { - case GTPP_Bees.EXTRABEES -> "extrabees.flower." + name; - case GTPP_Bees.GENDUSTRY -> "gendustry.flower." + name; - case GTPP_Bees.MAGICBEES -> "magicbees.flower" + name; - case GTPP_Bees.GREGTECH -> "gregtech.flower" + name; - default -> "forestry.flowers" + name; - }; - return (IAlleleFlowers) AlleleManager.alleleRegistry.getAllele(s); - } - - private static IAlleleBeeSpecies getSpecies(byte modid, String name) { - String s = switch (modid) { - case GTPP_Bees.EXTRABEES -> "extrabees.species." + name; - case GTPP_Bees.GENDUSTRY -> "gendustry.bee." + name; - case GTPP_Bees.MAGICBEES -> "magicbees.species" + name; - case GTPP_Bees.GREGTECH -> "gregtech.species" + name; - default -> "forestry.species" + name; - }; - IAlleleBeeSpecies ret = (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele(s); - return ret; - } - - private final void setSpeciesProperties(GTPP_AlleleBeeSpecies species2) { - this.mSpeciesProperties.accept(species2); - } - - private final void setAlleles(IAllele[] template) { - this.mAlleles.accept(template); - } - - private final void registerMutations() { - this.mMutations.accept(this); - } - - private void init() { - setSpeciesProperties(species); - - template = branch.getTemplate(); - AlleleHelper.instance.set(template, SPECIES, species); - setAlleles(template); - - genome = BeeManager.beeRoot.templateAsGenome(template); - - BeeManager.beeRoot.registerTemplate(template); - } - - private final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, - int chance) { - return registerMutation(parent1, parent2, chance, 1f); - } - - private final IBeeMutationCustom registerMutation(GTPP_BeeDefinition parent1, IAlleleBeeSpecies parent2, - int chance) { - return registerMutation(parent1, parent2, chance, 1f); - } - - private final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, GTPP_BeeDefinition parent2, - int chance) { - return registerMutation(parent1, parent2, chance, 1f); - } - - private final IBeeMutationCustom registerMutation(GTPP_BeeDefinition parent1, GTPP_BeeDefinition parent2, - int chance) { - return registerMutation(parent1, parent2, chance, 1f); - } - - private final IBeeMutationCustom registerMutation(String parent1, String parent2, int chance) { - return registerMutation(getGregtechBeeType(parent1), getGregtechBeeType(parent2), chance, 1f); - } - - /** - * Diese neue Funtion erlaubt Mutationsraten unter 1%. Setze dazu die Mutationsrate als Bruch mit chance / - * chancedivider This new function allows Mutation percentages under 1%. Set them as a fraction with chance / - * chancedivider - */ - private final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance, - float chancedivider) { - return new GTPP_Bee_Mutation(parent1, parent2, this.getTemplate(), chance, chancedivider); - } - - private final IBeeMutationCustom registerMutation(GTPP_BeeDefinition parent1, IAlleleBeeSpecies parent2, int chance, - float chancedivider) { - return registerMutation(parent1.species, parent2, chance, chancedivider); - } - - private final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, GTPP_BeeDefinition parent2, int chance, - float chancedivider) { - return registerMutation(parent1, parent2.species, chance, chancedivider); - } - - private final IBeeMutationCustom registerMutation(GTPP_BeeDefinition parent1, GTPP_BeeDefinition parent2, - int chance, float chancedivider) { - return registerMutation(parent1.species, parent2, chance, chancedivider); - } - - private final IBeeMutationCustom registerMutation(String parent1, String parent2, int chance, float chancedivider) { - return registerMutation(getGregtechBeeType(parent1), getGregtechBeeType(parent2), chance, chancedivider); - } - - @Override - public final IAllele[] getTemplate() { - return Arrays.copyOf(template, template.length); - } - - @Override - public final IBeeGenome getGenome() { - return genome; - } - - @Override - public final IBee getIndividual() { - return new Bee(genome); - } - - @Override - public final ItemStack getMemberStack(EnumBeeType beeType) { - return BeeManager.beeRoot.getMemberStack(getIndividual(), beeType.ordinal()); - } - - public final IBeeDefinition getRainResist() { - return new BeeVariation.RainResist(this); - } - - private static final Class sGtBees = ReflectionUtils.getClass("gregtech.loaders.misc.GT_BeeDefinition"); - - public static IAlleleBeeSpecies getGregtechBeeType(String name) { - try { - Enum aBeeObject = ReflectionUtils.getEnum(sGtBees, name); - Field gtBeesField = ReflectionUtils.getField(sGtBees, "species"); - IAlleleBeeSpecies beeType = ReflectionUtils.getFieldValue(gtBeesField, aBeeObject); - return beeType != null ? beeType : null; - } catch (Throwable t) { - t.printStackTrace(); - return null; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bee_Mutation.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bee_Mutation.java deleted file mode 100644 index d20b7ffb73..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bee_Mutation.java +++ /dev/null @@ -1,86 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.registry; - -import java.lang.reflect.Field; -import java.util.List; - -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.world.World; - -import org.apache.commons.lang3.reflect.FieldUtils; - -import forestry.api.apiculture.BeeManager; -import forestry.api.apiculture.IAlleleBeeSpecies; -import forestry.api.apiculture.IBeeGenome; -import forestry.api.apiculture.IBeeHousing; -import forestry.api.apiculture.IBeeModifier; -import forestry.api.core.IClimateProvider; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IGenome; -import forestry.api.genetics.IMutationCondition; -import forestry.apiculture.genetics.BeeMutation; -import forestry.core.genetics.mutations.Mutation; - -public class GTPP_Bee_Mutation extends BeeMutation { - - private final float split; - - public GTPP_Bee_Mutation(IAlleleBeeSpecies bee0, IAlleleBeeSpecies bee1, IAllele[] result, int chance, - float split) { - super(bee0, bee1, result, chance); - this.split = split; - BeeManager.beeRoot.registerMutation(this); - } - - @Override - public float getBaseChance() { - return super.getBaseChance() / split; - } - - @Override - public float getChance(IBeeHousing housing, IAlleleBeeSpecies allele0, IAlleleBeeSpecies allele1, - IBeeGenome genome0, IBeeGenome genome1) { - World world = housing != null ? housing.getWorld() : null; - ChunkCoordinates housingCoordinates = housing != null ? housing.getCoordinates() : null; - int x = housingCoordinates != null ? housingCoordinates.posX : 0; - int y = housingCoordinates != null ? housingCoordinates.posY : 0; - int z = housingCoordinates != null ? housingCoordinates.posZ : 0; - - float processedChance = getBasicChance(world, x, y, z, allele0, allele1, genome0, genome1, housing); - - if (processedChance <= 0f) { - return 0f; - } - - IBeeModifier beeHousingModifier = BeeManager.beeRoot.createBeeHousingModifier(housing); - IBeeModifier beeModeModifier = BeeManager.beeRoot.getBeekeepingMode(world) - .getBeeModifier(); - - processedChance *= beeHousingModifier.getMutationModifier(genome0, genome1, processedChance); - processedChance *= beeModeModifier.getMutationModifier(genome0, genome1, processedChance); - - return processedChance; - } - - @SuppressWarnings("unchecked") - private float getBasicChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, - IGenome genome1, IClimateProvider climate) { - float mutationChance = this.getBaseChance(); - List mutationConditions = null; - Field f = FieldUtils.getDeclaredField(Mutation.class, "mutationConditions", true); - if (f == null) f = FieldUtils.getField(Mutation.class, "mutationConditions", true); - if (f == null) return mutationChance; - try { - mutationConditions = f.get(this) instanceof List ? (List) f.get(this) : null; - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - - if (mutationConditions != null) for (IMutationCondition mutationCondition : mutationConditions) { - mutationChance *= mutationCondition.getChance(world, x, y, z, allele0, allele1, genome0, genome1, climate); - if (mutationChance == 0) { - return 0; - } - } - return mutationChance; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java deleted file mode 100644 index 77b7d57954..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java +++ /dev/null @@ -1,69 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.registry; - -import static gregtech.api.enums.Mods.Forestry; - -import java.util.HashMap; - -import gregtech.GT_Mod; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_CombType; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_DropType; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_PollenType; -import gtPlusPlus.xmod.forestry.bees.handler.GTPP_PropolisType; -import gtPlusPlus.xmod.forestry.bees.items.output.GTPP_Comb; -import gtPlusPlus.xmod.forestry.bees.items.output.GTPP_Drop; -import gtPlusPlus.xmod.forestry.bees.items.output.GTPP_Pollen; -import gtPlusPlus.xmod.forestry.bees.items.output.GTPP_Propolis; - -public class GTPP_Bees { - - public static final byte FORESTRY = 0; - public static final byte EXTRABEES = 1; - public static final byte GENDUSTRY = 2; - public static final byte MAGICBEES = 3; - public static final byte GREGTECH = 4; - - public static GTPP_Propolis propolis; - public static GTPP_Pollen pollen; - public static GTPP_Drop drop; - public static GTPP_Comb combs; - - public static HashMap sMaterialMappings = new HashMap<>(); - public static HashMap sPropolisMappings = new HashMap<>(); - public static HashMap sPollenMappings = new HashMap<>(); - public static HashMap sDropMappings = new HashMap<>(); - public static HashMap sCombMappings = new HashMap<>(); - - public GTPP_Bees() { - if (Forestry.isModLoaded() && GT_Mod.gregtechproxy.mGTBees) { - Logger.BEES("Creating required items."); - propolis = new GTPP_Propolis(); - pollen = new GTPP_Pollen(); - drop = new GTPP_Drop(); - combs = new GTPP_Comb(); - - Logger.BEES("Loading types."); - initTypes(); - - Logger.BEES("Adding recipes."); - GTPP_Drop.initDropsRecipes(); - GTPP_Propolis.initPropolisRecipes(); - GTPP_Comb.initCombsRecipes(); - - Logger.BEES("Initialising bees."); - GTPP_BeeDefinition.initBees(); - - Logger.BEES("Done!"); - } - } - - private static void initTypes() { - ReflectionUtils.loadClass("gtPlusPlus.xmod.forestry.bees.registry.GTPP_BeeDefinition"); - ReflectionUtils.loadClass("gtPlusPlus.xmod.forestry.bees.handler.GTPP_CombType"); - ReflectionUtils.loadClass("gtPlusPlus.xmod.forestry.bees.handler.GTPP_DropType"); - ReflectionUtils.loadClass("gtPlusPlus.xmod.forestry.bees.handler.GTPP_PollenType"); - ReflectionUtils.loadClass("gtPlusPlus.xmod.forestry.bees.handler.GTPP_PropolisType"); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java b/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java deleted file mode 100644 index 39af813dec..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java +++ /dev/null @@ -1,89 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.registry; - -import static forestry.api.apiculture.EnumBeeChromosome.CAVE_DWELLING; -import static forestry.api.apiculture.EnumBeeChromosome.EFFECT; -import static forestry.api.apiculture.EnumBeeChromosome.FERTILITY; -import static forestry.api.apiculture.EnumBeeChromosome.FLOWERING; -import static forestry.api.apiculture.EnumBeeChromosome.FLOWER_PROVIDER; -import static forestry.api.apiculture.EnumBeeChromosome.HUMIDITY_TOLERANCE; -import static forestry.api.apiculture.EnumBeeChromosome.LIFESPAN; -import static forestry.api.apiculture.EnumBeeChromosome.NOCTURNAL; -import static forestry.api.apiculture.EnumBeeChromosome.SPEED; -import static forestry.api.apiculture.EnumBeeChromosome.TEMPERATURE_TOLERANCE; -import static forestry.api.apiculture.EnumBeeChromosome.TERRITORY; -import static forestry.api.apiculture.EnumBeeChromosome.TOLERANT_FLYER; - -import java.util.Arrays; -import java.util.function.Consumer; - -import forestry.api.apiculture.BeeManager; -import forestry.api.apiculture.EnumBeeChromosome; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IClassification; -import forestry.apiculture.genetics.alleles.AlleleEffect; -import forestry.core.genetics.alleles.AlleleHelper; -import forestry.core.genetics.alleles.EnumAllele.Fertility; -import forestry.core.genetics.alleles.EnumAllele.Flowering; -import forestry.core.genetics.alleles.EnumAllele.Flowers; -import forestry.core.genetics.alleles.EnumAllele.Lifespan; -import forestry.core.genetics.alleles.EnumAllele.Speed; -import forestry.core.genetics.alleles.EnumAllele.Territory; -import forestry.core.genetics.alleles.EnumAllele.Tolerance; - -public enum GTPP_BranchDefinition { - - LEGENDARY("gtpp.legendary", "Summa Potestas", alleles -> { - AlleleHelper.instance.set(alleles, TEMPERATURE_TOLERANCE, Tolerance.BOTH_2); - AlleleHelper.instance.set(alleles, HUMIDITY_TOLERANCE, Tolerance.BOTH_2); - AlleleHelper.instance.set(alleles, TOLERANT_FLYER, true); - AlleleHelper.instance.set(alleles, NOCTURNAL, true); - AlleleHelper.instance.set(alleles, FLOWER_PROVIDER, Flowers.END); - AlleleHelper.instance.set(alleles, LIFESPAN, Lifespan.SHORT); - AlleleHelper.instance.set(alleles, FLOWERING, Flowering.SLOW); - AlleleHelper.instance.set(alleles, SPEED, Speed.FASTEST); - AlleleHelper.instance.set(alleles, TERRITORY, Territory.LARGER); - }); - - private static IAllele[] defaultTemplate; - private final IClassification branch; - private final Consumer mBranchProperties; - - GTPP_BranchDefinition(String internal, String scientific, Consumer aBranchProperties) { - this.branch = BeeManager.beeFactory.createBranch(internal.toLowerCase(), scientific); - this.mBranchProperties = aBranchProperties; - } - - private static IAllele[] getDefaultTemplate() { - if (defaultTemplate == null) { - defaultTemplate = new IAllele[EnumBeeChromosome.values().length]; - - AlleleHelper.instance.set(defaultTemplate, SPEED, Speed.SLOWEST); - AlleleHelper.instance.set(defaultTemplate, LIFESPAN, Lifespan.SHORTER); - AlleleHelper.instance.set(defaultTemplate, FERTILITY, Fertility.NORMAL); - AlleleHelper.instance.set(defaultTemplate, TEMPERATURE_TOLERANCE, Tolerance.NONE); - AlleleHelper.instance.set(defaultTemplate, NOCTURNAL, false); - AlleleHelper.instance.set(defaultTemplate, HUMIDITY_TOLERANCE, Tolerance.NONE); - AlleleHelper.instance.set(defaultTemplate, TOLERANT_FLYER, false); - AlleleHelper.instance.set(defaultTemplate, CAVE_DWELLING, false); - AlleleHelper.instance.set(defaultTemplate, FLOWER_PROVIDER, Flowers.VANILLA); - AlleleHelper.instance.set(defaultTemplate, FLOWERING, Flowering.SLOWEST); - AlleleHelper.instance.set(defaultTemplate, TERRITORY, Territory.AVERAGE); - AlleleHelper.instance.set(defaultTemplate, EFFECT, AlleleEffect.effectNone); - } - return Arrays.copyOf(defaultTemplate, defaultTemplate.length); - } - - private final void setBranchProperties(IAllele[] template) { - this.mBranchProperties.accept(template); - } - - public final IAllele[] getTemplate() { - IAllele[] template = getDefaultTemplate(); - setBranchProperties(template); - return template; - } - - public final IClassification getBranch() { - return branch; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java deleted file mode 100644 index e95baf43df..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java +++ /dev/null @@ -1,98 +0,0 @@ -package gtPlusPlus.xmod.gregtech; - -import static gregtech.api.enums.Mods.AdvancedSolarPanel; - -import java.util.ArrayList; -import java.util.List; - -import cpw.mods.fml.common.event.FMLLoadCompleteEvent; -import gregtech.api.GregTech_API; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_Config; -import gtPlusPlus.core.handler.COMPAT_HANDLER; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.everglades.gen.gt.WorldGen_GT; -import gtPlusPlus.recipes.CokeAndPyrolyseOven; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; -import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config; -import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; -import gtPlusPlus.xmod.gregtech.common.blocks.fluid.GregtechFluidHandler; -import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools; -import gtPlusPlus.xmod.gregtech.loaders.Gregtech_Blocks; -import gtPlusPlus.xmod.gregtech.loaders.ProcessingAngleGrinder; -import gtPlusPlus.xmod.gregtech.loaders.ProcessingElectricSnips; -import gtPlusPlus.xmod.gregtech.loaders.misc.AddCustomMachineToPA; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_AlgaeFarm; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_MolecularTransformer; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_TreeFarm; -import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechConduits; - -public class HANDLER_GT { - - public static GT_Config mMaterialProperties = null; - public static GTPP_Config sCustomWorldgenFile = null; - public static final List sWorldgenListEverglades = new ArrayList<>(); - public static GT_MetaGenerated_Tool sMetaGeneratedToolInstance; - - public static void preInit() { - - if (mMaterialProperties != null) { - GT_Materials.init(mMaterialProperties); - } - - GregtechFluidHandler.run(); - } - - public static void init() { - - // 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(); - - sMetaGeneratedToolInstance = MetaGeneratedGregtechTools.getInstance(); - } - - public static void postInit() { - - // Only loads if the config option is true (default: true) - new ProcessingAngleGrinder().run(); - new ProcessingElectricSnips().run(); - - // Add recipes - CokeAndPyrolyseOven.postInit(); - - // Register custom singles to the PA - AddCustomMachineToPA.register(); - - // Register some custom recipe maps for any enabled multiblocks. - // MultiblockRecipeMapHandler.run(); - - if (GregtechItemList.Circuit_BioRecipeSelector.hasBeenSet()) { - for (int i = 1; i <= 24; i++) { - GregTech_API.registerConfigurationCircuit(CI.getNumberedBioCircuit(i), 0); - } - } - - if (GregtechItemList.Circuit_T3RecipeSelector.hasBeenSet()) { - for (int i = 1; i <= 24; i++) { - GregTech_API.registerConfigurationCircuit(CI.getNumberedAdvancedCircuit(i), 3); - } - } - } - - public static void onLoadComplete(FMLLoadCompleteEvent event) { - CokeAndPyrolyseOven.onLoadComplete(); - Meta_GT_Proxy.fixIC2FluidNames(); - RecipeLoader_AlgaeFarm.generateRecipes(); - RecipeLoader_TreeFarm.generateRecipes(); - if (AdvancedSolarPanel.isModLoaded()) { - RecipeLoader_MolecularTransformer.run(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java deleted file mode 100644 index 6367d22f77..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ /dev/null @@ -1,980 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.enums; - -import static gregtech.api.enums.GT_Values.W; - -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; - -/** - * Class containing all non-OreDict Items of GregTech. - */ -public enum GregtechItemList implements GregtechItemContainer { - - /** - * Items - */ - - // Advanced Hazmat Suit - Armour_Hazmat_Advanced_Helmet, - Armour_Hazmat_Advanced_Chest, - Armour_Hazmat_Advanced_Legs, - Armour_Hazmat_Advanced_Boots, - - // Gregtech Machine Parts - Electric_Motor_LuV, - Electric_Motor_ZPM, - Electric_Motor_UV, - Electric_Pump_LuV, - Electric_Pump_ZPM, - Electric_Pump_UV, - Conveyor_Module_LuV, - Conveyor_Module_ZPM, - Conveyor_Module_UV, - Electric_Piston_LuV, - Electric_Piston_ZPM, - Electric_Piston_UV, - Robot_Arm_LuV, - Robot_Arm_ZPM, - Robot_Arm_UV, - Field_Generator_LuV, - Field_Generator_ZPM, - Field_Generator_UV, - Emitter_LuV, - Emitter_ZPM, - Emitter_UV, - Sensor_LuV, - Sensor_ZPM, - Sensor_UV, - - // Mixed Components - TransmissionComponent_LV, - TransmissionComponent_MV, - TransmissionComponent_HV, - TransmissionComponent_EV, - TransmissionComponent_IV, - TransmissionComponent_LuV, - TransmissionComponent_ZPM, - TransmissionComponent_UV, - TransmissionComponent_UHV, - - // Recipe Circuit - Circuit_BioRecipeSelector, - Circuit_T3RecipeSelector, - - // Circuits - Old_Circuit_Primitive, - Old_Circuit_Basic, - Old_Circuit_Good, - Old_Circuit_Advanced, - Old_Circuit_Data, - Old_Circuit_Elite, - Old_Circuit_Master, - Old_Tool_DataOrb, - Old_Circuit_Ultimate, - Old_Tool_DataStick, - Circuit_IV, - Circuit_LuV, - Circuit_ZPM, - - // Circuit Parts - Circuit_Board_IV, - Circuit_Board_LuV, - Circuit_Board_ZPM, - Circuit_Parts_Crystal_Chip_IV, - Circuit_Parts_Crystal_Chip_LuV, - Circuit_Parts_Crystal_Chip_ZPM, - Circuit_Parts_IV, - Circuit_Parts_LuV, - Circuit_Parts_ZPM, - Circuit_Parts_Wiring_IV, - Circuit_Parts_Wiring_LuV, - Circuit_Parts_Wiring_ZPM, - - // Old Style Circuits - Old_Circuit_Board_Basic, - Old_Circuit_Board_Advanced, - Old_Circuit_Board_Elite, - Old_Circuit_Parts_Crystal_Chip_Elite, - Old_Circuit_Parts_Crystal_Chip_Master, - Old_Circuit_Parts_Advanced, - Old_Circuit_Parts_Wiring_Basic, - Old_Circuit_Parts_Wiring_Advanced, - Old_Circuit_Parts_Wiring_Elite, - Old_Empty_Board_Basic, - Old_Empty_Board_Elite, - - // Batteries - Battery_RE_EV_Sodium, - Battery_RE_EV_Cadmium, - Battery_RE_EV_Lithium, - - // Shapes for Extruder - Shape_Extruder_WindmillShaft, - Shape_Extruder_SmallGear, - - // Cooked Raisin Toast for ImQ009 - Food_Baked_Raisin_Bread, - - // Fluid Cells to regulate flows. - Fluid_Cell_1L, - Fluid_Cell_16L, - Fluid_Cell_36L, - Fluid_Cell_144L, - - // Debug - TESTITEM, - - // Larger Volumetric Flasks - VOLUMETRIC_FLASK_8k, - VOLUMETRIC_FLASK_32k, - - // RTG Fuels - Pellet_RTG_PU238, - Pellet_RTG_SR90, - Pellet_RTG_PO210, - Pellet_RTG_AM241, - - // Computer Cube - Gregtech_Computer_Cube, - - // Casings for batteries - Battery_Casing_Gem_1, - Battery_Casing_Gem_2, - Battery_Casing_Gem_3, - Battery_Casing_Gem_4, - - // Custom Batteries - Battery_Gem_1, - Battery_Gem_2, - Battery_Gem_3, - Battery_Gem_4, - - // Compressed Fusion MK3 - Compressed_Fusion_Reactor, - - // Carbon Materials - - // End Game Laser Engraver Lens - Laser_Lens_WoodsGlass, - Laser_Lens_Special, - - // Pellet Mold - Pellet_Mold, - - // Upgrade chip for Distillus - Distillus_Upgrade_Chip, - Maceration_Upgrade_Chip, - - // Milling Balls - Milling_Ball_Alumina, - Milling_Ball_Soapstone, - - // ---------------------------------------------------------------------------- - - /** - * MultiBlocks - */ - - // Tier GT++ Casings - GTPP_Casing_ULV, - GTPP_Casing_LV, - GTPP_Casing_MV, - GTPP_Casing_HV, - GTPP_Casing_EV, - GTPP_Casing_IV, - GTPP_Casing_LuV, - GTPP_Casing_ZPM, - GTPP_Casing_UV, - GTPP_Casing_UHV, - - // IronBlastFurnace Machine_Bronze_BlastFurnace - Casing_IronPlatedBricks, - - // Large Centrifuge - Industrial_Centrifuge, - Casing_Centrifuge1, - - // Large Alloy Smelter - Industrial_AlloySmelter, - - // Coke Oven - Industrial_CokeOven, - Casing_CokeOven, - Casing_CokeOven_Coil1, - Casing_CokeOven_Coil2, - - // Bending Maching // Plate Press // Press - Industrial_PlatePress, - Casing_MaterialPress, - - // Matter Fab - Industrial_MassFab, - Casing_MatterGen, - Casing_MatterFab, - - // ABS - Industrial_AlloyBlastSmelter, - Casing_Coil_BlastSmelter, - Casing_BlastSmelter, - Mega_AlloyBlastSmelter, - - // Quantum Force Transformer - QuantumForceTransformer, - Casing_Coil_QuantumForceTransformer, - NeutronPulseManipulator, - CosmicFabricManipulator, - InfinityInfusedManipulator, - SpaceTimeContinuumRipper, - NeutronShieldingCore, - CosmicFabricShieldingCore, - InfinityInfusedShieldingCore, - SpaceTimeBendingCore, - ForceFieldGlass, - - // Industrial Electrolyzer - Industrial_Electrolyzer, - Casing_Electrolyzer, - - // Industrial Maceration Stack - Industrial_MacerationStack, - Casing_MacerationStack, - - // Industrial Wire Factory - Industrial_WireFactory, - Casing_WireFactory, - - // Power sub-station for mass storage. 3 hatches for input and output, whatever voltages you desire. - PowerSubStation, - Casing_Vanadium_Redox, - Casing_Vanadium_Redox_IV, - Casing_Vanadium_Redox_LuV, - Casing_Vanadium_Redox_ZPM, - Casing_Vanadium_Redox_UV, - Casing_Vanadium_Redox_MAX, - Casing_Power_SubStation, - - // LFTR - ThoriumReactor, - Casing_Reactor_I, - Casing_Reactor_II, - - // Nuclear Salt Processing Plant - Nuclear_Salt_Processing_Plant, - - // Multitank - /* Industrial_MultiTank, */ - Industrial_MultiTankDense, - Casing_MultitankExterior, - - // Fission Fuel Refinery - Industrial_FuelRefinery, - Casing_Refinery_External, - Casing_Refinery_Structural, - Casing_Refinery_Internal, - - // Industrial Sifter - Industrial_Sifter, - Casing_Sifter, - Casing_SifterGrate, - - // Large Thermal Centrifuge - Industrial_ThermalCentrifuge, - Casing_ThermalCentrifuge, - - // Cyclotron - COMET_Cyclotron, - Casing_Cyclotron_Coil, - Casing_Cyclotron_External, - - // Thermal Boiler - GT4_Thermal_Boiler, - Casing_ThermalContainment, - - // Tree Farm - Industrial_TreeFarm, - TreeFarmer_Structural, - Casing_PLACEHOLDER_TreeFarmer, - - // Fish Pond - Industrial_FishingPond, - Casing_FishPond, - - // Algae - AlgaeFarm_Controller, - - // Chemical Plant - ChemicalPlant_Controller, - - // GT4 autoCrafter - GT4_Multi_Crafter, - Casing_Autocrafter, - - // industrial Ore-Washer - Industrial_WashPlant, - Casing_WashPlant, - - // Cutting Factory Controller - Industrial_CuttingFactoryController, - Casing_CuttingFactoryFrame, - - // Large Extruder - Industrial_Extruder, - Casing_Extruder, - - // Multi-Machine - Industrial_MultiMachine, - Casing_Multi_Use, - - // Bedrock Mining Platforms - /* BedrockMiner_MKI, */ - /* BedrockMiner_MKII, */ - /* BedrockMiner_MKIII, */ - Casing_BedrockMiner, - - // Large Packager - Amazon_Warehouse_Controller, - Casing_AmazonWarehouse, - - // Advanced GT vanilla Multis - Machine_Adv_BlastFurnace, - Casing_Adv_BlastFurnace, - Machine_Adv_ImplosionCompressor, - Machine_Adv_DistillationTower, - - // Advanced Vacuum Freezer - Industrial_Cryogenic_Freezer, - Casing_AdvancedVacuum, - - // FusionTek MK IV - FusionComputer_UV2, - Casing_Fusion_External, - Casing_Fusion_Internal, - - // FusionTech MK V - - FusionComputer_UV3, - Casing_Fusion_External2, - Casing_Fusion_Internal2, - - // large mixer - Industrial_Mixer, - - // Naq Reactor - Casing_Naq_Reactor_A, - Casing_Naq_Reactor_B, - Casing_Naq_Reactor_C, - /* Controller_Naq_Reactor, */ - Casing_Containment, - - // Arc Furnace - Industrial_Arc_Furnace, - Casing_Industrial_Arc_Furnace, - - // Solar Tower - Industrial_Solar_Tower, - Casing_SolarTower_Structural, - Casing_SolarTower_SaltContainment, - Casing_SolarTower_HeatContainment, - - // Larger Turbines - Large_Steam_Turbine, - Large_HPSteam_Turbine, - Large_Gas_Turbine, - Large_Plasma_Turbine, - Large_SCSteam_Turbine, - Casing_Turbine_Shaft, - Casing_Turbine_LP, - Casing_Turbine_HP, - Casing_Turbine_Gas, - Casing_Turbine_Plasma, - Casing_Turbine_SC, - XL_HeatExchanger, - Casing_XL_HeatExchanger, - - // Large Engine - Casing_Reinforced_Engine_Casing, - - // Large Vacuum Furnace - Casing_Vacuum_Furnace, - Controller_Vacuum_Furnace, - - // Large Rocket Engine - Casing_RocketEngine, - Controller_RocketEngine, - - // Large Semi-Fluid - Controller_LargeSemifluidGenerator, - - // IsaMill - Controller_IsaMill, - Casing_IsaMill_Casing, - Casing_IsaMill_Gearbox, - Casing_IsaMill_Pipe, - - // Flotation Cell - Controller_Flotation_Cell, - Casing_Flotation_Cell, - - // Sparge Tower - Controller_Sparge_Tower, - Casing_Sparge_Tower_Exterior, - Casing_Sparge_Tower_Interior, - - // Elemental Duplicator - Controller_ElementalDuplicator, - Casing_ElementalDuplicator, - - // Forge Hammer - Controller_IndustrialForgeHammer, - Casing_IndustrialForgeHammer, - - // Molecular Transformer - Controller_MolecularTransformer, - Casing_Molecular_Transformer_1, - Casing_Molecular_Transformer_2, - Casing_Molecular_Transformer_3, - - // Big Steam Macerator - Controller_SteamMaceratorMulti, - // Big Steam Compressor - Controller_SteamCompressorMulti, - - // Industrial Rock Breaker - Controller_IndustrialRockBreaker, - - // Industrial Chisel - Controller_IndustrialAutoChisel, - Casing_IndustrialAutoChisel, - - // Industrial Fluid Heater - Controller_IndustrialFluidHeater, - - // Custom Machine Casings - Casing_Machine_Custom_1, - Casing_Machine_Custom_2, - Casing_Machine_Custom_3, - Casing_Machine_Custom_4, - Casing_Machine_Custom_5, - Casing_Machine_Custom_6, - - // ---------------------------------------------------------------------------- - - /** - * Custom hatches/Busses - */ - - // 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, - - // Air Intake hatch - Hatch_Air_Intake, - Hatch_Air_Intake_Extreme, - - // Reservoir Hatch - Hatch_Reservoir, - - // XL Turbine Rotor Hatch - Hatch_Turbine_Rotor, - - // Standard Turbine Rotor Hatch - Hatch_Input_TurbineHousing, - - // Milling Ball Bus - Bus_Milling_Balls, - - // Catalyst Bus - Bus_Catalysts, - - // Custom Fluid Hatches - Hatch_Input_Cryotheum, - Hatch_Input_Pyrotheum, - Hatch_Input_Naquadah, - Hatch_Input_Steam, - - // Steam Multi Buses - Hatch_Input_Bus_Steam, - Hatch_Output_Bus_Steam, - - // Elemental Duplicator Data Orb Bus - Hatch_Input_Elemental_Duplicator, - - // RTG Hatch - - // Battery hatches for PSS - Hatch_Input_Battery_MV, - Hatch_Input_Battery_EV, - Hatch_Output_Battery_MV, - Hatch_Output_Battery_EV, - - // Advanced Mufflers - Hatch_Muffler_Adv_LV, - Hatch_Muffler_Adv_MV, - Hatch_Muffler_Adv_HV, - Hatch_Muffler_Adv_EV, - Hatch_Muffler_Adv_IV, - Hatch_Muffler_Adv_LuV, - Hatch_Muffler_Adv_ZPM, - Hatch_Muffler_Adv_UV, - Hatch_Muffler_Adv_MAX, - - // Super Input Busses - Hatch_SuperBus_Input_LV, - Hatch_SuperBus_Input_MV, - Hatch_SuperBus_Input_HV, - Hatch_SuperBus_Input_EV, - Hatch_SuperBus_Input_IV, - Hatch_SuperBus_Input_LuV, - Hatch_SuperBus_Input_ZPM, - Hatch_SuperBus_Input_UV, - Hatch_SuperBus_Input_MAX, - - // Super Output Busses - Hatch_SuperBus_Output_LV, - Hatch_SuperBus_Output_MV, - Hatch_SuperBus_Output_HV, - Hatch_SuperBus_Output_EV, - Hatch_SuperBus_Output_IV, - Hatch_SuperBus_Output_LuV, - Hatch_SuperBus_Output_ZPM, - Hatch_SuperBus_Output_UV, - Hatch_SuperBus_Output_MAX, - - // Chisel Buses for Industrial Chisel - GT_MetaTileEntity_ChiselBus_LV, - GT_MetaTileEntity_ChiselBus_MV, - GT_MetaTileEntity_ChiselBus_HV, - - // Solidifier Hatches for Industrial Multi Machine - GT_MetaTileEntity_Solidifier_I, - GT_MetaTileEntity_Solidifier_II, - GT_MetaTileEntity_Solidifier_III, - GT_MetaTileEntity_Solidifier_IV, - - // ---------------------------------------------------------------------------- - - /** - * Blocks - */ - ResonanceChamber_I, - ResonanceChamber_II, - ResonanceChamber_III, - ResonanceChamber_IV, - - Modulator_I, - Modulator_II, - Modulator_III, - Modulator_IV, - - // ---------------------------------------------------------------------------- - - /** - * Single Block Tile Entities - */ - - // Crate Box - CrateStorage, - - // Auto TC Research Creator - Thaumcraft_Researcher, - - // infinite Items - Infinite_Item_Chest, - - // GT4 automation - GT4_Electric_Auto_Workbench_LV, - GT4_Electric_Auto_Workbench_MV, - GT4_Electric_Auto_Workbench_HV, - GT4_Electric_Auto_Workbench_EV, - GT4_Electric_Auto_Workbench_IV, - GT4_Electric_Auto_Workbench_LuV, - GT4_Electric_Auto_Workbench_ZPM, - GT4_Electric_Auto_Workbench_UV, - GT4_Electric_Inventory_Manager_LV, - GT4_Electric_Inventory_Manager_MV, - GT4_Electric_Inventory_Manager_HV, - GT4_Electric_Inventory_Manager_EV, - GT4_Electric_Inventory_Manager_IV, - GT4_Electric_Inventory_Manager_LuV, - GT4_Electric_Inventory_Manager_ZPM, - GT4_Electric_Inventory_Manager_UV, - - // GT4 Crop Harvester - GT4_Crop_Harvester_LV, - GT4_Crop_Harvester_MV, - GT4_Crop_Harvester_HV, - GT4_Crop_Harvester_EV, - GT4_Crop_Harvester_IV, - GT4_Crop_Harvester_LuV, - GT4_Crop_Harvester_ZPM, - GT4_Crop_Harvester_UV, - - // Geothermal Engines - Geothermal_Engine_EV, - Geothermal_Engine_IV, - Geothermal_Engine_LuV, - - // Tesseracts - GT4_Tesseract_Generator, - GT4_Tesseract_Terminal, - - // Advanced Boilers - Boiler_Advanced_LV, - Boiler_Advanced_MV, - Boiler_Advanced_HV, - - // Fancy Pollution Devices - Pollution_Detector, - Pollution_Cleaner_LV, - Pollution_Cleaner_MV, - Pollution_Cleaner_HV, - Pollution_Cleaner_EV, - Pollution_Cleaner_IV, - Pollution_Cleaner_LuV, - Pollution_Cleaner_ZPM, - Pollution_Cleaner_UV, - Pollution_Cleaner_MAX, - - // Debug machine - Pollution_Creator, - - // Basically is an automatic Cauldron - SimpleDustWasher_ULV, - SimpleDustWasher_MV, - SimpleDustWasher_EV, - SimpleDustWasher_LuV, - SimpleDustWasher_UV, - - // Solar Tower Reflector - Solar_Tower_Reflector, - - // Super Tier Chests - Super_Chest_LV, - Super_Chest_MV, - Super_Chest_HV, - Super_Chest_EV, - Super_Chest_IV, - - // Wireless Chargers - Charger_LV, - Charger_MV, - Charger_HV, - Charger_EV, - Charger_IV, - Charger_LuV, - Charger_ZPM, - Charger_UV, - Charger_UHV, - - // Reactor Processing Unit - ReactorProcessingUnit_IV, - ReactorProcessingUnit_ZPM, - - // Cold Trap - ColdTrap_IV, - ColdTrap_ZPM, - - // Solar Generators - GT_Solar_ULV, - GT_Solar_LV, - GT_Solar_MV, - GT_Solar_HV, - GT_Solar_EV, - GT_Solar_IV, - GT_Solar_LuV, - GT_Solar_ZPM, - GT_Solar_UV, - GT_Solar_MAX, - - // Variable voltage RF convertor - Energy_Buffer_1by1_ULV, - Energy_Buffer_1by1_LV, - Energy_Buffer_1by1_MV, - Energy_Buffer_1by1_HV, - Energy_Buffer_1by1_EV, - Energy_Buffer_1by1_IV, - Energy_Buffer_1by1_LuV, - Energy_Buffer_1by1_ZPM, - Energy_Buffer_1by1_UV, - Energy_Buffer_1by1_MAX, - - // Rocket Engines - Rocket_Engine_EV, - Rocket_Engine_IV, - Rocket_Engine_LuV, - - // Hi Amp Transformers - Transformer_HA_LV_ULV, - Transformer_HA_MV_LV, - Transformer_HA_HV_MV, - Transformer_HA_EV_HV, - Transformer_HA_IV_EV, - Transformer_HA_LuV_IV, - Transformer_HA_ZPM_LuV, - Transformer_HA_UV_ZPM, - Transformer_HA_MAX_UV, - - // Semi-Fluid generators - Generator_SemiFluid_LV, - Generator_SemiFluid_MV, - Generator_SemiFluid_HV, - Generator_SemiFluid_EV, - Generator_SemiFluid_IV, - - // Advanced Mixer 4x4 - Machine_Advanced_LV_Mixer, - Machine_Advanced_MV_Mixer, - Machine_Advanced_HV_Mixer, - Machine_Advanced_EV_Mixer, - Machine_Advanced_IV_Mixer, - Machine_Advanced_LuV_Mixer, - Machine_Advanced_ZPM_Mixer, - Machine_Advanced_UV_Mixer, - - // Block that enables uplink to a superconductor network - SuperConductorInputNode, - - // Heat Pipes - HeatPipe_Tier_1, - HeatPipe_Tier_2, - HeatPipe_Tier_3, - - // Chemical Dehydrators for nuclear fuels - GT_Dehydrator_MV, - GT_Dehydrator_HV, - GT_Dehydrator_EV, - GT_Dehydrator_IV, - GT_Dehydrator_LuV, - GT_Dehydrator_ZPM, - - // Fluid Storage Tanks - GT_FluidTank_ULV, - GT_FluidTank_LV, - GT_FluidTank_MV, - GT_FluidTank_HV, - GT_FluidTank_EV, - GT_FluidTank_IV, - GT_FluidTank_LuV, - GT_FluidTank_ZPM, - GT_FluidTank_UV, - GT_FluidTank_MAX, - - // GT RTG - RTG, - - // Chisel Machines - GT_Chisel_LV, - GT_Chisel_MV, - GT_Chisel_HV, - - // Plasma Tank - /* Plasma_Tank, */ - - // ---------------------------------------------------------------------------- - - /** - * Covers - */ - - // Fluid Void Covers - Cover_Overflow_LV, - Cover_Overflow_MV, - Cover_Overflow_HV, - Cover_Overflow_EV, - Cover_Overflow_IV, - - // Item Void Covers - Cover_Overflow_Item_ULV, - Cover_Overflow_Item_LV, - Cover_Overflow_Item_MV, - Cover_Overflow_Item_HV, - Cover_Overflow_Item_EV, - Cover_Overflow_Item_IV, - - // ---------------------------------------------------------------------------- - // Additional washers - SimpleDustWasher_LV, - SimpleDustWasher_HV, - SimpleDustWasher_IV, - SimpleDustWasher_ZPM, - - ; - - public static final GregtechItemList[] DYE_ONLY_ITEMS = { Energy_Buffer_1by1_EV, Energy_Buffer_1by1_EV }; - private ItemStack mStack; - private boolean mHasNotBeenSet = true; - - @Override - public GregtechItemList set(final Item aItem) { - this.mHasNotBeenSet = false; - if (aItem == null) { - return this; - } - final ItemStack aStack = new ItemStack(aItem, 1, 0); - this.mStack = GT_Utility.copyAmount(1, aStack); - return this; - } - - @Override - public GregtechItemList set(final ItemStack aStack) { - this.mHasNotBeenSet = false; - this.mStack = GT_Utility.copyAmount(1, aStack); - return this; - } - - @Override - public Item getItem() { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return null; - } - return this.mStack.getItem(); - } - - @Override - public Block getBlock() { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - return getBlockFromStack(this.getItem()); - } - - @Override - public final boolean hasBeenSet() { - return !this.mHasNotBeenSet; - } - - @Override - public boolean isStackEqual(final Object aStack) { - return this.isStackEqual(aStack, false, false); - } - - @Override - public boolean isStackEqual(final Object aStack, final boolean aWildcard, final boolean aIgnoreNBT) { - if (GT_Utility.isStackInvalid(aStack)) { - return false; - } - return GT_Utility - .areUnificationsEqual((ItemStack) aStack, aWildcard ? this.getWildcard(1) : this.get(1), aIgnoreNBT); - } - - public static Block getBlockFromStack(Object aStack) { - if (GT_Utility.isStackInvalid(aStack)) return Blocks.air; - return Block.getBlockFromItem(((ItemStack) aStack).getItem()); - } - - @Override - public ItemStack get(final long aAmount, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility.copyAmount(aAmount, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public ItemStack getWildcard(final long aAmount, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility.copyAmountAndMetaData(aAmount, W, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public ItemStack getUndamaged(final long aAmount, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility.copyAmountAndMetaData(aAmount, 0, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public ItemStack getAlmostBroken(final long aAmount, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility - .copyAmountAndMetaData(aAmount, this.mStack.getMaxDamage() - 1, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public ItemStack getWithName(final long aAmount, final String aDisplayName, final Object... aReplacements) { - final ItemStack rStack = this.get(1, aReplacements); - if (GT_Utility.isStackInvalid(rStack)) { - return null; - } - rStack.setStackDisplayName(aDisplayName); - return GT_Utility.copyAmount(aAmount, rStack); - } - - @Override - public ItemStack getWithCharge(final long aAmount, final int aEnergy, final Object... aReplacements) { - final ItemStack rStack = this.get(1, aReplacements); - if (GT_Utility.isStackInvalid(rStack)) { - return null; - } - GT_ModHandler.chargeElectricItem(rStack, aEnergy, Integer.MAX_VALUE, true, false); - return GT_Utility.copyAmount(aAmount, rStack); - } - - @Override - public ItemStack getWithDamage(final long aAmount, final long aMetaValue, final Object... aReplacements) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - if (GT_Utility.isStackInvalid(this.mStack)) { - return GT_Utility.copyAmount(aAmount, aReplacements); - } - return GT_Utility.copyAmountAndMetaData(aAmount, aMetaValue, GT_OreDictUnificator.get(this.mStack)); - } - - @Override - public GregtechItemList registerOre(final Object... aOreNames) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - for (final Object tOreName : aOreNames) { - GT_OreDictUnificator.registerOre(tOreName, this.get(1)); - } - return this; - } - - @Override - public GregtechItemList registerWildcardAsOre(final Object... aOreNames) { - if (this.mHasNotBeenSet) { - throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!"); - } - for (final Object tOreName : aOreNames) { - GT_OreDictUnificator.registerOre(tOreName, this.getWildcard(1)); - } - return this; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOreDictNames.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOreDictNames.java deleted file mode 100644 index 4bd8831098..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOreDictNames.java +++ /dev/null @@ -1,39 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.enums; - -/* - * Electric Components. usual Materials for this are: Primitive (Tier 1) Basic (Tier 2) as used by UE as well : IC2 - * Circuit and RE-Battery Good (Tier 3) Advanced (Tier 4) as used by UE as well : Advanced Circuit, Advanced Battery and - * Lithium Battery Data (Tier 5) : Data Storage Circuit Elite (Tier 6) as used by UE as well : Energy Crystal and Data - * Control Circuit Master (Tier 7) : Energy Flow Circuit and Lapotron Crystal Ultimate (Tier 8) : Data Orb and - * Lapotronic Energy Orb Infinite (Cheaty) Circuits Circuit_Primitive, Circuit_Basic, Circuit_Good, Circuit_Advanced, - * Circuit_Data, Circuit_Elite, Circuit_Master, Tool_DataOrb, Circuit_Ultimate, Tool_DataStick, Circuit_IV, Circuit_LuV, - * Circuit_ZPM, Circuit Parts Circuit_Board_IV, Circuit_Board_LuV, Circuit_Board_ZPM, Circuit_Parts_Crystal_Chip_IV, - * Circuit_Parts_Crystal_Chip_LuV, Circuit_Parts_Crystal_Chip_ZPM, Circuit_Parts_IV, Circuit_Parts_LuV, - * Circuit_Parts_ZPM, Circuit_Parts_Wiring_IV, Circuit_Parts_Wiring_LuV, Circuit_Parts_Wiring_ZPM; - */ -public enum GregtechOreDictNames { - - buffer_core, - itemGregConduit, - Circuit_IV, - Circuit_LuV, - Circuit_ZPM, - Circuit_Board_IV, - Circuit_Board_LuV, - Circuit_Board_ZPM, - Circuit_Parts_Crystal_Chip_IV, - Circuit_Parts_Crystal_Chip_LuV, - Circuit_Parts_Crystal_Chip_ZPM, - Circuit_Parts_IV, - Circuit_Parts_LuV, - Circuit_Parts_ZPM, - Circuit_Parts_Wiring_IV, - Circuit_Parts_Wiring_LuV, - Circuit_Parts_Wiring_ZPM; - - public String unlocalisedName; - - private void ModObject() { - this.unlocalisedName = this.name(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java deleted file mode 100644 index 3185810495..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java +++ /dev/null @@ -1,1324 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.enums; - -import static gregtech.api.enums.GT_Values.B; -import static gregtech.api.enums.GT_Values.D2; -import static gregtech.api.enums.GT_Values.M; -import static gtPlusPlus.core.util.Utils.getTcAspectStack; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.ConfigCategories; -import gregtech.api.enums.Dyes; -import gregtech.api.enums.Element; -import gregtech.api.enums.Materials; -import gregtech.api.enums.SubTag; -import gregtech.api.enums.TC_Aspects; -import gregtech.api.enums.TC_Aspects.TC_AspectStack; -import gregtech.api.enums.TextureSet; -import gregtech.api.interfaces.IColorModulationContainer; -import gregtech.api.interfaces.ICondition; -import gregtech.api.interfaces.ISubTagContainer; -import gregtech.api.objects.MaterialStack; -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; - -public enum GregtechOrePrefixes { - - /* - * Electric Components. usual Materials for this are: Primitive (Tier 1) Basic (Tier 2) as used by UE as well : IC2 - * Circuit and RE-Battery Good (Tier 3) Advanced (Tier 4) as used by UE as well : Advanced Circuit, Advanced Battery - * and Lithium Battery Data (Tier 5) : Data Storage Circuit Elite (Tier 6) as used by UE as well : Energy Crystal - * and Data Control Circuit Master (Tier 7) : Energy Flow Circuit and Lapotron Crystal Ultimate (Tier 8) : Data Orb - * and Lapotronic Energy Orb Infinite (Cheaty) - */ - ingotHot("Hot Ingots", "Hot ", " Ingot", true, true, false, false, false, false, false, true, false, false, B[1], - M * 1, 16, 12), // A hot Ingot, which has to be cooled down by a Vacuum Freezer. - ingot("Ingots", "", " Ingot", true, true, false, false, false, false, false, true, false, false, B[1], M * 1, 64, - 11), // A regular Ingot. Introduced by Eloraam - dustTiny("Tiny Dusts", "Tiny Pile of ", " Dust", true, true, false, false, false, false, false, true, false, false, - B[0] | B[1] | B[2] | B[3], M / 9, 64, 0), // 1/9th of a Dust. - dustSmall("Small Dusts", "Small Pile of ", " Dust", true, true, false, false, false, false, false, true, false, - false, B[0] | B[1] | B[2] | B[3], M / 4, 64, 1), // 1/4th of a Dust. - dustImpure("Impure Dusts", "Impure Pile of ", " Dust", true, true, false, false, false, false, false, true, false, - true, B[3], M * 1, 64, 3), // Dust with impurities. 1 Unit of Main Material and 1/9 - 1/4 Unit of secondary - // Material - dustRefined("Refined Dusts", "Refined Pile of ", " Dust", true, true, false, false, false, false, false, true, - false, true, B[3], M * 1, 64, 2), - dustPure("Purified Dusts", "Purified Pile of ", " Dust", true, true, false, false, false, false, false, true, false, - true, B[3], M * 1, 64, 4), - dust("Dusts", "", " Dust", true, true, false, false, false, false, false, true, false, false, - B[0] | B[1] | B[2] | B[3], M * 1, 64, 2), // Pure Dust worth of one Ingot or Gem. Introduced by Alblaka. - nugget("Nuggets", "", " Nugget", true, true, false, false, false, false, false, true, false, false, B[1], M / 9, 64, - 9), // A Nugget. Introduced by Eloraam - plate("Plates", "", " Plate", true, true, false, false, false, false, true, true, false, false, B[1] | B[2], M * 1, - 64, 17), // Regular Plate made of one Ingot/Dust. Introduced by Calclavia - block("Storage Blocks", "Block of ", "", true, true, false, false, false, true, true, false, false, false, 0, M * 9, - 64, 71), // Storage Block consisting out of 9 Ingots/Gems/Dusts. Introduced by CovertJaguar - gem("Gemstones", "", "", true, true, true, false, false, false, true, true, false, false, B[2], M * 1, 64, 8), // A - // regular - // Gem - // worth - // one - // Dust. - // Introduced - // by - // Eloraam - gemChipped("Chipped Gemstones", "Chipped ", "", true, true, true, false, false, false, true, true, false, false, - B[2], M / 4, 64, 59), // A regular Gem worth one small Dust. Introduced by TerraFirmaCraft - gemFlawed("Flawed Gemstones", "Flawed ", "", true, true, true, false, false, false, true, true, false, false, B[2], - M / 2, 64, 60), // A regular Gem worth two small Dusts. Introduced by TerraFirmaCraft - gemFlawless("Flawless Gemstones", "Flawless ", "", true, true, true, false, false, false, true, true, false, false, - B[2], M * 2, 32, 61), // A regular Gem worth two Dusts. Introduced by TerraFirmaCraft - gemExquisite("Exquisite Gemstones", "Exquisite ", "", true, true, true, false, false, false, true, true, false, - false, B[2], M * 4, 16, 62), // A regular Gem worth four Dusts. Introduced by TerraFirmaCraft - stick("Sticks/Rods", "", " Rod", true, true, false, false, false, false, true, true, false, false, B[1] | B[2], - M / 2, 64, 23), // Stick made of half an Ingot. Introduced by Eloraam - type2("16x Wires", "16x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M * 8, 64, - -1), - - toolAngleGrinder("Angle Grinder", "", "Angle Grinder", true, true, false, false, false, false, true, true, false, - false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots. - toolElectricSnips("Electric Snips", "", "Electric Snips", true, true, false, false, false, false, true, true, false, - false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots. - toolElectricLighter("Electric Lighter", "", "Electric Lighter", true, true, false, false, false, false, true, true, - false, false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots. - toolElectricButcherKnife("Electric Butcher Knife", "", "Electric Butcher Knife", true, true, false, false, false, - false, true, true, false, false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots. - - batterySingleuse("Single Use Batteries", "", "", false, true, false, false, false, false, false, false, false, - false, 0, -1, 64, -1), - battery("Reusable Batteries", "", "", false, true, false, false, false, false, false, false, false, false, 0, -1, - 64, -1), // Introduced by Calclavia - circuit("Circuits", "", "", true, true, false, false, false, false, false, false, false, false, 0, -1, 64, -1), // Introduced - // by - // Calclavia - chipset("Chipsets", "", "", true, true, false, false, false, false, false, false, false, false, 0, -1, 64, -1), // Introduced - ; - - public static final int VERSION = 508; - - static { - ingotHot.mHeatDamage = 3.0F; - } - - public final ArrayList mPrefixedItems = new ArrayList<>(); - public final short mTextureIndex; - public final String mRegularLocalName, mLocalizedMaterialPre, mLocalizedMaterialPost; - public final boolean mIsUsedForOreProcessing, mIsEnchantable, mIsUnificatable, mIsMaterialBased, mIsSelfReferencing, - mIsContainer, mDontUnificateActively, mIsUsedForBlocks, mAllowNormalRecycling, mGenerateDefaultItem; - public final List mAspects = new ArrayList<>(); - public final Collection mFamiliarPrefixes = new HashSet<>(); - /** - * Used to determine the amount of Material this Prefix contains. Multiply or Divide GregTech_API.MATERIAL_UNIT to - * get the Amounts in comparision to one Ingot. 0 = Null Negative = Undefined Amount - */ - public final long mMaterialAmount; - - private final Collection mNotGeneratedItems = new HashSet<>(), mIgnoredMaterials = new HashSet<>(), - mGeneratedItems = new HashSet<>(); - private final ArrayList mOreProcessing = new ArrayList<>(); - private final ArrayList mOreProcessingFake = new ArrayList<>(); - public final ItemStack mContainerItem = null; - public final ICondition mCondition = null; - public byte mDefaultStackSize = 64; - public final GregtechMaterialStack mSecondaryMaterial = null; - public final GregtechOrePrefixes mPrefixInto = this; - public float mHeatDamage = 0.0F; // Negative for Frost Damage - /** - * Yes this Value can be changed to add Bits for the MetaGenerated-Item-Check. - */ - public int mMaterialGenerationBits = 0; - - private GregtechOrePrefixes(final String aRegularLocalName, final String aLocalizedMaterialPre, - final String aLocalizedMaterialPost, final boolean aIsUnificatable, final boolean aIsMaterialBased, - final boolean aIsSelfReferencing, final boolean aIsContainer, final boolean aDontUnificateActively, - final boolean aIsUsedForBlocks, final boolean aAllowNormalRecycling, final boolean aGenerateDefaultItem, - final boolean aIsEnchantable, final boolean aIsUsedForOreProcessing, final int aMaterialGenerationBits, - final long aMaterialAmount, final int aDefaultStackSize, final int aTextureindex) { - this.mIsUnificatable = aIsUnificatable; - this.mIsMaterialBased = aIsMaterialBased; - this.mIsSelfReferencing = aIsSelfReferencing; - this.mIsContainer = aIsContainer; - this.mDontUnificateActively = aDontUnificateActively; - this.mIsUsedForBlocks = aIsUsedForBlocks; - this.mAllowNormalRecycling = aAllowNormalRecycling; - this.mGenerateDefaultItem = aGenerateDefaultItem; - this.mIsEnchantable = aIsEnchantable; - this.mIsUsedForOreProcessing = aIsUsedForOreProcessing; - this.mMaterialGenerationBits = aMaterialGenerationBits; - this.mMaterialAmount = aMaterialAmount; - this.mRegularLocalName = aRegularLocalName; - this.mLocalizedMaterialPre = aLocalizedMaterialPre; - this.mLocalizedMaterialPost = aLocalizedMaterialPost; - this.mDefaultStackSize = (byte) aDefaultStackSize; - this.mTextureIndex = (short) aTextureindex; - - // TODO - Utilise some form of way to check if it's gt 5.9 if so, use string switch. - if (this.name() - .startsWith("ore")) { - getTcAspectStack(TC_Aspects.TERRA.name(), 1).addToAspectList(this.mAspects); - } else if (this.name() - .startsWith("wire") - || this.name() - .startsWith("cable")) { - getTcAspectStack(TC_Aspects.ELECTRUM.name(), 1).addToAspectList(this.mAspects); - } else - if (this.name() - .startsWith("dust")) { - getTcAspectStack(TC_Aspects.PERDITIO.name(), 1).addToAspectList(this.mAspects); - } else if (this.name() - .startsWith("crushed")) { - getTcAspectStack(TC_Aspects.PERFODIO.name(), 1).addToAspectList(this.mAspects); - } else if (this.name() - .startsWith("ingot") - || this.name() - .startsWith("nugget")) { - getTcAspectStack(TC_Aspects.METALLUM.name(), 1).addToAspectList(this.mAspects); - } else - if (this.name() - .startsWith("armor")) { - getTcAspectStack(TC_Aspects.TUTAMEN.name(), 1).addToAspectList(this.mAspects); - } else if (this.name() - .startsWith("stone")) { - getTcAspectStack(TC_Aspects.TERRA.name(), 1).addToAspectList(this.mAspects); - } else if (this.name() - .startsWith("pipe")) { - getTcAspectStack(TC_Aspects.ITER.name(), 1).addToAspectList(this.mAspects); - } else if (this.name() - .startsWith("gear")) { - getTcAspectStack(TC_Aspects.MOTUS.name(), 1).addToAspectList(this.mAspects); - getTcAspectStack(TC_Aspects.MACHINA.name(), 1) - .addToAspectList(this.mAspects); - } else if (this.name() - .startsWith("frame") - || this.name() - .startsWith("plate")) { - getTcAspectStack(TC_Aspects.FABRICO.name(), 1) - .addToAspectList(this.mAspects); - } else - if (this.name() - .startsWith("tool")) { - getTcAspectStack(TC_Aspects.INSTRUMENTUM.name(), 2) - .addToAspectList(this.mAspects); - } else if (this.name() - .startsWith("gem") - || this.name() - .startsWith("crystal") - || this.name() - .startsWith("lens")) { - getTcAspectStack(TC_Aspects.VITREUS.name(), 1) - .addToAspectList(this.mAspects); - } else - if (this.name() - .startsWith("crate")) { - getTcAspectStack(TC_Aspects.ITER.name(), 2) - .addToAspectList(this.mAspects); - } else if (this.name() - .startsWith("circuit")) { - getTcAspectStack("COGNITIO", 1); - } else if (this.name() - .startsWith("battery")) { - getTcAspectStack(TC_Aspects.ELECTRUM.name(), 1) - .addToAspectList(this.mAspects); - } - } - - public static GregtechOrePrefixes getOrePrefix(final String aOre) { - for (final GregtechOrePrefixes tPrefix : values()) { - if (aOre.startsWith(tPrefix.toString())) { - return tPrefix; - } - } - return null; - } - - public static String stripPrefix(final String aOre) { - for (final GregtechOrePrefixes tPrefix : values()) { - if (aOre.startsWith(tPrefix.toString())) { - return aOre.replaceFirst(tPrefix.toString(), ""); - } - } - return aOre; - } - - public static String replacePrefix(final String aOre, final GregtechOrePrefixes aPrefix) { - for (final GregtechOrePrefixes tPrefix : values()) { - if (aOre.startsWith(tPrefix.toString())) { - return aOre.replaceFirst(tPrefix.toString(), aPrefix.toString()); - } - } - return ""; - } - - public static GregtechOrePrefixes getPrefix(final String aPrefixName) { - return getPrefix(aPrefixName, null); - } - - public static GregtechOrePrefixes getPrefix(final String aPrefixName, final GregtechOrePrefixes aReplacement) { - final Object tObject = GT_Utility.getFieldContent(GregtechOrePrefixes.class, aPrefixName, false, false); - if ((tObject != null) && (tObject instanceof GregtechOrePrefixes)) { - return (GregtechOrePrefixes) tObject; - } - return aReplacement; - } - - public static Materials getMaterial(final String aOre) { - return Materials.get(stripPrefix(aOre)); - } - - public static Materials getMaterial(final String aOre, final GregtechOrePrefixes aPrefix) { - return Materials.get(aOre.replaceFirst(aPrefix.toString(), "")); - } - - public static Materials getRealMaterial(final String aOre, final GregtechOrePrefixes aPrefix) { - return Materials.getRealMaterial(aOre.replaceFirst(aPrefix.toString(), "")); - } - - public static boolean isInstanceOf(final String aName, final GregtechOrePrefixes aPrefix) { - return aName == null ? false : aName.startsWith(aPrefix.toString()); - } - - public boolean add(final ItemStack aStack) { - if (aStack == null) { - return false; - } - if (!this.contains(aStack)) { - this.mPrefixedItems.add(aStack); - } - while (this.mPrefixedItems.contains(null)) { - this.mPrefixedItems.remove(null); - } - return true; - } - - public boolean contains(final ItemStack aStack) { - if (aStack == null) { - return false; - } - for (final ItemStack tStack : this.mPrefixedItems) { - if (GT_Utility.areStacksEqual(aStack, tStack, !tStack.hasTagCompound())) { - return true; - } - } - return false; - } - - public boolean doGenerateItem(final Materials aMaterial) { - return (aMaterial != null) && (aMaterial != Materials._NULL) - && (((aMaterial.mTypes & this.mMaterialGenerationBits) != 0) || this.mGeneratedItems.contains(aMaterial)) - && !this.mNotGeneratedItems.contains(aMaterial) - && ((this.mCondition == null) || this.mCondition.isTrue(aMaterial)); - } - - public boolean ignoreMaterials(final Materials... aMaterials) { - for (final Materials tMaterial : aMaterials) { - if (tMaterial != null) { - this.mIgnoredMaterials.add(tMaterial); - } - } - return true; - } - - public boolean addFamiliarPrefix(final GregtechOrePrefixes aPrefix) { - if ((aPrefix == null) || this.mFamiliarPrefixes.contains(aPrefix) || (aPrefix == this)) { - return false; - } - return this.mFamiliarPrefixes.add(aPrefix); - } - - public boolean add(final Interface_OreRecipeRegistrator aRegistrator) { - if (aRegistrator == null) { - return false; - } - return this.mOreProcessing.add(aRegistrator); - } - - public void processOre(final GT_Materials aMaterial, final String aOreDictName, final String aModName, - final ItemStack aStack) { - if ((aMaterial != null) - && ((aMaterial != GT_Materials._NULL) || this.mIsSelfReferencing || !this.mIsMaterialBased) - && GT_Utility.isStackValid(aStack)) { - for (final Interface_OreRecipeRegistrator tRegistrator : this.mOreProcessing) { - if (D2) { - GT_Log.ore.println( - "Processing '" + aOreDictName - + "' with the Prefix '" - + this.name() - + "' and the Material '" - + aMaterial.name() - + "' at " - + GT_Utility.getClassName(tRegistrator)); - } - tRegistrator.registerOre(this, aMaterial, aOreDictName, aModName, GT_Utility.copyAmount(1, aStack)); - } - } - } - - // TODO - public void processOre(final Materials aMaterial, final String aOreDictName, final String aModName, - final ItemStack aStack) { - if ((aMaterial != null) && ((aMaterial != Materials._NULL) || this.mIsSelfReferencing || !this.mIsMaterialBased) - && GT_Utility.isStackValid(aStack)) { - for (final Interface_OreRecipeRegistrator tRegistrator : this.mOreProcessingFake) { - if (D2) { - GT_Log.ore.println( - "Processing '" + aOreDictName - + "' with the Prefix '" - + this.name() - + "' and the Material '" - + aMaterial.mName - + "' at " - + GT_Utility.getClassName(tRegistrator)); - } - tRegistrator.registerOre(this, aMaterial, aOreDictName, aModName, GT_Utility.copyAmount(1, aStack)); - } - } - } - - public Object get(final Object aMaterial) { - if (aMaterial instanceof GT_Materials) { - return new GregtechItemData(this, (GT_Materials) aMaterial); - } - return this.name() + aMaterial; - } - - public String getDefaultLocalNameForItem(final Materials aMaterial) { - - // Use Standard Localization - return this.mLocalizedMaterialPre + aMaterial.mDefaultLocalName + this.mLocalizedMaterialPost; - } - - public enum GT_Materials implements IColorModulationContainer, ISubTagContainer { - - /** - * This is the Default Material returned in case no Material has been found or a NullPointer has been inserted - * at a location where it shouldn't happen. - *

- * Mainly for preventing NullPointer Exceptions and providing Default Values. - * - * Unknown Material Components. Dead End Section. - * - * Alkalus Range 730-799 & 970-998 (aMetaItemSubID, TextureSet, aToolSpeed, aToolDurability, aToolQuality, - * aTypes, R, G, B, Alpha, aLocalName, aFuelType, aFuelPower, aMeltingPoint, aBlastFurnaceTemp, - * aBlastFurnaceRequired, aTransparent, aOreValue, aDensityMultiplier, aDensityDivider, aColor - * this(aMetaItemSubID, aIconSet, aToolSpeed, aToolDurability, aToolQuality, true); - * - */ - _NULL(-1, TextureSet.SET_NONE, 1.0F, 0, 0, 0, 255, 255, 255, 0, "NULL", 0, 0, 0, 0, false, false, 1, 1, 1, - Dyes._NULL, Element._NULL, Arrays.asList(getTcAspectStack(TC_Aspects.VACUOS.name(), 1))), - - // Lapis(526, TextureSet.SET_LAPIS, 1.0F, 0, 1, 1 | 4 | 8, 70, 70, 220, 0, "Lapis", 0, 0, -1, 0, false, false, - // 3, 1, 1, Dyes.dyeBlue, 2, Arrays.asList(new MaterialStack(Materials.Lazurite, 12), new - // MaterialStack(Materials.Sodalite, 2), new MaterialStack(Materials.Pyrite, 1), new - // MaterialStack(Materials.Calcite, 1)), Arrays.asList(getTcAspectStack(TC_Aspects.SENSUS, 1))), - Pyrotheum(20, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 255, 128, 0, 0, "Pyrotheum", 0, 0, -1, 0, false, - false, 2, 3, 1, Dyes.dyeYellow, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1)), - Arrays.asList(getTcAspectStack("PRAECANTATIO", 2), getTcAspectStack(TC_Aspects.IGNIS, 1))), - Cryotheum(21, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 102, 178, 255, 0, "Cryotheum", 0, 0, -1, 0, false, - false, 2, 3, 1, Dyes.dyeLightBlue, 2, - Arrays.asList( - new MaterialStack(Materials.Blizz, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Snow, 1), - new MaterialStack(Materials.Niter, 1)), - Arrays.asList(getTcAspectStack("PRAECANTATIO", 2), getTcAspectStack(TC_Aspects.GELUM, 1))), - Ender(22, TextureSet.SET_FLUID, 1.0F, 0, 2, 1, 255, 255, 255, 0, "Ender", 0, 0, -1, 0, false, false, 3, 1, 1, - Dyes.dyeGreen), - - /** - * Circuitry, Batteries and other Technical things - */ - Symbiotic(-1, TextureSet.SET_NONE, 1.0F, 0, 0, 0, 255, 255, 255, 0, "IV Tier", 0, 0, -1, 0, false, false, 1, 1, - 1, Dyes.dyeLightGray, - Arrays.asList(getTcAspectStack(TC_Aspects.ELECTRUM, 4), getTcAspectStack(TC_Aspects.MACHINA, 4))), - Neutronic(-1, TextureSet.SET_NONE, 1.0F, 0, 0, 0, 255, 255, 255, 0, "LuV Tier", 0, 0, -1, 0, false, false, 1, 1, - 1, Dyes.dyeLightGray, - Arrays.asList(getTcAspectStack(TC_Aspects.ELECTRUM, 6), getTcAspectStack(TC_Aspects.MACHINA, 6))), - Quantum(-1, TextureSet.SET_NONE, 1.0F, 0, 0, 0, 255, 255, 255, 0, "ZPM Tier", 0, 0, -1, 0, false, false, 1, 1, - 1, Dyes.dyeLightGray, - Arrays.asList(getTcAspectStack(TC_Aspects.ELECTRUM, 8), getTcAspectStack(TC_Aspects.MACHINA, 8))), - - Superconductor(-1, TextureSet.SET_NONE, 1.0F, 0, 0, 0, 190, 240, 190, 0, "Superconductor", 0, 0, -1, 0, false, - false, 1, 1, 1, Dyes.dyeGreen, Arrays.asList(getTcAspectStack(TC_Aspects.ELECTRUM, 8))), - - Staballoy(30, TextureSet.SET_ROUGH, 10.0F, 5120, 4, 1 | 2 | 16 | 32 | 64 | 128, 68, 75, 66, 0, "Staballoy", 0, - 0, 1500, 2800, true, false, 1, 3, 1, Dyes.dyeGreen, 2, - Arrays.asList(new MaterialStack(Materials.Titanium, 1), new MaterialStack(Materials.Uranium, 9)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - Bedrockium(31, TextureSet.SET_FINE, 8.0F, 8196, 3, 1 | 2 | 16 | 32 | 64 | 128, 39, 39, 39, 0, "Bedrockium", 0, - 0, -1, 0, false, false, 1, 5, 1, Dyes.dyeLightGray, 2, - Arrays.asList(new MaterialStack(Materials.Carbon, 63), new MaterialStack(Materials.Carbon, 56)), - Arrays.asList(getTcAspectStack(TC_Aspects.VACUOS, 8), getTcAspectStack(TC_Aspects.TUTAMEN, 3))), - BloodSteel(32, TextureSet.SET_METALLIC, 11.0F, 768, 4, 1 | 2 | 16 | 32 | 64 | 128, 142, 28, 0, 0, "Blood Steel", - 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeRed, 2, Arrays.asList(new MaterialStack(Materials.Steel, 3)), - Arrays.asList(getTcAspectStack(TC_Aspects.VICTUS, 8), getTcAspectStack(TC_Aspects.IGNIS, 3))), - Void(33, TextureSet.SET_METALLIC, 6.0F, 1280, 3, 1 | 2 | 16 | 32 | 64 | 128, 82, 17, 82, 0, "Void Metal", 0, 0, - -1, 0, false, false, 3, 1, 1, Dyes.dyeBlack, - Arrays.asList(getTcAspectStack("PRAECANTATIO", 5), getTcAspectStack(TC_Aspects.VACUOS, 7))), - ConductiveIron(34, TextureSet.SET_METALLIC, 5.0F, 256, 2, 1 | 2, 164, 109, 100, 0, "Conductive Iron", 0, 0, -1, - 0, false, false, 3, 1, 1, Dyes.dyeRed, 2, - Arrays.asList(new MaterialStack(Materials.Iron, 6), new MaterialStack(Materials.Redstone, 2)), - Arrays.asList(getTcAspectStack(TC_Aspects.POTENTIA, 2), getTcAspectStack(TC_Aspects.METALLUM, 2))), - ElectricalSteel(35, TextureSet.SET_METALLIC, 7.0F, 768, 3, 1 | 2 | 64 | 128, 194, 194, 194, 0, - "Electrical Steel", 0, 0, 1811, 1000, true, false, 3, 1, 1, Dyes.dyeLightGray, 2, - Arrays.asList( - new MaterialStack(Materials.Iron, 3), - new MaterialStack(Materials.Coal, 2), - new MaterialStack(Materials.Silicon, 2)), - Arrays.asList(getTcAspectStack(TC_Aspects.MAGNETO, 2), getTcAspectStack(TC_Aspects.ELECTRUM, 5))), - EnergeticAlloy(36, TextureSet.SET_SHINY, 5.0F, 512, 3, 1 | 2 | 64 | 128, 252, 152, 45, 0, "Energetic Alloy", 0, - 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeOrange, 2, - Arrays.asList( - new MaterialStack(Materials.Gold, 3), - new MaterialStack(Materials.Glowstone, 2), - new MaterialStack(Materials.Redstone, 2)), - Arrays.asList(getTcAspectStack(TC_Aspects.POTENTIA, 4), getTcAspectStack(TC_Aspects.LUX, 3))), - VibrantAlloy(37, TextureSet.SET_SHINY, 7.0F, 1280, 4, 1 | 2 | 64 | 128, 204, 242, 142, 0, "Vibrant Alloy", 0, 0, - -1, 0, false, false, 3, 1, 1, Dyes.dyeLime, 2, - Arrays.asList(new MaterialStack(Materials.EnergeticAlloy, 1), new MaterialStack(Materials.EnderPearl, 3)), - Arrays.asList(getTcAspectStack(TC_Aspects.MACHINA, 5), getTcAspectStack(TC_Aspects.TELUM, 4))), - PulsatingIron(38, TextureSet.SET_SHINY, 5.0F, 256, 2, 1 | 2 | 64 | 128, 50, 91, 21, 0, "Pulsating Iron", 0, 0, - -1, 0, false, false, 3, 1, 1, Dyes.dyeGreen, 2, - Arrays.asList(new MaterialStack(Materials.Iron, 2), new MaterialStack(Materials.EnderPearl, 2)), - Arrays.asList(getTcAspectStack(TC_Aspects.ALIENIS, 3), getTcAspectStack(TC_Aspects.METALLUM, 3))), - /* TODO */ RedstoneAlloy(39, TextureSet.SET_METALLIC, 1.0F, 256, 2, 1 | 2 | 16 | 32 | 64, 178, 34, 34, 0, - "Redstone Alloy", 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeRed, 2, - Arrays.asList(new MaterialStack(Materials.Iron, 2), new MaterialStack(Materials.Redstone, 4))), - - // Needs more Use, I think. - Tantalloy60(40, TextureSet.SET_DULL, 8.0F, 5120, 3, 1 | 2 | 16 | 32 | 64 | 128, 68, 75, 166, 0, "Tantalloy-60", - 0, 0, 3035, 2200, true, false, 1, 2, 1, Dyes.dyeLightBlue, 2, - Arrays.asList(new MaterialStack(Materials.Tungsten, 1), new MaterialStack(Materials.Tantalum, 9)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - Tantalloy61(41, TextureSet.SET_DULL, 7.0F, 5120, 2, 1 | 2 | 16 | 32 | 64 | 128, 122, 135, 196, 0, - "Tantalloy-61", 0, 0, 3015, 2150, true, false, 1, 2, 1, Dyes.dyeLightBlue, 2, - Arrays.asList( - new MaterialStack(Materials.Tungsten, 1), - new MaterialStack(Materials.Tantalum, 9), - new MaterialStack(Materials.Titanium, 1)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - - Potin(42, TextureSet.SET_METALLIC, 7.0F, 5120, 2, 1 | 2 | 16 | 32 | 64 | 128, 201, 151, 129, 0, "Potin", 0, 0, - 3015, 2150, true, false, 1, 2, 1, Dyes.dyeLightBlue, 2, - Arrays.asList( - new MaterialStack(Materials.Tungsten, 1), - new MaterialStack(Materials.Tantalum, 9), - new MaterialStack(Materials.Titanium, 1)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - Inconel792(43, TextureSet.SET_METALLIC, 7.0F, 5120, 2, 1 | 2 | 16 | 32 | 64 | 128, 108, 240, 118, 0, - "Inconel-792", 0, 0, 3015, 2150, true, false, 1, 2, 1, Dyes.dyeLightBlue, 2, - Arrays.asList( - new MaterialStack(Materials.Tungsten, 1), - new MaterialStack(Materials.Tantalum, 9), - new MaterialStack(Materials.Titanium, 1)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - Inconel690(44, TextureSet.SET_DULL, 7.0F, 5120, 2, 1 | 2 | 16 | 32 | 64 | 128, 118, 220, 138, 0, "Inconel-690", - 0, 0, 3015, 2150, true, false, 1, 2, 1, Dyes.dyeLightBlue, 2, - Arrays.asList( - new MaterialStack(Materials.Tungsten, 1), - new MaterialStack(Materials.Tantalum, 9), - new MaterialStack(Materials.Titanium, 1)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - MaragingSteel300(45, TextureSet.SET_METALLIC, 7.0F, 5120, 2, 1 | 2 | 16 | 32 | 64 | 128, 150, 150, 150, 0, - "Maraging Steel 300", 0, 0, 3015, 2150, true, false, 1, 2, 1, Dyes.dyeLightBlue, 2, - Arrays.asList( - new MaterialStack(Materials.Tungsten, 1), - new MaterialStack(Materials.Tantalum, 9), - new MaterialStack(Materials.Titanium, 1)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - MaragingSteel350(46, TextureSet.SET_METALLIC, 7.0F, 5120, 2, 1 | 2 | 16 | 32 | 64 | 128, 160, 160, 160, 0, - "Maraging Steel 350", 0, 0, 3015, 2150, true, false, 1, 2, 1, Dyes.dyeLightBlue, 2, - Arrays.asList( - new MaterialStack(Materials.Tungsten, 1), - new MaterialStack(Materials.Tantalum, 9), - new MaterialStack(Materials.Titanium, 1)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - HastelloyX(47, TextureSet.SET_SHINY, 7.0F, 5120, 2, 1 | 2 | 16 | 32 | 64 | 128, 255, 193, 37, 0, "Hastelloy-X", - 0, 0, 3015, 2150, true, false, 1, 2, 1, Dyes.dyeLightBlue, 2, - Arrays.asList( - new MaterialStack(Materials.Tungsten, 1), - new MaterialStack(Materials.Tantalum, 9), - new MaterialStack(Materials.Titanium, 1)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - - TriniumNaquadahCarbonite(48, TextureSet.SET_SHINY, 7.0F, 5120, 2, 1 | 2 | 16 | 32 | 64 | 128, 255, 233, 0, 0, - "Trinium Naquadah Carbonite", 0, 0, 3015, 2150, true, false, 1, 2, 1, Dyes.dyeLightBlue, 2, - Arrays.asList( - new MaterialStack(Materials.Tungsten, 1), - new MaterialStack(Materials.Tantalum, 9), - new MaterialStack(Materials.Titanium, 1)), - Arrays.asList(getTcAspectStack(TC_Aspects.METALLUM, 8), getTcAspectStack(TC_Aspects.STRONTIO, 3))), - - // Radioactive Materials - HydrofluoricAcid(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 200, 200, 200, 0, "Hydrofluoric Acid", 0, 0, - -1, 0, false, false, 2, 3, 1, Dyes.dyeWhite, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))), - UraniumHexaFluoride(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 73, 220, 83, 0, "Uranium Hexafluoride", - 0, 0, -1, 0, false, false, 2, 3, 1, Dyes.dyeLime, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))), - UraniumTetraFluoride(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 73, 220, 83, 0, "Uranium Tetrafluoride", - 0, 0, -1, 0, false, false, 2, 3, 1, Dyes.dyeLime, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))), - ThoriumTetraFluoride(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 15, 120, 15, 0, "Thorium Tetrafluoride", - 0, 0, -1, 0, false, false, 2, 3, 1, Dyes.dyeGreen, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))), - - SulfurousAcid(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 110, 220, 30, 0, "Sulfurous Acid", 0, 0, -1, 0, - false, false, 2, 3, 1, Dyes.dyeWhite, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))), - SulfurDioxide(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 150, 200, 50, 0, "Sulfur Dioxide", 0, 0, -1, 0, - false, false, 2, 3, 1, Dyes.dyeWhite, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))), - HydrogenChloride(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 150, 240, 90, 0, "Hydrogen Chloride", 0, 0, - -1, 0, false, false, 2, 3, 1, Dyes.dyeWhite, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))), - SulfuricApatite(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 0, 105, 105, 0, "Sulfuric Apatite Solution", - 0, 0, -1, 0, false, false, 2, 3, 1, Dyes.dyeWhite, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))), - - SulfuricLithium(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 0, 105, 105, 0, "Sulfuric Lithium Solution", - 0, 0, -1, 0, false, false, 2, 3, 1, Dyes.dyeWhite, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))), - LithiumHydroxide(-1, TextureSet.SET_FLUID, 1.0F, 0, 1, 2 | 16 | 32, 0, 105, 105, 0, "Lithium Hydroxide", 0, 0, - -1, 0, false, false, 2, 3, 1, Dyes.dyeWhite, 2, - Arrays.asList( - new MaterialStack(Materials.Coal, 1), - new MaterialStack(Materials.Redstone, 1), - new MaterialStack(Materials.Blaze, 1), - new MaterialStack(Materials.Sulfur, 1))),; - - /** - * List of all Materials. - */ - public static final Collection VALUES = new HashSet<>(Arrays.asList(values())); - - static { - /* - * Primitive.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); Basic.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); - * Good.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); Advanced.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); - * Data.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); Elite.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); - * Master.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); Ultimate.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); - * Superconductor.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); Infinite.add(SubTag.NO_SMASHING, - * SubTag.NO_SMELTING); - */ - Symbiotic.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); - Neutronic.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); - Quantum.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); - } - - /** - * This Array can be changed dynamically by a Tick Handler in order to get a glowing Effect on all GT Meta Items - * out of this Material. - */ - public final short[] mRGBa = new short[] { 255, 255, 255, 0 }, mMoltenRGBa = new short[] { 255, 255, 255, 0 }; - - public final TextureSet mIconSet; - public final int mMetaItemSubID; - public final boolean mUnificatable; - public final GT_Materials mMaterialInto; - public final List mMaterialList = new ArrayList<>(); - public final List mOreByProducts = new ArrayList<>(), mOreReRegistrations = new ArrayList<>(); - public final List mAspects = new ArrayList<>(); - private final ArrayList mMaterialItems = new ArrayList<>(); - private final Collection mSubTags = new HashSet<>(); - public Enchantment mEnchantmentTools = null, mEnchantmentArmors = null; - public byte mEnchantmentToolsLevel = 0, mEnchantmentArmorsLevel = 0; - public boolean mBlastFurnaceRequired = false; - public float mToolSpeed = 1.0F, mHeatDamage = 0.0F; - public String mChemicalFormula = "?", mDefaultLocalName = "null"; - public Dyes mColor = Dyes._NULL; - public short mMeltingPoint = 0, mBlastFurnaceTemp = 0; - public int mTypes = 0, mDurability = 16, mFuelPower = 0, mFuelType = 0, mExtraData = 0, mOreValue = 0, - mOreMultiplier = 1, mByProductMultiplier = 1, mSmeltingMultiplier = 1; - public long mDensity = M; - public Element mElement = null; - public GT_Materials mDirectSmelting = this; - public GT_Materials mOreReplacement = this; - public GT_Materials mMacerateInto = this; - public GT_Materials mSmeltInto = this; - public GT_Materials mArcSmeltInto = this; - public final GT_Materials mHandleMaterial = this; - public byte mToolQuality = 0; - public final Fluid mSolid = null; - public Fluid mFluid = null; - public Fluid mGas = null; - public Fluid mPlasma = null; - /** - * This Fluid is used as standard Unit for Molten Materials. 1296 is a Molten Block, what means 144 is one - * Material Unit worth - */ - public final Fluid mStandardMoltenFluid = null; - - private GT_Materials(final int aMetaItemSubID, final TextureSet aIconSet, final float aToolSpeed, - final int aToolDurability, final int aToolQuality, final boolean aUnificatable) { - this.mUnificatable = aUnificatable; - this.mMaterialInto = this; - this.mMetaItemSubID = aMetaItemSubID; - this.mToolQuality = (byte) aToolQuality; - this.mDurability = aToolDurability; - this.mToolSpeed = aToolSpeed; - this.mIconSet = aIconSet; - if (aMetaItemSubID >= 0) { - if (CORE.sMU_GeneratedMaterials[aMetaItemSubID] == null) { - CORE.sMU_GeneratedMaterials[aMetaItemSubID] = this; - } else { - throw new IllegalArgumentException("The Index " + aMetaItemSubID + " is already used!"); - } - } - } - - private GT_Materials(final GT_Materials aMaterialInto, final boolean aReRegisterIntoThis) { - this.mUnificatable = false; - this.mDefaultLocalName = aMaterialInto.mDefaultLocalName; - this.mMaterialInto = aMaterialInto.mMaterialInto; - if (aReRegisterIntoThis) { - this.mMaterialInto.mOreReRegistrations.add(this); - } - this.mChemicalFormula = aMaterialInto.mChemicalFormula; - this.mMetaItemSubID = -1; - this.mIconSet = TextureSet.SET_NONE; - } - - /** - * @param aMetaItemSubID the Sub-ID used in my own MetaItems. Range 0-1000. -1 for no Material - * @param aTypes which kind of Items should be generated. Bitmask as follows: 1 = Dusts of all - * kinds. 2 = Dusts, Ingots, Plates, Rods/Sticks, Machine Components and other - * Metal specific things. 4 = Dusts, Gems, Plates, Lenses (if transparent). 8 = - * Dusts, Impure Dusts, crushed Ores, purified Ores, centrifuged Ores etc. 16 = - * Cells 32 = Plasma Cells 64 = Tool Heads 128 = Gears - * @param aR, aG, aB Color of the Material 0-255 each. - * @param aA transparency of the Material Texture. 0 = fully visible, 255 = Invisible. - * @param aLocalName The Name used as Default for localization. - * @param aFuelType Type of Generator to get Energy from this Material. - * @param aFuelPower EU generated. Will be multiplied by 1000, also additionally multiplied by 2 for - * Gems. - * @param aAmplificationValue Amount of UUM amplifier gotten from this. - * @param aUUMEnergy Amount of EU needed to shape the UUM into this Material. - * @param aMeltingPoint Used to determine the smelting Costs in Furnii. - * @param aBlastFurnaceTemp Used to determine the needed Heat capactiy Costs in Blast Furnii. - * @param aBlastFurnaceRequired If this requires a Blast Furnace. - * @param aColor Vanilla MC Wool Color which comes the closest to this. - */ - private GT_Materials(final int aMetaItemSubID, final TextureSet aIconSet, final float aToolSpeed, - final int aToolDurability, final int aToolQuality, final int aTypes, final int aR, final int aG, - final int aB, final int aA, final String aLocalName, final int aFuelType, final int aFuelPower, - final int aMeltingPoint, final int aBlastFurnaceTemp, final boolean aBlastFurnaceRequired, - final boolean aTransparent, final int aOreValue, final int aDensityMultiplier, final int aDensityDivider, - final Dyes aColor) { - this(aMetaItemSubID, aIconSet, aToolSpeed, aToolDurability, aToolQuality, true); - this.mDefaultLocalName = aLocalName; - this.mMeltingPoint = (short) aMeltingPoint; - this.mBlastFurnaceTemp = (short) aBlastFurnaceTemp; - this.mBlastFurnaceRequired = aBlastFurnaceRequired; - if (aTransparent) { - this.add(SubTag.TRANSPARENT); - } - this.mFuelPower = aFuelPower; - this.mFuelType = aFuelType; - this.mOreValue = aOreValue; - this.mDensity = (M * aDensityMultiplier) / aDensityDivider; - this.mColor = aColor == null ? Dyes._NULL : aColor; - if (this.mColor != null) { - this.add(SubTag.HAS_COLOR); - } - this.mRGBa[0] = this.mMoltenRGBa[0] = (short) aR; - this.mRGBa[1] = this.mMoltenRGBa[1] = (short) aG; - this.mRGBa[2] = this.mMoltenRGBa[2] = (short) aB; - this.mRGBa[3] = this.mMoltenRGBa[3] = (short) aA; - this.mTypes = aTypes; - if ((this.mTypes & 2) != 0) { - this.add(SubTag.SMELTING_TO_FLUID); - } - } - - private GT_Materials(final int aMetaItemSubID, final TextureSet aIconSet, final float aToolSpeed, - final int aToolDurability, final int aToolQuality, final int aTypes, final int aR, final int aG, - final int aB, final int aA, final String aLocalName, final int aFuelType, final int aFuelPower, - final int aMeltingPoint, final int aBlastFurnaceTemp, final boolean aBlastFurnaceRequired, - final boolean aTransparent, final int aOreValue, final int aDensityMultiplier, final int aDensityDivider, - final Dyes aColor, final List aAspects) { - this( - aMetaItemSubID, - aIconSet, - aToolSpeed, - aToolDurability, - aToolQuality, - aTypes, - aR, - aG, - aB, - aA, - aLocalName, - aFuelType, - aFuelPower, - aMeltingPoint, - aBlastFurnaceTemp, - aBlastFurnaceRequired, - aTransparent, - aOreValue, - aDensityMultiplier, - aDensityDivider, - aColor); - this.mAspects.addAll(aAspects); - } - - /** - * @param aElement The Element Enum represented by this Material - */ - private GT_Materials(final int aMetaItemSubID, final TextureSet aIconSet, final float aToolSpeed, - final int aToolDurability, final int aToolQuality, final int aTypes, final int aR, final int aG, - final int aB, final int aA, final String aLocalName, final int aFuelType, final int aFuelPower, - final int aMeltingPoint, final int aBlastFurnaceTemp, final boolean aBlastFurnaceRequired, - final boolean aTransparent, final int aOreValue, final int aDensityMultiplier, final int aDensityDivider, - final Dyes aColor, final Element aElement, final List aAspects) { - this( - aMetaItemSubID, - aIconSet, - aToolSpeed, - aToolDurability, - aToolQuality, - aTypes, - aR, - aG, - aB, - aA, - aLocalName, - aFuelType, - aFuelPower, - aMeltingPoint, - aBlastFurnaceTemp, - aBlastFurnaceRequired, - aTransparent, - aOreValue, - aDensityMultiplier, - aDensityDivider, - aColor); - this.mElement = aElement; - // mElement.mLinkedMaterials.add(this); - if (aElement == Element._NULL) { - this.mChemicalFormula = "Empty"; - } else { - this.mChemicalFormula = aElement.toString(); - this.mChemicalFormula = this.mChemicalFormula.replaceAll("_", "-"); - } - this.mAspects.addAll(aAspects); - } - - private GT_Materials(final int aMetaItemSubID, final TextureSet aIconSet, final float aToolSpeed, - final int aToolDurability, final int aToolQuality, final int aTypes, final int aR, final int aG, - final int aB, final int aA, final String aLocalName, final int aFuelType, final int aFuelPower, - final int aMeltingPoint, final int aBlastFurnaceTemp, final boolean aBlastFurnaceRequired, - final boolean aTransparent, final int aOreValue, final int aDensityMultiplier, final int aDensityDivider, - final Dyes aColor, final int aExtraData, final List aMaterialList) { - this( - aMetaItemSubID, - aIconSet, - aToolSpeed, - aToolDurability, - aToolQuality, - aTypes, - aR, - aG, - aB, - aA, - aLocalName, - aFuelType, - aFuelPower, - aMeltingPoint, - aBlastFurnaceTemp, - aBlastFurnaceRequired, - aTransparent, - aOreValue, - aDensityMultiplier, - aDensityDivider, - aColor, - aExtraData, - aMaterialList, - null); - } - - private GT_Materials(final int aMetaItemSubID, final TextureSet aIconSet, final float aToolSpeed, - final int aToolDurability, final int aToolQuality, final int aTypes, final int aR, final int aG, - final int aB, final int aA, final String aLocalName, final int aFuelType, final int aFuelPower, - final int aMeltingPoint, final int aBlastFurnaceTemp, final boolean aBlastFurnaceRequired, - final boolean aTransparent, final int aOreValue, final int aDensityMultiplier, final int aDensityDivider, - final Dyes aColor, final int aExtraData, final List aMaterialList, - final List aAspects) { - this( - aMetaItemSubID, - aIconSet, - aToolSpeed, - aToolDurability, - aToolQuality, - aTypes, - aR, - aG, - aB, - aA, - aLocalName, - aFuelType, - aFuelPower, - aMeltingPoint, - aBlastFurnaceTemp, - aBlastFurnaceRequired, - aTransparent, - aOreValue, - aDensityMultiplier, - aDensityDivider, - aColor); - this.mExtraData = aExtraData; - this.mMaterialList.addAll(aMaterialList); - this.mChemicalFormula = ""; - for (final MaterialStack tMaterial : this.mMaterialList) { - this.mChemicalFormula += tMaterial.toString(); - } - this.mChemicalFormula = this.mChemicalFormula.replaceAll("_", "-"); - - int tAmountOfComponents = 0, tMeltingPoint = 0; - for (final MaterialStack tMaterial : this.mMaterialList) { - tAmountOfComponents += tMaterial.mAmount; - if (tMaterial.mMaterial.mMeltingPoint > 0) { - tMeltingPoint += tMaterial.mMaterial.mMeltingPoint * tMaterial.mAmount; - } - if (aAspects == null) { - for (final TC_AspectStack tAspect : tMaterial.mMaterial.mAspects) { - tAspect.addToAspectList(this.mAspects); - } - } - } - - if (this.mMeltingPoint < 0) { - this.mMeltingPoint = (short) (tMeltingPoint / tAmountOfComponents); - } - - tAmountOfComponents *= aDensityMultiplier; - tAmountOfComponents /= aDensityDivider; - if (aAspects == null) { - for (final TC_AspectStack tAspect : this.mAspects) { - tAspect.mAmount = Math.max(1, tAspect.mAmount / Math.max(1, tAmountOfComponents)); - } - } else { - this.mAspects.addAll(aAspects); - } - } - - public static GT_Materials get(final String aMaterialName) { - final Object tObject = GT_Utility.getFieldContent(GT_Materials.class, aMaterialName, false, false); - if ((tObject != null) && (tObject instanceof GT_Materials)) { - return (GT_Materials) tObject; - } - return _NULL; - } - - public static GT_Materials getRealMaterial(final String aMaterialName) { - return get(aMaterialName).mMaterialInto; - } - - /** - * Called in preInit with the Config to set Values. - * - * @param aConfiguration - */ - public static void init(final GT_Config aConfiguration) { - for (final GT_Materials tMaterial : VALUES) { - final String tString = tMaterial.toString() - .toLowerCase(); - tMaterial.mHeatDamage = (float) aConfiguration - .get(ConfigCategories.Materials.heatdamage, tString, tMaterial.mHeatDamage); - if (tMaterial.mBlastFurnaceRequired) { - tMaterial.mBlastFurnaceRequired = aConfiguration - .get(ConfigCategories.Materials.blastfurnacerequirements, tString, true); - } - if (tMaterial.mBlastFurnaceRequired && aConfiguration.get( - ConfigCategories.Materials.blastinductionsmelter, - tString, - tMaterial.mBlastFurnaceTemp < 1500)) {} - } - } - - public boolean isRadioactive() { - if (this.mElement != null) { - return this.mElement.mHalfLifeSeconds >= 0; - } - for (final MaterialStack tMaterial : this.mMaterialList) { - if (tMaterial.mMaterial.isRadioactive()) { - return true; - } - } - return false; - } - - public long getProtons() { - if (this.mElement != null) { - return this.mElement.getProtons(); - } - if (this.mMaterialList.size() <= 0) { - return Element.Tc.getProtons(); - } - long rAmount = 0, tAmount = 0; - for (final MaterialStack tMaterial : this.mMaterialList) { - tAmount += tMaterial.mAmount; - rAmount += tMaterial.mAmount * tMaterial.mMaterial.getProtons(); - } - return (this.getDensity() * rAmount) / (tAmount * M); - } - - public long getNeutrons() { - if (this.mElement != null) { - return this.mElement.getNeutrons(); - } - if (this.mMaterialList.size() <= 0) { - return Element.Tc.getNeutrons(); - } - long rAmount = 0, tAmount = 0; - for (final MaterialStack tMaterial : this.mMaterialList) { - tAmount += tMaterial.mAmount; - rAmount += tMaterial.mAmount * tMaterial.mMaterial.getNeutrons(); - } - return (this.getDensity() * rAmount) / (tAmount * M); - } - - public long getMass() { - if (this.mElement != null) { - return this.mElement.getMass(); - } - if (this.mMaterialList.size() <= 0) { - return Element.Tc.getMass(); - } - long rAmount = 0, tAmount = 0; - for (final MaterialStack tMaterial : this.mMaterialList) { - tAmount += tMaterial.mAmount; - rAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass(); - } - return (this.getDensity() * rAmount) / (tAmount * M); - } - - public long getDensity() { - return this.mDensity; - } - - public String getToolTip() { - return this.getToolTip(1, false); - } - - public String getToolTip(final boolean aShowQuestionMarks) { - return this.getToolTip(1, aShowQuestionMarks); - } - - public String getToolTip(final long aMultiplier) { - return this.getToolTip(aMultiplier, false); - } - - public String getToolTip(final long aMultiplier, final boolean aShowQuestionMarks) { - if (!aShowQuestionMarks && this.mChemicalFormula.equals("?")) { - return ""; - } - if ((aMultiplier >= (M * 2)) && !this.mMaterialList.isEmpty()) { - return (((this.mElement != null) - || ((this.mMaterialList.size() < 2) && (this.mMaterialList.get(0).mAmount == 1))) - ? this.mChemicalFormula - : "(" + this.mChemicalFormula + ")") - + aMultiplier; - } - return this.mChemicalFormula; - } - - /** - * Adds an ItemStack to this Material. - */ - public GT_Materials add(final ItemStack aStack) { - if ((aStack != null) && !this.contains(aStack)) { - this.mMaterialItems.add(aStack); - } - return this; - } - - /** - * This is used to determine if any of the ItemStacks belongs to this Material. - */ - public boolean contains(final ItemStack... aStacks) { - if ((aStacks == null) || (aStacks.length <= 0)) { - return false; - } - for (final ItemStack tStack : this.mMaterialItems) { - for (final ItemStack aStack : aStacks) { - if (GT_Utility.areStacksEqual(aStack, tStack, !tStack.hasTagCompound())) { - return true; - } - } - } - return false; - } - - /** - * This is used to determine if an ItemStack belongs to this Material. - */ - public boolean remove(final ItemStack aStack) { - if (aStack == null) { - return false; - } - boolean temp = false; - for (int i = 0; i < this.mMaterialItems.size(); i++) { - if (GT_Utility.areStacksEqual(aStack, this.mMaterialItems.get(i))) { - this.mMaterialItems.remove(i--); - temp = true; - } - } - return temp; - } - - /** - * Adds a SubTag to this Material - */ - @Override - public ISubTagContainer add(final SubTag... aTags) { - if (aTags != null) { - for (final SubTag aTag : aTags) { - if ((aTag != null) && !this.contains(aTag)) { - aTag.addContainerToList(this); - this.mSubTags.add(aTag); - } - } - } - return this; - } - - /** - * If this Material has this exact SubTag - */ - @Override - public boolean contains(final SubTag aTag) { - return this.mSubTags.contains(aTag); - } - - /** - * Removes a SubTag from this Material - */ - @Override - public boolean remove(final SubTag aTag) { - return this.mSubTags.remove(aTag); - } - - /** - * Sets the Heat Damage for this Material (negative = frost) - */ - public GT_Materials setHeatDamage(final float aHeatDamage) { - this.mHeatDamage = aHeatDamage; - return this; - } - - /** - * Adds a Material to the List of Byproducts when grinding this Ore. Is used for more precise Ore grinding, so - * that it is possible to choose between certain kinds of Materials. - */ - public GT_Materials addOreByProduct(final GT_Materials aMaterial) { - if (!this.mOreByProducts.contains(aMaterial.mMaterialInto)) { - this.mOreByProducts.add(aMaterial.mMaterialInto); - } - return this; - } - - /** - * Adds multiple Materials to the List of Byproducts when grinding this Ore. Is used for more precise Ore - * grinding, so that it is possible to choose between certain kinds of Materials. - */ - public GT_Materials addOreByProducts(final GT_Materials... aMaterials) { - for (final GT_Materials tMaterial : aMaterials) { - if (tMaterial != null) { - this.addOreByProduct(tMaterial); - } - } - return this; - } - - /** - * If this Ore gives multiple drops of its Main Material. Lapis Ore for example gives about 6 drops. - */ - public GT_Materials setOreMultiplier(final int aOreMultiplier) { - if (aOreMultiplier > 0) { - this.mOreMultiplier = aOreMultiplier; - } - return this; - } - - /** - * If this Ore gives multiple drops of its Byproduct Material. - */ - public GT_Materials setByProductMultiplier(final int aByProductMultiplier) { - if (aByProductMultiplier > 0) { - this.mByProductMultiplier = aByProductMultiplier; - } - return this; - } - - /** - * If this Ore gives multiple drops of its Main Material. Lapis Ore for example gives about 6 drops. - */ - public GT_Materials setSmeltingMultiplier(final int aSmeltingMultiplier) { - if (aSmeltingMultiplier > 0) { - this.mSmeltingMultiplier = aSmeltingMultiplier; - } - return this; - } - - /** - * This Ore should be smolten directly into an Ingot of this Material instead of an Ingot of itself. - */ - public GT_Materials setDirectSmelting(final GT_Materials aMaterial) { - if (aMaterial != null) { - this.mDirectSmelting = aMaterial.mMaterialInto.mDirectSmelting; - } - return this; - } - - /** - * This Material should be the Main Material this Ore gets ground into. Example, Chromite giving Chrome or - * Tungstate giving Tungsten. - */ - public GT_Materials setOreReplacement(final GT_Materials aMaterial) { - if (aMaterial != null) { - this.mOreReplacement = aMaterial.mMaterialInto.mOreReplacement; - } - return this; - } - - /** - * This Material smelts always into an instance of aMaterial. Used for Magnets. - */ - public GT_Materials setSmeltingInto(final GT_Materials aMaterial) { - if (aMaterial != null) { - this.mSmeltInto = aMaterial.mMaterialInto.mSmeltInto; - } - return this; - } - - /** - * This Material arc smelts always into an instance of aMaterial. Used for Wrought Iron. - */ - public GT_Materials setArcSmeltingInto(final GT_Materials aMaterial) { - if (aMaterial != null) { - this.mArcSmeltInto = aMaterial.mMaterialInto.mArcSmeltInto; - } - return this; - } - - /** - * This Material macerates always into an instance of aMaterial. - */ - public GT_Materials setMaceratingInto(final GT_Materials aMaterial) { - if (aMaterial != null) { - this.mMacerateInto = aMaterial.mMaterialInto.mMacerateInto; - } - return this; - } - - public GT_Materials setEnchantmentForTools(final Enchantment aEnchantment, final int aEnchantmentLevel) { - this.mEnchantmentTools = aEnchantment; - this.mEnchantmentToolsLevel = (byte) aEnchantmentLevel; - return this; - } - - public GT_Materials setEnchantmentForArmors(final Enchantment aEnchantment, final int aEnchantmentLevel) { - this.mEnchantmentArmors = aEnchantment; - this.mEnchantmentArmorsLevel = (byte) aEnchantmentLevel; - return this; - } - - public FluidStack getSolid(final long aAmount) { - if (this.mSolid == null) { - return null; - } - return new FluidStack(this.mSolid, (int) aAmount); - } - - public FluidStack getFluid(final long aAmount) { - if (this.mFluid == null) { - return null; - } - return new FluidStack(this.mFluid, (int) aAmount); - } - - public FluidStack getGas(final long aAmount) { - if (this.mGas == null) { - return null; - } - return new FluidStack(this.mGas, (int) aAmount); - } - - public FluidStack getPlasma(final long aAmount) { - if (this.mPlasma == null) { - return null; - } - return new FluidStack(this.mPlasma, (int) aAmount); - } - - public FluidStack getMolten(final long aAmount) { - if (this.mStandardMoltenFluid == null) { - return null; - } - return new FluidStack(this.mStandardMoltenFluid, (int) aAmount); - } - - @Override - public short[] getRGBA() { - return this.mRGBa; - } - - public static final int VERSION = 508; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java deleted file mode 100644 index 0a116b1b9f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java +++ /dev/null @@ -1,9 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.enums; - -public enum GregtechToolDictNames { - craftingToolHandPump, - craftingToolAngleGrinder, - craftingToolElectricSnips, - craftingToolElectricLighter, - craftingToolElectricButcherKnife; -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java deleted file mode 100644 index e6276713f3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java +++ /dev/null @@ -1,139 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.gui; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -import com.gtnewhorizons.modularui.api.drawable.AdaptableUITexture; -import com.gtnewhorizons.modularui.api.drawable.UITexture; - -public class GTPP_UITextures { - - public static final UITexture OVERLAY_SLOT_COAL = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/coal"); - public static final UITexture OVERLAY_SLOT_CANISTER_DARK = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_slot/canister_dark"); - - public static final AdaptableUITexture BACKGROUND_YELLOW = AdaptableUITexture - .of(GTPlusPlus.ID, "gui/background/yellow", 176, 166, 4); - - public static final AdaptableUITexture SLOT_ITEM_YELLOW = AdaptableUITexture - .of(GTPlusPlus.ID, "gui/slot/item_yellow", 18, 18, 1); - public static final AdaptableUITexture[] SLOT_INVENTORY_MANAGER = new AdaptableUITexture[] { - AdaptableUITexture.of(GTPlusPlus.ID, "gui/slot/red", 18, 18, 1), - AdaptableUITexture.of(GTPlusPlus.ID, "gui/slot/green", 18, 18, 1), - AdaptableUITexture.of(GTPlusPlus.ID, "gui/slot/blue", 18, 18, 1), - AdaptableUITexture.of(GTPlusPlus.ID, "gui/slot/cyan", 18, 18, 1), - AdaptableUITexture.of(GTPlusPlus.ID, "gui/slot/magenta", 18, 18, 1), - AdaptableUITexture.of(GTPlusPlus.ID, "gui/slot/yellow", 18, 18, 1), }; - - public static final UITexture BUTTON_STANDARD_BRONZE = UITexture - .fullImage(GTPlusPlus.ID, "gui/button/standard_bronze"); - - public static final UITexture OVERLAY_SLOT_WEED_EX = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/weed_ex"); - public static final UITexture OVERLAY_SLOT_FERTILIZER = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_slot/fertilizer"); - public static final UITexture OVERLAY_SLOT_ELECTRIC_TOOL = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_slot/electric_tool"); - public static final UITexture OVERLAY_SLOT_PAGE_PRINTED_BRONZE = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_slot/page_printed_bronze"); - public static final UITexture OVERLAY_SLOT_ARROW = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/arrow"); - public static final UITexture OVERLAY_SLOT_ARROW_BRONZE = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_slot/arrow_bronze"); - public static final UITexture OVERLAY_SLOT_CRAFT_OUTPUT = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_slot/craft_output"); - public static final UITexture OVERLAY_SLOT_CRAFT_OUTPUT_BRONZE = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_slot/craft_output_bronze"); - public static final UITexture OVERLAY_SLOT_PARK = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/park"); - public static final UITexture OVERLAY_SLOT_PARK_BRONZE = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_slot/park_bronze"); - public static final UITexture OVERLAY_SLOT_INGOT = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/ingot"); - public static final UITexture OVERLAY_SLOT_ARROW_4 = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/arrow_4"); - public static final UITexture OVERLAY_SLOT_TURBINE = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/turbine"); - public static final UITexture OVERLAY_SLOT_CHEST = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/chest"); - public static final UITexture[] OVERLAY_SLOT_INVENTORY_MANAGER_COLOR = new UITexture[] { - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/red"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/green"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/blue"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/cyan"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/magenta"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/yellow"), }; - public static final UITexture[] OVERLAY_SLOT_INVENTORY_MANAGER_ARROW = new UITexture[] { - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/arrow_red"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/arrow_green"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/arrow_blue"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/arrow_cyan"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/arrow_magenta"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_slot/arrow_yellow"), }; - - public static final UITexture PROGRESSBAR_FLUID_REACTOR = UITexture - .fullImage(GTPlusPlus.ID, "gui/progressbar/fluid_reactor"); - public static final UITexture PROGRESSBAR_BOILER_EMPTY = UITexture - .fullImage(GTPlusPlus.ID, "gui/progressbar/boiler_empty"); - public static final UITexture PROGRESSBAR_FUEL = UITexture.fullImage(GTPlusPlus.ID, "gui/progressbar/fuel"); - public static final UITexture PROGRESSBAR_ARROW_2 = UITexture.fullImage(GTPlusPlus.ID, "gui/progressbar/arrow_2"); - public static final UITexture PROGRESSBAR_PSS_ENERGY = UITexture - .fullImage(GTPlusPlus.ID, "gui/progressbar/pss_energy"); - - public static final AdaptableUITexture TAB_TITLE_YELLOW = AdaptableUITexture - .of(GTPlusPlus.ID, "gui/tab/title_yellow", 28, 28, 4); - public static final AdaptableUITexture TAB_TITLE_ANGULAR_YELLOW = AdaptableUITexture - .of(GTPlusPlus.ID, "gui/tab/title_angular_yellow", 28, 28, 4); - public static final AdaptableUITexture TAB_TITLE_DARK_YELLOW = AdaptableUITexture - .of(GTPlusPlus.ID, "gui/tab/title_dark_yellow", 28, 28, 4); - - public static final UITexture OVERLAY_BUTTON_HARVESTER_MODE = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_button/harvester_mode"); - public static final UITexture OVERLAY_BUTTON_HARVESTER_TOGGLE = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_button/harvester_toggle"); - public static final UITexture OVERLAY_BUTTON_FLUSH = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/flush"); - public static final UITexture OVERLAY_BUTTON_FLUSH_BRONZE = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_button/flush_bronze"); - public static final UITexture OVERLAY_BUTTON_AUTOMATION = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_button/automation"); - public static final UITexture OVERLAY_BUTTON_LOCK = UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/lock"); - public static final UITexture[] OVERLAY_BUTTON_THROUGHPUT = IntStream.range(0, 4) // GT_MetaTileEntity_ElectricAutoWorkbench#MAX_THROUGHPUT - .mapToObj(i -> UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/throughput_" + i)) - .collect(Collectors.toList()) - .toArray(new UITexture[0]); - public static final UITexture[] OVERLAY_BUTTON_MODE = IntStream.range(0, 10) // GT_MetaTileEntity_ElectricAutoWorkbench#MAX_MODES - .mapToObj(i -> UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/mode_" + i)) - .collect(Collectors.toList()) - .toArray(new UITexture[0]); - public static final UITexture[] OVERLAY_BUTTON_DIRECTION = new UITexture[] { - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/bottom"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/top"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/north"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/south"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/west"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/east"), }; - public static final UITexture[] OVERLAY_BUTTON_DIRECTION_GRAY = new UITexture[] { - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/bottom_gray"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/top_gray"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/north_gray"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/south_gray"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/west_gray"), - UITexture.fullImage(GTPlusPlus.ID, "gui/overlay_button/east_gray"), }; - public static final UITexture OVERLAY_BUTTON_TIP_GREEN = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_button/tip_green"); - public static final UITexture OVERLAY_BUTTON_TIP_RED = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_button/tip_red"); - public static final UITexture OVERLAY_BUTTON_ACTIVE_STATE = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_button/active_state"); - public static final UITexture OVERLAY_BUTTON_CHANGE_MODE = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_button/change_mode"); - public static final UITexture OVERLAY_BUTTON_PLUS_MINUS = UITexture - .fullImage(GTPlusPlus.ID, "gui/overlay_button/plus_minus"); - - public static final UITexture PICTURE_WORKBENCH_CIRCLE = UITexture - .fullImage(GTPlusPlus.ID, "gui/picture/workbench_circle"); - public static final UITexture PICTURE_ARROW_WHITE_DOWN = UITexture - .fullImage(GTPlusPlus.ID, "gui/picture/arrow_white_down"); - public static final UITexture PICTURE_REDSTONE_CIRCUIT_SCREEN = UITexture - .fullImage(GTPlusPlus.ID, "gui/picture/redstone_circuit_screen"); - public static final UITexture PICTURE_ELECTRICITY_ERROR = UITexture - .fullImage(GTPlusPlus.ID, "gui/picture/electricity_error"); - public static final UITexture PICTURE_ELECTRICITY_FINE = UITexture - .fullImage(GTPlusPlus.ID, "gui/picture/electricity_fine"); - public static final UITexture PICTURE_ENERGY_FRAME = UITexture.fullImage(GTPlusPlus.ID, "gui/picture/energy_frame"); -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/ElectricSlotWidget.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/ElectricSlotWidget.java deleted file mode 100644 index e522d41799..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/widget/ElectricSlotWidget.java +++ /dev/null @@ -1,40 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.gui.widget; - -import net.minecraft.item.ItemStack; - -import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable; -import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.items.GT_MetaGenerated_Tool; -import ic2.api.info.Info; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; - -public class ElectricSlotWidget extends SlotWidget { - - public ElectricSlotWidget(IItemHandlerModifiable handler, int index) { - this(new BaseSlot(handler, index, false) { - - @Override - public int getSlotStackLimit() { - return 1; - } - }); - } - - private ElectricSlotWidget(BaseSlot slot) { - super(slot); - setFilter( - stack -> (accepts(stack)) || (stack.getItem() instanceof GT_MetaGenerated_Tool) - || (stack.getItem() instanceof IElectricItem)); - } - - private boolean accepts(final ItemStack stack) { - if (stack == null) { - return false; - } - return (Info.itemEnergy.getEnergyValue(stack) > 0.0D) - || (ElectricItem.manager.discharge(stack, (1.0D / 0.0D), 4, true, true, true) > 0.0D); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/GregtechItemContainer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/GregtechItemContainer.java deleted file mode 100644 index 9431739c45..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/GregtechItemContainer.java +++ /dev/null @@ -1,40 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.interfaces; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -public interface GregtechItemContainer { - - public Item getItem(); - - public Block getBlock(); - - public boolean isStackEqual(Object aStack); - - public boolean isStackEqual(Object aStack, boolean aWildcard, boolean aIgnoreNBT); - - public ItemStack get(long aAmount, Object... aReplacements); - - public ItemStack getWildcard(long aAmount, Object... aReplacements); - - public ItemStack getUndamaged(long aAmount, Object... aReplacements); - - public ItemStack getAlmostBroken(long aAmount, Object... aReplacements); - - public ItemStack getWithDamage(long aAmount, long aMetaValue, Object... aReplacements); - - public GregtechItemContainer set(Item aItem); - - public GregtechItemContainer set(ItemStack aStack); - - public GregtechItemContainer registerOre(Object... aOreNames); - - public GregtechItemContainer registerWildcardAsOre(Object... aOreNames); - - public ItemStack getWithCharge(long aAmount, int aEnergy, Object... aReplacements); - - public ItemStack getWithName(long aAmount, String aDisplayName, Object... aReplacements); - - public boolean hasBeenSet(); -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java deleted file mode 100644 index faa39dadc3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java +++ /dev/null @@ -1,380 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.interfaces.internal; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.Materials; -import gtPlusPlus.core.material.Material; - -@SuppressWarnings("UnusedReturnValue") -public interface IGregtech_RecipeAdder { - - /** - * Adds a Coke Oven Recipe - * - * @param aInput1 = first Input (not null, and respects StackSize) - * @param aInput2 = second Input (can be null, and respects StackSize) - * @param aFluidOutput = Output of the Creosote (not null, and respects StackSize) - * @param aFluidInput = fluid Input (can be null, and respects StackSize) - * @param aOutput = Output of the Coal/coke (can be null, and respects StackSize) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, int aDuration, int aEUt); - - boolean addCokeOvenRecipe(int aCircuit, ItemStack aInput2, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int aDuration, int aEUt); - - boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt); - - /** - * Adds a Matter Fabricator Recipe - * - * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize) - * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - @Deprecated - boolean addMatterFabricatorRecipe(FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Dehydrator. (up to 9 Outputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize) - * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize) - * @param aOutputItems = ItemStack[] (not null, and respects StackSize) - * @param aChances = Output Change (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - boolean addDehydratorRecipe(ItemStack[] aInput, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack[] aOutputItems, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aOutput, int aChance, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = Input of a fluid (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs, More than 1 Fluids) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = FluidStack[] (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = Input of a fluid (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aOutputStack = Item Output (Can be null) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt); - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt, int aSpecialValue); - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue, boolean aOptimizeRecipe); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs, More than 1 fluids) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = FluidStack[] (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aOutputStack = Item Output (Can be null) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt); - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt, int aSpecialValue); - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue, boolean aOptimizeRecipe); - - /** - * Adds a Recipe for the LFTRr. (up to 9 Inputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = Input of a fluid (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Salts (not null, and respects StackSize) - * @param aOutputStack = Item Output (Can be null) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @param aSpecialValue = Power produced in EU/t per dynamo - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue); - - /** - * Adds a Recipe for the Quantum Force Smelter (up to 9 Inputs) - * - * - **/ - boolean addQuantumTransformerRecipe(ItemStack[] aInput, FluidStack[] aFluidInput, FluidStack[] aFluidOutput, - ItemStack[] aOutputStack, int[] aChances, int aDuration, int aEUt, int aSpecialValue); - - /** - * Adds a Recipe for the LFTRr. (up to 9 Inputs, More than 1 fluids) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = FluidStack[] (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Salts (not null, and respects StackSize) - * @param aOutputStack = Item Output (Can be null) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @param aSpecialValue = Power produced in EU/t per dynamo - * @return true if the Recipe got added, otherwise false. - */ - @Deprecated - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue); - - /** - * Adds a custom Semifluid fuel for the GT++ SemiFluid Generators. - * - * @param aFuelItem - A Fluidstack to be consumed. - * @param aFuelValue - Fuel value in thousands (1 = 1000) - * @return - Was the Fuel added? - */ - boolean addSemifluidFuel(FluidStack aFuelItem, int aFuelValue); - - /** - * Adds a custom Semifluid fuel for the GT++ SemiFluid Generators. - * - * @param aFuelItem - A Fluidstack to be consumed. - * @param aFuelValue - Fuel value in thousands (1 = 1000) - * @return - Was the Fuel added? - */ - boolean addSemifluidFuel(ItemStack aFuelItem, int aFuelValue); - - boolean addFissionFuel(FluidStack aInput1, FluidStack aInput2, FluidStack aInput3, FluidStack aInput4, - FluidStack aInput5, FluidStack aInput6, FluidStack aInput7, FluidStack aInput8, FluidStack aInput9, - FluidStack aOutput1, FluidStack aOutput2, int aDuration, int aEUt); - - boolean addFissionFuel(boolean aOptimise, FluidStack aInput1, FluidStack aInput2, FluidStack aInput3, - FluidStack aInput4, FluidStack aInput5, FluidStack aInput6, FluidStack aInput7, FluidStack aInput8, - FluidStack aInput9, FluidStack aOutput1, FluidStack aOutput2, int aDuration, int aEUt); - - 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); - - @Deprecated - 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); - - boolean addMultiblockCentrifugeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial); - - boolean addMultiblockElectrolyzerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial); - - boolean addAdvancedFreezerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial); - - @Deprecated - boolean addSixSlotAssemblingRecipe(ItemStack[] aInputs, FluidStack aInputFluid, ItemStack aOutput1, int aDuration, - int aEUt); - - /** - * Adds an Assemblyline Recipe - * - * @param aInputs must be != null, 4-16 inputs - * @param aFluidInputs 0-4 fluids - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Assemblyline Recipe - * - * @param aInputs elements should be: ItemStack for single item; ItemStack[] for multiple equivalent items; - * {OreDict, amount} for oredict. - */ - @Deprecated - boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, Object[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, int time, int eu); - - @Deprecated - boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, Object object, int time, int eu); - - @Deprecated - boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, ItemStack object, int time); - - @Deprecated - boolean addChemicalRecipe(ItemStack input1, ItemStack input2, int aCircuit, FluidStack inputFluid, - FluidStack outputFluid, ItemStack output, ItemStack output2, int time, int eu); - - @Deprecated - boolean addMultiblockChemicalRecipe(ItemStack[] itemStacks, FluidStack[] fluidStacks, FluidStack[] fluidStacks2, - ItemStack[] outputs, int time, int eu); - - @Deprecated - boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addBrewingRecipe(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, - boolean aHidden); - - @Deprecated - boolean addBrewingRecipe(int aCircuit, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden); - - @Deprecated - boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aDust, ItemStack aOutput); - - @Deprecated - boolean addFluidExtractionRecipe(ItemStack input, FluidStack output, int aTime, int aEu); - - @Deprecated - boolean addFluidExtractionRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidOut, int aTime, - int aEu); - - @Deprecated - boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn); - - @Deprecated - boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn, - FluidStack rFluidOut); - - @Deprecated - boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn, - FluidStack rFluidOut, int aTime, int aEu); - - boolean addVacuumFurnaceRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, int aLevel); - - boolean addVacuumFurnaceRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aLevel); - - @Deprecated - boolean addUvLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, long eu); - - boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int time, long eu, int aTier); - - boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int[] aChances, int time, long eu, int aTier); - - @Deprecated - boolean addBlastRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int time, long eu, int aHeat); - - @Deprecated - boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, - FluidStack aFluidOutput, int aDuration, int aEUt); - - @Deprecated - boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aChance, int aDuration, int aEUt); - - @Deprecated - boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, ItemStack aSolidOutput, - int aDuration, int aEUt, boolean aHidden); - - @Deprecated - boolean addPulverisationRecipe(final ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - final ItemStack aOutput3); - - boolean addMillingRecipe(Materials aMat, int aEU); - - boolean addMillingRecipe(Material aMat, int aEU); - - boolean addFlotationRecipe(Materials aMat, ItemStack aXanthate, FluidStack[] aInputFluids, - FluidStack[] aOutputFluids, int aTime, int aEU); - - boolean addFlotationRecipe(Material aMat, ItemStack aXanthate, FluidStack[] aInputFluids, - FluidStack[] aOutputFluids, int aTime, int aEU); - - @Deprecated - boolean addpackagerRecipe(ItemStack aRecipeType, ItemStack aInput1, ItemStack aInput2, ItemStack aOutputStack1); - - boolean addFuelForRTG(ItemStack aFuelPellet, int aFuelDays, int aVoltage); - - boolean addColdTrapRecipe(int aCircuit, ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - int[] aChances, FluidStack aFluidOutput, int aTime, int aEU); - - boolean addReactorProcessingUnitRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - ItemStack[] aOutputs, int[] aChances, FluidStack aFluidOutput, int aTime, int aEU); - - @Deprecated - boolean addFluidHeaterRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addVacuumFreezerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU); - - boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU); - - boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU, int aAmps); -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java deleted file mode 100644 index 545a97288f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java +++ /dev/null @@ -1,46 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.interfaces.internal; - -import java.util.List; - -import net.minecraft.dispenser.IBlockSource; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -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 { - - public boolean onLeftClickEntity(E aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity); - - public boolean onItemUse(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, - int aSide, float hitX, float hitY, float hitZ); - - public boolean onItemUseFirst(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, - int aSide, float hitX, float hitY, float hitZ); - - public ItemStack onItemRightClick(E aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer); - - public List getAdditionalToolTips(E aItem, List aList, ItemStack aStack); - - public void onUpdate(E aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand); - - public boolean isItemStackUsable(E aItem, ItemStack aStack); - - public boolean canDispense(E aItem, IBlockSource aSource, ItemStack aStack); - - public ItemStack onDispense(E aItem, IBlockSource aSource, ItemStack aStack); - - public boolean hasProjectile(Gregtech_MetaItem_Base aItem, SubTag aProjectileType, ItemStack aStack); - - public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, - double aY, double aZ); - - public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, - EntityLivingBase aEntity, float aSpeed); -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java deleted file mode 100644 index 6ae25525bd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java +++ /dev/null @@ -1,24 +0,0 @@ -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; - -public interface Interface_OreRecipeRegistrator { - - /** - * Contains a Code Fragment, used in the OrePrefix to register Recipes. Better than using a switch/case, like I did - * before. - * - * @param aPrefix always != null - * @param aMaterial always != null, and can be == _NULL if the Prefix is Self Referencing or not Material based! - * @param aStack always != null - */ - public void registerOre(GregtechOrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, - ItemStack aStack); - - public void registerOre(GregtechOrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, - ItemStack copyAmount); -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java deleted file mode 100644 index 97d952d4a1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java +++ /dev/null @@ -1,202 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.interfaces.internal; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraftforge.event.world.BlockEvent; - -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; - -/** - * The Stats for GT Tools. Not including any Material Modifiers. - *

- * And this is supposed to not have any ItemStack Parameters as these are generic Stats. - */ -public interface Interface_ToolStats extends IToolStats { - - /** - * Called when aPlayer crafts this Tool - */ - @Override - public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer); - - /** - * Called when this gets added to a Tool Item - */ - public void onStatsAddedToTool(Gregtech_MetaTool gregtech_MetaTool, int aID); - - /** - * @return Damage the Tool receives when breaking a Block. 100 is one Damage Point (or 100 EU). - */ - @Override - public int getToolDamagePerBlockBreak(); - - /** - * @return Damage the Tool receives when converting the drops of a Block. 100 is one Damage Point (or 100 EU). - */ - @Override - public int getToolDamagePerDropConversion(); - - /** - * @return Damage the Tool receives when being used as Container Item. 100 is one use, however it is usually 8 times - * more than normal. - */ - @Override - public int getToolDamagePerContainerCraft(); - - /** - * @return Damage the Tool receives when being used as Weapon, 200 is the normal Value, 100 for actual Weapons. - */ - @Override - public int getToolDamagePerEntityAttack(); - - /** - * @return Basic Quality of the Tool, 0 is normal. If increased, it will increase the general quality of all Tools - * of this Type. Decreasing is also possible. - */ - @Override - public int getBaseQuality(); - - /** - * @return The Damage Bonus for this Type of Tool against Mobs. 1.0F is normal punch. - */ - @Override - public float getBaseDamage(); - - /** - * @return This gets the Hurt Resistance time for Entities getting hit. (always does 1 as minimum) - */ - @Override - public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity); - - /** - * @return This is a multiplier for the Tool Speed. 1.0F = no special Speed. - */ - @Override - public float getSpeedMultiplier(); - - /** - * @return This is a multiplier for the Tool Speed. 1.0F = no special Durability. - */ - @Override - public float getMaxDurabilityMultiplier(); - - @Override - public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity); - - @Override - public String getMiningSound(); - - @Override - public String getCraftingSound(); - - @Override - public String getEntityHitSound(); - - @Override - public String getBreakingSound(); - - @Override - public Enchantment[] getEnchantments(ItemStack aStack); - - @Override - public int[] getEnchantmentLevels(ItemStack aStack); - - /** - * @return If this Tool can be used for blocking Damage like a Sword. - */ - @Override - public boolean canBlock(); - - /** - * @return If this Tool can be used as an RC Crowbar. - */ - @Override - public boolean isCrowbar(); - - /** - * @return If this Tool can be used as an BC Wrench. - */ - @Override - public boolean isWrench(); - - /** - * @return If this Tool can be used as Weapon i.e. if that is the main purpose. - */ - @Override - public boolean isWeapon(); - - /** - * @return If this Tool is a Ranged Weapon. Return false at isWeapon unless you have a Blade attached to your - * Bow/Gun or something - */ - @Override - public boolean isRangedWeapon(); - - /** - * @return If this Tool can be used as Weapon i.e. if that is the main purpose. - */ - @Override - public boolean isMiningTool(); - - /** - * aBlock.getHarvestTool(aMetaData) can return the following Values for example. "axe", "pickaxe", "sword", - * "shovel", "hoe", "grafter", "saw", "wrench", "crowbar", "file", "hammer", "plow", "plunger", "scoop", - * "screwdriver", "sense", "scythe", "softhammer", "cutter", "plasmatorch" - * - * @return If this is a minable Block. Tool Quality checks (like Diamond Tier or something) are separate from this - * check. - */ - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData); - - /** - * This lets you modify the Drop List, when this type of Tool has been used. - * - * @return the Amount of modified Items. - */ - @Override - public int convertBlockDrops(List aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, - int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent); - - /** - * @return Returns a broken Version of the Item. - */ - @Override - public ItemStack getBrokenItem(ItemStack aStack); - - /** - * @return the Damage actually done to the Mob. - */ - @Override - public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, - EntityPlayer aPlayer); - - /** - * @return the Damage actually done to the Mob. - */ - @Override - public float getMagicDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, - EntityPlayer aPlayer); - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack); - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack); - - /** - * Called when this gets added to a Tool Item - */ - @Override - public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID); -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_Generic_Item.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_Generic_Item.java deleted file mode 100644 index 3ad04ab014..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_Generic_Item.java +++ /dev/null @@ -1,204 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.items; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.block.BlockDispenser; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.dispenser.BehaviorDefaultDispenseItem; -import net.minecraft.dispenser.BehaviorProjectileDispense; -import net.minecraft.dispenser.IBlockSource; -import net.minecraft.dispenser.IPosition; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -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.GT_LanguageManager; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.Utils; - -/** - * Extended by most Items, also used as a fallback Item, to prevent the accidental deletion when Errors occur. - */ -public class Gregtech_Generic_Item extends Item implements IProjectileItem { - - private final String mName, mTooltip; - protected IIcon mIcon; - - public Gregtech_Generic_Item(final String aUnlocalized, final String aEnglish, final String aEnglishTooltip) { - this(aUnlocalized, aEnglish, aEnglishTooltip, true); - } - - public Gregtech_Generic_Item(final String aUnlocalized, final String aEnglish, final String aEnglishTooltip, - final boolean aWriteToolTipIntoLangFile) { - super(); - this.mName = aUnlocalized; - GT_LanguageManager.addStringLocalization(this.mName + ".name", aEnglish); - if (GT_Utility.isStringValid(aEnglishTooltip)) { - GT_LanguageManager.addStringLocalization( - this.mTooltip = this.mName + ".tooltip_main", - aEnglishTooltip, - aWriteToolTipIntoLangFile); - } else { - this.mTooltip = null; - } - this.setCreativeTab(AddToCreativeTab.tabMachines); - GameRegistry.registerItem(this, this.mName, GTPlusPlus.ID); - BlockDispenser.dispenseBehaviorRegistry.putObject(this, new GT_Item_Dispense()); - } - - @Override - public final Item setUnlocalizedName(final String aName) { - return this; - } - - @Override - public final String getUnlocalizedName() { - return this.mName; - } - - @Override - public String getUnlocalizedName(final ItemStack aStack) { - return this.getHasSubtypes() ? this.mName + "." + this.getDamage(aStack) : this.mName; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister aIconRegister) { - this.mIcon = aIconRegister.registerIcon(GTPlusPlus.ID + ":" + this.mName); - } - - @Override - public boolean doesSneakBypassUse(final World aWorld, final int aX, final int aY, final int aZ, - final EntityPlayer aPlayer) { - return true; - } - - @Override - public IIcon getIconFromDamage(final int par1) { - return this.mIcon; - } - - public int getTier(final ItemStack aStack) { - return 0; - } - - @Override - public void addInformation(final ItemStack aStack, final EntityPlayer aPlayer, final List aList, - final boolean aF3_H) { - if ((this.getMaxDamage() > 0) && !this.getHasSubtypes()) { - aList.add((aStack.getMaxDamage() - this.getDamage(aStack)) + " / " + aStack.getMaxDamage()); - } - if (this.mTooltip != null) { - aList.add(GT_LanguageManager.getTranslation(this.mTooltip)); - } - if (GT_ModHandler.isElectricItem(aStack)) { - aList.add("Tier: " + this.getTier(aStack)); - } - this.addAdditionalToolTips(aList, aStack); - } - - protected void addAdditionalToolTips(final List aList, final ItemStack aStack) { - // - } - - @Override - public void onCreated(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) { - this.isItemStackUsable(aStack); - } - - public boolean isItemStackUsable(final ItemStack aStack) { - return true; - } - - public ItemStack onDispense(final IBlockSource aSource, final ItemStack aStack) { - final EnumFacing enumfacing = BlockDispenser.func_149937_b(aSource.getBlockMetadata()); - final IPosition iposition = BlockDispenser.func_149939_a(aSource); - final ItemStack itemstack1 = aStack.splitStack(1); - BehaviorDefaultDispenseItem.doDispense(aSource.getWorld(), itemstack1, 6, enumfacing, iposition); - return aStack; - } - - @Override - public EntityArrow getProjectile(final SubTag aProjectileType, final ItemStack aStack, final World aWorld, - final double aX, final double aY, final double aZ) { - return null; - } - - @Override - public EntityArrow getProjectile(final SubTag aProjectileType, final ItemStack aStack, final World aWorld, - final EntityLivingBase aEntity, final float aSpeed) { - return null; - } - - @Override - public boolean hasProjectile(final SubTag aProjectileType, final ItemStack aStack) { - return false; - } - - @Override - public ItemStack getContainerItem(final ItemStack aStack) { - return null; - } - - @Override - public boolean hasContainerItem(final ItemStack aStack) { - return this.getContainerItem(aStack) != null; - } - - public static class GT_Item_Dispense extends BehaviorProjectileDispense { - - @Override - public ItemStack dispenseStack(final IBlockSource aSource, final ItemStack aStack) { - return ((Gregtech_Generic_Item) aStack.getItem()).onDispense(aSource, aStack); - } - - @Override - protected IProjectile getProjectileEntity(final World aWorld, final IPosition aPosition) { - return null; - } - } - - @Override - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - if (stack.getDisplayName() - .contains("LuV")) { - HEX_OxFFFFFF = 0xffffcc; - } else if (stack.getDisplayName() - .contains("ZPM")) { - HEX_OxFFFFFF = 0xace600; - } else if (stack.getDisplayName() - .contains("UV")) { - HEX_OxFFFFFF = 0xffff00; - } else if (stack.getDisplayName() - .contains("MAX")) { - HEX_OxFFFFFF = 0xff0000; - } else if (stack.getDisplayName() - .contains("Sodium")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(0, 0, 150); - } else if (stack.getDisplayName() - .contains("Cadmium")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(50, 50, 60); - } else if (stack.getDisplayName() - .contains("Lithium")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(225, 220, 255); - } else { - HEX_OxFFFFFF = 0xffffff; - } - return HEX_OxFFFFFF; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem.java deleted file mode 100644 index 015ba9d716..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem.java +++ /dev/null @@ -1,357 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.items; - -import static gregtech.api.enums.GT_Values.D1; -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.BitSet; -import java.util.HashMap; -import java.util.List; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -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.IFoodStat; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.IItemContainer; -import gregtech.api.objects.ItemData; -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.xmod.gregtech.api.interfaces.internal.Interface_ItemBehaviour; - -public abstract class Gregtech_MetaItem extends Gregtech_MetaItem_Base { - - /** - * All instances of this Item Class are listed here. This gets used to register the Renderer to all Items of this - * Type, if useStandardMetaItemRenderer() returns true. - *

- * You can also use the unlocalized Name gotten from getUnlocalizedName() as Key if you want to get a specific Item. - */ - public static final HashMap sInstances = new HashMap<>(); - - /* ---------- CONSTRUCTOR AND MEMBER VARIABLES ---------- */ - - public final short mOffset, mItemAmount; - public final BitSet mEnabledItems; - public final BitSet mVisibleItems; - public final IIcon[][] mIconList; - - public final HashMap mFoodStats = new HashMap<>(); - public final HashMap mElectricStats = new HashMap<>(); - public final HashMap mFluidContainerStats = new HashMap<>(); - public final HashMap mBurnValues = new HashMap<>(); - - /** - * Creates the Item using these Parameters. - * - * @param aUnlocalized The Unlocalized Name of this Item. - */ - public Gregtech_MetaItem(final String aUnlocalized, final short aOffset, final short aItemAmount) { - super(aUnlocalized); - this.setCreativeTab(AddToCreativeTab.tabMachines); - this.setHasSubtypes(true); - this.setMaxDamage(0); - this.mEnabledItems = new BitSet(aItemAmount); - this.mVisibleItems = new BitSet(aItemAmount); - - this.mOffset = (short) Math.min(32766, aOffset); - this.mItemAmount = (short) Math.min(aItemAmount, 32766 - this.mOffset); - this.mIconList = new IIcon[aItemAmount][1]; - - sInstances.put(this.getUnlocalizedName(), this); - } - - /** - * This adds a Custom Item to the ending Range. - * - * @param aID The Id of the assigned Item [0 - mItemAmount] (The MetaData gets auto-shifted by +mOffset) - * @param aEnglish The Default Localized Name of the created Item - * @param aToolTip The Default ToolTip of the created Item, you can also insert null for having no ToolTip - * @param aFoodBehavior The Food Value of this Item. Can be null aswell. Just a convenience thing. - * @param aRandomData The OreDict Names you want to give the Item. Also used for TC Aspects and some other things. - * @return An ItemStack containing the newly created Item. - */ - public final ItemStack addItem(final int aID, final String aEnglish, String aToolTip, final Object... aRandomData) { - if (aToolTip == null) { - aToolTip = ""; - } - if ((aID >= 0) && (aID < this.mItemAmount)) { - final ItemStack rStack = new ItemStack(this, 1, this.mOffset + aID); - this.mEnabledItems.set(aID); - this.mVisibleItems.set(aID); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(rStack) + ".name", aEnglish); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(rStack) + ".tooltip", aToolTip); - final List tAspects = new ArrayList<>(); - // Important Stuff to do first - for (final Object tRandomData : aRandomData) { - if (tRandomData instanceof SubTag) { - if (tRandomData == SubTag.INVISIBLE) { - this.mVisibleItems.set(aID, false); - continue; - } - if (tRandomData == SubTag.NO_UNIFICATION) { - GT_OreDictUnificator.addToBlacklist(rStack); - continue; - } - } - } - // now check for the rest - for (final Object tRandomData : aRandomData) { - if (tRandomData != null) { - boolean tUseOreDict = true; - - if (tRandomData instanceof Interface_ItemBehaviour) { - this.addItemBehavior( - this.mOffset + aID, - (Interface_ItemBehaviour) tRandomData); - tUseOreDict = false; - } - if (tRandomData instanceof IItemContainer) { - ((IItemContainer) tRandomData).set(rStack); - tUseOreDict = false; - } - if (tRandomData instanceof SubTag) { - continue; - } - if (tRandomData instanceof TC_AspectStack) { - ((TC_AspectStack) tRandomData).addToAspectList(tAspects); - continue; - } - if (tRandomData instanceof ItemData) { - if (GT_Utility.isStringValid(tRandomData)) { - GT_OreDictUnificator.registerOre(tRandomData, rStack); - } else { - GT_OreDictUnificator.addItemData(rStack, (ItemData) tRandomData); - } - continue; - } - if (tUseOreDict) { - GT_OreDictUnificator.registerOre(tRandomData, rStack); - continue; - } - } - } - if (GregTech_API.sThaumcraftCompat != null) { - GregTech_API.sThaumcraftCompat.registerThaumcraftAspectsToItem(rStack, tAspects, false); - } - return rStack; - } - return null; - } - - /** - * Sets the Furnace Burn Value for the Item. - * - * @param aMetaValue the Meta Value of the Item you want to set it to. [0 - 32765] - * @param aValue 200 = 1 Burn Process = 500 EU, max = 32767 (that is 81917.5 EU) - * @return the Item itself for convenience in constructing. - */ - public final Gregtech_MetaItem setBurnValue(final int aMetaValue, final int aValue) { - if ((aMetaValue < 0) || (aMetaValue >= (this.mOffset + this.mEnabledItems.length())) || (aValue < 0)) { - return this; - } - if (aValue == 0) { - this.mBurnValues.remove((short) aMetaValue); - } else { - this.mBurnValues.put((short) aMetaValue, aValue > Short.MAX_VALUE ? Short.MAX_VALUE : (short) aValue); - } - return this; - } - - /** - * @param aMetaValue the Meta Value of the Item you want to set it to. [0 - 32765] - * @param aMaxCharge Maximum Charge. (if this is == 0 it will remove the Electric Behavior) - * @param aTransferLimit Transfer Limit. - * @param aTier The electric Tier. - * @param aSpecialData If this Item has a Fixed Charge, like a SingleUse Battery (if > 0). Use -1 if you want to - * make this Battery chargeable (the use and canUse Functions will still discharge if you just - * use this) Use -2 if you want to make this Battery dischargeable. Use -3 if you want to make - * this Battery charge/discharge-able. - * @return the Item itself for convenience in constructing. - */ - public final Gregtech_MetaItem setElectricStats(final int aMetaValue, final long aMaxCharge, - final long aTransferLimit, final long aTier, final long aSpecialData, final boolean aUseAnimations) { - if ((aMetaValue < 0) || (aMetaValue >= (this.mOffset + this.mEnabledItems.length()))) { - return this; - } - if (aMaxCharge == 0) { - this.mElectricStats.remove((short) aMetaValue); - } else { - this.mElectricStats.put( - (short) aMetaValue, - new Long[] { aMaxCharge, Math.max(0, aTransferLimit), Math.max(-1, aTier), aSpecialData }); - if ((aMetaValue >= this.mOffset) && aUseAnimations) { - this.mIconList[aMetaValue - this.mOffset] = Arrays.copyOf( - this.mIconList[aMetaValue - this.mOffset], - Math.max(9, this.mIconList[aMetaValue - this.mOffset].length)); - } - } - return this; - } - - /** - * @param aMetaValue the Meta Value of the Item you want to set it to. [0 - 32765] - * @param aMaxCharge Maximum Charge. (if this is == 0 it will remove the Electric Behavior) - * @param aTransferLimit Transfer Limit. - * @param aTier The electric Tier. - * @param aSpecialData If this Item has a Fixed Charge, like a SingleUse Battery (if > 0). Use -1 if you want to - * make this Battery chargeable (the use and canUse Functions will still discharge if you just - * use this) Use -2 if you want to make this Battery dischargeable. Use -3 if you want to make - * this Battery charge/discharge-able. - * @return the Item itself for convenience in constructing. - */ - public final Gregtech_MetaItem setFluidContainerStats(final int aMetaValue, final long aCapacity, - final long aStacksize) { - if ((aMetaValue < 0) || (aMetaValue >= (this.mOffset + this.mEnabledItems.length()))) { - return this; - } - if (aCapacity < 0) { - this.mElectricStats.remove((short) aMetaValue); - } else { - this.mFluidContainerStats.put((short) aMetaValue, new Long[] { aCapacity, Math.max(1, aStacksize) }); - } - return this; - } - - /** - * @return if this MetaGenerated Item should use my Default Renderer System. - */ - public boolean useStandardMetaItemRenderer() { - return true; - } - - /** - * @return the Color Modulation the Material is going to be rendered with. - */ - public short[] getRGBa(final ItemStack aStack) { - return Materials._NULL.getRGBA(); - } - - /** - * @return the Icon the Material is going to be rendered with. - */ - public IIconContainer getIconContainer(final int aMetaData) { - return null; - } - - /* ---------- INTERNAL OVERRIDES ---------- */ - - @Override - public ItemStack onItemRightClick(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) { - return super.onItemRightClick(aStack, aWorld, aPlayer); - } - - @Override - public int getMaxItemUseDuration(final ItemStack aStack) { - return this.mFoodStats.get((short) this.getDamage(aStack)) == null ? 0 : 32; - } - - @Override - public EnumAction getItemUseAction(final ItemStack aStack) { - return EnumAction.none; - } - - @Override - public final ItemStack onEaten(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) { - final IFoodStat tStat = this.mFoodStats.get((short) this.getDamage(aStack)); - if (tStat != null) {} - - return aStack; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(final Item var1, final CreativeTabs aCreativeTab, final List aList) { - for (int i = 0, j = this.mEnabledItems.length(); i < j; i++) { - if (this.mVisibleItems.get(i) || (D1 && this.mEnabledItems.get(i))) { - final Long[] tStats = this.mElectricStats.get((short) (this.mOffset + i)); - if ((tStats != null) && (tStats[3] < 0)) { - final ItemStack tStack = new ItemStack(this, 1, this.mOffset + i); - this.setCharge(tStack, Math.abs(tStats[0])); - this.isItemStackUsable(tStack); - aList.add(tStack); - } - if ((tStats == null) || (tStats[3] != -2)) { - final ItemStack tStack = new ItemStack(this, 1, this.mOffset + i); - this.isItemStackUsable(tStack); - aList.add(tStack); - } - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public final void registerIcons(final IIconRegister aIconRegister) { - for (short i = 0, j = (short) this.mEnabledItems.length(); i < j; i++) { - if (this.mEnabledItems.get(i)) { - for (byte k = 1; k < this.mIconList[i].length; k++) { - this.mIconList[i][k] = aIconRegister - .registerIcon(GTPlusPlus.ID + ":" + this.getUnlocalizedName() + "/" + i + "/" + k); - } - this.mIconList[i][0] = aIconRegister - .registerIcon(GTPlusPlus.ID + ":" + this.getUnlocalizedName() + "/" + i); - } - } - } - - @Override - public final Long[] getElectricStats(final ItemStack aStack) { - return this.mElectricStats.get((short) aStack.getItemDamage()); - } - - @Override - public final Long[] getFluidContainerStats(final ItemStack aStack) { - return this.mFluidContainerStats.get((short) aStack.getItemDamage()); - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public boolean isBookEnchantable(final ItemStack aStack, final ItemStack aBook) { - return false; - } - - @Override - public boolean getIsRepairable(final ItemStack aStack, final ItemStack aMaterial) { - return false; - } - - @Override - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - if (stack.getDisplayName() - .contains("LuV")) { - HEX_OxFFFFFF = 0xffffcc; - } else if (stack.getDisplayName() - .contains("ZPM")) { - HEX_OxFFFFFF = 0xace600; - } else if (stack.getDisplayName() - .contains("UV")) { - HEX_OxFFFFFF = 0xffff00; - } else if (stack.getDisplayName() - .contains("MAX")) { - HEX_OxFFFFFF = 0xff0000; - } else { - HEX_OxFFFFFF = 0xffffff; - } - return HEX_OxFFFFFF; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_Base.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_Base.java deleted file mode 100644 index 3c4418c2bf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_Base.java +++ /dev/null @@ -1,745 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.items; - -import static gregtech.api.enums.GT_Values.D1; -import static gregtech.api.enums.GT_Values.V; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import net.minecraft.dispenser.IBlockSource; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.inventory.Container; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidContainerItem; - -import gregtech.api.enums.SubTag; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Log; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ItemBehaviour; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; -import ic2.api.item.IElectricItemManager; -import ic2.api.item.ISpecialElectricItem; - -public abstract class Gregtech_MetaItem_Base extends Gregtech_Generic_Item - implements ISpecialElectricItem, IElectricItemManager, IFluidContainerItem { - - /* ---------- CONSTRUCTOR AND MEMBER VARIABLES ---------- */ - private final HashMap>> mItemBehaviors = new HashMap<>(); - - /** - * Creates the Item using these Parameters. - * - * @param aUnlocalized The Unlocalized Name of this Item. - * @param aGeneratedPrefixList The OreDict Prefixes you want to have generated. - */ - public Gregtech_MetaItem_Base(final String aUnlocalized) { - super(aUnlocalized, "Generated Item", null, false); - this.setHasSubtypes(true); - this.setMaxDamage(0); - } - - /** - * Adds a special Item Behaviour to the Item. - *

- * Note: the boolean Behaviours sometimes won't be executed if another boolean Behaviour returned true before. - * - * @param aMetaValue the Meta Value of the Item you want to add it to. [0 - 32765] - * @param aBehavior the Click Behavior you want to add. - * @return the Item itself for convenience in constructing. - */ - public final Gregtech_MetaItem_Base addItemBehavior(final int aMetaValue, - final Interface_ItemBehaviour aBehavior) { - if ((aMetaValue < 0) || (aMetaValue >= 32766) || (aBehavior == null)) { - return this; - } - ArrayList> tList = this.mItemBehaviors.get((short) aMetaValue); - if (tList == null) { - tList = new ArrayList<>(1); - this.mItemBehaviors.put((short) aMetaValue, tList); - } - tList.add(aBehavior); - return this; - } - - public abstract Long[] getElectricStats(ItemStack aStack); - - public abstract Long[] getFluidContainerStats(ItemStack aStack); - - @Override - public boolean hasProjectile(final SubTag aProjectileType, final ItemStack aStack) { - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - if (tBehavior.hasProjectile(this, aProjectileType, aStack)) { - return true; - } - } - } - return super.hasProjectile(aProjectileType, aStack); - } - - @Override - public EntityArrow getProjectile(final SubTag aProjectileType, final ItemStack aStack, final World aWorld, - final double aX, final double aY, final double aZ) { - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - final EntityArrow rArrow = tBehavior.getProjectile(this, aProjectileType, aStack, aWorld, aX, aY, aZ); - if (rArrow != null) { - return rArrow; - } - } - } - return super.getProjectile(aProjectileType, aStack, aWorld, aX, aY, aZ); - } - - @Override - public EntityArrow getProjectile(final SubTag aProjectileType, final ItemStack aStack, final World aWorld, - final EntityLivingBase aEntity, final float aSpeed) { - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - final EntityArrow rArrow = tBehavior - .getProjectile(this, aProjectileType, aStack, aWorld, aEntity, aSpeed); - if (rArrow != null) { - return rArrow; - } - } - } - return super.getProjectile(aProjectileType, aStack, aWorld, aEntity, aSpeed); - } - - @Override - public ItemStack onDispense(final IBlockSource aSource, final ItemStack aStack) { - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - if (tBehavior.canDispense(this, aSource, aStack)) { - return tBehavior.onDispense(this, aSource, aStack); - } - } - } - return super.onDispense(aSource, aStack); - } - - @Override - public boolean isItemStackUsable(final ItemStack aStack) { - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - if (!tBehavior.isItemStackUsable(this, aStack)) { - return false; - } - } - } - return super.isItemStackUsable(aStack); - } - - @Override - public boolean onLeftClickEntity(final ItemStack aStack, final EntityPlayer aPlayer, final Entity aEntity) { - this.use(aStack, 0, aPlayer); - this.isItemStackUsable(aStack); - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - try { - if (tBehavior.onLeftClickEntity(this, aStack, aPlayer, aEntity)) { - if (aStack.stackSize <= 0) { - aPlayer.destroyCurrentEquippedItem(); - } - return true; - } - if (aStack.stackSize <= 0) { - aPlayer.destroyCurrentEquippedItem(); - return false; - } - } catch (final Throwable e) { - if (D1) { - e.printStackTrace(GT_Log.err); - } - } - } - } - return false; - } - - @Override - public boolean onItemUse(final ItemStack aStack, final EntityPlayer aPlayer, final World aWorld, final int aX, - final int aY, final int aZ, final int ordinalSide, final float hitX, final float hitY, final float hitZ) { - this.use(aStack, 0, aPlayer); - this.isItemStackUsable(aStack); - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - try { - if (tBehavior.onItemUse(this, aStack, aPlayer, aWorld, aX, aY, aZ, ordinalSide, hitX, hitY, hitZ)) { - if (aStack.stackSize <= 0) { - aPlayer.destroyCurrentEquippedItem(); - } - return true; - } - if (aStack.stackSize <= 0) { - aPlayer.destroyCurrentEquippedItem(); - return false; - } - } catch (final Throwable e) { - if (D1) { - e.printStackTrace(GT_Log.err); - } - } - } - } - return false; - } - - @Override - public boolean onItemUseFirst(final ItemStack aStack, final EntityPlayer aPlayer, final World aWorld, final int aX, - final int aY, final int aZ, final int ordinalSide, final float hitX, final float hitY, final float hitZ) { - this.use(aStack, 0, aPlayer); - this.isItemStackUsable(aStack); - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - try { - if (tBehavior - .onItemUseFirst(this, aStack, aPlayer, aWorld, aX, aY, aZ, ordinalSide, hitX, hitY, hitZ)) { - if (aStack.stackSize <= 0) { - aPlayer.destroyCurrentEquippedItem(); - } - return true; - } - if (aStack.stackSize <= 0) { - aPlayer.destroyCurrentEquippedItem(); - return false; - } - } catch (final Throwable e) { - if (D1) { - e.printStackTrace(GT_Log.err); - } - } - } - } - return false; - } - - @Override - public ItemStack onItemRightClick(ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) { - this.use(aStack, 0, aPlayer); - this.isItemStackUsable(aStack); - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - try { - aStack = tBehavior.onItemRightClick(this, aStack, aWorld, aPlayer); - } catch (final Throwable e) { - if (D1) { - e.printStackTrace(GT_Log.err); - } - } - } - } - return aStack; - } - - @Override - public final void addInformation(final ItemStack aStack, final EntityPlayer aPlayer, List aList, - final boolean aF3_H) { - final String tKey = this.getUnlocalizedName(aStack) + ".tooltip", - tString = GT_LanguageManager.getTranslation(tKey); - if (GT_Utility.isStringValid(tString) && !tKey.equals(tString)) { - aList.add(tString); - } - - Long[] tStats = this.getElectricStats(aStack); - if (tStats != null) { - if (tStats[3] > 0) { - aList.add( - EnumChatFormatting.AQUA + "Contains " - + GT_Utility.formatNumbers(tStats[3]) - + " EU Tier: " - + (tStats[2] >= 0 ? tStats[2] : 0) - + EnumChatFormatting.GRAY); - } else { - final long tCharge = this.getRealCharge(aStack); - if ((tStats[3] == -2) && (tCharge <= 0)) { - aList.add( - EnumChatFormatting.AQUA + "Empty. You should recycle it properly." + EnumChatFormatting.GRAY); - } else { - aList.add( - EnumChatFormatting.AQUA + "" - + GT_Utility.formatNumbers(tCharge) - + " / " - + GT_Utility.formatNumbers(Math.abs(tStats[0])) - + " EU - Voltage: " - + GT_Utility.formatNumbers( - V[(int) (tStats[2] >= 0 ? tStats[2] < V.length ? tStats[2] : V.length - 1 : 1)]) - + EnumChatFormatting.GRAY); - } - } - } - - tStats = this.getFluidContainerStats(aStack); - if ((tStats != null) && (tStats[0] > 0)) { - final FluidStack tFluid = this.getFluidContent(aStack); - aList.add( - EnumChatFormatting.BLUE - + ((tFluid == null ? "No Fluids Contained" : GT_Utility.getFluidName(tFluid, true))) - + EnumChatFormatting.GRAY); - aList.add( - EnumChatFormatting.BLUE - + (GT_Utility.formatNumbers(tFluid == null ? 0 : tFluid.amount) + "L / " - + GT_Utility.formatNumbers(tStats[0]) - + "L") - + EnumChatFormatting.GRAY); - } - - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - aList = tBehavior.getAdditionalToolTips(this, aList, aStack); - } - } - - this.addAdditionalToolTips(aList, aStack); - } - - @Override - public void onUpdate(final ItemStack aStack, final World aWorld, final Entity aPlayer, final int aTimer, - final boolean aIsInHand) { - final ArrayList> tList = this.mItemBehaviors - .get((short) this.getDamage(aStack)); - if (tList != null) { - for (final Interface_ItemBehaviour tBehavior : tList) { - tBehavior.onUpdate(this, aStack, aWorld, aPlayer, aTimer, aIsInHand); - } - } - } - - @Override - public final boolean canProvideEnergy(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - if (tStats == null) { - return false; - } - return (tStats[3] > 0) || ((aStack.stackSize == 1) && ((tStats[3] == -2) || (tStats[3] == -3))); - } - - @Override - public final double getMaxCharge(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - if (tStats == null) { - return 0; - } - return Math.abs(tStats[0]); - } - - @Override - public final double getTransferLimit(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - if (tStats == null) { - return 0; - } - return Math.max(tStats[1], tStats[3]); - } - - @Override - public final double charge(final ItemStack aStack, final double aCharge, final int aTier, - final boolean aIgnoreTransferLimit, final boolean aSimulate) { - final Long[] tStats = this.getElectricStats(aStack); - if ((tStats == null) || (tStats[2] > aTier) - || !((tStats[3] == -1) || (tStats[3] == -3) || ((tStats[3] < 0) && (aCharge == Integer.MAX_VALUE))) - || (aStack.stackSize != 1)) { - return 0; - } - final long tChargeBefore = this.getRealCharge(aStack), - tNewCharge = aCharge == Integer.MAX_VALUE ? Long.MAX_VALUE - : Math.min( - Math.abs(tStats[0]), - tChargeBefore + (aIgnoreTransferLimit ? (long) aCharge : Math.min(tStats[1], (long) aCharge))); - if (!aSimulate) { - this.setCharge(aStack, tNewCharge); - } - return tNewCharge - tChargeBefore; - } - - @Override - public final double discharge(final ItemStack aStack, final double aCharge, final int aTier, - final boolean aIgnoreTransferLimit, final boolean aBatteryAlike, final boolean aSimulate) { - final Long[] tStats = this.getElectricStats(aStack); - if ((tStats == null) || (tStats[2] > aTier)) { - return 0; - } - if (aBatteryAlike && !this.canProvideEnergy(aStack)) { - return 0; - } - if (tStats[3] > 0) { - if ((aCharge < tStats[3]) || (aStack.stackSize < 1)) { - return 0; - } - if (!aSimulate) { - aStack.stackSize--; - } - return tStats[3]; - } - final long tChargeBefore = this.getRealCharge(aStack), tNewCharge = Math - .max(0, tChargeBefore - (aIgnoreTransferLimit ? (long) aCharge : Math.min(tStats[1], (long) aCharge))); - if (!aSimulate) { - this.setCharge(aStack, tNewCharge); - } - return tChargeBefore - tNewCharge; - } - - @Override - public final double getCharge(final ItemStack aStack) { - return this.getRealCharge(aStack); - } - - @Override - public final boolean canUse(final ItemStack aStack, final double aAmount) { - return this.getRealCharge(aStack) >= aAmount; - } - - @Override - public final boolean use(final ItemStack aStack, final double aAmount, final EntityLivingBase aPlayer) { - this.chargeFromArmor(aStack, aPlayer); - if ((aPlayer instanceof EntityPlayer) && ((EntityPlayer) aPlayer).capabilities.isCreativeMode) { - return true; - } - final double tTransfer = this.discharge(aStack, aAmount, Integer.MAX_VALUE, true, false, true); - if (tTransfer == aAmount) { - this.discharge(aStack, aAmount, Integer.MAX_VALUE, true, false, false); - this.chargeFromArmor(aStack, aPlayer); - return true; - } - this.discharge(aStack, aAmount, Integer.MAX_VALUE, true, false, false); - this.chargeFromArmor(aStack, aPlayer); - return false; - } - - @Override - public final void chargeFromArmor(final ItemStack aStack, final EntityLivingBase aPlayer) { - if ((aPlayer == null) || aPlayer.worldObj.isRemote) { - return; - } - for (int i = 1; i < 5; i++) { - final ItemStack tArmor = aPlayer.getEquipmentInSlot(i); - if (GT_ModHandler.isElectricItem(tArmor)) { - final IElectricItem tArmorItem = (IElectricItem) tArmor.getItem(); - if (tArmorItem.canProvideEnergy(tArmor) && (tArmorItem.getTier(tArmor) >= this.getTier(aStack))) { - final double tCharge = ElectricItem.manager.discharge( - tArmor, - this.charge(aStack, Integer.MAX_VALUE - 1, Integer.MAX_VALUE, true, true), - Integer.MAX_VALUE, - true, - true, - false); - if (tCharge > 0) { - this.charge(aStack, tCharge, Integer.MAX_VALUE, true, false); - if (aPlayer instanceof EntityPlayer) { - final Container tContainer = ((EntityPlayer) aPlayer).openContainer; - if (tContainer != null) { - tContainer.detectAndSendChanges(); - } - } - } - } - } - } - } - - public final long getRealCharge(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - if (tStats == null) { - return 0; - } - if (tStats[3] > 0) { - return (int) (long) tStats[3]; - } - final NBTTagCompound tNBT = aStack.getTagCompound(); - return tNBT == null ? 0 : tNBT.getLong("GT.ItemCharge"); - } - - public final boolean setCharge(final ItemStack aStack, long aCharge) { - final Long[] tStats = this.getElectricStats(aStack); - if ((tStats == null) || (tStats[3] > 0)) { - return false; - } - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - tNBT = new NBTTagCompound(); - } - tNBT.removeTag("GT.ItemCharge"); - aCharge = Math.min(tStats[0] < 0 ? Math.abs(tStats[0] / 2) : aCharge, Math.abs(tStats[0])); - if (aCharge > 0) { - aStack.setItemDamage(this.getChargedMetaData(aStack)); - tNBT.setLong("GT.ItemCharge", aCharge); - } else { - aStack.setItemDamage(this.getEmptyMetaData(aStack)); - } - if (tNBT.hasNoTags()) { - aStack.setTagCompound(null); - } else { - aStack.setTagCompound(tNBT); - } - this.isItemStackUsable(aStack); - return true; - } - - public short getChargedMetaData(final ItemStack aStack) { - return (short) aStack.getItemDamage(); - } - - public short getEmptyMetaData(final ItemStack aStack) { - return (short) aStack.getItemDamage(); - } - - @Override - public FluidStack getFluid(final ItemStack aStack) { - return this.getFluidContent(aStack); - } - - @Override - public int getCapacity(final ItemStack aStack) { - final Long[] tStats = this.getFluidContainerStats(aStack); - return tStats == null ? 0 : (int) Math.max(0, tStats[0]); - } - - @Override - public int fill(final ItemStack aStack, final FluidStack aFluid, final boolean doFill) { - if ((aStack == null) || (aStack.stackSize != 1)) { - return 0; - } - - final ItemStack tStack = GT_Utility.fillFluidContainer(aFluid, aStack, false, false); - if (tStack != null) { - aStack.setItemDamage(tStack.getItemDamage()); - aStack.func_150996_a(tStack.getItem()); - return GT_Utility.getFluidForFilledItem(tStack, false).amount; - } - - final Long[] tStats = this.getFluidContainerStats(aStack); - if ((tStats == null) || (tStats[0] <= 0) - || (aFluid == null) - || (aFluid.getFluid() - .getID() <= 0) - || (aFluid.amount <= 0)) { - return 0; - } - - FluidStack tFluid = this.getFluidContent(aStack); - - if ((tFluid == null) || (tFluid.getFluid() - .getID() <= 0)) { - if (aFluid.amount <= tStats[0]) { - if (doFill) { - this.setFluidContent(aStack, aFluid); - } - return aFluid.amount; - } - if (doFill) { - tFluid = aFluid.copy(); - tFluid.amount = (int) (long) tStats[0]; - this.setFluidContent(aStack, tFluid); - } - return (int) (long) tStats[0]; - } - - if (!tFluid.isFluidEqual(aFluid)) { - return 0; - } - - final int space = (int) (long) tStats[0] - tFluid.amount; - if (aFluid.amount <= space) { - if (doFill) { - tFluid.amount += aFluid.amount; - this.setFluidContent(aStack, tFluid); - } - return aFluid.amount; - } - if (doFill) { - tFluid.amount = (int) (long) tStats[0]; - this.setFluidContent(aStack, tFluid); - } - return space; - } - - @Override - public FluidStack drain(final ItemStack aStack, final int maxDrain, final boolean doDrain) { - if ((aStack == null) || (aStack.stackSize != 1)) { - return null; - } - - FluidStack tFluid = GT_Utility.getFluidForFilledItem(aStack, false); - if ((tFluid != null) && (maxDrain >= tFluid.amount)) { - final ItemStack tStack = GT_Utility.getContainerItem(aStack, false); - if (tStack == null) { - aStack.stackSize = 0; - return tFluid; - } - aStack.setItemDamage(tStack.getItemDamage()); - aStack.func_150996_a(tStack.getItem()); - return tFluid; - } - - final Long[] tStats = this.getFluidContainerStats(aStack); - if ((tStats == null) || (tStats[0] <= 0)) { - return null; - } - - tFluid = this.getFluidContent(aStack); - if (tFluid == null) { - return null; - } - - int used = maxDrain; - if (tFluid.amount < used) { - used = tFluid.amount; - } - if (doDrain) { - tFluid.amount -= used; - this.setFluidContent(aStack, tFluid); - } - - final FluidStack drained = tFluid.copy(); - drained.amount = used; - return drained; - } - - public FluidStack getFluidContent(final ItemStack aStack) { - final Long[] tStats = this.getFluidContainerStats(aStack); - if ((tStats == null) || (tStats[0] <= 0)) { - return GT_Utility.getFluidForFilledItem(aStack, false); - } - final NBTTagCompound tNBT = aStack.getTagCompound(); - return tNBT == null ? null : FluidStack.loadFluidStackFromNBT(tNBT.getCompoundTag("GT.FluidContent")); - } - - public void setFluidContent(final ItemStack aStack, final FluidStack aFluid) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - tNBT = new NBTTagCompound(); - } else { - tNBT.removeTag("GT.FluidContent"); - } - if ((aFluid != null) && (aFluid.amount > 0)) { - tNBT.setTag("GT.FluidContent", aFluid.writeToNBT(new NBTTagCompound())); - } - if (tNBT.hasNoTags()) { - aStack.setTagCompound(null); - } else { - aStack.setTagCompound(tNBT); - } - this.isItemStackUsable(aStack); - } - - @Override - public int getItemStackLimit(final ItemStack aStack) { - Long[] tStats = this.getElectricStats(aStack); - if ((tStats != null) && ((tStats[3] == -1) || (tStats[3] == -3)) && (this.getRealCharge(aStack) > 0)) { - return 1; - } - tStats = this.getFluidContainerStats(aStack); - if (tStats != null) { - return (int) (long) tStats[1]; - } - return 64; - } - - @Override - public final Item getChargedItem(final ItemStack itemStack) { - return this; - } - - @Override - public final Item getEmptyItem(final ItemStack itemStack) { - return this; - } - - @Override - public final int getTier(final ItemStack aStack) { - final Long[] tStats = this.getElectricStats(aStack); - return (int) (tStats == null ? Integer.MAX_VALUE : tStats[2]); - } - - @Override - public final String getToolTip(final ItemStack aStack) { - return null; - } // This has its own ToolTip Handler, no need to let the IC2 Handler screw us up at this Point - - @Override - public final IElectricItemManager getManager(final ItemStack aStack) { - return this; - } // We are our own Manager - - @Override - public final boolean getShareTag() { - return true; - } // just to be sure. - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public boolean isBookEnchantable(final ItemStack aStack, final ItemStack aBook) { - return false; - } - - @Override - public boolean getIsRepairable(final ItemStack aStack, final ItemStack aMaterial) { - return false; - } - - @Override - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - if (stack.getDisplayName() - .contains("LuV")) { - HEX_OxFFFFFF = 0xffffcc; - } else if (stack.getDisplayName() - .contains("ZPM")) { - HEX_OxFFFFFF = 0xace600; - } else if (stack.getDisplayName() - .contains("UV")) { - HEX_OxFFFFFF = 0xffff00; - } else if (stack.getDisplayName() - .contains("MAX")) { - HEX_OxFFFFFF = 0xff0000; - } else if (stack.getDisplayName() - .contains("Sodium")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(0, 0, 150); - } else if (stack.getDisplayName() - .contains("Cadmium")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(50, 50, 60); - } else if (stack.getDisplayName() - .contains("Lithium")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(225, 220, 255); - } else { - HEX_OxFFFFFF = 0xffffff; - } - return HEX_OxFFFFFF; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java deleted file mode 100644 index c04acb9537..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java +++ /dev/null @@ -1,266 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.items; - -import java.util.Arrays; -import java.util.List; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -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 - *

- * One Item for everything! - *

- * This brilliant Item Class is used for automatically generating all possible variations of Material Items, - * like Dusts, Ingots, Gems, Plates and similar. It saves me a ton of work, when adding Items, because I always - * have to make a new Item SubType for each OreDict Prefix, when adding a new Material. - *

- * As you can see, up to 32766 Items can be generated using this Class. And the last 766 Items can be custom - * defined, just to save space and MetaData. - *

- * These Items can also have special RightClick abilities, electric Charge or even be set to become a Food alike - * Item. - */ -public abstract class Gregtech_MetaItem_X32 extends Gregtech_MetaItem { - - protected final OrePrefixes[] mGeneratedPrefixList; - - /** - * Creates the Item using these Parameters. - * - * @param aUnlocalized The Unlocalized Name of this Item. - * @param aGeneratedPrefixList The OreDict Prefixes you want to have generated. - */ - public Gregtech_MetaItem_X32(final String aUnlocalized, final OrePrefixes... aGeneratedPrefixList) { - super(aUnlocalized, (short) 32000, (short) 766); - this.mGeneratedPrefixList = Arrays.copyOf(aGeneratedPrefixList, 32); - - for (int i = 0; i < 32000; i++) { - final OrePrefixes tPrefix = this.mGeneratedPrefixList[i / 1000]; - if (tPrefix == null) { - continue; - } - final Materials tMaterial = GregTech_API.sGeneratedMaterials[i % 1000]; - if (tMaterial == null) { - continue; - } - if (this.doesMaterialAllowGeneration(tPrefix, tMaterial)) { - final ItemStack tStack = new ItemStack(this, 1, i); - GT_LanguageManager.addStringLocalization( - this.getUnlocalizedName(tStack) + ".name", - this.getDefaultLocalization(tPrefix, tMaterial, i)); - GT_LanguageManager.addStringLocalization( - this.getUnlocalizedName(tStack) + ".tooltip", - tMaterial.getToolTip(tPrefix.mMaterialAmount / GT_Values.M)); - if (tPrefix.mIsUnificatable) { - GT_OreDictUnificator.set(tPrefix, tMaterial, tStack); - } else { - GT_OreDictUnificator.registerOre(tPrefix.get(tMaterial), tStack); - } - if (((tPrefix == OrePrefixes.stick) || (tPrefix == OrePrefixes.wireFine)) - && ((tMaterial == Materials.Lead) || (tMaterial == Materials.Tin) - || (tMaterial == Materials.SolderingAlloy))) { - GregTech_API.sSolderingMetalList.add(tStack); - } - } - } - } - - /* ---------- OVERRIDEABLE FUNCTIONS ---------- */ - - /** - * @return the Color Modulation the Material is going to be rendered with. - */ - @Override - public short[] getRGBa(final ItemStack aStack) { - final Materials tMaterial = GregTech_API.sGeneratedMaterials[this.getDamage(aStack) % 1000]; - return tMaterial == null ? Materials._NULL.mRGBa : tMaterial.mRGBa; - } - - /** - * @param aPrefix this can be null, you have to return false in that case - * @param aMaterial this can be null, you have to return false in that case - * @return if this Item should be generated and visible. - */ - public boolean doesMaterialAllowGeneration(final OrePrefixes aPrefix, final Materials aMaterial) { - // You have to check for at least these Conditions in every Case! So add a super Call like the following for - // this before executing your Code: - // if (!super.doesMaterialAllowGeneration(aPrefix, aMaterial)) return false; - return (aPrefix != null) && (aMaterial != null) && aPrefix.doGenerateItem(aMaterial); - } - - /* ---------- OVERRIDEABLE FUNCTIONS ---------- */ - - /** - * @param aPrefix the OreDict Prefix - * @param aMaterial the Material - * @param aMetaData a Index from [0 - 31999] - * @return the Localized Name when default LangFiles are used. - */ - public String getDefaultLocalization(final OrePrefixes aPrefix, final Materials aMaterial, final int aMetaData) { - return aPrefix.getDefaultLocalNameForItem(aMaterial); - } - - /** - * @param aMetaData a Index from [0 - 31999] - * @param aMaterial the Material - * @return an Icon Container for the Item Display. - */ - public final IIconContainer getIconContainer(final int aMetaData, final Materials aMaterial) { - return (this.mGeneratedPrefixList[aMetaData / 1000] != null) - && (this.mGeneratedPrefixList[aMetaData / 1000].mTextureIndex >= 0) - ? aMaterial.mIconSet.mTextures[this.mGeneratedPrefixList[aMetaData / 1000].mTextureIndex] - : null; - } - - /** - * @param aPrefix always != null - * @param aMaterial always != null - * @param aDoShowAllItems this is the Configuration Setting of the User, if he wants to see all the Stuff like Tiny - * Dusts or Crushed Ores as well. - * @return if this Item should be visible in NEI or Creative - */ - public boolean doesShowInCreative(final OrePrefixes aPrefix, final Materials aMaterial, - final boolean aDoShowAllItems) { - return true; - } - - /* ---------- INTERNAL OVERRIDES ---------- */ - - @Override - public ItemStack getContainerItem(final ItemStack aStack) { - final int aDamage = aStack.getItemDamage(); - if ((aDamage < 32000) && (aDamage >= 0)) { - final Materials aMaterial = GregTech_API.sGeneratedMaterials[aDamage % 1000]; - if ((aMaterial != null) && (aMaterial != Materials.Empty) && (aMaterial != Materials._NULL)) { - final OrePrefixes aPrefix = this.mGeneratedPrefixList[aDamage / 1000]; - if (aPrefix != null) { - return GT_Utility.copyAmount(1, aPrefix.mContainerItem); - } - } - } - return null; - } - - @Override - public final IIconContainer getIconContainer(final int aMetaData) { - return GregTech_API.sGeneratedMaterials[aMetaData % 1000] == null ? null - : this.getIconContainer(aMetaData, GregTech_API.sGeneratedMaterials[aMetaData % 1000]); - } - - @Override - @SideOnly(Side.CLIENT) - public final void getSubItems(final Item var1, final CreativeTabs aCreativeTab, final List aList) { - for (int i = 0; i < 32000; i++) { - if (this.doesMaterialAllowGeneration( - this.mGeneratedPrefixList[i / 1000], - GregTech_API.sGeneratedMaterials[i % 1000]) - && this.doesShowInCreative( - this.mGeneratedPrefixList[i / 1000], - GregTech_API.sGeneratedMaterials[i % 1000], - GregTech_API.sDoShowAllItemsInCreative)) { - final ItemStack tStack = new ItemStack(this, 1, i); - this.isItemStackUsable(tStack); - aList.add(tStack); - } - } - super.getSubItems(var1, aCreativeTab, aList); - } - - @Override - public final IIcon getIconFromDamage(final int aMetaData) { - if (aMetaData < 0) { - return null; - } - if (aMetaData < 32000) { - final Materials tMaterial = GregTech_API.sGeneratedMaterials[aMetaData % 1000]; - if (tMaterial == null) { - return null; - } - final IIconContainer tIcon = this.getIconContainer(aMetaData, tMaterial); - if (tIcon != null) { - return tIcon.getIcon(); - } - return null; - } - return (aMetaData - 32000) < this.mIconList.length ? this.mIconList[aMetaData - 32000][0] : null; - } - - @Override - public int getItemStackLimit(final ItemStack aStack) { - final int tDamage = this.getDamage(aStack); - if ((tDamage < 32000) && (this.mGeneratedPrefixList[tDamage / 1000] != null)) { - return Math - .min(super.getItemStackLimit(aStack), this.mGeneratedPrefixList[tDamage / 1000].mDefaultStackSize); - } - return super.getItemStackLimit(aStack); - } - - @Override - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - - int aMeta = stack.getItemDamage(); - if (stack.getDisplayName() - .contains("Sodium")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(90, 90, 255); - } else if (stack.getDisplayName() - .contains("Cadmium")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(150, 150, 80); - } else if (stack.getDisplayName() - .contains("Lithium")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(225, 220, 255); - } else if (stack.getDisplayName() - .contains("Wrought")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(200, 180, 180); - } else if (stack.getDisplayName() - .contains("Bronze")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(255, 128, 0); - } else if (stack.getDisplayName() - .contains("Brass")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(255, 180, 0); - } else if (stack.getDisplayName() - .contains("Invar")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(180, 180, 120); - } else { - if (aMeta > 50 && aMeta != 150) { - HEX_OxFFFFFF = 0xffffff; - } else if (stack.getDisplayName() - .contains("ULV")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue(200, 180, 180); - } else if (stack.getDisplayName() - .contains("LuV")) { - HEX_OxFFFFFF = 0xffffcc; - } else if (stack.getDisplayName() - .contains("ZPM")) { - HEX_OxFFFFFF = 0xffe600; - } else if (stack.getDisplayName() - .contains("UV")) { - HEX_OxFFFFFF = 0xffb300; - } else if (stack.getDisplayName() - .contains("MAX")) { - HEX_OxFFFFFF = Utils.rgbtoHexValue( - MathUtils.randInt(220, 250), - MathUtils.randInt(221, 251), - MathUtils.randInt(220, 250)); - } else { - HEX_OxFFFFFF = 0xffffff; - } - } - return HEX_OxFFFFFF; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaTool.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaTool.java deleted file mode 100644 index fcfa5fae50..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaTool.java +++ /dev/null @@ -1,692 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.items; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map.Entry; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -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; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.stats.AchievementList; -import net.minecraft.stats.StatList; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.event.world.BlockEvent; - -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.enums.Mods; -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; - -/** - * This is an example on how you can create a Tool ItemStack, in this case a Bismuth Wrench: - * GT_MetaGenerated_Tool.sInstances.get("gt.metatool.01").getToolWithStats(16, 1, Materials.Bismuth, Materials.Bismuth, - * null); - */ -@Optional.InterfaceList({ - @Optional.Interface(iface = "forestry.api.arboriculture.IToolGrafter", modid = Mods.Names.FORESTRY), - @Optional.Interface(iface = "mods.railcraft.api.core.items.IToolCrowbar", modid = Mods.Names.RAILCRAFT), - @Optional.Interface(iface = "buildcraft.api.tools.IToolWrench", modid = "BuildCraft"), - @Optional.Interface(iface = "crazypants.enderio.api.tool.ITool", modid = Mods.Names.ENDER_I_O) }) -public abstract class Gregtech_MetaTool extends GT_MetaGenerated_Tool - implements IDamagableItem, IToolCrowbar, IToolWrench { - - /** - * All instances of this Item Class are listed here. This gets used to register the Renderer to all Items of this - * Type, if useStandardMetaItemRenderer() returns true. - *

- * You can also use the unlocalized Name gotten from getUnlocalizedName() as Key if you want to get a specific Item. - */ - public static final HashMap sInstances = new HashMap<>(); - - /* ---------- CONSTRUCTOR AND MEMBER VARIABLES ---------- */ - - public final HashMap mToolStats = new HashMap<>(); - - /** - * Creates the Item using these Parameters. - * - * @param aUnlocalized The Unlocalized Name of this Item. - */ - public Gregtech_MetaTool(final String aUnlocalized) { - super(aUnlocalized); - GT_ModHandler.registerBoxableItemToToolBox(new ItemStack(this)); - this.setCreativeTab(AddToCreativeTab.tabMachines); - this.setMaxStackSize(1); - sInstances.put(this.getUnlocalizedName(), this); - } - - /** - * Called by the Block Harvesting Event within the GT_Proxy - */ - @Override - public void onHarvestBlockEvent(final ArrayList aDrops, final ItemStack aStack, - final EntityPlayer aPlayer, final Block aBlock, final int aX, final int aY, final int aZ, final byte aMetaData, - final int aFortune, final boolean aSilkTouch, final BlockEvent.HarvestDropsEvent aEvent) { - final IToolStats tStats = this.getToolStats(aStack); - if (this.isItemStackUsable(aStack) && (this.getDigSpeed(aStack, aBlock, aMetaData) > 0.0F)) { - this.doDamage( - aStack, - tStats.convertBlockDrops( - aDrops, - aStack, - aPlayer, - aBlock, - aX, - aY, - aZ, - aMetaData, - aFortune, - aSilkTouch, - aEvent) * tStats.getToolDamagePerDropConversion()); - } - } - - @Override - public boolean onLeftClickEntity(final ItemStack aStack, final EntityPlayer aPlayer, final Entity aEntity) { - final IToolStats tStats = this.getToolStats(aStack); - if ((tStats == null) || !this.isItemStackUsable(aStack)) { - return true; - } - GT_Utility.doSoundAtClient(tStats.getEntityHitSound(), 1, 1.0F); - if (super.onLeftClickEntity(aStack, aPlayer, aEntity)) { - return true; - } - if (aEntity.canAttackWithItem() && !aEntity.hitByEntity(aPlayer)) { - final float tMagicDamage = tStats.getMagicDamageAgainstEntity( - aEntity instanceof EntityLivingBase - ? EnchantmentHelper.getEnchantmentModifierLiving(aPlayer, (EntityLivingBase) aEntity) - : 0.0F, - aEntity, - aStack, - aPlayer); - float tDamage = tStats.getNormalDamageAgainstEntity( - (float) aPlayer.getEntityAttribute(SharedMonsterAttributes.attackDamage) - .getAttributeValue() + this.getToolCombatDamage(aStack), - aEntity, - aStack, - aPlayer); - if ((tDamage + tMagicDamage) > 0.0F) { - final boolean tCriticalHit = (aPlayer.fallDistance > 0.0F) && !aPlayer.onGround - && !aPlayer.isOnLadder() - && !aPlayer.isInWater() - && !aPlayer.isPotionActive(Potion.blindness) - && (aPlayer.ridingEntity == null) - && (aEntity instanceof EntityLivingBase); - if (tCriticalHit && (tDamage > 0.0F)) { - tDamage *= 1.5F; - } - tDamage += tMagicDamage; - if (aEntity.attackEntityFrom(tStats.getDamageSource(aPlayer, aEntity), tDamage)) { - if (aEntity instanceof EntityLivingBase) { - aEntity.setFire(EnchantmentHelper.getFireAspectModifier(aPlayer) * 4); - } - final int tKnockcack = (aPlayer.isSprinting() ? 1 : 0) + (aEntity instanceof EntityLivingBase - ? EnchantmentHelper.getKnockbackModifier(aPlayer, (EntityLivingBase) aEntity) - : 0); - if (tKnockcack > 0) { - aEntity.addVelocity( - -MathHelper.sin((aPlayer.rotationYaw * (float) Math.PI) / 180.0F) * tKnockcack * 0.5F, - 0.1D, - MathHelper.cos((aPlayer.rotationYaw * (float) Math.PI) / 180.0F) * tKnockcack * 0.5F); - aPlayer.motionX *= 0.6D; - aPlayer.motionZ *= 0.6D; - aPlayer.setSprinting(false); - } - if (tCriticalHit) { - aPlayer.onCriticalHit(aEntity); - } - if (tMagicDamage > 0.0F) { - aPlayer.onEnchantmentCritical(aEntity); - } - if (tDamage >= 18.0F) { - aPlayer.triggerAchievement(AchievementList.overkill); - } - aPlayer.setLastAttacker(aEntity); - if (aEntity instanceof EntityLivingBase) { - EnchantmentHelper.func_151384_a((EntityLivingBase) aEntity, aPlayer); - } - EnchantmentHelper.func_151385_b(aPlayer, aEntity); - if (aEntity instanceof EntityLivingBase) { - aPlayer.addStat(StatList.damageDealtStat, Math.round(tDamage * 10.0F)); - } - aEntity.hurtResistantTime = Math - .max(1, tStats.getHurtResistanceTime(aEntity.hurtResistantTime, aEntity)); - aPlayer.addExhaustion(0.3F); - this.doDamage(aStack, tStats.getToolDamagePerEntityAttack()); - } - } - } - if (aStack.stackSize <= 0) { - aPlayer.destroyCurrentEquippedItem(); - } - return true; - } - - @Override - public ItemStack onItemRightClick(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) { - final IToolStats tStats = this.getToolStats(aStack); - if ((tStats != null) && tStats.canBlock()) { - aPlayer.setItemInUse(aStack, 72000); - } - return super.onItemRightClick(aStack, aWorld, aPlayer); - } - - @SuppressWarnings("unchecked") - public void addAdditionalToolTips(final List aList, final ItemStack aStack) { - final long tMaxDamage = getToolMaxDamage(aStack); - final Materials tMaterial = getPrimaryMaterial(aStack); - final IToolStats tStats = this.getToolStats(aStack); - final int tOffset = this.getElectricStats(aStack) != null ? 2 : 1; - if (tStats != null) { - final String name = aStack.getUnlocalizedName(); - if (name.equals("gt.metatool.01.170") || name.equals("gt.metatool.01.172") - || name.equals("gt.metatool.01.174") - || name.equals("gt.metatool.01.176")) { - aList.add( - tOffset + 0, - EnumChatFormatting.WHITE + "Durability: " - + EnumChatFormatting.GREEN - + (tMaxDamage - getToolDamage(aStack)) - + " / " - + tMaxDamage - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 1, - EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName - + EnumChatFormatting.YELLOW - + " lvl " - + this.getHarvestLevel(aStack, "") - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 2, - EnumChatFormatting.WHITE + "Turbine Efficency: " - + EnumChatFormatting.BLUE - + (50.0F + (10.0F * this.getToolCombatDamage(aStack))) - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 3, - EnumChatFormatting.WHITE + "Optimal Steam flow: " - + EnumChatFormatting.LIGHT_PURPLE - + Math.max( - Float.MIN_NORMAL, - tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 1000) - + EnumChatFormatting.GRAY - + "L/sec"); - aList.add( - tOffset + 3, - EnumChatFormatting.WHITE + "Optimal Gas flow(EU burnvalue per tick): " - + EnumChatFormatting.LIGHT_PURPLE - + Math.max( - Float.MIN_NORMAL, - tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 25) - + EnumChatFormatting.GRAY - + "EU/t"); - aList.add( - tOffset + 3, - EnumChatFormatting.WHITE + "Optimal Plasma flow(Plasma energyvalue per tick): " - + EnumChatFormatting.LIGHT_PURPLE - + Math.max( - Float.MIN_NORMAL, - tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 1000) - + EnumChatFormatting.GRAY - + "EU/t"); - - } else { - aList.add( - tOffset + 0, - EnumChatFormatting.WHITE + "Durability: " - + EnumChatFormatting.GREEN - + (tMaxDamage - getToolDamage(aStack)) - + " / " - + tMaxDamage - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 1, - EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName - + EnumChatFormatting.YELLOW - + " lvl " - + this.getHarvestLevel(aStack, "") - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 2, - EnumChatFormatting.WHITE + "Attack Damage: " - + EnumChatFormatting.BLUE - + this.getToolCombatDamage(aStack) - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 3, - EnumChatFormatting.WHITE + "Mining Speed: " - + EnumChatFormatting.LIGHT_PURPLE - + Math - .max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed) - + EnumChatFormatting.GRAY); - } - } - } - - @Override - @SuppressWarnings("unchecked") - public void addAdditionalToolTips(final List aList, final ItemStack aStack, final EntityPlayer aPlayer) { - final long tMaxDamage = getToolMaxDamage(aStack); - final Materials tMaterial = getPrimaryMaterial(aStack); - final IToolStats tStats = this.getToolStats(aStack); - final int tOffset = this.getElectricStats(aStack) != null ? 2 : 1; - if (tStats != null) { - final String name = aStack.getUnlocalizedName(); - if (name.equals("gt.metatool.01.170") || name.equals("gt.metatool.01.172") - || name.equals("gt.metatool.01.174") - || name.equals("gt.metatool.01.176")) { - aList.add( - tOffset + 0, - EnumChatFormatting.WHITE + "Durability: " - + EnumChatFormatting.GREEN - + (tMaxDamage - getToolDamage(aStack)) - + " / " - + tMaxDamage - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 1, - EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName - + EnumChatFormatting.YELLOW - + " lvl " - + this.getHarvestLevel(aStack, "") - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 2, - EnumChatFormatting.WHITE + "Turbine Efficency: " - + EnumChatFormatting.BLUE - + (50.0F + (10.0F * this.getToolCombatDamage(aStack))) - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 3, - EnumChatFormatting.WHITE + "Optimal Steam flow: " - + EnumChatFormatting.LIGHT_PURPLE - + Math.max( - Float.MIN_NORMAL, - tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 1000) - + EnumChatFormatting.GRAY - + "L/sec"); - aList.add( - tOffset + 3, - EnumChatFormatting.WHITE + "Optimal Gas flow(EU burnvalue per tick): " - + EnumChatFormatting.LIGHT_PURPLE - + Math.max( - Float.MIN_NORMAL, - tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 50) - + EnumChatFormatting.GRAY - + "EU/t"); - aList.add( - tOffset + 3, - EnumChatFormatting.WHITE + "Optimal Plasma flow(Plasma energyvalue per tick): " - + EnumChatFormatting.LIGHT_PURPLE - + Math.max( - Float.MIN_NORMAL, - tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 1000) - + EnumChatFormatting.GRAY - + "EU/t"); - - } else { - aList.add( - tOffset + 0, - EnumChatFormatting.WHITE + "Durability: " - + EnumChatFormatting.GREEN - + (tMaxDamage - getToolDamage(aStack)) - + " / " - + tMaxDamage - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 1, - EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName - + EnumChatFormatting.YELLOW - + " lvl " - + this.getHarvestLevel(aStack, "") - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 2, - EnumChatFormatting.WHITE + "Attack Damage: " - + EnumChatFormatting.BLUE - + this.getToolCombatDamage(aStack) - + EnumChatFormatting.GRAY); - aList.add( - tOffset + 3, - EnumChatFormatting.WHITE + "Mining Speed: " - + EnumChatFormatting.LIGHT_PURPLE - + Math - .max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed) - + EnumChatFormatting.GRAY); - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("GT.ToolStats"); - if ((aNBT != null) && aNBT.hasKey("Heat")) { - int tHeat = aNBT.getInteger("Heat"); - final long tWorldTime = aPlayer.getEntityWorld() - .getWorldTime(); - if (aNBT.hasKey("HeatTime")) { - final long tHeatTime = aNBT.getLong("HeatTime"); - if (tWorldTime > (tHeatTime + 10)) { - tHeat = (int) (tHeat - ((tWorldTime - tHeatTime) / 10)); - if ((tHeat < 300) && (tHeat > -10000)) { - tHeat = 300; - } - } - aNBT.setLong("HeatTime", tWorldTime); - if (tHeat > -10000) { - aNBT.setInteger("Heat", tHeat); - } - } - - aList.add( - tOffset + 3, - EnumChatFormatting.RED + "Heat: " - + aNBT.getInteger("Heat") - + " K" - + EnumChatFormatting.GRAY); - } - } - } - } - } - - @Override - public Long[] getFluidContainerStats(final ItemStack aStack) { - return null; - } - - @Override - public Long[] getElectricStats(final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("GT.ToolStats"); - if ((aNBT != null) && aNBT.getBoolean("Electric")) { - return new Long[] { aNBT.getLong("MaxCharge"), aNBT.getLong("Voltage"), aNBT.getLong("Tier"), - aNBT.getLong("SpecialData") }; - } - } - return new Long[] {}; - } - - @Override - public float getToolCombatDamage(final ItemStack aStack) { - final IToolStats tStats = this.getToolStats(aStack); - if (tStats == null) { - return 0; - } - return tStats.getBaseDamage() + getPrimaryMaterial(aStack).mToolQuality; - } - - @Override - public float getDigSpeed(final ItemStack aStack, final Block aBlock, final int aMetaData) { - if (!this.isItemStackUsable(aStack)) { - return 0.0F; - } - final IToolStats tStats = this.getToolStats(aStack); - if ((tStats == null) || (Math.max(0, this.getHarvestLevel(aStack, "")) < aBlock.getHarvestLevel(aMetaData))) { - return 0.0F; - } - return tStats.isMinableBlock(aBlock, (byte) aMetaData) - ? Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed) - : 0.0F; - } - - @Override - public boolean onBlockDestroyed(final ItemStack aStack, final World aWorld, final Block aBlock, final int aX, - final int aY, final int aZ, final EntityLivingBase aPlayer) { - if (!this.isItemStackUsable(aStack)) { - return false; - } - final IToolStats tStats = this.getToolStats(aStack); - if (tStats == null) { - return false; - } - GT_Utility.doSoundAtClient(tStats.getMiningSound(), 1, 1.0F); - this.doDamage( - aStack, - (int) Math.max(1, aBlock.getBlockHardness(aWorld, aX, aY, aZ) * tStats.getToolDamagePerBlockBreak())); - return this.getDigSpeed(aStack, aBlock, aWorld.getBlockMetadata(aX, aY, aZ)) > 0.0F; - } - - private ItemStack getContainerItem(ItemStack aStack, final boolean playSound) { - if (!this.isItemStackUsable(aStack)) { - return null; - } - aStack = GT_Utility.copyAmount(1, aStack); - final IToolStats tStats = this.getToolStats(aStack); - if (tStats == null) { - return null; - } - this.doDamage(aStack, tStats.getToolDamagePerContainerCraft()); - aStack = aStack.stackSize > 0 ? aStack : null; - if (playSound) {} - return aStack; - } - - @Override - public Interface_ToolStats getToolStats(final ItemStack aStack) { - this.isItemStackUsable(aStack); - return this.getToolStatsInternal(aStack); - } - - private Interface_ToolStats getToolStatsInternal(final ItemStack aStack) { - return (Interface_ToolStats) (aStack == null ? null : this.mToolStats.get((short) aStack.getItemDamage())); - } - - @Override - public boolean canWhack(final EntityPlayer aPlayer, final ItemStack aStack, final int aX, final int aY, - final int aZ) { - if (!this.isItemStackUsable(aStack)) { - return false; - } - final IToolStats tStats = this.getToolStats(aStack); - return (tStats != null) && tStats.isCrowbar(); - } - - @Override - public void onWhack(final EntityPlayer aPlayer, final ItemStack aStack, final int aX, final int aY, final int aZ) { - final IToolStats tStats = this.getToolStats(aStack); - if (tStats != null) { - this.doDamage(aStack, tStats.getToolDamagePerEntityAttack()); - } - } - - @Override - public boolean canWrench(final EntityPlayer player, final int x, final int y, final int z) { - // System.out.println("canWrench"); - if (player == null) { - return false; - } - if (player.getCurrentEquippedItem() == null) { - return false; - } - if (!this.isItemStackUsable(player.getCurrentEquippedItem())) { - return false; - } - final Interface_ToolStats tStats = this.getToolStats(player.getCurrentEquippedItem()); - return (tStats != null) && tStats.isWrench(); - } - - @Override - public void wrenchUsed(final EntityPlayer player, final int x, final int y, final int z) { - if (player == null) { - return; - } - if (player.getCurrentEquippedItem() == null) { - return; - } - final IToolStats tStats = this.getToolStats(player.getCurrentEquippedItem()); - if (tStats != null) { - this.doDamage(player.getCurrentEquippedItem(), tStats.getToolDamagePerEntityAttack()); - } - } - - @Override - public boolean canLink(final EntityPlayer aPlayer, final ItemStack aStack, final EntityMinecart cart) { - if (!this.isItemStackUsable(aStack)) { - return false; - } - final IToolStats tStats = this.getToolStats(aStack); - return (tStats != null) && tStats.isCrowbar(); - } - - @Override - public void onLink(final EntityPlayer aPlayer, final ItemStack aStack, final EntityMinecart cart) { - final IToolStats tStats = this.getToolStats(aStack); - if (tStats != null) { - this.doDamage(aStack, tStats.getToolDamagePerEntityAttack()); - } - } - - @Override - public boolean canBoost(final EntityPlayer aPlayer, final ItemStack aStack, final EntityMinecart cart) { - if (!this.isItemStackUsable(aStack)) { - return false; - } - final IToolStats tStats = this.getToolStats(aStack); - return (tStats != null) && tStats.isCrowbar(); - } - - @Override - public void onBoost(final EntityPlayer aPlayer, final ItemStack aStack, final EntityMinecart cart) { - final IToolStats tStats = this.getToolStats(aStack); - if (tStats != null) { - this.doDamage(aStack, tStats.getToolDamagePerEntityAttack()); - } - } - - @Override - public void onCreated(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) { - final IToolStats tStats = this.getToolStats(aStack); - if ((tStats != null) && (aPlayer != null)) { - tStats.onToolCrafted(aStack, aPlayer); - } - super.onCreated(aStack, aWorld, aPlayer); - } - - @Override - public boolean isFull3D() { - return true; - } - - @Override - public boolean isItemStackUsable(final ItemStack aStack) { - final IToolStats tStats = this.getToolStatsInternal(aStack); - if (((aStack.getItemDamage() % 2) == 1) || (tStats == null)) { - final NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT.removeTag("ench"); - } - return false; - } - final Materials aMaterial = getPrimaryMaterial(aStack); - final HashMap tMap = new HashMap<>(), tResult = new HashMap<>(); - if (aMaterial.mEnchantmentTools != null) { - tMap.put(aMaterial.mEnchantmentTools.effectId, (int) aMaterial.mEnchantmentToolsLevel); - if (aMaterial.mEnchantmentTools == Enchantment.fortune) { - tMap.put(Enchantment.looting.effectId, (int) aMaterial.mEnchantmentToolsLevel); - } - if (aMaterial.mEnchantmentTools == Enchantment.knockback) { - tMap.put(Enchantment.power.effectId, (int) aMaterial.mEnchantmentToolsLevel); - } - if (aMaterial.mEnchantmentTools == Enchantment.fireAspect) { - tMap.put(Enchantment.flame.effectId, (int) aMaterial.mEnchantmentToolsLevel); - } - } - final Enchantment[] tEnchants = tStats.getEnchantments(aStack); - final int[] tLevels = tStats.getEnchantmentLevels(aStack); - for (int i = 0; i < tEnchants.length; i++) { - if (tLevels[i] > 0) { - final Integer tLevel = tMap.get(tEnchants[i].effectId); - tMap.put( - tEnchants[i].effectId, - tLevel == null ? tLevels[i] : tLevel == tLevels[i] ? tLevel + 1 : Math.max(tLevel, tLevels[i])); - } - } - for (final Entry tEntry : tMap.entrySet()) { - if ((tEntry.getKey() == 33) || ((tEntry.getKey() == 20) && (tEntry.getValue() > 2)) - || (tEntry.getKey() == Enchantment_Radioactivity.INSTANCE.effectId)) { - tResult.put(tEntry.getKey(), tEntry.getValue()); - } else { - switch (Enchantment.enchantmentsList[tEntry.getKey()].type) { - case weapon: - if (tStats.isWeapon()) { - tResult.put(tEntry.getKey(), tEntry.getValue()); - } - break; - case all: - tResult.put(tEntry.getKey(), tEntry.getValue()); - break; - case armor: - case armor_feet: - case armor_head: - case armor_legs: - case armor_torso: - break; - case bow: - if (tStats.isRangedWeapon()) { - tResult.put(tEntry.getKey(), tEntry.getValue()); - } - break; - case breakable: - break; - case fishing_rod: - break; - case digger: - if (tStats.isMiningTool()) { - tResult.put(tEntry.getKey(), tEntry.getValue()); - } - break; - } - } - } - EnchantmentHelper.setEnchantments(tResult, aStack); - return true; - } - - @Override - public short getChargedMetaData(final ItemStack aStack) { - return (short) (aStack.getItemDamage() - (aStack.getItemDamage() % 2)); - } - - @Override - public short getEmptyMetaData(final ItemStack aStack) { - final NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT.removeTag("ench"); - } - return (short) ((aStack.getItemDamage() + 1) - (aStack.getItemDamage() % 2)); - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public boolean isBookEnchantable(final ItemStack aStack, final ItemStack aBook) { - return false; - } - - @Override - public boolean getIsRepairable(final ItemStack aStack, final ItemStack aMaterial) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ChiselBus.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ChiselBus.java deleted file mode 100644 index 3009c80c80..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ChiselBus.java +++ /dev/null @@ -1,78 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import net.minecraft.util.EnumChatFormatting; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.Scrollable; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.modularui.IAddUIWidgets; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; - -public class GT_MetaTileEntity_ChiselBus extends GT_MetaTileEntity_Hatch_InputBus implements IAddUIWidgets { - - public GT_MetaTileEntity_ChiselBus(int id, String name, String nameRegional, int tier) { - super(id, name, nameRegional, tier); - } - - public GT_MetaTileEntity_ChiselBus(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, getSlots(aTier), aDescription, aTextures); - } - - @Override - public boolean isValidSlot(int aIndex) { - return aIndex < getSlots(this.mTier); - } - - public static int getSlots(int aTier) { - return (1 + aTier) * 16 + 1; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_ChiselBus(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public boolean allowSelectCircuit() { - return false; - } - - @Override - public String[] getDescription() { - return new String[] { "Item Input Bus for Industrial Chisel", getSlots(this.mTier) - 1 + " + 1 " + " Slots", - "Added by: " + EnumChatFormatting.AQUA - + "Quetz4l" - + " - " - + EnumChatFormatting.RED - + "[GT++]" - + EnumChatFormatting.RESET }; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - int slotIndex = 0; - final Scrollable scrollable = new Scrollable().setVerticalScroll(); - for (int row = 0; row * 4 < inventoryHandler.getSlots() - 1; row++) { - int columnsToMake = Math.min(inventoryHandler.getSlots() - row * 4, 4); - for (int column = 0; column < columnsToMake; column++) { - scrollable.widget( - new SlotWidget(inventoryHandler, slotIndex++).setPos(column * 18, row * 18) - .setSize(18, 18)); - - } - } - - builder.widget( - scrollable.setSize(18 * 4 + 4, 18 * 4) - .setPos(52, 7)); // main slots - builder.widget( - new SlotWidget(inventoryHandler, slotIndex).setPos(18, 18) - .setSize(18, 18)); // slot for target - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java deleted file mode 100644 index bab504910e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java +++ /dev/null @@ -1,128 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; - -public class GT_MetaTileEntity_Hatch_AirIntake extends GT_MetaTileEntity_Hatch_FluidGenerator { - - public GT_MetaTileEntity_Hatch_AirIntake(final int aID, final String aName, final String aNameRegional, - final int aTier) { - super(aID, aName, aNameRegional, aTier); - } - - public GT_MetaTileEntity_Hatch_AirIntake(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_AirIntake(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public String[] getCustomTooltip() { - String[] aTooltip = new String[3]; - aTooltip[0] = "DO NOT OBSTRUCT THE INPUT!"; - aTooltip[1] = "Draws in Air from the surrounding environment"; - aTooltip[2] = "Creates " + getAmountOfFluidToGenerate() + "L of Air every " + getMaxTickTime() + " ticks"; - return aTooltip; - } - - @Override - public Fluid getFluidToGenerate() { - return FluidUtils.getAir(1) - .getFluid(); - } - - @Override - public int getAmountOfFluidToGenerate() { - return 1000; - } - - @Override - public int getMaxTickTime() { - return 4; - } - - @Override - public int getCapacity() { - return 128000; - } - - @Override - public boolean doesHatchMeetConditionsToGenerate() { - return this.getBaseMetaTileEntity() - .getAirAtSide( - this.getBaseMetaTileEntity() - .getFrontFacing()); - } - - @Override - public void generateParticles(World aWorld, String name) { - if (this.getBaseMetaTileEntity() - .isServerSide()) { - return; - } - final float ran1 = GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat(); - float ran2 = 0.0f; - float ran3 = 0.0f; - ran2 = GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat(); - ran3 = GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat(); - - final IGregTechTileEntity aMuffler = this.getBaseMetaTileEntity(); - final ForgeDirection aDir = aMuffler.getFrontFacing(); - final float xPos = aDir.offsetX * 0.76f + aMuffler.getXCoord() + 0.25f; - float yPos = aDir.offsetY * 0.76f + aMuffler.getYCoord() + 0.65f; - final float zPos = aDir.offsetZ * 0.76f + aMuffler.getZCoord() + 0.25f; - float ySpd = aDir.offsetY * 0.1f + 0.2f + 0.1f * GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat(); - float xSpd; - float zSpd; - if (aDir.offsetY == -1) { - // Logger.INFO("Y = -1"); - final float temp = GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat() * 2.0f * CORE.PI; - xSpd = (float) Math.sin(temp) * 0.1f; - zSpd = (float) Math.cos(temp) * 0.1f; - ySpd = -ySpd; - yPos = yPos - 0.8f; - } else { - xSpd = aDir.offsetX * (0.1f + 0.2f * GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat()); - zSpd = aDir.offsetZ * (0.1f + 0.2f * GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat()); - - xSpd = -xSpd; - zSpd = -zSpd; - } - - aWorld.spawnParticle( - name, - (double) (xPos + ran1 * 0.5f), - (double) (yPos + GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat() * 0.5f), - (double) (zPos + GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat() * 0.5f), - (double) xSpd, - (double) -ySpd, - (double) zSpd); - aWorld.spawnParticle( - name, - (double) (xPos + ran2 * 0.5f), - (double) (yPos + GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat() * 0.5f), - (double) (zPos + GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat() * 0.5f), - (double) xSpd, - (double) -ySpd, - (double) zSpd); - aWorld.spawnParticle( - name, - (double) (xPos + ran3 * 0.5f), - (double) (yPos + GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat() * 0.5f), - (double) (zPos + GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat() * 0.5f), - (double) xSpd, - (double) -ySpd, - (double) zSpd); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake_Extreme.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake_Extreme.java deleted file mode 100644 index 007310fc06..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake_Extreme.java +++ /dev/null @@ -1,37 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; - -public class GT_MetaTileEntity_Hatch_AirIntake_Extreme extends GT_MetaTileEntity_Hatch_AirIntake { - - public GT_MetaTileEntity_Hatch_AirIntake_Extreme(final int aID, final String aName, final String aNameRegional, - final int aTier) { - super(aID, aName, aNameRegional, aTier); - } - - public GT_MetaTileEntity_Hatch_AirIntake_Extreme(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_AirIntake_Extreme( - this.mName, - this.mTier, - this.mDescriptionArray, - this.mTextures); - } - - @Override - public int getAmountOfFluidToGenerate() { - return 8000; - } - - @Override - public int getCapacity() { - return 256000; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java deleted file mode 100644 index f375900800..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java +++ /dev/null @@ -1,67 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import gregtech.api.enums.GT_Values; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -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); - } - - @Override - public ITexture[] getTexturesActive(final ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, TexturesGtBlock.OVERLAYS_ENERGY_OUT_MULTI_BUFFER[this.mTier] }; - } - - @Override - public ITexture[] getTexturesInactive(final ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, TexturesGtBlock.OVERLAYS_ENERGY_OUT_MULTI_BUFFER[this.mTier] }; - } - - @Override - public long getMinimumStoredEU() { - return 0L; - } - - @Override - public long maxEUStore() { - return 512L + GT_Values.V[this.mTier + 1] * 2048L; - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_DynamoBuffer(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public String[] getDescription() { - String[] g; - g = new String[] { "Dynamo with internal storage and additional Amp capacity", - "Does not accept more than " + (this.maxEUOutput() * this.maxAmperesIn()) + "EU/t as input", - CORE.GT_Tooltip.get() }; - - return g; - } - - @Override - public long maxAmperesIn() { - return 4; - } - - @Override - public long maxAmperesOut() { - return 4; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java deleted file mode 100644 index 336c6eb011..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java +++ /dev/null @@ -1,229 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import java.util.ArrayList; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.SlotGroup; - -import gregtech.api.enums.ItemList; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.interfaces.IConfigurationCircuitSupport; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.objects.GT_RenderedTexture; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_Hatch_ElementalDataOrbHolder extends GT_MetaTileEntity_Hatch - implements IConfigurationCircuitSupport { - - public GT_MetaTileEntity_Hatch_ElementalDataOrbHolder(int aID, String aName, String aNameRegional, int aTier) { - super( - aID, - aName, - aNameRegional, - aTier, - 17, - new String[] { "Holds Data Orbs for the Elemental Duplicator", "Can insert/extract the circuit slot", - "A circuit must be used to select a slot (1-16)", CORE.GT_Tooltip.get() }); - } - - public GT_MetaTileEntity_Hatch_ElementalDataOrbHolder(String aName, int aTier, String aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, 17, aDescription, aTextures); - } - - public GT_MetaTileEntity_Hatch_ElementalDataOrbHolder(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, 17, aDescription, aTextures); - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Data_Orb) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Data_Orb) }; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_ElementalDataOrbHolder(mName, mTier, mDescriptionArray, mTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { - fillStacksIntoFirstSlots(); - } - } - - public void updateSlots() { - for (int i = 0; i < mInventory.length - 1; i++) - if (mInventory[i] != null && mInventory[i].stackSize <= 0) mInventory[i] = null; - fillStacksIntoFirstSlots(); - } - - protected void fillStacksIntoFirstSlots() { - for (int i = 0; i < mInventory.length - 1; i++) { - if (mInventory[i] != null && mInventory[i].stackSize <= 0) { - mInventory[i] = null; - } - } - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) {} - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - Logger.INFO("Checking if we can pull " + aStack.getDisplayName() + " from slot " + aIndex); - if (aIndex == mInventory.length - 1 && ItemUtils.isControlCircuit(aStack) - && side == getBaseMetaTileEntity().getFrontFacing()) { - return true; - } - return false; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - Logger.INFO("Checking if we can put " + aStack.getDisplayName() + " into slot " + aIndex); - if (aIndex == mInventory.length - 1 && ItemUtils.isControlCircuit(aStack) - && side == getBaseMetaTileEntity().getFrontFacing()) { - return true; - } - return false; - } - - public ArrayList getInventory() { - ArrayList aContents = new ArrayList<>(); - for (int i = getBaseMetaTileEntity().getSizeInventory() - 2; i >= 0; i--) { - if (getBaseMetaTileEntity().getStackInSlot(i) != null) - aContents.add(getBaseMetaTileEntity().getStackInSlot(i)); - } - return aContents; - } - - public ItemStack getOrbByCircuit() { - ItemStack aCirc = getBaseMetaTileEntity().getStackInSlot(getCircuitSlot()); - if (aCirc != null && ItemUtils.isControlCircuit(aCirc)) { - int slot = aCirc.getItemDamage() - 1; // slots are 0 indexed but there's no 0 circuit - if (slot < getBaseMetaTileEntity().getSizeInventory() - 1) { - return getBaseMetaTileEntity().getStackInSlot(slot); - } else { - return null; - } - } else { - return null; - } - } - - @Override - public boolean canInsertItem(int aIndex, ItemStack aStack, int ordinalSide) { - if (aIndex == mInventory.length - 1 && ItemUtils.isControlCircuit(aStack) - && ordinalSide == getBaseMetaTileEntity().getFrontFacing() - .ordinal()) { - Logger.INFO("Putting " + aStack.getDisplayName() + " into slot " + aIndex); - return true; - } - return false; - } - - @Override - public boolean canExtractItem(int aIndex, ItemStack aStack, int ordinalSide) { - if (aIndex == mInventory.length - 1 && ItemUtils.isControlCircuit(aStack)) { - Logger.INFO("Pulling " + aStack.getDisplayName() + " from slot " + aIndex); - return true; - } - return false; - } - - @Override - public boolean allowSelectCircuit() { - return true; - } - - @Override - public int getCircuitSlot() { - return getSlots(mTier); - } - - @Override - public int getCircuitSlotX() { - return 153; - } - - @Override - public int getCircuitSlotY() { - return 63; - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget( - SlotGroup.ofItemHandler(inventoryHandler, 4) - .startFromSlot(0) - .endAtSlot(15) - .background(getGUITextureSet().getItemSlot(), GT_UITextures.OVERLAY_SLOT_DATA_ORB) - .applyForWidget( - widget -> widget.setFilter(stack -> ItemList.Tool_DataOrb.isStackEqual(stack, false, true))) - .build() - .setPos(52, 7)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_FluidGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_FluidGenerator.java deleted file mode 100644 index b4e213e829..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_FluidGenerator.java +++ /dev/null @@ -1,255 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -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; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.objects.XSTR; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; - -public abstract class GT_MetaTileEntity_Hatch_FluidGenerator extends GT_MetaTileEntity_Hatch_Input { - - protected static XSTR floatGen = new XSTR(); - public int mProgresstime = 0, mMaxProgresstime = 0; - - public GT_MetaTileEntity_Hatch_FluidGenerator(final int aID, final String aName, final String aNameRegional, - final int aTier) { - super(aID, aName, aNameRegional, aTier); - } - - public GT_MetaTileEntity_Hatch_FluidGenerator(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - public abstract String[] getCustomTooltip(); - - public abstract Fluid getFluidToGenerate(); - - public abstract int getAmountOfFluidToGenerate(); - - public abstract int getMaxTickTime(); - - @Override - public synchronized String[] getDescription() { - mDescriptionArray[1] = "Capacity: " + GT_Utility.formatNumbers(getCapacity()) + "L"; - final String[] hatchTierString = new String[] { "Hatch Tier: " + GT_Utility.getColoredTierNameFromTier(mTier) }; - - String[] aCustomTips = getCustomTooltip(); - final String[] desc = new String[mDescriptionArray.length + aCustomTips.length + 2]; - System.arraycopy(mDescriptionArray, 0, desc, 0, mDescriptionArray.length); - System.arraycopy(hatchTierString, 0, desc, mDescriptionArray.length, 1); - System.arraycopy(aCustomTips, 0, desc, mDescriptionArray.length + 1, aCustomTips.length); - desc[mDescriptionArray.length + aCustomTips.length] = CORE.GT_Tooltip.get(); - return desc; - } - - @Override - public ITexture[] getTexturesActive(final ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, - new GT_RenderedTexture((IIconContainer) Textures.BlockIcons.OVERLAY_MUFFLER) }; - } - - @Override - public ITexture[] getTexturesInactive(final ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, - new GT_RenderedTexture((IIconContainer) Textures.BlockIcons.OVERLAY_MUFFLER) }; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return false; - } - - @Override - public abstract MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity); - - public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (!aBaseMetaTileEntity.isAllowedToWork()) { - aBaseMetaTileEntity.setActive(false); - mProgresstime = 0; - mMaxProgresstime = 0; - } else { - aBaseMetaTileEntity.setActive(true); - mMaxProgresstime = getMaxTickTime(); - if (++mProgresstime >= mMaxProgresstime) { - if (this.canTankBeFilled()) { - addFluidToHatch(aTick); - } - mProgresstime = 0; - } - } - } - - @Override - public int getProgresstime() { - return mProgresstime; - } - - @Override - public int maxProgresstime() { - return mMaxProgresstime; - } - - @Override - public int increaseProgress(int aProgress) { - mProgresstime += aProgress; - return mMaxProgresstime - mProgresstime; - } - - public abstract void generateParticles(final World aWorld, final String name); - - @Override - public int getTankPressure() { - return 100; - } - - @Override - public abstract int getCapacity(); - - @Override - public boolean canTankBeEmptied() { - return true; - } - - public abstract boolean doesHatchMeetConditionsToGenerate(); - - public boolean addFluidToHatch(long aTick) { - if (!doesHatchMeetConditionsToGenerate()) { - return false; - } - int aFillAmount = this.fill(FluidUtils.getFluidStack(getFluidToGenerate(), getAmountOfFluidToGenerate()), true); - if (aFillAmount > 0) { - if (this.getBaseMetaTileEntity() - .isClientSide()) { - generateParticles( - this.getBaseMetaTileEntity() - .getWorld(), - "cloud"); - } - } - return aFillAmount > 0; - } - - @Override - public boolean canTankBeFilled() { - return true; - } - - @Override - public boolean doesEmptyContainers() { - return false; - } - - @Override - public boolean doesFillContainers() { - return true; - } - - @Override - public int fill(FluidStack aFluid, boolean doFill) { - if (aFluid == null || aFluid.getFluid() - .getID() <= 0 || aFluid.amount <= 0 || aFluid.getFluid() != getFluidToGenerate() || !canTankBeFilled()) { - return 0; - } - - if (getFillableStack() == null || getFillableStack().getFluid() - .getID() <= 0) { - if (aFluid.amount <= getCapacity()) { - if (doFill) { - setFillableStack(aFluid.copy()); - getBaseMetaTileEntity().markDirty(); - } - return aFluid.amount; - } - if (doFill) { - setFillableStack(aFluid.copy()); - getFillableStack().amount = getCapacity(); - getBaseMetaTileEntity().markDirty(); - } - return getCapacity(); - } - - if (!getFillableStack().isFluidEqual(aFluid)) return 0; - - int space = getCapacity() - getFillableStack().amount; - if (aFluid.amount <= space) { - if (doFill) { - getFillableStack().amount += aFluid.amount; - getBaseMetaTileEntity().markDirty(); - } - return aFluid.amount; - } - if (doFill) getFillableStack().amount = getCapacity(); - return space; - } - - @Override - public boolean canFill(ForgeDirection aSide, Fluid aFluid) { - return false; - } - - @Override - public int fill(ForgeDirection arg0, FluidStack arg1, boolean arg2) { - return 0; - } - - @Override - public int fill_default(ForgeDirection aSide, FluidStack aFluid, boolean doFill) { - return 0; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("mProgresstime", mProgresstime); - aNBT.setInteger("mMaxProgresstime", mMaxProgresstime); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - mProgresstime = aNBT.getInteger("mProgresstime"); - mMaxProgresstime = aNBT.getInteger("mMaxProgresstime"); - super.loadNBTData(aNBT); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java deleted file mode 100644 index c55ddda47d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java +++ /dev/null @@ -1,235 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import static gregtech.api.enums.GT_Values.V; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; - -import gregtech.api.enums.GT_Values; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.gui.widget.ElectricSlotWidget; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_Hatch_InputBattery extends GT_MetaTileEntity_Hatch { - - public final RecipeMap mRecipeMap = null; - - public GT_MetaTileEntity_Hatch_InputBattery(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, getSlots(aTier), "Chargeable Item Bus for Multiblocks"); - } - - public GT_MetaTileEntity_Hatch_InputBattery(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 4 : 16, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - int mSlots = 0; - if (this.mTier == 2) { - mSlots = 4; - } else if (this.mTier == 4) { - mSlots = 16; - } else { - mSlots = 16; - } - return ArrayUtils.addAll(this.mDescriptionArray, "Capacity: " + mSlots + " slots", CORE.GT_Tooltip.get()); - } - - @Override - public boolean isEnetInput() { - return true; - } - - @Override - public boolean isInputFacing(ForgeDirection side) { - return side == getBaseMetaTileEntity().getFrontFacing(); - } - - @Override - public long getMinimumStoredEU() { - return 0; - } - - @Override - public long maxEUInput() { - return V[mTier]; - } - - @Override - public long maxEUStore() { - return 512 + V[mTier + 1] * 16; - } - - @Override - public long maxAmperesIn() { - return 4; - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Charger) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Charger) }; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_InputBattery(mName, mTier, mDescriptionArray, mTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { - fillStacksIntoFirstSlots(); - } - if (aBaseMetaTileEntity.isServerSide()) { - if (aBaseMetaTileEntity.getMetaTileEntity() instanceof MetaTileEntity mMetaTileEntity) { - if (mMetaTileEntity.rechargerSlotCount() > 0 && aBaseMetaTileEntity.getStoredEU() > 0) { - for (int i = mMetaTileEntity.rechargerSlotStartIndex(), - k = mMetaTileEntity.rechargerSlotCount() + i; i < k; i++) { - if (aBaseMetaTileEntity.getStoredEU() > 0 && mMetaTileEntity.mInventory[i] != null) { - for (int u = 0; u < 10; u++) { - aBaseMetaTileEntity.decreaseStoredEnergyUnits( - GT_ModHandler.chargeElectricItem( - mMetaTileEntity.mInventory[i], - (int) Math.min(V[this.mTier] * 15, aBaseMetaTileEntity.getStoredEU()), - (int) Math.min(Integer.MAX_VALUE, GT_Values.V[u]), - false, - false), - true); - if (mMetaTileEntity.mInventory[i].stackSize <= 0) { - mMetaTileEntity.mInventory[i] = null; - } - } - } - } - } else {} - } - } - super.onPostTick(aBaseMetaTileEntity, aTimer); - } - - public void updateSlots() { - for (int i = 0; i < mInventory.length; i++) - if (mInventory[i] != null && mInventory[i].stackSize <= 0) mInventory[i] = null; - fillStacksIntoFirstSlots(); - } - - protected void fillStacksIntoFirstSlots() { - for (int i = 0; i < mInventory.length; i++) - for (int j = i + 1; j < mInventory.length; j++) if (mInventory[j] != null - && (mInventory[i] == null || GT_Utility.areStacksEqual(mInventory[i], mInventory[j]))) { - GT_Utility.moveStackFromSlotAToSlotB( - getBaseMetaTileEntity(), - getBaseMetaTileEntity(), - j, - i, - (byte) 64, - (byte) 1, - (byte) 64, - (byte) 1); - } - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return side == getBaseMetaTileEntity().getFrontFacing() - && (mRecipeMap == null || mRecipeMap.containsInput(aStack)); - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return side == getBaseMetaTileEntity().getFrontFacing() - && (mRecipeMap == null || mRecipeMap.containsInput(aStack)); - } - - @Override - public int rechargerSlotStartIndex() { - return 0; - } - - @Override - public int rechargerSlotCount() { - return switch (mTier) { - case 2 -> 4; - case 4 -> 16; - default -> 16; - }; - } - - @Override - public int dechargerSlotStartIndex() { - return 0; - } - - @Override - public int dechargerSlotCount() { - return 0; - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - if (mTier == 2) { - for (int i = 0; i < 4; i++) { - builder - .widget(new ElectricSlotWidget(inventoryHandler, i).setPos(70 + (i % 2) * 18, 25 + (i / 2) * 18)); - } - } else { - for (int i = 0; i < 16; i++) { - builder.widget(new ElectricSlotWidget(inventoryHandler, i).setPos(52 + (i % 4) * 18, 7 + (i / 4) * 18)); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler_Adv.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler_Adv.java deleted file mode 100644 index a3261af6f6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler_Adv.java +++ /dev/null @@ -1,370 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.GT_Mod; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.gui.modularui.GUITextureSet; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.modularui.IAddGregtechLogo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_Config; -import gregtech.common.GT_Pollution; -import gtPlusPlus.core.item.general.ItemAirFilter; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_Hatch_Muffler_Adv extends GT_MetaTileEntity_Hatch_Muffler implements IAddGregtechLogo { - - protected int SLOT_FILTER = 0; - - @Override - public void onConfigLoad(GT_Config aConfig) { - super.onConfigLoad(aConfig); - try { - int a1 = GT_Mod.gregtechproxy.mPollutionSmogLimit; - if (a1 > 0) { - mPollutionSmogLimit = a1; - } - } catch (Throwable t) { - mPollutionSmogLimit = 500000; - } - } - - private int mPollutionSmogLimit = 500000; - - public GT_MetaTileEntity_Hatch_Muffler_Adv(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, 1, new String[] { "" }); - } - - public GT_MetaTileEntity_Hatch_Muffler_Adv(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, 1, aDescription, aTextures); - } - - final String[] mDescription = new String[] { "Outputs pollution from a multiblock", "DO NOT OBSTRUCT THE OUTPUT!", - "Requires 3 Air Blocks in front of the exhaust face", - mTier < 5 ? "Requires an Air Filter" - : "Requires an Air Filter " + EnumChatFormatting.WHITE + "[Tier 2]" + EnumChatFormatting.GRAY, - "Can take Air Filters from an input bus of the multiblock", - "Reduces Pollution to " + calculatePollutionReduction(100, true) + "%", - "Recovers " + (100 - calculatePollutionReduction(100, true)) + "% of CO2/CO/SO2", CORE.GT_Tooltip.get() }; - - @Override - public String[] getDescription() { - return mDescription; - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Muffler_Adv) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Muffler_Adv) }; - } - - @Override - public boolean isValidSlot(int aIndex) { - return aIndex == SLOT_FILTER; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return (aIndex == this.SLOT_FILTER && isAirFilter(aStack)); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_Muffler_Adv(this.mName, this.mTier, mDescriptionArray, this.mTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public boolean polluteEnvironment(MetaTileEntity parentTileEntity) { - if (!airCheck()) return false; // Muffler obstructed. - - int emission = 10000; - if (damageAirFilter(parentTileEntity)) { - // damageAirFilter already checks that we have a valid filter. - emission = calculatePollutionReduction(emission, true); - } else { - // Revert to reduction of the basic muffler. - emission = super.calculatePollutionReduction(emission); - } - GT_Pollution.addPollution(getBaseMetaTileEntity(), emission); - return true; - } - - @Override - public int calculatePollutionReduction(int aPollution) { - // This is called by EBF to calculate exhaust gas amounts, we need to check the filter. - return calculatePollutionReduction(aPollution, false); - } - - /** - * Calculates pollution reduction. - * - * @param aPollution Amount of pollution to be reduced. - * @param ignoreFilter If this is true, assumes that a valid filter is present without checking (for example, to - * build tooltips). - * @return Amount of pollution after reduction. - */ - protected int calculatePollutionReduction(int aPollution, boolean ignoreFilter) { - if (!ignoreFilter && !hasAirFilter()) { - // Without a filter, downgrade to basic muffler reduction. - return super.calculatePollutionReduction(aPollution); - } - - // Special case to be always better than a basic muffler. - if (mTier < 2) return (int) (aPollution * 0.95); - if (mTier > 8) return 0; - - return (int) (aPollution * Math.pow(0.64D, mTier - 1)); - } - - /** - * - * @return True if enough blocks in front of the muffler are air. - */ - private boolean airCheck() { - IGregTechTileEntity bmte = getBaseMetaTileEntity(); - ForgeDirection facing = bmte.getFrontFacing(); - return bmte.getAirAtSide(facing) && bmte.getAirAtSideAndDistance(facing, 1) - && bmte.getAirAtSideAndDistance(facing, 2); - } - - /** - * Try to damage an air filter. Will first try to find a valid filter in the hatch's own inventory, then in the - * input buses of the parent multiblock. If the filter is destroyed, will try to replace it from the parent - * multiblock's input buses again. - * - * @param parentTileEntity Which multiblock this hatch is a part of. If this is null, only checks inventory of the - * muffler. - * @return True if the filter has been successfully damaged. - */ - private boolean damageAirFilter(MetaTileEntity parentTileEntity) { - if (!findAirFilter(parentTileEntity)) return false; // No filter available. - - ItemStack filter = mInventory[SLOT_FILTER]; - if (filter == null) return false; // This should never happen if findAirFilter() above succeeded. - - long currentDamage = ItemAirFilter.getFilterDamage(filter); - if (currentDamage < ItemAirFilter.getFilterMaxDamage(filter) - 1) { - // Damage filter by one step. - ItemAirFilter.setFilterDamage(filter, currentDamage + 1); - return true; - } else { - // Destroy the filter. - mInventory[SLOT_FILTER] = null; - - // Try to find a new one. - findAirFilter(parentTileEntity); - - // Regardless of whether we have a new filter or not, *this* operation succeeded. - return true; - } - } - - /** - * Try to find a valid air filter in the input buses of the parent multiblock. - * - * @param parentTileEntity Which multiblock this hatch is a part of. If this is null, only checks inventory of the - * muffler. - * @return True if the inventory of the muffler already contains an air filter, or if one was retrieved from the - * parent multiblock. - */ - private boolean findAirFilter(MetaTileEntity parentTileEntity) { - if (hasAirFilter()) return true; // Has a filter in inventory. - if (mInventory[SLOT_FILTER] != null) return false; // Has a non-filter item in inventory. - if (parentTileEntity == null) return false; // Unknown parent multiblock. - - if (parentTileEntity instanceof GT_MetaTileEntity_MultiBlockBase GTMultiBase) { - for (var inputBus : GTMultiBase.mInputBusses) { - for (ItemStack stack : inputBus.mInventory) { - if (isAirFilter(stack)) { - ItemStack stackCopy = stack.copy(); - if (GTMultiBase.depleteInput(stack)) { - mInventory[SLOT_FILTER] = stackCopy; - return true; - } - } - } - } - } - - return false; - } - - /** - * - * @return True if the item currently in the inventory is an air filter valid for this tier of muffler hatch. - */ - private boolean hasAirFilter() { - return isAirFilter(mInventory[SLOT_FILTER]); - } - - /** - * - * @param filter - * @return True if the argument is an air filter valid for this tier of muffler hatch. - */ - public boolean isAirFilter(ItemStack filter) { - if (filter == null) return false; - if (filter.getItem() instanceof ItemAirFilter) { - if (mTier < 5) { - // Accept any filter. - return true; - } else { - // Accept only T2 filter. - return filter.getItemDamage() == 1; - } - } - return false; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - - if (aBaseMetaTileEntity.isClientSide()) { - if (this.getBaseMetaTileEntity() - .isActive()) { - String aParticleName; - if ((aTick % 2) == 0) { - aParticleName = "cloud"; - } else { - aParticleName = "smoke"; - } - this.pollutionParticles( - this.getBaseMetaTileEntity() - .getWorld(), - aParticleName); - } - } - } - - @Override - public void pollutionParticles(World aWorld, String name) { - float ran1 = CORE.RANDOM.nextFloat(); - float ran2 = 0.0F; - float ran3 = 0.0F; - boolean chk1 = ran1 * 100.0F < (float) this.calculatePollutionReduction(100); - boolean chk2; - boolean chk3; - int aPollutionAmount = PollutionUtils.getPollution(getBaseMetaTileEntity()); - if (aPollutionAmount >= mPollutionSmogLimit) { - ran2 = CORE.RANDOM.nextFloat(); - ran3 = CORE.RANDOM.nextFloat(); - chk2 = ran2 * 100.0F < (float) this.calculatePollutionReduction(100); - chk3 = ran3 * 100.0F < (float) this.calculatePollutionReduction(100); - if (!chk1 && !chk2 && !chk3) { - return; - } - } else { - if (!chk1) { - return; - } - - chk3 = false; - chk2 = false; - } - - IGregTechTileEntity aMuffler = this.getBaseMetaTileEntity(); - ForgeDirection aDir = aMuffler.getFrontFacing(); - float xPos = (float) aDir.offsetX * 0.76F + (float) aMuffler.getXCoord() + 0.25F; - float yPos = (float) aDir.offsetY * 0.76F + (float) aMuffler.getYCoord() + 0.25F; - float zPos = (float) aDir.offsetZ * 0.76F + (float) aMuffler.getZCoord() + 0.25F; - float ySpd = (float) aDir.offsetY * 0.1F + 0.2F + 0.1F * CORE.RANDOM.nextFloat(); - float xSpd; - float zSpd; - if (aDir.offsetY == -1) { - float temp = CORE.RANDOM.nextFloat() * 2.0F * CORE.PI; - xSpd = (float) Math.sin((double) temp) * 0.1F; - zSpd = (float) Math.cos((double) temp) * 0.1F; - } else { - xSpd = (float) aDir.offsetX * (0.1F + 0.2F * CORE.RANDOM.nextFloat()); - zSpd = (float) aDir.offsetZ * (0.1F + 0.2F * CORE.RANDOM.nextFloat()); - } - - if (chk1) { - aWorld.spawnParticle( - name, - (double) (xPos + ran1 * 0.5F), - (double) (yPos + CORE.RANDOM.nextFloat() * 0.5F), - (double) (zPos + CORE.RANDOM.nextFloat() * 0.5F), - (double) xSpd, - (double) ySpd, - (double) zSpd); - } - - if (chk2) { - aWorld.spawnParticle( - name, - (double) (xPos + ran2 * 0.5F), - (double) (yPos + CORE.RANDOM.nextFloat() * 0.5F), - (double) (zPos + CORE.RANDOM.nextFloat() * 0.5F), - (double) xSpd, - (double) ySpd, - (double) zSpd); - } - - if (chk3) { - aWorld.spawnParticle( - name, - (double) (xPos + ran3 * 0.5F), - (double) (yPos + CORE.RANDOM.nextFloat() * 0.5F), - (double) (zPos + CORE.RANDOM.nextFloat() * 0.5F), - (double) xSpd, - (double) ySpd, - (double) zSpd); - } - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addGregTechLogo(ModularWindow.Builder builder) {} - - @Override - public GUITextureSet getGUITextureSet() { - return new GUITextureSet().setMainBackground(GTPP_UITextures.BACKGROUND_YELLOW) - .setItemSlot(GTPP_UITextures.SLOT_ITEM_YELLOW) - .setTitleTab( - GTPP_UITextures.TAB_TITLE_YELLOW, - GTPP_UITextures.TAB_TITLE_DARK_YELLOW, - GTPP_UITextures.TAB_TITLE_ANGULAR_YELLOW); - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget( - new SlotWidget(inventoryHandler, 0).setFilter(stack -> stack.getItem() instanceof ItemAirFilter) - .setBackground(getGUITextureSet().getItemSlot()) - .setPos(79, 34)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Naquadah.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Naquadah.java deleted file mode 100644 index ad94907d4c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Naquadah.java +++ /dev/null @@ -1,203 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import java.lang.reflect.Field; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.Textures; -import gregtech.api.enums.Textures.BlockIcons; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class GT_MetaTileEntity_Hatch_Naquadah extends GT_MetaTileEntity_Hatch_Input { - - public final FluidStack[] mFluidsToUse = new FluidStack[3]; - public final int mFluidCapacity; - - public GT_MetaTileEntity_Hatch_Naquadah(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional, 6); - mFluidCapacity = 32000; - initHatch(); - } - - public GT_MetaTileEntity_Hatch_Naquadah(final String aName, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, 6, aDescription[0], aTextures); - mFluidCapacity = 32000; - initHatch(); - } - - private void initHatch() { - if (mFluidsToUse[0] == null) { - mFluidsToUse[0] = Materials.Naquadah.getMolten(1); - } - if (mFluidsToUse[1] == null) { - mFluidsToUse[1] = Materials.NaquadahEnriched.getMolten(1); - } - if (mFluidsToUse[2] == null) { - mFluidsToUse[2] = Materials.Naquadria.getMolten(1); - } - } - - @Override - public ITexture[] getTexturesActive(final ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, - new GT_RenderedTexture((IIconContainer) Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_SIDE_ACTIVE) }; - } - - @Override - public ITexture[] getTexturesInactive(final ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, - new GT_RenderedTexture((IIconContainer) Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_SIDE) }; - } - - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - if (side == aBaseMetaTileEntity.getFrontFacing() && aIndex == 0) { - for (FluidStack f : mFluidsToUse) { - if (f != null) { - if (GT_Utility.getFluidForFilledItem(aStack, true) - .getFluid() == f.getFluid()) { - return true; - } - } - } - } - return false; - } - - @Override - public boolean isFluidInputAllowed(final FluidStack aFluid) { - for (FluidStack f : mFluidsToUse) { - if (f != null) { - if (aFluid.getFluid() == f.getFluid()) { - return true; - } - } - } - return false; - } - - @Override - public int getCapacity() { - return this.mFluidCapacity; - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_Naquadah(this.mName, this.mDescriptionArray, this.mTextures); - } - - @Override - public String[] getDescription() { - if (aDescCache[0] == null || aDescCache[0].contains(".name") || aDescCache[0].contains("fluid.")) { - aDescCache[0] = formatFluidString(this.mFluidsToUse[0]); - } - if (aDescCache[1] == null || aDescCache[1].contains(".name") || aDescCache[1].contains("fluid.")) { - aDescCache[1] = formatFluidString(this.mFluidsToUse[1]); - } - if (aDescCache[2] == null || aDescCache[2].contains(".name") || aDescCache[2].contains("fluid.")) { - aDescCache[2] = formatFluidString(this.mFluidsToUse[2]); - } - String aNaq = aDescCache[0]; - String aEnrNaq = aDescCache[1]; - String aNaquad = aDescCache[2]; - String[] s2 = new String[] { "Fluid Input for Multiblocks", "Capacity: " + getCapacity() + "L", - "Accepted Fluid: " + aNaq, "Accepted Fluid: " + aEnrNaq, "Accepted Fluid: " + aNaquad, - CORE.GT_Tooltip.get() }; - return s2; - } - - private static String[] aDescCache = new String[3]; - - private String formatFluidString(FluidStack f) { - FluidStack mLockedStack = f; - Integer mLockedTemp = 0;; - String mTempMod = "" + EnumChatFormatting.RESET; - mLockedTemp = mLockedStack.getFluid() - .getTemperature(); - if (mLockedTemp != null) { - if (mLockedTemp <= -3000) { - mTempMod = "" + EnumChatFormatting.DARK_PURPLE; - } else if (mLockedTemp >= -2999 && mLockedTemp <= -500) { - mTempMod = "" + EnumChatFormatting.DARK_BLUE; - } else if (mLockedTemp >= -499 && mLockedTemp <= -50) { - mTempMod = "" + EnumChatFormatting.BLUE; - } else if (mLockedTemp >= 30 && mLockedTemp <= 300) { - mTempMod = "" + EnumChatFormatting.AQUA; - } else if (mLockedTemp >= 301 && mLockedTemp <= 800) { - mTempMod = "" + EnumChatFormatting.YELLOW; - } else if (mLockedTemp >= 801 && mLockedTemp <= 1500) { - mTempMod = "" + EnumChatFormatting.GOLD; - } else if (mLockedTemp >= 1501) { - mTempMod = "" + EnumChatFormatting.RED; - } - } - return mTempMod + mLockedStack.getLocalizedName(); - } - - @Override - public boolean doesFillContainers() { - return false; - } - - @Override - public ITexture[][][] getTextureSet(ITexture[] aTextures) { - // TODO Auto-generated method stub - return super.getTextureSet(aTextures); - } - - private Field F1, F2; - - @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection facing, - int aColorIndex, boolean aActive, boolean aRedstone) { - byte a1 = 0, a2 = 0; - try { - if (F1 == null) { - F1 = ReflectionUtils.getField(getClass(), "actualTexture"); - } - if (F2 == null) { - F2 = ReflectionUtils.getField(getClass(), "mTexturePage"); - } - - if (F1 != null) { - a1 = F1.getByte(this); - } - if (F2 != null) { - a2 = F2.getByte(this); - } - } catch (IllegalArgumentException | IllegalAccessException n) {} - - int textureIndex = a1 | a2 << 7; - byte texturePointer = (byte) (a1 & 127); - - if (side == ForgeDirection.UP || side == ForgeDirection.DOWN) { - ITexture g = textureIndex > 0 ? BlockIcons.casingTexturePages[a2][texturePointer] - : BlockIcons.MACHINE_CASINGS[this.mTier][aColorIndex + 1]; - - return new ITexture[] { g, - new GT_RenderedTexture((IIconContainer) Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_TOP_ACTIVE) }; - } - - return side != facing - ? (textureIndex > 0 ? new ITexture[] { BlockIcons.casingTexturePages[a2][texturePointer] } - : new ITexture[] { BlockIcons.MACHINE_CASINGS[this.mTier][aColorIndex + 1] }) - : (textureIndex > 0 - ? (aActive ? this.getTexturesActive(BlockIcons.casingTexturePages[a2][texturePointer]) - : this.getTexturesInactive(BlockIcons.casingTexturePages[a2][texturePointer])) - : (aActive ? this.getTexturesActive(BlockIcons.MACHINE_CASINGS[this.mTier][aColorIndex + 1]) - : this.getTexturesInactive(BlockIcons.MACHINE_CASINGS[this.mTier][aColorIndex + 1]))); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java deleted file mode 100644 index 58dc7ec380..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java +++ /dev/null @@ -1,222 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import static gregtech.api.enums.GT_Values.V; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; - -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -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.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.gui.widget.ElectricSlotWidget; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_Hatch_OutputBattery extends GT_MetaTileEntity_Hatch { - - public GT_MetaTileEntity_Hatch_OutputBattery(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, getSlots(aTier), "Dischargeable Item Bus for Multiblocks"); - } - - public GT_MetaTileEntity_Hatch_OutputBattery(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - int mSlots = 0; - if (this.mTier == 2) { - mSlots = 4; - } else if (this.mTier == 4) { - mSlots = 16; - } else { - mSlots = 16; - } - return ArrayUtils.addAll(this.mDescriptionArray, "Capacity: " + mSlots + " slots", CORE.GT_Tooltip.get()); - } - - @Override - public boolean isEnetOutput() { - return true; - } - - @Override - public boolean isOutputFacing(ForgeDirection side) { - return side == getBaseMetaTileEntity().getFrontFacing(); - } - - @Override - public long getMinimumStoredEU() { - return 0; - } - - @Override - public long maxEUOutput() { - return V[mTier]; - } - - @Override - public long maxEUStore() { - return 512 + V[mTier + 1] * 8; - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Discharger) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Discharger) }; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_OutputBattery(mName, mTier, mDescriptionArray, mTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return side == aBaseMetaTileEntity.getFrontFacing(); - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return side == aBaseMetaTileEntity.getFrontFacing(); - } - - public void updateSlots() { - for (int i = 0; i < mInventory.length; i++) - if (mInventory[i] != null && mInventory[i].stackSize <= 0) mInventory[i] = null; - fillStacksIntoFirstSlots(); - } - - protected void fillStacksIntoFirstSlots() { - for (int i = 0; i < mInventory.length; i++) - for (int j = i + 1; j < mInventory.length; j++) if (mInventory[j] != null - && (mInventory[i] == null || GT_Utility.areStacksEqual(mInventory[i], mInventory[j]))) { - GT_Utility.moveStackFromSlotAToSlotB( - getBaseMetaTileEntity(), - getBaseMetaTileEntity(), - j, - i, - (byte) 64, - (byte) 1, - (byte) 64, - (byte) 1); - } - } - - @Override - public int rechargerSlotStartIndex() { - return 0; - } - - @Override - public int rechargerSlotCount() { - return 0; - } - - @Override - public int dechargerSlotStartIndex() { - return 0; - } - - @Override - public int dechargerSlotCount() { - return mTier == 2 ? 4 : 16; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { - fillStacksIntoFirstSlots(); - } - - if (aBaseMetaTileEntity.isServerSide()) { - if (aBaseMetaTileEntity.getMetaTileEntity() instanceof MetaTileEntity mMetaTileEntity) { - if (mMetaTileEntity.dechargerSlotCount() > 0 - && mMetaTileEntity.getEUVar() < aBaseMetaTileEntity.getEUCapacity()) { - 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); - if (mMetaTileEntity.mInventory[i].stackSize <= 0) mMetaTileEntity.mInventory[i] = null; - } - } - } - } - } - super.onPostTick(aBaseMetaTileEntity, aTimer); - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - if (mTier == 2) { - for (int i = 0; i < 4; i++) { - builder - .widget(new ElectricSlotWidget(inventoryHandler, i).setPos(70 + (i % 2) * 18, 25 + (i / 2) * 18)); - } - } else { - for (int i = 0; i < 16; i++) { - builder.widget(new ElectricSlotWidget(inventoryHandler, i).setPos(52 + (i % 4) * 18, 7 + (i / 4) * 18)); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Reservoir.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Reservoir.java deleted file mode 100644 index bfe8290240..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Reservoir.java +++ /dev/null @@ -1,75 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import net.minecraft.world.World; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; - -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_Hatch_Reservoir extends GT_MetaTileEntity_Hatch_FluidGenerator { - - public GT_MetaTileEntity_Hatch_Reservoir(final int aID, final String aName, final String aNameRegional, - final int aTier) { - super(aID, aName, aNameRegional, aTier); - } - - public GT_MetaTileEntity_Hatch_Reservoir(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_Reservoir(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public String[] getCustomTooltip() { - String[] aTooltip = new String[2]; - aTooltip[0] = "Infinite water supply hatch"; - aTooltip[1] = "Fills to max capacity every 5 seconds"; - return aTooltip; - } - - @Override - public Fluid getFluidToGenerate() { - return FluidRegistry.WATER; - } - - @Override - public int getAmountOfFluidToGenerate() { - return 2_000_000_000; - } - - @Override - public int getMaxTickTime() { - return 100; - } - - @Override - public int getCapacity() { - return 2_000_000_000; - } - - @Override - public boolean doesHatchMeetConditionsToGenerate() { - return true; - } - - @Override - public void generateParticles(World aWorld, String name) {} - - @Override - public ITexture[] getTexturesActive(final ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Water) }; - } - - @Override - public ITexture[] getTexturesInactive(final ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Water) }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Solidifier.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Solidifier.java deleted file mode 100644 index 94c28877d8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Solidifier.java +++ /dev/null @@ -1,72 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.util.GT_Utility; - -public class GT_MetaTileEntity_Hatch_Solidifier extends GT_MetaTileEntity_Hatch_Input { - - static final int moldSlot = 2; - - public GT_MetaTileEntity_Hatch_Solidifier(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier); - } - - @Override - public String[] getDescription() { - return new String[] { - "Fluid Input with Mold for " + EnumChatFormatting.YELLOW - + "Large Processing Factory" - + EnumChatFormatting.RESET, - "#22 Circuit is imprinted in Hatch", "Capacity: " + GT_Utility.formatNumbers(getCapacity()) + "L", - "Added by: " + EnumChatFormatting.AQUA - + "Quetz4l" - + " - " - + EnumChatFormatting.RED - + "[GT++]" - + EnumChatFormatting.RESET }; - } - - public GT_MetaTileEntity_Hatch_Solidifier(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, getSlots(aTier), aTier, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_Solidifier(mName, mTier, mDescriptionArray, mTextures); - } - - public ItemStack getMold() { - return this.getStackInSlot(moldSlot); - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - super.addUIWidgets(builder, buildContext); - builder.widget( - new SlotWidget(inventoryHandler, moldSlot).setPos(125, 35) - .setSize(18, 18)); - } - - @Override - public void onBlockDestroyed() { - super.onBlockDestroyed(); - } - - // for a drop-down form when the hatch is destroyed - @Override - public boolean isValidSlot(int aIndex) { - if (aIndex == moldSlot) return true; - else return super.isValidSlot(aIndex); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusInput.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusInput.java deleted file mode 100644 index 5cc1e64d13..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusInput.java +++ /dev/null @@ -1,279 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import static gregtech.api.enums.Textures.BlockIcons.ITEM_IN_SIGN; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_PIPE_IN; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; - -import gregtech.GT_Mod; -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; - -public class GT_MetaTileEntity_Hatch_Steam_BusInput extends GT_MetaTileEntity_Hatch { - - public RecipeMap mRecipeMap = null; - public boolean disableSort; - - public GT_MetaTileEntity_Hatch_Steam_BusInput(int aID, String aName, String aNameRegional, int aTier) { - super( - aID, - aName, - aNameRegional, - aTier, - getSlots(aTier), - new String[] { "Item Input for Steam Multiblocks", - "Shift + right click with screwdriver to toggle automatic item shuffling", "Capacity: 4 stacks", - "Does not work with non-steam multiblocks", CORE.GT_Tooltip.get() }); - } - - public GT_MetaTileEntity_Hatch_Steam_BusInput(String aName, int aTier, String aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, 4, aDescription, aTextures); - } - - public GT_MetaTileEntity_Hatch_Steam_BusInput(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, 4, aDescription, aTextures); - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return GT_Mod.gregtechproxy.mRenderIndicatorsOnHatch - ? new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN), TextureFactory.of(ITEM_IN_SIGN) } - : new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return GT_Mod.gregtechproxy.mRenderIndicatorsOnHatch - ? new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN), TextureFactory.of(ITEM_IN_SIGN) } - : new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN) }; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_Steam_BusInput(mName, mTier, mDescriptionArray, mTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { - fillStacksIntoFirstSlots(); - } - } - - public void updateSlots() { - for (int i = 0; i < mInventory.length; i++) - if (mInventory[i] != null && mInventory[i].stackSize <= 0) mInventory[i] = null; - fillStacksIntoFirstSlots(); - } - - protected void fillStacksIntoFirstSlots() { - if (disableSort) { - for (int i = 0; i < mInventory.length; i++) - if (mInventory[i] != null && mInventory[i].stackSize <= 0) mInventory[i] = null; - } else { - for (int i = 0; i < mInventory.length; i++) - for (int j = i + 1; j < mInventory.length; j++) if (mInventory[j] != null - && (mInventory[i] == null || GT_Utility.areStacksEqual(mInventory[i], mInventory[j]))) - GT_Utility.moveStackFromSlotAToSlotB( - getBaseMetaTileEntity(), - getBaseMetaTileEntity(), - j, - i, - (byte) 64, - (byte) 1, - (byte) 64, - (byte) 1); - } - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("disableSort", disableSort); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - disableSort = aNBT.getBoolean("disableSort"); - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (aPlayer.isSneaking()) { - disableSort = !disableSort; - GT_Utility.sendChatToPlayer( - aPlayer, - GT_Utility.trans("200.1", "Automatic Item Shuffling: ") - + (disableSort ? GT_Utility.trans("087", "Disabled") : GT_Utility.trans("088", "Enabled"))); - } - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return side == getBaseMetaTileEntity().getFrontFacing() - && (mRecipeMap == null || mRecipeMap.containsInput(aStack)); - } - - @Override - public ITexture[][][] getTextureSet(ITexture[] aTextures) { - ITexture[][][] rTextures = new ITexture[14][17][]; - for (byte c = -1; c < 16; c++) { - if (rTextures[0][c + 1] == null) rTextures[0][c + 1] = getSideFacingActive(c); - if (rTextures[1][c + 1] == null) rTextures[1][c + 1] = getSideFacingInactive(c); - if (rTextures[2][c + 1] == null) rTextures[2][c + 1] = getFrontFacingActive(c); - if (rTextures[3][c + 1] == null) rTextures[3][c + 1] = getFrontFacingInactive(c); - if (rTextures[4][c + 1] == null) rTextures[4][c + 1] = getTopFacingActive(c); - if (rTextures[5][c + 1] == null) rTextures[5][c + 1] = getTopFacingInactive(c); - if (rTextures[6][c + 1] == null) rTextures[6][c + 1] = getBottomFacingActive(c); - if (rTextures[7][c + 1] == null) rTextures[7][c + 1] = getBottomFacingInactive(c); - if (rTextures[8][c + 1] == null) rTextures[8][c + 1] = getBottomFacingPipeActive(c); - if (rTextures[9][c + 1] == null) rTextures[9][c + 1] = getBottomFacingPipeInactive(c); - if (rTextures[10][c + 1] == null) rTextures[10][c + 1] = getTopFacingPipeActive(c); - if (rTextures[11][c + 1] == null) rTextures[11][c + 1] = getTopFacingPipeInactive(c); - if (rTextures[12][c + 1] == null) rTextures[12][c + 1] = getSideFacingPipeActive(c); - if (rTextures[13][c + 1] == null) rTextures[13][c + 1] = getSideFacingPipeInactive(c); - } - return rTextures; - } - - public ITexture[] getSideFacingActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getSideFacingInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getFrontFacingActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getFrontFacingInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getTopFacingActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP) }; - } - - public ITexture[] getTopFacingInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP) }; - } - - public ITexture[] getBottomFacingActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM) }; - } - - public ITexture[] getBottomFacingInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM) }; - } - - public ITexture[] getBottomFacingPipeActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getBottomFacingPipeInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getTopFacingPipeActive(byte aColor) { - return new ITexture[] { - new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getTopFacingPipeInactive(byte aColor) { - return new ITexture[] { - new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getSideFacingPipeActive(byte aColor) { - return new ITexture[] { - new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getSideFacingPipeInactive(byte aColor) { - return new ITexture[] { - new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - getBaseMetaTileEntity().add2by2Slots(builder); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusOutput.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusOutput.java deleted file mode 100644 index 1d4dbc8987..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusOutput.java +++ /dev/null @@ -1,215 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import static gregtech.api.enums.Textures.BlockIcons.ITEM_OUT_SIGN; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_PIPE_OUT; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; - -import gregtech.GT_Mod; -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.render.TextureFactory; -import gtPlusPlus.core.lib.CORE; - -public class GT_MetaTileEntity_Hatch_Steam_BusOutput extends GT_MetaTileEntity_Hatch { - - public GT_MetaTileEntity_Hatch_Steam_BusOutput(int aID, String aName, String aNameRegional, int aTier) { - super( - aID, - aName, - aNameRegional, - aTier, - 4, - new String[] { "Item Output for Steam Multiblocks", "Does not automatically export items", - "Capacity: 4 stacks", "Does not work with non-steam multiblocks", CORE.GT_Tooltip.get() }); - } - - public GT_MetaTileEntity_Hatch_Steam_BusOutput(String aName, int aTier, String aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, 4, aDescription, aTextures); - } - - public GT_MetaTileEntity_Hatch_Steam_BusOutput(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, 4, aDescription, aTextures); - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return GT_Mod.gregtechproxy.mRenderIndicatorsOnHatch - ? new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_OUT), TextureFactory.of(ITEM_OUT_SIGN) } - : new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_OUT) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return GT_Mod.gregtechproxy.mRenderIndicatorsOnHatch - ? new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_OUT), TextureFactory.of(ITEM_OUT_SIGN) } - : new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_OUT) }; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_Steam_BusOutput(mName, mTier, mDescriptionArray, mTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return side == aBaseMetaTileEntity.getFrontFacing(); - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public ITexture[][][] getTextureSet(ITexture[] aTextures) { - ITexture[][][] rTextures = new ITexture[14][17][]; - for (byte c = -1; c < 16; c++) { - if (rTextures[0][c + 1] == null) rTextures[0][c + 1] = getSideFacingActive(c); - if (rTextures[1][c + 1] == null) rTextures[1][c + 1] = getSideFacingInactive(c); - if (rTextures[2][c + 1] == null) rTextures[2][c + 1] = getFrontFacingActive(c); - if (rTextures[3][c + 1] == null) rTextures[3][c + 1] = getFrontFacingInactive(c); - if (rTextures[4][c + 1] == null) rTextures[4][c + 1] = getTopFacingActive(c); - if (rTextures[5][c + 1] == null) rTextures[5][c + 1] = getTopFacingInactive(c); - if (rTextures[6][c + 1] == null) rTextures[6][c + 1] = getBottomFacingActive(c); - if (rTextures[7][c + 1] == null) rTextures[7][c + 1] = getBottomFacingInactive(c); - if (rTextures[8][c + 1] == null) rTextures[8][c + 1] = getBottomFacingPipeActive(c); - if (rTextures[9][c + 1] == null) rTextures[9][c + 1] = getBottomFacingPipeInactive(c); - if (rTextures[10][c + 1] == null) rTextures[10][c + 1] = getTopFacingPipeActive(c); - if (rTextures[11][c + 1] == null) rTextures[11][c + 1] = getTopFacingPipeInactive(c); - if (rTextures[12][c + 1] == null) rTextures[12][c + 1] = getSideFacingPipeActive(c); - if (rTextures[13][c + 1] == null) rTextures[13][c + 1] = getSideFacingPipeInactive(c); - } - return rTextures; - } - - public ITexture[] getSideFacingActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getSideFacingInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getFrontFacingActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getFrontFacingInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE) }; - } - - public ITexture[] getTopFacingActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP) }; - } - - public ITexture[] getTopFacingInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP) }; - } - - public ITexture[] getBottomFacingActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM) }; - } - - public ITexture[] getBottomFacingInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM) }; - } - - public ITexture[] getBottomFacingPipeActive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getBottomFacingPipeInactive(byte aColor) { - return new ITexture[] { new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM : Textures.BlockIcons.MACHINE_BRONZE_BOTTOM), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getTopFacingPipeActive(byte aColor) { - return new ITexture[] { - new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getTopFacingPipeInactive(byte aColor) { - return new ITexture[] { - new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP : Textures.BlockIcons.MACHINE_BRONZE_TOP), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getSideFacingPipeActive(byte aColor) { - return new ITexture[] { - new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - public ITexture[] getSideFacingPipeInactive(byte aColor) { - return new ITexture[] { - new GT_RenderedTexture( - mTier == 1 ? Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE : Textures.BlockIcons.MACHINE_BRONZE_SIDE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) }; - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - getBaseMetaTileEntity().add2by2Slots(builder); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Turbine.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Turbine.java deleted file mode 100644 index ed3101f309..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Turbine.java +++ /dev/null @@ -1,435 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE5; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.Materials; -import gregtech.api.enums.SoundResource; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.objects.GT_ItemStack; -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.lib.CORE; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines.GregtechMetaTileEntity_LargerTurbineBase; - -@SuppressWarnings("deprecation") -public class GT_MetaTileEntity_Hatch_Turbine extends GT_MetaTileEntity_Hatch { - - public boolean mHasController = false; - public boolean mUsingAnimation = true; - private String mControllerLocation; - public int mEUt = 0; - - public GT_MetaTileEntity_Hatch_Turbine(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, 16, "Turbine Rotor holder for XL Turbines"); - } - - public GT_MetaTileEntity_Hatch_Turbine(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { - super(aName, aTier, 1, aDescription, aTextures); - } - - public GT_MetaTileEntity_Hatch_Turbine(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, 1, aDescription[0], aTextures); - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll( - this.mDescriptionArray, - "Right Click with a soldering iron to reset controller link", - "Right Click with a wrench to remove turbine", - "Right Click with a screwdriver for technical information", - "Sneak + Right Click with a wrench to rotate", - "Sneak + Right Click with a screwdriver to disable animations", - CORE.GT_Tooltip.get()); - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, getFrontFacingTurbineTexture() }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, getFrontFacingTurbineTexture() }; - } - - public int getEU() { - return this.mEUt; - } - - public void setEU(int aEU) { - this.mEUt = aEU; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return facing.offsetY == 0; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(int aIndex) { - return false; - } - - public boolean hasTurbine() { - ItemStack aStack = this.mInventory[0]; - boolean aIsValid = GregtechMetaTileEntity_LargerTurbineBase.isValidTurbine(aStack); - return aIsValid; - } - - public ItemStack getTurbine() { - if (hasTurbine()) { - return this.mInventory[0]; - } - return null; - } - - public boolean canWork() { - return hasTurbine(); - } - - public boolean insertTurbine(ItemStack aTurbine) { - if (GregtechMetaTileEntity_LargerTurbineBase.isValidTurbine(aTurbine)) { - this.mInventory[0] = aTurbine; - return true; - } - return false; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_Turbine(mName, mTier, mDescriptionArray, mTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public int getInventoryStackLimit() { - return 1; - } - - public void damageTurbine(int aEUt, int damageFactorLow, float damageFactorHigh) { - damageTurbine((long) aEUt, damageFactorLow, damageFactorHigh); - } - - public void damageTurbine(long aEUt, int damageFactorLow, float damageFactorHigh) { - if (hasTurbine() && MathUtils.randInt(0, 1) == 0) { - ItemStack aTurbine = getTurbine(); - ((GT_MetaGenerated_Tool) aTurbine.getItem()).doDamage( - aTurbine, - (long) getDamageToComponent(aTurbine) - * (long) Math.min((float) aEUt / (float) damageFactorLow, Math.pow(aEUt, damageFactorHigh))); - } - } - - private int getDamageToComponent(ItemStack aStack) { - return 1; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("mHasController", mHasController); - aNBT.setBoolean("mUsingAnimation", mUsingAnimation); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - mHasController = aNBT.getBoolean("mHasController"); - mUsingAnimation = aNBT.getBoolean("mUsingAnimation"); - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (this.mHasController) { - if (aTick % 20 == 0) { - if (isControllerActive()) { - this.getBaseMetaTileEntity() - .setActive(true); - } else { - this.getBaseMetaTileEntity() - .setActive(false); - } - } - } else if (!this.mHasController && this.mControllerLocation != null) { - // Weird Invalid State - if (setController(BlockPos.generateBlockPos(mControllerLocation))) { - // Valid - } - } else { - // No Controller - } - if (this.mInventory[0] != null && this.mInventory[0].stackSize <= 0) this.mInventory[0] = null; - } - - public boolean isControllerActive() { - GregtechMetaTileEntity_LargerTurbineBase x = getController(); - if (x != null) { - // Logger.INFO("Checking Status of Controller. Running? "+(x.mEUt > 0)); - return x.lEUt > 0; - } - // Logger.INFO("Status of Controller failed, controller is null."); - return false; - } - - public GregtechMetaTileEntity_LargerTurbineBase getController() { - if (this.mHasController && this.mControllerLocation != null && this.mControllerLocation.length() > 0) { - BlockPos p = BlockPos.generateBlockPos(mControllerLocation); - if (p != null) { - // Logger.INFO(p.getLocationString()); - IGregTechTileEntity tTileEntity = getBaseMetaTileEntity() - .getIGregTechTileEntity(p.xPos, p.yPos, p.zPos); - if (tTileEntity != null - && tTileEntity.getMetaTileEntity() instanceof GregtechMetaTileEntity_LargerTurbineBase) { - return (GregtechMetaTileEntity_LargerTurbineBase) tTileEntity.getMetaTileEntity(); - } else { - if (tTileEntity == null) { - Logger.INFO("Controller MTE is null, somehow?"); - } else { - Logger.INFO("Controller is a different MTE to expected"); - } - } - } - } - // Logger.INFO("Failed to Get Controller."); - return null; - } - - public boolean canSetNewController() { - if ((mControllerLocation != null && mControllerLocation.length() > 0) || this.mHasController) { - return false; - } - return true; - } - - public boolean setController(BlockPos aPos) { - clearController(); - if (canSetNewController()) { - mControllerLocation = aPos.getUniqueIdentifier(); - mHasController = true; - Logger.INFO("Successfully injected controller into this Turbine Assembly Hatch."); - } - return mHasController; - } - - public void clearController() { - this.mControllerLocation = null; - this.mHasController = false; - } - - public boolean usingAnimations() { - return mUsingAnimation; - } - - private ITexture getFrontFacingTurbineTexture() { - if (!mHasController) { - return this.getBaseMetaTileEntity() - .isActive() ? new GT_RenderedTexture(LARGETURBINE_ST_ACTIVE5) - : new GT_RenderedTexture(LARGETURBINE_ST5); - } else { - if (usingAnimations()) { - if (isControllerActive()) { - return getController().frontFaceActive; - } - } - return getController().frontFace; - } - } - - @Override - public long getMinimumStoredEU() { - return 0; - } - - @Override - public boolean isItemValidForSlot(int aIndex, ItemStack aStack) { - return false; - } - - @Override - public int[] getAccessibleSlotsFromSide(int ordinalSide) { - return new int[] {}; - } - - @Override - public boolean canInsertItem(int aIndex, ItemStack aStack, int ordinalSide) { - return false; - } - - public void setActive(boolean b) { - this.getBaseMetaTileEntity() - .setActive(b); - } - - @Override - public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aStack) { - return false; - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (!aPlayer.isSneaking()) { - PlayerUtils.messagePlayer(aPlayer, "Using Animations? " + usingAnimations()); - PlayerUtils.messagePlayer(aPlayer, "Has Controller? " + this.mHasController); - if (mHasController) { - PlayerUtils.messagePlayer( - aPlayer, - "Controller Location: " + BlockPos.generateBlockPos(mControllerLocation) - .getLocationString()); - PlayerUtils.messagePlayer(aPlayer, "Controller Active? " + this.isControllerActive()); - } - PlayerUtils.messagePlayer( - aPlayer, - "Active? " + this.getBaseMetaTileEntity() - .isActive()); - PlayerUtils.messagePlayer(aPlayer, "Has Turbine inserted? " + this.hasTurbine()); - if (this.hasTurbine()) { - Materials aMat = GT_MetaGenerated_Tool.getPrimaryMaterial(getTurbine()); - String aSize = GregtechMetaTileEntity_LargerTurbineBase - .getTurbineSizeString(GregtechMetaTileEntity_LargerTurbineBase.getTurbineSize(getTurbine())); - PlayerUtils.messagePlayer(aPlayer, "Using: " + aMat.mLocalizedName + " " + aSize); - } - } else { - this.mUsingAnimation = !mUsingAnimation; - if (this.mUsingAnimation) { - PlayerUtils.messagePlayer(aPlayer, "Using Animated Turbine Texture."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Using Static Turbine Texture."); - } - } - } - - @Override - public boolean onWrenchRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, float aX, - float aY, float aZ) { - if (this.getBaseMetaTileEntity() - .isServerSide() && !aPlayer.isSneaking()) { - ItemStack tCurrentItem = aPlayer.inventory.getCurrentItem(); - if (tCurrentItem != null) { - if (tCurrentItem.getItem() instanceof GT_MetaGenerated_Tool) { - return onToolClick(tCurrentItem, aPlayer, wrenchingSide); - } - } - } - return super.onWrenchRightClick(side, wrenchingSide, aPlayer, aX, aY, aZ); - } - - @Override - public boolean onSolderingToolRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, - float aX, float aY, float aZ) { - if (this.getBaseMetaTileEntity() - .isServerSide()) { - ItemStack tCurrentItem = aPlayer.inventory.getCurrentItem(); - if (tCurrentItem != null) { - if (tCurrentItem.getItem() instanceof GT_MetaGenerated_Tool) { - return onToolClick(tCurrentItem, aPlayer, wrenchingSide); - } - } - } - return false; - } - - public boolean onToolClick(ItemStack tCurrentItem, EntityPlayer aPlayer, ForgeDirection side) { - if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sWrenchList)) { - boolean aHasTurbine = this.hasTurbine(); - if (aPlayer.inventory.getFirstEmptyStack() >= 0 && aHasTurbine) { - if (PlayerUtils.isCreative(aPlayer) - || GT_ModHandler.damageOrDechargeItem(tCurrentItem, 1, 1000, aPlayer)) { - aPlayer.inventory.addItemStackToInventory((this.getTurbine())); - this.mInventory[0] = null; - GT_Utility.sendChatToPlayer(aPlayer, "Removed turbine with wrench."); - return true; - } - } else { - GT_Utility.sendChatToPlayer( - aPlayer, - aHasTurbine ? "Cannot remove turbine, no free inventory space." : "No turbine to remove."); - } - } else if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sSolderingToolList)) { - if (mControllerLocation != null && mControllerLocation.length() > 0) { - if (setController(BlockPos.generateBlockPos(mControllerLocation))) { - if (PlayerUtils.isCreative(aPlayer) - || GT_ModHandler.damageOrDechargeItem(tCurrentItem, 1, 1000, aPlayer)) { - String tChat = "Trying to Reset linked Controller"; - IGregTechTileEntity g = this.getBaseMetaTileEntity(); - GT_Utility.sendChatToPlayer(aPlayer, tChat); - GT_Utility.sendSoundToPlayers( - g.getWorld(), - SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, - 1.0F, - -1, - g.getXCoord(), - g.getYCoord(), - g.getZCoord()); - return true; - } - } - } - } - return false; - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget( - new SlotWidget(inventoryHandler, 0).setFilter(GregtechMetaTileEntity_LargerTurbineBase::isValidTurbine) - .setAccess(false, true) - .setPos(79, 34)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_TurbineProvider.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_TurbineProvider.java deleted file mode 100644 index e9626a310c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_TurbineProvider.java +++ /dev/null @@ -1,221 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; -import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_LargeTurbine; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.core.util.sys.KeyboardUtils; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines.GregtechMetaTileEntity_LargerTurbineBase; - -public class GT_MetaTileEntity_Hatch_TurbineProvider extends GT_MetaTileEntity_Hatch_InputBus { - - public GT_MetaTileEntity_Hatch_TurbineProvider(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier); - } - - public GT_MetaTileEntity_Hatch_TurbineProvider(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_TurbineProvider( - this.mName, - this.mTier, - this.mDescriptionArray, - this.mTextures); - } - - @Override - public String[] getDescription() { - return new String[] { "An automation port for Large Turbines", - "Will attempt once per 1200 ticks to fill the turbine slot of it's parent turbine", - "You may adjust this with a screwdriver", "Hold shift to adjust in finer amounts", - "Hold control to adjust direction", "Left Click with Screwdriver to reset", - "This module assumes the entire turbine is in the same Chunk", CORE.GT_Tooltip.get() }; - } - - private GT_MetaTileEntity_LargeTurbine mParent = null; - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - super.onPostTick(aBaseMetaTileEntity, aTimer); - if (aTimer % mRefreshTime == 0 && this.getBaseMetaTileEntity() - .isServerSide()) { - tryRefillTurbine(); - } - } - - private void tryFindParentTurbine() { - Logger.INFO("This turbine housing has no parent, searching world."); - IGregTechTileEntity T = this.getBaseMetaTileEntity(); - World W = T.getWorld(); - Chunk C = W.getChunkFromBlockCoords(T.getXCoord(), T.getZCoord()); - for (Object o : C.chunkTileEntityMap.values()) { - if (o instanceof IGregTechTileEntity G) { - final IMetaTileEntity aMetaTileEntity = G.getMetaTileEntity(); - if (aMetaTileEntity == null) { - continue; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine aTurb) { - for (GT_MetaTileEntity_Hatch_InputBus ee : aTurb.mInputBusses) { - if (ee.equals(this)) { - mParent = aTurb; - Logger.INFO("Found a Parent to attach to this housing."); - return; - } - } - } - } - } - } - - private void tryRefillTurbine() { - if (mParent == null) { - tryFindParentTurbine(); - } - if (mParent != null && mParent.mInventory[1] == null) { - for (ItemStack aStack : this.mInventory) { - if (isItemStackTurbine(aStack)) { - setGUIItemStack(aStack); - } - } - } - } - - protected boolean setGUIItemStack(ItemStack aNewGuiSlotContents) { - boolean result = false; - if (mParent.mInventory[1] == null) { - mParent.mInventory[1] = aNewGuiSlotContents != null ? aNewGuiSlotContents.copy() : null; - mParent.depleteInput(aNewGuiSlotContents); - mParent.updateSlots(); - this.updateSlots(); - result = true; - } - return result; - } - - public boolean isItemStackTurbine(ItemStack aStack) { - if (aStack.getItem() instanceof GT_MetaGenerated_Tool) { - if (aStack.getItemDamage() >= 170 && aStack.getItemDamage() <= 176) { - return true; - } - } - return false; - } - - public boolean isItemStackScrewdriver(ItemStack aStack) { - if (aStack.getItem() instanceof GT_MetaGenerated_Tool) { - if (aStack.getItemDamage() == 22 || aStack.getItemDamage() == 150) { - return true; - } - } - return false; - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return isItemStackTurbine(aStack); - } - - private int mRefreshTime = 1200; - private boolean mDescending = true; - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setInteger("mRefreshTime", mRefreshTime); - aNBT.setBoolean("mDescending", mDescending); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - mRefreshTime = aNBT.getInteger("mRefreshTime"); - mDescending = aNBT.getBoolean("mDescending"); - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (aPlayer != null) { - if (KeyboardUtils.isCtrlKeyDown()) { - mDescending = !mDescending; - PlayerUtils.messagePlayer(aPlayer, "Direction: " + (mDescending ? "DOWN" : "UP")); - } else { - int aAmount = 0; - if (KeyboardUtils.isShiftKeyDown()) { - aAmount = 10; - } else { - aAmount = 100; - } - if (mDescending) { - mRefreshTime -= aAmount; - if (mRefreshTime < 0) { - mRefreshTime = 1200; - } - } else { - mRefreshTime += aAmount; - if (mRefreshTime > 1200) { - mRefreshTime = 0; - } - } - PlayerUtils.messagePlayer(aPlayer, "Set check time to be every " + mRefreshTime + " ticks."); - } - } - } - - @Override - public void onLeftclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - boolean aDidScrewdriver = false; - if (aPlayer != null) { - if (aPlayer.getHeldItem() != null) { - if (isItemStackScrewdriver(aPlayer.getHeldItem())) { - aDidScrewdriver = true; - mRefreshTime = 1200; - PlayerUtils.messagePlayer(aPlayer, "Reset check time to " + mRefreshTime + " ticks."); - } - } - } - if (!aDidScrewdriver) { - super.onLeftclick(aBaseMetaTileEntity, aPlayer); - } - } - - @Override - public boolean allowSelectCircuit() { - return false; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget( - new SlotWidget(inventoryHandler, 0).setFilter(GregtechMetaTileEntity_LargerTurbineBase::isValidTurbine) - .setAccess(false, true) - .setPos(79, 34)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java deleted file mode 100644 index 5794e6adf8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java +++ /dev/null @@ -1,65 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow.Builder; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.Scrollable; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; -import gtPlusPlus.core.lib.CORE; - -public class GT_MetaTileEntity_SuperBus_Input extends GT_MetaTileEntity_Hatch_InputBus { - - public GT_MetaTileEntity_SuperBus_Input(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, getSlots(aTier) + 1); - } - - public GT_MetaTileEntity_SuperBus_Input(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, getSlots(aTier) + 1, aDescription, aTextures); - } - - /** - * Returns a factor of 16 based on tier. - * - * @param aTier The tier of this bus. - * @return (1 + aTier) * 16 - */ - public static int getSlots(int aTier) { - return (1 + aTier) * 16; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_SuperBus_Input(this.mName, this.mTier, mDescriptionArray, this.mTextures); - } - - @Override - public String[] getDescription() { - return new String[] { "Item Input for Multiblocks", "" + getSlots(this.mTier) + " Slots", - CORE.GT_Tooltip.get() }; - } - - @Override - public int getCircuitSlot() { - return getSlots(mTier); - } - - @Override - public void addUIWidgets(Builder builder, UIBuildContext buildContext) { - final Scrollable scrollable = new Scrollable().setVerticalScroll(); - for (int row = 0; row * 4 < inventoryHandler.getSlots() - 1; row++) { - int columnsToMake = Math.min(inventoryHandler.getSlots() - row * 4, 4); - for (int column = 0; column < columnsToMake; column++) { - scrollable.widget( - new SlotWidget(inventoryHandler, row * 4 + column).setPos(column * 18, row * 18) - .setSize(18, 18)); - } - } - builder.widget( - scrollable.setSize(18 * 4 + 4, 18 * 4) - .setPos(52, 7)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java deleted file mode 100644 index aee6235ab9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java +++ /dev/null @@ -1,105 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import net.minecraft.inventory.IInventory; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow.Builder; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.Scrollable; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; - -public class GT_MetaTileEntity_SuperBus_Output extends GT_MetaTileEntity_Hatch_OutputBus { - - public GT_MetaTileEntity_SuperBus_Output(int id, String name, String nameRegional, int tier) { - super(id, name, nameRegional, tier, getSlots(tier)); - } - - public GT_MetaTileEntity_SuperBus_Output(String name, int tier, String[] description, ITexture[][][] textures) { - super(name, tier, getSlots(tier), description, textures); - } - - /** - * Returns a factor of 16 based on tier. - * - * @param aTier The tier of this bus. - * @return (1 + aTier) * 16 - */ - public static int getSlots(int aTier) { - return (1 + aTier) * 16; - } - - @Override - public boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_SuperBus_Output(this.mName, this.mTier, mDescriptionArray, this.mTextures); - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { - this.fillStacksIntoFirstSlots(); - } - super.onPostTick(aBaseMetaTileEntity, aTimer); - } - - public void updateSlots() { - for (int i = 0; i < this.mInventory.length; ++i) { - if (this.mInventory[i] != null && this.mInventory[i].stackSize <= 0) { - this.mInventory[i] = null; - } - } - this.fillStacksIntoFirstSlots(); - } - - protected void fillStacksIntoFirstSlots() { - for (int i = 0; i < this.mInventory.length; ++i) { - for (int j = i + 1; j < this.mInventory.length; ++j) { - if (this.mInventory[j] != null && (this.mInventory[i] == null - || GT_Utility.areStacksEqual(this.mInventory[i], this.mInventory[j]))) { - GT_Utility.moveStackFromSlotAToSlotB( - (IInventory) this.getBaseMetaTileEntity(), - (IInventory) this.getBaseMetaTileEntity(), - j, - i, - (byte) 64, - (byte) 1, - (byte) 64, - (byte) 1); - } - } - } - } - - @Override - public String[] getDescription() { - String[] aDesc = new String[] { "Item Output for Multiblocks", "" + getSlots(this.mTier) + " Slots", - CORE.GT_Tooltip.get() }; - return aDesc; - } - - @Override - public void addUIWidgets(Builder builder, UIBuildContext buildContext) { - final Scrollable scrollable = new Scrollable().setVerticalScroll(); - for (int row = 0; row * 4 < inventoryHandler.getSlots() - 1; row++) { - int columnsToMake = Math.min(inventoryHandler.getSlots() - row * 4, 4); - for (int column = 0; column < columnsToMake; column++) { - scrollable.widget( - new SlotWidget(inventoryHandler, row * 4 + column).setPos(column * 18, row * 18) - .setSize(18, 18)); - } - } - builder.widget( - scrollable.setSize(18 * 4 + 4, 18 * 4) - .setPos(52, 7)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java deleted file mode 100644 index e9f9a2dda4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java +++ /dev/null @@ -1,117 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.Dyes; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.SubTag; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid; -import gregtech.api.render.TextureFactory; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; - -public class GregtechMetaPipeEntityFluid extends GT_MetaPipeEntity_Fluid { - - public final GT_Materials mMaterial; - - public GregtechMetaPipeEntityFluid(int aID, String aName, String aNameRegional, float aThickNess, - GT_Materials aMaterial, int aCapacity, int aHeatResistance, boolean aGasProof) { - this(aID, aName, aNameRegional, aThickNess, aMaterial, aCapacity, aHeatResistance, aGasProof, 1); - } - - public GregtechMetaPipeEntityFluid(final String aName, final float aThickNess, final GT_Materials aMaterial, - final int aCapacity, final int aHeatResistance, final boolean aGasProof) { - this(aName, aThickNess, aMaterial, aCapacity, aHeatResistance, aGasProof, 1); - } - - public GregtechMetaPipeEntityFluid(int aID, String aName, String aNameRegional, float aThickNess, - GT_Materials aMaterial, int aCapacity, int aHeatResistance, boolean aGasProof, int aFluidTypes) { - super(aID, aName, aNameRegional, aThickNess, null, aCapacity, aHeatResistance, aGasProof, aFluidTypes); - this.mLastReceivedFrom = 0; - this.oLastReceivedFrom = 0; - this.mMaterial = aMaterial; - } - - public GregtechMetaPipeEntityFluid(String aName, float aThickNess, GT_Materials aMaterial, int aCapacity, - int aHeatResistance, boolean aGasProof, int aFluidTypes) { - super(aName, aThickNess, null, aCapacity, aHeatResistance, aGasProof, aFluidTypes); - this.mLastReceivedFrom = 0; - this.oLastReceivedFrom = 0; - this.mMaterial = aMaterial; - } - - @Override - public byte getTileEntityBaseType() { - return this.mMaterial == null ? 4 - : (byte) ((this.mMaterial.contains(SubTag.WOOD) ? 12 : 4) - + Math.max(0, Math.min(3, this.mMaterial.mToolQuality))); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaPipeEntityFluid( - this.mName, - this.mThickNess, - this.mMaterial, - this.mCapacity, - this.mHeatResistance, - this.mGasProof); - } - - @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, int aConnections, - int aColorIndex, boolean aConnected, boolean aRedstone) { - float tThickNess = getThickNess(); - if (mDisableInput == 0) - return new ITexture[] { aConnected ? getBaseTexture(tThickNess, mPipeAmount, mMaterial, aColorIndex) - : TextureFactory.of( - mMaterial.mIconSet.mTextures[OrePrefixes.pipe.mTextureIndex], - Dyes.getModulation(aColorIndex, mMaterial.mRGBa)) }; - int tMask = 0; - int[][] sRestrictionArray = { { 2, 3, 5, 4 }, { 2, 3, 5, 4 }, { 1, 0, 5, 4 }, { 1, 0, 4, 5 }, { 1, 0, 2, 3 }, - { 1, 0, 2, 3 } }; - if (side != ForgeDirection.UNKNOWN) { - for (int i = 0; i < 4; i++) - if (isInputDisabledAtSide(ForgeDirection.getOrientation(sRestrictionArray[side.ordinal()][i]))) - tMask |= 1 << i; - // Full block size renderer flips side 5 and 2 textures, flip restrictor textures to compensate - if (side == ForgeDirection.EAST || side == ForgeDirection.UP) - if (tMask > 3 && tMask < 12) tMask = (tMask ^ 12); - } - return new ITexture[] { aConnected ? getBaseTexture(tThickNess, mPipeAmount, mMaterial, aColorIndex) - : TextureFactory.of( - mMaterial.mIconSet.mTextures[OrePrefixes.pipe.mTextureIndex], - Dyes.getModulation(aColorIndex, mMaterial.mRGBa)), - getRestrictorTexture(tMask) }; - } - - protected static ITexture getBaseTexture(float aThickNess, int aPipeAmount, GT_Materials aMaterial, - int aColorIndex) { - if (aPipeAmount >= 9) return TextureFactory.of( - aMaterial.mIconSet.mTextures[OrePrefixes.pipeNonuple.mTextureIndex], - Dyes.getModulation(aColorIndex, aMaterial.mRGBa)); - if (aPipeAmount >= 4) return TextureFactory.of( - aMaterial.mIconSet.mTextures[OrePrefixes.pipeQuadruple.mTextureIndex], - Dyes.getModulation(aColorIndex, aMaterial.mRGBa)); - if (aThickNess < 0.124F) return TextureFactory.of( - aMaterial.mIconSet.mTextures[OrePrefixes.pipe.mTextureIndex], - Dyes.getModulation(aColorIndex, aMaterial.mRGBa)); - if (aThickNess < 0.374F) return TextureFactory.of( - aMaterial.mIconSet.mTextures[OrePrefixes.pipeTiny.mTextureIndex], - Dyes.getModulation(aColorIndex, aMaterial.mRGBa)); - if (aThickNess < 0.499F) return TextureFactory.of( - aMaterial.mIconSet.mTextures[OrePrefixes.pipeSmall.mTextureIndex], - Dyes.getModulation(aColorIndex, aMaterial.mRGBa)); - if (aThickNess < 0.749F) return TextureFactory.of( - aMaterial.mIconSet.mTextures[OrePrefixes.pipeMedium.mTextureIndex], - Dyes.getModulation(aColorIndex, aMaterial.mRGBa)); - if (aThickNess < 0.874F) return TextureFactory.of( - aMaterial.mIconSet.mTextures[OrePrefixes.pipeLarge.mTextureIndex], - Dyes.getModulation(aColorIndex, aMaterial.mRGBa)); - return TextureFactory.of( - aMaterial.mIconSet.mTextures[OrePrefixes.pipeHuge.mTextureIndex], - Dyes.getModulation(aColorIndex, aMaterial.mRGBa)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java deleted file mode 100644 index 9b1408ba51..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java +++ /dev/null @@ -1,156 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; - -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.Dyes; -import gregtech.api.enums.Materials; -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.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_Utility; - -public class GregtechMetaPipeEntity_Cable extends GT_MetaPipeEntity_Cable implements IMetaTileEntityCable { - - private static Textures.BlockIcons INSULATION_MEDIUM_PLUS; - - static { - try { - INSULATION_MEDIUM_PLUS = (Textures.BlockIcons) GT_Utility - .getField(Textures.BlockIcons.class, "INSULATION_MEDIUM_PLUS") - .get(null); - } catch (IllegalAccessException | NullPointerException e) { - throw new Error(e); - } - } - - private short[] vRGB = null; - - public GregtechMetaPipeEntity_Cable(final int aID, final String aName, final String aNameRegional, - final float aThickNess, final Materials aMaterial, final long aCableLossPerMeter, final long aAmperage, - final long aVoltage, final boolean aInsulated, final boolean aCanShock, final short[] aRGB) { - super( - aID, - aName, - aNameRegional, - aThickNess, - aMaterial, - aCableLossPerMeter, - aAmperage, - aVoltage, - aInsulated, - aCanShock); - this.vRGB = aRGB == null || aRGB.length != 4 ? Materials.Iron.mRGBa : aRGB; - } - - public GregtechMetaPipeEntity_Cable(final String aName, final float aThickNess, final Materials aMaterial, - final long aCableLossPerMeter, final long aAmperage, final long aVoltage, final boolean aInsulated, - final boolean aCanShock, final short[] aRGB) { - super(aName, aThickNess, aMaterial, aCableLossPerMeter, aAmperage, aVoltage, aInsulated, aCanShock); - this.vRGB = aRGB == null || aRGB.length != 4 ? Materials.Iron.mRGBa : aRGB; - } - - public GregtechMetaPipeEntity_Cable(final int aID, final String aName, final String aNameRegional, - final float aThickNess, final long aCableLossPerMeter, final long aAmperage, final long aVoltage, - final boolean aInsulated, final boolean aCanShock, final short[] aRGB) { - this( - aID, - aName, - aNameRegional, - aThickNess, - null, - aCableLossPerMeter, - aAmperage, - aVoltage, - aInsulated, - aCanShock, - aRGB); - } - - public GregtechMetaPipeEntity_Cable(final String aName, final float aThickNess, final long aCableLossPerMeter, - final long aAmperage, final long aVoltage, final boolean aInsulated, final boolean aCanShock, - final short[] aRGB) { - this(aName, aThickNess, null, aCableLossPerMeter, aAmperage, aVoltage, aInsulated, aCanShock, aRGB); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaPipeEntity_Cable( - this.mName, - this.mThickNess, - this.mMaterial, - this.mCableLossPerMeter, - this.mAmperage, - this.mVoltage, - this.mInsulated, - this.mCanShock, - this.vRGB); - } - - @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, int aConnections, - int aColorIndex, boolean aConnected, boolean aRedstone) { - return getTextureGTNH(aBaseMetaTileEntity, side, aConnections, aColorIndex, aConnected, aRedstone); - } - - private ITexture[] getTextureGTNH(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection aSide, int aConnections, - int aColorIndex, boolean aConnected, boolean aRedstone) { - - Materials wireMaterial = mMaterial; - if (wireMaterial == null) { - wireMaterial = Materials.Iron; - } - - if (!mInsulated) return new ITexture[] { new GT_RenderedTexture( - wireMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], - Dyes.getModulation(aColorIndex, vRGB)) }; - if (aConnected) { - float tThickNess = getThickNess(); - if (tThickNess < 0.124F) return new ITexture[] { new GT_RenderedTexture( - Textures.BlockIcons.INSULATION_FULL, - Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa)) }; - if (tThickNess < 0.374F) // 0.375 x1 - return new ITexture[] { - new GT_RenderedTexture(wireMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], vRGB), - new GT_RenderedTexture( - Textures.BlockIcons.INSULATION_TINY, - Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa)) }; - if (tThickNess < 0.499F) // 0.500 x2 - return new ITexture[] { - new GT_RenderedTexture(wireMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], vRGB), - new GT_RenderedTexture( - Textures.BlockIcons.INSULATION_SMALL, - Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa)) }; - if (tThickNess < 0.624F) // 0.625 x4 - return new ITexture[] { - new GT_RenderedTexture(wireMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], vRGB), - new GT_RenderedTexture( - Textures.BlockIcons.INSULATION_MEDIUM, - Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa)) }; - if (tThickNess < 0.749F) // 0.750 x8 - return new ITexture[] { - new GT_RenderedTexture(wireMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], vRGB), - new GT_RenderedTexture( - INSULATION_MEDIUM_PLUS, - Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa)) }; - if (tThickNess < 0.874F) // 0.825 x12 - return new ITexture[] { - new GT_RenderedTexture(wireMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], vRGB), - new GT_RenderedTexture( - Textures.BlockIcons.INSULATION_LARGE, - Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa)) }; - return new ITexture[] { - new GT_RenderedTexture(wireMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], vRGB), - new GT_RenderedTexture( - Textures.BlockIcons.INSULATION_HUGE, - Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa)) }; - } - return new ITexture[] { new GT_RenderedTexture( - Textures.BlockIcons.INSULATION_FULL, - Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa)) }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java deleted file mode 100644 index 0aaaa75584..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java +++ /dev/null @@ -1,49 +0,0 @@ -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.xmod.gregtech.api.metatileentity.implementations.base.machines.GregtechMetaTreeFarmerBase; - -public class GregtechMetaTreeFarmerStructural extends GregtechMetaTreeFarmerBase { - - public GregtechMetaTreeFarmerStructural(final int aID, final String aName, final String aNameRegional, - final int aTier) { - super(aID, aName, aNameRegional, aTier, 0, "Structural Blocks for the Tree Farmer."); - } - - public GregtechMetaTreeFarmerStructural(final String aName, final int aTier, final int aInvSlotCount, - final String[] aDescription, final ITexture[][][] aTextures) { - super(aName, aTier, aInvSlotCount, aDescription, aTextures); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTreeFarmerStructural( - this.mName, - this.mTier, - this.mInventory.length, - this.mDescriptionArray, - this.mTextures); - } - - @Override - public ITexture getOverlayIcon() { - return new GT_RenderedTexture(Textures.BlockIcons.VOID); - } - - @Override - public boolean isValidSlot(final int aIndex) { - return false; - } - - @Override - public void saveNBTData(final NBTTagCompound paramNBTTagCompound) {} - - @Override - public void loadNBTData(final NBTTagCompound paramNBTTagCompound) {} -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GT_MetaTileEntity_Hatch_CustomFluidBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GT_MetaTileEntity_Hatch_CustomFluidBase.java deleted file mode 100644 index 6a85c06c1b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GT_MetaTileEntity_Hatch_CustomFluidBase.java +++ /dev/null @@ -1,214 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base; - -import static gregtech.api.enums.Textures.BlockIcons.FLUID_IN_SIGN; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_PIPE_IN; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import com.gtnewhorizons.modularui.common.widget.FluidSlotWidget; - -import gregtech.GT_Mod; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; - -public class GT_MetaTileEntity_Hatch_CustomFluidBase extends GT_MetaTileEntity_Hatch { - - public final Fluid mLockedFluid; - public final int mFluidCapacity; - protected FluidStack mLockedStack = null; - protected String mTempMod = null; - - public GT_MetaTileEntity_Hatch_CustomFluidBase(Fluid aFluid, int aAmount, final int aID, final String aName, - final String aNameRegional) { - super( - aID, - aName, - aNameRegional, - 6, - 3, - new String[] { "Fluid Input for Multiblocks", "Capacity: " + GT_Utility.formatNumbers(aAmount) + "L" }); - this.mLockedFluid = aFluid; - this.mFluidCapacity = aAmount; - } - - public GT_MetaTileEntity_Hatch_CustomFluidBase(Fluid aFluid, int aAmount, final String aName, - final String[] aDescription, final ITexture[][][] aTextures) { - super(aName, 6, 3, aDescription[0], aTextures); - this.mLockedFluid = aFluid; - this.mFluidCapacity = aAmount; - } - - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - if (side == aBaseMetaTileEntity.getFrontFacing() && aIndex == 0) { - FluidStack fs = GT_Utility.getFluidForFilledItem(aStack, true); - return fs != null && fs.getFluid() == this.mLockedFluid; - } - return false; - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return side == aBaseMetaTileEntity.getFrontFacing() && aIndex == 1; - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return GT_Mod.gregtechproxy.mRenderIndicatorsOnHatch - ? new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN), TextureFactory.of(FLUID_IN_SIGN) } - : new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return GT_Mod.gregtechproxy.mRenderIndicatorsOnHatch - ? new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN), TextureFactory.of(FLUID_IN_SIGN) } - : new ITexture[] { aBaseTexture, TextureFactory.of(OVERLAY_PIPE_IN) }; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public boolean doesFillContainers() { - // return true; - return false; - } - - @Override - public boolean doesEmptyContainers() { - return true; - } - - @Override - public boolean canTankBeFilled() { - return true; - } - - @Override - public boolean canTankBeEmptied() { - return true; - } - - @Override - public boolean displaysItemStack() { - return true; - } - - @Override - public boolean displaysStackSize() { - return false; - } - - public void updateSlots() { - if (mInventory[getInputSlot()] != null && mInventory[getInputSlot()].stackSize <= 0) - mInventory[getInputSlot()] = null; - } - - @Override - public int getTankPressure() { - return -100; - } - - @Override - public int getCapacity() { - return this.mFluidCapacity; - } - - @Override - public String[] getDescription() { - if (mLockedStack == null) { - mLockedStack = FluidUtils.getFluidStack(mLockedFluid, 1); - } - int aFluidTemp = 0; - boolean isSteam = false; - if (mLockedFluid != null) { - aFluidTemp = mLockedFluid.getTemperature(); - mTempMod = mLockedFluid.getName(); - } - if (mTempMod.equalsIgnoreCase("steam")) { - isSteam = true; - } - - EnumChatFormatting aColour = EnumChatFormatting.BLUE; - if (aFluidTemp <= -3000) { - aColour = EnumChatFormatting.DARK_PURPLE; - } else if (aFluidTemp >= -2999 && aFluidTemp <= -500) { - aColour = EnumChatFormatting.DARK_BLUE; - } else if (aFluidTemp >= -499 && aFluidTemp <= -50) { - aColour = EnumChatFormatting.BLUE; - } else if (aFluidTemp >= 30 && aFluidTemp <= 300) { - aColour = EnumChatFormatting.AQUA; - } else if (aFluidTemp >= 301 && aFluidTemp <= 800) { - aColour = EnumChatFormatting.YELLOW; - } else if (aFluidTemp >= 801 && aFluidTemp <= 1500) { - aColour = EnumChatFormatting.GOLD; - } else if (aFluidTemp >= 1501) { - aColour = EnumChatFormatting.RED; - } - String aFluidName = "Accepted Fluid: " + aColour - + (mLockedStack != null ? mLockedStack.getLocalizedName() : "Empty") - + EnumChatFormatting.RESET; - return new String[] { "Fluid Input for " + (isSteam ? "Steam " : "") + "Multiblocks", - "Capacity: " + getCapacity() + "L", aFluidName, CORE.GT_Tooltip.get() }; - } - - @Override - public boolean isFluidInputAllowed(final FluidStack aFluid) { - return this.mLockedFluid.getName() - .equals( - aFluid.getFluid() - .getName()); - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_CustomFluidBase( - this.mLockedFluid, - this.mFluidCapacity, - this.mName, - this.mDescriptionArray, - this.mTextures); - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - protected FluidSlotWidget createFluidSlot() { - return super.createFluidSlot().setFilter(f -> f == mLockedFluid); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java deleted file mode 100644 index e260347ca5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java +++ /dev/null @@ -1,74 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base; - -import static gregtech.api.enums.GT_Values.GT; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.metatileentity.MetaTileEntity; - -public abstract class GregtechMetaTileEntity extends MetaTileEntity { - - /** - * Value between [0 - 9] to describe the Tier of this Machine. - */ - protected byte mTier; - - /** - * A simple Description. - */ - protected final String mDescription; - - /** - * Contains all Textures used by this Block. - */ - public final ITexture[][][] mTextures; - - public GregtechMetaTileEntity(final int aID, final String aName, final String aNameRegional, final int aTier, - final int aInvSlotCount, final String aDescription, final ITexture... aTextures) { - super(aID, aName, aNameRegional, aInvSlotCount); - this.mTier = (byte) Math.max(0, Math.min(aTier, 9)); - this.mDescription = aDescription; - - // must always be the last call! - if (GT.isClientSide()) { - this.mTextures = this.getTextureSet(aTextures); - } else { - this.mTextures = null; - } - } - - public GregtechMetaTileEntity(final String aName, final int aTier, final int aInvSlotCount, - final String aDescription, final ITexture[][][] aTextures) { - super(aName, aInvSlotCount); - this.mTier = (byte) aTier; - this.mDescription = aDescription; - this.mTextures = aTextures; - } - - @Override - public byte getTileEntityBaseType() { - return (byte) (Math.min(3, this.mTier <= 0 ? 0 : 1 + ((this.mTier - 1) / 4))); - } - - @Override - public long getInputTier() { - return this.mTier; - } - - @Override - public long getOutputTier() { - return this.mTier; - } - - @Override - public String[] getDescription() { - return new String[] { this.mDescription }; - } - - /** - * Used Client Side to get a Texture Set for this Block. Called after setting the Tier and the Description so that - * those two are accessible. - * - * @param aTextures is the optional Array you can give to the Constructor. - */ - public abstract ITexture[][][] getTextureSet(ITexture[] aTextures); -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java deleted file mode 100644 index c6a088fb1c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java +++ /dev/null @@ -1,117 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -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.minecraft.PlayerUtils; - -public class GregtechMetaTransformerHiAmp extends GT_MetaTileEntity_Transformer { - - private boolean mHalfMode = false; - - public GregtechMetaTransformerHiAmp(int aID, String aName, String aNameRegional, int aTier, String aDescription) { - super(aID, aName, aNameRegional, aTier, aDescription); - } - - public GregtechMetaTransformerHiAmp(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public long maxEUStore() { - return ((512L + gregtech.api.enums.GT_Values.V[(this.mTier + 1)] * 2L) * 8); - } - - @Override - public long maxAmperesOut() { - if (this.mHalfMode) { - return ((getBaseMetaTileEntity().isAllowedToWork()) ? 8L : 2L); - } - return ((getBaseMetaTileEntity().isAllowedToWork()) ? 16L : 4L); - } - - @Override - public long maxAmperesIn() { - if (this.mHalfMode) { - return ((getBaseMetaTileEntity().isAllowedToWork()) ? 2L : 8L); - } - return ((getBaseMetaTileEntity().isAllowedToWork()) ? 4L : 16L); - } - - @Override - public ITexture[][][] getTextureSet(ITexture[] aTextures) { - ITexture[][][] rTextures = new ITexture[12][17][]; - for (byte i = -1; i < 16; i++) { - rTextures[0][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_OUT[mTier] }; - rTextures[1][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_OUT[mTier] }; - rTextures[2][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_OUT[mTier] }; - rTextures[3][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_IN_MULTI[mTier + 1] }; - rTextures[4][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_IN_MULTI[mTier + 1] }; - rTextures[5][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_IN_MULTI[mTier + 1] }; - rTextures[6][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_IN[mTier] }; - rTextures[7][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_IN[mTier] }; - rTextures[8][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_IN[mTier] }; - rTextures[9][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[mTier + 1] }; - rTextures[10][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[mTier + 1] }; - rTextures[11][i + 1] = new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[mTier + 1] }; - } - return rTextures; - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTransformerHiAmp(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll( - this.mDescriptionArray, - "Accepts 4A and outputs 16A", - "Toggle 2A/8A half-mode with Screwdriver", - CORE.GT_Tooltip.get()); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setBoolean("mHalfMode", this.mHalfMode); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - this.mHalfMode = aNBT.getBoolean("mHalfMode"); - super.loadNBTData(aNBT); - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - this.mHalfMode = !mHalfMode; - if (this.mHalfMode) { - PlayerUtils.messagePlayer(aPlayer, "Transformer is now running at 2A:8A in/out Ratio."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Transformer is now running at 4A:16A in/out Ratio."); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java deleted file mode 100644 index e756a92343..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java +++ /dev/null @@ -1,1799 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base; - -import static gregtech.api.enums.Mods.TecTech; -import static gregtech.api.util.GT_Utility.filterValidMTEs; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.Map.Entry; -import java.util.Objects; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.TimeUnit; -import java.util.function.BiConsumer; -import java.util.function.BiPredicate; -import java.util.function.Function; -import java.util.stream.Collectors; - -import javax.annotation.Nullable; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import com.gtnewhorizon.structurelib.StructureLibAPI; -import com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment; -import com.gtnewhorizon.structurelib.structure.IStructureElement; -import com.gtnewhorizon.structurelib.structure.StructureUtility; -import com.gtnewhorizons.modularui.api.drawable.ItemDrawable; -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.DrawableWidget; -import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; -import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; -import com.gtnewhorizons.modularui.common.widget.TextWidget; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.Textures; -import gregtech.api.enums.VoidingMode; -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.interfaces.IHatchElement; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPowerMultiBlockBase; -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.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.IGT_HatchAdder; -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gregtech.common.tileentities.machines.IDualInputHatch; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.GTplusplus.INIT_PHASE; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.minecraft.BlockPos; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.preloader.CORE_Preloader; -import gtPlusPlus.preloader.asm.AsmConfig; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_AirIntake; -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.GT_MetaTileEntity_Hatch_Steam_BusInput; - -// Glee8e - 11/12/21 - 2:15pm -// Yeah, now I see what's wrong. Someone inherited from GregtechMeta_MultiBlockBase instead of -// GregtechMeta_MultiBlockBase as it should have been -// so any method in GregtechMetaTileEntity_IndustrialDehydrator would see generic field declared in -// GregtechMeta_MultiBlockBase without generic parameter - -public abstract class GregtechMeta_MultiBlockBase> - extends GT_MetaTileEntity_ExtendedPowerMultiBlockBase { - - public static final boolean DEBUG_DISABLE_CORES_TEMPORARILY = true; - - public GT_Recipe mLastRecipe; - protected long mTotalRunTime = 0; - - /** - * Don't use this for recipe input check, otherwise you'll get duplicated fluids - */ - public ArrayList mAirIntakes = new ArrayList<>(); - - public ArrayList mChargeHatches = new ArrayList<>(); - public ArrayList mDischargeHatches = new ArrayList<>(); - public ArrayList mAllEnergyHatches = new ArrayList<>(); - public ArrayList mAllDynamoHatches = new ArrayList<>(); - - public GregtechMeta_MultiBlockBase(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMeta_MultiBlockBase(final String aName) { - super(aName); - } - - private static int toStackCount(Entry e) { - int tMaxStackSize = e.getKey() - .getMaxStackSize(); - int tStackSize = e.getValue(); - return (tStackSize + tMaxStackSize - 1) / tMaxStackSize; - } - - public long getTotalRuntimeInTicks() { - return this.mTotalRunTime; - } - - public abstract String getMachineType(); - - public String getMachineTooltip() { - return "Machine Type: " + EnumChatFormatting.YELLOW + getMachineType() + EnumChatFormatting.RESET; - } - - public String[] getExtraInfoData() { - return new String[0]; - } - - @Override - public String[] getInfoData() { - ArrayList mInfo = new ArrayList<>(); - if (!this.getMetaName() - .equals("")) { - mInfo.add(this.getMetaName()); - } - - String[] extra = getExtraInfoData(); - - if (extra == null) { - extra = new String[0]; - } - if (extra.length > 0) { - for (String s : extra) { - mInfo.add(s); - } - } - - 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(7L * weeks); - long minutes = TimeUnit.SECONDS.toMinutes(seconds) - (TimeUnit.SECONDS.toHours(seconds) * 60); - long second = TimeUnit.SECONDS.toSeconds(seconds) - (TimeUnit.SECONDS.toMinutes(seconds) * 60); - - mInfo.add(getMachineTooltip()); - - // Lets borrow the GTNH handling - - mInfo.add( - StatCollector.translateToLocal("GTPP.multiblock.progress") + ": " - + EnumChatFormatting.GREEN - + mProgresstime / 20 - + EnumChatFormatting.RESET - + " s / " - + EnumChatFormatting.YELLOW - + mMaxProgresstime / 20 - + EnumChatFormatting.RESET - + " s"); - - if (!this.mAllEnergyHatches.isEmpty()) { - long storedEnergy = getStoredEnergyInAllEnergyHatches(); - long maxEnergy = getMaxEnergyStorageOfAllEnergyHatches(); - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.energy") + ":"); - mInfo.add( - StatCollector.translateToLocal( - "" + EnumChatFormatting.GREEN - + Long.toString(storedEnergy) - + EnumChatFormatting.RESET - + " EU / " - + EnumChatFormatting.YELLOW - + Long.toString(maxEnergy) - + EnumChatFormatting.RESET - + " EU")); - - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.mei") + ":"); - mInfo.add( - StatCollector.translateToLocal( - "" + EnumChatFormatting.YELLOW - + Long.toString(getMaxInputVoltage()) - + EnumChatFormatting.RESET - + " EU/t(*2A) " - + StatCollector.translateToLocal("GTPP.machines.tier") - + ": " - + EnumChatFormatting.YELLOW - + GT_Values.VN[GT_Utility.getTier(getMaxInputVoltage())] - + EnumChatFormatting.RESET));; - } - if (!this.mAllDynamoHatches.isEmpty()) { - long storedEnergy = getStoredEnergyInAllDynamoHatches(); - long maxEnergy = getMaxEnergyStorageOfAllDynamoHatches(); - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.energy") + " In Dynamos:"); - mInfo.add( - StatCollector.translateToLocal( - "" + EnumChatFormatting.GREEN - + Long.toString(storedEnergy) - + EnumChatFormatting.RESET - + " EU / " - + EnumChatFormatting.YELLOW - + Long.toString(maxEnergy) - + EnumChatFormatting.RESET - + " EU")); - } - - if (-lEUt > 0) { - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.usage") + ":"); - mInfo.add( - StatCollector - .translateToLocal("" + EnumChatFormatting.RED + (-lEUt) + EnumChatFormatting.RESET + " EU/t")); - } else { - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.generation") + ":"); - mInfo.add( - StatCollector - .translateToLocal("" + EnumChatFormatting.GREEN + lEUt + EnumChatFormatting.RESET + " EU/t")); - } - - mInfo.add( - StatCollector.translateToLocal("GTPP.multiblock.problems") + ": " - + EnumChatFormatting.RED - + (getIdealStatus() - getRepairStatus()) - + EnumChatFormatting.RESET - + " " - + StatCollector.translateToLocal("GTPP.multiblock.efficiency") - + ": " - + EnumChatFormatting.YELLOW - + Float.toString(mEfficiency / 100.0F) - + EnumChatFormatting.RESET - + " %"); - - if (this.getPollutionPerSecond(null) > 0) { - int mPollutionReduction = getPollutionReductionForAllMufflers(); - mInfo.add( - StatCollector.translateToLocal("GTPP.multiblock.pollution") + ": " - + EnumChatFormatting.RED - + this.getPollutionPerSecond(null) - + EnumChatFormatting.RESET - + "/sec"); - mInfo.add( - StatCollector.translateToLocal("GTPP.multiblock.pollutionreduced") + ": " - + EnumChatFormatting.GREEN - + mPollutionReduction - + EnumChatFormatting.RESET - + " %"); - } - - mInfo.add( - StatCollector.translateToLocal("GTPP.CC.parallel") + ": " - + EnumChatFormatting.GREEN - + (getMaxParallelRecipes()) - + EnumChatFormatting.RESET); - - mInfo.add( - "Total Time Since Built: " + EnumChatFormatting.DARK_GREEN - + Integer.toString(weeks) - + EnumChatFormatting.RESET - + " Weeks, " - + EnumChatFormatting.DARK_GREEN - + Integer.toString(days) - + EnumChatFormatting.RESET - + " Days, "); - mInfo.add( - EnumChatFormatting.DARK_GREEN + Long.toString(hours) - + EnumChatFormatting.RESET - + " Hours, " - + EnumChatFormatting.DARK_GREEN - + Long.toString(minutes) - + EnumChatFormatting.RESET - + " Minutes, " - + EnumChatFormatting.DARK_GREEN - + Long.toString(second) - + EnumChatFormatting.RESET - + " Seconds."); - mInfo.add("Total Time in ticks: " + EnumChatFormatting.DARK_GREEN + Long.toString(this.mTotalRunTime)); - - String[] mInfo2 = mInfo.toArray(new String[mInfo.size()]); - return mInfo2; - } - - public int getPollutionReductionForAllMufflers() { - int mPollutionReduction = 0; - for (GT_MetaTileEntity_Hatch_Muffler tHatch : filterValidMTEs(mMufflerHatches)) { - mPollutionReduction = Math.max(calculatePollutionReductionForHatch(tHatch, 100), mPollutionReduction); - } - return mPollutionReduction; - } - - public long getStoredEnergyInAllEnergyHatches() { - long storedEnergy = 0; - for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(mAllEnergyHatches)) { - storedEnergy += tHatch.getBaseMetaTileEntity() - .getStoredEU(); - } - return storedEnergy; - } - - public long getMaxEnergyStorageOfAllEnergyHatches() { - long maxEnergy = 0; - for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(mAllEnergyHatches)) { - maxEnergy += tHatch.getBaseMetaTileEntity() - .getEUCapacity(); - } - return maxEnergy; - } - - public long getStoredEnergyInAllDynamoHatches() { - long storedEnergy = 0; - for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(mAllDynamoHatches)) { - storedEnergy += tHatch.getBaseMetaTileEntity() - .getStoredEU(); - } - return storedEnergy; - } - - public long getMaxEnergyStorageOfAllDynamoHatches() { - long maxEnergy = 0; - for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(mAllDynamoHatches)) { - maxEnergy += tHatch.getBaseMetaTileEntity() - .getEUCapacity(); - } - return maxEnergy; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - private String[] aCachedToolTip; - - /* - * private final String aRequiresMuffler = "1x Muffler Hatch"; private final String aRequiresCoreModule = - * "1x Core Module"; private final String aRequiresMaint = "1x Maintanence Hatch"; - */ - - public static final String TAG_HIDE_HATCHES = "TAG_HIDE_HATCHES"; - public static final String TAG_HIDE_MAINT = "TAG_HIDE_MAINT"; - public static final String TAG_HIDE_POLLUTION = "TAG_HIDE_POLLUTION"; - public static final String TAG_HIDE_MACHINE_TYPE = "TAG_HIDE_MACHINE_TYPE"; - - public abstract int getMaxParallelRecipes(); - - @Override - public boolean isCorrectMachinePart(final ItemStack paramItemStack) { - return true; - } - - @Override - public int getDamageToComponent(final ItemStack paramItemStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack p0) { - return false; - } - - /** - * A Static {@link Method} object which holds the current status of logging. - */ - public static Method aLogger = null; - - public void log(String s) { - if (!AsmConfig.disableAllLogging) { - if (CORE_Preloader.DEBUG_MODE) { - Logger.INFO(s); - } else { - Logger.MACHINE_INFO(s); - } - } - } - - @Override - protected void setProcessingLogicPower(ProcessingLogic logic) { - logic.setAvailableVoltage(GT_Utility.roundUpVoltage(this.getMaxInputVoltage())); - logic.setAvailableAmperage(1L); - } - - public long getMaxInputEnergy() { - long rEnergy = 0; - if (mEnergyHatches.size() == 1) // so it only takes 1 amp is only 1 hatch is present so it works like most gt - // multies - return mEnergyHatches.get(0) - .getBaseMetaTileEntity() - .getInputVoltage(); - for (GT_MetaTileEntity_Hatch_Energy tHatch : filterValidMTEs(mEnergyHatches)) - rEnergy += tHatch.getBaseMetaTileEntity() - .getInputVoltage() - * tHatch.getBaseMetaTileEntity() - .getInputAmperage(); - return rEnergy; - } - - public boolean isMachineRunning() { - boolean aRunning = this.getBaseMetaTileEntity() - .isActive(); - // log("Queried Multiblock is currently running: "+aRunning); - return aRunning; - } - - @Override - public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - - // Time Counter - if (aBaseMetaTileEntity.isServerSide()) { - this.mTotalRunTime++; - } - - if (aBaseMetaTileEntity.isServerSide()) { - if (this.mUpdate == 1 || this.mStartUpCheck == 1) { - this.mChargeHatches.clear(); - this.mDischargeHatches.clear(); - this.mAirIntakes.clear(); - this.mTecTechEnergyHatches.clear(); - this.mTecTechDynamoHatches.clear(); - this.mAllEnergyHatches.clear(); - this.mAllDynamoHatches.clear(); - } - } - - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - @Override - public void explodeMultiblock() { - MetaTileEntity tTileEntity; - for (final Iterator localIterator = this.mChargeHatches - .iterator(); localIterator.hasNext(); tTileEntity.getBaseMetaTileEntity() - .doExplosion(gregtech.api.enums.GT_Values.V[8])) { - tTileEntity = localIterator.next(); - } - tTileEntity = null; - for (final Iterator localIterator = this.mDischargeHatches - .iterator(); localIterator.hasNext(); tTileEntity.getBaseMetaTileEntity() - .doExplosion(gregtech.api.enums.GT_Values.V[8])) { - tTileEntity = localIterator.next(); - } - tTileEntity = null; - for (final Iterator localIterator = this.mTecTechDynamoHatches - .iterator(); localIterator.hasNext(); tTileEntity.getBaseMetaTileEntity() - .doExplosion(gregtech.api.enums.GT_Values.V[8])) { - tTileEntity = localIterator.next(); - } - tTileEntity = null; - for (final Iterator localIterator = this.mTecTechEnergyHatches - .iterator(); localIterator.hasNext(); tTileEntity.getBaseMetaTileEntity() - .doExplosion(gregtech.api.enums.GT_Values.V[8])) { - tTileEntity = localIterator.next(); - } - - super.explodeMultiblock(); - } - - protected boolean setGUIItemStack(ItemStack aNewGuiSlotContents) { - boolean result = false; - if (this.mInventory[1] == null) { - this.mInventory[1] = aNewGuiSlotContents != null ? aNewGuiSlotContents.copy() : null; - this.depleteInput(aNewGuiSlotContents); - this.updateSlots(); - result = true; - } - return result; - } - - public ItemStack findItemInInventory(Item aSearchStack) { - return findItemInInventory(aSearchStack, 0); - } - - public ItemStack findItemInInventory(Item aSearchStack, int aMeta) { - return findItemInInventory(ItemUtils.simpleMetaStack(aSearchStack, aMeta, 1)); - } - - public ItemStack findItemInInventory(ItemStack aSearchStack) { - if (aSearchStack != null && this.mInputBusses.size() > 0) { - for (GT_MetaTileEntity_Hatch_InputBus bus : this.mInputBusses) { - if (bus != null) { - for (ItemStack uStack : bus.mInventory) { - if (uStack != null) { - if (aSearchStack.getClass() - .isInstance(uStack.getItem())) { - return uStack; - } - } - } - } - } - } - return null; - } - - /** - * Deplete fluid input from a set of restricted hatches. This assumes these hatches can store nothing else but your - * expected fluid - */ - protected boolean depleteInputFromRestrictedHatches(Collection aHatches, - int aAmount) { - for (final GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : filterValidMTEs(aHatches)) { - FluidStack tLiquid = tHatch.getFluid(); - if (tLiquid == null || tLiquid.amount < aAmount) { - continue; - } - tLiquid = tHatch.drain(aAmount, false); - if (tLiquid != null && tLiquid.amount >= aAmount) { - tLiquid = tHatch.drain(aAmount, true); - return tLiquid != null && tLiquid.amount >= aAmount; - } - } - return false; - } - - @Override - public void updateSlots() { - for (final GT_MetaTileEntity_Hatch_InputBattery tHatch : filterValidMTEs(this.mChargeHatches)) { - tHatch.updateSlots(); - } - for (final GT_MetaTileEntity_Hatch_OutputBattery tHatch : filterValidMTEs(this.mDischargeHatches)) { - tHatch.updateSlots(); - } - super.updateSlots(); - } - - /** - * Causes a Random Maint. Issue. - * - * @return {@link boolean} - Returns whether or not an issue was caused, should always be true. - */ - public boolean causeMaintenanceIssue() { - boolean b = false; - switch (this.getBaseMetaTileEntity() - .getRandomNumber(6)) { - case 0 -> { - this.mWrench = false; - b = true; - } - case 1 -> { - this.mScrewdriver = false; - b = true; - } - case 2 -> { - this.mSoftHammer = false; - b = true; - } - case 3 -> { - this.mHardHammer = false; - b = true; - } - case 4 -> { - this.mSolderingTool = false; - b = true; - } - case 5 -> { - this.mCrowbar = false; - b = true; - } - } - return b; - } - - public void fixAllMaintenanceIssue() { - this.mCrowbar = true; - this.mWrench = true; - this.mHardHammer = true; - this.mSoftHammer = true; - this.mSolderingTool = true; - this.mScrewdriver = true; - } - - public boolean checkHatch() { - return mMaintenanceHatches.size() <= 1 - && (this.getPollutionPerSecond(null) > 0 ? !mMufflerHatches.isEmpty() : true); - } - - @Override - public void clearHatches() { - super.clearHatches(); - this.mChargeHatches.clear(); - this.mDischargeHatches.clear(); - this.mAirIntakes.clear(); - this.mTecTechEnergyHatches.clear(); - this.mTecTechDynamoHatches.clear(); - this.mAllEnergyHatches.clear(); - this.mAllDynamoHatches.clear(); - } - - public boolean addToMachineListInternal(ArrayList aList, final IGregTechTileEntity aTileEntity, - final int aBaseCasingIndex) { - return addToMachineListInternal(aList, getMetaTileEntity(aTileEntity), aBaseCasingIndex); - } - - public boolean addToMachineListInternal(ArrayList aList, final IMetaTileEntity aTileEntity, - final int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } - - // Check type - /* - * Class aHatchType = ReflectionUtils.getTypeOfGenericObject(aList); if - * (!aHatchType.isInstance(aTileEntity)) { return false; } - */ - - // Try setRecipeMap - - try { - if (aTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - resetRecipeMapForHatch((GT_MetaTileEntity_Hatch) aTileEntity, getRecipeMap()); - } - if (aTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { - resetRecipeMapForHatch((GT_MetaTileEntity_Hatch) aTileEntity, getRecipeMap()); - } - } catch (Throwable t) { - t.printStackTrace(); - } - - if (aList.isEmpty()) { - if (aTileEntity instanceof GT_MetaTileEntity_Hatch) { - if (GTplusplus.CURRENT_LOAD_PHASE == INIT_PHASE.STARTED) { - log( - "Adding " + aTileEntity.getInventoryName() - + " at " - + new BlockPos(aTileEntity.getBaseMetaTileEntity()).getLocationString()); - } - updateTexture(aTileEntity, aBaseCasingIndex); - return aList.add((E) aTileEntity); - } - } else { - IGregTechTileEntity aCur = aTileEntity.getBaseMetaTileEntity(); - if (aList.contains(aTileEntity)) { - log( - "Found Duplicate " + aTileEntity.getInventoryName() - + " @ " - + new BlockPos(aCur).getLocationString()); - return false; - } - BlockPos aCurPos = new BlockPos(aCur); - boolean aExists = false; - for (E m : aList) { - IGregTechTileEntity b = ((IMetaTileEntity) m).getBaseMetaTileEntity(); - if (b != null) { - BlockPos aPos = new BlockPos(b); - if (aPos != null) { - if (aCurPos.equals(aPos)) { - if (GTplusplus.CURRENT_LOAD_PHASE == INIT_PHASE.STARTED) { - log("Found Duplicate " + b.getInventoryName() + " at " + aPos.getLocationString()); - } - return false; - } - } - } - } - if (aTileEntity instanceof GT_MetaTileEntity_Hatch) { - if (GTplusplus.CURRENT_LOAD_PHASE == INIT_PHASE.STARTED) { - log("Adding " + aCur.getInventoryName() + " at " + aCurPos.getLocationString()); - } - updateTexture(aTileEntity, aBaseCasingIndex); - return aList.add((E) aTileEntity); - } - } - return false; - } - - private IMetaTileEntity getMetaTileEntity(final IGregTechTileEntity aTileEntity) { - if (aTileEntity == null) { - return null; - } - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - return aMetaTileEntity; - } - - @Override - public boolean addToMachineList(final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) { - return addToMachineList(getMetaTileEntity(aTileEntity), aBaseCasingIndex); - } - - public boolean addToMachineList(final IMetaTileEntity aMetaTileEntity, final int aBaseCasingIndex) { - if (aMetaTileEntity == null) { - return false; - } - - // Use this to determine the correct value, then update the hatch texture after. - boolean aDidAdd = false; - - // Handle Custom Hatches - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBattery) { - log("Found GT_MetaTileEntity_Hatch_InputBattery"); - aDidAdd = addToMachineListInternal(mChargeHatches, aMetaTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBattery) { - log("Found GT_MetaTileEntity_Hatch_OutputBattery"); - aDidAdd = addToMachineListInternal(mDischargeHatches, aMetaTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_AirIntake) { - aDidAdd = addToMachineListInternal(mAirIntakes, aMetaTileEntity, aBaseCasingIndex) - && addToMachineListInternal(mInputHatches, aMetaTileEntity, aBaseCasingIndex); - } - - // Handle TT Multi-A Energy Hatches - else if (TecTech.isModLoaded() && isThisHatchMultiEnergy(aMetaTileEntity)) { - log("Found isThisHatchMultiEnergy"); - aDidAdd = addToMachineListInternal(mTecTechEnergyHatches, aMetaTileEntity, aBaseCasingIndex); - updateMasterEnergyHatchList(aMetaTileEntity); - } - - // Handle TT Multi-A Dynamos - else if (TecTech.isModLoaded() && isThisHatchMultiDynamo(aMetaTileEntity)) { - log("Found isThisHatchMultiDynamo"); - aDidAdd = addToMachineListInternal(mTecTechDynamoHatches, aMetaTileEntity, aBaseCasingIndex); - updateMasterDynamoHatchList(aMetaTileEntity); - } - - // Handle Fluid Hatches using seperate logic - else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) - aDidAdd = addToMachineListInternal(mInputHatches, aMetaTileEntity, aBaseCasingIndex); - else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) - aDidAdd = addToMachineListInternal(mOutputHatches, aMetaTileEntity, aBaseCasingIndex); - - // Process Remaining hatches using Vanilla GT Logic - else if (aMetaTileEntity instanceof IDualInputHatch hatch) { - hatch.updateCraftingIcon(this.getMachineCraftingIcon()); - aDidAdd = addToMachineListInternal(mDualInputHatches, aMetaTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) - aDidAdd = addToMachineListInternal(mInputBusses, aMetaTileEntity, aBaseCasingIndex); - else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) - aDidAdd = addToMachineListInternal(mOutputBusses, aMetaTileEntity, aBaseCasingIndex); - else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) { - aDidAdd = addToMachineListInternal(mEnergyHatches, aMetaTileEntity, aBaseCasingIndex); - updateMasterEnergyHatchList(aMetaTileEntity); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo) { - aDidAdd = addToMachineListInternal(mDynamoHatches, aMetaTileEntity, aBaseCasingIndex); - updateMasterDynamoHatchList(aMetaTileEntity); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) - aDidAdd = addToMachineListInternal(mMaintenanceHatches, aMetaTileEntity, aBaseCasingIndex); - else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler) - aDidAdd = addToMachineListInternal(mMufflerHatches, aMetaTileEntity, aBaseCasingIndex); - - // return super.addToMachineList(aTileEntity, aBaseCasingIndex); - return aDidAdd; - } - - @Override - public boolean addMaintenanceToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { - return addToMachineList(aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - @Override - public boolean addMufflerToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler) { - return addToMachineList(aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - @Override - public boolean addInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input - || aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { - return addToMachineList(aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - @Override - public boolean addOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output - || aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) { - return addToMachineList(aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - public boolean addAirIntakeToMachineList(final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) { - IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_AirIntake) { - return addToMachineList(aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - public boolean addFluidInputToMachineList(final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) { - return addFluidInputToMachineList(getMetaTileEntity(aTileEntity), aBaseCasingIndex); - } - - public boolean addFluidInputToMachineList(final IMetaTileEntity aMetaTileEntity, final int aBaseCasingIndex) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - return addToMachineList(aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - public boolean clearRecipeMapForAllInputHatches() { - return resetRecipeMapForAllInputHatches(null); - } - - public boolean resetRecipeMapForAllInputHatches() { - return resetRecipeMapForAllInputHatches(this.getRecipeMap()); - } - - public boolean resetRecipeMapForAllInputHatches(RecipeMap aMap) { - int cleared = 0; - for (GT_MetaTileEntity_Hatch_Input g : this.mInputHatches) { - if (resetRecipeMapForHatch(g, aMap)) { - cleared++; - } - } - for (GT_MetaTileEntity_Hatch_InputBus g : this.mInputBusses) { - if (resetRecipeMapForHatch(g, aMap)) { - cleared++; - } - } - return cleared > 0; - } - - public boolean resetRecipeMapForHatch(IGregTechTileEntity aTileEntity, RecipeMap aMap) { - try { - final IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity == null) { - return false; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input - || aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus - || aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Steam_BusInput) { - return resetRecipeMapForHatch((GT_MetaTileEntity_Hatch) aMetaTileEntity, aMap); - } else { - return false; - } - } catch (Throwable t) { - t.printStackTrace(); - return false; - } - } - - public boolean resetRecipeMapForHatch(GT_MetaTileEntity_Hatch aTileEntity, RecipeMap aMap) { - if (aTileEntity == null) { - return false; - } - final IMetaTileEntity aMetaTileEntity = aTileEntity; - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input - || aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus - || aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Steam_BusInput) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = null; - ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = aMap; - if (aMap != null) { - log("Remapped Input Hatch to " + aMap.unlocalizedName + "."); - } else { - log("Cleared Input Hatch."); - } - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { - ((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = null; - ((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = aMap; - if (aMap != null) { - log("Remapped Input Bus to " + aMap.unlocalizedName + "."); - } else { - log("Cleared Input Bus."); - } - } else { - ((GT_MetaTileEntity_Hatch_Steam_BusInput) aMetaTileEntity).mRecipeMap = null; - ((GT_MetaTileEntity_Hatch_Steam_BusInput) aMetaTileEntity).mRecipeMap = aMap; - if (aMap != null) { - log("Remapped Input Bus to " + aMap.unlocalizedName + "."); - } else { - log("Cleared Input Bus."); - } - } - return true; - } else { - return false; - } - } - - @Override - public final void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); - clearRecipeMapForAllInputHatches(); - onModeChangeByScrewdriver(side, aPlayer, aX, aY, aZ); - resetRecipeMapForAllInputHatches(); - } - - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) {} - - /** - * Enable Texture Casing Support if found in GT 5.09 - */ - public boolean updateTexture(final IGregTechTileEntity aTileEntity, int aCasingID) { - return updateTexture(getMetaTileEntity(aTileEntity), aCasingID); - } - - /** - * Enable Texture Casing Support if found in GT 5.09 - */ - public boolean updateTexture(final IMetaTileEntity aTileEntity, int aCasingID) { - try { // gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch.updateTexture(int) - - final IMetaTileEntity aMetaTileEntity = aTileEntity; - if (aMetaTileEntity == null) { - return false; - } - Method mProper = ReflectionUtils.getMethod(GT_MetaTileEntity_Hatch.class, "updateTexture", int.class); - if (mProper != null) { - if (GT_MetaTileEntity_Hatch.class.isInstance(aMetaTileEntity)) { - mProper.setAccessible(true); - mProper.invoke(aMetaTileEntity, aCasingID); - // log("Good Method Call for updateTexture."); - return true; - } - } else { - log("Bad Method Call for updateTexture."); - if (GT_MetaTileEntity_Hatch.class.isInstance(aMetaTileEntity)) { - if (aCasingID <= Byte.MAX_VALUE) { - ((GT_MetaTileEntity_Hatch) aTileEntity).updateTexture(aCasingID); - log( - "Good Method Call for updateTexture. Used fallback method of setting mMachineBlock as casing id was <= 128."); - return true; - } else { - log("updateTexture returning false. 1.2"); - } - } else { - log("updateTexture returning false. 1.3"); - } - } - log("updateTexture returning false. 1"); - return false; - } catch (SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - log("updateTexture returning false."); - log("updateTexture returning false. 2"); - e.printStackTrace(); - return false; - } - } - - /** - * TecTech Support - */ - - /** - * This is the array Used to Store the Tectech Multi-Amp Dynamo hatches. - */ - public ArrayList mTecTechDynamoHatches = new ArrayList<>(); - - /** - * This is the array Used to Store the Tectech Multi-Amp Energy hatches. - */ - public ArrayList mTecTechEnergyHatches = new ArrayList<>(); - - /** - * TecTech Multi-Amp Dynamo Support - * - * @param aTileEntity - The Dynamo Hatch - * @param aBaseCasingIndex - Casing Texture - * @return - */ - public boolean addMultiAmpDynamoToMachineList(final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) { - final IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity == null) { - return false; - } - if (isThisHatchMultiDynamo(aTileEntity)) { - return addToMachineListInternal(mTecTechDynamoHatches, aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - public boolean isThisHatchMultiDynamo(IGregTechTileEntity aTileEntity) { - return isThisHatchMultiDynamo(getMetaTileEntity(aTileEntity)); - } - - public boolean isThisHatchMultiDynamo(IMetaTileEntity aMetaTileEntity) { - Class mDynamoClass; - mDynamoClass = ReflectionUtils - .getClass("com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti"); - if (mDynamoClass != null) { - if (mDynamoClass.isInstance(aMetaTileEntity)) { - return true; - } - } - return false; - } - - @Override - public boolean addDynamoToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo || isThisHatchMultiDynamo(aMetaTileEntity)) { - return addToMachineList(aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - private boolean updateMasterDynamoHatchList(IMetaTileEntity aMetaTileEntity) { - if (aMetaTileEntity == null) { - return false; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch aHatch) { - return mAllDynamoHatches.add(aHatch); - } - return false; - } - - /** - * TecTech Multi-Amp Energy Hatch Support - * - * @param aTileEntity - The Energy Hatch - * @param aBaseCasingIndex - Casing Texture - * @return - */ - public boolean addMultiAmpEnergyToMachineList(final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) { - final IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity == null) { - return false; - } - if (isThisHatchMultiEnergy(aMetaTileEntity)) { - return addToMachineListInternal(mTecTechEnergyHatches, aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - public boolean isThisHatchMultiEnergy(IGregTechTileEntity aTileEntity) { - return isThisHatchMultiEnergy(getMetaTileEntity(aTileEntity)); - } - - public boolean isThisHatchMultiEnergy(IMetaTileEntity aMetaTileEntity) { - Class mDynamoClass; - mDynamoClass = ReflectionUtils - .getClass("com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti"); - if (mDynamoClass != null) { - if (mDynamoClass.isInstance(aMetaTileEntity)) { - return true; - } - } - return false; - } - - @Override - public boolean addEnergyInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy || isThisHatchMultiEnergy(aMetaTileEntity)) { - return addToMachineList(aMetaTileEntity, aBaseCasingIndex); - } - return false; - } - - private boolean updateMasterEnergyHatchList(IMetaTileEntity aMetaTileEntity) { - if (aMetaTileEntity == null) { - return false; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch aHatch) { - return mAllEnergyHatches.add(aHatch); - } - return false; - } - - /** - * Pollution Management - */ - public int calculatePollutionReductionForHatch(GT_MetaTileEntity_Hatch_Muffler hatch, int poll) { - return hatch.calculatePollutionReduction(poll); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setLong("mTotalRunTime", this.mTotalRunTime); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - this.mTotalRunTime = aNBT.getLong("mTotalRunTime"); - if (aNBT.hasKey("mVoidExcess")) { - // backward compatibility - voidingMode = aNBT.getBoolean("mVoidExcess") ? VoidingMode.VOID_ALL : VoidingMode.VOID_NONE; - } - if (aNBT.hasKey("mUseMultiparallelMode")) { - // backward compatibility - batchMode = aNBT.getBoolean("mUseMultiparallelMode"); - } - } - - /** - * Custom Tool Handling - */ - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, ForgeDirection side, - float aX, float aY, float aZ) { - // Do Things - if (this.getBaseMetaTileEntity() - .isServerSide()) { - // Logger.INFO("Right Clicked Controller."); - ItemStack tCurrentItem = aPlayer.inventory.getCurrentItem(); - if (tCurrentItem != null) { - // Logger.INFO("Holding Item."); - if (tCurrentItem.getItem() instanceof GT_MetaGenerated_Tool) { - // Logger.INFO("Is GT_MetaGenerated_Tool."); - int[] aOreID = OreDictionary.getOreIDs(tCurrentItem); - for (int id : aOreID) { - // Plunger - if (OreDictionary.getOreName(id) - .equals("craftingToolPlunger")) { - // Logger.INFO("Is Plunger."); - return onPlungerRightClick(aPlayer, side, aX, aY, aZ); - } - } - } - } - } - // Do Super - boolean aSuper = super.onRightclick(aBaseMetaTileEntity, aPlayer, side, aX, aY, aZ); - return aSuper; - } - - public boolean onPlungerRightClick(EntityPlayer aPlayer, ForgeDirection side, float aX, float aY, float aZ) { - int aHatchIndex = 0; - PlayerUtils.messagePlayer(aPlayer, "Trying to clear " + mOutputHatches.size() + " output hatches."); - for (GT_MetaTileEntity_Hatch_Output hatch : this.mOutputHatches) { - if (hatch.mFluid != null) { - PlayerUtils.messagePlayer( - aPlayer, - "Clearing " + hatch.mFluid.amount - + "L of " - + hatch.mFluid.getLocalizedName() - + " from hatch " - + aHatchIndex - + "."); - hatch.mFluid = null; - } - aHatchIndex++; - } - return aHatchIndex > 0; - } - - @Override - public boolean onWireCutterRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, - float aX, float aY, float aZ) { - if (aPlayer.isSneaking()) { - batchMode = !batchMode; - if (batchMode) { - GT_Utility.sendChatToPlayer(aPlayer, StatCollector.translateToLocal("misc.BatchModeTextOn")); - } else { - GT_Utility.sendChatToPlayer(aPlayer, StatCollector.translateToLocal("misc.BatchModeTextOff")); - } - return true; - } - return false; - } - - @Override - public boolean onSolderingToolRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, - float aX, float aY, float aZ) { - if (supportsVoidProtection() && wrenchingSide == getBaseMetaTileEntity().getFrontFacing()) { - Set allowed = getAllowedVoidingModes(); - setVoidingMode(getVoidingMode().nextInCollection(allowed)); - GT_Utility.sendChatToPlayer( - aPlayer, - StatCollector.translateToLocal("GT5U.gui.button.voiding_mode") + " " - + StatCollector.translateToLocal(getVoidingMode().getTransKey())); - return true; - } else return super.onSolderingToolRightClick(side, wrenchingSide, aPlayer, aX, aY, aZ); - } - - @Override - public void onServerStart() { - super.onServerStart(); - tryTickWaitTimerDown(); - } - - @Override - public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - super.onFirstTick(aBaseMetaTileEntity); - tryTickWaitTimerDown(); - } - - @Override - public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPreTick(aBaseMetaTileEntity, aTick); - tryTickWaitTimerDown(); - } - - @Override - public void onCreated(ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - super.onCreated(aStack, aWorld, aPlayer); - tryTickWaitTimerDown(); - } - - private void tryTickWaitTimerDown() { - /* - * if (mStartUpCheck > 10) { mStartUpCheck = 10; } - */ - } - - // Only support to use meta to tier - - /** - * accept meta [0, maxMeta) - * - * @param maxMeta exclusive - */ - public static IStructureElement addTieredBlock(Block aBlock, BiConsumer aSetTheMeta, - Function aGetTheMeta, int maxMeta) { - return addTieredBlock(aBlock, (t, i) -> { - aSetTheMeta.accept(t, i); - return true; - }, aGetTheMeta, 0, maxMeta); - } - - /** - * - * @param minMeta inclusive - * @param maxMeta exclusive - */ - public static IStructureElement addTieredBlock(Block aBlock, BiConsumer aSetTheMeta, - Function aGetTheMeta, int minMeta, int maxMeta) { - return addTieredBlock(aBlock, (t, i) -> { - aSetTheMeta.accept(t, i); - return true; - }, aGetTheMeta, minMeta, maxMeta); - } - - /** - * - * @param minMeta inclusive - * @param maxMeta exclusive - */ - public static IStructureElement addTieredBlock(Block aBlock, BiPredicate aSetTheMeta, - Function aGetTheMeta, int minMeta, int maxMeta) { - - return new IStructureElement<>() { - - @Override - public boolean check(T t, World world, int x, int y, int z) { - Block tBlock = world.getBlock(x, y, z); - if (aBlock == tBlock) { - Integer currentMeta = aGetTheMeta.apply(t); - int newMeta = tBlock.getDamageValue(world, x, y, z) + 1; - if (newMeta > maxMeta || newMeta < minMeta + 1) return false; - if (currentMeta == 0) { - return aSetTheMeta.test(t, newMeta); - } else { - return currentMeta == newMeta; - } - } - return false; - } - - @Override - public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLibAPI.hintParticle(world, x, y, z, aBlock, getMeta(trigger)); - return true; - } - - @Override - public boolean placeBlock(T t, World world, int x, int y, int z, ItemStack trigger) { - return world.setBlock(x, y, z, aBlock, getMeta(trigger), 3); - } - - private int getMeta(ItemStack trigger) { - int meta = trigger.stackSize; - if (meta <= 0) meta = minMeta; - if (meta + minMeta >= maxMeta) meta = maxMeta - 1 - minMeta; - return meta + minMeta; - } - - @Nullable - @Override - public BlocksToPlace getBlocksToPlace(T t, World world, int x, int y, int z, ItemStack trigger, - AutoPlaceEnvironment env) { - return BlocksToPlace.create(aBlock, getMeta(trigger)); - } - - @Override - public PlaceResult survivalPlaceBlock(T t, World world, int x, int y, int z, ItemStack trigger, - AutoPlaceEnvironment env) { - if (world.getBlock(x, y, z) == aBlock) { - if (world.getBlockMetadata(x, y, z) == getMeta(trigger)) { - return PlaceResult.SKIP; - } - return PlaceResult.REJECT; - } - return StructureUtility.survivalPlaceBlock( - aBlock, - getMeta(trigger), - world, - x, - y, - z, - env.getSource(), - env.getActor(), - env.getChatter()); - } - }; - } - - @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection facing, - int aColorIndex, boolean aActive, boolean aRedstone) { - if (side == facing) { - if (aActive) return new ITexture[] { getCasingTexture(), TextureFactory.builder() - .addIcon(getActiveOverlay()) - .extFacing() - .build() }; - return new ITexture[] { getCasingTexture(), TextureFactory.builder() - .addIcon(getInactiveOverlay()) - .extFacing() - .build() }; - } - return new ITexture[] { getCasingTexture() }; - } - - protected IIconContainer getActiveOverlay() { - return null; - } - - protected IIconContainer getInactiveOverlay() { - return null; - } - - protected ITexture getCasingTexture() { - return Textures.BlockIcons.getCasingTextureForId(getCasingTextureId()); - } - - protected int getCasingTextureId() { - return 0; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - if (doesBindPlayerInventory()) { - super.addUIWidgets(builder, buildContext); - } else { - addNoPlayerInventoryUI(builder, buildContext); - } - } - - private static final Materials GOOD = Materials.Uranium; - private static final Materials BAD = Materials.Plutonium; - private static final ConcurrentHashMap mToolStacks = new ConcurrentHashMap<>(); - - @Override - public boolean supportsVoidProtection() { - return true; - } - - @Override - public boolean supportsBatchMode() { - return true; - } - - protected void addNoPlayerInventoryUI(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget( - new DrawableWidget().setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) - .setPos(3, 4) - .setSize(152, 159)); - for (int i = 0; i < 9; i++) { - builder.widget( - new DrawableWidget().setDrawable(GT_UITextures.BUTTON_STANDARD) - .setPos(155, 3 + i * 18) - .setSize(18, 18)); - } - - DynamicPositionedColumn screenElements = new DynamicPositionedColumn(); - drawTextsNoPlayerInventory(screenElements); - builder.widget(screenElements); - - setupToolDisplay(); - - builder.widget( - new ItemDrawable(() -> mToolStacks.get(mWrench + "WRENCH")).asWidget() - .setPos(156, 58)) - .widget(new FakeSyncWidget.BooleanSyncer(() -> mWrench, val -> mWrench = val)); - builder.widget( - new ItemDrawable(() -> mToolStacks.get(mCrowbar + "CROWBAR")).asWidget() - .setPos(156, 76)) - .widget(new FakeSyncWidget.BooleanSyncer(() -> mCrowbar, val -> mCrowbar = val)); - builder.widget( - new ItemDrawable(() -> mToolStacks.get(mHardHammer + "HARDHAMMER")).asWidget() - .setPos(156, 94)) - .widget( - new TextWidget("H").setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(167, 103)) - .widget(new FakeSyncWidget.BooleanSyncer(() -> mHardHammer, val -> mHardHammer = val)); - builder.widget( - new ItemDrawable(() -> mToolStacks.get(mSoftHammer + "SOFTHAMMER")).asWidget() - .setPos(156, 112)) - .widget( - new TextWidget("M").setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(167, 121)) - .widget(new FakeSyncWidget.BooleanSyncer(() -> mSoftHammer, val -> mSoftHammer = val)); - builder.widget( - new ItemDrawable(() -> mToolStacks.get(mScrewdriver + "SCREWDRIVER")).asWidget() - .setPos(156, 130)) - .widget(new FakeSyncWidget.BooleanSyncer(() -> mScrewdriver, val -> mScrewdriver = val)); - builder.widget( - new ItemDrawable(() -> mToolStacks.get(mSolderingTool + "SOLDERING_IRON_LV")).asWidget() - .setPos(156, 148)) - .widget(new FakeSyncWidget.BooleanSyncer(() -> mSolderingTool, val -> mSolderingTool = val)); - builder.widget( - new ItemDrawable(() -> mToolStacks.get(getBaseMetaTileEntity().isActive() + "GLASS")).asWidget() - .setPos(156, 22)) - .widget( - TextWidget.dynamicString(() -> getBaseMetaTileEntity().isActive() ? "On" : "Off") - .setSynced(false) - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(157, 31)) - .widget( - new FakeSyncWidget.BooleanSyncer( - () -> getBaseMetaTileEntity().isActive(), - val -> getBaseMetaTileEntity().setActive(val))); - } - - protected void drawTextsNoPlayerInventory(DynamicPositionedColumn screenElements) { - screenElements.setSynced(false) - .setSpace(0) - .setPos(6, 7); - - screenElements - .widget( - new TextWidget(GT_Utility.trans("138", "Incomplete Structure.")).setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> !mMachine)) - .widget(new FakeSyncWidget.BooleanSyncer(() -> mMachine, val -> mMachine = val)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal("GTPP.machines.input") + " " - + StatCollector.translateToLocal("GTPP.machines.tier") - + ": " - + EnumChatFormatting.GREEN - + GT_Values.VOLTAGE_NAMES[(int) getInputTier()]) - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine && getInputTier() > 0)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal("GTPP.machines.output") + " " - + StatCollector.translateToLocal("GTPP.machines.tier") - + ": " - + EnumChatFormatting.GREEN - + GT_Values.VOLTAGE_NAMES[(int) getOutputTier()]) - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine && getOutputTier() > 0)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal("GTPP.multiblock.progress") + ": " - + EnumChatFormatting.GREEN - + getBaseMetaTileEntity().getProgress() / 20 - + EnumChatFormatting.RESET - + " s / " - + EnumChatFormatting.YELLOW - + getBaseMetaTileEntity().getMaxProgress() / 20 - + EnumChatFormatting.RESET - + " s") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - new TextWidget(StatCollector.translateToLocal("GTPP.multiblock.energy") + ":") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal( - "" + EnumChatFormatting.GREEN - + getStoredEnergyInAllEnergyHatches() - + EnumChatFormatting.RESET - + " EU / " - + EnumChatFormatting.YELLOW - + getMaxEnergyStorageOfAllEnergyHatches() - + EnumChatFormatting.RESET - + " EU")) - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - new TextWidget(StatCollector.translateToLocal("GTPP.multiblock.usage") + ":") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine && getLastRecipeEU() > 0 && getLastRecipeDuration() > 0)) - .widget( - TextWidget.dynamicString( - () -> StatCollector.translateToLocal( - "" + EnumChatFormatting.RED + -getLastRecipeEU() + EnumChatFormatting.RESET + " EU/t/parallel")) - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine && getLastRecipeEU() > 0 && getLastRecipeDuration() > 0)) - .widget( - TextWidget.dynamicString(() -> StatCollector.translateToLocal("GTPP.multiblock.generation") + ":") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine && getLastRecipeEU() < 0 && getLastRecipeDuration() > 0)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal( - "" + EnumChatFormatting.GREEN - + getLastRecipeEU() - + EnumChatFormatting.RESET - + " EU/t/parallel")) - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine && getLastRecipeEU() < 0 && getLastRecipeDuration() > 0)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal("GTPP.multiblock.duration") + ": " - + EnumChatFormatting.RED - + getLastRecipeDuration() - + EnumChatFormatting.RESET - + " ticks") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine && getLastRecipeEU() != 0 && getLastRecipeDuration() > 0)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal("GTPP.multiblock.specialvalue") + ": " - + EnumChatFormatting.RED - + getLastRecipeEU() - + EnumChatFormatting.RESET - + "") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled( - widget -> mMachine && getLastRecipeEU() != 0 - && getLastRecipeDuration() > 0 - && (mLastRecipe != null ? mLastRecipe.mSpecialValue : 0) > 0)) - .widget( - new TextWidget(StatCollector.translateToLocal("GTPP.multiblock.mei") + ":") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal( - "" + EnumChatFormatting.YELLOW - + getMaxInputVoltage() - + EnumChatFormatting.RESET - + " EU/t(*2A) " - + StatCollector.translateToLocal("GTPP.machines.tier") - + ": " - + EnumChatFormatting.YELLOW - + GT_Values.VN[GT_Utility.getTier(getMaxInputVoltage())] - + EnumChatFormatting.RESET)) - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal("GTPP.multiblock.efficiency") + ": " - + EnumChatFormatting.YELLOW - + (mEfficiency / 100.0F) - + EnumChatFormatting.RESET - + " %") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal("GTPP.multiblock.pollution") + ": " - + EnumChatFormatting.RED - + (getPollutionPerTick(null) * 20) - + EnumChatFormatting.RESET - + "/sec") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> StatCollector.translateToLocal("GTPP.multiblock.pollutionreduced") + ": " - + EnumChatFormatting.GREEN - + getPollutionReductionForAllMufflers() - + EnumChatFormatting.RESET - + " %") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - new TextWidget("Total Time Since Built: ").setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> "" + EnumChatFormatting.DARK_GREEN - + getRuntimeWeeksDisplay() - + EnumChatFormatting.RESET - + " Weeks,") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> "" + EnumChatFormatting.DARK_GREEN - + getRuntimeDaysDisplay() - + EnumChatFormatting.RESET - + " Days,") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> "" + EnumChatFormatting.DARK_GREEN - + getRuntimeHoursDisplay() - + EnumChatFormatting.RESET - + " Hours,") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> "" + EnumChatFormatting.DARK_GREEN - + getRuntimeMinutesDisplay() - + EnumChatFormatting.RESET - + " Minutes,") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)) - .widget( - TextWidget - .dynamicString( - () -> "" + EnumChatFormatting.DARK_GREEN - + getRuntimeSecondsDisplay() - + EnumChatFormatting.RESET - + " Seconds") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setEnabled(widget -> mMachine)); - } - - protected int getLastRecipeEU() { - return mLastRecipe != null ? mLastRecipe.mEUt : 0; - } - - protected int getLastRecipeDuration() { - return mLastRecipe != null ? mLastRecipe.mDuration : 0; - } - - protected long getRuntimeSeconds() { - return getTotalRuntimeInTicks() / 20; - } - - protected long getRuntimeWeeksDisplay() { - return TimeUnit.SECONDS.toDays(getRuntimeSeconds()) / 7; - } - - protected long getRuntimeDaysDisplay() { - return TimeUnit.SECONDS.toDays(getRuntimeSeconds()) - 7 * getRuntimeWeeksDisplay(); - } - - protected long getRuntimeHoursDisplay() { - return TimeUnit.SECONDS.toHours(getRuntimeSeconds()) - TimeUnit.DAYS.toHours(getRuntimeDaysDisplay()) - - TimeUnit.DAYS.toHours(7 * getRuntimeWeeksDisplay()); - } - - protected long getRuntimeMinutesDisplay() { - return TimeUnit.SECONDS.toMinutes(getRuntimeSeconds()) - (TimeUnit.SECONDS.toHours(getRuntimeSeconds()) * 60); - } - - protected long getRuntimeSecondsDisplay() { - return TimeUnit.SECONDS.toSeconds(getRuntimeSeconds()) - (TimeUnit.SECONDS.toMinutes(getRuntimeSeconds()) * 60); - } - - protected void setupToolDisplay() { - if (!mToolStacks.isEmpty()) return; - - mToolStacks.put( - true + "WRENCH", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.WRENCH, 1, GOOD, Materials.Tungsten, null)); - mToolStacks.put( - true + "CROWBAR", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.CROWBAR, 1, GOOD, Materials.Tungsten, null)); - mToolStacks.put( - true + "HARDHAMMER", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.HARDHAMMER, 1, GOOD, Materials.Tungsten, null)); - mToolStacks.put( - true + "SOFTHAMMER", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.SOFTMALLET, 1, GOOD, Materials.Tungsten, null)); - mToolStacks.put( - true + "SCREWDRIVER", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.SCREWDRIVER, 1, GOOD, Materials.Tungsten, null)); - mToolStacks.put( - true + "SOLDERING_IRON_LV", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.SOLDERING_IRON_LV, 1, GOOD, Materials.Tungsten, null)); - - mToolStacks.put( - false + "WRENCH", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.WRENCH, 1, BAD, Materials.Tungsten, null)); - mToolStacks.put( - false + "CROWBAR", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.CROWBAR, 1, BAD, Materials.Tungsten, null)); - mToolStacks.put( - false + "HARDHAMMER", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.HARDHAMMER, 1, BAD, Materials.Tungsten, null)); - mToolStacks.put( - false + "SOFTHAMMER", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.SOFTMALLET, 1, BAD, Materials.Tungsten, null)); - mToolStacks.put( - false + "SCREWDRIVER", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.SCREWDRIVER, 1, BAD, Materials.Tungsten, null)); - mToolStacks.put( - false + "SOLDERING_IRON_LV", - GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.SOLDERING_IRON_LV, 1, BAD, Materials.Tungsten, null)); - - ItemStack aGlassPane1 = ItemUtils.getItemStackOfAmountFromOreDict("paneGlassRed", 1); - ItemStack aGlassPane2 = ItemUtils.getItemStackOfAmountFromOreDict("paneGlassLime", 1); - mToolStacks.put("falseGLASS", aGlassPane1); - mToolStacks.put("trueGLASS", aGlassPane2); - } - - public enum GTPPHatchElement implements IHatchElement> { - - AirIntake(GregtechMeta_MultiBlockBase::addAirIntakeToMachineList, GT_MetaTileEntity_Hatch_AirIntake.class) { - - @Override - public long count(GregtechMeta_MultiBlockBase t) { - return t.mAirIntakes.size(); - } - }, - TTDynamo(GregtechMeta_MultiBlockBase::addMultiAmpDynamoToMachineList, - "com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti") { - - @Override - public long count(GregtechMeta_MultiBlockBase t) { - return t.mTecTechDynamoHatches.size(); - } - }, - TTEnergy(GregtechMeta_MultiBlockBase::addMultiAmpEnergyToMachineList, - "com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti") { - - @Override - public long count(GregtechMeta_MultiBlockBase t) { - return t.mTecTechEnergyHatches.size(); - } - },; - - @SuppressWarnings("unchecked") - private static Class retype(Class clazz) { - return (Class) clazz; - } - - private final List> mMteClasses; - private final IGT_HatchAdder> mAdder; - - @SafeVarargs - GTPPHatchElement(IGT_HatchAdder> aAdder, - Class... aMteClasses) { - this.mMteClasses = Arrays.asList(aMteClasses); - this.mAdder = aAdder; - } - - GTPPHatchElement(IGT_HatchAdder> aAdder, String... aClassNames) { - this.mMteClasses = Arrays.stream(aClassNames) - .map(ReflectionUtils::getClass) - .filter(Objects::nonNull) - .>map(GTPPHatchElement::retype) - .collect(Collectors.toList()); - this.mAdder = aAdder; - } - - @Override - public List> mteClasses() { - return mMteClasses; - } - - @Override - public IGT_HatchAdder> adder() { - return mAdder; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java deleted file mode 100644 index 6e501815f0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java +++ /dev/null @@ -1,428 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base; - -import static gregtech.api.enums.GT_Values.V; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_Utility.filterValidMTEs; -import static gregtech.api.util.GT_Utility.formatNumbers; -import static mcp.mobius.waila.api.SpecialChars.GREEN; -import static mcp.mobius.waila.api.SpecialChars.RED; -import static mcp.mobius.waila.api.SpecialChars.RESET; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.GT_Mod; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IHatchElement; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_HatchElementBuilder; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.GT_Waila; -import gregtech.api.util.IGT_HatchAdder; -import gregtech.api.util.shutdown.ShutDownReasonRegistry; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusInput; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusOutput; -import mcp.mobius.waila.api.IWailaConfigHandler; -import mcp.mobius.waila.api.IWailaDataAccessor; - -public abstract class GregtechMeta_SteamMultiBase> - extends GregtechMeta_MultiBlockBase { - - public ArrayList mSteamInputs = new ArrayList<>(); - public ArrayList mSteamOutputs = new ArrayList<>(); - public ArrayList mSteamInputFluids = new ArrayList<>(); - - protected static final String TT_steaminputbus = StatCollector.translateToLocal("GTPP.MBTT.SteamInputBus"); - protected static final String TT_steamoutputbus = StatCollector.translateToLocal("GTPP.MBTT.SteamOutputBus"); - protected static final String TT_steamhatch = StatCollector.translateToLocal("GTPP.MBTT.SteamHatch"); - - public GregtechMeta_SteamMultiBase(String aName) { - super(aName); - } - - public GregtechMeta_SteamMultiBase(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - if (side == facing) { - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureIndex()), - aActive ? getFrontOverlayActive() : getFrontOverlay() }; - } - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureIndex()) }; - } - - protected abstract GT_RenderedTexture getFrontOverlay(); - - protected abstract GT_RenderedTexture getFrontOverlayActive(); - - private int getCasingTextureIndex() { - return 10; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - protected void setProcessingLogicPower(ProcessingLogic logic) { - logic.setAvailableVoltage(V[1]); - // We need to trick the GT_ParallelHelper we have enough amps for all recipe parallels. - logic.setAvailableAmperage(getMaxParallelRecipes()); - logic.setAmperageOC(false); - } - - public ArrayList getAllSteamStacks() { - ArrayList aFluids = new ArrayList<>(); - FluidStack aSteam = FluidUtils.getSteam(1); - for (FluidStack aFluid : this.getStoredFluids()) { - if (aFluid.isFluidEqual(aSteam)) { - aFluids.add(aFluid); - } - } - return aFluids; - } - - public int getTotalSteamStored() { - int aSteam = 0; - for (FluidStack aFluid : getAllSteamStacks()) { - aSteam += aFluid.amount; - } - return aSteam; - } - - public boolean tryConsumeSteam(int aAmount) { - if (getTotalSteamStored() <= 0) { - return false; - } else { - return this.depleteInput(FluidUtils.getSteam(aAmount)); - } - } - - @Override - public int getMaxEfficiency(ItemStack arg0) { - return 0; - } - - @Override - public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - if (aBaseMetaTileEntity.isServerSide()) { - if (this.mUpdate == 1 || this.mStartUpCheck == 1) { - this.mSteamInputs.clear(); - this.mSteamOutputs.clear(); - this.mSteamInputFluids.clear(); - } - } - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - /** - * Called every tick the Machine runs - */ - @Override - public boolean onRunningTick(ItemStack aStack) { - fixAllMaintenanceIssue(); - if (lEUt < 0) { - long aSteamVal = ((-lEUt * 10000) / Math.max(1000, mEfficiency)); - // Logger.INFO("Trying to drain "+aSteamVal+" steam per tick."); - if (!tryConsumeSteam((int) aSteamVal)) { - stopMachine(ShutDownReasonRegistry.POWER_LOSS); - return false; - } - } - return true; - } - - @Override - public boolean addToMachineList(final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) { - if (aTileEntity == null) { - log("Invalid IGregTechTileEntity"); - return false; - } - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) { - log("Invalid IMetaTileEntity"); - return false; - } - - // Use this to determine the correct value, then update the hatch texture after. - boolean aDidAdd = false; - - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_CustomFluidBase) { - log("Adding Steam Input Hatch"); - aDidAdd = addToMachineListInternal(mSteamInputFluids, aMetaTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Steam_BusInput) { - log( - "Trying to set recipe map. Type: " - + (getRecipeMap() != null ? getRecipeMap().unlocalizedName : "Null")); - this.resetRecipeMapForHatch(aTileEntity, getRecipeMap()); - log("Adding Steam Input Bus"); - aDidAdd = addToMachineListInternal(mSteamInputs, aMetaTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Steam_BusOutput) { - log("Adding Steam Output Bus"); - aDidAdd = addToMachineListInternal(mSteamOutputs, aMetaTileEntity, aBaseCasingIndex); - } - - return aDidAdd; - } - - /* - * Handle I/O with custom hatches - */ - - @Override - public boolean depleteInput(FluidStack aLiquid) { - if (aLiquid == null) return false; - for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : filterValidMTEs(mSteamInputFluids)) { - FluidStack tLiquid = tHatch.getFluid(); - if (tLiquid != null && tLiquid.isFluidEqual(aLiquid)) { - tLiquid = tHatch.drain(aLiquid.amount, false); - if (tLiquid != null && tLiquid.amount >= aLiquid.amount) { - tLiquid = tHatch.drain(aLiquid.amount, true); - return tLiquid != null && tLiquid.amount >= aLiquid.amount; - } - } - } - return false; - } - - @Override - public boolean depleteInput(ItemStack aStack) { - if (GT_Utility.isStackInvalid(aStack)) return false; - FluidStack aLiquid = GT_Utility.getFluidForFilledItem(aStack, true); - if (aLiquid != null) return depleteInput(aLiquid); - for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : filterValidMTEs(mSteamInputFluids)) { - if (GT_Utility.areStacksEqual( - aStack, - tHatch.getBaseMetaTileEntity() - .getStackInSlot(0))) { - if (tHatch.getBaseMetaTileEntity() - .getStackInSlot(0).stackSize >= aStack.stackSize) { - tHatch.getBaseMetaTileEntity() - .decrStackSize(0, aStack.stackSize); - return true; - } - } - } - for (GT_MetaTileEntity_Hatch_Steam_BusInput tHatch : filterValidMTEs(mSteamInputs)) { - tHatch.mRecipeMap = getRecipeMap(); - for (int i = tHatch.getBaseMetaTileEntity() - .getSizeInventory() - 1; i >= 0; i--) { - if (GT_Utility.areStacksEqual( - aStack, - tHatch.getBaseMetaTileEntity() - .getStackInSlot(i))) { - if (tHatch.getBaseMetaTileEntity() - .getStackInSlot(0).stackSize >= aStack.stackSize) { - tHatch.getBaseMetaTileEntity() - .decrStackSize(0, aStack.stackSize); - return true; - } - } - } - } - return false; - } - - @Override - public ArrayList getStoredFluids() { - ArrayList rList = new ArrayList<>(); - for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : filterValidMTEs(mSteamInputFluids)) { - if (tHatch.getFillableStack() != null) { - rList.add(tHatch.getFillableStack()); - } - } - return rList; - } - - @Override - public ArrayList getStoredInputs() { - ArrayList rList = new ArrayList<>(); - for (GT_MetaTileEntity_Hatch_Steam_BusInput tHatch : filterValidMTEs(mSteamInputs)) { - tHatch.mRecipeMap = getRecipeMap(); - for (int i = tHatch.getBaseMetaTileEntity() - .getSizeInventory() - 1; i >= 0; i--) { - if (tHatch.getBaseMetaTileEntity() - .getStackInSlot(i) != null) { - rList.add( - tHatch.getBaseMetaTileEntity() - .getStackInSlot(i)); - } - } - } - return rList; - } - - @Override - public boolean addOutput(ItemStack aStack) { - if (GT_Utility.isStackInvalid(aStack)) return false; - aStack = GT_Utility.copy(aStack); - boolean outputSuccess = true; - while (outputSuccess && aStack.stackSize > 0) { - outputSuccess = false; - ItemStack single = aStack.splitStack(1); - for (GT_MetaTileEntity_Hatch_Steam_BusOutput tHatch : filterValidMTEs(mSteamOutputs)) { - if (!outputSuccess) { - for (int i = tHatch.getSizeInventory() - 1; i >= 0 && !outputSuccess; i--) { - if (tHatch.getBaseMetaTileEntity() - .addStackToSlot(i, single)) outputSuccess = true; - } - } - } - for (GT_MetaTileEntity_Hatch_Output tHatch : filterValidMTEs(mOutputHatches)) { - if (!outputSuccess && tHatch.outputsItems()) { - if (tHatch.getBaseMetaTileEntity() - .addStackToSlot(1, single)) outputSuccess = true; - } - } - } - return outputSuccess; - } - - @Override - public ArrayList getStoredOutputs() { - ArrayList rList = new ArrayList<>(); - for (GT_MetaTileEntity_Hatch_Steam_BusOutput tHatch : filterValidMTEs(mSteamOutputs)) { - for (int i = tHatch.getBaseMetaTileEntity() - .getSizeInventory() - 1; i >= 0; i--) { - rList.add( - tHatch.getBaseMetaTileEntity() - .getStackInSlot(i)); - } - } - return rList; - } - - @Override - public List getItemOutputSlots(ItemStack[] toOutput) { - List ret = new ArrayList<>(); - for (final GT_MetaTileEntity_Hatch tBus : filterValidMTEs(mSteamOutputs)) { - final IInventory tBusInv = tBus.getBaseMetaTileEntity(); - for (int i = 0; i < tBusInv.getSizeInventory(); i++) { - ret.add(tBus.getStackInSlot(i)); - } - } - return ret; - } - - @Override - public void updateSlots() { - for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : filterValidMTEs(mSteamInputFluids)) tHatch.updateSlots(); - for (GT_MetaTileEntity_Hatch_Steam_BusInput tHatch : filterValidMTEs(mSteamInputs)) tHatch.updateSlots(); - } - - @Override - public boolean supportsBatchMode() { - return false; - } - - @Override - public void clearHatches() { - super.clearHatches(); - mSteamInputFluids.clear(); - mSteamInputs.clear(); - mSteamOutputs.clear(); - } - - @Override - public boolean resetRecipeMapForAllInputHatches(RecipeMap aMap) { - boolean ret = super.resetRecipeMapForAllInputHatches(aMap); - for (GT_MetaTileEntity_Hatch_Steam_BusInput hatch : mSteamInputs) { - if (resetRecipeMapForHatch(hatch, aMap)) { - ret = true; - } - } - return ret; - } - - @Override - public void getWailaBody(ItemStack itemStack, List currentTip, IWailaDataAccessor accessor, - IWailaConfigHandler config) { - final NBTTagCompound tag = accessor.getNBTData(); - - if (tag.getBoolean("incompleteStructure")) { - currentTip.add(RED + "** INCOMPLETE STRUCTURE **" + RESET); - } - currentTip.add( - (tag.getBoolean("hasProblems") ? (RED + "** HAS PROBLEMS **") : GREEN + "Running Fine") + RESET - + " Efficiency: " - + tag.getFloat("efficiency") - + "%"); - - boolean isActive = tag.getBoolean("isActive"); - if (isActive) { - long actualEnergyUsage = tag.getLong("energyUsage"); - if (actualEnergyUsage > 0) { - currentTip.add( - StatCollector.translateToLocalFormatted("GTPP.waila.steam.use", formatNumbers(actualEnergyUsage))); - } - } - currentTip.add( - GT_Waila.getMachineProgressString(isActive, tag.getInteger("maxProgress"), tag.getInteger("progress"))); - // Show ns on the tooltip - if (GT_Mod.gregtechproxy.wailaAverageNS && tag.hasKey("averageNS")) { - int tAverageTime = tag.getInteger("averageNS"); - currentTip.add("Average CPU load of ~" + formatNumbers(tAverageTime) + " ns"); - } - super.getMTEWailaBody(itemStack, currentTip, accessor, config); - } - - protected static > GT_HatchElementBuilder buildSteamInput( - Class typeToken) { - return buildHatchAdder(typeToken).adder(GregtechMeta_SteamMultiBase::addToMachineList) - .hatchIds(31040) - .shouldReject(t -> !t.mSteamInputFluids.isEmpty()); - } - - protected enum SteamHatchElement implements IHatchElement> { - - InputBus_Steam { - - @Override - public List> mteClasses() { - return Collections.singletonList(GT_MetaTileEntity_Hatch_Steam_BusInput.class); - } - - @Override - public long count(GregtechMeta_SteamMultiBase t) { - return t.mSteamInputs.size(); - } - }, - OutputBus_Steam { - - @Override - public List> mteClasses() { - return Collections.singletonList(GT_MetaTileEntity_Hatch_Steam_BusOutput.class); - } - - @Override - public long count(GregtechMeta_SteamMultiBase t) { - return t.mSteamOutputs.size(); - } - },; - - @Override - public IGT_HatchAdder> adder() { - return GregtechMeta_SteamMultiBase::addToMachineList; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaBoilerBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaBoilerBase.java deleted file mode 100644 index 3f0d8d1ec1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaBoilerBase.java +++ /dev/null @@ -1,361 +0,0 @@ -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 net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.SoundResource; -import gregtech.api.gui.modularui.GT_UIInfos; -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.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.util.math.MathUtils; - -public abstract class GregtechMetaBoilerBase extends GT_MetaTileEntity_BasicTank { - - public int mTemperature = 20; - public int mProcessingEnergy = 0; - public int mLossTimer = 0; - public FluidStack mSteam = null; - public boolean mHadNoWater = false; - public long RI = MathUtils.randLong(5L, 30L); - - public GregtechMetaBoilerBase(final int aID, final String aName, final String aNameRegional, - final String aDescription, final ITexture... aTextures) { - super(aID, aName, aNameRegional, 0, 4, aDescription, aTextures); - } - - public GregtechMetaBoilerBase(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, 4, aDescription, aTextures); - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - ITexture[] tmp = this.mTextures[side.offsetY == 0 ? side != facing ? 2 : ((byte) (aActive ? 4 : 3)) - : side.ordinal()][aColorIndex + 1]; - if ((side != facing) && (tmp.length == 2)) { - tmp = new ITexture[] { tmp[0] }; - } - return tmp; - } - - @Override - public boolean isElectric() { - return false; - } - - @Override - public boolean isPneumatic() { - return false; - } - - @Override - public boolean isSteampowered() { - return false; - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return facing.offsetY == 0; - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return true; - } - - @Override - public int getProgresstime() { - return this.mTemperature; - } - - @Override - public int maxProgresstime() { - return 500; - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - if (aPlayer != null) { - if (GT_Utility.areStacksEqual(aPlayer.getCurrentEquippedItem(), new ItemStack(Items.water_bucket, 1))) { - this.fill(Materials.Water.getFluid(1000 * aPlayer.getCurrentEquippedItem().stackSize), true); - aPlayer.getCurrentEquippedItem() - .func_150996_a(Items.bucket); - } else { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - } - } - return true; - } - - @Override - public boolean doesFillContainers() { - return true; - } - - @Override - public boolean doesEmptyContainers() { - return true; - } - - @Override - public boolean canTankBeFilled() { - return true; - } - - @Override - public boolean canTankBeEmptied() { - return true; - } - - @Override - public boolean displaysItemStack() { - return false; - } - - @Override - public boolean displaysStackSize() { - return false; - } - - @Override - public boolean isFluidInputAllowed(final FluidStack aFluid) { - return GT_ModHandler.isWater(aFluid); - } - - @Override - public FluidStack getDrainableStack() { - return this.mSteam; - } - - @Override - public FluidStack setDrainableStack(final FluidStack aFluid) { - this.mSteam = aFluid; - return this.mSteam; - } - - @Override - public boolean isDrainableStackSeparate() { - return true; - } - - @Override - public boolean allowCoverOnSide(final ForgeDirection side, final GT_ItemStack aCover) { - return GregTech_API.getCoverBehaviorNew(aCover.toStack()) - .isSimpleCover(); - } - - @Override - public void saveNBTData(final NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setInteger("mLossTimer", this.mLossTimer); - aNBT.setInteger("mTemperature", this.mTemperature); - aNBT.setInteger("mProcessingEnergy", this.mProcessingEnergy); - if (this.mSteam != null) { - try { - aNBT.setTag("mSteam", this.mSteam.writeToNBT(new NBTTagCompound())); - } catch (final Throwable e) {} - } - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - this.mLossTimer = aNBT.getInteger("mLossTimer"); - this.mTemperature = aNBT.getInteger("mTemperature"); - this.mProcessingEnergy = aNBT.getInteger("mProcessingEnergy"); - this.mSteam = FluidStack.loadFluidStackFromNBT(aNBT.getCompoundTag("mSteam")); - } - - @Override - public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - if ((aBaseMetaTileEntity.isServerSide()) && (aTick > 20L)) { - if (this.mTemperature <= 20) { - this.mTemperature = 20; - this.mLossTimer = 0; - } - if (++this.mLossTimer > 40) { - this.mTemperature -= 1; - this.mLossTimer = 0; - } - for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - if (side != aBaseMetaTileEntity.getFrontFacing()) { - final IFluidHandler tTileEntity = aBaseMetaTileEntity.getITankContainerAtSide(side); - if (tTileEntity != null) { - final FluidStack tDrained = aBaseMetaTileEntity - .drain(side, Math.max(1, this.mSteam.amount / 2), false); - if (tDrained != null) { - final int tFilledAmount = tTileEntity.fill(side.getOpposite(), tDrained, false); - if (tFilledAmount > 0) { - tTileEntity.fill( - side.getOpposite(), - aBaseMetaTileEntity.drain(side, tFilledAmount, true), - true); - } - } - } - } - } - if ((aTick % 10L) == 0L) { - if (this.mTemperature > 100) { - if ((this.mFluid == null) || (!GT_ModHandler.isWater(this.mFluid)) || (this.mFluid.amount <= 0)) { - this.mHadNoWater = true; - } else { - if (this.mHadNoWater) { - aBaseMetaTileEntity.doExplosion(2048L); - return; - } - this.mFluid.amount -= 1; - if (this.mSteam == null) { - this.mSteam = GT_ModHandler.getSteam(150L); - } else if (GT_ModHandler.isSteam(this.mSteam)) { - this.mSteam.amount += 150; - } else { - this.mSteam = GT_ModHandler.getSteam(150L); - } - } - } else { - this.mHadNoWater = false; - } - } - if ((this.mSteam != null) && (this.mSteam.amount > getSteamCapacity())) { - this.sendSound((byte) 1); - this.mSteam.amount = getSteamCapacity() * 3 / 4; - } - if ((this.mProcessingEnergy <= 0) && (aBaseMetaTileEntity.isAllowedToWork()) - && (this.mInventory[2] != null)) { - if ((GT_OreDictUnificator - .isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Coal))) - || (GT_OreDictUnificator - .isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Coal))) - || (GT_OreDictUnificator - .isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Coal))) - || (GT_OreDictUnificator - .isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Coal)))) { - this.mProcessingEnergy += 160; - aBaseMetaTileEntity.decrStackSize(2, 1); - if (aBaseMetaTileEntity.getRandomNumber(3) == 0) { - aBaseMetaTileEntity - .addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L)); - } - } else if (GT_OreDictUnificator - .isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Charcoal))) { - this.mProcessingEnergy += 160; - aBaseMetaTileEntity.decrStackSize(2, 1); - if (aBaseMetaTileEntity.getRandomNumber(3) == 0) { - aBaseMetaTileEntity - .addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L)); - } - } else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], "fuelCoke")) { - this.mProcessingEnergy += 640; - aBaseMetaTileEntity.decrStackSize(2, 1); - if (aBaseMetaTileEntity.getRandomNumber(2) == 0) { - aBaseMetaTileEntity - .addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L)); - } - } else if ((GT_OreDictUnificator - .isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) - || (GT_OreDictUnificator - .isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) - || (GT_OreDictUnificator - .isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) - || (GT_OreDictUnificator - .isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite)))) { - this.mProcessingEnergy += 40; - aBaseMetaTileEntity.decrStackSize(2, 1); - if (aBaseMetaTileEntity.getRandomNumber(8) == 0) { - aBaseMetaTileEntity.addStackToSlot( - 3, - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L)); - } - } - } - if ((this.mTemperature < 1000) && (this.mProcessingEnergy > 0) && ((aTick % 12L) == 0L)) { - this.mProcessingEnergy -= 2; - this.mTemperature += 1; - } - aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0); - } - } - - @Override - // Since this type of machine can have different water and steam capacities, we need to override getTankInfo() to - // support returning those different capacities. - public FluidTankInfo[] getTankInfo(ForgeDirection aSide) { - return new FluidTankInfo[] { new FluidTankInfo(this.mFluid, getCapacity()), - new FluidTankInfo(this.mSteam, getSteamCapacity()) }; - } - - @Override - public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return (aIndex == 1) || (aIndex == 3); - } - - @Override - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return aIndex == 2; - } - - @Override - public void doSound(final byte aIndex, final double aX, final double aY, final double aZ) { - if (aIndex == 1) { - GT_Utility.doSoundAtClient(SoundResource.RANDOM_FIZZ, 2, 1.0F, aX, aY, aZ); - for (int l = 0; l < 8; l++) { - this.getBaseMetaTileEntity() - .getWorld() - .spawnParticle( - "largesmoke", - (aX - 0.5D) + Math.random(), - aY, - (aZ - 0.5D) + Math.random(), - 0.0D, - 0.0D, - 0.0D); - } - } - } - - @Override - public int getCapacity() { - return 16000; - } - - // This type of machine can have different water and steam capacities. - public int getSteamCapacity() { - return 32000; - } - - @Override - public int getTankPressure() { - return 100; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaSolarGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaSolarGenerator.java deleted file mode 100644 index 5e0588acfd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechMetaSolarGenerator.java +++ /dev/null @@ -1,241 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators; - -import static gregtech.api.enums.GT_Values.V; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank; - -public abstract class GregtechMetaSolarGenerator extends GT_MetaTileEntity_BasicTank { - - public int mEfficiency; - public int mProcessingEnergy = 0; - public int mSolarCharge = 20; - public int mLossTimer = 0; - public static int sEnergyPerTick = 16; - - public GregtechMetaSolarGenerator(final int aID, final String aName, final String aNameRegional, final int aTier, - final String aDescription, final ITexture... aTextures) { - super(aID, aName, aNameRegional, aTier, 3, aDescription, aTextures); - } - - public GregtechMetaSolarGenerator(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, 3, aDescription, aTextures); - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 - : side == facing.getOpposite() ? 1 - : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - } - - @Override - public String[] getDescription() { - return ArrayUtils.add(this.mDescriptionArray, "Efficiency: " + this.getEfficiency() + "%"); - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1] }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1] }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1] }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1] }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][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); - } - - @Override - public boolean isFacingValid(final ForgeDirection side) { - return side.offsetY == 0; - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return aIndex < 2; - } - - @Override - public boolean isEnetOutput() { - return true; - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return true; - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public long maxEUOutput() { - return this.getBaseMetaTileEntity() - .isAllowedToWork() ? V[this.mTier] : 0; - } - - @Override - public long maxEUStore() { - return Math.max(this.getEUVar(), (V[this.mTier] * 40) + this.getMinimumStoredEU()); - } - - @Override - public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() - && (aTick > 20L) - && (aBaseMetaTileEntity.getUniversalEnergyStored() - < (this.maxEUOutput() + aBaseMetaTileEntity.getEUCapacity()))) { - - if (this.mSolarCharge <= 20) { - this.mSolarCharge = 20; - this.mLossTimer = 0; - } - if (++this.mLossTimer > 45) { - this.mSolarCharge -= 1; - this.mLossTimer = 0; - } - - if ((aTick % 25L) == 0L) { - if (this.mSolarCharge > 100) { - if ((this.mProcessingEnergy > 0) && (aBaseMetaTileEntity.isAllowedToWork()) - && ((aTick % 256L) == 0L) - && (!aBaseMetaTileEntity.getWorld() - .isThundering() - && (aBaseMetaTileEntity.getUniversalEnergyStored() - < ((this.maxEUOutput() * 20) + this.getMinimumStoredEU())))) { - this.getBaseMetaTileEntity() - .increaseStoredEnergyUnits((sEnergyPerTick * this.getEfficiency()) / 10, false); - } - } - } - - if ((this.mSolarCharge < 500) && (this.mProcessingEnergy > 0) && ((aTick % 12L) == 0L)) { - this.mProcessingEnergy -= 1; - this.mSolarCharge += 1; - } - - if ((this.mProcessingEnergy <= 0) && (aBaseMetaTileEntity.isAllowedToWork()) - && ((aTick % 256L) == 0L) - && (!aBaseMetaTileEntity.getWorld() - .isThundering())) { - final boolean bRain = aBaseMetaTileEntity.getWorld() - .isRaining() && (aBaseMetaTileEntity.getBiome().rainfall > 0.0F); - this.mProcessingEnergy += (bRain && (aBaseMetaTileEntity.getWorld().skylightSubtracted >= 4)) - || !aBaseMetaTileEntity.getSkyAtSide(ForgeDirection.UP) ? 0 - : !bRain && aBaseMetaTileEntity.getWorld() - .isDaytime() ? 8 : 1; - } - - if (aBaseMetaTileEntity.isServerSide()) { - aBaseMetaTileEntity.setActive( - aBaseMetaTileEntity.isAllowedToWork() && (aBaseMetaTileEntity.getUniversalEnergyStored() - >= (this.maxEUOutput() + this.getMinimumStoredEU()))); - } - } - } - - public abstract int getEfficiency(); - - @Override - public boolean doesFillContainers() { - return false; - } - - @Override - public boolean doesEmptyContainers() { - return false; - } - - @Override - public boolean canTankBeFilled() { - return false; - } - - @Override - public boolean canTankBeEmptied() { - return false; - } - - @Override - public boolean displaysItemStack() { - return false; - } - - @Override - public boolean displaysStackSize() { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java deleted file mode 100644 index 83745f393a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java +++ /dev/null @@ -1,338 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators; - -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 net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import org.apache.commons.lang3.ArrayUtils; - -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.interfaces.tileentity.RecipeMapWorkable; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; - -public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_BasicTank implements RecipeMapWorkable { - - protected int pollMin, pollMax; - - public GregtechRocketFuelGeneratorBase(final int aID, final String aName, final String aNameRegional, - final int aTier, final String aDescription, final ITexture... aTextures) { - super(aID, aName, aNameRegional, aTier, 3, aDescription, aTextures); - pollMin = (int) (CORE.ConfigSwitches.baseMinPollutionPerSecondRocketFuelGenerator - * CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator[mTier]); - pollMax = (int) (CORE.ConfigSwitches.baseMaxPollutionPerSecondRocketFuelGenerator - * CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator[mTier]); - } - - public GregtechRocketFuelGeneratorBase(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, 3, aDescription, aTextures); - pollMin = (int) (CORE.ConfigSwitches.baseMinPollutionPerSecondRocketFuelGenerator - * CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator[mTier]); - pollMax = (int) (CORE.ConfigSwitches.baseMaxPollutionPerSecondRocketFuelGenerator - * CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator[mTier]); - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 - : side == facing.getOpposite() ? 1 - : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - } - - @Override - public String[] getDescription() { - String aPollution = "Causes between " + pollMin + " and " + pollMax + " Pollution per second"; - return ArrayUtils.addAll( - this.mDescriptionArray, - "Fuel Efficiency: " + this.getEfficiency() + "%", - aPollution, - CORE.GT_Tooltip.get()); - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1] }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1] }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1] }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1] }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][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); - } - - @Override - public boolean isFacingValid(final ForgeDirection side) { - return side.offsetY == 0; - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return aIndex < 2; - } - - @Override - public boolean isEnetOutput() { - return true; - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return this.getBaseMetaTileEntity() - .getFrontFacing() == side; - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public long maxEUOutput() { - return V[this.mTier]; - } - - @Override - public long maxEUStore() { - return Math.max(this.getEUVar(), (V[this.mTier] * 500) + this.getMinimumStoredEU()); - } - - @Override - public boolean doesFillContainers() { - return false; - } - - @Override - public boolean doesEmptyContainers() { - return true; - } - - @Override - public boolean canTankBeFilled() { - return true; - } - - @Override - public boolean canTankBeEmptied() { - return false; - } - - @Override - public boolean displaysItemStack() { - return true; - } - - @Override - public boolean displaysStackSize() { - return false; - } - - @Override - public boolean isFluidInputAllowed(final FluidStack aFluid) { - return this.getFuelValue(aFluid) > 0; - } - - @Override - public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && ((aTick % 10) == 0)) { - if (this.mFluid == null) { - if (aBaseMetaTileEntity.getUniversalEnergyStored() < (this.maxEUOutput() + this.getMinimumStoredEU())) { - this.mInventory[this.getStackDisplaySlot()] = null; - } else { - if (this.mInventory[this.getStackDisplaySlot()] == null) { - this.mInventory[this.getStackDisplaySlot()] = new ItemStack(Blocks.fire, 1); - } - this.mInventory[this.getStackDisplaySlot()].setStackDisplayName( - "Generating: " + (aBaseMetaTileEntity.getUniversalEnergyStored() - this.getMinimumStoredEU()) - + " EU"); - } - } else { - final int tFuelValue = this.getFuelValue(this.mFluid), - tConsumed = this.consumedFluidPerOperation(this.mFluid); - if ((tFuelValue > 0) && (tConsumed > 0) && (this.mFluid.amount >= tConsumed)) { - final long tFluidAmountToUse = Math.min( - this.mFluid.amount / tConsumed, - (((this.maxEUOutput() * 20) + this.getMinimumStoredEU()) - - aBaseMetaTileEntity.getUniversalEnergyStored()) / tFuelValue); - if ((tFluidAmountToUse > 0) - && aBaseMetaTileEntity.increaseStoredEnergyUnits(tFluidAmountToUse * tFuelValue, true)) { - int aSafeFloor = (int) Math.max(((tFluidAmountToUse * tConsumed) / 3), 1); - this.mFluid.amount -= (int) aSafeFloor; - PollutionUtils.addPollution(getBaseMetaTileEntity(), 10 * getPollution()); - } - } - } - if ((this.mInventory[this.getInputSlot()] != null) - && (aBaseMetaTileEntity.getUniversalEnergyStored() - < ((this.maxEUOutput() * 20) + this.getMinimumStoredEU())) - && (GT_Utility.getFluidForFilledItem(this.mInventory[this.getInputSlot()], true) == null)) { - final int tFuelValue = this.getFuelValue(this.mInventory[this.getInputSlot()]); - if (tFuelValue > 0) { - final ItemStack tEmptyContainer = this.getEmptyContainer(this.mInventory[this.getInputSlot()]); - if (aBaseMetaTileEntity.addStackToSlot(this.getOutputSlot(), tEmptyContainer)) { - aBaseMetaTileEntity.increaseStoredEnergyUnits(tFuelValue, true); - aBaseMetaTileEntity.decrStackSize(this.getInputSlot(), 1); - PollutionUtils.addPollution(getBaseMetaTileEntity(), getPollution() / 2); - } - } - } - } - - if (aBaseMetaTileEntity.isServerSide()) { - aBaseMetaTileEntity.setActive( - aBaseMetaTileEntity.isAllowedToWork() && (aBaseMetaTileEntity.getUniversalEnergyStored() - >= (this.maxEUOutput() + this.getMinimumStoredEU()))); - } - } - - public int getPollution() { - return MathUtils.randInt(pollMin, pollMax); - } - - @Override - public abstract RecipeMap getRecipeMap(); - - public abstract int getEfficiency(); - - public int consumedFluidPerOperation(final FluidStack aLiquid) { - return 1; - } - - public int getFuelValue(final FluidStack aLiquid) { - if ((aLiquid == null) || (this.getRecipeMap() == null)) { - return 0; - } - FluidStack tLiquid; - final Collection tRecipeList = this.getRecipeMap() - .getAllRecipes(); - for (final GT_Recipe tFuel : tRecipeList) { - if ((tLiquid = tFuel.mFluidInputs[0]) != null) { - if (aLiquid.isFluidEqual(tLiquid)) { - int aperOp = this.consumedFluidPerOperation(tLiquid); - return (int) (((long) tFuel.mSpecialValue * this.getEfficiency() * aperOp) / 100); - } - } - } - return 0; - } - - public int getFuelValue(final ItemStack aStack) { - if (GT_Utility.isStackInvalid(aStack) || (this.getRecipeMap() == null)) { - return 0; - } - final GT_Recipe tFuel = this.getRecipeMap() - .findRecipe(this.getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack); - if (tFuel != null) { - return (int) ((tFuel.mSpecialValue * 1000L * this.getEfficiency()) / 100); - } - return 0; - } - - public ItemStack getEmptyContainer(final ItemStack aStack) { - if (GT_Utility.isStackInvalid(aStack) || (this.getRecipeMap() == null)) { - return null; - } - final GT_Recipe tFuel = this.getRecipeMap() - .findRecipe(this.getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack); - if (tFuel != null) { - return GT_Utility.copy(tFuel.getOutput(0)); - } - return GT_Utility.getContainerItem(aStack, true); - } - - @Override - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return super.allowPutStack(aBaseMetaTileEntity, aIndex, side, aStack) && ((this.getFuelValue(aStack) > 0) - || (this.getFuelValue(GT_Utility.getFluidForFilledItem(aStack, true)) > 0)); - } - - @Override - public int getCapacity() { - return 32000; - } - - @Override - public int getTankPressure() { - return -100; - } - - @Override - public boolean useModularUI() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaTreeFarmerBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaTreeFarmerBase.java deleted file mode 100644 index fe3253244a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaTreeFarmerBase.java +++ /dev/null @@ -1,180 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.machines; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -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 gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public abstract class GregtechMetaTreeFarmerBase extends GT_MetaTileEntity_TieredMachineBlock { - - public GregtechMetaTreeFarmerBase(final int aID, final String aName, final String aNameRegional, final int aTier, - final int aInvSlotCount, final String aDescription) { - super(aID, aName, aNameRegional, aTier, aInvSlotCount, aDescription); - } - - public GregtechMetaTreeFarmerBase(final String aName, final int aTier, final int aInvSlotCount, - final String[] aDescription, final ITexture[][][] aTextures) { - super(aName, aTier, aInvSlotCount, aDescription, aTextures); - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 - : side == facing.getOpposite() ? 1 - : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return false; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return true; - } - - @Override - public boolean isEnetInput() { - return false; - } - - @Override - public boolean isEnetOutput() { - return false; - } - - @Override - public boolean isInputFacing(final ForgeDirection side) { - return !this.isOutputFacing(side); - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return this.getBaseMetaTileEntity() - .getBackFacing() == side; - } - - @Override - public boolean isTeleporterCompatible() { - return false; - } - - @Override - public long getMinimumStoredEU() { - return 0; - } - - @Override - public long maxEUStore() { - return 0; - } - - @Override - public long maxEUInput() { - return 0; - } - - @Override - public long maxEUOutput() { - return 0; - } - - @Override - public long maxAmperesIn() { - return 0; - } - - @Override - public long maxAmperesOut() { - return 0; - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return false; - } - - public abstract ITexture getOverlayIcon(); - - @Override - public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Farm_Manager) }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Farm_Manager) }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Acacia_Log) }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Podzol) }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Farm_Manager) }; - } - - 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); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_Catalysts.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_Catalysts.java deleted file mode 100644 index b53e540044..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_Catalysts.java +++ /dev/null @@ -1,71 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -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.data.AutoMap; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_Hatch_Catalysts extends GT_MetaTileEntity_Hatch_NbtConsumable { - - public GT_MetaTileEntity_Hatch_Catalysts(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional, 0, 16, "Dedicated Catalyst Storage", false); - } - - public GT_MetaTileEntity_Hatch_Catalysts(String aName, String[] aDescription, ITexture[][][] aTextures) { - super(aName, 0, 16, aDescription, false, aTextures); - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Bus_Catalyst) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Bus_Catalyst) }; - } - - @Override - public String[] getDescription() { - return ArrayUtils.add(this.mDescriptionArray, CORE.GT_Tooltip.get()); - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_Catalysts(mName, mDescriptionArray, mTextures); - } - - @Override - public String getNameGUI() { - return "Catalyst Container"; - } - - @Override - public AutoMap getItemsValidForUsageSlots() { - return new AutoMap<>(); - } - - @Override - public boolean isItemValidForUsageSlot(ItemStack aStack) { - return ItemUtils.isCatalyst(aStack); - } - - @Override - public int getInputSlotCount() { - return 16; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_MillingBalls.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_MillingBalls.java deleted file mode 100644 index e3134f5812..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_MillingBalls.java +++ /dev/null @@ -1,71 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -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.data.AutoMap; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_Hatch_MillingBalls extends GT_MetaTileEntity_Hatch_NbtConsumable { - - public GT_MetaTileEntity_Hatch_MillingBalls(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional, 6, 4, "Dedicated Milling Ball Storage", false); - } - - public GT_MetaTileEntity_Hatch_MillingBalls(String aName, String[] aDescription, ITexture[][][] aTextures) { - super(aName, 6, 4, aDescription, false, aTextures); - } - - @Override - public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Bus_Milling_Balls) }; - } - - @Override - public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Bus_Milling_Balls) }; - } - - @Override - public String[] getDescription() { - return ArrayUtils.add(this.mDescriptionArray, CORE.GT_Tooltip.get()); - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_MillingBalls(mName, mDescriptionArray, mTextures); - } - - @Override - public String getNameGUI() { - return "Ball Housing"; - } - - @Override - public AutoMap getItemsValidForUsageSlots() { - return new AutoMap<>(); - } - - @Override - public boolean isItemValidForUsageSlot(ItemStack aStack) { - return ItemUtils.isMillingBall(aStack); - } - - @Override - public int getInputSlotCount() { - return 4; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java deleted file mode 100644 index e81c9ed554..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java +++ /dev/null @@ -1,353 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.DrawableWidget; -import com.gtnewhorizons.modularui.common.widget.SlotGroup; -import com.gtnewhorizons.modularui.common.widget.TextWidget; - -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.modularui.IAddGregtechLogo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public abstract class GT_MetaTileEntity_Hatch_NbtConsumable extends GT_MetaTileEntity_Hatch - implements IAddGregtechLogo { - - private final int mInputslotCount; - private final int mTotalSlotCount; - private final boolean mAllowDuplicateUsageTypes; - - public GT_MetaTileEntity_Hatch_NbtConsumable(int aID, String aName, String aNameRegional, int aTier, - int aInputSlots, String aDescription, boolean aAllowDuplicateTypes) { - super(aID, aName, aNameRegional, aTier, aInputSlots * 2, aDescription); - mInputslotCount = getInputSlotCount(); - mTotalSlotCount = getInputSlotCount() * 2; - mAllowDuplicateUsageTypes = aAllowDuplicateTypes; - } - - public GT_MetaTileEntity_Hatch_NbtConsumable(String aName, int aTier, int aInputSlots, String[] aDescription, - boolean aAllowDuplicateTypes, ITexture[][][] aTextures) { - super(aName, aTier, aInputSlots * 2, aDescription, aTextures); - mInputslotCount = getInputSlotCount(); - mTotalSlotCount = getInputSlotCount() * 2; - mAllowDuplicateUsageTypes = aAllowDuplicateTypes; - } - - @Override - public abstract ITexture[] getTexturesActive(ITexture aBaseTexture); - - @Override - public abstract ITexture[] getTexturesInactive(ITexture aBaseTexture); - - public abstract int getInputSlotCount(); - - @Override - public final boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public final boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public final boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public abstract MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity); - - @Override - public final boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - public abstract String getNameGUI(); - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - validateUsageSlots(); - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { - fillStacksIntoFirstSlots(); - tryFillUsageSlots(); - } - } - - public final void updateSlots() { - for (int i = 0; i < mInventory.length; i++) { - if (mInventory[i] != null && mInventory[i].stackSize <= 0) { - mInventory[i] = null; - } - // Only moves items in the first four slots - if (i <= getSlotID_LastInput()) { - fillStacksIntoFirstSlots(); - } - } - } - - protected void validateUsageSlots() { - for (int i = getSlotID_FirstUsage(); i <= getSlotID_LastUsage(); i++) { - if (mInventory[i] != null && mInventory[i].stackSize < 1) { - mInventory[i] = null; - this.markDirty(); - } - } - } - - // Only moves items in the first four slots - protected final void fillStacksIntoFirstSlots() { - for (int i = 0; i <= getSlotID_LastInput(); i++) { - for (int j = i + 1; j <= getSlotID_LastInput(); j++) { - if (mInventory[j] != null - && (mInventory[i] == null || GT_Utility.areStacksEqual(mInventory[i], mInventory[j]))) { - GT_Utility.moveStackFromSlotAToSlotB( - getBaseMetaTileEntity(), - getBaseMetaTileEntity(), - j, - i, - (byte) 64, - (byte) 1, - (byte) 64, - (byte) 1); - } - } - } - } - - public final void tryFillUsageSlots() { - int aSlotSpace = (mInputslotCount - getContentUsageSlots().size()); - if (aSlotSpace > 0) { - Logger.INFO("We have empty usage slots. " + aSlotSpace); - for (int i = getSlotID_FirstInput(); i <= getSlotID_LastInput(); i++) { - ItemStack aStackToTryMove = mInventory[i]; - if (aStackToTryMove != null && isItemValidForUsageSlot(aStackToTryMove)) { - Logger.INFO("Trying to move stack from input slot " + i); - if (moveItemFromStockToUsageSlots(aStackToTryMove)) { - Logger.INFO("Updating Slots."); - updateSlots(); - } - } - } - } - } - - private int getSlotID_FirstInput() { - return 0; - } - - private int getSlotID_LastInput() { - return mInputslotCount - 1; - } - - private int getSlotID_FirstUsage() { - return mInputslotCount; - } - - private int getSlotID_LastUsage() { - return mTotalSlotCount - 1; - } - - public final AutoMap getContentUsageSlots() { - AutoMap aItems = new AutoMap<>(); - for (int i = mInputslotCount; i < mTotalSlotCount; i++) { - if (mInventory[i] != null) { - aItems.add(mInventory[i]); - } - } - return aItems; - } - - public final boolean moveItemFromStockToUsageSlots(ItemStack aStack) { - return moveItemFromStockToUsageSlots(aStack, mAllowDuplicateUsageTypes); - } - - public final boolean moveItemFromStockToUsageSlots(ItemStack aStack, boolean aAllowMultiOfSameTypeInUsageSlots) { - if (aStack != null) { - if (aStack.stackSize > 0) { - - if (!isItemValidForUsageSlot(aStack)) { - Logger.INFO("Stack not valid: " + ItemUtils.getItemName(aStack)); - return false; - } - - // Copy the input stack into a new object - ItemStack aStackToMove = aStack.copy(); - // Set stack size of stack to move to 1. - aStackToMove.stackSize = 1; - // Did we set a stack in the usage slots? - boolean aDidSet = false; - // Did we find another of this item already in the usage slots? - boolean aFoundMatching = false; - // Continue processing with our new stack - // First check for duplicates - for (int i = getSlotID_FirstUsage(); i <= getSlotID_LastUsage(); i++) { - if (mInventory[i] != null) { - if (GT_Utility.areStacksEqual(aStackToMove, mInventory[i], true)) { - Logger.INFO("Found matching stack in slot " + i + "."); - aFoundMatching = true; - break; - } - } - } - // Then Move stack to Usage slots - for (int i = getSlotID_FirstUsage(); i <= getSlotID_LastUsage(); i++) { - if (mInventory[i] == null) { - if ((aFoundMatching && aAllowMultiOfSameTypeInUsageSlots) || !aFoundMatching) { - mInventory[i] = aStackToMove; - aDidSet = true; - Logger.INFO("Moving new stack to usage slots."); - break; - } - } - } - if (aDidSet) { - Logger.INFO("Depleting input stack size by 1."); - // Depleted one from the original input stack - aStack.stackSize--; - } - return aDidSet; - } - } - return false; - } - - @Override - public final boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public final boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return side == getBaseMetaTileEntity().getFrontFacing() && isItemValidForUsageSlot(aStack) - && aIndex < mInputslotCount; - } - - /** - * Items that get compared when checking for Usage Slot validity. Can return an empty map if - * isItemValidForUsageSlot() is overridden. - * - * @return - */ - public abstract AutoMap getItemsValidForUsageSlots(); - - /** - * Checks if the given item is valid for Usage Slots. Can be overridden for easier handling if you already have - * methods to check this. - * - * @param aStack - * @return - */ - public boolean isItemValidForUsageSlot(ItemStack aStack) { - if (aStack != null) { - for (ItemStack aValid : getItemsValidForUsageSlots()) { - if (GT_Utility.areStacksEqual(aStack, aValid, true)) { - return true; - } - } - } - return false; - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addGregTechLogo(ModularWindow.Builder builder) { - switch (mTotalSlotCount) { - case 8, 18 -> builder.widget( - new DrawableWidget().setDrawable(getGUITextureSet().getGregTechLogo()) - .setSize(17, 17) - .setPos(152, 63)); - case 32 -> builder.widget( - new DrawableWidget().setDrawable(getGUITextureSet().getGregTechLogo()) - .setSize(17, 17) - .setPos(79, 35)); - } - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - switch (mTotalSlotCount) { - case 8 -> { - builder.widget( - SlotGroup.ofItemHandler(inventoryHandler, 2) - .startFromSlot(0) - .endAtSlot(3) - .build() - .setPos(25, 25)); - builder.widget( - SlotGroup.ofItemHandler(inventoryHandler, 2) - .startFromSlot(4) - .endAtSlot(7) - .canInsert(false) - .build() - .setPos(115, 25)); - builder.widget( - new TextWidget("Stock").setDefaultColor(COLOR_TEXT_GRAY.get()) - .setPos(25, 16)) - .widget( - new TextWidget("Active").setDefaultColor(COLOR_TEXT_GRAY.get()) - .setPos(115, 16)); - } - case 18 -> { - builder.widget( - SlotGroup.ofItemHandler(inventoryHandler, 3) - .startFromSlot(0) - .endAtSlot(8) - .build() - .setPos(25, 19)); - builder.widget( - SlotGroup.ofItemHandler(inventoryHandler, 3) - .startFromSlot(9) - .endAtSlot(17) - .canInsert(false) - .build() - .setPos(97, 19)); - builder.widget( - new TextWidget("Stock").setDefaultColor(COLOR_TEXT_GRAY.get()) - .setPos(25, 14)) - .widget( - new TextWidget("Active").setDefaultColor(COLOR_TEXT_GRAY.get()) - .setPos(15, 14)); - } - case 32 -> { - builder.widget( - SlotGroup.ofItemHandler(inventoryHandler, 4) - .startFromSlot(0) - .endAtSlot(15) - .build() - .setPos(7, 7)); - builder.widget( - SlotGroup.ofItemHandler(inventoryHandler, 4) - .startFromSlot(16) - .endAtSlot(31) - .canInsert(false) - .build() - .setPos(96, 7)); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_CopiedBlockTexture.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_CopiedBlockTexture.java deleted file mode 100644 index 6a780d227c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_CopiedBlockTexture.java +++ /dev/null @@ -1,28 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.objects; - -import net.minecraft.block.Block; - -import gregtech.api.enums.Dyes; -import gregtech.api.objects.GT_CopiedBlockTexture; - -/** - * Made this to get rid of deprecation warnings everywhere. - * - * @author Alkalus - * - */ -@SuppressWarnings("deprecation") -public class GTPP_CopiedBlockTexture extends GT_CopiedBlockTexture { - - public GTPP_CopiedBlockTexture(Block aBlock, int aSide, int aMeta, short[] aRGBa, boolean aAllowAlpha) { - super(aBlock, aMeta, aMeta, aRGBa, aAllowAlpha); - } - - public GTPP_CopiedBlockTexture(Block aBlock, int aSide, int aMeta, short[] aRGBa) { - this(aBlock, aSide, aMeta, aRGBa, true); - } - - public GTPP_CopiedBlockTexture(Block aBlock, int aSide, int aMeta) { - this(aBlock, aSide, aMeta, Dyes._NULL.mRGBa); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_RenderedTexture.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_RenderedTexture.java deleted file mode 100644 index 0da0136193..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GTPP_RenderedTexture.java +++ /dev/null @@ -1,27 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.objects; - -import gregtech.api.enums.Dyes; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.objects.GT_RenderedTexture; - -/** - * Made this to get rid of deprecation warnings everywhere. - * - * @author Alkalus - * - */ -@SuppressWarnings("deprecation") -public class GTPP_RenderedTexture extends GT_RenderedTexture { - - public GTPP_RenderedTexture(IIconContainer aIcon, short[] aRGBa, boolean aAllowAlpha) { - super(aIcon, aRGBa, aAllowAlpha); - } - - public GTPP_RenderedTexture(IIconContainer aIcon, short[] aRGBa) { - this(aIcon, aRGBa, true); - } - - public GTPP_RenderedTexture(IIconContainer aIcon) { - this(aIcon, Dyes._NULL.mRGBa); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GregtechItemData.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GregtechItemData.java deleted file mode 100644 index 967d3ae916..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GregtechItemData.java +++ /dev/null @@ -1,147 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.objects; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -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; - -public class GregtechItemData { - - private static final GregtechMaterialStack[] EMPTY_GT_MaterialStack_ARRAY = new GregtechMaterialStack[0]; - - public final List mExtraData = new GT_ArrayList<>(false, 1); - public final GregtechOrePrefixes mPrefix; - public final GregtechMaterialStack mMaterial; - public final GregtechMaterialStack[] mByProducts; - public boolean mBlackListed = false; - public ItemStack mUnificationTarget = null; - - public GregtechItemData(final GregtechOrePrefixes aPrefix, final GT_Materials aMaterial, - final boolean aBlackListed) { - this.mPrefix = aPrefix; - this.mMaterial = aMaterial == null ? null : new GregtechMaterialStack(aMaterial, aPrefix.mMaterialAmount); - this.mBlackListed = aBlackListed; - this.mByProducts = (aPrefix.mSecondaryMaterial == null) || (aPrefix.mSecondaryMaterial.mMaterial == null) - ? EMPTY_GT_MaterialStack_ARRAY - : new GregtechMaterialStack[] { aPrefix.mSecondaryMaterial.clone() }; - } - - public GregtechItemData(final GregtechOrePrefixes aPrefix, final GT_Materials aMaterial) { - this(aPrefix, aMaterial, false); - } - - public GregtechItemData(final GregtechMaterialStack aMaterial, final GregtechMaterialStack... aByProducts) { - this.mPrefix = null; - this.mMaterial = aMaterial.mMaterial == null ? null : aMaterial.clone(); - this.mBlackListed = true; - if (aByProducts == null) { - this.mByProducts = EMPTY_GT_MaterialStack_ARRAY; - } else { - final GregtechMaterialStack[] tByProducts = aByProducts.length < 1 ? EMPTY_GT_MaterialStack_ARRAY - : new GregtechMaterialStack[aByProducts.length]; - int j = 0; - for (GregtechMaterialStack aByProduct : aByProducts) { - if ((aByProduct != null) && (aByProduct.mMaterial != null)) { - tByProducts[j++] = aByProduct.clone(); - } - } - this.mByProducts = j > 0 ? new GregtechMaterialStack[j] : EMPTY_GT_MaterialStack_ARRAY; - for (int i = 0; i < this.mByProducts.length; i++) { - this.mByProducts[i] = tByProducts[i]; - } - } - } - - public GregtechItemData(final GT_Materials aMaterial, final long aAmount, - final GregtechMaterialStack... aByProducts) { - this(new GregtechMaterialStack(aMaterial, aAmount), aByProducts); - } - - public GregtechItemData(final GT_Materials aMaterial, final long aAmount, final GT_Materials aByProduct, - final long aByProductAmount) { - this(new GregtechMaterialStack(aMaterial, aAmount), new GregtechMaterialStack(aByProduct, aByProductAmount)); - } - - public GregtechItemData(final GregtechItemData... aData) { - this.mPrefix = null; - this.mBlackListed = true; - - final ArrayList aList = new ArrayList<>(), rList = new ArrayList<>(); - - for (final GregtechItemData tData : aData) { - if (tData != null) { - if (tData.hasValidMaterialData() && (tData.mMaterial.mAmount > 0)) { - aList.add(tData.mMaterial.clone()); - } - for (final GregtechMaterialStack tMaterial : tData.mByProducts) { - if (tMaterial.mAmount > 0) { - aList.add(tMaterial.clone()); - } - } - } - } - - for (final GregtechMaterialStack aMaterial : aList) { - boolean temp = true; - for (final GregtechMaterialStack tMaterial : rList) { - if (aMaterial.mMaterial == tMaterial.mMaterial) { - tMaterial.mAmount += aMaterial.mAmount; - temp = false; - break; - } - } - if (temp) { - rList.add(aMaterial.clone()); - } - } - - rList.sort((a, b) -> Long.compare(b.mAmount, a.mAmount)); - - if (rList.isEmpty()) { - this.mMaterial = null; - } else { - this.mMaterial = rList.get(0); - rList.remove(0); - } - - this.mByProducts = rList.toArray(new GregtechMaterialStack[0]); - } - - public boolean hasValidPrefixMaterialData() { - return (this.mPrefix != null) && (this.mMaterial != null) && (this.mMaterial.mMaterial != null); - } - - public boolean hasValidPrefixData() { - return this.mPrefix != null; - } - - public boolean hasValidMaterialData() { - return (this.mMaterial != null) && (this.mMaterial.mMaterial != null); - } - - public ArrayList getAllGT_MaterialStacks() { - final ArrayList rList = new ArrayList<>(); - if (this.hasValidMaterialData()) { - rList.add(this.mMaterial); - } - rList.addAll(Arrays.asList(this.mByProducts)); - return rList; - } - - public GregtechMaterialStack getByProduct(final int aIndex) { - return (aIndex >= 0) && (aIndex < this.mByProducts.length) ? this.mByProducts[aIndex] : null; - } - - @Override - public String toString() { - if ((this.mPrefix == null) || (this.mMaterial == null) || (this.mMaterial.mMaterial == null)) { - return ""; - } - return this.mPrefix.name() + this.mMaterial.mMaterial.name(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GregtechMaterialStack.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GregtechMaterialStack.java deleted file mode 100644 index d1ee02f480..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/objects/GregtechMaterialStack.java +++ /dev/null @@ -1,55 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.objects; - -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; - -public class GregtechMaterialStack implements Cloneable { - - public long mAmount; - public GT_Materials mMaterial; - - public GregtechMaterialStack(final GT_Materials aMaterial, final long aAmount) { - this.mMaterial = aMaterial == null ? GT_Materials._NULL : aMaterial; - this.mAmount = aAmount; - } - - public GregtechMaterialStack copy(final long aAmount) { - return new GregtechMaterialStack(this.mMaterial, aAmount); - } - - @Override - public GregtechMaterialStack clone() { - return new GregtechMaterialStack(this.mMaterial, this.mAmount); - } - - @Override - public boolean equals(final Object aObject) { - if (aObject == this) { - return true; - } - if (aObject == null) { - return false; - } - if (aObject instanceof GT_Materials) { - return aObject == this.mMaterial; - } - if (aObject instanceof GregtechMaterialStack) { - return (((GregtechMaterialStack) aObject).mMaterial == this.mMaterial) - && ((this.mAmount < 0) || (((GregtechMaterialStack) aObject).mAmount < 0) - || (((GregtechMaterialStack) aObject).mAmount == this.mAmount)); - } - return false; - } - - @Override - public String toString() { - return ((this.mMaterial.mMaterialList.size() > 1) && (this.mAmount > 1) ? "(" : "") - + this.mMaterial.getToolTip(true) - + ((this.mMaterial.mMaterialList.size() > 1) && (this.mAmount > 1) ? ")" : "") - + (this.mAmount > 1 ? this.mAmount : ""); - } - - @Override - public int hashCode() { - return this.mMaterial.hashCode(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/util/GTPP_Config.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/util/GTPP_Config.java deleted file mode 100644 index 65beea207a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/util/GTPP_Config.java +++ /dev/null @@ -1,123 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.util; - -import static gregtech.api.enums.GT_Values.E; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.common.config.Property; - -import gregtech.api.GregTech_API; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; - -public class GTPP_Config implements Runnable { - - public static boolean troll = false; - - public static Configuration sConfigFileIDs; - public final Configuration mConfig; - - public GTPP_Config(Configuration aConfig) { - mConfig = aConfig; - mConfig.load(); - mConfig.save(); - } - - public static int addIDConfig(Object aCategory, String aName, int aDefault) { - if (GT_Utility.isStringInvalid(aName)) return aDefault; - Property tProperty = sConfigFileIDs.get( - aCategory.toString() - .replaceAll("\\|", "."), - aName.replaceAll("\\|", "."), - aDefault); - int rResult = tProperty.getInt(aDefault); - if (!tProperty.wasRead() && GregTech_API.sPostloadFinished) sConfigFileIDs.save(); - return rResult; - } - - public static String getStackConfigName(ItemStack aStack) { - if (GT_Utility.isStackInvalid(aStack)) return E; - Object rName = GT_OreDictUnificator.getAssociation(aStack); - if (rName != null) return rName.toString(); - try { - if (GT_Utility.isStringValid(rName = aStack.getUnlocalizedName())) return rName.toString(); - } catch (Throwable e) { - /* Do nothing */ - } - String sName = aStack.getItem() - .toString(); - String[] tmp = sName.split("@"); - if (tmp.length > 0) sName = tmp[0]; - return sName + "." + aStack.getItemDamage(); - } - - public boolean get(Object aCategory, ItemStack aStack, boolean aDefault) { - String aName = getStackConfigName(aStack); - return get(aCategory, aName, aDefault); - } - - public boolean get(Object aCategory, String aName, boolean aDefault) { - if (GT_Utility.isStringInvalid(aName)) return aDefault; - Property tProperty = mConfig.get( - aCategory.toString() - .replaceAll("\\|", "_"), - (aName + "_" + aDefault).replaceAll("\\|", "_"), - aDefault); - boolean rResult = tProperty.getBoolean(aDefault); - if (!tProperty.wasRead() && GregTech_API.sPostloadFinished) mConfig.save(); - return rResult; - } - - public int get(Object aCategory, ItemStack aStack, int aDefault) { - return get(aCategory, getStackConfigName(aStack), aDefault); - } - - public int get(Object aCategory, String aName, int aDefault) { - if (GT_Utility.isStringInvalid(aName)) return aDefault; - Property tProperty = mConfig.get( - aCategory.toString() - .replaceAll("\\|", "_"), - (aName + "_" + aDefault).replaceAll("\\|", "_"), - aDefault); - int rResult = tProperty.getInt(aDefault); - if (!tProperty.wasRead() && GregTech_API.sPostloadFinished) mConfig.save(); - return rResult; - } - - public double get(Object aCategory, ItemStack aStack, double aDefault) { - return get(aCategory, getStackConfigName(aStack), aDefault); - } - - public double get(Object aCategory, String aName, double aDefault) { - if (GT_Utility.isStringInvalid(aName)) return aDefault; - Property tProperty = mConfig.get( - aCategory.toString() - .replaceAll("\\|", "_"), - (aName + "_" + aDefault).replaceAll("\\|", "_"), - aDefault); - double rResult = tProperty.getDouble(aDefault); - if (!tProperty.wasRead() && GregTech_API.sPostloadFinished) mConfig.save(); - return rResult; - } - - public String get(Object aCategory, ItemStack aStack, String aDefault) { - return get(aCategory, getStackConfigName(aStack), aDefault); - } - - public String get(Object aCategory, String aName, String aDefault) { - if (GT_Utility.isStringInvalid(aName)) return aDefault; - Property tProperty = mConfig.get( - aCategory.toString() - .replaceAll("\\|", "_"), - (aName + "_" + aDefault).replaceAll("\\|", "_"), - aDefault); - String rResult = tProperty.getString(); - if (!tProperty.wasRead() && GregTech_API.sPostloadFinished) mConfig.save(); - return rResult; - } - - @Override - public void run() { - mConfig.save(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/util/SpecialBehaviourTooltipHandler.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/util/SpecialBehaviourTooltipHandler.java deleted file mode 100644 index df95b7de2b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/api/util/SpecialBehaviourTooltipHandler.java +++ /dev/null @@ -1,35 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.util; - -import java.util.HashMap; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.event.entity.player.ItemTooltipEvent; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import gregtech.api.util.GT_Utility; - -public class SpecialBehaviourTooltipHandler { - - private static final HashMap mTooltipCache = new HashMap<>(); - - public static void addTooltipForItem(ItemStack aStack, String aTooltip) { - mTooltipCache.put(aStack, aTooltip); - } - - @SubscribeEvent - public void onItemTooltip(ItemTooltipEvent event) { - if (event != null) { - if (event.itemStack != null) { - for (ItemStack aKey : mTooltipCache.keySet()) { - if (GT_Utility.areStacksEqual(aKey, event.itemStack, false)) { - String s = mTooltipCache.get(aKey); - if (s != null && s.length() > 0) { - event.toolTip.add(EnumChatFormatting.RED + s); - } - } - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java deleted file mode 100644 index c53e217560..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java +++ /dev/null @@ -1,96 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; - -import cpw.mods.fml.common.registry.LanguageRegistry; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.TAE; -import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.handler.AchievementHandler; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.LangUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.gregtech.common.covers.CoverManager; -import ic2.core.init.BlocksItems; -import ic2.core.init.InternalName; - -public class Meta_GT_Proxy { - - public static AchievementHandler mAssemblyAchievements; - - public Meta_GT_Proxy() {} - - public static void preInit() { - fixIC2FluidNames(); - CoverManager.generateCustomCovers(); - } - - public static void init() { - PollutionUtils.setPollutionFluids(); - fixIC2FluidNames(); - } - - public static void postInit() { - mAssemblyAchievements = new AchievementHandler(); - fixIC2FluidNames(); - - // Finalise TAE - TAE.finalizeTAE(); - } - - @SuppressWarnings("deprecation") - public static void fixIC2FluidNames() { - // Fix IC2 Hot Water name - try { - String aNewHeatedWaterName = "Heated Water"; - Logger.INFO("Renaming [IC2 Hotspring Water] --> [" + aNewHeatedWaterName + "]."); - LanguageRegistry.instance() - .addStringLocalization("fluidHotWater", "Heated Water"); - LanguageRegistry.instance() - .addStringLocalization("fluidHotWater", aNewHeatedWaterName); - LanguageRegistry.instance() - .addStringLocalization("ic2.fluidHotWater", aNewHeatedWaterName); - GT_LanguageManager.addStringLocalization("fluidHotWater", aNewHeatedWaterName); - GT_LanguageManager.addStringLocalization("ic2.fluidHotWater", aNewHeatedWaterName); - - Block b = BlocksItems.getFluidBlock(InternalName.fluidHotWater); - if (b != null) { - LanguageRegistry.addName(ItemUtils.getSimpleStack(b), aNewHeatedWaterName); - LanguageRegistry.instance() - .addStringLocalization(b.getUnlocalizedName(), aNewHeatedWaterName); - GT_LanguageManager.addStringLocalization(b.getUnlocalizedName(), aNewHeatedWaterName); - } - Fluid f = BlocksItems.getFluid(InternalName.fluidHotWater); - if (f != null) { - LanguageRegistry.instance() - .addStringLocalization(f.getUnlocalizedName(), aNewHeatedWaterName); - GT_LanguageManager.addStringLocalization(f.getUnlocalizedName(), aNewHeatedWaterName); - int aDam = FluidRegistry.getFluidID(f); - ItemStack s = ItemList.Display_Fluid.getWithDamage(1, aDam); - if (s != null) { - LanguageRegistry.addName(s, aNewHeatedWaterName); - } - } - - String[] aLangs = new String[] { "de_DE", "en_US", "en_GB", "en_IC", "es_AR", "es_ES", "es_MX", "es_UY", - "es_VE", "fr_CA", "fr_FR", "it_IT", "ko_KR", "pt_BR", "pt_PT", "ru_RU", "sv_SE", "tr_TR", "zh_CN", - "zh_TW", }; - String[] aLangValues = new String[] { "Erhitztes Wasser", "Heated Water", "Heated Water", "Heated Water", - "Agua caliente", "Agua caliente", "Agua caliente", "Agua caliente", "Agua caliente", "Eau chauffée", - "Eau chauffée", "Acqua riscaldata", "온수", "Água aquecida", "Água aquecida", "Вода с подогревом", - "Uppvärmt vatten", "Isıtılmış Su", "热水", "热水", }; - for (int i = 0; i < aLangs.length; i++) { - Logger - .REFLECTION("Trying to inject new lang data for " + aLangs[i] + ", using value: " + aLangValues[i]); - LangUtils.rewriteEntryForLanguageRegistry(aLangs[i], "fluidHotWater", aLangValues[i]); - LangUtils.rewriteEntryForLanguageRegistry(aLangs[i], "ic2.fluidHotWater", aLangValues[i]); - } - } catch (Throwable t) { - - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java deleted file mode 100644 index ee0d040394..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks.java +++ /dev/null @@ -1,79 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.TAE; -import gregtech.api.util.GT_LanguageManager; -import gregtech.common.blocks.GT_Material_Casings; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.CasingTextureHandler; - -public class GregtechMetaCasingBlocks extends GregtechMetaCasingBlocksAbstract { - - CasingTextureHandler TextureHandler = new CasingTextureHandler(); - - public GregtechMetaCasingBlocks() { - super(GregtechMetaCasingItems.class, "miscutils.blockcasings", GT_Material_Casings.INSTANCE); - for (byte i = 0; i < 16; i = (byte) (i + 1)) { - if (i == 2 || i == 3 || i == 4) { - continue; - } - TAE.registerTexture(0, i, new GTPP_CopiedBlockTexture(this, 6, i)); - } - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Centrifuge Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Structural Coke Oven Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".2.name", "Heat Resistant Coke Oven Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Heat Proof Coke Oven Casing"); // 60 - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".4.name", "Material Press Machine Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", "Electrolyzer Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", "Wire Factory Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".7.name", "Maceration Stack Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".8.name", "Matter Generation Coil"); // 65 - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", "Matter Fabricator Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "Iron Plated Bricks"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", "Multitank Exterior Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".12.name", "Hastelloy-N Reactor Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".13.name", "Zeron-100 Reactor Shielding"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".14.name", "Blast Smelter Heat Containment Coil "); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".15.name", "Blast Smelter Casing Block"); - GregtechItemList.Casing_Centrifuge1.set(new ItemStack(this, 1, 0)); - GregtechItemList.Casing_CokeOven.set(new ItemStack(this, 1, 1)); - GregtechItemList.Casing_CokeOven_Coil1.set(new ItemStack(this, 1, 2)); - GregtechItemList.Casing_CokeOven_Coil2.set(new ItemStack(this, 1, 3)); - GregtechItemList.Casing_MaterialPress.set(new ItemStack(this, 1, 4)); - GregtechItemList.Casing_Electrolyzer.set(new ItemStack(this, 1, 5)); - GregtechItemList.Casing_WireFactory.set(new ItemStack(this, 1, 6)); - GregtechItemList.Casing_MacerationStack.set(new ItemStack(this, 1, 7)); - GregtechItemList.Casing_MatterGen.set(new ItemStack(this, 1, 8)); - GregtechItemList.Casing_MatterFab.set(new ItemStack(this, 1, 9)); - GregtechItemList.Casing_IronPlatedBricks.set(new ItemStack(this, 1, 10)); - GregtechItemList.Casing_MultitankExterior.set(new ItemStack(this, 1, 11)); - GregtechItemList.Casing_Reactor_I.set(new ItemStack(this, 1, 12)); - GregtechItemList.Casing_Reactor_II.set(new ItemStack(this, 1, 13)); - GregtechItemList.Casing_Coil_BlastSmelter.set(new ItemStack(this, 1, 14)); - GregtechItemList.Casing_BlastSmelter.set(new ItemStack(this, 1, 15)); - } - - @Override - public IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57] - return CasingTextureHandler.getIcon(ordinalSide, aMeta); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final int ordinalSide) { - final GregtechMetaCasingBlocks i = this; - return CasingTextureHandler - .handleCasingsGT(aWorld, xCoord, yCoord, zCoord, ForgeDirection.getOrientation(ordinalSide), i); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java deleted file mode 100644 index 9d53c281a2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java +++ /dev/null @@ -1,111 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import gregtech.api.enums.TAE; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import gregtech.common.blocks.GT_Material_Casings; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.CasingTextureHandler2; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.storage.GregtechMetaTileEntity_PowerSubStationController; - -public class GregtechMetaCasingBlocks2 extends GregtechMetaCasingBlocksAbstract { - - @Override - public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { - aList.add(new ItemStack(aItem, 1, 0)); - aList.add(new ItemStack(aItem, 1, 1)); - aList.add(new ItemStack(aItem, 1, 2)); - aList.add(new ItemStack(aItem, 1, 3)); - aList.add(new ItemStack(aItem, 1, 4)); - aList.add(new ItemStack(aItem, 1, 5)); - aList.add(new ItemStack(aItem, 1, 6)); - aList.add(new ItemStack(aItem, 1, 7)); - aList.add(new ItemStack(aItem, 1, 8)); - aList.add(new ItemStack(aItem, 1, 9)); - aList.add(new ItemStack(aItem, 1, 10)); - aList.add(new ItemStack(aItem, 1, 11)); - aList.add(new ItemStack(aItem, 1, 12)); - aList.add(new ItemStack(aItem, 1, 13)); - - aList.add(new ItemStack(aItem, 1, 15)); - - } - - public static class GregtechMetaCasingItemBlocks2 extends GregtechMetaCasingItems { - - public GregtechMetaCasingItemBlocks2(Block par1) { - super(par1); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - int meta = aStack.getItemDamage(); - int tier = GregtechMetaTileEntity_PowerSubStationController.getCellTier(field_150939_a, meta); - if (meta == 7 && tier > 0) { - long capacity = GregtechMetaTileEntity_PowerSubStationController.getCapacityFromCellTier(tier); - aList.add("Energy Storage: " + GT_Utility.formatNumbers(capacity)); - } - super.addInformation(aStack, aPlayer, aList, aF3_H); - } - } - - public GregtechMetaCasingBlocks2() { - super(GregtechMetaCasingItemBlocks2.class, "gtplusplus.blockcasings.2", GT_Material_Casings.INSTANCE); - for (byte i = 0; i < 16; i = (byte) (i + 1)) { - if (i == 4 || i == 10 || i == 11 || i == 12 || i == 14) { - continue; - } - TAE.registerTexture(1, i, new GTPP_CopiedBlockTexture(this, 6, i)); - } - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Thermal Processing Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Hastelloy-N Sealant Block"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Hastelloy-X Structural Block"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".3.name", "Incoloy-DS Fluid Containment Block"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".4.name", "Wash Plant Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", "Industrial Sieve Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", "Large Sieve Grate"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".7.name", "Vanadium Redox Power Cell (EV)"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".8.name", "Sub-Station External Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", "Cyclotron Coil"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "Cyclotron Outer Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", "Thermal Containment Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".12.name", "Bulk Production Frame"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".13.name", "Cutting Factory Frame"); - - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".15.name", "Sterile Farm Casing"); - - GregtechItemList.Casing_ThermalCentrifuge.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_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)); - GregtechItemList.Casing_Vanadium_Redox.set(new ItemStack(this, 1, 7)); - GregtechItemList.Casing_Power_SubStation.set(new ItemStack(this, 1, 8)); - GregtechItemList.Casing_Cyclotron_Coil.set(new ItemStack(this, 1, 9)); - GregtechItemList.Casing_Cyclotron_External.set(new ItemStack(this, 1, 10)); - GregtechItemList.Casing_ThermalContainment.set(new ItemStack(this, 1, 11)); - GregtechItemList.Casing_Autocrafter.set(new ItemStack(this, 1, 12)); - GregtechItemList.Casing_CuttingFactoryFrame.set(new ItemStack(this, 1, 13)); - - GregtechItemList.Casing_PLACEHOLDER_TreeFarmer.set(new ItemStack(this, 1, 15)); // Tree Farmer Textures - } - - @Override - public IIcon getIcon(final int ordinalSide, final int aMeta) { - return CasingTextureHandler2.getIcon(ordinalSide, aMeta); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java deleted file mode 100644 index 76fb077de1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java +++ /dev/null @@ -1,379 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.TAE; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import gregtech.common.blocks.GT_Material_Casings; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.CasingTextureHandler3; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.storage.GregtechMetaTileEntity_PowerSubStationController; - -public class GregtechMetaCasingBlocks3 extends GregtechMetaCasingBlocksAbstract { - - public static boolean mConnectedMachineTextures = false; - CasingTextureHandler3 TextureHandler = new CasingTextureHandler3(); - - public static class GregtechMetaCasingItemBlocks3 extends GregtechMetaCasingItems { - - public GregtechMetaCasingItemBlocks3(Block par1) { - super(par1); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - int meta = aStack.getItemDamage(); - int tier = GregtechMetaTileEntity_PowerSubStationController.getCellTier(field_150939_a, meta); - if (tier > 0) { - long capacity = GregtechMetaTileEntity_PowerSubStationController.getCapacityFromCellTier(tier); - aList.add("Energy Storage: " + GT_Utility.formatNumbers(capacity)); - } - super.addInformation(aStack, aPlayer, aList, aF3_H); - } - } - - public GregtechMetaCasingBlocks3() { - super(GregtechMetaCasingItemBlocks3.class, "gtplusplus.blockcasings.3", GT_Material_Casings.INSTANCE); - for (byte i = 0; i < 16; i = (byte) (i + 1)) { - // Free up Redox casing in TAE - if (i >= 4 && i <= 8) { - continue; - } - TAE.registerTexture(2, i, new GTPP_CopiedBlockTexture(this, 6, i)); - } - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Aquatic Casing"); - 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 Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".4.name", "Vanadium Redox Power Cell (IV)"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".5.name", "Vanadium Redox Power Cell (LuV)"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".6.name", "Vanadium Redox Power Cell (ZPM)"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".7.name", "Vanadium Redox Power Cell (UV)"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".8.name", "Vanadium Redox Power Cell (UHV)"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", "Supply Depot Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "Advanced Cryogenic Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", "Volcanus Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".12.name", "Fusion Machine Casing MK III"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".13.name", "Advanced Fusion Coil"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".14.name", "Unnamed"); // Can Use, don't - // change texture - // (Used for Fusion - // MK4) - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".15.name", "Containment Casing"); - GregtechItemList.Casing_FishPond.set(new ItemStack(this, 1, 0)); - 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_Vanadium_Redox_IV.set(new ItemStack(this, 1, 4)); - GregtechItemList.Casing_Vanadium_Redox_LuV.set(new ItemStack(this, 1, 5)); - GregtechItemList.Casing_Vanadium_Redox_ZPM.set(new ItemStack(this, 1, 6)); - GregtechItemList.Casing_Vanadium_Redox_UV.set(new ItemStack(this, 1, 7)); - GregtechItemList.Casing_Vanadium_Redox_MAX.set(new ItemStack(this, 1, 8)); - GregtechItemList.Casing_AmazonWarehouse.set(new ItemStack(this, 1, 9)); - GregtechItemList.Casing_AdvancedVacuum.set(new ItemStack(this, 1, 10)); - GregtechItemList.Casing_Adv_BlastFurnace.set(new ItemStack(this, 1, 11)); - GregtechItemList.Casing_Fusion_External.set(new ItemStack(this, 1, 12)); - GregtechItemList.Casing_Fusion_Internal.set(new ItemStack(this, 1, 13)); - GregtechItemList.Casing_Containment.set(new ItemStack(this, 1, 15)); - } - - @Override - public IIcon getIcon(final int ordinalSide, final int aMeta) { - return CasingTextureHandler3.getIcon(ordinalSide, aMeta); - } - - @SideOnly(Side.CLIENT) - @Override - public IIcon getIcon(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final int ordinalSide) { - final Block thisBlock = aWorld.getBlock(xCoord, yCoord, zCoord); - final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); - if ((tMeta != 12) || !GregtechMetaCasingBlocks3.mConnectedMachineTextures) { - return getIcon(ordinalSide, tMeta); - } - final int tStartIndex = 0; - if (tMeta == 12) { - final boolean[] tConnectedSides = { - aWorld.getBlock(xCoord, yCoord - 1, zCoord) == thisBlock - && aWorld.getBlockMetadata(xCoord, yCoord - 1, zCoord) == tMeta, - aWorld.getBlock(xCoord, yCoord + 1, zCoord) == thisBlock - && aWorld.getBlockMetadata(xCoord, yCoord + 1, zCoord) == tMeta, - aWorld.getBlock(xCoord + 1, yCoord, zCoord) == thisBlock - && aWorld.getBlockMetadata(xCoord + 1, yCoord, zCoord) == tMeta, - aWorld.getBlock(xCoord, yCoord, zCoord + 1) == thisBlock - && aWorld.getBlockMetadata(xCoord, yCoord, zCoord + 1) == tMeta, - aWorld.getBlock(xCoord - 1, yCoord, zCoord) == thisBlock - && aWorld.getBlockMetadata(xCoord - 1, yCoord, zCoord) == tMeta, - aWorld.getBlock(xCoord, yCoord, zCoord - 1) == thisBlock - && aWorld.getBlockMetadata(xCoord, yCoord, zCoord - 1) == tMeta }; - switch (ordinalSide) { - case 0: { - if (tConnectedSides[0]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[4] && !tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 3].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && !tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 5].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 8].getIcon(); - } - if (tConnectedSides[4] && !tConnectedSides[5] && !tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 9].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && !tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 10].getIcon(); - } - if (!tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 11].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[5] && !tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[2]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 1].getIcon(); - } - if (!tConnectedSides[5] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 0].getIcon(); - } - } - case 1: { - if (tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[4] && !tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 3].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && !tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 5].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 8].getIcon(); - } - if (tConnectedSides[4] && !tConnectedSides[5] && !tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 9].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && !tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 10].getIcon(); - } - if (!tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 11].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[5] && !tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[4]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 1].getIcon(); - } - if (!tConnectedSides[3] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 0].getIcon(); - } - } - case 2: { - if (tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[2] && !tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 5].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && !tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 3].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 11].getIcon(); - } - if (tConnectedSides[2] && !tConnectedSides[0] && !tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 10].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && !tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 9].getIcon(); - } - if (!tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 8].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[0] && !tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[4]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 1].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 0].getIcon(); - } - } - case 3: { - if (tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[2] && !tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 5].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && !tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 3].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 10].getIcon(); - } - if (tConnectedSides[2] && !tConnectedSides[0] && !tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 11].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && !tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 8].getIcon(); - } - if (!tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 9].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[0] && !tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[4]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 1].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 0].getIcon(); - } - } - case 4: { - if (tConnectedSides[4]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 5].getIcon(); - } - if (tConnectedSides[0] && !tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && !tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 3].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 2].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 10].getIcon(); - } - if (tConnectedSides[0] && !tConnectedSides[3] && !tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 9].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && !tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 8].getIcon(); - } - if (!tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 11].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[3] && !tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 0].getIcon(); - } - if (!tConnectedSides[3] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 1].getIcon(); - } - } - case 5: { - if (tConnectedSides[2]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 5].getIcon(); - } - if (tConnectedSides[0] && !tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && !tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 3].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 4].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 11].getIcon(); - } - if (tConnectedSides[0] && !tConnectedSides[3] && !tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 8].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && !tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 9].getIcon(); - } - if (!tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 10].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[3] && !tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 0].getIcon(); - } - if (!tConnectedSides[3] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 1].getIcon(); - } - break; - } - } - return TexturesGtBlock.CONNECTED_FUSION_HULLS[tStartIndex + 7].getIcon(); - } - return CasingTextureHandler3.getIcon(ordinalSide, tMeta); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java deleted file mode 100644 index a150d7e828..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java +++ /dev/null @@ -1,126 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.util.GT_LanguageManager; -import gregtech.common.blocks.GT_Material_Casings; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaCasingBlocks4 extends GregtechMetaCasingBlocksAbstract { - - public GregtechMetaCasingBlocks4() { - super(GregtechMetaCasingItems.class, "gtplusplus.blockcasings.4", GT_Material_Casings.INSTANCE); - for (byte i = 0; i < 16; i = (byte) (i + 1)) { - if (i == 2 || i == 4 || i == 5 || i == 6 || i == 7 || i == 8 || i == 12 || i == 13 || i == 14 || i == 15) { - continue; - } - TAE.registerTexture(3, i, new GTPP_CopiedBlockTexture(this, 6, i)); - } - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Naquadah Reactor Base"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Reactor Piping"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Naquadah Containment Chamber"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Tempered Arc Furnace Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".4.name", "Quantum Force Transformer Coil Casings"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "Vacuum Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", "Turbodyne Casing"); - - GregtechItemList.Casing_Naq_Reactor_A.set(new ItemStack(this, 1, 0)); - GregtechItemList.Casing_Naq_Reactor_B.set(new ItemStack(this, 1, 1)); - GregtechItemList.Casing_Naq_Reactor_C.set(new ItemStack(this, 1, 2)); - GregtechItemList.Casing_Industrial_Arc_Furnace.set(new ItemStack(this, 1, 3)); - GregtechItemList.Casing_Coil_QuantumForceTransformer.set(new ItemStack(this, 1, 4)); - GregtechItemList.Casing_Vacuum_Furnace.set(new ItemStack(this, 1, 10)); - GregtechItemList.Casing_RocketEngine.set(new ItemStack(this, 1, 11)); - } - - @Override - public IIcon getIcon(final int ordinalSide, final int aMeta) { - return getStaticIcon((byte) ordinalSide, (byte) aMeta); - } - - public static IIcon getStaticIcon(final byte aSide, final byte aMeta) { - // Texture ID's. case 0 == ID[57] - if ((aMeta >= 0) && (aMeta < 16)) { - switch (aMeta) { - case 0 -> { - return TexturesGtBlock.Casing_Trinium_Titanium.getIcon(); - } - case 1 -> { - return TexturesGtBlock.TEXTURE_TECH_C.getIcon(); - } - case 2 -> { - return TexturesGtBlock.TEXTURE_ORGANIC_PANEL_A_GLOWING.getIcon(); - } - case 3 -> { - return TexturesGtBlock.TEXTURE_METAL_PANEL_A.getIcon(); - } - case 4 -> { - return TexturesGtBlock.Casing_Coil_QFT.getIcon(); - } - case 5 -> { - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - case 6 -> { - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - case 7 -> { - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - case 8 -> { - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - case 9 -> { - return TexturesGtBlock.Casing_Material_MaragingSteel.getIcon(); - } - case 10 -> { - if (aSide < 2) { - return TexturesGtBlock.TEXTURE_STONE_RED_B.getIcon(); - } else { - return TexturesGtBlock.TEXTURE_STONE_RED_A.getIcon(); - } - } - case 11 -> { - return TexturesGtBlock.TEXTURE_CASING_ROCKETDYNE.getIcon(); - } - case 12 -> { - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - case 13 -> { - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - case 14 -> { - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - case 15 -> { - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - default -> { - return TexturesGtBlock.Casing_Material_MaragingSteel.getIcon(); - } - } - } - return TexturesGtBlock._PlaceHolder.getIcon(); - } - - @Override - public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { - aList.add(new ItemStack(aItem, 1, 0)); - aList.add(new ItemStack(aItem, 1, 1)); - aList.add(new ItemStack(aItem, 1, 2)); - aList.add(new ItemStack(aItem, 1, 3)); - aList.add(new ItemStack(aItem, 1, 4)); - - aList.add(new ItemStack(aItem, 1, 10)); - aList.add(new ItemStack(aItem, 1, 11)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java deleted file mode 100644 index cc573cd188..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java +++ /dev/null @@ -1,159 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.util.GT_LanguageManager; -import gregtech.common.blocks.GT_Material_Casings; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGrinderMultiblock; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaCasingBlocks5 extends GregtechMetaCasingBlocksAbstract { - - // Free Indexes within TAE: 91, 92, 94, 100, 101, 102, 103, 104, 114, 116, 117, 118, 119, 120, 121, 124, 125, 126, - // 127 - // 19 Free Indexes - private static final TexturesGrinderMultiblock mGrinderOverlayHandler = new TexturesGrinderMultiblock(); - - public GregtechMetaCasingBlocks5() { - super(GregtechMetaCasingItems.class, "gtplusplus.blockcasings.5", GT_Material_Casings.INSTANCE); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "IsaMill Exterior Casing"); // IsaMill - // Casing - TAE.registerTexture(0, 2, new GTPP_CopiedBlockTexture(this, 6, 0)); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "IsaMill Piping"); // IsaMill - // Pipe - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "IsaMill Gearbox"); // IsaMill - // Gearbox - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Elemental Confinement Shell"); // Duplicator - // Casing - TAE.registerTexture(0, 3, new GTPP_CopiedBlockTexture(this, 6, 3)); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".4.name", "Sparge Tower Exterior Casing"); // Sparge - // Tower - // Casing - TAE.registerTexture(0, 4, new GTPP_CopiedBlockTexture(this, 6, 4)); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", "Sturdy Printer Casing"); // Unused - TAE.registerTexture(1, 10, new GTPP_CopiedBlockTexture(this, 6, 5)); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", "Forge Casing"); // Forge Hammer - // Casing - TAE.registerTexture(1, 11, new GTPP_CopiedBlockTexture(this, 6, 6)); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".7.name", "Neutron Pulse Manipulator"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".8.name", "Cosmic Fabric Manipulator"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", "Infinity Infused Manipulator"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "SpaceTime Continuum Ripper"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", "Neutron Shielding Core"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".12.name", "Cosmic Fabric Shielding Core"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".13.name", "Infinity Infused Shielding Core"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".14.name", "SpaceTime Bending Core"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".15.name", "Force Field Glass"); - - GregtechItemList.Casing_IsaMill_Casing.set(new ItemStack(this, 1, 0)); - GregtechItemList.Casing_IsaMill_Pipe.set(new ItemStack(this, 1, 1)); - GregtechItemList.Casing_IsaMill_Gearbox.set(new ItemStack(this, 1, 2)); - GregtechItemList.Casing_ElementalDuplicator.set(new ItemStack(this, 1, 3)); - GregtechItemList.Casing_Sparge_Tower_Exterior.set(new ItemStack(this, 1, 4)); - GregtechItemList.Casing_IndustrialAutoChisel.set(new ItemStack(this, 1, 5)); - GregtechItemList.Casing_IndustrialForgeHammer.set(new ItemStack(this, 1, 6)); - GregtechItemList.NeutronPulseManipulator.set(new ItemStack(this, 1, 7)); - GregtechItemList.CosmicFabricManipulator.set(new ItemStack(this, 1, 8)); - GregtechItemList.InfinityInfusedManipulator.set(new ItemStack(this, 1, 9)); - GregtechItemList.SpaceTimeContinuumRipper.set(new ItemStack(this, 1, 10)); - GregtechItemList.NeutronShieldingCore.set(new ItemStack(this, 1, 11)); - GregtechItemList.CosmicFabricShieldingCore.set(new ItemStack(this, 1, 12)); - GregtechItemList.InfinityInfusedShieldingCore.set(new ItemStack(this, 1, 13)); - GregtechItemList.SpaceTimeBendingCore.set(new ItemStack(this, 1, 14)); - GregtechItemList.ForceFieldGlass.set(new ItemStack(this, 1, 15)); - } - - @Override - public IIcon getIcon(final int ordinalSide, final int aMeta) { - return getStaticIcon(ordinalSide, aMeta); - } - - public static IIcon getStaticIcon(final int ordinalSide, final int aMeta) { - if ((aMeta >= 0) && (aMeta < 16)) { - switch (aMeta) { - case 0 -> { - return TexturesGtBlock.TEXTURE_PIPE_GRINDING_MILL.getIcon(); - } - case 1 -> { - return TexturesGtBlock.TEXTURE_CASING_GRINDING_MILL.getIcon(); - } - case 2 -> { - return TexturesGtBlock.TEXTURE_GEARBOX_GRINDING_MILL.getIcon(); - } - case 3 -> { - return TexturesGtBlock.TEXTURE_TECH_PANEL_D.getIcon(); - } - case 4 -> { - return TexturesGtBlock.Casing_Machine_Metal_Sheet_H.getIcon(); - } - case 5 -> { - return TexturesGtBlock.Casing_Machine_Metal_Sheet_I.getIcon(); - } - case 6 -> { - return TexturesGtBlock.TEXTURE_TECH_PANEL_H.getIcon(); - } - case 7 -> { - if (ordinalSide == 0 || ordinalSide == 1) { - return TexturesGtBlock.Manipulator_Top.getIcon(); - } - return TexturesGtBlock.NeutronPulseManipulator.getIcon(); - } - case 8 -> { - if (ordinalSide == 0 || ordinalSide == 1) { - return TexturesGtBlock.Manipulator_Top.getIcon(); - } - return TexturesGtBlock.CosmicFabricManipulator.getIcon(); - } - case 9 -> { - if (ordinalSide == 0 || ordinalSide == 1) { - return TexturesGtBlock.Manipulator_Top.getIcon(); - } - return TexturesGtBlock.InfinityInfusedManipulator.getIcon(); - } - case 10 -> { - if (ordinalSide == 0 || ordinalSide == 1) { - return TexturesGtBlock.Manipulator_Top.getIcon(); - } - return TexturesGtBlock.SpaceTimeContinuumRipper.getIcon(); - } - case 11 -> { - return TexturesGtBlock.NeutronShieldingCore.getIcon(); - } - case 12 -> { - return TexturesGtBlock.CosmicFabricShieldingCore.getIcon(); - } - case 13 -> { - return TexturesGtBlock.InfinityInfusedShieldingCore.getIcon(); - } - case 14 -> { - return TexturesGtBlock.SpaceTimeBendingCore.getIcon(); - } - case 15 -> { - if (ordinalSide == 0 || ordinalSide == 1) { - return TexturesGtBlock.Blank.getIcon(); - } - return TexturesGtBlock.ForceFieldGlass.getIcon(); - } - } - } - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final int ordinalSide) { - final GregtechMetaCasingBlocks5 i = this; - return mGrinderOverlayHandler.handleCasingsGT(aWorld, xCoord, yCoord, zCoord, ordinalSide, i); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks6.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks6.java deleted file mode 100644 index d257078461..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks6.java +++ /dev/null @@ -1,341 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.TAE; -import gregtech.api.util.GT_LanguageManager; -import gregtech.common.blocks.GT_Material_Casings; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.CasingTextureHandler6; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaCasingBlocks6 extends GregtechMetaCasingBlocksAbstract { - - public static boolean mConnectedMachineTextures = false; - CasingTextureHandler6 TextureHandler = new CasingTextureHandler6(); - - @Override - public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { - for (int i = 0; i < 3; i++) { - aList.add(new ItemStack(aItem, 1, i)); - } - } - - public static class GregtechMetaCasingItemBlocks3 extends GregtechMetaCasingItems { - - public GregtechMetaCasingItemBlocks3(Block par1) { - super(par1); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - super.addInformation(aStack, aPlayer, aList, aF3_H); - } - } - - public GregtechMetaCasingBlocks6() { - super(GregtechMetaCasingItemBlocks3.class, "gtplusplus.blockcasings.6", GT_Material_Casings.INSTANCE); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Fusion Machine Casing MK IV"); - TAE.registerTexture(3, 4, new GTPP_CopiedBlockTexture(this, 6, 0)); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Advanced Fusion Coil II"); - TAE.registerTexture(3, 5, new GTPP_CopiedBlockTexture(this, 6, 1)); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Unnamed"); - TAE.registerTexture(3, 6, new GTPP_CopiedBlockTexture(this, 6, 2)); - GregtechItemList.Casing_Fusion_External2.set(new ItemStack(this, 1, 0)); - GregtechItemList.Casing_Fusion_Internal2.set(new ItemStack(this, 1, 1)); - } - - @Override - public IIcon getIcon(final int ordinalSide, final int aMeta) { - return CasingTextureHandler6.getIcon(ordinalSide, aMeta); - } - - @SideOnly(Side.CLIENT) - @Override - public IIcon getIcon(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final int ordinalSide) { - final Block thisBlock = aWorld.getBlock(xCoord, yCoord, zCoord); - final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); - if ((tMeta != 0) || !GregtechMetaCasingBlocks6.mConnectedMachineTextures) { - return getIcon(ordinalSide, tMeta); - } - final int tStartIndex = 0; - if (tMeta == 0) { - final boolean[] tConnectedSides = { - aWorld.getBlock(xCoord, yCoord - 1, zCoord) == thisBlock - && aWorld.getBlockMetadata(xCoord, yCoord - 1, zCoord) == tMeta, - aWorld.getBlock(xCoord, yCoord + 1, zCoord) == thisBlock - && aWorld.getBlockMetadata(xCoord, yCoord + 1, zCoord) == tMeta, - aWorld.getBlock(xCoord + 1, yCoord, zCoord) == thisBlock - && aWorld.getBlockMetadata(xCoord + 1, yCoord, zCoord) == tMeta, - aWorld.getBlock(xCoord, yCoord, zCoord + 1) == thisBlock - && aWorld.getBlockMetadata(xCoord, yCoord, zCoord + 1) == tMeta, - aWorld.getBlock(xCoord - 1, yCoord, zCoord) == thisBlock - && aWorld.getBlockMetadata(xCoord - 1, yCoord, zCoord) == tMeta, - aWorld.getBlock(xCoord, yCoord, zCoord - 1) == thisBlock - && aWorld.getBlockMetadata(xCoord, yCoord, zCoord - 1) == tMeta }; - switch (ordinalSide) { - case 0: { - if (tConnectedSides[0]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[4] && !tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 3].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && !tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 5].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 8].getIcon(); - } - if (tConnectedSides[4] && !tConnectedSides[5] && !tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 9].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && !tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 10].getIcon(); - } - if (!tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 11].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[5] && !tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[2]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 1].getIcon(); - } - if (!tConnectedSides[5] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 0].getIcon(); - } - } - case 1: { - if (tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[4] && !tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 3].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && !tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 5].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[5] && tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 8].getIcon(); - } - if (tConnectedSides[4] && !tConnectedSides[5] && !tConnectedSides[2] && tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 9].getIcon(); - } - if (tConnectedSides[4] && tConnectedSides[5] && !tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 10].getIcon(); - } - if (!tConnectedSides[4] && tConnectedSides[5] && tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 11].getIcon(); - } - if (!tConnectedSides[4] && !tConnectedSides[5] && !tConnectedSides[2] && !tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[4]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 1].getIcon(); - } - if (!tConnectedSides[3] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 0].getIcon(); - } - } - case 2: { - if (tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[2] && !tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 5].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && !tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 3].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 11].getIcon(); - } - if (tConnectedSides[2] && !tConnectedSides[0] && !tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 10].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && !tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 9].getIcon(); - } - if (!tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 8].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[0] && !tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[4]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 1].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 0].getIcon(); - } - } - case 3: { - if (tConnectedSides[3]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[2] && !tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 5].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && !tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 3].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[0] && tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 10].getIcon(); - } - if (tConnectedSides[2] && !tConnectedSides[0] && !tConnectedSides[4] && tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 11].getIcon(); - } - if (tConnectedSides[2] && tConnectedSides[0] && !tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 8].getIcon(); - } - if (!tConnectedSides[2] && tConnectedSides[0] && tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 9].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[0] && !tConnectedSides[4] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[2] && !tConnectedSides[4]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 1].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 0].getIcon(); - } - } - case 4: { - if (tConnectedSides[4]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 5].getIcon(); - } - if (tConnectedSides[0] && !tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 4].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && !tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 3].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 2].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 10].getIcon(); - } - if (tConnectedSides[0] && !tConnectedSides[3] && !tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 9].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && !tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 8].getIcon(); - } - if (!tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 11].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[3] && !tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 0].getIcon(); - } - if (!tConnectedSides[3] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 1].getIcon(); - } - } - case 5: { - if (tConnectedSides[2]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 6].getIcon(); - } - if (!tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 5].getIcon(); - } - if (tConnectedSides[0] && !tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 2].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && !tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 3].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 4].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[3] && tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 11].getIcon(); - } - if (tConnectedSides[0] && !tConnectedSides[3] && !tConnectedSides[1] && tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 8].getIcon(); - } - if (tConnectedSides[0] && tConnectedSides[3] && !tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 9].getIcon(); - } - if (!tConnectedSides[0] && tConnectedSides[3] && tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 10].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[3] && !tConnectedSides[1] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - if (!tConnectedSides[0] && !tConnectedSides[1]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 0].getIcon(); - } - if (!tConnectedSides[3] && !tConnectedSides[5]) { - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 1].getIcon(); - } - break; - } - } - return TexturesGtBlock.CONNECTED_FUSION_HULLS_MK4[tStartIndex + 7].getIcon(); - } - return CasingTextureHandler6.getIcon(ordinalSide, tMeta); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksAbstract.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksAbstract.java deleted file mode 100644 index a87f6c92b3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksAbstract.java +++ /dev/null @@ -1,151 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.init.Blocks; -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 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; - -public abstract class GregtechMetaCasingBlocksAbstract extends GT_Block_Casings_Abstract { - - public GregtechMetaCasingBlocksAbstract(final Class aItemClass, final String aName, - final Material aMaterial) { - super(aItemClass, aName, aMaterial); - this.setStepSound(soundTypeMetal); - this.setCreativeTab(AddToCreativeTab.tabMachines); - GregTech_API.registerMachineBlock(this, -1); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + "." + 32767 + ".name", "Any Sub Block of this"); - } - - @Override - public String getHarvestTool(final int aMeta) { - return "wrench"; - } - - @Override - public int getHarvestLevel(final int aMeta) { - return 2; - } - - @Override - public float getBlockHardness(final World aWorld, final int aX, final int aY, final int aZ) { - return Blocks.iron_block.getBlockHardness(aWorld, aX, aY, aZ); - } - - @Override - public float getExplosionResistance(final Entity aTNT) { - return Blocks.iron_block.getExplosionResistance(aTNT); - } - - @Override - protected boolean canSilkHarvest() { - return false; - } - - @Override - public void onBlockAdded(final World aWorld, final int aX, final int aY, final int aZ) { - if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { - GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); - } - } - - @Override - public String getUnlocalizedName() { - return this.mUnlocalizedName; - } - - @Override - public String getLocalizedName() { - return StatCollector.translateToLocal(this.mUnlocalizedName + ".name"); - } - - @Override - public boolean canBeReplacedByLeaves(final IBlockAccess aWorld, final int aX, final int aY, final int aZ) { - return false; - } - - @Override - public boolean isNormalCube(final IBlockAccess aWorld, final int aX, final int aY, final int aZ) { - return true; - } - - @Override - public boolean renderAsNormalBlock() { - return true; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public int getRenderBlockPass() { - return 0; - } - - @Override - public void breakBlock(final World aWorld, final int aX, final int aY, final int aZ, final Block aBlock, - final int aMetaData) { - if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { - GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); - } - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, - final int z) { - return false; - } - - @Override - public int damageDropped(final int par1) { - return par1; - } - - @Override - public int getDamageValue(final World par1World, final int par2, final int par3, final int par4) { - return par1World.getBlockMetadata(par2, par3, par4); - } - - @Override - public int quantityDropped(final Random par1Random) { - return 1; - } - - @Override - public Item getItemDropped(final int par1, final Random par2Random, final int par3) { - return Item.getItemFromBlock(this); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister aIconRegister) {} - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(final Item aItem, final CreativeTabs par2CreativeTabs, final List aList) { - for (int i = 0; i < 16; i++) { - aList.add(new ItemStack(aItem, 1, i)); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksPipeGearbox.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksPipeGearbox.java deleted file mode 100644 index ad2b11f924..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocksPipeGearbox.java +++ /dev/null @@ -1,91 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.HashMap; - -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.Textures; -import gregtech.api.util.GT_LanguageManager; -import gregtech.common.blocks.GT_Material_Casings; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaCasingBlocksPipeGearbox extends GregtechMetaCasingBlocksAbstract { - - private static HashMap sMaterialMapping = new HashMap<>(); - - public GregtechMetaCasingBlocksPipeGearbox() { - super(GregtechMetaCasingItems.class, "gtplusplus.blockcasings.pipesgears", GT_Material_Casings.INSTANCE); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Eglin Steel Gear Box Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Inconel-792 Gear Box Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".2.name", "Incoloy MA956 Gear Box Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Nitinol-60 Gear Box Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".4.name", "Zeron-100 Gear Box Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", "Pikyonium Gear Box Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", "Titansteel Gear Box Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".7.name", "Abyssal Gear Box Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".8.name", "Babbit Alloy Pipe Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", "Inconel-690 Pipe Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "Stellite Pipe Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", "Nitinol-60 Pipe Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".12.name", "Lafium Pipe Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".13.name", "Cinobite Pipe Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".14.name", "Titansteel Pipe Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".15.name", "Abyssal Pipe Casing"); - - int aMappingID = 0; - sMaterialMapping.put(aMappingID++, ALLOY.EGLIN_STEEL.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.INCONEL_792.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.INCOLOY_MA956.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.NITINOL_60.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.ZERON_100.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.PIKYONIUM.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.TITANSTEEL.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.ABYSSAL.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.BABBIT_ALLOY.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.INCONEL_690.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.STELLITE.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.NITINOL_60.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.LAFIUM.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.CINOBITE.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.TITANSTEEL.getRgbAsHex()); - sMaterialMapping.put(aMappingID++, ALLOY.ABYSSAL.getRgbAsHex()); - } - - @Override - public IIcon getIcon(final int ordinalSide, final int meta) { - if ((meta >= 0) && (meta < 16)) { - switch (meta) { - case 0, 1, 2, 3, 4, 5, 6, 7 -> { - return TexturesGtBlock.TEXTURE_GEARBOX_GENERIC.getIcon(); - } - case 8, 9, 10, 11, 12, 13, 14, 15 -> { - return TexturesGtBlock.TEXTURE_PIPE_GENERIC.getIcon(); - } - } - } - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - - @SideOnly(Side.CLIENT) - @Override - public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4) { - return sMaterialMapping.get(par1IBlockAccess.getBlockMetadata(par2, par3, par4)); - } - - @SideOnly(Side.CLIENT) - @Override - public int getRenderColor(final int aMeta) { - return sMaterialMapping.get(aMeta); - } - - @SideOnly(Side.CLIENT) - @Override - public int getBlockColor() { - return super.getBlockColor(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingItems.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingItems.java deleted file mode 100644 index f86c6af265..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingItems.java +++ /dev/null @@ -1,10 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import net.minecraft.block.Block; - -public class GregtechMetaCasingItems extends GregtechMetaItemCasingsAbstract { - - public GregtechMetaCasingItems(final Block par1) { - super(par1); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaItemCasingsAbstract.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaItemCasingsAbstract.java deleted file mode 100644 index 23d9ab5007..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaItemCasingsAbstract.java +++ /dev/null @@ -1,67 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; - -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 { - - protected final String mCasing_Centrifuge = GT_LanguageManager - .addStringLocalization("mu.centrifugecasing", "Warning! Standing in the Centrifuge not recommended"); - protected final String mCasing_CokeOven = GT_LanguageManager - .addStringLocalization("mu.cokeoven", "Sturdy and Strong"); - protected final String mCasing_CokeCoil1 = GT_LanguageManager - .addStringLocalization("mu.coil01tooltip", "Base Heating Capacity = 1350 Kelvin"); - protected final String mCasing_CokeCoil2 = GT_LanguageManager - .addStringLocalization("mu.coil02tooltip", "Base Heating Capacity = 2275 Kelvin"); - protected final String mNoMobsToolTip = GT_LanguageManager - .addStringLocalization("gt.nomobspawnsonthisblock", "Mobs cannot Spawn on this Block"); - protected final String mNoTileEntityToolTip = GT_LanguageManager - .addStringLocalization("gt.notileentityinthisblock", "This is NOT a TileEntity!"); - - public GregtechMetaItemCasingsAbstract(final Block par1) { - super(par1); - this.setMaxDamage(0); - this.setHasSubtypes(true); - // setCreativeTab(AddToCreativeTab.tabMachines); - } - - @Override - public int getMetadata(final int aMeta) { - return aMeta; - } - - @Override - public String getUnlocalizedName(final ItemStack aStack) { - return this.field_150939_a.getUnlocalizedName() + "." + this.getDamage(aStack); - } - - @Override - public void addInformation(final ItemStack aStack, final EntityPlayer aPlayer, final List aList, - final boolean aF3_H) { - super.addInformation(aStack, aPlayer, aList, aF3_H); - switch (this.getDamage(aStack)) { - case 0: - // aList.add(this.mCasing_Centrifuge); - break; - case 1: - // aList.add(this.mCasing_CokeOven); - break; - case 2: - // aList.add(this.mCasing_CokeCoil1); - break; - case 3: - // aList.add(this.mCasing_CokeCoil2); - break; - default: - break; - } - aList.add(this.mNoMobsToolTip); - aList.add(this.mNoTileEntityToolTip); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMachineCasings.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMachineCasings.java deleted file mode 100644 index 473c13f3da..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMachineCasings.java +++ /dev/null @@ -1,76 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.util.GT_LanguageManager; -import gregtech.common.blocks.GT_Material_Casings; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaSpecialMachineCasings extends GregtechMetaCasingBlocksAbstract { - - @Override - public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { - for (int i = 0; i < 4; i++) { - aList.add(new ItemStack(aItem, 1, i)); - } - } - - public static class SpecialCasingItemBlock extends GregtechMetaCasingItems { - - public SpecialCasingItemBlock(Block par1) { - super(par1); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - int aMeta = aStack.getItemDamage(); - if (aMeta < 10) { - // aList.add("Tier: "+GT_Values.VN[aMeta]); - } - super.addInformation(aStack, aPlayer, aList, aF3_H); - } - } - - public GregtechMetaSpecialMachineCasings() { - super(SpecialCasingItemBlock.class, "gtplusplus.blockspecialcasings.2", GT_Material_Casings.INSTANCE); - for (byte i = 0; i < 16; i = (byte) (i + 1)) { - // TAE.registerTextures(new GT_CopiedBlockTexture(this, 6, i)); - // Don't register these Textures, They already exist within vanilla GT. (May not exist in 5.08) - } - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Strong Bronze Machine Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".1.name", "Sturdy Aluminium Machine Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".2.name", "Vigorous Laurenium Machine Casing"); - TAE.registerTexture(84, new GTPP_CopiedBlockTexture(this, 6, 2)); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".3.name", "Rugged Botmium Machine Casing"); - - GregtechItemList.Casing_Machine_Custom_1.set(new ItemStack(this, 1, 0)); - GregtechItemList.Casing_Machine_Custom_2.set(new ItemStack(this, 1, 1)); - GregtechItemList.Casing_Machine_Custom_3.set(new ItemStack(this, 1, 2)); - GregtechItemList.Casing_Machine_Custom_4.set(new ItemStack(this, 1, 3)); - } - - @Override - public IIcon getIcon(int ordinalSide, int aMeta) { - return switch (aMeta) { - case 0 -> Textures.BlockIcons.MACHINE_BRONZEPLATEDBRICKS.getIcon(); - case 1 -> Textures.BlockIcons.MACHINE_CASING_FROST_PROOF.getIcon(); - case 2 -> TexturesGtBlock.Casing_Material_Laurenium.getIcon(); - case 3 -> Textures.BlockIcons.MACHINE_HEATPROOFCASING.getIcon(); - default -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings.java deleted file mode 100644 index 1d7c853e71..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings.java +++ /dev/null @@ -1,120 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.util.GT_LanguageManager; -import gregtech.common.blocks.GT_Material_Casings; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.objects.GTPP_CopiedBlockTexture; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.turbine.LargeTurbineTextureHandler; - -public class GregtechMetaSpecialMultiCasings extends GregtechMetaCasingBlocksAbstract { - - public static class SpecialCasingItemBlock extends GregtechMetaCasingItems { - - public SpecialCasingItemBlock(Block par1) { - super(par1); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - int aMeta = aStack.getItemDamage(); - if (aMeta < 10) { - // aList.add("Tier: "+GT_Values.VN[aMeta]); - } - super.addInformation(aStack, aPlayer, aList, aF3_H); - } - } - - public GregtechMetaSpecialMultiCasings() { - super(SpecialCasingItemBlock.class, "gtplusplus.blockspecialcasings.1", GT_Material_Casings.INSTANCE); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Turbine Shaft"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".1.name", "Reinforced Steam Turbine Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".2.name", "Reinforced HP Steam Turbine Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".3.name", "Reinforced Gas Turbine Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".4.name", "Reinforced Plasma Turbine Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", "Tesla Containment Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", "Structural Solar Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".7.name", "Salt Containment Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".8.name", "Thermally Insulated Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", "Flotation Cell Casings"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "Reinforced Engine Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".11.name", "Molecular Containment Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".12.name", "High Voltage Current Capacitor"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".13.name", "Particle Containment Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".14.name", "Reinforced Heat Exchanger Casing"); - GT_LanguageManager - .addStringLocalization(this.getUnlocalizedName() + ".15.name", "Reinforced SC Turbine Casing"); - TAE.registerTexture(1, 12, new GTPP_CopiedBlockTexture(this, 6, 14)); - - GregtechItemList.Casing_Turbine_Shaft.set(new ItemStack(this, 1, 0)); - GregtechItemList.Casing_Turbine_LP.set(new ItemStack(this, 1, 1)); - GregtechItemList.Casing_Turbine_HP.set(new ItemStack(this, 1, 2)); - GregtechItemList.Casing_Turbine_Gas.set(new ItemStack(this, 1, 3)); - GregtechItemList.Casing_Turbine_Plasma.set(new ItemStack(this, 1, 4)); - GregtechItemList.Casing_SolarTower_Structural.set(new ItemStack(this, 1, 6)); - GregtechItemList.Casing_SolarTower_SaltContainment.set(new ItemStack(this, 1, 7)); - GregtechItemList.Casing_SolarTower_HeatContainment.set(new ItemStack(this, 1, 8)); - GregtechItemList.Casing_Flotation_Cell.set(new ItemStack(this, 1, 9)); - GregtechItemList.Casing_Reinforced_Engine_Casing.set(new ItemStack(this, 1, 10)); - GregtechItemList.Casing_Molecular_Transformer_1.set(new ItemStack(this, 1, 11)); - GregtechItemList.Casing_Molecular_Transformer_2.set(new ItemStack(this, 1, 12)); - GregtechItemList.Casing_Molecular_Transformer_3.set(new ItemStack(this, 1, 13)); - GregtechItemList.Casing_XL_HeatExchanger.set(new ItemStack(this, 1, 14)); - GregtechItemList.Casing_Turbine_SC.set(new ItemStack(this, 1, 15)); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final int ordinalSide) { - return LargeTurbineTextureHandler - .handleCasingsGT(aWorld, xCoord, yCoord, zCoord, ForgeDirection.getOrientation(ordinalSide), this); - } - - @Override - public IIcon getIcon(final int ordinalSide, final int aMeta) { - return getStaticIcon((byte) ordinalSide, (byte) aMeta); - } - - public static IIcon getStaticIcon(final int ordinalSide, final byte aMeta) { - return switch (aMeta) { - case 0 -> TexturesGtBlock.Casing_Redox_1.getIcon(); - case 1 -> Textures.BlockIcons.MACHINE_CASING_TURBINE.getIcon(); - case 2 -> Textures.BlockIcons.MACHINE_CASING_STABLE_TITANIUM.getIcon(); - case 3 -> Textures.BlockIcons.MACHINE_CASING_CLEAN_STAINLESSSTEEL.getIcon(); - case 4 -> Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon(); - case 5 -> TexturesGtBlock.Casing_Material_RedSteel.getIcon(); - case 6 -> TexturesGtBlock.Casing_Material_MaragingSteel.getIcon(); - case 7 -> TexturesGtBlock.Casing_Material_Stellite.getIcon(); - case 8 -> TexturesGtBlock.Casing_Machine_Simple_Top.getIcon(); - case 9 -> TexturesGtBlock.TEXTURE_CASING_FLOTATION.getIcon(); - case 10 -> TexturesGtBlock.Casing_Material_Talonite.getIcon(); - case 11 -> Textures.BlockIcons.MACHINE_CASING_RADIATIONPROOF.getIcon(); - case 12 -> TexturesGtBlock.Casing_Redox_5.getIcon(); - case 13 -> TexturesGtBlock.TEXTURE_MAGIC_PANEL_B.getIcon(); - case 14 -> TexturesGtBlock.Casing_Material_Talonite.getIcon(); - case 15 -> TexturesGtBlock.Turbine_SC_Material_Casing.getIcon(); - default -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java deleted file mode 100644 index 9a2912c2c5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java +++ /dev/null @@ -1,99 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.Textures; -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.TexturesGtBlock; - -public class GregtechMetaSpecialMultiCasings2 extends GregtechMetaCasingBlocksAbstract { - - @Override - public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { - for (int i = 0; i < 8; i++) { - aList.add(new ItemStack(aItem, 1, i)); - } - } - - public static class SpecialCasingItemBlock extends GregtechMetaCasingItems { - - public SpecialCasingItemBlock(Block par1) { - super(par1); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - int aMeta = aStack.getItemDamage(); - if (aMeta < 4) { - aList.add("Provides quantum stability"); - } - if (aMeta >= 4 && aMeta < 8) { - aList.add("Provides quantum modulation"); - } - super.addInformation(aStack, aPlayer, aList, aF3_H); - } - } - - public GregtechMetaSpecialMultiCasings2() { - super(SpecialCasingItemBlock.class, "gtplusplus.blockspecialcasings.3", GT_Material_Casings.INSTANCE); - for (byte i = 0; i < 16; i = (byte) (i + 1)) { - // TAE.registerTextures(new GT_CopiedBlockTexture(this, 6, i)); - // Don't register these Textures, They already exist within vanilla GT. (May not exist in 5.08) - } - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Resonance Chamber I"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Resonance Chamber II"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Resonance Chamber III"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Resonance Chamber IV"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".4.name", "Modulator I"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", "Modulator II"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", "Modulator III"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".7.name", "Modulator IV"); - - GregtechItemList.ResonanceChamber_I.set(new ItemStack(this, 1, 0)); - GregtechItemList.ResonanceChamber_II.set(new ItemStack(this, 1, 1)); - GregtechItemList.ResonanceChamber_III.set(new ItemStack(this, 1, 2)); - GregtechItemList.ResonanceChamber_IV.set(new ItemStack(this, 1, 3)); - GregtechItemList.Modulator_I.set(new ItemStack(this, 1, 4)); - GregtechItemList.Modulator_II.set(new ItemStack(this, 1, 5)); - GregtechItemList.Modulator_III.set(new ItemStack(this, 1, 6)); - GregtechItemList.Modulator_IV.set(new ItemStack(this, 1, 7)); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final int ordinalSide) { - return getStaticIcon((byte) ordinalSide, (byte) aWorld.getBlockMetadata(xCoord, yCoord, zCoord)); - } - - @Override - public IIcon getIcon(final int ordinalSide, final int aMeta) { - return getStaticIcon((byte) ordinalSide, (byte) aMeta); - } - - public static IIcon getStaticIcon(final byte aSide, final byte aMeta) { - return switch (aMeta) { - case 0 -> TexturesGtBlock.Casing_Resonance_1.getIcon(); - case 1 -> TexturesGtBlock.Casing_Resonance_2.getIcon(); - case 2 -> TexturesGtBlock.Casing_Resonance_3.getIcon(); - case 3 -> TexturesGtBlock.Casing_Resonance_4.getIcon(); - case 4 -> TexturesGtBlock.Casing_Modulator_1.getIcon(); - case 5 -> TexturesGtBlock.Casing_Modulator_2.getIcon(); - case 6 -> TexturesGtBlock.Casing_Modulator_3.getIcon(); - case 7 -> TexturesGtBlock.Casing_Modulator_4.getIcon(); - default -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaTieredCasingBlocks1.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaTieredCasingBlocks1.java deleted file mode 100644 index 7ddab1c471..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaTieredCasingBlocks1.java +++ /dev/null @@ -1,84 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Textures; -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.TexturesGtBlock; - -public class GregtechMetaTieredCasingBlocks1 extends GregtechMetaCasingBlocksAbstract { - - @Override - public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { - for (int i = 0; i < 10; i++) { - aList.add(new ItemStack(aItem, 1, i)); - } - } - - public static class TieredCasingItemBlock extends GregtechMetaCasingItems { - - public TieredCasingItemBlock(Block par1) { - super(par1); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - int aMeta = aStack.getItemDamage(); - if (aMeta < 10) { - aList.add("Tier: " + GT_Values.VN[aMeta]); - } - super.addInformation(aStack, aPlayer, aList, aF3_H); - } - } - - public GregtechMetaTieredCasingBlocks1() { - super(TieredCasingItemBlock.class, "gtplusplus.blocktieredcasings.1", GT_Material_Casings.INSTANCE); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Integral Encasement I"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Integral Encasement II"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Integral Encasement III"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Integral Encasement IV"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".4.name", "Integral Encasement V"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", "Integral Framework I"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", "Integral Framework II"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".7.name", "Integral Framework III"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".8.name", "Integral Framework IV"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", "Integral Framework V"); - - GregtechItemList.GTPP_Casing_ULV.set(new ItemStack(this, 1, 0)); - GregtechItemList.GTPP_Casing_LV.set(new ItemStack(this, 1, 1)); - GregtechItemList.GTPP_Casing_MV.set(new ItemStack(this, 1, 2)); - GregtechItemList.GTPP_Casing_HV.set(new ItemStack(this, 1, 3)); - GregtechItemList.GTPP_Casing_EV.set(new ItemStack(this, 1, 4)); - GregtechItemList.GTPP_Casing_IV.set(new ItemStack(this, 1, 5)); - GregtechItemList.GTPP_Casing_LuV.set(new ItemStack(this, 1, 6)); - GregtechItemList.GTPP_Casing_ZPM.set(new ItemStack(this, 1, 7)); - GregtechItemList.GTPP_Casing_UV.set(new ItemStack(this, 1, 8)); - GregtechItemList.GTPP_Casing_UHV.set(new ItemStack(this, 1, 9)); - } - - @Override - public IIcon getIcon(int ordinalSide, int aMeta) { - if (aMeta < 10) { - return TexturesGtBlock.TIERED_MACHINE_HULLS[aMeta].getIcon(); - } - return switch (aMeta) { - case 10 -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - case 11 -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - case 12 -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - case 13 -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - case 14 -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - case 15 -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - default -> Textures.BlockIcons.RENDERING_ERROR.getIcon(); - }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java deleted file mode 100644 index e478bf5c18..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java +++ /dev/null @@ -1,146 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.fluid; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidRegistry; - -import gregtech.api.enums.OrePrefixes; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; - -public class GregtechFluidHandler { - - protected static int cellID = 0; - - public static void run() { - start(); - } - - private static void start() { - Logger.INFO("Adding in our own GT versions of Thermal Foundation Fluids if they do not already exist."); - if (!FluidRegistry.isFluidRegistered("cryotheum")) { - FluidUtils.addGtFluid( - "cryotheum", - "Gelid Cryotheum", - GT_Materials.Cryotheum, - 4, - -1200, - GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Cryotheum, 1L), - ItemUtils.getEmptyCell(), - 1000); - } - if (!FluidRegistry.isFluidRegistered("pyrotheum")) { - FluidUtils.addGtFluid( - "pyrotheum", - "Blazing Pyrotheum", - GT_Materials.Pyrotheum, - 4, - 4000, - GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Pyrotheum, 1L), - ItemUtils.getEmptyCell(), - 1000); - } - if (!FluidRegistry.isFluidRegistered("ender")) { - FluidUtils.addGtFluid( - "ender", - "Resonant Ender", - GT_Materials.Ender, - 4, - 4000, - GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Ender, 1L), - ItemUtils.getEmptyCell(), - 1000); - } - Logger.INFO("Adding in GT Fluids for various nuclear related content."); - - FluidUtils.addGtFluid( - "hydrofluoricAcid", - "Industrial Strength Hydrofluoric Acid", - GT_Materials.HydrofluoricAcid, - 1, - 120, - GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrofluoricAcid, 1L), - ItemUtils.getEmptyCell(), - 1000, - false); - generateIC2FluidCell("HydrofluoricAcid"); - - FluidUtils.generateFluidNoPrefix( - "SulfurDioxide", - "High Quality Sulfur Dioxide", - 263, - GT_Materials.SulfurDioxide.mRGBa); - - FluidUtils.addGtFluid( - "sulfurousAcid", - "Sulfurous Acid", - GT_Materials.SulfurousAcid, - 4, - 75, - GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfurousAcid, 1L), - ItemUtils.getEmptyCell(), - 1000, - false); - generateIC2FluidCell("SulfurousAcid"); - - FluidUtils.addGtFluid( - "sulfuricApatite", - "Sulfuric Apatite Mix", - GT_Materials.SulfuricApatite, - 4, - 500, - GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricApatite, 1L), - ItemUtils.getEmptyCell(), - 1000, - false); - generateIC2FluidCell("SulfuricApatite"); - - // Check for Hydrogen Chloride - if (FluidUtils.getFluidStack("hydrogenchloride", 1) == null) { - FluidUtils.addGtFluid( - "hydrogenChloride", - "Industrial Strength Hydrogen Chloride", - GT_Materials.HydrogenChloride, - 4, - 75, - GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrogenChloride, 1L), - ItemUtils.getEmptyCell(), - 1000, - false); - generateIC2FluidCell("HydrogenChloride"); - } - - FluidUtils.addGtFluid( - "sulfuricLithium", - "Sulfuric Lithium Mix", - GT_Materials.SulfuricLithium, - 4, - 280, - GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricLithium, 1L), - ItemUtils.getEmptyCell(), - 1000, - false); - generateIC2FluidCell("SulfuricLithium"); - - FluidUtils.addGtFluid( - "lithiumHydroxide", - "Lithium Hydroxide", - GT_Materials.LithiumHydroxide, - 4, - 500, - GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.LithiumHydroxide, 1L), - ItemUtils.getEmptyCell(), - 1000, - false); - generateIC2FluidCell("LithiumHydroxide"); - } - - private static ItemStack generateIC2FluidCell(final String fluidNameWithCaps) { - Logger.INFO("Adding a Cell for " + fluidNameWithCaps); - return Utils.createInternalNameAndFluidCell(fluidNameWithCaps); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java deleted file mode 100644 index c85bac7115..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java +++ /dev/null @@ -1,57 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures; - -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.Textures; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks; - -public class CasingTextureHandler { - - private static final TexturesCentrifugeMultiblock gregtechX = new TexturesCentrifugeMultiblock(); - - public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57] - if ((aMeta >= 0) && (aMeta < 16)) { - return switch (aMeta) { - // Centrifuge - case 0 -> TexturesGtBlock.Casing_Material_Centrifuge.getIcon(); - // Coke Oven Frame - case 1 -> TexturesGtBlock.Casing_Material_Tantalloy61.getIcon(); - // Coke Oven Casing Tier 1 - case 2 -> Textures.BlockIcons.MACHINE_CASING_FIREBOX_BRONZE.getIcon(); - // Coke Oven Casing Tier 2 - case 3 -> Textures.BlockIcons.MACHINE_CASING_FIREBOX_STEEL.getIcon(); - // Material Press Casings - case 4 -> Textures.BlockIcons.MACHINE_CASING_STABLE_TITANIUM.getIcon(); - // Electrolyzer Casings - case 5 -> TexturesGtBlock.Casing_Material_Potin.getIcon(); - // Broken Blue Fusion Casings - case 6 -> TexturesGtBlock.Casing_Material_MaragingSteel.getIcon(); - // Maceration Stack Casings - case 7 -> TexturesGtBlock.Casing_Material_Tumbaga.getIcon(); - // Broken Pink Fusion Casings - case 8 -> TexturesGtBlock.TEXTURE_ORGANIC_PANEL_A_GLOWING.getIcon(); - // Matter Fabricator Casings - case 9 -> TexturesGtBlock.TEXTURE_METAL_PANEL_F.getIcon(); - // Iron Blast Fuance Textures - case 10 -> TexturesGtBlock.Casing_Machine_Simple_Top.getIcon(); - // Multitank Exterior Casing - case 11 -> TexturesGtBlock.Casing_Material_Grisium.getIcon(); - // Reactor Casing I - case 12 -> TexturesGtBlock.Casing_Material_Stellite.getIcon(); - // Reactor Casing II - case 13 -> TexturesGtBlock.Casing_Material_Zeron100.getIcon(); - case 14 -> TexturesGtBlock.Casing_Staballoy_Firebox.getIcon(); - case 15 -> TexturesGtBlock.Casing_Material_ZirconiumCarbide.getIcon(); - default -> Textures.BlockIcons.MACHINE_CASING_RADIOACTIVEHAZARD.getIcon(); - }; - } - return Textures.BlockIcons.MACHINE_CASING_GEARBOX_TUNGSTENSTEEL.getIcon(); - } - - public static IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final ForgeDirection side, final GregtechMetaCasingBlocks thisBlock) { - return gregtechX.handleCasingsGT(aWorld, xCoord, yCoord, zCoord, side, thisBlock); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java deleted file mode 100644 index 1da572fb35..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java +++ /dev/null @@ -1,71 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures; - -import net.minecraft.util.IIcon; - -import gregtech.api.enums.Textures; - -public class CasingTextureHandler2 { - - public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57] - if ((aMeta >= 0) && (aMeta < 16)) { - switch (aMeta) { - case 0 -> { - return TexturesGtBlock.Casing_Material_RedSteel.getIcon(); - } - case 1 -> { - return TexturesGtBlock.Casing_Material_HastelloyX.getIcon(); - } - case 2 -> { - return TexturesGtBlock.Casing_Material_HastelloyN.getIcon(); - } - case 3 -> { - return TexturesGtBlock.Casing_Material_Fluid_IncoloyDS.getIcon(); - } - case 4 -> { - return TexturesGtBlock.Casing_Material_Grisium.getIcon(); - } - case 5 -> { - return TexturesGtBlock.Casing_Machine_Metal_Panel_A.getIcon(); - } - case 6 -> { - return TexturesGtBlock.Casing_Machine_Metal_Grate_A.getIcon(); - } - case 7 -> { - return TexturesGtBlock.Casing_Redox_1.getIcon(); - } - case 8 -> { - return TexturesGtBlock.Casing_Machine_Metal_Sheet_A.getIcon(); - } - case 9 -> { - return TexturesGtBlock.Overlay_Machine_Cyber_A.getIcon(); - } - case 10 -> { - return Textures.BlockIcons.MACHINE_CASING_RADIATIONPROOF.getIcon(); - } - case 11 -> { - return TexturesGtBlock.Casing_Material_Tantalloy61.getIcon(); - } - case 12 -> { - return TexturesGtBlock.Casing_Machine_Simple_Top.getIcon(); - } - case 13 -> { - if (ordinalSide < 2) { - return TexturesGtBlock.TEXTURE_TECH_A.getIcon(); - } else { - return TexturesGtBlock.TEXTURE_TECH_B.getIcon(); - } - } - case 14 -> { - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); - } - case 15 -> { - return TexturesGtBlock.Casing_Machine_Acacia_Log.getIcon(); - } - default -> { - return TexturesGtBlock.Overlay_UU_Matter.getIcon(); - } - } - } - return TexturesGtBlock._PlaceHolder.getIcon(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java deleted file mode 100644 index 6b2627ec39..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java +++ /dev/null @@ -1,61 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures; - -import net.minecraft.util.IIcon; - -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks3; - -public class CasingTextureHandler3 { - - public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57] - if ((aMeta >= 0) && (aMeta < 16)) { - return switch (aMeta) { - case 0 -> - // Aquatic Casing - TexturesGtBlock.TEXTURE_METAL_PANEL_B.getIcon(); - case 1 -> - // Inconel Reinforced Casing - TexturesGtBlock.TEXTURE_METAL_PANEL_D.getIcon(); - case 2 -> - // Multi-Use Casing - TexturesGtBlock.TEXTURE_METAL_PANEL_C.getIcon(); - case 3 -> - // Trinium Plated Mining Platform Casing - TexturesGtBlock.Casing_Trinium_Naquadah_Vent.getIcon(); - case 4 -> - // Vanadium Redox IV - TexturesGtBlock.Casing_Redox_2.getIcon(); - case 5 -> - // Vanadium Redox LuV - TexturesGtBlock.Casing_Redox_3.getIcon(); - case 6 -> - // Vanadium Redox ZPM - TexturesGtBlock.Casing_Redox_4.getIcon(); - case 7 -> - // Vanadium Redox UV - TexturesGtBlock.Casing_Redox_5.getIcon(); - case 8 -> - // Vanadium Redox MAX - TexturesGtBlock.Casing_Redox_6.getIcon(); - case 9 -> - // Amazon Warehouse Casing - TexturesGtBlock.TEXTURE_CASING_AMAZON.getIcon(); - case 10 -> - // Adv. Vac. Freezer - TexturesGtBlock.TEXTURE_CASING_ADVANCED_CRYOGENIC.getIcon(); - case 11 -> - // Adv. EBF - TexturesGtBlock.TEXTURE_CASING_ADVANCED_VOLCNUS.getIcon(); - case 12 -> TexturesGtBlock.TEXTURE_CASING_FUSION_COIL_II.getIcon(); - case 13 -> TexturesGtBlock.TEXTURE_CASING_FUSION_COIL_II_INNER.getIcon(); - case 14 -> TexturesGtBlock.TEXTURE_CASING_FUSION_CASING_ULTRA.getIcon(); - case 15 -> TexturesGtBlock.TEXTURE_MAGIC_PANEL_A.getIcon(); - default -> TexturesGtBlock._PlaceHolder.getIcon(); - }; - } - return TexturesGtBlock._PlaceHolder.getIcon(); - } - - static { - GregtechMetaCasingBlocks3.mConnectedMachineTextures = true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler6.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler6.java deleted file mode 100644 index b8d5a024df..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler6.java +++ /dev/null @@ -1,25 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures; - -import net.minecraft.util.IIcon; - -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks6; - -public class CasingTextureHandler6 { - - public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57] - if ((aMeta >= 0) && (aMeta < 16)) { - return switch (aMeta) { - case 0 -> TexturesGtBlock.TEXTURE_CASING_FUSION_COIL_III.getIcon(); - case 1 -> TexturesGtBlock.TEXTURE_CASING_FUSION_COIL_III_INNER.getIcon(); - case 2 -> TexturesGtBlock.TEXTURE_CASING_FUSION_CASING_HYPER.getIcon(); - default -> TexturesGtBlock._PlaceHolder.getIcon(); - }; - } - return TexturesGtBlock._PlaceHolder.getIcon(); - } - - static { - GregtechMetaCasingBlocks6.mConnectedMachineTextures = true; - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java deleted file mode 100644 index 058d2a7f1e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java +++ /dev/null @@ -1,151 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures; - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -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.processing.GregtechMetaTileEntity_IndustrialCentrifuge; - -public class TexturesCentrifugeMultiblock { - - private static CustomIcon GT8_1_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE1"); - private static CustomIcon GT8_1 = new CustomIcon("iconsets/LARGECENTRIFUGE1"); - private static CustomIcon GT8_2_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE2"); - private static CustomIcon GT8_2 = new CustomIcon("iconsets/LARGECENTRIFUGE2"); - private static CustomIcon GT8_3_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE3"); - private static CustomIcon GT8_3 = new CustomIcon("iconsets/LARGECENTRIFUGE3"); - private static CustomIcon GT8_4_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE4"); - private static CustomIcon GT8_4 = new CustomIcon("iconsets/LARGECENTRIFUGE4"); - private static CustomIcon GT8_5_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE5"); - private static CustomIcon GT8_5 = new CustomIcon("iconsets/LARGECENTRIFUGE5"); - private static CustomIcon GT8_6_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE6"); - private static CustomIcon GT8_6 = new CustomIcon("iconsets/LARGECENTRIFUGE6"); - private static CustomIcon GT8_7_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE7"); - private static CustomIcon GT8_7 = new CustomIcon("iconsets/LARGECENTRIFUGE7"); - private static CustomIcon GT8_8_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE8"); - private static CustomIcon GT8_8 = new CustomIcon("iconsets/LARGECENTRIFUGE8"); - private static CustomIcon GT8_9_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE9"); - private static CustomIcon GT8_9 = new CustomIcon("iconsets/LARGECENTRIFUGE9"); - - private static CustomIcon frontFace_0 = (GT8_1); - private static CustomIcon frontFaceActive_0 = (GT8_1_Active); - private static CustomIcon frontFace_1 = (GT8_2); - private static CustomIcon frontFaceActive_1 = (GT8_2_Active); - private static CustomIcon frontFace_2 = (GT8_3); - private static CustomIcon frontFaceActive_2 = (GT8_3_Active); - private static CustomIcon frontFace_3 = (GT8_4); - private static CustomIcon frontFaceActive_3 = (GT8_4_Active); - private static CustomIcon frontFace_4 = (GT8_5); - private static CustomIcon frontFaceActive_4 = (GT8_5_Active); - private static CustomIcon frontFace_5 = (GT8_6); - private static CustomIcon frontFaceActive_5 = (GT8_6_Active); - private static CustomIcon frontFace_6 = (GT8_7); - private static CustomIcon frontFaceActive_6 = (GT8_7_Active); - private static CustomIcon frontFace_7 = (GT8_8); - private static CustomIcon frontFaceActive_7 = (GT8_8_Active); - private static CustomIcon frontFace_8 = (GT8_9); - private static CustomIcon frontFaceActive_8 = (GT8_9_Active); - - CustomIcon[] CENTRIFUGE = new CustomIcon[] { frontFace_0, frontFace_1, frontFace_2, frontFace_3, frontFace_4, - frontFace_5, frontFace_6, frontFace_7, frontFace_8 }; - - CustomIcon[] CENTRIFUGE_ACTIVE = new CustomIcon[] { frontFaceActive_0, frontFaceActive_1, frontFaceActive_2, - frontFaceActive_3, frontFaceActive_4, frontFaceActive_5, frontFaceActive_6, frontFaceActive_7, - frontFaceActive_8 }; - - public IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final ForgeDirection side, final GregtechMetaCasingBlocks thisBlock) { - return this.handleCasingsGT58(aWorld, xCoord, yCoord, zCoord, side, thisBlock); - } - - private static int isCentrifugeControllerWithSide(IBlockAccess aWorld, int aX, int aY, int aZ, - ForgeDirection side) { - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if (!(tTileEntity instanceof IGregTechTileEntity tTile)) return 0; - if (tTile.getMetaTileEntity() instanceof GregtechMetaTileEntity_IndustrialCentrifuge - && tTile.getFrontFacing() == side) return tTile.isActive() ? 1 : 2; - return 0; - } - - public IIcon handleCasingsGT58(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final ForgeDirection side, final GregtechMetaCasingBlocks thisBlock) { - final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); - final int ordinalSide = side.ordinal(); - if (tMeta != 0) { - return CasingTextureHandler.getIcon(ordinalSide, tMeta); - } - - int tInvertLeftRightMod = ordinalSide % 2 * 2 - 1; - switch (ordinalSide / 2) { - case 0 -> { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - if (isCentrifugeControllerWithSide(aWorld, xCoord + j, yCoord, zCoord + i, side) != 0) { - IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld - .getTileEntity(xCoord + j, yCoord, zCoord + i)).getMetaTileEntity(); - return getIconByIndex(tMetaTileEntity, 4 - i * 3 - j); - } - } - } - } - case 1 -> { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - if (isCentrifugeControllerWithSide(aWorld, xCoord + j, yCoord + i, zCoord, side) != 0) { - IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld - .getTileEntity(xCoord + j, yCoord + i, zCoord)).getMetaTileEntity(); - return getIconByIndex(tMetaTileEntity, 4 + i * 3 - j * tInvertLeftRightMod); - } - } - } - } - case 2 -> { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - if (isCentrifugeControllerWithSide(aWorld, xCoord, yCoord + i, zCoord + j, side) != 0) { - IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld - .getTileEntity(xCoord, yCoord + i, zCoord + j)).getMetaTileEntity(); - return getIconByIndex(tMetaTileEntity, 4 + i * 3 + j * tInvertLeftRightMod); - } - } - } - } - } - return TexturesGtBlock.Casing_Material_Centrifuge.getIcon(); - } - - public boolean isCentrifugeRunning(IMetaTileEntity aTile) { - if (aTile == null) { - return false; - } else { - return aTile.getBaseMetaTileEntity() - .isActive(); - } - } - - public boolean isUsingAnimatedTexture(IMetaTileEntity aMetaTileEntity) { - if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GregtechMetaTileEntity_IndustrialCentrifuge) { - return ((GregtechMetaTileEntity_IndustrialCentrifuge) aMetaTileEntity).usingAnimations(); - } - } - return false; - } - - public IIcon getIconByIndex(IMetaTileEntity aMetaTileEntity, int aIndex) { - if (isUsingAnimatedTexture(aMetaTileEntity)) { - if (isCentrifugeRunning(aMetaTileEntity)) { - return this.CENTRIFUGE_ACTIVE[aIndex].getIcon(); - } - } - return this.CENTRIFUGE[aIndex].getIcon(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGrinderMultiblock.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGrinderMultiblock.java deleted file mode 100644 index e7d09bd308..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGrinderMultiblock.java +++ /dev/null @@ -1,134 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures; - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks5; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.CustomIcon; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IsaMill; - -public class TexturesGrinderMultiblock { - - private static CustomIcon GT8_1_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE1"); - private static CustomIcon GT8_1 = new CustomIcon("iconsets/Grinder/GRINDER1"); - private static CustomIcon GT8_2_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE2"); - private static CustomIcon GT8_2 = new CustomIcon("iconsets/Grinder/GRINDER2"); - private static CustomIcon GT8_3_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE3"); - private static CustomIcon GT8_3 = new CustomIcon("iconsets/Grinder/GRINDER3"); - private static CustomIcon GT8_4_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE4"); - private static CustomIcon GT8_4 = new CustomIcon("iconsets/Grinder/GRINDER4"); - private static CustomIcon GT8_5_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE5"); - private static CustomIcon GT8_5 = new CustomIcon("iconsets/Grinder/GRINDER5"); - private static CustomIcon GT8_6_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE6"); - private static CustomIcon GT8_6 = new CustomIcon("iconsets/Grinder/GRINDER6"); - private static CustomIcon GT8_7_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE7"); - private static CustomIcon GT8_7 = new CustomIcon("iconsets/Grinder/GRINDER7"); - private static CustomIcon GT8_8_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE8"); - private static CustomIcon GT8_8 = new CustomIcon("iconsets/Grinder/GRINDER8"); - private static CustomIcon GT8_9_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE9"); - private static CustomIcon GT8_9 = new CustomIcon("iconsets/Grinder/GRINDER9"); - - private static CustomIcon frontFace_0 = (GT8_1); - private static CustomIcon frontFaceActive_0 = (GT8_1_Active); - private static CustomIcon frontFace_1 = (GT8_2); - private static CustomIcon frontFaceActive_1 = (GT8_2_Active); - private static CustomIcon frontFace_2 = (GT8_3); - private static CustomIcon frontFaceActive_2 = (GT8_3_Active); - private static CustomIcon frontFace_3 = (GT8_4); - private static CustomIcon frontFaceActive_3 = (GT8_4_Active); - private static CustomIcon frontFace_4 = (GT8_5); - private static CustomIcon frontFaceActive_4 = (GT8_5_Active); - private static CustomIcon frontFace_5 = (GT8_6); - private static CustomIcon frontFaceActive_5 = (GT8_6_Active); - private static CustomIcon frontFace_6 = (GT8_7); - private static CustomIcon frontFaceActive_6 = (GT8_7_Active); - private static CustomIcon frontFace_7 = (GT8_8); - private static CustomIcon frontFaceActive_7 = (GT8_8_Active); - private static CustomIcon frontFace_8 = (GT8_9); - private static CustomIcon frontFaceActive_8 = (GT8_9_Active); - - CustomIcon[] GRINDER = new CustomIcon[] { frontFace_0, frontFace_1, frontFace_2, frontFace_3, frontFace_4, - frontFace_5, frontFace_6, frontFace_7, frontFace_8 }; - - CustomIcon[] GRINDER_ACTIVE = new CustomIcon[] { frontFaceActive_0, frontFaceActive_1, frontFaceActive_2, - frontFaceActive_3, frontFaceActive_4, frontFaceActive_5, frontFaceActive_6, frontFaceActive_7, - frontFaceActive_8 }; - - private static int isIsaControllerWithSide(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection side) { - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if (!(tTileEntity instanceof IGregTechTileEntity tTile)) return 0; - if (tTile.getMetaTileEntity() instanceof GregtechMetaTileEntity_IsaMill && tTile.getFrontFacing() == side) - return tTile.isActive() ? 1 : 2; - return 0; - } - - public IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final int ordinalSide, final GregtechMetaCasingBlocks5 ii) { - final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); - final ForgeDirection side = ForgeDirection.getOrientation(ordinalSide); - if (tMeta != 1) { - return GregtechMetaCasingBlocks5.getStaticIcon(ordinalSide, tMeta); - } - int tInvertLeftRightMod = ordinalSide % 2 * 2 - 1; - switch (ordinalSide / 2) { - case 0 -> { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - if (isIsaControllerWithSide(aWorld, xCoord + j, yCoord, zCoord + i, side) != 0) { - IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld - .getTileEntity(xCoord + j, yCoord, zCoord + i)).getMetaTileEntity(); - return getIconByIndex(tMetaTileEntity, 4 - i * 3 - j); - } - } - } - } - case 1 -> { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - if (isIsaControllerWithSide(aWorld, xCoord + j, yCoord + i, zCoord, side) != 0) { - IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld - .getTileEntity(xCoord + j, yCoord + i, zCoord)).getMetaTileEntity(); - return getIconByIndex(tMetaTileEntity, 4 + i * 3 - j * tInvertLeftRightMod); - } - } - } - } - case 2 -> { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - if (isIsaControllerWithSide(aWorld, xCoord, yCoord + i, zCoord + j, side) != 0) { - IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld - .getTileEntity(xCoord, yCoord + i, zCoord + j)).getMetaTileEntity(); - return getIconByIndex(tMetaTileEntity, 4 + i * 3 + j * tInvertLeftRightMod); - } - } - } - } - } - return TexturesGtBlock.TEXTURE_CASING_GRINDING_MILL.getIcon(); - } - - public boolean isCentrifugeRunning(IMetaTileEntity aTile) { - if (aTile == null) { - return false; - } else { - return aTile.getBaseMetaTileEntity() - .isActive(); - } - } - - public IIcon getIconByIndex(IMetaTileEntity aMetaTileEntity, int aIndex) { - if (isCentrifugeRunning(aMetaTileEntity)) { - return this.GRINDER_ACTIVE[aIndex].getIcon(); - } - - return this.GRINDER[aIndex].getIcon(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java deleted file mode 100644 index 743cd0b85b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java +++ /dev/null @@ -1,486 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -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.api.objects.data.AutoMap; -import gtPlusPlus.core.lib.CORE; - -public class TexturesGtBlock { - - private static boolean mAnimated = CORE.ConfigSwitches.enableAnimatedTextures; - - private static AutoMap mCustomiconMap = new AutoMap<>(); - - /* - * Handles Custom Textures. - */ - - public static class CustomIcon implements IIconContainer, Runnable { - - protected IIcon mIcon; - protected String mIconName; - protected String mModID; - - public CustomIcon(final String aIconName) { - this(GTPlusPlus.ID, aIconName); - } - - public CustomIcon(final String aModID, final String aIconName) { - this.mIconName = aIconName; - this.mModID = aModID; - mCustomiconMap.put(this); - Logger.WARNING("Constructing a Custom Texture. " + this.mIconName); - GregTech_API.sGTBlockIconload.add(this); - } - - @Override - public IIcon getIcon() { - return this.mIcon; - } - - @Override - public IIcon getOverlayIcon() { - return null; - } - - @Override - public void run() { - this.mIcon = GregTech_API.sBlockIcons.registerIcon(this.mModID + ":" + this.mIconName); - Logger.WARNING( - "FIND ME _ Processing texture: " + this.getTextureFile() - .getResourcePath()); - } - - @Override - public ResourceLocation getTextureFile() { - return TextureMap.locationBlocksTexture; - } - } - - /* - * Add Some Custom Textures below. I am not sure whether or not I need to declare them as such, but better to be - * safe than sorry. Right? - */ - - // PlaceHolder Texture - private static final CustomIcon Internal_PlaceHolder = new CustomIcon("TileEntities/_PlaceHolder"); - public static final CustomIcon _PlaceHolder = Internal_PlaceHolder; - - public static final CustomIcon OVERLAY_ENERGY_OUT_MULTI_BUFFER = new CustomIcon( - "iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER"); - - // Machine Casings - // Simple - private static final CustomIcon Internal_Casing_Machine_Simple_Top = new CustomIcon("TileEntities/machine_top"); - public static final CustomIcon Casing_Machine_Simple_Top = Internal_Casing_Machine_Simple_Top; - private static final CustomIcon Internal_Casing_Machine_Simple_Bottom = new CustomIcon( - "TileEntities/machine_bottom"); - public static final CustomIcon Casing_Machine_Simple_Bottom = Internal_Casing_Machine_Simple_Bottom; - // Advanced and Ultra - private static final CustomIcon Internal_Casing_Machine_Advanced = new CustomIcon("TileEntities/high_adv_machine"); - public static final CustomIcon Casing_Machine_Advanced = Internal_Casing_Machine_Advanced; - private static final CustomIcon Internal_Casing_Machine_Ultra = new CustomIcon("TileEntities/adv_machine_lesu"); - public static final CustomIcon Casing_Machine_Ultra = Internal_Casing_Machine_Ultra; - // Dimensional - Non Overlay - private static final CustomIcon Internal_Casing_Machine_Dimensional = new CustomIcon( - "TileEntities/adv_machine_dimensional"); - public static final CustomIcon Casing_Machine_Dimensional = Internal_Casing_Machine_Dimensional; - - // Material Casings - private static final CustomIcon Internal_Casing_Tantalloy61 = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_TANTALLOY61"); - public static final CustomIcon Casing_Material_Tantalloy61 = Internal_Casing_Tantalloy61; - private static final CustomIcon Internal_Casing_MaragingSteel = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL"); - public static final CustomIcon Casing_Material_MaragingSteel = Internal_Casing_MaragingSteel; - private static final CustomIcon Internal_Casing_Stellite = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_STELLITE"); - public static final CustomIcon Casing_Material_Stellite = Internal_Casing_Stellite; - private static final CustomIcon Internal_Casing_Talonite = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_TALONITE"); - public static final CustomIcon Casing_Material_Talonite = Internal_Casing_Talonite; - private static final CustomIcon Internal_Turbine_SC_Casing = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE"); - public static final CustomIcon Turbine_SC_Material_Casing = Internal_Turbine_SC_Casing; - private static final CustomIcon Internal_Casing_Tumbaga = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_TUMBAGA"); - public static final CustomIcon Casing_Material_Tumbaga = Internal_Casing_Tumbaga; - private static final CustomIcon Internal_Casing_Zeron100 = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_ZERON100"); - public static final CustomIcon Casing_Material_Zeron100 = Internal_Casing_Zeron100; - private static final CustomIcon Internal_Casing_Potin = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_POTIN"); - public static final CustomIcon Casing_Material_Potin = Internal_Casing_Potin; - - private static final CustomIcon Internal_Casing_Grisium = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_GRISIUM"); - public static final CustomIcon Casing_Material_Grisium = Internal_Casing_Grisium; - private static final CustomIcon Internal_Casing_RedSteel = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_RED_STEEL"); - public static final CustomIcon Casing_Material_RedSteel = Internal_Casing_RedSteel; - private static final CustomIcon Internal_Casing_ZirconiumCarbide = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE"); - public static final CustomIcon Casing_Material_ZirconiumCarbide = Internal_Casing_ZirconiumCarbide; - - private static final CustomIcon Internal_Casing_HastelloyX = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X"); - public static final CustomIcon Casing_Material_HastelloyX = Internal_Casing_HastelloyX; - private static final CustomIcon Internal_Casing_HastelloyN = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N"); - public static final CustomIcon Casing_Material_HastelloyN = Internal_Casing_HastelloyN; - private static final CustomIcon Internal_Casing_Fluid_IncoloyDS = new CustomIcon( - "TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS"); - public static final CustomIcon Casing_Material_Fluid_IncoloyDS = Internal_Casing_Fluid_IncoloyDS; - - private static final CustomIcon Internal_Casing_Laurenium = new CustomIcon("TileEntities/MACHINE_CASING_LAURENIUM"); - public static final CustomIcon Casing_Material_Laurenium = Internal_Casing_Laurenium; - - // Trinium Alloys - public static final CustomIcon Casing_Trinium_Titanium = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_TRINIUM_TITANIUM"); - public static final CustomIcon Casing_Trinium_Naquadah_Vent = new CustomIcon( - "TileEntities/MACHINE_CASING_STABLE_TRINIUM_NAQUADAH_VENT"); - - // Material Machine/Firebox Casings - private static final CustomIcon Internal_Casing_Staballoy_Firebox = new CustomIcon( - "TileEntities/MACHINE_CASING_FIREBOX_STABALLOY"); - public static final CustomIcon Casing_Staballoy_Firebox = Internal_Casing_Staballoy_Firebox; - - // Misc Casings - private static final CustomIcon Internal_Casing_Machine_Redstone_Off = new CustomIcon( - "TileEntities/cover_redstone_conductor"); - public static final CustomIcon Casing_Machine_Redstone_Off = Internal_Casing_Machine_Redstone_Off; - private static final CustomIcon Internal_Casing_Machine_Redstone_On = new CustomIcon( - "TileEntities/cover_redstone_emitter"); - public static final CustomIcon Casing_Machine_Redstone_On = Internal_Casing_Machine_Redstone_On; - - // Redox Cells - public static final CustomIcon Casing_Redox_1 = new CustomIcon("redox/redox1"); - public static final CustomIcon Casing_Redox_2 = new CustomIcon("redox/redox2"); - public static final CustomIcon Casing_Redox_3 = new CustomIcon("redox/redox3"); - public static final CustomIcon Casing_Redox_4 = new CustomIcon("redox/redox4"); - public static final CustomIcon Casing_Redox_5 = new CustomIcon("redox/redox5"); - public static final CustomIcon Casing_Redox_6 = new CustomIcon("redox/redox6"); - - // Special Block 2 - public static final CustomIcon Casing_Resonance_1 = new CustomIcon("special/block_1"); - public static final CustomIcon Casing_Resonance_2 = new CustomIcon("special/block_2"); - public static final CustomIcon Casing_Resonance_3 = new CustomIcon("special/block_3"); - public static final CustomIcon Casing_Resonance_4 = new CustomIcon("special/block_4"); - public static final CustomIcon Casing_Modulator_1 = new CustomIcon("special/block_5"); - public static final CustomIcon Casing_Modulator_2 = new CustomIcon("special/block_6"); - public static final CustomIcon Casing_Modulator_3 = new CustomIcon("special/block_7"); - public static final CustomIcon Casing_Modulator_4 = new CustomIcon("special/block_8"); - - // Centrifuge Casing - private static final CustomIcon Internal_Casing_Centrifuge = new CustomIcon( - "TileEntities/MACHINE_CASING_CENTRIFUGE"); - public static final CustomIcon Casing_Material_Centrifuge = Internal_Casing_Centrifuge; - - // Quantum Force Transformer Casing - // spotless:off - private static final CustomIcon Internal_Casing_QFT = new CustomIcon("TileEntities/MACHINE_CASING_QFT_COIL"); - public static final CustomIcon Casing_Coil_QFT = Internal_Casing_QFT; - public static final CustomIcon NeutronPulseManipulator = mAnimated ? new CustomIcon("NeutronPulseManipulator") : new CustomIcon("NeutronPulseManipulatorStatic"); - public static final CustomIcon CosmicFabricManipulator = mAnimated ? new CustomIcon("CosmicFabricManipulator") : new CustomIcon("CosmicFabricManipulatorStatic"); - public static final CustomIcon InfinityInfusedManipulator = mAnimated ? new CustomIcon("InfinityInfusedManipulator") : new CustomIcon("InfinityInfusedManipulatorStatic"); - public static final CustomIcon SpaceTimeContinuumRipper = mAnimated ? new CustomIcon("SpaceTimeContinuumRipper") : new CustomIcon("SpaceTimeContinuumRipperStatic"); - public static final CustomIcon Manipulator_Top = new CustomIcon("Manipulator_Top"); - public static final CustomIcon NeutronShieldingCore = mAnimated ? new CustomIcon("NeutronShieldingCore") : new CustomIcon("NeutronShieldingCoreStatic"); - public static final CustomIcon CosmicFabricShieldingCore = mAnimated ? new CustomIcon("CosmicFabricShieldingCore") : new CustomIcon("CosmicFabricShieldingCoreStatic"); - public static final CustomIcon InfinityInfusedShieldingCore = mAnimated ? new CustomIcon("InfinityInfusedShieldingCore") : new CustomIcon("InfinityInfusedShieldingCoreStatic"); - public static final CustomIcon SpaceTimeBendingCore = mAnimated ? new CustomIcon("SpaceTimeBendingCore") : new CustomIcon("SpaceTimeBendingCoreStatic"); - public static final CustomIcon ForceFieldGlass = new CustomIcon("ForceFieldGlass"); - public static final CustomIcon ForceField = new CustomIcon("rendering/ForceField"); - public static final CustomIcon Blank = new CustomIcon("Blank"); - //spotless:on - - // MACHINE_CASING_FARM_MANAGER_STRUCTURAL - // Farm Manager Casings - private static final CustomIcon Internal_Casing_Machine_Farm_Manager = new CustomIcon( - "TileEntities/MACHINE_CASING_FARM_MANAGER_STRUCTURAL"); - public static final CustomIcon Casing_Machine_Farm_Manager = Internal_Casing_Machine_Farm_Manager; - // Acacia_Log - private static final CustomIcon Internal_Casing_Machine_Acacia_Log = new CustomIcon("TileEntities/log_acacia_top"); - public static final CustomIcon Casing_Machine_Acacia_Log = Internal_Casing_Machine_Acacia_Log; - // Podzol Top - private static final CustomIcon Internal_Casing_Machine_Podzol = new CustomIcon("TileEntities/dirt_podzol_top"); - public static final CustomIcon Casing_Machine_Podzol = Internal_Casing_Machine_Podzol; - - // Structural Blocks - private static final CustomIcon Internal_Casing_Machine_Metal_Grate_A = new CustomIcon("chrono/MetalGrate"); - public static final CustomIcon Casing_Machine_Metal_Grate_A = Internal_Casing_Machine_Metal_Grate_A; - - private static final CustomIcon Internal_Casing_Machine_Metal_Panel_A = new CustomIcon("chrono/MetalPanel"); - public static final CustomIcon Casing_Machine_Metal_Panel_A = Internal_Casing_Machine_Metal_Panel_A; - private static final CustomIcon Internal_Casing_Machine_Metal_Sheet_A = new CustomIcon("chrono/MetalSheet"); - public static final CustomIcon Casing_Machine_Metal_Sheet_A = Internal_Casing_Machine_Metal_Sheet_A; - private static final CustomIcon Internal_Casing_Machine_Metal_Sheet_H = new CustomIcon("chrono/MetalSheet8"); - public static final CustomIcon Casing_Machine_Metal_Sheet_H = Internal_Casing_Machine_Metal_Sheet_H; - private static final CustomIcon Internal_Casing_Machine_Metal_Sheet_I = new CustomIcon("chrono/MetalSheet9"); - public static final CustomIcon Casing_Machine_Metal_Sheet_I = Internal_Casing_Machine_Metal_Sheet_I; - private static final CustomIcon Internal_Overlay_Machine_Cyber_A = new CustomIcon("chrono/CyberPanel"); - public static final CustomIcon Overlay_Machine_Cyber_A = Internal_Overlay_Machine_Cyber_A; - - public static final CustomIcon TEXTURE_CASING_AMAZON = new CustomIcon("TileEntities/CASING_AMAZON"); - public static final CustomIcon TEXTURE_CASING_ADVANCED_CRYOGENIC = new CustomIcon( - "TileEntities/MACHINE_CASING_ADVANCED_CRYOGENIC"); - public static final CustomIcon TEXTURE_CASING_ADVANCED_VOLCNUS = new CustomIcon( - "TileEntities/MACHINE_CASING_ADVANCED_VOLCANUS"); - public static final CustomIcon TEXTURE_CASING_ROCKETDYNE = new CustomIcon("TileEntities/MACHINE_CASING_ROCKETDYNE"); - public static final CustomIcon TEXTURE_CASING_GRINDING_MILL = new CustomIcon( - "TileEntities/MACHINE_CASING_GRINDING_FACTORY"); - public static final CustomIcon TEXTURE_CASING_FLOTATION = new CustomIcon("TileEntities/MACHINE_CASING_FLOTATION"); - - // Custom Pipes - public static final CustomIcon TEXTURE_PIPE_GRINDING_MILL = new CustomIcon("TileEntities/MACHINE_CASING_PIPE_T1"); - public static final CustomIcon TEXTURE_PIPE_GENERIC = new CustomIcon("iconsets/MACHINE_CASING_PIPE_GENERIC"); - - // Custom Gearboxes - public static final CustomIcon TEXTURE_GEARBOX_GRINDING_MILL = new CustomIcon( - "TileEntities/MACHINE_CASING_GEARBOX_T1"); - public static final CustomIcon TEXTURE_GEARBOX_GENERIC = new CustomIcon("iconsets/MACHINE_CASING_GEARBOX_GENERIC"); - - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II = new CustomIcon("iconsets/MACHINE_CASING_FUSION_3"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_INNER = new CustomIcon( - "iconsets/MACHINE_CASING_FUSION_COIL_II"); - public static final CustomIcon TEXTURE_CASING_FUSION_CASING_ULTRA = new CustomIcon( - "iconsets/MACHINE_CASING_FUSION_GLASS_ULTRA"); - - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III = new CustomIcon("iconsets/MACHINE_CASING_FUSION_4"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_INNER = new CustomIcon( - "iconsets/MACHINE_CASING_FUSION_COIL_III"); - public static final CustomIcon TEXTURE_CASING_FUSION_CASING_HYPER = new CustomIcon( - "iconsets/MACHINE_CASING_FUSION_GLASS_HYPER"); - // - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_1 = new CustomIcon("iconsets/FUSIONIII_1"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_2 = new CustomIcon("iconsets/FUSIONIII_2"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_3 = new CustomIcon("iconsets/FUSIONIII_3"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_4 = new CustomIcon("iconsets/FUSIONIII_4"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_5 = new CustomIcon("iconsets/FUSIONIII_5"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_6 = new CustomIcon("iconsets/FUSIONIII_6"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_7 = new CustomIcon("iconsets/FUSIONIII_7"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_8 = new CustomIcon("iconsets/FUSIONIII_8"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_9 = new CustomIcon("iconsets/FUSIONIII_9"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_10 = new CustomIcon("iconsets/FUSIONIII_10"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_11 = new CustomIcon("iconsets/FUSIONIII_11"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_12 = new CustomIcon("iconsets/FUSIONIII_12"); - - // MK5 Fusion casings - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_1 = new CustomIcon("iconsets/FUSIONIV_1"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_2 = new CustomIcon("iconsets/FUSIONIV_2"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_3 = new CustomIcon("iconsets/FUSIONIV_3"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_4 = new CustomIcon("iconsets/FUSIONIV_4"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_5 = new CustomIcon("iconsets/FUSIONIV_5"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_6 = new CustomIcon("iconsets/FUSIONIV_6"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_7 = new CustomIcon("iconsets/FUSIONIV_7"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_8 = new CustomIcon("iconsets/FUSIONIV_8"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_9 = new CustomIcon("iconsets/FUSIONIV_9"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_10 = new CustomIcon("iconsets/FUSIONIV_10"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_11 = new CustomIcon("iconsets/FUSIONIV_11"); - public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_12 = new CustomIcon("iconsets/FUSIONIV_12"); - - // Overlays - // Fan Textures - private static final CustomIcon Internal_Overlay_Machine_Vent = new CustomIcon( - "TileEntities/machine_top_vent_rotating"); - public static final CustomIcon Overlay_Machine_Vent = Internal_Overlay_Machine_Vent; - private static final CustomIcon Internal_Overlay_Machine_Vent_Fast = new CustomIcon( - "TileEntities/machine_top_vent_rotating_fast"); - public static final CustomIcon Overlay_Machine_Vent_Fast = Internal_Overlay_Machine_Vent_Fast; - private static final CustomIcon Internal_Overlay_Machine_Vent_Adv = new CustomIcon( - "TileEntities/adv_machine_vent_rotating"); - // Diesel Engines - private static final CustomIcon Internal_Overlay_Machine_Diesel_Vertical = new CustomIcon( - "TileEntities/machine_top_dieselmotor"); - public static final CustomIcon Overlay_Machine_Diesel_Vertical = Internal_Overlay_Machine_Diesel_Vertical; - private static final CustomIcon Internal_Overlay_Machine_Diesel_Horizontal = new CustomIcon( - "TileEntities/machine_top_dieselmotor2"); - public static final CustomIcon Overlay_Machine_Diesel_Horizontal = Internal_Overlay_Machine_Diesel_Horizontal; - private static final CustomIcon Internal_Overlay_Machine_Diesel_Vertical_Active = new CustomIcon( - "TileEntities/machine_top_dieselmotor_active"); - public static final CustomIcon Overlay_Machine_Diesel_Vertical_Active = Internal_Overlay_Machine_Diesel_Vertical_Active; - private static final CustomIcon Internal_Overlay_Machine_Diesel_Horizontal_Active = new CustomIcon( - "TileEntities/machine_top_dieselmotor2_active"); - public static final CustomIcon Overlay_Machine_Diesel_Horizontal_Active = Internal_Overlay_Machine_Diesel_Horizontal_Active; - // Computer Screens - private static final CustomIcon Internal_Casing_Machine_Screen_1 = new CustomIcon( - "TileEntities/adv_machine_screen_random1"); - public static final CustomIcon Casing_Machine_Screen_1 = Internal_Casing_Machine_Screen_1; - private static final CustomIcon Internal_Casing_Machine_Screen_2 = new CustomIcon( - "TileEntities/adv_machine_screen_random2"); - public static final CustomIcon Casing_Machine_Screen_2 = Internal_Casing_Machine_Screen_2; - private static final CustomIcon Internal_Casing_Machine_Screen_3 = new CustomIcon( - "TileEntities/adv_machine_screen_random3"); - public static final CustomIcon Casing_Machine_Screen_3 = Internal_Casing_Machine_Screen_3; - - private static final CustomIcon Internal_Casing_Machine_Screen_Rainbow = new CustomIcon( - "TileEntities/overlay_rainbowscreen"); - public static final CustomIcon Casing_Machine_Screen_Rainbow = Internal_Casing_Machine_Screen_Rainbow; - private static final CustomIcon Internal_Casing_Machine_Screen_Frequency = new CustomIcon( - "TileEntities/adv_machine_screen_frequency"); - public static final CustomIcon Casing_Machine_Screen_Frequency = Internal_Casing_Machine_Screen_Frequency; - private static final CustomIcon Internal_Overlay_Machine_Screen_Logo = new CustomIcon( - "TileEntities/adv_machine_screen_logo"); - public static final CustomIcon Overlay_Machine_Screen_Logo = Internal_Overlay_Machine_Screen_Logo; - - // Machine Controller Overlays - private static final CustomIcon Internal_Overlay_Machine_Controller_Default = new CustomIcon( - "iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED"); - public static final CustomIcon Overlay_Machine_Controller_Default = Internal_Overlay_Machine_Controller_Default; - private static final CustomIcon Internal_Overlay_Machine_Controller_Default_Active = new CustomIcon( - "iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE"); - public static final CustomIcon Overlay_Machine_Controller_Default_Active = Internal_Overlay_Machine_Controller_Default_Active; - - private static final CustomIcon Internal_Overlay_Machine_Controller_Advanced = new CustomIcon( - "iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED"); - public static final CustomIcon Overlay_Machine_Controller_Advanced = Internal_Overlay_Machine_Controller_Advanced; - private static final CustomIcon Internal_Overlay_Machine_Controller_Advanced_Active = new CustomIcon( - "iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE"); - public static final CustomIcon Overlay_Machine_Controller_Advanced_Active = Internal_Overlay_Machine_Controller_Advanced_Active; - - // Crafting Overlays - public static final CustomIcon Casing_Adv_Workbench_Crafting_Overlay = new CustomIcon( - "TileEntities/gt4/machine_top_crafting"); - - public static final CustomIcon Casing_CropHarvester_Cutter = new CustomIcon("TileEntities/gt4/OVERLAY_CROP"); - public static final CustomIcon Casing_CropHarvester_Boxes = new CustomIcon("TileEntities/gt4/OVERLAY_BOXES"); - - // Covers - private static final CustomIcon Internal_Overlay_Overflow_Valve = new CustomIcon("iconsets/OVERLAY_OVERFLOW_VALVE"); - public static final CustomIcon Overlay_Overflow_Valve = Internal_Overlay_Overflow_Valve; - - // Hatch Overlays - // Charger Texture - private static final CustomIcon Internal_Overlay_Hatch_Charger = new CustomIcon("TileEntities/cover_charger"); - public static final CustomIcon Overlay_Hatch_Charger = Internal_Overlay_Hatch_Charger; - // Discharger Texture - private static final CustomIcon Internal_Overlay_Hatch_Discharger = new CustomIcon("TileEntities/cover_discharge"); - public static final CustomIcon Overlay_Hatch_Discharger = Internal_Overlay_Hatch_Discharger; - // Advanced Muffler - private static final CustomIcon Internal_Overlay_Hatch_Muffler_Adv = new CustomIcon("iconsets/OVERLAY_MUFFLER_ADV"); - public static final CustomIcon Overlay_Hatch_Muffler_Adv = Internal_Overlay_Hatch_Muffler_Adv; - // Milling Ball Bus - private static final CustomIcon Internal_Overlay_Bus_Milling_Balls = new CustomIcon( - "iconsets/OVERLAY_MILLING_BALL_BUS"); - public static final CustomIcon Overlay_Bus_Milling_Balls = Internal_Overlay_Bus_Milling_Balls; - // Catalyst Bus - private static final CustomIcon Internal_Overlay_Bus_Catalyst = new CustomIcon("iconsets/OVERLAY_CATALYSTS"); - public static final CustomIcon Overlay_Bus_Catalyst = Internal_Overlay_Bus_Catalyst; - - // Data Orb Hatch - public static final CustomIcon Overlay_Hatch_Data_Orb = new CustomIcon("iconsets/OVERLAY_DATA_ORB"); - - // Dimensional - private static final CustomIcon Internal_Overlay_Machine_Dimensional_Orange = new CustomIcon( - "TileEntities/adv_machine_dimensional_cover_orange"); - public static final CustomIcon Overlay_Machine_Dimensional_Orange = Internal_Overlay_Machine_Dimensional_Orange; - // Icons - private static final CustomIcon Internal_Overlay_MatterFab = new CustomIcon("TileEntities/adv_machine_matterfab"); - public static final CustomIcon Overlay_MatterFab = Internal_Overlay_MatterFab; - private static final CustomIcon Internal_Overlay_MatterFab_Active = new CustomIcon( - "TileEntities/adv_machine_matterfab_active"); - public static final CustomIcon Overlay_MatterFab_Active = Internal_Overlay_MatterFab_Active; - - private static final CustomIcon Internal_Overlay_MatterFab_Animated = new CustomIcon( - "TileEntities/adv_machine_matterfab_animated"); - public static final CustomIcon Overlay_MatterFab_Animated = Internal_Overlay_MatterFab_Animated; - private static final CustomIcon Internal_Overlay_MatterFab_Active_Animated = new CustomIcon( - "TileEntities/adv_machine_matterfab_active_animated"); - public static final CustomIcon Overlay_MatterFab_Active_Animated = Internal_Overlay_MatterFab_Active_Animated; - - private static final CustomIcon Internal_Overlay_Water = new CustomIcon("TileEntities/adv_machine_water"); - public static final CustomIcon Overlay_Water = Internal_Overlay_Water; - private static final CustomIcon Internal_Overlay_UU_Matter = new CustomIcon("TileEntities/adv_machine_uum"); - public static final CustomIcon Overlay_UU_Matter = Internal_Overlay_UU_Matter; - - // GT++ Tiered Hulls - public static final CustomIcon TEXTURE_CASING_TIERED_ULV = new CustomIcon("iconsets/TieredHulls/CASING_ULV"); - public static final CustomIcon TEXTURE_CASING_TIERED_LV = new CustomIcon("iconsets/TieredHulls/CASING_LV"); - public static final CustomIcon TEXTURE_CASING_TIERED_MV = new CustomIcon("iconsets/TieredHulls/CASING_MV"); - public static final CustomIcon TEXTURE_CASING_TIERED_HV = new CustomIcon("iconsets/TieredHulls/CASING_HV"); - public static final CustomIcon TEXTURE_CASING_TIERED_EV = new CustomIcon("iconsets/TieredHulls/CASING_EV"); - public static final CustomIcon TEXTURE_CASING_TIERED_IV = new CustomIcon("iconsets/TieredHulls/CASING_IV"); - public static final CustomIcon TEXTURE_CASING_TIERED_LuV = new CustomIcon("iconsets/TieredHulls/CASING_LuV"); - public static final CustomIcon TEXTURE_CASING_TIERED_ZPM = new CustomIcon("iconsets/TieredHulls/CASING_ZPM"); - public static final CustomIcon TEXTURE_CASING_TIERED_UV = new CustomIcon("iconsets/TieredHulls/CASING_UV"); - public static final CustomIcon TEXTURE_CASING_TIERED_MAX = new CustomIcon("iconsets/TieredHulls/CASING_MAX"); - - // 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_F = new CustomIcon("metro/TEXTURE_METAL_PANEL_F"); - - public static final CustomIcon TEXTURE_MAGIC_PANEL_A = new CustomIcon("metro/TEXTURE_MAGIC_A"); - public static final CustomIcon TEXTURE_MAGIC_PANEL_B = new CustomIcon("metro/TEXTURE_MAGIC_B"); - - public static final CustomIcon TEXTURE_ORGANIC_PANEL_A_GLOWING = new CustomIcon( - "metro/TEXTURE_ORGANIC_PANEL_A_GLOWING"); - - public static final CustomIcon TEXTURE_STONE_RED_A = new CustomIcon("metro/TEXTURE_STONE_RED_A"); - public static final CustomIcon TEXTURE_STONE_RED_B = new CustomIcon("metro/TEXTURE_STONE_RED_B"); - - public static final CustomIcon OVERLAY_SC_TURBINE1 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL1"); - public static final CustomIcon OVERLAY_SC_TURBINE2 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL2"); - public static final CustomIcon OVERLAY_SC_TURBINE3 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL3"); - public static final CustomIcon OVERLAY_SC_TURBINE4 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL4"); - public static final CustomIcon OVERLAY_SC_TURBINE5 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL5"); - public static final CustomIcon OVERLAY_SC_TURBINE6 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL6"); - public static final CustomIcon OVERLAY_SC_TURBINE7 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL7"); - public static final CustomIcon OVERLAY_SC_TURBINE8 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL8"); - public static final CustomIcon OVERLAY_SC_TURBINE9 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL9"); - - public static final CustomIcon OVERLAY_SC_TURBINE1_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE1"); - public static final CustomIcon OVERLAY_SC_TURBINE2_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE2"); - public static final CustomIcon OVERLAY_SC_TURBINE3_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE3"); - public static final CustomIcon OVERLAY_SC_TURBINE4_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE4"); - public static final CustomIcon OVERLAY_SC_TURBINE5_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE5"); - public static final CustomIcon OVERLAY_SC_TURBINE6_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE6"); - public static final CustomIcon OVERLAY_SC_TURBINE7_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE7"); - public static final CustomIcon OVERLAY_SC_TURBINE8_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE8"); - public static final CustomIcon OVERLAY_SC_TURBINE9_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE9"); - public static final CustomIcon TEXTURE_TECH_A = new CustomIcon("metro/TEXTURE_TECH_A"); - public static final CustomIcon TEXTURE_TECH_B = new CustomIcon("metro/TEXTURE_TECH_B"); - public static final CustomIcon TEXTURE_TECH_C = new CustomIcon("metro/TEXTURE_TECH_C"); - - public static final CustomIcon TEXTURE_TECH_PANEL_D = new CustomIcon("metro/TEXTURE_TECH_PANEL_D"); - public static final CustomIcon TEXTURE_TECH_PANEL_H = new CustomIcon("metro/TEXTURE_TECH_PANEL_H"); - - public static ITexture[] OVERLAYS_ENERGY_OUT_MULTI_BUFFER = new ITexture[] { - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 220, 220, 220, 0 }), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 220, 220, 220, 0 }), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 255, 100, 0, 0 }), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 255, 255, 30, 0 }), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 128, 128, 128, 0 }), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }) }; - - public static IIconContainer[] CONNECTED_FUSION_HULLS = new IIconContainer[] { TEXTURE_CASING_FUSION_COIL_II_1, - TEXTURE_CASING_FUSION_COIL_II_2, TEXTURE_CASING_FUSION_COIL_II_3, TEXTURE_CASING_FUSION_COIL_II_4, - TEXTURE_CASING_FUSION_COIL_II_5, TEXTURE_CASING_FUSION_COIL_II_6, TEXTURE_CASING_FUSION_COIL_II_7, - TEXTURE_CASING_FUSION_COIL_II_8, TEXTURE_CASING_FUSION_COIL_II_9, TEXTURE_CASING_FUSION_COIL_II_10, - TEXTURE_CASING_FUSION_COIL_II_11, TEXTURE_CASING_FUSION_COIL_II_12 }; - - public static IIconContainer[] CONNECTED_FUSION_HULLS_MK4 = new IIconContainer[] { TEXTURE_CASING_FUSION_COIL_III_1, - TEXTURE_CASING_FUSION_COIL_III_2, TEXTURE_CASING_FUSION_COIL_III_3, TEXTURE_CASING_FUSION_COIL_III_4, - TEXTURE_CASING_FUSION_COIL_III_5, TEXTURE_CASING_FUSION_COIL_III_6, TEXTURE_CASING_FUSION_COIL_III_7, - TEXTURE_CASING_FUSION_COIL_III_8, TEXTURE_CASING_FUSION_COIL_III_9, TEXTURE_CASING_FUSION_COIL_III_10, - TEXTURE_CASING_FUSION_COIL_III_11, TEXTURE_CASING_FUSION_COIL_III_12 }; - - public static IIconContainer[] TIERED_MACHINE_HULLS = new IIconContainer[] { TEXTURE_CASING_TIERED_ULV, - TEXTURE_CASING_TIERED_LV, TEXTURE_CASING_TIERED_MV, TEXTURE_CASING_TIERED_HV, TEXTURE_CASING_TIERED_EV, - TEXTURE_CASING_TIERED_IV, TEXTURE_CASING_TIERED_LuV, TEXTURE_CASING_TIERED_ZPM, TEXTURE_CASING_TIERED_UV, - TEXTURE_CASING_TIERED_MAX }; -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java deleted file mode 100644 index a9f74cd75d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java +++ /dev/null @@ -1,51 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -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; - -public final class TexturesGtTools { - - public static final CustomIcon ANGLE_GRINDER = new CustomIcon("iconsets/ANGLE_GRINDER"); - public static final CustomIcon ELECTRIC_SNIPS = new CustomIcon("iconsets/ELECTRIC_SNIPS"); - - public static final class CustomIcon implements IIconContainer, Runnable { - - private IIcon mIcon, mOverlay; - private final String mIconName; - - public CustomIcon(final String aIconName) { - this.mIconName = aIconName; - Logger.INFO("Constructing a Custom Texture. " + this.mIconName); - GregTech_API.sGTItemIconload.add(this); - } - - @Override - public IIcon getIcon() { - return this.mIcon; - } - - @Override - public IIcon getOverlayIcon() { - return this.mOverlay; - } - - @Override - public void run() { - this.mIcon = GregTech_API.sItemIcons.registerIcon(GTPlusPlus.ID + ":" + this.mIconName); - // Utils.LOG_INFO("Registering a Custom Texture. "+mIcon.g); - this.mOverlay = GregTech_API.sItemIcons.registerIcon(GTPlusPlus.ID + ":" + this.mIconName + "_OVERLAY"); - } - - @Override - public ResourceLocation getTextureFile() { - return TextureMap.locationItemsTexture; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java deleted file mode 100644 index c983044319..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java +++ /dev/null @@ -1,410 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures.turbine; - -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS1; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS2; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS3; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS4; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS6; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS7; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS8; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS9; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE1; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE2; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE3; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE4; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE6; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE7; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE8; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE9; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST1; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST2; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST3; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST4; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST6; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST7; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST8; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST9; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE1; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE2; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE3; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE4; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE6; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE7; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE8; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE9; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI1; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI2; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI3; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI4; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI6; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI7; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI8; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI9; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE1; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE2; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE3; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE4; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE6; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE7; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE8; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE9; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU1; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU2; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU3; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU4; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU6; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU7; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU8; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU9; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE1; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE2; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE3; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE4; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE6; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE7; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE8; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE9; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE1; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE1_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE2; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE2_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE3; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE3_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE4; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE4_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE5; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE5_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE6; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE6_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE7; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE7_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE8; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE8_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE9; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE9_ACTIVE; - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Turbine; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaSpecialMultiCasings; - -public class LargeTurbineTextureHandler { - - /** - * LP Turbines - */ - public static IIcon[] OVERLAY_LP_TURBINE = new IIcon[] { LARGETURBINE_ST1.getIcon(), LARGETURBINE_ST2.getIcon(), - LARGETURBINE_ST3.getIcon(), LARGETURBINE_ST4.getIcon(), LARGETURBINE_ST5.getIcon(), LARGETURBINE_ST6.getIcon(), - LARGETURBINE_ST7.getIcon(), LARGETURBINE_ST8.getIcon(), LARGETURBINE_ST9.getIcon(), }; - - public static IIcon[] OVERLAY_LP_TURBINE_ACTIVE = new IIcon[] { LARGETURBINE_ST_ACTIVE1.getIcon(), - LARGETURBINE_ST_ACTIVE2.getIcon(), LARGETURBINE_ST_ACTIVE3.getIcon(), LARGETURBINE_ST_ACTIVE4.getIcon(), - LARGETURBINE_ST_ACTIVE5.getIcon(), LARGETURBINE_ST_ACTIVE6.getIcon(), LARGETURBINE_ST_ACTIVE7.getIcon(), - LARGETURBINE_ST_ACTIVE8.getIcon(), LARGETURBINE_ST_ACTIVE9.getIcon(), }; - - /** - * HP Turbines - */ - public static IIcon[] OVERLAY_HP_TURBINE = new IIcon[] { LARGETURBINE_TI1.getIcon(), LARGETURBINE_TI2.getIcon(), - LARGETURBINE_TI3.getIcon(), LARGETURBINE_TI4.getIcon(), LARGETURBINE_TI5.getIcon(), LARGETURBINE_TI6.getIcon(), - LARGETURBINE_TI7.getIcon(), LARGETURBINE_TI8.getIcon(), LARGETURBINE_TI9.getIcon(), }; - - public static IIcon[] OVERLAY_HP_TURBINE_ACTIVE = new IIcon[] { LARGETURBINE_TI_ACTIVE1.getIcon(), - LARGETURBINE_TI_ACTIVE2.getIcon(), LARGETURBINE_TI_ACTIVE3.getIcon(), LARGETURBINE_TI_ACTIVE4.getIcon(), - LARGETURBINE_TI_ACTIVE5.getIcon(), LARGETURBINE_TI_ACTIVE6.getIcon(), LARGETURBINE_TI_ACTIVE7.getIcon(), - LARGETURBINE_TI_ACTIVE8.getIcon(), LARGETURBINE_TI_ACTIVE9.getIcon(), }; - - /** - * Gas Turbines - */ - public static IIcon[] OVERLAY_GAS_TURBINE = new IIcon[] { LARGETURBINE_SS1.getIcon(), LARGETURBINE_SS2.getIcon(), - LARGETURBINE_SS3.getIcon(), LARGETURBINE_SS4.getIcon(), LARGETURBINE_SS5.getIcon(), LARGETURBINE_SS6.getIcon(), - LARGETURBINE_SS7.getIcon(), LARGETURBINE_SS8.getIcon(), LARGETURBINE_SS9.getIcon(), }; - - public static IIcon[] OVERLAY_GAS_TURBINE_ACTIVE = new IIcon[] { LARGETURBINE_SS_ACTIVE1.getIcon(), - LARGETURBINE_SS_ACTIVE2.getIcon(), LARGETURBINE_SS_ACTIVE3.getIcon(), LARGETURBINE_SS_ACTIVE4.getIcon(), - LARGETURBINE_SS_ACTIVE5.getIcon(), LARGETURBINE_SS_ACTIVE6.getIcon(), LARGETURBINE_SS_ACTIVE7.getIcon(), - LARGETURBINE_SS_ACTIVE8.getIcon(), LARGETURBINE_SS_ACTIVE9.getIcon(), }; - - /** - * Plasma Turbines - */ - public static IIcon[] OVERLAY_PLASMA_TURBINE = new IIcon[] { LARGETURBINE_TU1.getIcon(), LARGETURBINE_TU2.getIcon(), - LARGETURBINE_TU3.getIcon(), LARGETURBINE_TU4.getIcon(), LARGETURBINE_TU5.getIcon(), LARGETURBINE_TU6.getIcon(), - LARGETURBINE_TU7.getIcon(), LARGETURBINE_TU8.getIcon(), LARGETURBINE_TU9.getIcon(), }; - - public static IIcon[] OVERLAY_PLASMA_TURBINE_ACTIVE = new IIcon[] { LARGETURBINE_TU_ACTIVE1.getIcon(), - LARGETURBINE_TU_ACTIVE2.getIcon(), LARGETURBINE_TU_ACTIVE3.getIcon(), LARGETURBINE_TU_ACTIVE4.getIcon(), - LARGETURBINE_TU_ACTIVE5.getIcon(), LARGETURBINE_TU_ACTIVE6.getIcon(), LARGETURBINE_TU_ACTIVE7.getIcon(), - LARGETURBINE_TU_ACTIVE8.getIcon(), LARGETURBINE_TU_ACTIVE9.getIcon(), }; - - public static IIcon[] OVERLAY_SC_TURBINE = new IIcon[] { OVERLAY_SC_TURBINE1.getIcon(), - OVERLAY_SC_TURBINE2.getIcon(), OVERLAY_SC_TURBINE3.getIcon(), OVERLAY_SC_TURBINE4.getIcon(), - OVERLAY_SC_TURBINE5.getIcon(), OVERLAY_SC_TURBINE6.getIcon(), OVERLAY_SC_TURBINE7.getIcon(), - OVERLAY_SC_TURBINE8.getIcon(), OVERLAY_SC_TURBINE9.getIcon(), }; - - public static IIcon[] OVERLAY_SC_TURBINE_ACTIVE = new IIcon[] { OVERLAY_SC_TURBINE1_ACTIVE.getIcon(), - OVERLAY_SC_TURBINE2_ACTIVE.getIcon(), OVERLAY_SC_TURBINE3_ACTIVE.getIcon(), - OVERLAY_SC_TURBINE4_ACTIVE.getIcon(), OVERLAY_SC_TURBINE5_ACTIVE.getIcon(), - OVERLAY_SC_TURBINE6_ACTIVE.getIcon(), OVERLAY_SC_TURBINE7_ACTIVE.getIcon(), - OVERLAY_SC_TURBINE8_ACTIVE.getIcon(), OVERLAY_SC_TURBINE9_ACTIVE.getIcon(), }; - - public static IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final ForgeDirection side, final GregtechMetaSpecialMultiCasings i) { - final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); - - // 0 shaft - // 1 LP - // 2 HP - // 3 Gas - // 4 Plasma - - IIcon[] mGetCurrentTextureSet = null; - IIcon[] mGetCurrentTextureSet_ACTIVE = null; - - if ((tMeta <= 0 || tMeta >= 5) && tMeta != 15) { - return GregtechMetaSpecialMultiCasings.getStaticIcon(side.ordinal(), (byte) tMeta); - } else { - if (tMeta == 1) { - mGetCurrentTextureSet = OVERLAY_LP_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_LP_TURBINE_ACTIVE; - } else if (tMeta == 2) { - mGetCurrentTextureSet = OVERLAY_HP_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_HP_TURBINE_ACTIVE; - } else if (tMeta == 3) { - mGetCurrentTextureSet = OVERLAY_GAS_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_GAS_TURBINE_ACTIVE; - } else if (tMeta == 4) { - mGetCurrentTextureSet = OVERLAY_PLASMA_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_PLASMA_TURBINE_ACTIVE; - } else { - mGetCurrentTextureSet = OVERLAY_SC_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_SC_TURBINE_ACTIVE; - } - if (mGetCurrentTextureSet == null || mGetCurrentTextureSet_ACTIVE == null) { - return GregtechMetaSpecialMultiCasings.getStaticIcon(side.ordinal(), (byte) tMeta); - } - - if ((side == ForgeDirection.NORTH) || (side == ForgeDirection.SOUTH)) { - TileEntity tTileEntity; - IMetaTileEntity tMetaTileEntity; - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.SOUTH ? 1 : -1), yCoord - 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[0]; - } - return mGetCurrentTextureSet[0]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.SOUTH ? 1 : -1), yCoord, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[3]; - } - return mGetCurrentTextureSet[3]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.SOUTH ? 1 : -1), yCoord + 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[6]; - } - return mGetCurrentTextureSet[6]; - } - if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[1]; - } - return mGetCurrentTextureSet[1]; - } - if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[7]; - } - return mGetCurrentTextureSet[7]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.NORTH ? 1 : -1), yCoord + 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[8]; - } - return mGetCurrentTextureSet[8]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.NORTH ? 1 : -1), yCoord, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[5]; - } - return mGetCurrentTextureSet[5]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.NORTH ? 1 : -1), yCoord - 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[2]; - } - return mGetCurrentTextureSet[2]; - } - } else if ((side == ForgeDirection.WEST) || (side == ForgeDirection.EAST)) { - TileEntity tTileEntity; - Object tMetaTileEntity; - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord - 1, zCoord + (side == ForgeDirection.WEST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[0]; - } - return mGetCurrentTextureSet[0]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord, zCoord + (side == ForgeDirection.WEST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[3]; - } - return mGetCurrentTextureSet[3]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord + 1, zCoord + (side == ForgeDirection.WEST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[6]; - } - return mGetCurrentTextureSet[6]; - } - if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[1]; - } - return mGetCurrentTextureSet[1]; - } - if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[7]; - } - return mGetCurrentTextureSet[7]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord + 1, zCoord + (side == ForgeDirection.EAST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[8]; - } - return mGetCurrentTextureSet[8]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord, zCoord + (side == ForgeDirection.EAST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[5]; - } - return mGetCurrentTextureSet[5]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord - 1, zCoord + (side == ForgeDirection.EAST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[2]; - } - return mGetCurrentTextureSet[2]; - } - } - } - return GregtechMetaSpecialMultiCasings.getStaticIcon(side.ordinal(), (byte) tMeta); - } - - public static boolean isUsingAnimatedTexture(TileEntity tTileEntity) { - boolean aVal = true; - IGregTechTileEntity aTile; - if (tTileEntity instanceof IGregTechTileEntity) { - aTile = (IGregTechTileEntity) tTileEntity; - if (aTile != null) { - final IMetaTileEntity aMetaTileEntity = aTile.getMetaTileEntity(); - if (aMetaTileEntity != null && aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine) { - aVal = ((GT_MetaTileEntity_Hatch_Turbine) aMetaTileEntity).getBaseMetaTileEntity() - .isActive(); - // Logger.INFO("Returning "+aVal+" as Rotor Assembly controller status"); - } - } - } - return aVal; - } - - public static GT_MetaTileEntity_Hatch_Turbine isTurbineHatch(final IGregTechTileEntity aTileEntity) { - if (aTileEntity != null) { - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity != null && aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine) { - return (GT_MetaTileEntity_Hatch_Turbine) aMetaTileEntity; - } - } - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/CoverManager.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/CoverManager.java deleted file mode 100644 index c1f87ef041..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/CoverManager.java +++ /dev/null @@ -1,16 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.covers; - -import gtPlusPlus.xmod.gregtech.common.items.covers.MetaItemCoverCasings; - -public class CoverManager { - - // GT - public static MetaItemCoverCasings Cover_Gt_Machine_Casing; - - public static void generateCustomCovers() { - - // GT Machine Casings - Cover_Gt_Machine_Casing = new MetaItemCoverCasings(); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/GTPP_Cover_Overflow.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/GTPP_Cover_Overflow.java deleted file mode 100644 index 8b75f4f156..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/GTPP_Cover_Overflow.java +++ /dev/null @@ -1,203 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.covers; - -import java.util.concurrent.atomic.AtomicBoolean; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidHandler; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.common.widget.TextWidget; - -import gregtech.api.gui.modularui.GT_CoverUIBuildContext; -import gregtech.api.interfaces.tileentity.ICoverable; -import gregtech.api.util.GT_CoverBehavior; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.ISerializableObject; -import gregtech.common.gui.modularui.widget.CoverDataControllerWidget; -import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget; - -public class GTPP_Cover_Overflow extends GT_CoverBehavior { - - public final int mTransferRate; - public final int mInitialTransferRate; - public final int mMaxTransferRate; - - public GTPP_Cover_Overflow(int aTransferRate) { - this.mTransferRate = aTransferRate * 1000 / 10; - this.mInitialTransferRate = aTransferRate; - this.mMaxTransferRate = aTransferRate * 1000; - } - - public int doCoverThings(ForgeDirection side, byte aInputRedstone, int aCoverID, int aCoverVariable, - ICoverable aTileEntity, long aTimer) { - if (aCoverVariable == 0) { - return aCoverVariable; - } - if ((aTileEntity instanceof IFluidHandler)) { - // Logger.INFO("Trying to Void via Overflow."); - IFluidHandler tTank1; - ForgeDirection directionFrom; - directionFrom = ForgeDirection.UNKNOWN; - tTank1 = (IFluidHandler) aTileEntity; - if (tTank1 != null) { - FluidStack aTankStack = tTank1.getTankInfo(directionFrom)[0].fluid; - if (aTankStack != null) { - // Logger.INFO("Found Fluid inside self - "+aTankStack.getLocalizedName()+", overflow point set at - // "+aCoverVariable+"L and we have "+aTankStack.amount+"L inside."); - if (aTankStack.amount > aCoverVariable) { - int aAmountToDrain = aTankStack.amount - aCoverVariable; - // Logger.INFO("There is "+aAmountToDrain+" more fluid in the tank than we would like."); - if (aAmountToDrain > 0) { - FluidStack tLiquid = tTank1.drain(directionFrom, Math.abs(aAmountToDrain), true); - if (tLiquid != null) { - // Logger.INFO("Drained "+aAmountToDrain+"L."); - } - } - } - } else { - // Logger.INFO("Could not simulate drain on self."); - } - } - } - return aCoverVariable; - } - - public int onCoverScrewdriverclick(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity, - EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (GT_Utility.getClickedFacingCoords(side, aX, aY, aZ)[0] >= 0.5F) { - aCoverVariable += (mMaxTransferRate * (aPlayer.isSneaking() ? 0.1f : 0.01f)); - } else { - aCoverVariable -= (mMaxTransferRate * (aPlayer.isSneaking() ? 0.1f : 0.01f)); - } - if (aCoverVariable > mMaxTransferRate) { - aCoverVariable = mInitialTransferRate; - } - if (aCoverVariable <= 0) { - aCoverVariable = mMaxTransferRate; - } - GT_Utility.sendChatToPlayer( - aPlayer, - GT_Utility.trans("322", "Overflow point: ") + aCoverVariable + GT_Utility.trans("323", "L")); - return aCoverVariable; - } - - public boolean onCoverRightclick(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity, - EntityPlayer aPlayer, float aX, float aY, float aZ) { - boolean aShift = aPlayer.isSneaking(); - int aAmount = aShift ? 128 : 8; - if (GT_Utility.getClickedFacingCoords(side, aX, aY, aZ)[0] >= 0.5F) { - aCoverVariable += aAmount; - } else { - aCoverVariable -= aAmount; - } - if (aCoverVariable > mMaxTransferRate) { - aCoverVariable = mInitialTransferRate; - } - if (aCoverVariable <= 0) { - aCoverVariable = mMaxTransferRate; - } - GT_Utility.sendChatToPlayer( - aPlayer, - GT_Utility.trans("322", "Overflow point: ") + aCoverVariable + GT_Utility.trans("323", "L")); - aTileEntity.setCoverDataAtSide(side, new ISerializableObject.LegacyCoverData(aCoverVariable)); - return true; - } - - public boolean letsRedstoneGoIn(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return true; - } - - public boolean letsRedstoneGoOut(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return true; - } - - public boolean letsEnergyIn(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return true; - } - - public boolean letsEnergyOut(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return true; - } - - public boolean letsItemsIn(ForgeDirection side, int aCoverID, int aCoverVariable, int aSlot, - ICoverable aTileEntity) { - return true; - } - - public boolean letsItemsOut(ForgeDirection side, int aCoverID, int aCoverVariable, int aSlot, - ICoverable aTileEntity) { - return true; - } - - public boolean letsFluidIn(ForgeDirection side, int aCoverID, int aCoverVariable, Fluid aFluid, - ICoverable aTileEntity) { - return false; - } - - public boolean letsFluidOut(ForgeDirection side, int aCoverID, int aCoverVariable, Fluid aFluid, - ICoverable aTileEntity) { - return true; - } - - public boolean alwaysLookConnected(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return true; - } - - public int getTickRate(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return 5; - } - - // GUI - - @Override - public boolean hasCoverGUI() { - return true; - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public ModularWindow createWindow(GT_CoverUIBuildContext buildContext) { - return new OverflowUIFactory(buildContext).createWindow(); - } - - private class OverflowUIFactory extends UIFactory { - - private static final int startX = 10; - private static final int startY = 25; - private static final int spaceX = 18; - private static final int spaceY = 18; - - public OverflowUIFactory(GT_CoverUIBuildContext buildContext) { - super(buildContext); - } - - @SuppressWarnings("PointlessArithmeticExpression") - @Override - protected void addUIWidgets(ModularWindow.Builder builder) { - AtomicBoolean warn = new AtomicBoolean(false); - - builder - .widget( - new CoverDataControllerWidget<>(this::getCoverData, this::setCoverData, GTPP_Cover_Overflow.this) - .addFollower( - new CoverDataFollower_NumericWidget<>(), - coverData -> (double) convert(coverData), - (coverData, state) -> new ISerializableObject.LegacyCoverData(state.intValue()), - widget -> widget.setBounds(0, mMaxTransferRate) - .setScrollValues(1000, 144, 100000) - .setFocusOnGuiOpen(true) - .setPos(startX + spaceX * 0, startY + spaceY * 1 + 8) - .setSize(spaceX * 4 - 3, 12))) - .widget( - new TextWidget(GT_Utility.trans("322", "Overflow point: ")).setDefaultColor(COLOR_TEXT_GRAY.get()) - .setPos(startX, 4 + startY + spaceY * 0 + 8)); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/GTPP_Cover_ToggleVisual.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/GTPP_Cover_ToggleVisual.java deleted file mode 100644 index 42ab793c9c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/covers/GTPP_Cover_ToggleVisual.java +++ /dev/null @@ -1,184 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.covers; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -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.Fluid; - -import gregtech.api.interfaces.tileentity.ICoverable; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.objects.XSTR; -import gregtech.api.util.GT_CoverBehavior; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.ISerializableObject; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.minecraft.BlockPos; -import gtPlusPlus.core.util.minecraft.PlayerUtils; - -public class GTPP_Cover_ToggleVisual extends GT_CoverBehavior { - - private static final Map sConnectionStateForEntityMap = new ConcurrentHashMap<>(); - private static final Map sPrefixMap = new ConcurrentHashMap<>(); - private static final int VALUE_OFF = 0; - private static final int VALUE_ON = 1; - - public static String generateUniqueKey(ForgeDirection side, ICoverable aEntity) { - try { - BlockPos aPos = new BlockPos( - aEntity.getIGregTechTileEntity(aEntity.getXCoord(), aEntity.getYCoord(), aEntity.getZCoord())); - - String s = aEntity.getInventoryName() + "." + aPos.getUniqueIdentifier() + side.name(); - return s; - } catch (Throwable t) {} - XSTR x = new XSTR(); - return "ERROR." + x.getSeed() + x.hashCode() + x.nextDouble() + ".ID"; - } - - public boolean onCoverRightclick(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity, - EntityPlayer aPlayer, float aX, float aY, float aZ) { - PlayerUtils - .messagePlayer(aPlayer, GT_Utility.trans("756", "Connectable: ") + getConnectionState(aCoverVariable)); - return super.onCoverRightclick(side, aCoverID, aCoverVariable, aTileEntity, aPlayer, aX, aY, aZ); - } - - public int onCoverScrewdriverclick(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity, - EntityPlayer aPlayer, float aX, float aY, float aZ) { - return super.onCoverScrewdriverclick(side, aCoverID, aCoverVariable, aTileEntity, aPlayer, aX, aY, aZ); - } - - public boolean letsEnergyIn(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return getConnectionState(aCoverVariable); - } - - public boolean letsEnergyOut(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return getConnectionState(aCoverVariable); - } - - public boolean letsFluidIn(ForgeDirection side, int aCoverID, int aCoverVariable, Fluid aFluid, - ICoverable aTileEntity) { - return getConnectionState(aCoverVariable); - } - - public boolean letsFluidOut(ForgeDirection side, int aCoverID, int aCoverVariable, Fluid aFluid, - ICoverable aTileEntity) { - return getConnectionState(aCoverVariable); - } - - public boolean letsItemsIn(ForgeDirection side, int aCoverID, int aCoverVariable, int aSlot, - ICoverable aTileEntity) { - return getConnectionState(aCoverVariable); - } - - public boolean letsItemsOut(ForgeDirection side, int aCoverID, int aCoverVariable, int aSlot, - ICoverable aTileEntity) { - return getConnectionState(aCoverVariable); - } - - public int getTickRate(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return 1; - } - - @Override - public int doCoverThings(ForgeDirection side, byte aInputRedstone, int aCoverID, int aCoverVariable, - ICoverable aTileEntity, long aTimer) { - try { - String aKey = generateUniqueKey(side, aTileEntity); - Integer b = sConnectionStateForEntityMap.get(aKey); - // Logger.INFO("Val: "+aCoverVariable); - if (b != null && aCoverVariable != b) { - aCoverVariable = b; - } - if (b == null) { - b = aCoverVariable; - sConnectionStateForEntityMap.put(aKey, b); - trySetState(side, b == VALUE_ON ? VALUE_ON : VALUE_OFF, aTileEntity); - } - } catch (Throwable t) { - - } - return aCoverVariable; - } - - @Override - public boolean letsRedstoneGoIn(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return getConnectionState(aCoverVariable); - } - - @Override - public boolean letsRedstoneGoOut(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return getConnectionState(aCoverVariable); - } - - @Override - public boolean alwaysLookConnected(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return super.alwaysLookConnected(side, aCoverID, aCoverVariable, aTileEntity); - } - - @Override - public byte getRedstoneInput(ForgeDirection side, byte aInputRedstone, int aCoverID, int aCoverVariable, - ICoverable aTileEntity) { - if (!getConnectionState(aCoverVariable)) { - return 0; - } - return super.getRedstoneInput(side, aInputRedstone, aCoverID, aCoverVariable, aTileEntity); - } - - @Override - public void placeCover(ForgeDirection side, ItemStack aCover, ICoverable aTileEntity) { - String aKey = generateUniqueKey(side, aTileEntity); - boolean state = getCoverConnections(aCover); - sPrefixMap.put(aKey, aCover.getUnlocalizedName()); - Logger.INFO("Mapping key " + aKey + " to " + state); - sConnectionStateForEntityMap.put(aKey, state ? VALUE_ON : VALUE_OFF); - Logger.INFO("Key Value: " + (state ? VALUE_ON : VALUE_OFF)); - // Try set cover state directly - // trySetState(aSide, state ? VALUE_ON : VALUE_OFF, aTileEntity); - super.placeCover(side, aCover, aTileEntity); - } - - @Override - public boolean onCoverRemoval(ForgeDirection side, int aCoverID, int aCoverVariable, ICoverable aTileEntity, - boolean aForced) { - String aKey = generateUniqueKey(side, aTileEntity); - sConnectionStateForEntityMap.remove(aKey); - // Logger.INFO("Unmapping key "+aKey+"."); - return true; - } - - public static boolean getConnectionState(int aCoverVar) { - return aCoverVar == VALUE_ON; - } - - private static void trySetState(ForgeDirection side, int aState, ICoverable aTile) { - // Try set cover state directly - if (aTile instanceof IGregTechTileEntity gTileEntity) { - gTileEntity.setCoverDataAtSide(side, new ISerializableObject.LegacyCoverData(aState)); - } - } - - public static boolean getConnectionState(ForgeDirection side, ICoverable aTile) { - String aKey = generateUniqueKey(side, aTile); - return getConnectionState(aKey); - } - - public static boolean getConnectionState(String aKey) { - Integer b = sConnectionStateForEntityMap.get(aKey); - // Logger.INFO("Get State: "+b+" | "+aKey); - return b != null ? b == VALUE_ON : false; - } - - public static final boolean getCoverConnections(final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("CustomCoverMeta"); - if (aNBT != null) { - return aNBT.getBoolean("AllowConnections"); - } - } - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java deleted file mode 100644 index 924484e098..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java +++ /dev/null @@ -1,346 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.helpers; - -import static gregtech.api.GregTech_API.mEUtoRF; -import static gregtech.api.enums.Mods.Baubles; -import static gregtech.api.enums.Mods.COFHCore; - -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -import javax.annotation.Nonnull; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; - -import baubles.api.BaublesApi; -import cofh.api.energy.IEnergyContainerItem; -import cpw.mods.fml.common.eventhandler.EventPriority; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.ServerTickEvent; -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_ModHandler; -import gregtech.common.items.GT_MetaGenerated_Item_01; -import gregtech.common.items.GT_MetaGenerated_Item_02; -import gregtech.common.items.GT_MetaGenerated_Item_03; -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.api.objects.minecraft.BlockPos; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.NBTUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaWirelessCharger; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; - -public class ChargingHelper { - - private static final Map> mValidPlayers = new HashMap<>(); - protected static Map mChargerMap = new HashMap<>(); - private int mTickTimer = 0; - private static final int mTickMultiplier = 20; - - @SubscribeEvent(priority = EventPriority.HIGHEST) - public void onServerTick(ServerTickEvent event) { - if (++mTickTimer % mTickMultiplier == 0) { - if (Utils.isServer()) { - for (EntityPlayer mPlayerMan : PlayerUtils.getOnlinePlayers()) { - doPlayerChargeTick(mPlayerMan); - } - } - } - } - - @SuppressWarnings("unused") - private void doPlayerChargeTick(EntityPlayer mPlayerMan) { - try { - long mVoltage; - long mEuStored; - - if (!mChargerMap.isEmpty() && mValidPlayers.containsKey(mPlayerMan.getDisplayName())) { - InventoryPlayer mPlayerInventory = mPlayerMan.inventory; - ItemStack[] mArmourContents = mPlayerInventory.armorInventory.clone(); - ItemStack[] mInventoryContents = mPlayerInventory.mainInventory.clone(); - ItemStack[] baubleSlots = null; - if (Baubles.isModLoaded()) { - IInventory baubleInv = BaublesApi.getBaubles(mPlayerMan); - if (baubleInv != null) { - baubleSlots = new ItemStack[baubleInv.getSizeInventory()]; - for (int i = 0; i < baubleInv.getSizeInventory(); i++) { - baubleSlots[i] = baubleInv.getStackInSlot(i); - } - } - } - - for (GregtechMetaWirelessCharger mEntityTemp : mChargerMap.values()) { - if (mEntityTemp != null) { - if (mEntityTemp.getBaseMetaTileEntity() == null || !mEntityTemp.getBaseMetaTileEntity() - .isAllowedToWork()) continue; - if (mPlayerMan.getEntityWorld().provider.dimensionId == mEntityTemp.getDimensionID()) { - mVoltage = mEntityTemp.maxEUInput(); - mEuStored = mEntityTemp.getEUVar(); - if (mVoltage > 0 && mEuStored >= mVoltage) { - Map LR = mEntityTemp.getLongRangeMap(); - Map LO = mEntityTemp.getLocalMap(); - - long mStartingEu = mEntityTemp.getEUVar(); - if (canCharge(mEntityTemp, mPlayerMan, LR, LO)) { - chargeItems(mEntityTemp, mArmourContents); - chargeItems(mEntityTemp, mInventoryContents); - chargeItems(mEntityTemp, baubleSlots); - } - - if (mStartingEu - mEntityTemp.getEUVar() <= 0) { - long mMaxDistance; - if (mEntityTemp.getMode() == 0) { - mMaxDistance = (4 * GT_Values.V[mEntityTemp.getTier()]); - } else if (mEntityTemp.getMode() == 1) { - mMaxDistance = (mEntityTemp.getTier() * 10L); - } else { - mMaxDistance = (4 * GT_Values.V[mEntityTemp.getTier()] / 2); - } - double mDistance = calculateDistance(mEntityTemp, mPlayerMan); - long mVoltageCost = MathUtils.findPercentageOfInt(mMaxDistance, (float) mDistance); - - if (mVoltageCost > 0) { - if (mVoltageCost > mEntityTemp.maxEUInput()) { - mEntityTemp.setEUVar((mEntityTemp.getEUVar() - mEntityTemp.maxEUInput())); - } else { - mEntityTemp.setEUVar((mEntityTemp.getEUVar() - mVoltageCost)); - } - } - } - } - } - } - } - } - } catch (Throwable t) { - if (!mChargerMap.isEmpty()) { - for (BlockPos aPos : mChargerMap.keySet()) { - GregtechMetaWirelessCharger r = mChargerMap.get(aPos); - if (r == null || r.getBaseMetaTileEntity() - .isInvalidTileEntity()) { - mChargerMap.remove(aPos); - } - } - } - } - } - - public static GregtechMetaWirelessCharger getEntry(BlockPos mPos) { - return mChargerMap.get(mPos); - } - - public static boolean addEntry(BlockPos mPos, GregtechMetaWirelessCharger mEntity) { - if (mEntity == null) { - return false; - } - mChargerMap.put(mPos, mEntity); - return true; - } - - public static boolean removeEntry(BlockPos mPos, GregtechMetaWirelessCharger mEntity) { - if (mEntity == null) { - return false; - } - if (mChargerMap.containsKey(mPos)) { - return mChargerMap.remove(mPos, mEntity); - } else { - return false; - } - } - - public static boolean addValidPlayer(EntityPlayer mPlayer, GregtechMetaWirelessCharger mEntity) { - if (mEntity == null) { - return false; - } - if (mValidPlayers.containsKey(mPlayer.getDisplayName())) { - return false; - } else { - Pair mEntry = new Pair<>(mEntity, (byte) mEntity.getMode()); - return mValidPlayers.put(mPlayer.getDisplayName(), mEntry) == null; - } - } - - public static boolean removeValidPlayer(EntityPlayer mPlayer, GregtechMetaWirelessCharger mEntity) { - if (mEntity == null) { - return false; - } - if (mValidPlayers.containsKey(mPlayer.getDisplayName())) { - Pair mEntry = new Pair<>(mEntity, (byte) mEntity.getMode()); - return mValidPlayers.remove(mPlayer.getDisplayName(), mEntry); - } else { - return false; - } - } - - private boolean canCharge(GregtechMetaWirelessCharger charger, EntityPlayer chargeablePlayer, - Map longRangeChargers, Map shortRangeChargers) { - if (charger.getMode() == 0) { - return !longRangeChargers.isEmpty() && longRangeChargers.containsKey(chargeablePlayer.getDisplayName()); - } else if (charger.getMode() == 1) { - return !shortRangeChargers.isEmpty() && shortRangeChargers.containsKey(chargeablePlayer.getDisplayName()); - } else { - if (!longRangeChargers.isEmpty() && longRangeChargers.containsKey(chargeablePlayer.getDisplayName())) { - return true; - } - return !shortRangeChargers.isEmpty() && shortRangeChargers.containsKey(chargeablePlayer.getDisplayName()); - } - } - - private double calculateDistance(GregtechMetaWirelessCharger mEntityTemp, EntityPlayer mPlayerMan) { - if (mEntityTemp == null || mPlayerMan == null) { - return 0; - } - return mEntityTemp.getDistanceBetweenTwoPositions( - mEntityTemp.getTileEntityPosition(), - mEntityTemp.getPositionOfEntity(mPlayerMan)); - } - - private void chargeItems(@Nonnull GregtechMetaWirelessCharger mEntity, ItemStack[] mItems) { - if (mItems == null || mItems.length == 0) { - return; - } - chargeItemsEx(mEntity, mItems); - } - - private void chargeItemsEx(@Nonnull GregtechMetaWirelessCharger mEntity, ItemStack[] mItems) { - // Bad Inventory - if (mItems == null || mItems.length == 0) { - return; - } - // Set Variables to Charge - final long mVoltage = mEntity.maxEUInput(); - long mEuStored = mEntity.getEUVar(); - // For Inventory Contents - - for (ItemStack mTemp : mItems) { - // Is item Electrical - if (isItemValid(mTemp)) { - // Transfer Limit - double mItemEuTLimit = ((IElectricItem) mTemp.getItem()).getTransferLimit(mTemp); - // Check if Tile has more or equal EU to what can be transferred into the item. - if (mEuStored >= mItemEuTLimit) { - - double mItemMaxCharge = ((IElectricItem) mTemp.getItem()).getMaxCharge(mTemp); - double mitemCurrentCharge = ElectricItem.manager.getCharge(mTemp); - - if (mitemCurrentCharge >= mItemMaxCharge) { - continue; - } - - // Try to get charge direct from NBT for GT and IC2 stacks - if (mTemp.getItem() instanceof GT_MetaGenerated_Tool_01 - || mTemp.getItem() instanceof GT_MetaGenerated_Item_01 - || mTemp.getItem() instanceof GT_MetaGenerated_Item_02 - || mTemp.getItem() instanceof GT_MetaGenerated_Item_03 - || mTemp.getItem() - .getClass() - .getName() - .equalsIgnoreCase(GT_MetaGenerated_Tool_01.class.getName())) { - if (!NBTUtils.hasKey(mTemp, "GT.ItemCharge")) { - if (!mTemp.getDisplayName() - .toLowerCase() - .contains("battery")) { - if (!GT_ModHandler.isElectricItem(mTemp)) { - continue; - } - } else { - mitemCurrentCharge = 0; - } - } else { - mitemCurrentCharge = NBTUtils.getLong(mTemp, "GT.ItemCharge"); - } - } else if (mTemp.getItem() instanceof IElectricItem) { - mitemCurrentCharge = NBTUtils.getLong(mTemp, "charge"); - } - - double mVoltageIncrease; - if (mItemEuTLimit >= mVoltage) { - mVoltageIncrease = mVoltage; - } else if (mItemEuTLimit < mVoltage) { - mVoltageIncrease = mItemEuTLimit; - } else { - mVoltageIncrease = mItemEuTLimit; - } - - int mMulti; - if ((mitemCurrentCharge + (mVoltageIncrease * 20)) <= (mItemMaxCharge - (mVoltageIncrease * 20))) { - mMulti = 20; - } else if ((mitemCurrentCharge + (mVoltageIncrease * 10)) - <= (mItemMaxCharge - (mVoltageIncrease * 10))) { - mMulti = 10; - } else if ((mitemCurrentCharge + (mVoltageIncrease * 5)) - <= (mItemMaxCharge - (mVoltageIncrease * 5))) { - mMulti = 5; - } else { - mMulti = 1; - } - - int mMultiVoltage = (int) (mMulti * mVoltageIncrease); - - if ((mitemCurrentCharge + mMultiVoltage) <= mItemMaxCharge) { - if (GT_ModHandler.chargeElectricItem(mTemp, mMultiVoltage, Integer.MAX_VALUE, true, false) - > 0) { - for (int i = 0; i < mMulti; i++) { - ElectricItem.manager.charge(mTemp, mVoltageIncrease, Integer.MAX_VALUE, false, false); - } - } - if (ElectricItem.manager.getCharge(mTemp) > mitemCurrentCharge) { - mEntity.setEUVar(mEuStored - (mVoltage * mMulti)); - mEuStored = mEntity.getEUVar(); - } - } - - // Try top up Item Chrage - mitemCurrentCharge = ElectricItem.manager.getCharge(mTemp); - if (mitemCurrentCharge < mItemMaxCharge && mitemCurrentCharge >= (mItemMaxCharge - mVoltage)) { - int xDif = (int) (mItemMaxCharge - mitemCurrentCharge); - if (GT_ModHandler.chargeElectricItem(mTemp, xDif, Integer.MAX_VALUE, true, false) >= 0) { - if (ElectricItem.manager.getCharge(mTemp) >= mItemMaxCharge) { - mEntity.setEUVar(mEntity.getEUVar() - (xDif)); - mEuStored = mEntity.getEUVar(); - } - } - } - } - } else if (isItemValidRF(mTemp)) { - try { - IEnergyContainerItem rfItem = (IEnergyContainerItem) mTemp.getItem(); - if (rfItem != null) { - long chargedPower = Math.min( - rfItem.getMaxEnergyStored(mTemp) - rfItem.getEnergyStored(mTemp), - mEntity.getEUVar() * mEUtoRF / 100L); - chargedPower = rfItem.receiveEnergy( - mTemp, - chargedPower > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) chargedPower, - false); - chargedPower = chargedPower * 100L / mEUtoRF; - mEntity.setEUVar(Math.max(mEntity.getEUVar() - chargedPower, 0)); - mEuStored = mEntity.getEUVar(); - } - } catch (Exception ignored) { - - } - } - } - } - - public static boolean isItemValid(final ItemStack itemstack) { - if (itemstack == null) { - return false; - } - if (GT_ModHandler.isElectricItem(itemstack)) { - return true; - } - return itemstack.getItem() instanceof IElectricItem; - } - - private static boolean isItemValidRF(final ItemStack itemStack) { - return itemStack != null && COFHCore.isModLoaded() && itemStack.getItem() instanceof IEnergyContainerItem; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/FlotationRecipeHandler.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/FlotationRecipeHandler.java deleted file mode 100644 index 8cbb473a42..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/FlotationRecipeHandler.java +++ /dev/null @@ -1,62 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.helpers; - -import java.util.HashMap; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -import gregtech.api.enums.OrePrefixes; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.Material; - -public class FlotationRecipeHandler { - - private static final HashMap sMaterialMap = new HashMap<>(); - private static final HashMap sMilledMap = new HashMap<>(); - - public static boolean registerOreType(Material aMaterial) { - String aMaterialKey = aMaterial.getUnlocalizedName(); - if (sMaterialMap.containsKey(aMaterialKey)) { - Logger.WARNING("Tried to register a Flotation material already in use. Material: " + aMaterialKey); - return false; - } else { - sMaterialMap.put(aMaterialKey, aMaterial); - sMilledMap.put(aMaterialKey, aMaterial.getMilled(1)); - } - return true; - } - - public static Material getMaterialOfMilledProduct(ItemStack aMilled) { - for (String aKey : sMilledMap.keySet()) { - ItemStack aTempMilledStack = sMilledMap.get(aKey); - if (GT_Utility.areStacksEqual(aTempMilledStack, aMilled, true)) { - return sMaterialMap.get(aKey); - } - } - return null; - } - - public static ItemStack findMilledStack(GT_Recipe aRecipe) { - if (aRecipe == null || aRecipe.mInputs == null || aRecipe.mInputs.length <= 0) { - return null; - } - return findMilledStack(aRecipe.mInputs); - } - - public static ItemStack findMilledStack(ItemStack[] aInputs) { - if (aInputs == null || aInputs.length <= 0) { - return null; - } - for (ItemStack aStack : aInputs) { - for (int oredictID : OreDictionary.getOreIDs(aStack)) { - String oredict = OreDictionary.getOreName(oredictID); - if (oredict.startsWith(OrePrefixes.milled.toString())) { - return aStack; - } - } - } - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/GT_MethodHelper.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/GT_MethodHelper.java deleted file mode 100644 index ced9b46c3e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/GT_MethodHelper.java +++ /dev/null @@ -1,19 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.helpers; - -import net.minecraft.block.Block; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.Textures.BlockIcons; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.ITexturedTileEntity; - -public class GT_MethodHelper { - - public static ITexture[] getTexture(TileEntity tTileEntity, Block aBlock, ForgeDirection side) { - if (tTileEntity instanceof ITexturedTileEntity) { - return ((ITexturedTileEntity) tTileEntity).getTexture(aBlock, side); - } - return BlockIcons.ERROR_RENDERING; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java deleted file mode 100644 index 2b0e2a7a4d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java +++ /dev/null @@ -1,125 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.helpers; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.ItemList; -import gregtech.common.items.GT_VolumetricFlask; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class VolumetricFlaskHelper { - - public static ItemStack getVolumetricFlask(int aAmount) { - return ItemList.VOLUMETRIC_FLASK.get(aAmount); - } - - public static ItemStack getLargeVolumetricFlask(int aAmount) { - return GregtechItemList.VOLUMETRIC_FLASK_8k.get(aAmount); - } - - public static ItemStack getGiganticVolumetricFlask(int aAmount) { - return GregtechItemList.VOLUMETRIC_FLASK_32k.get(aAmount); - } - - public static boolean isVolumetricFlask(ItemStack aStack) { - return isNormalVolumetricFlask(aStack) || isLargeVolumetricFlask(aStack) || isGiganticVolumetricFlask(aStack); - } - - public static boolean isNormalVolumetricFlask(ItemStack aStack) { - return aStack.getItem() == ItemList.VOLUMETRIC_FLASK.getItem(); - } - - public static boolean isLargeVolumetricFlask(ItemStack aStack) { - return GregtechItemList.VOLUMETRIC_FLASK_8k.getItem() == aStack.getItem(); - } - - public static boolean isGiganticVolumetricFlask(ItemStack aStack) { - return GregtechItemList.VOLUMETRIC_FLASK_32k.getItem() == aStack.getItem(); - } - - public static int getMaxFlaskCapacity(ItemStack aStack) { - if (aStack != null) { - Item aItem = aStack.getItem(); - if (aItem instanceof GT_VolumetricFlask) { - return ((GT_VolumetricFlask) aItem).getMaxCapacity(); - } - } - return 0; - } - - public static boolean isFlaskEmpty(ItemStack aStack) { - return getFlaskFluid(aStack) == null; - } - - public static FluidStack getFlaskFluid(ItemStack aStack) { - if (aStack.hasTagCompound()) { - NBTTagCompound nbt = aStack.getTagCompound(); - if (nbt.hasKey("Fluid", 10)) return FluidStack.loadFluidStackFromNBT(nbt.getCompoundTag("Fluid")); - } - return null; - } - - public static void setFluid(ItemStack stack, FluidStack fluidStack) { - boolean removeFluid = (fluidStack == null) || (fluidStack.amount <= 0); - NBTTagCompound nbt = stack.getTagCompound(); - if (nbt == null) { - if (removeFluid) return; - stack.setTagCompound(nbt = new NBTTagCompound()); - } - if (removeFluid) { - nbt.removeTag("Fluid"); - if (nbt.hasNoTags()) { - stack.setTagCompound(null); - } - } else { - nbt.setTag("Fluid", fluidStack.writeToNBT(new NBTTagCompound())); - } - } - - public static int getFlaskCapacity(ItemStack aStack) { - int capacity = 1000; - if (aStack.hasTagCompound()) { - NBTTagCompound nbt = aStack.getTagCompound(); - if (nbt.hasKey("Capacity", 3)) capacity = nbt.getInteger("Capacity"); - } - return Math.min(getMaxFlaskCapacity(aStack), capacity); - } - - public static boolean setNewFlaskCapacity(ItemStack aStack, int aCapacity) { - if (aStack == null || aCapacity <= 0) { - return false; - } - aCapacity = Math.min(aCapacity, getMaxFlaskCapacity(aStack)); - NBTTagCompound nbt = aStack.getTagCompound(); - if (nbt == null) { - aStack.setTagCompound(nbt = new NBTTagCompound()); - } - nbt.setInteger("Capacity", aCapacity); - return true; - } - - public static int fillFlask(ItemStack stack, FluidStack resource, boolean doFill) { - if (stack.stackSize != 1) return 0; - if ((resource == null) || (resource.amount <= 0)) { - return 0; - } - FluidStack fluidStack = getFlaskFluid(stack); - if (fluidStack == null) { - fluidStack = new FluidStack(resource, 0); - } else if (!fluidStack.isFluidEqual(resource)) { - return 0; - } - int amount = Math.min(getMaxFlaskCapacity(stack) - fluidStack.amount, resource.amount); - if ((doFill) && (amount > 0)) { - fluidStack.amount += amount; - setFluid(stack, fluidStack); - } - return amount; - } - - public static Item generateNewFlask(String unlocalized, String english, int maxCapacity) { - return new GT_VolumetricFlask(unlocalized, english, maxCapacity); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java deleted file mode 100644 index 3717f17554..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java +++ /dev/null @@ -1,256 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.helpers.tesseract; - -import static gtPlusPlus.core.lib.CORE.sTesseractGeneratorOwnershipMap; -import static gtPlusPlus.core.lib.CORE.sTesseractTerminalOwnershipMap; - -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.UUID; - -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; - -public class TesseractHelper { - - /** - * Tesseract Generator Helpers - * - * @param player - * @return - */ - - // Checks if a Generator is owned by a player. - public static final boolean isGeneratorOwnedByPlayer(EntityPlayer player, - GT_MetaTileEntity_TesseractGenerator generator) { - if (player == null) { - Logger.WARNING("Failed. [isGeneratorOwnedByPlayer]"); - return false; - } - // Utils.LOG_WARNING("Success. [isGeneratorOwnedByPlayer] 1"); - UUID playerIdentifier = player.getUniqueID(); - if (!sTesseractGeneratorOwnershipMap.isEmpty() && playerIdentifier != null) { - // Utils.LOG_WARNING("Success. [isGeneratorOwnedByPlayer] 2"); - Map generators = getGeneratorOwnershipByPlayer(player); - Set> players = generators.entrySet(); - for (Entry current : players) { - // Utils.LOG_WARNING("Success. [isGeneratorOwnedByPlayer] 3"); - if (current.getValue() - .equals(generator)) { - // Utils.LOG_WARNING("Success. [isGeneratorOwnedByPlayer] 4"); - return true; - } - } - } - Logger.WARNING("Failed. [isGeneratorOwnedByPlayer]"); - return false; - } - - // Saves A Generator to the Players UUID map along with the Freq. - public static final boolean setGeneratorOwnershipByPlayer(EntityPlayer player, int freq, - GT_MetaTileEntity_TesseractGenerator generator) { - if (player == null) { - return false; - } - UUID playerIdentifier = player.getUniqueID(); - Logger.WARNING("Setting Generator on " + freq + " for " + player.getDisplayName() + "."); - if (playerIdentifier != null) { - Map playerOwned = sTesseractGeneratorOwnershipMap - .get(playerIdentifier); - if (playerOwned == null || playerOwned.isEmpty()) { - Map newOwnershipMap = new HashMap<>(); - newOwnershipMap.put(freq, generator); - sTesseractGeneratorOwnershipMap.put(playerIdentifier, newOwnershipMap); - Logger.WARNING("Success! [Empty Map]"); - return true; - } else if (sTesseractGeneratorOwnershipMap.containsKey(playerIdentifier)) { - Map ownershipMap = sTesseractGeneratorOwnershipMap - .get(playerIdentifier); - if (!ownershipMap.containsKey(freq)) { - ownershipMap.put(freq, generator); - } - ownershipMap.put(freq, generator); - sTesseractGeneratorOwnershipMap.put(playerIdentifier, ownershipMap); - Logger.WARNING("Success!"); - return true; - } - } - Logger.WARNING("Failed. [setGeneratorOwnershipByPlayer]"); - return false; - } - - // Gets Generator based on Frequency. - public static final GT_MetaTileEntity_TesseractGenerator getGeneratorByFrequency(EntityPlayer player, int freq) { - if (player == null) { - return null; - } - UUID playerIdentifier = player.getUniqueID(); - Logger.WARNING("Getting Generator on " + freq + " for " + player.getDisplayName() + "."); - if (!sTesseractGeneratorOwnershipMap.isEmpty() && playerIdentifier != null) { - // Utils.LOG_WARNING("Success. [getGeneratorByFrequency] 1"); - Map generators = getGeneratorOwnershipByPlayer(player); - Set> players = generators.entrySet(); - for (Entry current : players) { - // Utils.LOG_WARNING("Success. [getGeneratorByFrequency] 2"); - if (current.getKey() - .equals(freq)) { - // Utils.LOG_WARNING("Success. [getGeneratorByFrequency] 3"); - Logger.WARNING("Success!"); - return current.getValue(); - } - } - } - Logger.WARNING("Failed. [getGeneratorByFrequency]"); - return null; - } - - // Remove Tesseract Generator - public static final boolean removeGenerator(EntityPlayer player, int frequency) { - if (player == null) { - return false; - } - UUID playerIdentifier = player.getUniqueID(); - if (!sTesseractGeneratorOwnershipMap.isEmpty() && playerIdentifier != null) { - sTesseractGeneratorOwnershipMap.get(playerIdentifier) - .remove(frequency); - return true; - } - return false; - } - - /** - * - * Tesseract Terminal Helpers - * - * @param player - * @return - */ - - // Checks if a Terminal is owned by a player. - public static final boolean isTerminalOwnedByPlayer(EntityPlayer player, - GT_MetaTileEntity_TesseractTerminal generator) { - if (player == null) { - return false; - } - UUID playerIdentifier = player.getUniqueID(); - if (!sTesseractTerminalOwnershipMap.isEmpty() && playerIdentifier != null) { - Map generators = getTerminalOwnershipByPlayer(player); - Set> players = generators.entrySet(); - for (Entry current : players) { - if (current.getValue() - .equals(generator)) { - return true; - } - } - } - return false; - } - - // Saves A Terminal to the Players UUID map along with the Freq. - public static final boolean setTerminalOwnershipByPlayer(EntityPlayer player, int freq, - GT_MetaTileEntity_TesseractTerminal generator) { - if (player == null) { - return false; - } - UUID playerIdentifier = player.getUniqueID(); - if (playerIdentifier != null) { - Logger.WARNING("Setting Terminal on " + freq + " for " + player.getDisplayName() + "."); - Map playerOwned = sTesseractTerminalOwnershipMap - .get(playerIdentifier); - if (playerOwned == null || playerOwned.isEmpty()) { - Map newOwnershipMap = new HashMap<>(); - newOwnershipMap.put(freq, generator); - sTesseractTerminalOwnershipMap.put(playerIdentifier, newOwnershipMap); - Logger.WARNING("Success! [Empty Map]"); - return true; - } else if (sTesseractTerminalOwnershipMap.containsKey(playerIdentifier)) { - Map ownershipMap = sTesseractTerminalOwnershipMap - .get(playerIdentifier); - if (!ownershipMap.containsKey(freq)) { - ownershipMap.put(freq, generator); - } - sTesseractTerminalOwnershipMap.put(playerIdentifier, ownershipMap); - Logger.WARNING("Success!"); - return true; - } - } - Logger.WARNING("Failed. [setTerminalOwnershipByPlayer]"); - return false; - } - - // Gets Terminal based on Frequency. - public static final GT_MetaTileEntity_TesseractTerminal getTerminalByFrequency(EntityPlayer player, int freq) { - if (player == null) { - return null; - } - UUID playerIdentifier = player.getUniqueID(); - Logger.WARNING("Getting Terminal on " + freq + " for " + player.getDisplayName() + "."); - if (!sTesseractTerminalOwnershipMap.isEmpty() && playerIdentifier != null) { - Map generators = getTerminalOwnershipByPlayer(player); - Set> players = generators.entrySet(); - for (Entry current : players) { - if (current.getKey() - .equals(freq)) { - Logger.WARNING("Success!"); - return current.getValue(); - } - } - } - Logger.WARNING("Failed. [getTerminalByFrequency]"); - return null; - } - - // Remove Tesseract Terminal - public static final boolean removeTerminal(EntityPlayer player, int frequency) { - if (player == null) { - return false; - } - UUID playerIdentifier = player.getUniqueID(); - if (!sTesseractTerminalOwnershipMap.isEmpty() && playerIdentifier != null) { - sTesseractTerminalOwnershipMap.get(playerIdentifier) - .remove(frequency); - return true; - } - return false; - } - - /** - * - * Internal Methods - * - */ - private static Map getGeneratorOwnershipByPlayer( - EntityPlayer player) { - UUID playerIdentifier = player.getUniqueID(); - if (!sTesseractGeneratorOwnershipMap.isEmpty() && playerIdentifier != null) { - Set>> players = sTesseractGeneratorOwnershipMap - .entrySet(); - for (Entry> current : players) { - if (current.getKey() - .compareTo(playerIdentifier) == 0) { - return current.getValue(); - } - } - } - return null; - } - - private static Map getTerminalOwnershipByPlayer(EntityPlayer player) { - UUID playerIdentifier = player.getUniqueID(); - if (!sTesseractTerminalOwnershipMap.isEmpty() && playerIdentifier != null) { - Set>> players = sTesseractTerminalOwnershipMap - .entrySet(); - for (Entry> current : players) { - if (current.getKey() - .compareTo(playerIdentifier) == 0) { - return current.getValue(); - } - } - } - return null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaCustomCoverItem.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaCustomCoverItem.java deleted file mode 100644 index 8edb8c2cf9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaCustomCoverItem.java +++ /dev/null @@ -1,222 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.items; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.List; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -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 net.minecraft.world.World; - -import org.apache.commons.lang3.StringUtils; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.GregTech_API; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -import gregtech.api.objects.GT_MultiTexture; -import gregtech.api.objects.GT_RenderedTexture; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.sys.KeyboardUtils; -import gtPlusPlus.xmod.gregtech.common.covers.GTPP_Cover_ToggleVisual; - -public class MetaCustomCoverItem extends Item { - - protected final IIcon[] icons; - private final String mModID; - private final String mTextureSetName; - protected final IIconContainer[] mTextures; - private final short[][] mRGB; - - public MetaCustomCoverItem(String aModId, int aTextureCount, String aTextureSetName, IIconContainer[] aTextures, - short[][] aRGB) { - super(); - icons = new IIcon[aTextureCount]; - mModID = aModId; - mTextureSetName = Utils.sanitizeString(aTextureSetName); - mTextures = aTextures; - mRGB = aRGB; - this.setTextureName(GTPlusPlus.ID + ":" + "itemPlate"); - this.setHasSubtypes(true); - String unlocalizedName = "itemCustomMetaCover." + mModID + "." + mTextureSetName; - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(AddToCreativeTab.tabMisc); - this.setMaxStackSize(1); - GameRegistry.registerItem(this, unlocalizedName); - registerCover(); - Logger.INFO( - "[Covers] Generated Custom covers for " + mModID - + " using " - + aTextureCount - + " textures from " - + mTextureSetName - + "."); - } - - public boolean hide() { - return true; - } - - private void registerCover() { - // CommonProxy.registerItemRendererGlobal(this, new CustomItemBlockRenderer()); - for (int i = 0; i < icons.length; i++) { - ItemStack thisStack = ItemUtils.simpleMetaStack(this, i, 1); - if (i > 0 && hide()) { - ItemUtils.hideItemFromNEI(thisStack); - } - GregTech_API.registerCover( - thisStack, - new GT_MultiTexture(new ITexture[] { new GT_RenderedTexture(mTextures[i]) }), - new GTPP_Cover_ToggleVisual()); - } - } - - /* - * @Override public void registerIcons(IIconRegister reg) { for (int i = 0; i < icons.length; i++) { this.icons[i] = - * mTextures[i].getIcon(); } } - * @Override public IIcon getIconFromDamage(int meta) { return this.icons[meta]; } - */ - - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < icons.length; i++) { - list.add(new ItemStack(item, 1, i)); - } - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return this.getUnlocalizedName() + "_" + stack.getItemDamage(); - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - return StringUtils.capitalize(mTextureSetName) + " (" + tItem.getItemDamage() + ")"; // super.getItemStackDisplayName(tItem); - } - - private static boolean createNBT(ItemStack rStack) { - final NBTTagCompound tagMain = new NBTTagCompound(); - final NBTTagCompound tagNBT = new NBTTagCompound(); - tagNBT.setLong("Damage", 0); - tagNBT.setBoolean("AllowConnections", false); - tagMain.setTag("CustomCoverMeta", tagNBT); - rStack.setTagCompound(tagMain); - return true; - } - - public static final long getCoverDamage(final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("CustomCoverMeta"); - if (aNBT != null) { - return aNBT.getLong("Damage"); - } - } else { - createNBT(aStack); - } - return 0L; - } - - public static final boolean setCoverDamage(final ItemStack aStack, final long aDamage) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("CustomCoverMeta"); - if (aNBT != null) { - aNBT.setLong("Damage", aDamage); - return true; - } - } - return false; - } - - public static final boolean getCoverConnections(final ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("CustomCoverMeta"); - if (aNBT != null) { - return aNBT.getBoolean("AllowConnections"); - } - } else { - createNBT(aStack); - } - return false; - } - - public static final boolean setCoverConnections(final ItemStack aStack, final boolean aConnections) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) { - aNBT = aNBT.getCompoundTag("CustomCoverMeta"); - if (aNBT != null) { - aNBT.setBoolean("AllowConnections", aConnections); - return true; - } - } - return false; - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - if (stack.getTagCompound() == null) { - createNBT(stack); - } - double currentDamage = getCoverDamage(stack); - double meta = stack.getItemDamage() == 0 ? 50 : 2500; - double durabilitypercent = currentDamage / meta; - return durabilitypercent; - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - if (KeyboardUtils.isShiftKeyDown()) { - boolean con = getCoverConnections(stack); - if (con) { - setCoverConnections(stack, false); - } else { - setCoverConnections(stack, true); - } - } - return stack; - } - - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - boolean cons = getCoverConnections(stack); - list.add(EnumChatFormatting.GRAY + "Allows Connections: " + cons); - list.add(EnumChatFormatting.GRAY + "Shift Rmb to change state before applying"); - super.addInformation(stack, player, list, bool); - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return false; - } - - @Override - public Item setFull3D() { - // TODO Auto-generated method stub - return super.setFull3D(); - } - - @Override - public boolean isFull3D() { - // TODO Auto-generated method stub - return super.isFull3D(); - } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - if (this.mRGB == null) { - return super.getColorFromItemStack(stack, HEX_OxFFFFFF); - } - int aMeta = stack.getItemDamage(); - return Utils.rgbtoHexValue(mRGB[aMeta][0], mRGB[aMeta][1], mRGB[aMeta][2]); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java deleted file mode 100644 index 8173a868aa..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java +++ /dev/null @@ -1,292 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.items; - -import static gregtech.client.GT_TooltipHandler.Tier.EV; -import static gregtech.client.GT_TooltipHandler.registerTieredTooltip; -import static gtPlusPlus.core.util.Utils.getTcAspectStack; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TC_Aspects; -import gregtech.api.enums.Textures; -import gregtech.api.objects.GT_MultiTexture; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.data.StringUtils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaItem_X32; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import gtPlusPlus.xmod.gregtech.common.covers.GTPP_Cover_Overflow; - -public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 { - - public static final MetaGeneratedGregtechItems INSTANCE; - - static { - INSTANCE = new MetaGeneratedGregtechItems(); - } - - public MetaGeneratedGregtechItems() { - super("MU-metaitem.01", new OrePrefixes[] { null }); - } - - public void generateMetaItems() { - int tLastID = 0; - - // Extruder Shape - GregtechItemList.Shape_Extruder_WindmillShaft - .set(this.addItem(40, "Extruder Shape (Shaft)", "Extruder Shape for making Windmill Shafts")); - - // Batteries - GregtechItemList.Battery_RE_EV_Sodium.set( - this.addItem( - tLastID = 50, - "Quad Cell Sodium Battery", - "Reusable", - getTcAspectStack(TC_Aspects.ELECTRUM, 2L), - getTcAspectStack(TC_Aspects.METALLUM, 2L), - getTcAspectStack(TC_Aspects.POTENTIA, 2L))); - this.setElectricStats(32000 + tLastID, 3200000L, GT_Values.V[4], 4L, -3L, true); - registerTieredTooltip(GregtechItemList.Battery_RE_EV_Sodium.get(1), EV); - - GregtechItemList.Battery_RE_EV_Cadmium.set( - this.addItem( - tLastID = 52, - "Quad Cell Cadmium Battery", - "Reusable", - getTcAspectStack(TC_Aspects.ELECTRUM, 1L), - getTcAspectStack(TC_Aspects.METALLUM, 1L), - getTcAspectStack(TC_Aspects.POTENTIA, 1L))); - this.setElectricStats(32000 + tLastID, 4800000L, GT_Values.V[4], 4L, -3L, true); - registerTieredTooltip(GregtechItemList.Battery_RE_EV_Cadmium.get(1), EV); - - GregtechItemList.Battery_RE_EV_Lithium.set( - this.addItem( - tLastID = 54, - "Quad Cell Lithium Battery", - "Reusable", - getTcAspectStack(TC_Aspects.ELECTRUM, 3L), - getTcAspectStack(TC_Aspects.METALLUM, 3L), - getTcAspectStack(TC_Aspects.POTENTIA, 3L))); - this.setElectricStats(32000 + tLastID, 6400000L, GT_Values.V[4], 4L, -3L, true); - registerTieredTooltip(GregtechItemList.Battery_RE_EV_Lithium.get(1), EV); - - /** - * Power Gems - */ - GregtechItemList.Battery_Gem_1.set( - this.addItem( - tLastID = 66, - "Proton Cell", - "Reusable", - getTcAspectStack(TC_Aspects.ELECTRUM, 8L), - getTcAspectStack(TC_Aspects.METALLUM, 24L), - getTcAspectStack(TC_Aspects.POTENTIA, 16L))); - this.setElectricStats(32000 + tLastID, GT_Values.V[6] * 20 * 300 / 4, GT_Values.V[6], 6L, -3L, false); - GregtechItemList.Battery_Gem_2.set( - this.addItem( - tLastID = 68, - "Electron Cell", - "Reusable", - getTcAspectStack(TC_Aspects.ELECTRUM, 16L), - getTcAspectStack(TC_Aspects.METALLUM, 32L), - getTcAspectStack(TC_Aspects.POTENTIA, 32L))); - this.setElectricStats(32000 + tLastID, GT_Values.V[7] * 20 * 300 / 4, GT_Values.V[7], 7L, -3L, false); - GregtechItemList.Battery_Gem_3.set( - this.addItem( - tLastID = 70, - "Quark Entanglement", - "Reusable", - getTcAspectStack(TC_Aspects.ELECTRUM, 32L), - getTcAspectStack(TC_Aspects.METALLUM, 48L), - getTcAspectStack(TC_Aspects.POTENTIA, 64L))); - this.setElectricStats(32000 + tLastID, GT_Values.V[8] * 20 * 300 / 4, GT_Values.V[8], 8L, -3L, false); - - // RTG Pellet - GregtechItemList.Pellet_RTG_PU238.set( - this.addItem( - 41, - StringUtils.superscript("238") + "Pu Pellet", - "", - getTcAspectStack(TC_Aspects.RADIO, 4L), - getTcAspectStack(TC_Aspects.POTENTIA, 2L), - getTcAspectStack(TC_Aspects.METALLUM, 2L))); - GregtechItemList.Pellet_RTG_SR90.set( - this.addItem( - 42, - StringUtils.superscript("90") + "Sr Pellet", - "", - getTcAspectStack(TC_Aspects.RADIO, 4L), - getTcAspectStack(TC_Aspects.POTENTIA, 2L), - getTcAspectStack(TC_Aspects.METALLUM, 2L))); - GregtechItemList.Pellet_RTG_PO210.set( - this.addItem( - 43, - StringUtils.superscript("210") + "Po Pellet", - "", - getTcAspectStack(TC_Aspects.RADIO, 4L), - getTcAspectStack(TC_Aspects.POTENTIA, 2L), - getTcAspectStack(TC_Aspects.METALLUM, 2L))); - GregtechItemList.Pellet_RTG_AM241.set( - this.addItem( - 44, - StringUtils.superscript("241") + "Am Pellet", - "", - getTcAspectStack(TC_Aspects.RADIO, 4L), - getTcAspectStack(TC_Aspects.POTENTIA, 2L), - getTcAspectStack(TC_Aspects.METALLUM, 2L))); - - CORE.RA.addFuelForRTG(GregtechItemList.Pellet_RTG_PU238.get(1), MathUtils.roundToClosestInt(87.7f), 64); - CORE.RA.addFuelForRTG(GregtechItemList.Pellet_RTG_SR90.get(1), MathUtils.roundToClosestInt(28.8f), 32); - CORE.RA.addFuelForRTG(GregtechItemList.Pellet_RTG_PO210.get(1), 1, 512); - CORE.RA.addFuelForRTG(GregtechItemList.Pellet_RTG_AM241.get(1), 216, 16); - CORE.RA.addFuelForRTG(GT_ModHandler.getIC2Item("RTGPellets", 1), MathUtils.roundToClosestInt(2.6f), 8); - - // Computer Cube - GregtechItemList.Gregtech_Computer_Cube.set( - this.addItem( - tLastID = 55, - "Gregtech Computer Cube", - "Reusable", - getTcAspectStack(TC_Aspects.ELECTRUM, 8L), - getTcAspectStack(TC_Aspects.METALLUM, 8L), - getTcAspectStack(TC_Aspects.POTENTIA, 8L))); - this.setElectricStats(32000 + tLastID, GT_Values.V[6] * 10 * 60 * 20, GT_Values.V[5], 5L, -3L, false); - - GregtechItemList.Cover_Overflow_LV.set( - this.addItem( - 72, - "Overflow Valve (LV)", - "Maximum void amount: 64,000", - getTcAspectStack(TC_Aspects.ELECTRUM, 1L), - getTcAspectStack(TC_Aspects.MACHINA, 1L), - getTcAspectStack(TC_Aspects.ITER, 1L), - getTcAspectStack(TC_Aspects.AQUA, 1L))); - GregtechItemList.Cover_Overflow_MV.set( - this.addItem( - 73, - "Overflow Valve (MV)", - "Maximum void amount: 512,000", - getTcAspectStack(TC_Aspects.ELECTRUM, 1L), - getTcAspectStack(TC_Aspects.MACHINA, 1L), - getTcAspectStack(TC_Aspects.ITER, 1L), - getTcAspectStack(TC_Aspects.AQUA, 1L))); - GregtechItemList.Cover_Overflow_HV.set( - this.addItem( - 74, - "Overflow Valve (HV)", - "Maximum void amount: 4,096,000", - getTcAspectStack(TC_Aspects.ELECTRUM, 1L), - getTcAspectStack(TC_Aspects.MACHINA, 1L), - getTcAspectStack(TC_Aspects.ITER, 1L), - getTcAspectStack(TC_Aspects.AQUA, 1L))); - GregtechItemList.Cover_Overflow_EV.set( - this.addItem( - 75, - "Overflow Valve (EV)", - "Maximum void amount: 32,768,000", - getTcAspectStack(TC_Aspects.ELECTRUM, 1L), - getTcAspectStack(TC_Aspects.MACHINA, 1L), - getTcAspectStack(TC_Aspects.ITER, 1L), - getTcAspectStack(TC_Aspects.AQUA, 1L))); - GregtechItemList.Cover_Overflow_IV.set( - this.addItem( - 76, - "Overflow Valve (IV)", - "Maximum void amount: 262,144,000", - getTcAspectStack(TC_Aspects.ELECTRUM, 1L), - getTcAspectStack(TC_Aspects.MACHINA, 1L), - getTcAspectStack(TC_Aspects.ITER, 1L), - getTcAspectStack(TC_Aspects.AQUA, 1L))); - - GregTech_API.registerCover( - GregtechItemList.Cover_Overflow_LV.get(1L), - new GT_MultiTexture( - Textures.BlockIcons.MACHINE_CASINGS[4][0], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Overflow_Valve)), - new GTPP_Cover_Overflow(64)); - GregTech_API.registerCover( - GregtechItemList.Cover_Overflow_MV.get(1L), - new GT_MultiTexture( - Textures.BlockIcons.MACHINE_CASINGS[5][0], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Overflow_Valve)), - new GTPP_Cover_Overflow(512)); - GregTech_API.registerCover( - GregtechItemList.Cover_Overflow_HV.get(1L), - new GT_MultiTexture( - Textures.BlockIcons.MACHINE_CASINGS[5][0], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Overflow_Valve)), - new GTPP_Cover_Overflow(4096)); - GregTech_API.registerCover( - GregtechItemList.Cover_Overflow_EV.get(1L), - new GT_MultiTexture( - Textures.BlockIcons.MACHINE_CASINGS[8][0], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Overflow_Valve)), - new GTPP_Cover_Overflow(32768)); - GregTech_API.registerCover( - GregtechItemList.Cover_Overflow_IV.get(1L), - new GT_MultiTexture( - Textures.BlockIcons.MACHINE_CASINGS[8][0], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Overflow_Valve)), - new GTPP_Cover_Overflow(262144)); - - // Fusion Reactor MK4 Singularity - GregtechItemList.Compressed_Fusion_Reactor.set( - this.addItem( - 100, - "Hypervisor Matrix (Fusion)", - "A memory unit containing an RI (Restricted Intelligence)")); - - GregtechItemList.Laser_Lens_Special - .set(this.addItem(105, "Quantum Anomaly", "Probably should shoot it with lasers")); - - GregtechItemList.Battery_Casing_Gem_1.set(this.addItem(106, "Containment Unit I", "Used in crafting")); - GregtechItemList.Battery_Casing_Gem_2.set(this.addItem(107, "Containment Unit II", "Used in crafting")); - GregtechItemList.Battery_Casing_Gem_3.set(this.addItem(108, "Advanced Containment Unit", "Used in crafting")); - GregtechItemList.Battery_Casing_Gem_4.set(this.addItem(109, "Exotic Containment Unit", "Used in crafting")); - - GregtechItemList.Battery_Gem_4.set( - this.addItem( - tLastID = 110, - "Graviton Anomaly", - "Reusable", - getTcAspectStack(TC_Aspects.ELECTRUM, 64L), - getTcAspectStack(TC_Aspects.METALLUM, 64L), - getTcAspectStack(TC_Aspects.POTENTIA, 64L))); - this.setElectricStats(32000 + tLastID, (64000000000L * 16), GT_Values.V[9], 9L, -3L, false); - - /* - * High Tier 'Saws' for the tree Farm - */ - - GregtechItemList.Laser_Lens_WoodsGlass.set( - this.addItem(140, "Wood's Glass Lens", "Allows UV & IF to pass through, blocks visible light spectrums")); - - // 141 now unused, was the ulv transmission component - int aStartID = 142; - GregtechItemList[] aTransParts = new GregtechItemList[] { GregtechItemList.TransmissionComponent_LV, - GregtechItemList.TransmissionComponent_MV, GregtechItemList.TransmissionComponent_HV, - GregtechItemList.TransmissionComponent_EV, GregtechItemList.TransmissionComponent_IV, - GregtechItemList.TransmissionComponent_LuV, GregtechItemList.TransmissionComponent_ZPM, - GregtechItemList.TransmissionComponent_UV, GregtechItemList.TransmissionComponent_UHV, }; - for (int tier = 1; tier < aTransParts.length + 1; tier++) { - aTransParts[tier - 1].set( - this.addItem( - aStartID++, - "Transmission Component (" + GT_Values.VN[tier] + ")", - "", - getTcAspectStack(TC_Aspects.ELECTRUM, tier), - getTcAspectStack(TC_Aspects.MACHINA, tier), - getTcAspectStack(TC_Aspects.MAGNETO, tier))); - } - - // Distillus Chip - GregtechItemList.Distillus_Upgrade_Chip - .set(this.addItem(151, "Distillus Upgrade Chip", "Used to upgrade Distillus to Tier 2")); - GregtechItemList.Maceration_Upgrade_Chip - .set(this.addItem(152, "Maceration Upgrade Chip", "Used to upgrade Maceration Stack to Tier 2")); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java deleted file mode 100644 index 30250a46f3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java +++ /dev/null @@ -1,54 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.items; - -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_AngleGrinder; -import gtPlusPlus.xmod.gregtech.common.tools.TOOL_Gregtech_ElectricSnips; - -public class MetaGeneratedGregtechTools extends GT_MetaGenerated_Tool { - - public static final short ANGLE_GRINDER = 7834; - public static final short ELECTRIC_SNIPS = 7934; - public static GT_MetaGenerated_Tool INSTANCE; - - static { - INSTANCE = new MetaGeneratedGregtechTools(); - } - - public static GT_MetaGenerated_Tool getInstance() { - return INSTANCE; - } - - private MetaGeneratedGregtechTools() { - super("plusplus.metatool.01"); - - // Electric File - this.addTool( - ANGLE_GRINDER, - "Angle Grinder", - "Hand-held electric filing device", - new TOOL_Gregtech_AngleGrinder(), - GregtechToolDictNames.craftingToolAngleGrinder, - ToolDictNames.craftingToolFile, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)); - - // Electric Wire Cutter - GregTech_API.registerWireCutter( - this.addTool( - ELECTRIC_SNIPS, - "Automatic Snips", - "Hand-held electric wire cutter", - new TOOL_Gregtech_ElectricSnips(), - GregtechToolDictNames.craftingToolElectricSnips, - ToolDictNames.craftingToolWireCutter, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 4L))); - - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java deleted file mode 100644 index f85822750d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java +++ /dev/null @@ -1,91 +0,0 @@ -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 net.minecraftforge.common.util.ForgeDirection; - -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 gtPlusPlus.core.util.minecraft.NBTUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; - -public class Behaviour_Choocher extends Behaviour_None { - - private boolean isWrench = true; - private final Behaviour_Wrench wrench = new Behaviour_Wrench(150); - private final Behaviour_Prospecting_Ex prospecting = new Behaviour_Prospecting_Ex(10, 1250); - private final String mTooltip1 = GT_LanguageManager - .addStringLocalization("gt.behaviour.choochering1", "Current tool mode: "); - private final String mTooltip2 = GT_LanguageManager - .addStringLocalization("gt.behaviour.choochering2", "Change tool mode using Shift+Rightclick."); - private final String mTooltipH = GT_LanguageManager - .addStringLocalization("gt.behaviour.prospectingEx", "Usable for Prospecting large areas."); - private final String mTooltipW = GT_LanguageManager - .addStringLocalization("gt.behaviour.wrench", "Rotates Blocks on Rightclick."); - - public Behaviour_Choocher() {} - - @Override - public boolean onItemUseFirst(final GT_MetaBase_Item aItem, final ItemStack aStack, final EntityPlayer aPlayer, - final World aWorld, final int aX, final int aY, final int aZ, final ForgeDirection side, final float hitX, - final float hitY, final float hitZ) { - if (aWorld.isRemote) { - return false; - } - - boolean inWrenchMode; - if (NBTUtils.hasKey(aStack, "aMode")) { - inWrenchMode = NBTUtils.getBoolean(aStack, "aMode"); - } else { - aStack.getTagCompound() - .setBoolean("aMode", true); - inWrenchMode = true; - } - - if (aPlayer.isSneaking()) { - boolean aModeNew = !inWrenchMode; - aStack.getTagCompound() - .setBoolean("aMode", aModeNew); - PlayerUtils.messagePlayer(aPlayer, "Mode: " + (aModeNew ? "Wrench" : "Hammer")); - return true; - } else { - if (inWrenchMode) { - return this.wrench.onItemUseFirst(aItem, aStack, aPlayer, aWorld, aX, aY, aZ, side, hitZ, hitZ, hitZ); - } else { - return this.prospecting - .onItemUseFirst(aItem, aStack, aPlayer, aWorld, aX, aY, aZ, side, hitX, hitY, hitZ); - } - } - } - - @Override - public List getAdditionalToolTips(final GT_MetaBase_Item aItem, final List aList, - final ItemStack aStack) { - - boolean inWrenchMode; - if (NBTUtils.hasKey(aStack, "aMode")) { - inWrenchMode = NBTUtils.getBoolean(aStack, "aMode"); - } else { - NBTUtils.setBoolean(aStack, "aMode", true); - aStack.getTagCompound() - .setBoolean("aMode", true); - inWrenchMode = true; - } - - if (inWrenchMode) { - aList.add(this.mTooltip1 + "Wrench"); - aList.add(this.mTooltipW); - } else { - aList.add(this.mTooltip1 + "Prospecting"); - aList.add(this.mTooltipH); - } - aList.add(this.mTooltip2); - - return aList; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Electric_Lighter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Electric_Lighter.java deleted file mode 100644 index f3d7f87a86..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Electric_Lighter.java +++ /dev/null @@ -1,225 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.items.behaviours; - -import java.util.List; - -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.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import codechicken.lib.math.MathHelper; -import gregtech.api.enums.SoundResource; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import gregtech.common.items.behaviors.Behaviour_None; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.entity.projectile.EntityLightningAttack; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.NBTUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.common.helpers.ChargingHelper; -import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools; -import ic2.api.item.IElectricItemManager; - -public class Behaviour_Electric_Lighter extends Behaviour_None { - - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.lighter.tooltip", "Can light things on Fire"); - private final String mTooltipUses = GT_LanguageManager - .addStringLocalization("gt.behaviour.lighter.uses", "Remaining Uses:"); - private final String mTooltipUnstackable = GT_LanguageManager - .addStringLocalization("gt.behaviour.unstackable", "Not usable when stacked!"); - - public Behaviour_Electric_Lighter() {} - - @Override - public boolean onLeftClickEntity(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { - if (!aPlayer.worldObj.isRemote && aStack != null && aStack.stackSize == 1) { - boolean rOutput = false; - if (aEntity instanceof EntityCreeper) { - if (this.prepare(aStack) || aPlayer.capabilities.isCreativeMode) { - GT_Utility.sendSoundToPlayers( - aPlayer.worldObj, - SoundResource.FIRE_IGNITE, - 1.0F, - 1.0F, - MathHelper.floor_double(aEntity.posX), - MathHelper.floor_double(aEntity.posY), - MathHelper.floor_double(aEntity.posZ)); - ((EntityCreeper) aEntity).func_146079_cb(); - rOutput = true; - } - } - return rOutput; - } else { - return false; - } - } - - @Override - public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { - if (!aWorld.isRemote && aStack != null && aStack.stackSize == 1) { - if (aPlayer.isSneaking()) { - Logger.INFO("Changing Mode"); - boolean aCurrentMode = NBTUtils.getBoolean(aStack, "aFireballMode"); - Logger.INFO("Is currently in Fireball mode? " + aCurrentMode); - boolean aNewMode = !aCurrentMode; - Logger.INFO("Is now set to Fireball mode? " + aNewMode); - aStack.getTagCompound() - .setBoolean("aFireballMod", aNewMode); - // NBTUtils.setBoolean(aStack, "aFireballMode", aNewMode); - PlayerUtils.messagePlayer( - aPlayer, - "Current Mode: " + EnumChatFormatting.RED + (aNewMode ? "Projectile" : "Fire Starter")); - } else { - boolean aCurrentMode = NBTUtils.getBoolean(aStack, "aFireballMode"); - if (aCurrentMode) { - // Shoot Lightning Attack - aWorld - .playSoundAtEntity(aPlayer, "random.bow", 0.5F, 0.4F / (CORE.RANDOM.nextFloat() * 0.4F + 0.8F)); - if (!aWorld.isRemote) { - aWorld.spawnEntityInWorld(new EntityLightningAttack(aWorld, aPlayer, hitX, hitY, hitZ)); - } - } else { - // Lights Fires Mode - Logger.WARNING("Preparing Lighter a"); - boolean rOutput = false; - ForgeDirection tDirection = ForgeDirection.getOrientation(ordinalSide); - aX += tDirection.offsetX; - aY += tDirection.offsetY; - aZ += tDirection.offsetZ; - if (GT_Utility.isBlockAir(aWorld, aX, aY, aZ) - && aPlayer.canPlayerEdit(aX, aY, aZ, ordinalSide, aStack)) { - Logger.WARNING("Preparing Lighter b"); - if (this.prepare(aStack) || aPlayer.capabilities.isCreativeMode) { - Logger.WARNING("Preparing Lighter c"); - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.FIRE_IGNITE, 1.0F, 1.0F, aX, aY, aZ); - aWorld.setBlock(aX, aY, aZ, Blocks.fire); - rOutput = true; - // ItemNBT.setLighterFuel(aStack, tFuelAmount); - return rOutput; - } - } - } - } - } - Logger.WARNING("Preparing Lighter z"); - return false; - } - - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { - if (!aWorld.isRemote && aStack != null && aStack.stackSize == 1) { - if (aPlayer.isSneaking()) { - Logger.INFO("Changing Mode"); - boolean aCurrentMode = NBTUtils.getBoolean(aStack, "aFireballMode"); - Logger.INFO("Is currently in Fireball mode? " + aCurrentMode); - boolean aNewMode = !aCurrentMode; - Logger.INFO("Is now set to Fireball mode? " + aNewMode); - aStack.getTagCompound() - .setBoolean("aFireballMode", aNewMode); - // NBTUtils.setBoolean(aStack, "aFireballMode", aNewMode); - PlayerUtils.messagePlayer( - aPlayer, - "Current Mode: " + EnumChatFormatting.RED + (aNewMode ? "Projectile" : "Fire Starter")); - } else { - boolean aCurrentMode = NBTUtils.getBoolean(aStack, "aFireballMode"); - if (aCurrentMode) { - // Shoot Lightning Attack - aWorld - .playSoundAtEntity(aPlayer, "random.bow", 0.5F, 0.4F / (CORE.RANDOM.nextFloat() * 0.4F + 0.8F)); - if (!aWorld.isRemote) { - aWorld.spawnEntityInWorld(new EntityLightningAttack(aWorld, aPlayer, hitX, hitY, hitZ)); - } - } else { - // Lights Fires Mode - Logger.WARNING("Preparing Lighter a"); - boolean rOutput = false; - ForgeDirection tDirection = ForgeDirection.getOrientation(ordinalSide); - aX += tDirection.offsetX; - aY += tDirection.offsetY; - aZ += tDirection.offsetZ; - if (GT_Utility.isBlockAir(aWorld, aX, aY, aZ) - && aPlayer.canPlayerEdit(aX, aY, aZ, ordinalSide, aStack)) { - Logger.WARNING("Preparing Lighter b"); - if (this.prepare(aStack) || aPlayer.capabilities.isCreativeMode) { - Logger.WARNING("Preparing Lighter c"); - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.FIRE_IGNITE, 1.0F, 1.0F, aX, aY, aZ); - aWorld.setBlock(aX, aY, aZ, Blocks.fire); - rOutput = true; - // ItemNBT.setLighterFuel(aStack, tFuelAmount); - return rOutput; - } - } - } - } - } - Logger.WARNING("Preparing Lighter z"); - return false; - } - - private boolean prepare(ItemStack aStack) { - if (aStack != null) { - Logger.WARNING("Preparing Lighter 1"); - if (aStack.getItem() instanceof MetaGeneratedGregtechTools) { - Logger.WARNING("Preparing Lighter 2"); - if (ChargingHelper.isItemValid(aStack)) { - Logger.WARNING("Preparing Lighter 3"); - if (aStack.getItem() instanceof IElectricItemManager aItemElec) { - Logger.WARNING("Preparing Lighter 4"); - double aCharge = aItemElec.getCharge(aStack); - long aEuCost = 4096 * 2; - if (aCharge >= aEuCost) { - Logger.WARNING("Preparing Lighter 5"); - aItemElec.discharge(aStack, aEuCost, 3, true, true, false); - return true; - } - } - } - } - } - Logger.WARNING("Preparing Lighter 0"); - return false; - } - - private void useUp(ItemStack aStack) {} - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - int aUses = 0; - if (aStack != null) { - if (aStack.getItem() instanceof MetaGeneratedGregtechTools) { - if (ChargingHelper.isItemValid(aStack)) { - if (aStack.getItem() instanceof IElectricItemManager aItemElec) { - double aCharge = aItemElec.getCharge(aStack); - long aEuCost = 4096 * 2; - aUses = (int) (aCharge / aEuCost); - } - } - boolean aCurrentMode; - if (!NBTUtils.hasTagCompound(aStack)) { - NBTUtils.createEmptyTagCompound(aStack); - } - if (NBTUtils.hasKey(aStack, "aFireballMode")) { - aCurrentMode = NBTUtils.getBoolean(aStack, "aFireballMode"); - } else { - aStack.getTagCompound() - .setBoolean("aFireballMode", false); - aCurrentMode = false; - } - aList.add("Current Mode: " + EnumChatFormatting.RED + (aCurrentMode ? "Projectile" : "Fire Starter")); - } - } - - aList.add(this.mTooltipUses + " " + aUses); - aList.add(this.mTooltipUnstackable); - return aList; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Prospecting_Ex.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Prospecting_Ex.java deleted file mode 100644 index 5749204296..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Prospecting_Ex.java +++ /dev/null @@ -1,140 +0,0 @@ -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 net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.IFluidBlock; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.Materials; -import gregtech.api.enums.SoundResource; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.objects.ItemData; -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; - -public class Behaviour_Prospecting_Ex extends Behaviour_Prospecting { - - private final int mVanillaCosts; - private final int mEUCosts; - - public Behaviour_Prospecting_Ex(final int aVanillaCosts, final int aEUCosts) { - super(aVanillaCosts, aEUCosts); - this.mVanillaCosts = aVanillaCosts; - this.mEUCosts = aEUCosts; - } - - @Override - public boolean onItemUseFirst(final GT_MetaBase_Item aItem, final ItemStack aStack, final EntityPlayer aPlayer, - final World aWorld, final int aX, final int aY, final int aZ, final ForgeDirection side, final float hitX, - final float hitY, final float hitZ) { - if (aWorld.isRemote) { - return false; - } - final Block aBlock = aWorld.getBlock(aX, aY, aZ); - if (aBlock == null) { - return false; - } - final byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ); - - ItemData tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(aBlock, 1, aMeta)); - if ((tAssotiation != null) && (tAssotiation.mPrefix.toString() - .startsWith("ore"))) { - GT_Utility - .sendChatToPlayer(aPlayer, "This is " + tAssotiation.mMaterial.mMaterial.mDefaultLocalName + " Ore."); - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_ANVIL_USE, 1.0F, -1.0F, aX, aY, aZ); - return true; - } - if ((aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.stone)) - || (aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, GregTech_API.sBlockGranites)) - || (aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.netherrack)) - || (aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.end_stone)) - || (aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.dirt)) - || (aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.grass))) { - if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_ANVIL_USE, 1.0F, -1.0F, aX, aY, aZ); - int tX = aX; - int tY = aY; - int tZ = aZ; - int tMetaID = 0; - final int tQuality = ((aItem instanceof GT_MetaGenerated_Tool) - ? ((GT_MetaGenerated_Tool) aItem).getHarvestLevel(aStack, "") - : 0) * 3; - - int i = 0; - for (final int j = 6 + tQuality; i < j; i++) { - tX -= side.offsetX; - tY -= side.offsetY; - tZ -= side.offsetZ; - - final Block tBlock = aWorld.getBlock(tX, tY, tZ); - if ((tBlock == Blocks.lava) || (tBlock == Blocks.flowing_lava)) { - GT_Utility.sendChatToPlayer(aPlayer, "There is Lava behind this Block."); - break; - } - if ((tBlock == Blocks.water) || (tBlock == Blocks.flowing_water) - || ((tBlock instanceof IFluidBlock))) { - GT_Utility.sendChatToPlayer(aPlayer, "There is a Liquid behind this Block."); - break; - } - if ((tBlock == Blocks.monster_egg) || (!GT_Utility.hasBlockHitBox(aWorld, tX, tY, tZ))) { - GT_Utility.sendChatToPlayer(aPlayer, "There is an Air Pocket behind this Block."); - break; - } - if (tBlock != aBlock) { - if (i >= 4) { - break; - } - GT_Utility.sendChatToPlayer(aPlayer, "Material is changing behind this Block."); - break; - } - } - final Random tRandom = new Random(aX ^ aY ^ aZ ^ side.ordinal()); - i = 0; - for (final int j = 9 + (2 * tQuality); i < j; i++) { - tX = (aX - 4 - tQuality) + tRandom.nextInt(j); - tY = (aY - 4 - tQuality) + tRandom.nextInt(j); - tZ = (aZ - 4 - tQuality) + tRandom.nextInt(j); - final Block tBlock = aWorld.getBlock(tX, tY, tZ); - if ((tBlock instanceof GT_Block_Ores)) { - final TileEntity tTileEntity = aWorld.getTileEntity(tX, tY, tZ); - if ((tTileEntity instanceof GT_TileEntity_Ores)) { - final Materials tMaterial = GregTech_API.sGeneratedMaterials[(((GT_TileEntity_Ores) tTileEntity).mMetaData - % 1000)]; - if ((tMaterial != null) && (tMaterial != Materials._NULL)) { - GT_Utility.sendChatToPlayer( - aPlayer, - "Found traces of " + tMaterial.mDefaultLocalName + " Ore."); - return true; - } - } - } else { - tMetaID = aWorld.getBlockMetadata(tX, tY, tZ); - tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID)); - if ((tAssotiation != null) && (tAssotiation.mPrefix.toString() - .startsWith("ore"))) { - GT_Utility.sendChatToPlayer( - aPlayer, - "Found traces of " + tAssotiation.mMaterial.mMaterial.mDefaultLocalName + " Ore."); - return true; - } - } - } - GT_Utility.sendChatToPlayer(aPlayer, "No Ores found."); - } - return true; - } - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/covers/MetaItemCoverCasings.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/covers/MetaItemCoverCasings.java deleted file mode 100644 index 987924952a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/items/covers/MetaItemCoverCasings.java +++ /dev/null @@ -1,50 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.items.covers; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Textures; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.xmod.gregtech.common.items.MetaCustomCoverItem; - -public class MetaItemCoverCasings extends MetaCustomCoverItem { - - public MetaItemCoverCasings() { - super( - GTPlusPlus.ID, - Textures.BlockIcons.MACHINECASINGS_SIDE.length, - "Gt Machine Casings", - Textures.BlockIcons.MACHINECASINGS_SIDE, - null); - } - - @Override - public void registerIcons(IIconRegister reg) { - for (int i = 0; i < icons.length; i++) { - this.icons[i] = reg.registerIcon(GTPlusPlus.ID + ":" + "covers/" + i); - } - } - - @Override - public boolean hide() { - return false; - } - - @Override - public IIcon getIconFromDamage(int meta) { - return this.icons[MathUtils.balance(meta, 0, 15)]; - } - - @Override - public String getItemStackDisplayName(final ItemStack tItem) { - return EnumChatFormatting.LIGHT_PURPLE + StatCollector.translateToLocalFormatted( - "item.itemCustomMetaCover.miscutils.GtMachineCasings", - GT_Values.VOLTAGE_NAMES[MathUtils.balance(tItem.getItemDamage(), 0, GT_Values.VOLTAGE_NAMES.length - 1)]); // super.getItemStackDisplayName(tItem); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java deleted file mode 100644 index a281a205d2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java +++ /dev/null @@ -1,500 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.render; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.Date; -import java.util.List; -import java.util.concurrent.ForkJoinPool; - -import net.minecraft.client.entity.AbstractClientPlayer; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.entity.RenderManager; -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.apache.commons.io.IOUtils; -import org.lwjgl.opengl.GL11; - -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.CORE; -import gtPlusPlus.core.lib.CORE.ConfigSwitches; -import gtPlusPlus.core.proxy.ClientProxy; -import gtPlusPlus.core.util.data.AES; -import gtPlusPlus.core.util.data.FileUtils; -import gtPlusPlus.core.util.math.MathUtils; - -public class GTPP_CapeRenderer extends RenderPlayer { - - private static final ResourceLocation[] mCapes = { new ResourceLocation("miscutils:textures/OrangeHD.png"), - new ResourceLocation("miscutils:textures/FancyCapeHD.png"), - new ResourceLocation("miscutils:textures/TesterCapeHD.png"), - new ResourceLocation("miscutils:textures/PatreonCapeHD.png"), - new ResourceLocation("miscutils:textures/DevCapeHD.png"), }; - - private final boolean mInit; - - public GTPP_CapeRenderer() { - mInit = init(); - } - - private boolean init() { - if (mInit) { - return false; - } - return CapeUtils.init(); - } - - private static boolean hasResourceChecked = false; - private static boolean hasSetRenderer = false; - private boolean hasCape = false; - private ResourceLocation tResource = null; - - public synchronized void receiveRenderSpecialsEvent(RenderPlayerEvent.Specials.Pre aEvent) { - - // Check we have set Render Manager - if (this.renderManager == null) { - hasSetRenderer = false; - } - - // Set Render Manager - if (!hasSetRenderer) { - if (RenderManager.instance != null) { - setRenderManager(RenderManager.instance); - hasSetRenderer = true; - } - } - - // Actually Render - if (hasSetRenderer) { - - // We have capes turned off, so let's not render. - if (!ConfigSwitches.enableCustomCapes) { - return; - } - - if (!CapeUtils.mapsPopulated) { - if (!CapeUtils.cacheReady) { - return; - } - CapeUtils.writeCacheToMaps(); - CapeUtils.mapsPopulated = true; - } - - // We have already checked if this player has a cape, but since they do not, we best not render. - if (hasResourceChecked) { - if (!hasCape && !CORE.DEVENV) { - return; - } - } - - // Allocate client player object - AbstractClientPlayer aPlayer = (AbstractClientPlayer) aEvent.entityPlayer; - - // Make sure we don't keep checking on clients who dont have capes. - if (!hasResourceChecked) { - - // Get players UUID - String aPlayerUUID = aPlayer != null ? aPlayer.getGameProfile() - .getId() - .toString() : "BAD"; - - // If for whatever reason this fails, we just exit early. - if (aPlayerUUID.equals("BAD")) { - return; - } - - // Automatically allocate a Dev cape while in Dev mode. - if (tResource == null && CORE.DEVENV) { - tResource = mCapes[4]; - hasCape = true; - } - - String aPlayerName = ClientProxy.playerName; - - // Check cape lists for the cape this player owns. - if (!hasCape) { - for (Pair aData : CapeUtils.mOrangeCapes) { - if (aData.getKey() - .equals(aPlayerUUID) || aPlayerName.equals(aData.getValue())) { - tResource = mCapes[0]; - hasCape = true; - break; - } - } - } - if (!hasCape) { - for (Pair aData : CapeUtils.mMiscCapes) { - if (aData.getKey() - .equals(aPlayerUUID) || aPlayerName.equals(aData.getValue())) { - tResource = mCapes[1]; - hasCape = true; - break; - } - } - } - if (!hasCape) { - for (Pair aData : CapeUtils.mBetaTestCapes) { - if (aData.getKey() - .equals(aPlayerUUID) || aPlayerName.equals(aData.getValue())) { - tResource = mCapes[2]; - hasCape = true; - break; - } - } - } - if (!hasCape) { - for (Pair aData : CapeUtils.mPatreonCapes) { - if (aData.getKey() - .equals(aPlayerUUID) || aPlayerName.equals(aData.getValue())) { - tResource = mCapes[3]; - hasCape = true; - break; - } - } - } - if (!hasCape) { - for (Pair aData : CapeUtils.mDevCapes) { - if (aData.getKey() - .equals(aPlayerUUID) || aPlayerName.equals(aData.getValue())) { - tResource = mCapes[4]; - hasCape = true; - break; - } - } - } - hasResourceChecked = true; - } - - if (hasResourceChecked) { - // We have met all the conditions, let's render that cape. - renderCapeOnPlayer(aEvent, aPlayer); - } - } - } - - private boolean renderCapeOnPlayer(RenderPlayerEvent.Specials.Pre aEvent, AbstractClientPlayer aPlayer) { - float aPartialTicks = aEvent.partialRenderTick; - try { - if (tResource == null && CORE.DEVENV) { - tResource = mCapes[3]; - } - - // If player is invisible, don't render. - if (GT_Utility.getFullInvisibility(aPlayer) || aPlayer.isInvisible() - || GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id))) { - aEvent.setCanceled(true); - return false; - } - - if ((tResource != null) && (!aPlayer.getHideCape())) { - bindTexture(tResource); - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, 0.0F, 0.125F); - double d0 = aPlayer.field_71091_bM + (aPlayer.field_71094_bP - aPlayer.field_71091_bM) * aPartialTicks - - (aPlayer.prevPosX + (aPlayer.posX - aPlayer.prevPosX) * aPartialTicks); - double d1 = aPlayer.field_71096_bN + (aPlayer.field_71095_bQ - aPlayer.field_71096_bN) * aPartialTicks - - (aPlayer.prevPosY + (aPlayer.posY - aPlayer.prevPosY) * aPartialTicks); - double d2 = aPlayer.field_71097_bO + (aPlayer.field_71085_bR - aPlayer.field_71097_bO) * aPartialTicks - - (aPlayer.prevPosZ + (aPlayer.posZ - aPlayer.prevPosZ) * aPartialTicks); - float f6 = aPlayer.prevRenderYawOffset - + (aPlayer.renderYawOffset - aPlayer.prevRenderYawOffset) * aPartialTicks; - double d3 = MathHelper.sin(f6 * CORE.PI / 180.0F); - double d4 = -MathHelper.cos(f6 * CORE.PI / 180.0F); - float f7 = (float) d1 * 10.0F; - float f8 = (float) (d0 * d3 + d2 * d4) * 100.0F; - float f9 = (float) (d0 * d4 - d2 * d3) * 100.0F; - if (f7 < -6.0F) { - f7 = -6.0F; - } - if (f7 > 32.0F) { - f7 = 32.0F; - } - if (f8 < 0.0F) { - f8 = 0.0F; - } - float f10 = aPlayer.prevCameraYaw + (aPlayer.cameraYaw - aPlayer.prevCameraYaw) * aPartialTicks; - f7 += MathHelper.sin( - (aPlayer.prevDistanceWalkedModified - + (aPlayer.distanceWalkedModified - aPlayer.prevDistanceWalkedModified) * aPartialTicks) * 6.0F) - * 32.0F - * f10; - if (aPlayer.isSneaking()) { - f7 += 25.0F; - } - GL11.glRotatef(6.0F + f8 / 2.0F + f7, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(f9 / 2.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-f9 / 2.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); - ((ModelBiped) this.mainModel).renderCloak(0.0625F); - GL11.glPopMatrix(); - return true; - } - } catch (Throwable e) { - - } - return false; - } - - private static class CapeUtils { - - private static char SPLIT_CHARACTER = '§'; - private static AES sAES; - private static volatile boolean cacheReady = false; - private static boolean mapsPopulated = false; - - // UUID - Username - private static final AutoMap> mOrangeCapes = new AutoMap<>(); - private static final AutoMap> mMiscCapes = new AutoMap<>(); - private static final AutoMap> mBetaTestCapes = new AutoMap<>(); - private static final AutoMap> mPatreonCapes = new AutoMap<>(); - private static final AutoMap> mDevCapes = new AutoMap<>(); - - private static boolean init() { - CapeUtils.handleOldCapeCache(); - if (CORE.DEVENV) { - return true; - } - ForkJoinPool.commonPool() - .execute(() -> { - try { - if (shouldDownloadCapeList()) { - downloadCapeList(); - } - } catch (Exception ignored) {} - cacheReady = true; - }); - return true; - } - - private static boolean shouldDownloadCapeList() { - if (!doesCapeCacheExistLocally()) { - return true; - } - if (isCapeCacheWeekOld()) { - return true; - } - return false; - } - - private static boolean isCapeCacheWeekOld() { - if (!doesCapeCacheExistLocally()) { - return true; - } else { - File dat = CapeUtils.getCapeCache(); - Date dateLastMod = new Date(dat.lastModified()); - Date dateNow = new Date(System.currentTimeMillis() - (7l * 24 * 60 * 60 * 1000)); - if (dateLastMod.before(dateNow)) { - return true; - } - } - return false; - } - - private static void downloadCapeList() { - try { - File dat = getCapeCache(); - File temp = allocateTempFile(); - InputStream inputStream = new URL("https://alkcorp.overminddl1.com/CapeCache.dat").openStream(); - FileOutputStream fileOS = new FileOutputStream(temp); - IOUtils.copy(inputStream, fileOS); - if (isDownloadedCapeListBigger(temp)) { - fileOS = new FileOutputStream(dat); - IOUtils.copy(inputStream, fileOS); - } - } catch (Throwable t) { - Logger.INFO("Unable to download GT++ cape list."); - } - } - - private static boolean isDownloadedCapeListBigger(File aFile) { - double aExistingFileSize = (doesCapeCacheExistLocally() ? getCapeCache().length() : 0); - double aNewFileSize = aFile.length(); - if (aNewFileSize > aExistingFileSize) { - return true; - } - return false; - } - - private static void handleOldCapeCache() { - File aCacheFile = FileUtils.getFile("GTPP", "dat"); - if (FileUtils.doesFileExist(aCacheFile)) { - aCacheFile.delete(); - } - } - - private static boolean doesCapeCacheExistLocally() { - File aCacheFile = FileUtils.getFile("CapeCache", "dat"); - if (FileUtils.doesFileExist(aCacheFile)) { - return true; - } - return false; - } - - private static File getCapeCache() { - File aCacheFile = FileUtils.getFile("CapeCache", "dat"); - if (FileUtils.doesFileExist(aCacheFile)) { - FileUtils.createFile(aCacheFile); - } - return aCacheFile; - } - - public static final List getDataFromCache() { - File aCacheFile = getCapeCache(); - List aCache = FileUtils.readLines(aCacheFile); - if (aCache != null && !aCache.isEmpty()) { - return aCache; - } - return new AutoMap<>(); - } - - private static File allocateTempFile() { - File tempFile = null; - try { - tempFile = File.createTempFile("gtpp-", null); - } catch (IOException e) { - e.printStackTrace(); - } - if (tempFile == null) { - tempFile = FileUtils - .createFile("", "gtpp-" + MathUtils.randInt(Short.MAX_VALUE, (Integer.MAX_VALUE / 2)), "tmp"); - } - tempFile.deleteOnExit(); - return tempFile; - } - - public static final void writeCacheToMaps() { - List aCacheData = getDataFromCache(); - if (aCacheData != null && !aCacheData.isEmpty()) { - if (sAES == null) { - sAES = new AES(); - } - AutoMap aDecodedData = new AutoMap<>(); - for (String aToDecode : aCacheData) { - aDecodedData.put(sAES.decode(aToDecode)); - } - if (!aDecodedData.isEmpty()) { - AutoMap> aCapeType1 = new AutoMap<>(); - AutoMap> aCapeType2 = new AutoMap<>(); - AutoMap> aCapeType3 = new AutoMap<>(); - AutoMap> aCapeType4 = new AutoMap<>(); - AutoMap> aCapeType5 = new AutoMap<>(); - boolean didProcessStringData = false; - Logger.INFO("Decoded String Count: " + aDecodedData.size()); - for (String aToSplit : aDecodedData) { - String[] aSplitData = aToSplit.split("" + SPLIT_CHARACTER); - if (aSplitData != null && aSplitData.length >= 2) { - if (aSplitData[0] != null) { - Integer aCapeTypeID2 = Integer.parseInt(aSplitData[0]); - if (aCapeTypeID2 != null) { - int aCapeTypeID = aCapeTypeID2; - Pair aFinalString = new Pair<>( - "UUID: " + aSplitData[1], - "Username: " - + (aSplitData[2] != null && aSplitData[0].length() > 0 ? aSplitData[2] - : "Not Specified")); - Logger.INFO("Cape Type: " + aCapeTypeID); - switch (aCapeTypeID) { - case 0 -> { - aCapeType1.add(aFinalString); - Logger.INFO( - "Added user to map " + aCapeTypeID - + ", map now holds " - + aCapeType1.size() - + " users."); - } - case 1 -> { - aCapeType2.add(aFinalString); - Logger.INFO( - "Added user to map " + aCapeTypeID - + ", map now holds " - + aCapeType2.size() - + " users."); - } - case 2 -> { - aCapeType3.add(aFinalString); - Logger.INFO( - "Added user to map " + aCapeTypeID - + ", map now holds " - + aCapeType3.size() - + " users."); - } - case 3 -> { - aCapeType4.add(aFinalString); - Logger.INFO( - "Added user to map " + aCapeTypeID - + ", map now holds " - + aCapeType4.size() - + " users."); - } - case 4 -> { - aCapeType5.add(aFinalString); - Logger.INFO( - "Added user to map " + aCapeTypeID - + ", map now holds " - + aCapeType5.size() - + " users."); - } - default -> {} - } - } - } - } - } - if (!aCapeType1.isEmpty() || !aCapeType2.isEmpty() - || !aCapeType3.isEmpty() - || !aCapeType4.isEmpty() - || !aCapeType5.isEmpty()) { - didProcessStringData = true; - } else { - // did not process any data - } - if (didProcessStringData) { - if (!aCapeType1.isEmpty()) { - for (Pair aUser : aCapeType1) { - Logger.INFO("Adding Generic cape for " + aUser.getKey()); - mOrangeCapes.add(aUser); - } - } - if (!aCapeType2.isEmpty()) { - for (Pair aUser : aCapeType2) { - Logger.INFO("Adding Blue cape for " + aUser.getKey()); - mMiscCapes.add(aUser); - } - } - if (!aCapeType3.isEmpty()) { - for (Pair aUser : aCapeType3) { - Logger.INFO("Adding Beta cape for " + aUser.getKey()); - mBetaTestCapes.add(aUser); - } - } - if (!aCapeType4.isEmpty()) { - for (Pair aUser : aCapeType4) { - Logger.INFO("Adding Patreon cape for " + aUser.getKey()); - mPatreonCapes.add(aUser); - } - } - if (!aCapeType5.isEmpty()) { - for (Pair aUser : aCapeType5) { - Logger.INFO("Adding Dev cape for " + aUser.getKey()); - mDevCapes.add(aUser); - } - } - } - } else { - // No data decoded - } - } else { - // Nothing was cached? - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_FlaskRenderer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_FlaskRenderer.java deleted file mode 100644 index 0c9e59e2f2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_FlaskRenderer.java +++ /dev/null @@ -1,107 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.render; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import net.minecraftforge.fluids.FluidStack; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.common.items.GT_VolumetricFlask; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import ic2.core.util.DrawUtil; - -@SideOnly(cpw.mods.fml.relauncher.Side.CLIENT) -public final class GTPP_FlaskRenderer implements net.minecraftforge.client.IItemRenderer { - - public GTPP_FlaskRenderer() { - MinecraftForgeClient.registerItemRenderer(GregtechItemList.VOLUMETRIC_FLASK_8k.getItem(), this); - MinecraftForgeClient.registerItemRenderer(GregtechItemList.VOLUMETRIC_FLASK_32k.getItem(), this); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return type != ItemRenderType.FIRST_PERSON_MAP; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { - return type == ItemRenderType.ENTITY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - GT_VolumetricFlask cell = (GT_VolumetricFlask) item.getItem(); - - int aType = cell.getMaxCapacity() == 8000 ? 0 : 1; - IIcon icon = item.getIconIndex(); - GL11.glEnable(3042); - GL11.glEnable(3008); - if (type.equals(ItemRenderType.ENTITY)) { - GL11.glRotated(180.0D, 0.0D, 0.0D, 1.0D); - GL11.glRotated(90.0D, 0.0D, 1.0D, 0.0D); - GL11.glTranslated(-0.5D, -0.6D, 0.0D); - } else if (type.equals(ItemRenderType.EQUIPPED_FIRST_PERSON)) { - GL11.glTranslated(1.0D, 1.0D, 0.0D); - GL11.glRotated(180.0D, 0.0D, 0.0D, 1.0D); - } else if (type.equals(ItemRenderType.EQUIPPED)) { - GL11.glRotated(180.0D, 0.0D, 0.0D, 1.0D); - GL11.glTranslated(-1.0D, -1.0D, 0.0D); - } - - FluidStack fs = cell.getFluid(item); - if (fs != null) { - IIcon iconWindow = cell.iconWindow; - IIcon fluidicon = fs.getFluid() - .getIcon(fs); - int fluidColor = fs.getFluid() - .getColor(fs); - Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); - GL11.glBlendFunc(0, 1); - if (type.equals(ItemRenderType.INVENTORY)) { - DrawUtil.renderIcon(iconWindow, 16.0D, 0.0D, 0.0F, 0.0F, -1.0F); - } else { - DrawUtil.renderIcon(iconWindow, 1.0D, -0.001D, 0.0F, 0.0F, 1.0F); - DrawUtil.renderIcon(iconWindow, 1.0D, -0.0615D, 0.0F, 0.0F, -1.0F); - } - - Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture); - GL11.glBlendFunc(770, 771); - GL11.glDepthFunc(514); - GL11.glColor3ub((byte) (fluidColor >> 16), (byte) (fluidColor >> 8), (byte) fluidColor); - if (type.equals(ItemRenderType.INVENTORY)) { - DrawUtil.renderIcon(fluidicon, 16.0D, 0.0D, 0.0F, 0.0F, -1.0F); - } else { - DrawUtil.renderIcon(fluidicon, 1.0D, -0.001D, 0.0F, 0.0F, 1.0F); - DrawUtil.renderIcon(fluidicon, 1.0D, -0.0615D, 0.0F, 0.0F, -1.0F); - } - - GL11.glColor3ub((byte) -1, (byte) -1, (byte) -1); - GL11.glDepthFunc(515); - } - - Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); - GL11.glBlendFunc(770, 771); - if (type.equals(ItemRenderType.INVENTORY)) { - DrawUtil.renderIcon(icon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F); - } else { - ItemRenderer.renderItemIn2D( - Tessellator.instance, - icon.getMaxU(), - icon.getMinV(), - icon.getMinU(), - icon.getMaxV(), - icon.getIconWidth(), - icon.getIconHeight(), - 0.0625F); - } - GL11.glDisable(3008); - GL11.glDisable(3042); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_Render_MachineBlock.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_Render_MachineBlock.java deleted file mode 100644 index bfd16b4cc5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/render/GTPP_Render_MachineBlock.java +++ /dev/null @@ -1,1250 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.render; - -import static gregtech.api.interfaces.metatileentity.IConnectable.CONNECTED_DOWN; -import static gregtech.api.interfaces.metatileentity.IConnectable.CONNECTED_EAST; -import static gregtech.api.interfaces.metatileentity.IConnectable.CONNECTED_NORTH; -import static gregtech.api.interfaces.metatileentity.IConnectable.CONNECTED_SOUTH; -import static gregtech.api.interfaces.metatileentity.IConnectable.CONNECTED_UP; -import static gregtech.api.interfaces.metatileentity.IConnectable.CONNECTED_WEST; -import static gregtech.api.interfaces.metatileentity.IConnectable.HAS_FOAM; -import static gregtech.api.interfaces.metatileentity.IConnectable.NO_CONNECTION; -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 java.util.EnumMap; -import java.util.EnumSet; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.client.registry.RenderingRegistry; -import gregtech.api.GregTech_API; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.interfaces.tileentity.IPipeRenderedTileEntity; -import gregtech.api.interfaces.tileentity.ITexturedTileEntity; -import gregtech.api.metatileentity.MetaPipeEntity; -import gregtech.common.blocks.GT_Block_Machines; -import gregtech.common.render.GT_Renderer_Block; -import gtPlusPlus.xmod.gregtech.common.helpers.GT_MethodHelper; - -public class GTPP_Render_MachineBlock extends GT_Renderer_Block { - - public static GTPP_Render_MachineBlock INSTANCE; - public final int mRenderID = RenderingRegistry.getNextAvailableRenderId(); - - public GTPP_Render_MachineBlock() { - INSTANCE = this; - RenderingRegistry.registerBlockHandler(this); - } - - private static ITexture[] getTexture(IMetaTileEntity tile, ForgeDirection side, ForgeDirection facing, - int colorIndex, boolean active, boolean arg5) { - final IGregTechTileEntity gtTile = tile.getBaseMetaTileEntity(); - return tile.getTexture(gtTile, side, facing, (byte) colorIndex, active, arg5); - } - - private static ITexture[] getTexture(IMetaTileEntity tile, ForgeDirection side, int facingMask, int colorIndex, - boolean active, boolean arg5) { - final MetaPipeEntity gtTile = (MetaPipeEntity) tile.getBaseMetaTileEntity(); - return gtTile.getTexture((IGregTechTileEntity) tile, side, facingMask, colorIndex, active, arg5); - } - - private static void renderNormalInventoryMetaTileEntity(Block aBlock, int aMeta, RenderBlocks aRenderer) { - if (aMeta > 0 && aMeta < GregTech_API.METATILEENTITIES.length) { - IMetaTileEntity tMetaTileEntity = GregTech_API.METATILEENTITIES[aMeta]; - if (tMetaTileEntity != null) { - aBlock.setBlockBoundsForItemRender(); - aRenderer.setRenderBoundsFromBlock(aBlock); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - if (tMetaTileEntity.getBaseMetaTileEntity() instanceof IPipeRenderedTileEntity pipeRenderedTile) { - float tThickness = pipeRenderedTile.getThickNess(); - float sp = (1.0F - tThickness) / 2.0F; - aBlock.setBlockBounds(0.0F, sp, sp, 1.0F, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, -1.0F, 0.0F); - renderNegativeYFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, DOWN, 0b001001, -1, false, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, 1.0F, 0.0F); - renderPositiveYFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, UP, 0b001001, -1, false, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, 0.0F, -1.0F); - renderNegativeZFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, ForgeDirection.NORTH, 0b001001, -1, false, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, 0.0F, 1.0F); - renderPositiveZFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, ForgeDirection.SOUTH, 0b001001, -1, false, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(-1.0F, 0.0F, 0.0F); - renderNegativeXFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, ForgeDirection.WEST, 0b001001, -1, true, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(1.0F, 0.0F, 0.0F); - renderPositiveXFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, ForgeDirection.EAST, 0b001001, -1, true, false), - true); - Tessellator.instance.draw(); - } else { - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, -1.0F, 0.0F); - renderNegativeYFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, DOWN, ForgeDirection.WEST, -1, true, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, 1.0F, 0.0F); - renderPositiveYFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, UP, ForgeDirection.WEST, -1, true, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, 0.0F, -1.0F); - renderNegativeZFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, ForgeDirection.NORTH, ForgeDirection.WEST, -1, true, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(0.0F, 0.0F, 1.0F); - renderPositiveZFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, ForgeDirection.SOUTH, ForgeDirection.WEST, -1, true, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(-1.0F, 0.0F, 0.0F); - renderNegativeXFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, ForgeDirection.WEST, ForgeDirection.WEST, -1, true, false), - true); - Tessellator.instance.draw(); - Tessellator.instance.startDrawingQuads(); - Tessellator.instance.setNormal(1.0F, 0.0F, 0.0F); - renderPositiveXFacing( - null, - aRenderer, - aBlock, - 0, - 0, - 0, - getTexture(tMetaTileEntity, ForgeDirection.EAST, ForgeDirection.WEST, -1, true, false), - true); - Tessellator.instance.draw(); - } - - aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } - } - - public boolean renderStandardBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, - RenderBlocks aRenderer) { - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - - return tTileEntity instanceof ITexturedTileEntity - ? renderStandardBlock( - aWorld, - aX, - aY, - aZ, - aBlock, - aRenderer, - new ITexture[][] { GT_MethodHelper.getTexture(tTileEntity, aBlock, DOWN), - GT_MethodHelper.getTexture(tTileEntity, aBlock, UP), - GT_MethodHelper.getTexture(tTileEntity, aBlock, ForgeDirection.NORTH), - GT_MethodHelper.getTexture(tTileEntity, aBlock, ForgeDirection.SOUTH), - GT_MethodHelper.getTexture(tTileEntity, aBlock, ForgeDirection.WEST), - GT_MethodHelper.getTexture(tTileEntity, aBlock, ForgeDirection.EAST) }) - : false; - } - - public boolean renderStandardBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, - RenderBlocks aRenderer, ITexture[][] aTextures) { - aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[DOWN.ordinal()], true); - renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[UP.ordinal()], true); - renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[ForgeDirection.NORTH.ordinal()], true); - renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[ForgeDirection.SOUTH.ordinal()], true); - renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[ForgeDirection.WEST.ordinal()], true); - renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[ForgeDirection.EAST.ordinal()], true); - return true; - } - - public boolean renderPipeBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, - IPipeRenderedTileEntity aTileEntity, RenderBlocks aRenderer) { - final int aConnections = aTileEntity.getConnections(); - if ((aConnections & HAS_FOAM) != 0) { - return renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer); - } else { - float tThickness = aTileEntity.getThickNess(); - if (tThickness >= 0.99F) { - return renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer); - } else { - float sp = (1.0F - tThickness) / 2.0F; - int connexionSidesBits = 0; - - for (int ordinalSide = 0; ordinalSide < 6; ++ordinalSide) { - if ((aConnections & 1 << ordinalSide) != 0) { - connexionSidesBits = connexionSidesBits | 1 << (ordinalSide + 2) % 6; - } - } - - final EnumSet coveredSides = EnumSet.noneOf(ForgeDirection.class); - - for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - if (aTileEntity.getCoverIDAtSide(side) != 0) coveredSides.add(side); - } - - if (coveredSides.containsAll(EnumSet.of(DOWN, UP, NORTH, SOUTH, WEST, EAST))) { - return renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer); - } else { - final EnumMap texture = new EnumMap<>(ForgeDirection.class); - final EnumMap textureUncovered = new EnumMap<>(ForgeDirection.class); - - for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - texture.put(side, GT_MethodHelper.getTexture((TileEntity) aTileEntity, aBlock, side)); - textureUncovered.put(side, aTileEntity.getTextureUncovered(side)); - } - - switch (connexionSidesBits) { - case NO_CONNECTION -> { - aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - } - case (CONNECTED_DOWN | CONNECTED_UP) -> { - aBlock.setBlockBounds(0.0F, sp, sp, 1.0F, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - if (!coveredSides.contains(WEST)) { - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - } - if (!coveredSides.contains(EAST)) { - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - } - } - case (CONNECTED_NORTH | CONNECTED_SOUTH) -> { - aBlock.setBlockBounds(sp, 0.0F, sp, sp + tThickness, 1.0F, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - if (!coveredSides.contains(DOWN)) { - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - } - if (!coveredSides.contains(UP)) { - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - } - } - case (CONNECTED_WEST | CONNECTED_EAST) -> { - aBlock.setBlockBounds(sp, sp, 0.0F, sp + tThickness, sp + tThickness, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - if (!coveredSides.contains(NORTH)) { - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - } - if (!coveredSides.contains(SOUTH)) { - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - } - } - default -> { - if ((connexionSidesBits & CONNECTED_DOWN) == 0) { - aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - } else { - aBlock.setBlockBounds(0.0F, sp, sp, sp, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - if (!coveredSides.contains(WEST)) { - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - } - } - if ((connexionSidesBits & CONNECTED_UP) == 0) { - aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - } else { - aBlock.setBlockBounds(sp + tThickness, sp, sp, 1.0F, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - if (!coveredSides.contains(EAST)) { - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - } - } - if ((connexionSidesBits & CONNECTED_NORTH) == 0) { - aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - } else { - aBlock.setBlockBounds(sp, 0.0F, sp, sp + tThickness, sp, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - if (!coveredSides.contains(DOWN)) { - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - } - } - if ((connexionSidesBits & CONNECTED_SOUTH) == 0) { - aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - } else { - aBlock.setBlockBounds(sp, sp + tThickness, sp, sp + tThickness, 1.0F, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - if (!coveredSides.contains(UP)) { - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - } - } - if ((connexionSidesBits & CONNECTED_WEST) == 0) { - aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - } else { - aBlock.setBlockBounds(sp, sp, 0.0F, sp + tThickness, sp + tThickness, sp); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - if (!coveredSides.contains(NORTH)) { - renderNegativeZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(NORTH), - false); - } - } - if ((connexionSidesBits & CONNECTED_EAST) == 0) { - aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - } else { - aBlock.setBlockBounds(sp, sp, sp + tThickness, sp + tThickness, sp + tThickness, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(DOWN), - false); - renderPositiveYFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(UP), - false); - renderNegativeXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(WEST), - false); - renderPositiveXFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(EAST), - false); - if (!coveredSides.contains(SOUTH)) { - renderPositiveZFacing( - aWorld, - aRenderer, - aBlock, - aX, - aY, - aZ, - textureUncovered.get(SOUTH), - false); - } - } - } - } - - if (coveredSides.contains(DOWN)) { - aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(DOWN), false); - renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(DOWN), false); - if (!coveredSides.contains(NORTH)) { - renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(DOWN), false); - } - - if (!coveredSides.contains(SOUTH)) { - renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(DOWN), false); - } - - if (!coveredSides.contains(WEST)) { - renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(DOWN), false); - } - - if (!coveredSides.contains(EAST)) { - renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(DOWN), false); - } - } - - if (coveredSides.contains(UP)) { - aBlock.setBlockBounds(0.0F, 0.875F, 0.0F, 1.0F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(UP), false); - renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(UP), false); - if (!coveredSides.contains(NORTH)) { - renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(UP), false); - } - - if (!coveredSides.contains(SOUTH)) { - renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(UP), false); - } - - if (!coveredSides.contains(WEST)) { - renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(UP), false); - } - - if (!coveredSides.contains(EAST)) { - renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(UP), false); - } - } - - if (coveredSides.contains(NORTH)) { - aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.125F); - aRenderer.setRenderBoundsFromBlock(aBlock); - if (!coveredSides.contains(DOWN)) { - renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(NORTH), false); - } - - if (!coveredSides.contains(UP)) { - renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(NORTH), false); - } - - renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(NORTH), false); - renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(NORTH), false); - if (!coveredSides.contains(WEST)) { - renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(NORTH), false); - } - - if (!coveredSides.contains(EAST)) { - renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(NORTH), false); - } - } - - if (coveredSides.contains(SOUTH)) { - aBlock.setBlockBounds(0.0F, 0.0F, 0.875F, 1.0F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - if (!coveredSides.contains(DOWN)) { - renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(SOUTH), false); - } - - if (!coveredSides.contains(UP)) { - renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(SOUTH), false); - } - - renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(SOUTH), false); - renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(SOUTH), false); - if (!coveredSides.contains(WEST)) { - renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(SOUTH), false); - } - - if (!coveredSides.contains(EAST)) { - renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(SOUTH), false); - } - } - - if (coveredSides.contains(WEST)) { - aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 0.125F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - if (!coveredSides.contains(DOWN)) { - renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(WEST), false); - } - - if (!coveredSides.contains(UP)) { - renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(WEST), false); - } - - if (!coveredSides.contains(NORTH)) { - renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(WEST), false); - } - - if (!coveredSides.contains(SOUTH)) { - renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(WEST), false); - } - - renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(WEST), false); - renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(WEST), false); - } - - if (coveredSides.contains(EAST)) { - aBlock.setBlockBounds(0.875F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - if (!coveredSides.contains(DOWN)) { - renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(EAST), false); - } - - if (!coveredSides.contains(UP)) { - renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(EAST), false); - } - - if (!coveredSides.contains(NORTH)) { - renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(EAST), false); - } - - if (!coveredSides.contains(SOUTH)) { - renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(EAST), false); - } - - renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(EAST), false); - renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, texture.get(EAST), false); - } - - aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - return true; - } - } - } - } - - public static void renderNegativeYFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX, aY - 1, aZ, 0)) { - return; - } - - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aFullBlock ? aY - 1 : aY, aZ)); - } - - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderYNeg(aRenderer, aBlock, aX, aY, aZ); - } - } - } - - aRenderer.flipTexture = false; - } - - public static void renderPositiveYFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX, aY + 1, aZ, 1)) { - return; - } - - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aFullBlock ? aY + 1 : aY, aZ)); - } - - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderYPos(aRenderer, aBlock, aX, aY, aZ); - } - } - } - - aRenderer.flipTexture = false; - } - - public static void renderNegativeZFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX, aY, aZ - 1, 2)) { - return; - } - - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aY, aFullBlock ? aZ - 1 : aZ)); - } - - aRenderer.flipTexture = !aFullBlock; - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderZNeg(aRenderer, aBlock, aX, aY, aZ); - } - } - } - - aRenderer.flipTexture = false; - } - - public static void renderPositiveZFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX, aY, aZ + 1, 3)) { - return; - } - - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aY, aFullBlock ? aZ + 1 : aZ)); - } - - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderZPos(aRenderer, aBlock, aX, aY, aZ); - } - } - } - - aRenderer.flipTexture = false; - } - - public static void renderNegativeXFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX - 1, aY, aZ, 4)) { - return; - } - - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aFullBlock ? aX - 1 : aX, aY, aZ)); - } - - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderXNeg(aRenderer, aBlock, aX, aY, aZ); - } - } - } - - aRenderer.flipTexture = false; - } - - public static void renderPositiveXFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, - int aZ, ITexture[] aIcon, boolean aFullBlock) { - if (aWorld != null) { - if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX + 1, aY, aZ, 5)) { - return; - } - - Tessellator.instance - .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aFullBlock ? aX + 1 : aX, aY, aZ)); - } - - aRenderer.flipTexture = !aFullBlock; - if (aIcon != null) { - for (ITexture iTexture : aIcon) { - if (iTexture != null) { - iTexture.renderXPos(aRenderer, aBlock, aX, aY, aZ); - } - } - } - - aRenderer.flipTexture = false; - } - - @Override - public void renderInventoryBlock(Block aBlock, int aMeta, int aModelID, RenderBlocks aRenderer) { - aMeta += 30400; - if (aBlock instanceof GT_Block_Machines) { - if (aMeta > 0 && aMeta < GregTech_API.METATILEENTITIES.length - && GregTech_API.METATILEENTITIES[aMeta] != null - && !GregTech_API.METATILEENTITIES[aMeta].renderInInventory(aBlock, aMeta, aRenderer)) { - renderNormalInventoryMetaTileEntity(aBlock, aMeta, aRenderer); - } - } - aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - aRenderer.setRenderBoundsFromBlock(aBlock); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - - @Override - public boolean renderWorldBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, int aModelID, - RenderBlocks aRenderer) { - TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); - return aTileEntity == null ? false - : (aTileEntity instanceof IGregTechTileEntity - && ((IGregTechTileEntity) aTileEntity).getMetaTileEntity() != null - && ((IGregTechTileEntity) aTileEntity).getMetaTileEntity() - .renderInWorld(aWorld, aX, aY, aZ, aBlock, aRenderer) - ? true - : (aTileEntity instanceof IPipeRenderedTileEntity - ? renderPipeBlock( - aWorld, - aX, - aY, - aZ, - aBlock, - (IPipeRenderedTileEntity) aTileEntity, - aRenderer) - : renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer))); - } - - @Override - public boolean shouldRender3DInInventory(int aModel) { - return true; - } - - @Override - public int getRenderId() { - return this.mRenderID; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_ElectricAutoWorkbench.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_ElectricAutoWorkbench.java deleted file mode 100644 index 87ae66b2ad..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_ElectricAutoWorkbench.java +++ /dev/null @@ -1,873 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.automation; - -import java.util.ArrayList; - -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.oredict.OreDictionary; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget; -import com.gtnewhorizons.modularui.common.widget.DrawableWidget; -import com.gtnewhorizons.modularui.common.widget.SlotGroup; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.Textures; -import gregtech.api.enums.Textures.BlockIcons; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.modularui.IAddGregtechLogo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank; -import gregtech.api.objects.GT_ItemStack; -import gregtech.api.objects.GT_RenderedTexture; -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.xmod.gregtech.api.gui.GTPP_UITextures; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_ElectricAutoWorkbench extends GT_MetaTileEntity_BasicTank implements IAddGregtechLogo { - - public int mMode = 0, mCurrentSlot = 0, mThroughPut = 0, mTicksUntilNextUpdate = 20; - public boolean mLastCraftSuccessful = false; - protected String mLocalName; - - private static final int MAX_MODES = 10; - private static final int MAX_THROUGHPUT = 4; - - public GT_MetaTileEntity_ElectricAutoWorkbench(final int aID, final int aTier, final String aDescription) { - super( - aID, - "basicmachine.automation.autoworkbench.0" + aTier, - "Auto Workbench (" + GT_Values.VN[aTier] + ")", - aTier, - 30, - aDescription); - mLocalName = "Auto Workbench (" + GT_Values.VN[aTier] + ")"; - } - - public GT_MetaTileEntity_ElectricAutoWorkbench(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, 30, aDescription, aTextures); - } - - @Override - public boolean isTransformerUpgradable() { - return true; - } - - @Override - public boolean isOverclockerUpgradable() { - return false; - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isValidSlot(int aIndex) { - return aIndex < 19; - } - - @Override - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public boolean isEnetInput() { - return true; - } - - @Override - public boolean isEnetOutput() { - return true; - } - - @Override - public boolean isInputFacing(ForgeDirection side) { - return !isOutputFacing(side); - } - - @Override - public boolean isOutputFacing(ForgeDirection side) { - return side == getBaseMetaTileEntity().getBackFacing(); - } - - @Override - public boolean isTeleporterCompatible() { - return false; - } - - @Override - public long maxEUInput() { - return GT_Values.V[mTier]; - } - - @Override - public long maxEUOutput() { - return mThroughPut % 2 == 0 ? GT_Values.V[mTier] : 0; - } - - @Override - public long getMinimumStoredEU() { - return GT_Values.V[this.mTier]; - } - - @Override - public long maxEUStore() { - return Math.max(2048L, GT_Values.V[this.mTier] * (this.mTier * GT_Values.V[this.mTier])); - } - - @Override - public int getSizeInventory() { - return 30; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_ElectricAutoWorkbench( - this.mName, - this.mTier, - this.mDescriptionArray, - this.mTextures); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setInteger("mMode", mMode); - aNBT.setInteger("mThroughPut", mThroughPut); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - mMode = aNBT.getInteger("mMode"); - mThroughPut = aNBT.getInteger("mThroughPut"); - } - - @Override - public boolean doesFillContainers() { - return false; - } - - @Override - public boolean doesEmptyContainers() { - return false; - } - - @Override - public boolean canTankBeFilled() { - return true; - } - - @Override - public boolean canTankBeEmptied() { - return true; - } - - @Override - public boolean displaysItemStack() { - return false; - } - - @Override - public boolean displaysStackSize() { - return false; - } - - @Override - public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aStack) { - return side != getBaseMetaTileEntity().getFrontFacing() && side != getBaseMetaTileEntity().getBackFacing(); - } - - private void switchMode() { - mInventory[28] = null; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (getBaseMetaTileEntity().isAllowedToWork() && getBaseMetaTileEntity().isServerSide() - && getBaseMetaTileEntity().getUniversalEnergyStored() >= (mMode == 5 || mMode == 6 ? 128 : 2048) - && (getBaseMetaTileEntity().hasWorkJustBeenEnabled() || --mTicksUntilNextUpdate < 1)) { - mTicksUntilNextUpdate = 32; - - for (byte i = 19; i < 28; i++) { - if (mInventory[i] != null && mInventory[i].isItemStackDamageable() - && mInventory[i].getItem() - .hasContainerItem(mInventory[i])) { - mInventory[i].setItemDamage(OreDictionary.WILDCARD_VALUE); - } - } - - if (mInventory[18] == null) { - for (byte i = 0; i < 18 && mFluid != null; i++) { - ItemStack tOutput = GT_Utility.fillFluidContainer(mFluid, mInventory[i], false, true); - if (tOutput != null) { - for (byte j = 0; j < 9; j++) { - if (mInventory[j] == null || (GT_Utility.areStacksEqual(tOutput, mInventory[j]) - && mInventory[j].stackSize + tOutput.stackSize <= tOutput.getMaxStackSize())) { - mFluid.amount -= GT_Utility.getFluidForFilledItem(tOutput, true).amount - * tOutput.stackSize; - getBaseMetaTileEntity().decrStackSize(i, 1); - if (mInventory[j] == null) { - mInventory[j] = tOutput; - } else { - mInventory[j].stackSize++; - } - if (mFluid.amount <= 0) mFluid = null; - break; - } - } - } - } - - ItemStack[] tRecipe = new ItemStack[9]; - ItemStack tTempStack = null, tOutput = null; - - if (mInventory[17] != null && mThroughPut < 2 && mMode != 0) { - if (mInventory[18] == null) { - mInventory[18] = mInventory[17]; - mInventory[17] = null; - } - } else { - if (!mLastCraftSuccessful) { - mCurrentSlot = (mCurrentSlot + 1) % 18; - for (int i = 0; i < 17 && mInventory[mCurrentSlot] == null; i++) - mCurrentSlot = (mCurrentSlot + 1) % 18; - } - switch (mMode) { - case 0 -> { - if (mInventory[mCurrentSlot] != null - && !isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot])) { - if (mInventory[18] == null && mThroughPut < 2 && mCurrentSlot < 8) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - break; - } - for (int i = 0; i < 9; i++) { - tRecipe[i] = mInventory[i + 19]; - if (tRecipe[i] != null) { - tRecipe[i] = GT_Utility.copy(tRecipe[i]); - tRecipe[i].stackSize = 1; - } - } - } - case 1 -> { - if (isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot])) { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - break; - } - tTempStack = GT_Utility.copy(mInventory[mCurrentSlot]); - tTempStack.stackSize = 1; - tRecipe[0] = tTempStack; - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) == null) { - tRecipe[1] = tTempStack; - tRecipe[3] = tTempStack; - tRecipe[4] = tTempStack; - } else break; - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) == null) { - tRecipe[2] = tTempStack; - tRecipe[5] = tTempStack; - tRecipe[6] = tTempStack; - tRecipe[7] = tTempStack; - tRecipe[8] = tTempStack; - } else break; - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) == null) { - if (mInventory[18] == null) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - } - case 2 -> { - if (isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot])) { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - break; - } - tTempStack = GT_Utility.copy(mInventory[mCurrentSlot]); - tTempStack.stackSize = 1; - tRecipe[0] = tTempStack; - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) == null) { - if (mInventory[18] == null) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - } - case 3 -> { - if (isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot])) { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - break; - } - tTempStack = GT_Utility.copy(mInventory[mCurrentSlot]); - tTempStack.stackSize = 1; - tRecipe[0] = tTempStack; - tRecipe[1] = tTempStack; - tRecipe[3] = tTempStack; - tRecipe[4] = tTempStack; - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) == null) { - if (mInventory[18] == null) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - } - case 4 -> { - if (isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot])) { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - break; - } - tTempStack = GT_Utility.copy(mInventory[mCurrentSlot]); - tTempStack.stackSize = 1; - tRecipe[0] = tTempStack; - tRecipe[1] = tTempStack; - tRecipe[2] = tTempStack; - tRecipe[3] = tTempStack; - tRecipe[4] = tTempStack; - tRecipe[5] = tTempStack; - tRecipe[6] = tTempStack; - tRecipe[7] = tTempStack; - tRecipe[8] = tTempStack; - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) == null) { - if (mInventory[18] == null) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - } - case 5 -> { - if (isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot])) { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - break; - } - tTempStack = GT_Utility.copy(mInventory[mCurrentSlot]); - tTempStack.stackSize = 1; - tRecipe[0] = tTempStack; - tOutput = GT_OreDictUnificator.get(true, tTempStack); - if (tOutput != null && GT_Utility.areStacksEqual(tOutput, tTempStack)) tOutput = null; - if (tOutput == null) { - tRecipe[0] = null; - if (mInventory[18] == null) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - } - case 6 -> { - if (isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot])) { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } else if (OrePrefixes.dustSmall.contains(mInventory[mCurrentSlot])) { - tTempStack = GT_Utility.copy(mInventory[mCurrentSlot]); - tTempStack.stackSize = 1; - tRecipe[0] = tTempStack; - tRecipe[1] = tTempStack; - tRecipe[3] = tTempStack; - tRecipe[4] = tTempStack; - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) - == null) { - if (mInventory[18] == null) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - } else if (OrePrefixes.dustTiny.contains(mInventory[mCurrentSlot])) { - tTempStack = GT_Utility.copy(mInventory[mCurrentSlot]); - tTempStack.stackSize = 1; - tRecipe[0] = tTempStack; - tRecipe[1] = tTempStack; - tRecipe[2] = tTempStack; - tRecipe[3] = tTempStack; - tRecipe[4] = tTempStack; - tRecipe[5] = tTempStack; - tRecipe[6] = tTempStack; - tRecipe[7] = tTempStack; - tRecipe[8] = tTempStack; - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) - == null) { - if (mInventory[18] == null) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - } else { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - } - case 7 -> { - if (isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot]) - || !OrePrefixes.nugget.contains(mInventory[mCurrentSlot])) { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - break; - } - tTempStack = GT_Utility.copy(mInventory[mCurrentSlot]); - tTempStack.stackSize = 1; - tRecipe[0] = tTempStack; - tRecipe[1] = tTempStack; - tRecipe[2] = tTempStack; - tRecipe[3] = tTempStack; - tRecipe[4] = tTempStack; - tRecipe[5] = tTempStack; - tRecipe[6] = tTempStack; - tRecipe[7] = tTempStack; - tRecipe[8] = tTempStack; - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) == null) { - if (mInventory[18] == null) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - } - case 8 -> { - if (isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot]) - || mInventory[mCurrentSlot].getItemDamage() <= 0 - || !mInventory[mCurrentSlot].getItem() - .isRepairable()) { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - break; - } - tTempStack = GT_Utility.copy(mInventory[mCurrentSlot]); - tTempStack.stackSize = 1; - for (int i = mCurrentSlot + 1; i < 18; i++) { - if (mInventory[i] != null && mInventory[i].getItem() == tTempStack.getItem() - && mInventory[mCurrentSlot].getItemDamage() + mInventory[i].getItemDamage() - > tTempStack.getMaxDamage()) { - tRecipe[0] = tTempStack; - tRecipe[1] = GT_Utility.copy(mInventory[i]); - if (GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) - == null) { - if (mInventory[18] == null) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - } - break; - } - } - } - case 9 -> { - if (isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(mInventory[mCurrentSlot])) { - if (mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mCurrentSlot]; - mInventory[mCurrentSlot] = null; - mTicksUntilNextUpdate = 1; - } - break; - } - for (byte i = 0, j = 0; i < 18 && j < 9 - && (j < 2 - || GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe) - == null); i++) { - tRecipe[j] = mInventory[(mCurrentSlot + i) % 18]; - if (tRecipe[j] != null) { - tRecipe[j] = GT_Utility.copy(tRecipe[j]); - tRecipe[j].stackSize = 1; - j++; - } - } - if (tRecipe[1] == null) tRecipe[0] = null; - } - } - } - - if (tOutput == null) - tOutput = GT_ModHandler.getAllRecipeOutput(getBaseMetaTileEntity().getWorld(), tRecipe); - - if (tOutput != null || mMode == 0) mInventory[28] = tOutput; - - if (tOutput == null) { - mLastCraftSuccessful = false; - } else { - if ((tTempStack = GT_OreDictUnificator.get(true, tOutput)) != null) { - tTempStack.stackSize = tOutput.stackSize; - tOutput = tTempStack; - } - - mInventory[28] = GT_Utility.copy(tOutput); - ArrayList tList = recipeContent(tRecipe), tContent = benchContent(); - if (tList.size() > 0 && tContent.size() > 0) { - - boolean success = (mMode == 6 || mMode == 7 || mInventory[17] == null); - for (byte i = 0; i < tList.size() && success; i++) { - success = false; - for (byte j = 0; j < tContent.size() && !success; j++) { - if (GT_Utility.areStacksEqual(tList.get(i), tContent.get(j))) { - if (tList.get(i).stackSize <= tContent.get(j).stackSize) { - success = true; - } - } - } - } - - if (success) { - mLastCraftSuccessful = true; - - for (byte i = 8; i > -1; i--) { - for (byte j = 17; j > -1; j--) { - if (tRecipe[i] != null && mInventory[j] != null) { - if (GT_Utility.areStacksEqual(tRecipe[i], mInventory[j])) { - ItemStack tStack = GT_Utility.getContainerItem(mInventory[j], true); - if (tStack != null) { - getBaseMetaTileEntity().decrStackSize(j, 1); - if (!tStack.isItemStackDamageable() - || tStack.getItemDamage() < tStack.getMaxDamage()) { - for (byte k = 9; k < 18; k++) { - if (mInventory[k] == null) { - mInventory[k] = GT_Utility.copy(tStack); - break; - } else if (GT_Utility.areStacksEqual(mInventory[k], tStack) - && mInventory[k].stackSize + tStack.stackSize - <= tStack.getMaxStackSize()) { - mInventory[k].stackSize += tStack.stackSize; - break; - } - } - } - } else { - getBaseMetaTileEntity().decrStackSize(j, 1); - } - break; - } - } - } - } - - mInventory[18] = GT_Utility.copy(tOutput); - getBaseMetaTileEntity() - .decreaseStoredEnergyUnits(mMode == 5 || mMode == 6 || mMode == 7 ? 128 : 2048, true); - mTicksUntilNextUpdate = 1; - } else { - mLastCraftSuccessful = false; - if (mInventory[mMode == 0 ? 8 : 17] != null && mInventory[18] == null && mThroughPut < 2) { - mInventory[18] = mInventory[mMode == 0 ? 8 : 17]; - mInventory[mMode == 0 ? 8 : 17] = null; - mTicksUntilNextUpdate = 1; - } - } - } - - if (mInventory[18] == null && mThroughPut < 2) { - for (byte i = 0; i < 8; i++) { - for (byte j = i; ++j < 9;) { - if (GT_Utility.areStacksEqual(mInventory[i], mInventory[j]) - && mInventory[i].getMaxStackSize() > 8) { - mInventory[18] = mInventory[j]; - mInventory[j] = null; - mTicksUntilNextUpdate = 1; - break; - } - } - } - } - } - } - - if (mThroughPut < 2) { - getBaseMetaTileEntity().decreaseStoredEnergyUnits( - GT_Utility.moveOneItemStack( - getBaseMetaTileEntity(), - getBaseMetaTileEntity().getIInventoryAtSide(getBaseMetaTileEntity().getBackFacing()), - getBaseMetaTileEntity().getBackFacing(), - getBaseMetaTileEntity().getFrontFacing(), - null, - false, - (byte) 64, - (byte) 1, - (byte) 64, - (byte) 1) * 10, - true); - } - } - } - - private boolean isItemTypeOrItsEmptyLiquidContainerInCraftingGrid(ItemStack aStack) { - if (aStack == null) return true; - for (byte i = 19; i < 28; i++) { - if (mInventory[i] != null) { - if (GT_Utility.areStacksEqual(mInventory[i], aStack)) return true; - if (GT_Utility.areStacksEqual(GT_Utility.getContainerForFilledItem(mInventory[i], true), aStack)) - return true; - } - } - return false; - } - - private ArrayList recipeContent(ItemStack[] tRecipe) { - ArrayList tList = new ArrayList<>(); - for (byte i = 0; i < 9; i++) { - if (tRecipe[i] != null) { - boolean temp = false; - for (ItemStack itemStack : tList) { - if (GT_Utility.areStacksEqual(tRecipe[i], itemStack)) { - itemStack.stackSize++; - temp = true; - break; - } - } - if (!temp) tList.add(GT_Utility.copy(1, tRecipe[i])); - } - } - return tList; - } - - private ArrayList benchContent() { - ArrayList tList = new ArrayList<>(); - for (byte i = 0; i < 18; i++) { - if (mInventory[i] != null) { - boolean temp = false; - for (byte j = 0; j < tList.size(); j++) { - if (GT_Utility.areStacksEqual(mInventory[i], mInventory[j])) { - tList.get(j).stackSize += mInventory[i].stackSize; - temp = true; - break; - } - } - if (!temp) tList.add(GT_Utility.copy(mInventory[i])); - } - } - return tList; - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return mMode == 0 ? aIndex >= 10 : aIndex >= 18; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return mMode == 0 ? aIndex < 9 : aIndex < 18; - } - - /* - * @Override public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) { if (aSide == - * aFacing) return 112; if (GT_Utility.getOppositeSide(aSide) == aFacing) return 113; return 114; } - */ - - @Override - public int getCapacity() { - return 16000; - } - - @Override - public int getTankPressure() { - return -100; - } - - @Override - public String[] getDescription() { - return new String[] { "Automatic Crafting Table Mk III", - // this.mDescription, - CORE.GT_Tooltip.get() }; - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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.getFront(i); - rTextures[6][i + 1] = this.getBack(i); - rTextures[7][i + 1] = this.getBottom(i); - rTextures[8][i + 1] = this.getTop(i); - rTextures[9][i + 1] = this.getSides(i); - } - return rTextures; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - if (side == facing) { - return this.mTextures[0][aColorIndex + 1]; - } else if (side.getOpposite() == facing) { - return this.mTextures[1][aColorIndex + 1]; - } else { - return this.mTextures[4][aColorIndex + 1]; - } - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Adv_Workbench_Crafting_Overlay) }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], - new GT_RenderedTexture(BlockIcons.OVERLAY_PIPE) }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Adv_Workbench_Crafting_Overlay) }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Adv_Workbench_Crafting_Overlay) }; - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addGregTechLogo(ModularWindow.Builder builder) { - builder.widget( - new DrawableWidget().setDrawable(getGUITextureSet().getGregTechLogo()) - .setSize(17, 17) - .setPos(118, 22)); - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget( - SlotGroup.ofItemHandler(inventoryHandler, 3) - .endAtSlot(8) - .build() - .setPos(7, 4)) - .widget( - SlotGroup.ofItemHandler(inventoryHandler, 9) - .startFromSlot(9) - .endAtSlot(17) - .canInsert(false) - .background(GT_UITextures.SLOT_DARK_GRAY) - .applyForWidget(SlotWidget::disableShiftInsert) - .build() - .setPos(7, 59)) - .widget( - new SlotWidget(inventoryHandler, 18).setAccess(true, false) - .setBackground(getGUITextureSet().getItemSlot(), GT_UITextures.OVERLAY_SLOT_OUT) - .setPos(151, 40)) - .widget( - new DrawableWidget().setDrawable(GT_UITextures.PICTURE_SLOTS_HOLO_3BY3) - .setPos(62, 4) - .setSize(54, 54)) - .widget( - SlotGroup.ofItemHandler(inventoryHandler, 3) - .startFromSlot(19) - .endAtSlot(27) - .phantom(true) - .background(GT_UITextures.TRANSPARENT) - .build() - .setPos(62, 4)) - .widget( - SlotWidget.phantom(inventoryHandler, 28) - .disableInteraction() - .setBackground(getGUITextureSet().getItemSlot(), GTPP_UITextures.OVERLAY_SLOT_ARROW_4) - .setPos(151, 4)); - builder.widget( - new CycleButtonWidget().setGetter(() -> mThroughPut) - .setSetter(val -> mThroughPut = val) - .setLength(MAX_THROUGHPUT) - .setTextureGetter(i -> GTPP_UITextures.OVERLAY_BUTTON_THROUGHPUT[i]) - .setBackground(GT_UITextures.BUTTON_STANDARD) - .setPos(120, 4) - .setSize(18, 18)); - String[] mModeText = new String[] { "Normal Crafting Table", "???", "1x1", "2x2", "3x3", "Unifier", "Dust", - "???", "Hammer?", "Circle" }; - CycleButtonWidget modeButton = new CycleButtonWidget().setGetter(() -> mMode) - .setSetter(val -> { - mMode = val; - switchMode(); - }) - .setLength(MAX_MODES) - .setTextureGetter(i -> GTPP_UITextures.OVERLAY_BUTTON_MODE[i]); - for (int i = 0; i < MAX_MODES; i++) { - modeButton.addTooltip(i, "Mode: " + mModeText[i]); - } - builder.widget( - modeButton.setBackground(GT_UITextures.BUTTON_STANDARD) - .setPos(120, 40) - .setSize(18, 18)); - builder.widget( - new DrawableWidget().setDrawable(GTPP_UITextures.PICTURE_WORKBENCH_CIRCLE) - .setPos(136, 23) - .setSize(16, 16)) - .widget( - new DrawableWidget().setDrawable(GTPP_UITextures.PICTURE_ARROW_WHITE_DOWN) - .setPos(155, 23) - .setSize(10, 16)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java deleted file mode 100644 index 7fc2b50f68..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java +++ /dev/null @@ -1,834 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.automation; - -import static gtPlusPlus.core.lib.CORE.sTesseractGeneratorOwnershipMap; -import static gtPlusPlus.core.lib.CORE.sTesseractTerminalOwnershipMap; - -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 net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; - -import org.apache.commons.lang3.ArrayUtils; - -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.ITexture; -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.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import gtPlusPlus.xmod.gregtech.common.helpers.tesseract.TesseractHelper; - -public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_BasicTank { - - 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; - public int mFrequency = 0; - public UUID mOwner; - - public GT_MetaTileEntity_TesseractGenerator(final int aID, final String aName, final String aNameRegional, - final int aTier) { - super(aID, aName, aNameRegional, aTier, 3, ""); - } - - public GT_MetaTileEntity_TesseractGenerator(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, 3, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_TesseractGenerator(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public boolean isTransformerUpgradable() { - return true; - } - - @Override - public boolean isOverclockerUpgradable() { - return false; - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return true; - } - - @Override - public boolean isEnetInput() { - return true; - } - - @Override - public boolean isEnetOutput() { - return false; - } - - @Override - public boolean isInputFacing(final ForgeDirection side) { - return true; - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return side == this.getBaseMetaTileEntity() - .getBackFacing(); - } - - @Override - public boolean isValidSlot(final int aIndex) { - return false; - } - - @Override - public long getMinimumStoredEU() { - return this.getBaseMetaTileEntity() - .getEUCapacity() / 2; - } - - @Override - public long maxEUInput() { - return 512; - } - - @Override - public long maxEUOutput() { - return 0; - } - - @Override - public long maxEUStore() { - return 512 * 32; - } - - @Override - public long maxSteamStore() { - return this.maxEUStore(); - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean ownerControl() { - return true; - } - - @Override - public int getProgresstime() { - return (TesseractHelper.getGeneratorByFrequency(PlayerUtils.getPlayerOnServerFromUUID(mOwner), this.mFrequency) - == this) && (this.isWorking >= 20) ? 999 : 0; - } - - @Override - public int maxProgresstime() { - return 1000; - } - - @Override - public void saveNBTData(final NBTTagCompound aNBT) { - aNBT.setInteger("mFrequency", this.mFrequency); - if (mOwner != null) aNBT.setString("mOwner", mOwner.toString()); - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - this.mFrequency = aNBT.getInteger("mFrequency"); - try { - this.mOwner = UUID.fromString(aNBT.getString("mOnwer")); - } catch (IllegalArgumentException i) { - - } - } - - @Override - public void onConfigLoad(final GT_Config aConfig) { - int J = 4; - TESSERACT_ENERGY_COST = 128 * J; - TESSERACT_ENERGY_COST_DIMENSIONAL = 512 * J; - } - - @Override - public void onServerStart() { - sTesseractGeneratorOwnershipMap.clear(); - sTesseractTerminalOwnershipMap.clear(); - } - - public void onServerStop() { - sTesseractGeneratorOwnershipMap.clear(); - sTesseractTerminalOwnershipMap.clear(); - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer, - final ForgeDirection side, final float aX, final float aY, final float aZ) { - - if (this.mOwner == null) { - if (this.getBaseMetaTileEntity() - .getOwnerName() != null - && !this.getBaseMetaTileEntity() - .getOwnerName() - .equals("")) { - if (this.getBaseMetaTileEntity() - .getOwnerName() - .toLowerCase() - .equals( - aPlayer.getDisplayName() - .toLowerCase())) { - this.mOwner = PlayerUtils.getPlayersUUIDByName( - this.getBaseMetaTileEntity() - .getOwnerName()); - } - } - } - - if (side == this.getBaseMetaTileEntity() - .getFrontFacing()) { - if (aPlayer.getUniqueID() - .compareTo(this.mOwner) == 0) { - final float[] tCoords = GT_Utility.getClickedFacingCoords(side, aX, aY, aZ); - switch ((byte) ((byte) (int) (tCoords[0] * 2.0F) + (2 * (byte) (int) (tCoords[1] * 2.0F)))) { - case 0: - Logger.WARNING("Freq. -1 | " + this.mFrequency); - try { - CORE.sTesseractGeneratorOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency -= 1; - - break; - case 1: - Logger.WARNING("Freq. +1 | " + this.mFrequency); - try { - CORE.sTesseractGeneratorOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency += 1; - default: - // Utils.LOG_WARNING("Did not click the correct place."); - break; - } - if (getGeneratorEntity(this.mFrequency) != null && getGeneratorEntity(this.mFrequency) != this) { - GT_Utility.sendChatToPlayer( - aPlayer, - "Frequency: " + this.mFrequency + EnumChatFormatting.RED + " (Occupied)"); - } else { - GT_Utility.sendChatToPlayer(aPlayer, "Frequency: " + this.mFrequency); - } - } else if (aPlayer.getUniqueID() - .compareTo(this.mOwner) != 0) { - GT_Utility.sendChatToPlayer(aPlayer, "This is not your Tesseract Generator to configure."); - } - } - - return true; - } - - @Override - public void onScrewdriverRightClick(final ForgeDirection side, final EntityPlayer aPlayer, final float aX, - final float aY, final float aZ) { - if (aPlayer.getUniqueID() - .compareTo(this.mOwner) == 0) { - if (side == this.getBaseMetaTileEntity() - .getFrontFacing()) { - final float[] tCoords = GT_Utility.getClickedFacingCoords(side, aX, aY, aZ); - switch ((byte) ((byte) (int) (tCoords[0] * 2.0F) + (2 * (byte) (int) (tCoords[1] * 2.0F)))) { - case 0 -> { - try { - CORE.sTesseractGeneratorOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency -= 64; - } - case 1 -> { - try { - CORE.sTesseractGeneratorOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency += 64; - } - case 2 -> { - try { - CORE.sTesseractGeneratorOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency -= 512; - } - case 3 -> { - try { - CORE.sTesseractGeneratorOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency += 512; - } - } - if (getGeneratorEntity(this.mFrequency) != null && getGeneratorEntity(this.mFrequency) != this) { - GT_Utility.sendChatToPlayer( - aPlayer, - "Frequency: " + this.mFrequency + EnumChatFormatting.RED + " (Occupied)"); - } else { - GT_Utility.sendChatToPlayer(aPlayer, "Frequency: " + this.mFrequency); - } - } - } else { - GT_Utility.sendChatToPlayer(aPlayer, "This is not your Tesseract Generator to configure."); - } - } - - public boolean allowCoverOnSide(final ForgeDirection side, final int aCoverID) { - return side != this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public String[] getInfoData() { - final TileEntity tTileEntity = this.getBaseMetaTileEntity() - .getTileEntityAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity != null) && (this.getBaseMetaTileEntity() - .isAllowedToWork()) - && ((tTileEntity instanceof IGregTechDeviceInformation)) - && (((IGregTechDeviceInformation) tTileEntity).isGivingInformation())) { - return ((IGregTechDeviceInformation) tTileEntity).getInfoData(); - } - return new String[] { "Tesseract Generator", "Freqency:", "" + this.mFrequency, - (getGeneratorEntity() == this) && (this.isWorking >= 20) ? "Active" : "Inactive" }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - public boolean isSendingInformation() { - final TileEntity tTileEntity = this.getBaseMetaTileEntity() - .getTileEntityAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity != null) && (this.getBaseMetaTileEntity() - .isAllowedToWork()) && ((tTileEntity instanceof IGregTechDeviceInformation))) { - return ((IGregTechDeviceInformation) tTileEntity).isGivingInformation(); - } - return false; - } - - @Override - public boolean isDigitalChest() { - final TileEntity tTileEntity = this.getBaseMetaTileEntity() - .getTileEntityAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity != null) && (this.getBaseMetaTileEntity() - .isAllowedToWork()) && ((tTileEntity instanceof IDigitalChest))) { - return ((IDigitalChest) tTileEntity).isDigitalChest(); - } - return false; - } - - @Override - public ItemStack[] getStoredItemData() { - final TileEntity tTileEntity = this.getBaseMetaTileEntity() - .getTileEntityAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity != null) && (this.getBaseMetaTileEntity() - .isAllowedToWork()) && ((tTileEntity instanceof IDigitalChest))) { - return ((IDigitalChest) tTileEntity).getStoredItemData(); - } - return new ItemStack[] {}; - } - - @Override - public void setItemCount(final int aCount) { - final TileEntity tTileEntity = this.getBaseMetaTileEntity() - .getTileEntityAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity != null) && (this.getBaseMetaTileEntity() - .isAllowedToWork()) && ((tTileEntity instanceof IDigitalChest))) { - ((IDigitalChest) tTileEntity).setItemCount(aCount); - } - } - - @Override - public int getMaxItemCount() { - final TileEntity tTileEntity = this.getBaseMetaTileEntity() - .getTileEntityAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity != null) && (this.getBaseMetaTileEntity() - .isAllowedToWork()) && ((tTileEntity instanceof IDigitalChest))) { - return ((IDigitalChest) tTileEntity).getMaxItemCount(); - } - return 0; - } - - @Override - public boolean isItemValidForSlot(final int aIndex, final ItemStack aStack) { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - return tTileEntity.isItemValidForSlot(aIndex, aStack); - } - - @Override - public int[] getAccessibleSlotsFromSide(final int ordinalSide) { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return new int[0]; - } - if ((tTileEntity instanceof ISidedInventory)) { - return ((ISidedInventory) tTileEntity).getAccessibleSlotsFromSide(ordinalSide); - } - final int[] rArray = new int[this.getSizeInventory()]; - for (int i = 0; i < this.getSizeInventory(); i++) { - rArray[i] = i; - } - return rArray; - } - - @Override - public boolean canInsertItem(final int aIndex, final ItemStack aStack, final int ordinalSide) { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - if ((tTileEntity instanceof ISidedInventory)) { - return ((ISidedInventory) tTileEntity).canInsertItem(aIndex, aStack, ordinalSide); - } - return true; - } - - @Override - public boolean canExtractItem(final int aIndex, final ItemStack aStack, final int ordinalSide) { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - if ((tTileEntity instanceof ISidedInventory)) { - return ((ISidedInventory) tTileEntity).canExtractItem(aIndex, aStack, ordinalSide); - } - return true; - } - - @Override - public int getSizeInventory() { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return 0; - } - return tTileEntity.getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(final int aIndex) { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return null; - } - return tTileEntity.getStackInSlot(aIndex); - } - - @Override - public void setInventorySlotContents(final int aIndex, final ItemStack aStack) { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return; - } - tTileEntity.setInventorySlotContents(aIndex, aStack); - } - - @Override - public ItemStack decrStackSize(final int aIndex, final int aAmount) { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return null; - } - return tTileEntity.decrStackSize(aIndex, aAmount); - } - - @Override - public String getInventoryName() { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return ""; - } - return tTileEntity.getInventoryName(); - } - - @Override - public int getInventoryStackLimit() { - final IInventory tTileEntity = this.getBaseMetaTileEntity() - .getIInventoryAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return 0; - } - return tTileEntity.getInventoryStackLimit(); - } - - @Override - public boolean canFill(final ForgeDirection aSide, final Fluid aFluid) { - final IFluidHandler tTileEntity = this.getBaseMetaTileEntity() - .getITankContainerAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - return tTileEntity.canFill(aSide, aFluid); - } - - @Override - public boolean canDrain(final ForgeDirection aSide, final Fluid aFluid) { - final IFluidHandler tTileEntity = this.getBaseMetaTileEntity() - .getITankContainerAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - return tTileEntity.canDrain(aSide, aFluid); - } - - @Override - public FluidTankInfo[] getTankInfo(final ForgeDirection aSide) { - final IFluidHandler tTileEntity = this.getBaseMetaTileEntity() - .getITankContainerAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return new FluidTankInfo[0]; - } - return tTileEntity.getTankInfo(aSide); - } - - @Override - public int fill_default(final ForgeDirection aDirection, final FluidStack aFluid, final boolean doFill) { - final IFluidHandler tTileEntity = this.getBaseMetaTileEntity() - .getITankContainerAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return 0; - } - return tTileEntity.fill(aDirection, aFluid, doFill); - } - - @Override - public FluidStack drain(final ForgeDirection aDirection, final int maxDrain, final boolean doDrain) { - final IFluidHandler tTileEntity = this.getBaseMetaTileEntity() - .getITankContainerAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return null; - } - return tTileEntity.drain(aDirection, maxDrain, doDrain); - } - - @Override - public FluidStack drain(final ForgeDirection aSide, final FluidStack aFluid, final boolean doDrain) { - final IFluidHandler tTileEntity = this.getBaseMetaTileEntity() - .getITankContainerAtSide( - this.getBaseMetaTileEntity() - .getBackFacing()); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return null; - } - return tTileEntity.drain(aSide, aFluid, doDrain); - } - - public boolean addEnergyConsumption(final GT_MetaTileEntity_TesseractTerminal aTerminal) { - if (!this.getBaseMetaTileEntity() - .isAllowedToWork()) { - return false; - } - int J = (aTerminal.getBaseMetaTileEntity() - .getWorld() - == this.getBaseMetaTileEntity() - .getWorld() ? TESSERACT_ENERGY_COST : TESSERACT_ENERGY_COST_DIMENSIONAL); - - J *= 4; - - this.mNeededEnergy += J; - - return true; - } - - public boolean isValidTesseractGenerator(final String aOwnerName, final boolean aWorkIrrelevant) { - return (this.getBaseMetaTileEntity() != null) && (!this.getBaseMetaTileEntity() - .isInvalidTileEntity()) - && (this.getBaseMetaTileEntity() - .isAllowedToWork()) - && ((aOwnerName == null) || (this.getBaseMetaTileEntity() - .getOwnerName() - .equals(aOwnerName))) - && ((aWorkIrrelevant) || (this.isWorking >= 20)); - } - - @Override - public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - // TODO Auto-generated method stub - super.onPreTick(aBaseMetaTileEntity, aTick); - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - // Utils.LOG_WARNING("Ticking Generator. 0"); - if (this.getBaseMetaTileEntity() - .isServerSide()) { - // Utils.LOG_WARNING("Ticking Generator."); - // Set owner - if (PlayerUtils.getPlayersUUIDByName( - this.getBaseMetaTileEntity() - .getOwnerName()) - != null) { - if (this.mOwner == null) { - Logger.WARNING("Setting Generators Owner. 1"); - this.mOwner = PlayerUtils.getPlayersUUIDByName( - this.getBaseMetaTileEntity() - .getOwnerName()); - } - } - - if (this.mFrequency != this.oFrequency) { - - Logger.WARNING("mFreq != oFreq"); - - if (getGeneratorEntity() == this) { - getGeneratorEntity(this.oFrequency); - this.getBaseMetaTileEntity() - .issueBlockUpdate(); - Logger.WARNING("this Gen == oFreq on map - do block update"); - } - Logger.WARNING("mFreq will be set to oFreq"); - this.oFrequency = this.mFrequency; - } - if ((this.getBaseMetaTileEntity() - .isAllowedToWork()) - && (this.getBaseMetaTileEntity() - .decreaseStoredEnergyUnits(this.mNeededEnergy, false))) { - // Utils.LOG_WARNING("Can Work & Has Energy"); - if ((getGeneratorEntity(Integer.valueOf(this.mFrequency)) == null) - || (!getGeneratorEntity(Integer.valueOf(this.mFrequency)).isValidTesseractGenerator(null, true))) { - // Utils.LOG_WARNING("storing TE I think to mFreq map?"); - TesseractHelper.setGeneratorOwnershipByPlayer( - PlayerUtils.getPlayerOnServerFromUUID(mOwner), - this.mFrequency, - this); - } - } else { - if (getGeneratorEntity(Integer.valueOf(this.mFrequency)) == this) { - Logger.WARNING("this gen == mFreq on map - do block update"); - TesseractHelper.removeGenerator(PlayerUtils.getPlayerOnServerFromUUID(mOwner), this.mFrequency); - this.getBaseMetaTileEntity() - .issueBlockUpdate(); - } - this.isWorking = 0; - } - if (getGeneratorEntity(Integer.valueOf(this.mFrequency)) == this) { - // Utils.LOG_WARNING("mFreq == this - do work related things"); - if (this.isWorking < 20) { - this.isWorking = ((byte) (this.isWorking + 1)); - } - if (this.isWorking == 20) { - this.getBaseMetaTileEntity() - .issueBlockUpdate(); - this.isWorking = ((byte) (this.isWorking + 1)); - } - } else { - this.isWorking = 0; - } - this.mNeededEnergy = 0; - } - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll( - this.mDescriptionArray, - "Generates a Tesseract for the attached Inventory", - "Connect with pipes to insert items", - "Consumes " + TESSERACT_ENERGY_COST + "EU/t for same dimension transfers", - "Consumes " + TESSERACT_ENERGY_COST_DIMENSIONAL + "EU/t for cross dimensional transfers", - CORE.GT_Tooltip.get()); - } - - @Override - public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - return new ITexture[0][0][0]; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return side == facing - ? new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Dimensional), - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_Frequency) } - : new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Dimensional), - new GT_RenderedTexture(Textures.BlockIcons.VOID) }; - } - - // To-Do? - @Override - public boolean doesFillContainers() { - return false; - } - - @Override - public boolean doesEmptyContainers() { - return false; - } - - @Override - public boolean canTankBeFilled() { - return false; - } - - @Override - public boolean canTankBeEmptied() { - return false; - } - - @Override - public boolean displaysItemStack() { - return false; - } - - @Override - public boolean displaysStackSize() { - return false; - } - - private GT_MetaTileEntity_TesseractGenerator getGeneratorEntity() { - GT_MetaTileEntity_TesseractGenerator thisGenerator = TesseractHelper - .getGeneratorByFrequency(PlayerUtils.getPlayerOnServerFromUUID(mOwner), this.mFrequency); - if (thisGenerator != null) { - return thisGenerator; - } - return null; - } - - private GT_MetaTileEntity_TesseractGenerator getGeneratorEntity(int frequency) { - GT_MetaTileEntity_TesseractGenerator thisGenerator = TesseractHelper - .getGeneratorByFrequency(PlayerUtils.getPlayerOnServerFromUUID(mOwner), frequency); - if (thisGenerator != null) { - return thisGenerator; - } - return null; - } - - @Override - public void onCreated(ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - if (this.getBaseMetaTileEntity() - .getOwnerName() != null - && !this.getBaseMetaTileEntity() - .getOwnerName() - .equals("")) { - this.mOwner = PlayerUtils.getPlayersUUIDByName( - this.getBaseMetaTileEntity() - .getOwnerName()); - Logger.WARNING("Setting Generators Owner. 2"); - } - super.onCreated(aStack, aWorld, aPlayer); - } - - @Override - public void onRemoval() { - try { - CORE.sTesseractGeneratorOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - super.onRemoval(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java deleted file mode 100644 index 659f34e0d8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java +++ /dev/null @@ -1,644 +0,0 @@ -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 net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; - -import org.apache.commons.lang3.ArrayUtils; - -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_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.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import gtPlusPlus.xmod.gregtech.common.helpers.tesseract.TesseractHelper; - -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) { - super(aID, aName, aNameRegional, aTier, 3, ""); - } - - public GT_MetaTileEntity_TesseractTerminal(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, 3, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_TesseractTerminal(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public boolean isTransformerUpgradable() { - return false; - } - - @Override - public boolean isOverclockerUpgradable() { - return false; - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return true; - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return side == this.getBaseMetaTileEntity() - .getBackFacing(); - } - - @Override - public boolean isValidSlot(final int aIndex) { - return false; - } - - @Override - public long getMinimumStoredEU() { - return (this.getBaseMetaTileEntity() - .getEUCapacity() / 100); - } - - @Override - public long maxEUInput() { - return TESSERACT_ENERGY_COST_DIMENSIONAL; - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public long maxEUStore() { - return TESSERACT_ENERGY_COST_DIMENSIONAL * 8 * 32; - } - - @Override - public long maxSteamStore() { - return this.maxEUStore(); - } - - @Override - public boolean ownerControl() { - return true; - } - - @Override - public int getProgresstime() { - return this.getTesseract(this.mFrequency, false) != null ? 999 : 0; - } - - @Override - public int maxProgresstime() { - return 1000; - } - - @Override - public void saveNBTData(final NBTTagCompound aNBT) { - aNBT.setInteger("mFrequency", this.mFrequency); - aNBT.setString("mOwner", mOwner.toString()); - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - this.mFrequency = aNBT.getInteger("mFrequency"); - this.mOwner = UUID.fromString(aNBT.getString("mOnwer")); - } - - @Override - public void onConfigLoad(final GT_Config aConfig) { - sInterDimensionalTesseractAllowed = true; - TESSERACT_ENERGY_COST = 512; - TESSERACT_ENERGY_COST_DIMENSIONAL = 2048; - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer, - final ForgeDirection side, final float aX, final float aY, final float aZ) { - - if (this.mOwner == null) { - if (this.getBaseMetaTileEntity() - .getOwnerName() != null - && !this.getBaseMetaTileEntity() - .getOwnerName() - .equals("")) { - if (this.getBaseMetaTileEntity() - .getOwnerName() - .toLowerCase() - .equals( - aPlayer.getDisplayName() - .toLowerCase())) { - this.mOwner = PlayerUtils.getPlayersUUIDByName( - this.getBaseMetaTileEntity() - .getOwnerName()); - } - } - } - - if (aPlayer.getUniqueID() - .compareTo(this.mOwner) == 0) { - if (side == this.getBaseMetaTileEntity() - .getFrontFacing()) { - final float[] tCoords = GT_Utility.getClickedFacingCoords(side, aX, aY, aZ); - switch ((byte) ((byte) (int) (tCoords[0] * 2.0F) + (2 * (byte) (int) (tCoords[1] * 2.0F)))) { - case 0: - // Utils.LOG_WARNING("Freq. -1 | " + this.mFrequency); - try { - CORE.sTesseractTerminalOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency -= 1; - break; - case 1: - // Utils.LOG_WARNING("Freq. +1 | " + this.mFrequency); - try { - CORE.sTesseractTerminalOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency += 1; - default: - // Utils.LOG_WARNING("Did not click the correct place."); - try { - CORE.sTesseractTerminalOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - break; - } - PlayerUtils.messagePlayer(aPlayer, "Frequency: " + this.mFrequency); - if (this.getTesseract(this.mFrequency, false) != null) { - PlayerUtils.messagePlayer( - aPlayer, - new StringBuilder().append(EnumChatFormatting.GREEN) - .append(" (Connected)") - .toString()); - } - } - } else if (aPlayer.getUniqueID() - .compareTo(this.mOwner) != 0) { - GT_Utility.sendChatToPlayer(aPlayer, "This is not your Tesseract Terminal to configure."); - } - return true; - } - - @Override - public void onScrewdriverRightClick(final ForgeDirection side, final EntityPlayer aPlayer, final float aX, - final float aY, final float aZ) { - if (aPlayer.getUniqueID() - .compareTo(this.mOwner) == 0) { - if (side == this.getBaseMetaTileEntity() - .getFrontFacing()) { - final float[] tCoords = GT_Utility.getClickedFacingCoords(side, aX, aY, aZ); - switch ((byte) ((byte) (int) (tCoords[0] * 2.0F) + (2 * (byte) (int) (tCoords[1] * 2.0F)))) { - case 0 -> { - try { - CORE.sTesseractTerminalOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency -= 64; - } - case 1 -> { - try { - CORE.sTesseractTerminalOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency += 64; - } - case 2 -> { - try { - CORE.sTesseractTerminalOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency -= 512; - } - case 3 -> { - try { - CORE.sTesseractTerminalOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - this.mFrequency += 512; - } - } - GT_Utility.sendChatToPlayer( - aPlayer, - "Frequency: " + this.mFrequency - + (this.getTesseract(this.mFrequency, false) == null ? "" - : new StringBuilder().append(EnumChatFormatting.GREEN) - .append(" (Connected)") - .toString())); - } - } else if (aPlayer.getUniqueID() - .compareTo(this.mOwner) != 0) { - GT_Utility.sendChatToPlayer(aPlayer, "This is not your Tesseract Terminal to configure."); - } - } - - public boolean allowCoverOnSide(final ForgeDirection side, final int aCoverID) { - return side != this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - public GT_MetaTileEntity_TesseractGenerator getTesseract(final int aFrequency, final boolean aWorkIrrelevant) { - final GT_MetaTileEntity_TesseractGenerator rTesseract = TesseractHelper - .getGeneratorByFrequency(PlayerUtils.getPlayerOnServerFromUUID(mOwner), aFrequency); - if (rTesseract == null) { - return null; - } - if (!TesseractHelper.isGeneratorOwnedByPlayer(PlayerUtils.getPlayerOnServerFromUUID(mOwner), rTesseract)) { - return null; - } - if (rTesseract.mFrequency != aFrequency) { - TesseractHelper.setTerminalOwnershipByPlayer( - PlayerUtils.getPlayerOnServerFromUUID(mOwner), - Integer.valueOf(aFrequency), - null); - return null; - } - if (!rTesseract.isValidTesseractGenerator( - this.getBaseMetaTileEntity() - .getOwnerName(), - aWorkIrrelevant)) { - return null; - } - if ((!sInterDimensionalTesseractAllowed) && (rTesseract.getBaseMetaTileEntity() - .getWorld() - != this.getBaseMetaTileEntity() - .getWorld())) { - return null; - } - return rTesseract; - } - - @Override - public String[] getInfoData() { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity != null) && (this.getBaseMetaTileEntity() - .isAllowedToWork()) && (tTileEntity.isSendingInformation())) { - return tTileEntity.getInfoData(); - } - return new String[] { "Tesseract Generator", "Freqency:", "" + this.mFrequency, - this.getTesseract(this.mFrequency, false) != null ? "Active" : "Inactive" }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public boolean isDigitalChest() { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - return tTileEntity.isDigitalChest(); - } - - @Override - public ItemStack[] getStoredItemData() { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return null; - } - return tTileEntity.getStoredItemData(); - } - - @Override - public void setItemCount(final int aCount) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return; - } - tTileEntity.setItemCount(aCount); - } - - @Override - public int getMaxItemCount() { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return 0; - } - return tTileEntity.getMaxItemCount(); - } - - @Override - public boolean isItemValidForSlot(final int aIndex, final ItemStack aStack) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - return tTileEntity.isItemValidForSlot(aIndex, aStack); - } - - @Override - public int[] getAccessibleSlotsFromSide(final int ordinalSide) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return new int[0]; - } - return tTileEntity.getAccessibleSlotsFromSide(ordinalSide); - } - - @Override - public boolean canInsertItem(final int aIndex, final ItemStack aStack, final int ordinalSide) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - return tTileEntity.canInsertItem(aIndex, aStack, ordinalSide); - } - - @Override - public boolean canExtractItem(final int aIndex, final ItemStack aStack, final int ordinalSide) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - return tTileEntity.canExtractItem(aIndex, aStack, ordinalSide); - } - - @Override - public int getSizeInventory() { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return 0; - } - return tTileEntity.getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(final int aIndex) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return null; - } - return tTileEntity.getStackInSlot(aIndex); - } - - @Override - public void setInventorySlotContents(final int aIndex, final ItemStack aStack) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return; - } - tTileEntity.setInventorySlotContents(aIndex, aStack); - } - - @Override - public ItemStack decrStackSize(final int aIndex, final int aAmount) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return null; - } - return tTileEntity.decrStackSize(aIndex, aAmount); - } - - @Override - public String getInventoryName() { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return ""; - } - return tTileEntity.getInventoryName(); - } - - @Override - public int getInventoryStackLimit() { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return 0; - } - return tTileEntity.getInventoryStackLimit(); - } - - @Override - public boolean canFill(final ForgeDirection aSide, final Fluid aFluid) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - return tTileEntity.canFill(aSide, aFluid); - } - - @Override - public boolean canDrain(final ForgeDirection aSide, final Fluid aFluid) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return false; - } - return tTileEntity.canDrain(aSide, aFluid); - } - - @Override - public FluidTankInfo[] getTankInfo(final ForgeDirection aSide) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return new FluidTankInfo[0]; - } - return tTileEntity.getTankInfo(aSide); - } - - @Override - public int fill_default(final ForgeDirection aDirection, final FluidStack aFluid, final boolean doFill) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return 0; - } - return tTileEntity.fill(aDirection, aFluid, doFill); - } - - @Override - public FluidStack drain(final ForgeDirection aDirection, final int maxDrain, final boolean doDrain) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return null; - } - return tTileEntity.drain(aDirection, maxDrain, doDrain); - } - - @Override - public FluidStack drain(final ForgeDirection aSide, final FluidStack aFluid, final boolean doDrain) { - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, false); - if ((tTileEntity == null) || (!this.getBaseMetaTileEntity() - .isAllowedToWork())) { - return null; - } - return tTileEntity.drain(aSide, aFluid, doDrain); - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if ((this.getBaseMetaTileEntity() - .isServerSide()) - && (this.getBaseMetaTileEntity() - .isAllowedToWork())) { - // Set owner - if (PlayerUtils.getPlayersUUIDByName( - this.getBaseMetaTileEntity() - .getOwnerName()) - != null) { - if (this.mOwner == null) { - this.mOwner = PlayerUtils.getPlayersUUIDByName( - this.getBaseMetaTileEntity() - .getOwnerName()); - } - } - final GT_MetaTileEntity_TesseractGenerator tTileEntity = this.getTesseract(this.mFrequency, true); - if (tTileEntity != null) { - tTileEntity.addEnergyConsumption(this); - if ((!this.mDidWork) && (this.getTesseract(this.mFrequency, false) != null)) { - this.mDidWork = true; - this.getBaseMetaTileEntity() - .issueBlockUpdate(); - this.getBaseMetaTileEntity() - .decreaseStoredEnergyUnits(128, false); - } - } else if (this.mDidWork == true) { - this.mDidWork = false; - this.getBaseMetaTileEntity() - .issueBlockUpdate(); - } - } - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll( - this.mDescriptionArray, - "Accesses Tesseract Generators remotely", - "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.get()); - } - - @Override - public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - return new ITexture[0][0][0]; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return side == facing - ? new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Dimensional), - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_Frequency) } - : new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Dimensional), - new GT_RenderedTexture(Textures.BlockIcons.VOID) }; - } - - // To-Do? - @Override - public boolean doesFillContainers() { - return false; - } - - @Override - public boolean doesEmptyContainers() { - return false; - } - - @Override - public boolean canTankBeFilled() { - return false; - } - - @Override - public boolean canTankBeEmptied() { - return false; - } - - @Override - public boolean displaysItemStack() { - return false; - } - - @Override - public boolean displaysStackSize() { - return false; - } - - @Override - public void onCreated(ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - if (this.getBaseMetaTileEntity() - .getOwnerName() != null - && !this.getBaseMetaTileEntity() - .getOwnerName() - .equals("")) { - this.mOwner = PlayerUtils.getPlayersUUIDByName( - this.getBaseMetaTileEntity() - .getOwnerName()); - } - super.onCreated(aStack, aWorld, aPlayer); - } - - @Override - public void onRemoval() { - try { - CORE.sTesseractTerminalOwnershipMap.get(mOwner) - .remove(this.mFrequency); - } catch (Throwable t) {} - super.onRemoval(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java deleted file mode 100644 index b27c1a759a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java +++ /dev/null @@ -1,333 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.generators; - -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidTankInfo; - -import org.apache.commons.lang3.ArrayUtils; - -import com.gtnewhorizons.modularui.api.drawable.IDrawable; -import com.gtnewhorizons.modularui.api.drawable.UITexture; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.gui.modularui.GUITextureSet; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.objects.GT_ItemStack; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.common.tileentities.boilers.GT_MetaTileEntity_Boiler; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; - -public class GT_MetaTileEntity_Boiler_Base extends GT_MetaTileEntity_Boiler { - - private final int steamPerSecond; - private final int tier; - - public GT_MetaTileEntity_Boiler_Base(int aID, String aNameRegional, int tier) { - super( - aID, - "electricboiler." + tier + ".tier.single", - aNameRegional, - "Produces " + (CORE.ConfigSwitches.boilerSteamPerSecond * tier) + "L of Steam per second"); - this.steamPerSecond = (CORE.ConfigSwitches.boilerSteamPerSecond * tier); - this.tier = tier; - } - - public GT_MetaTileEntity_Boiler_Base(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - this.steamPerSecond = (CORE.ConfigSwitches.boilerSteamPerSecond * aTier); - this.tier = aTier; - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll( - this.mDescriptionArray, - "Produces " + getPollution() + " pollution/sec", - "Consumes fuel only when temperature is less than 100C", - "Fuel with burn time greater than 500 is more efficient.", - "Doesn't explode if there's no water", - CORE.GT_Tooltip.get()); - } - - public ITexture getOverlayIcon() { - return new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT); - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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; - } - - protected GT_RenderedTexture getCasingTexture() { - if (this.tier == 1) { - return new GT_RenderedTexture(Textures.BlockIcons.MACHINE_LV_SIDE); - } else if (this.tier == 2) { - return new GT_RenderedTexture(Textures.BlockIcons.MACHINE_MV_SIDE); - } else { - return new GT_RenderedTexture(Textures.BlockIcons.MACHINE_HV_SIDE); - } - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 - : side == facing.getOpposite() ? 1 - : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.tier][aColor + 1], this.getCasingTexture() }; - } - - public ITexture[] getBack(final byte aColor) { - return this.getSides(aColor); - } - - public ITexture[] getBottom(final byte aColor) { - return this.getSides(aColor); - } - - public ITexture[] getTop(final byte aColor) { - return this.getSides(aColor); - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.tier][aColor + 1], this.getCasingTexture() }; - } - - public ITexture[] getFrontActive(final byte aColor) { - return this.getFront(aColor); - } - - public ITexture[] getBackActive(final byte aColor) { - return this.getSides(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); - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return side != this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public boolean isFacingValid(final ForgeDirection side) { - return side.offsetY == 0; - } - - // Please find out what I do. - // I do stuff within the GUI. - // this.mTemperature = Math.min(54, Math.max(0, this.mTemperature * 54 / (((GT_MetaTileEntity_Boiler) - // this.mTileEntity.getMetaTileEntity()).maxProgresstime() - 10))); - @Override - public int maxProgresstime() { - return 1000 + (250 * tier); - } - - @Override - public boolean isElectric() { - return false; - } - - @Override - public int getCapacity() { - return (16000 + (16000 * tier)); - } - - // This type of machine can have different water and steam capacities. - @Override - public int getSteamCapacity() { - return 2 * getCapacity(); - } - - @Override - protected int getProductionPerSecond() { - return steamPerSecond; - } - - @Override - protected int getMaxTemperature() { - return maxProgresstime(); - } - - @Override - protected int getEnergyConsumption() { - return 2; - } - - @Override - protected int getCooldownInterval() { - return 40; - } - - @Override - protected int getHeatUpRate() { - return 10; - } - - @Override - protected void updateFuel(IGregTechTileEntity tile, long ticks) { - ItemStack fuelStack = this.mInventory[2]; - if (fuelStack == null) return; - - int burnTime = getBurnTime(fuelStack); - if (burnTime > 0 && this.mTemperature <= 101) { - consumeFuel(tile, fuelStack, burnTime); - } - } - - @Override - // Since this type of machine can have different water and steam capacities, we need to override getTankInfo() to - // support returning those different capacities. - public FluidTankInfo[] getTankInfo(ForgeDirection aSide) { - return new FluidTankInfo[] { new FluidTankInfo(this.mFluid, getCapacity()), - new FluidTankInfo(this.mSteam, getSteamCapacity()) }; - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return aIndex == 1 || aIndex == 3; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return aIndex == 2; - } - - @Override - protected int getPollution() { - return (int) (CORE.ConfigSwitches.basePollutionPerSecondBoiler - * CORE.ConfigSwitches.pollutionReleasedByTierBoiler[this.tier]); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Boiler_Base(this.mName, tier, this.mDescriptionArray, this.mTextures); - } - - @Override - protected void onDangerousWaterLack(IGregTechTileEntity tile, long ticks) { - // Smart boilers don't explode! - } - - /** - * Returns burn time if the stack is a valid fuel, otherwise return 0. - */ - private static int getBurnTime(ItemStack stack) { - int burnTime = GameRegistry.getFuelValue(stack); - if (burnTime <= 0) { - burnTime = TileEntityFurnace.getItemBurnTime(stack); - } - - return burnTime; - } - - public void consumeFuel(IGregTechTileEntity tile, ItemStack fuel, int burnTime) { - this.mProcessingEnergy += burnTime / 10; - this.mTemperature += burnTime / 500; // will add bonus temperature points if the burn time is pretty high - - tile.decrStackSize(2, 1); - if (tile.getRandomNumber(3) == 0) { - if (fuel.getDisplayName() - .toLowerCase() - .contains("charcoal") - || fuel.getDisplayName() - .toLowerCase() - .contains("coke")) { - tile.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L)); - } else { - tile.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L)); - } - } - } - - @Override - public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aCover) { - if (side != this.getBaseMetaTileEntity() - .getFrontFacing()) { - return true; - } - return super.allowCoverOnSide(side, aCover); - } - - @Override - public GUITextureSet getGUITextureSet() { - return GUITextureSet.DEFAULT; - } - - @Override - protected IDrawable[] getFuelSlotBackground() { - return new IDrawable[] { getGUITextureSet().getItemSlot(), GTPP_UITextures.OVERLAY_SLOT_COAL }; - } - - @Override - protected IDrawable[] getAshSlotBackground() { - return new IDrawable[] { getGUITextureSet().getItemSlot(), GT_UITextures.OVERLAY_SLOT_DUST }; - } - - @Override - public int getTitleColor() { - return COLOR_TITLE.get(); - } - - @Override - protected IDrawable getOverlaySlotIn() { - return GT_UITextures.OVERLAY_SLOT_IN; - } - - @Override - protected IDrawable getOverlaySlotOut() { - return GT_UITextures.OVERLAY_SLOT_OUT; - } - - @Override - protected IDrawable getOverlaySlotCanister() { - return GTPP_UITextures.OVERLAY_SLOT_CANISTER_DARK; - } - - @Override - protected UITexture getProgressbarEmpty() { - return GTPP_UITextures.PROGRESSBAR_BOILER_EMPTY; - } - - @Override - protected UITexture getProgressbarFuel() { - return GTPP_UITextures.PROGRESSBAR_FUEL; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_HV.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_HV.java deleted file mode 100644 index e77915aa01..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_HV.java +++ /dev/null @@ -1,52 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.generators; - -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 gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_Boiler_HV extends GT_MetaTileEntity_Boiler_Base { - - public GT_MetaTileEntity_Boiler_HV(int aID, String aNameRegional, int aBoilerTier) { - super(aID, aNameRegional, aBoilerTier); - } - - public GT_MetaTileEntity_Boiler_HV(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Boiler_HV(this.mName, 3, this.mDescriptionArray, this.mTextures); - } - - @Override - protected GT_RenderedTexture getCasingTexture() { - return new GT_RenderedTexture(Textures.BlockIcons.MACHINE_HV_SIDE); - } - - @Override - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { super.getFront(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT) }; - } - - @Override - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { super.getTop(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(TexturesGtBlock.Casing_Material_Talonite) }; - } - - @Override - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { super.getFrontActive(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT_ACTIVE) }; - } - - @Override - public ITexture[] getTopActive(final byte aColor) { - return getTop(aColor); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_LV.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_LV.java deleted file mode 100644 index 23abfe1e3f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_LV.java +++ /dev/null @@ -1,52 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.generators; - -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 gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_Boiler_LV extends GT_MetaTileEntity_Boiler_Base { - - public GT_MetaTileEntity_Boiler_LV(int aID, String aNameRegional, int aBoilerTier) { - super(aID, aNameRegional, aBoilerTier); - } - - public GT_MetaTileEntity_Boiler_LV(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Boiler_LV(this.mName, 1, this.mDescriptionArray, this.mTextures); - } - - @Override - protected GT_RenderedTexture getCasingTexture() { - return new GT_RenderedTexture(Textures.BlockIcons.MACHINE_LV_SIDE); - } - - @Override - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { super.getFront(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT) }; - } - - @Override - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { super.getTop(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(TexturesGtBlock.Casing_Material_Potin) }; - } - - @Override - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { super.getFrontActive(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT_ACTIVE) }; - } - - @Override - public ITexture[] getTopActive(final byte aColor) { - return getTop(aColor); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_MV.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_MV.java deleted file mode 100644 index 379f67b55d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_MV.java +++ /dev/null @@ -1,52 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.generators; - -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 gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MetaTileEntity_Boiler_MV extends GT_MetaTileEntity_Boiler_Base { - - public GT_MetaTileEntity_Boiler_MV(int aID, String aNameRegional, int aBoilerTier) { - super(aID, aNameRegional, aBoilerTier); - } - - public GT_MetaTileEntity_Boiler_MV(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Boiler_MV(this.mName, 2, this.mDescriptionArray, this.mTextures); - } - - @Override - protected GT_RenderedTexture getCasingTexture() { - return new GT_RenderedTexture(Textures.BlockIcons.MACHINE_MV_SIDE); - } - - @Override - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { super.getFront(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT) }; - } - - @Override - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { super.getTop(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(TexturesGtBlock.Casing_Material_Tumbaga) }; - } - - @Override - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { super.getFrontActive(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT_ACTIVE) }; - } - - @Override - public ITexture[] getTopActive(final byte aColor) { - return getTop(aColor); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java deleted file mode 100644 index 993b0e9035..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java +++ /dev/null @@ -1,173 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.generators; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.GregTech_API; -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_ItemStack; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; - -public class GT_MetaTileEntity_SemiFluidGenerator extends GT_MetaTileEntity_BasicGenerator { - - public int mEfficiency; - - public GT_MetaTileEntity_SemiFluidGenerator(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, "Requires semi-fluid Fuel", new ITexture[0]); - onConfigLoad(); - } - - public GT_MetaTileEntity_SemiFluidGenerator(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - onConfigLoad(); - } - - @Override - public int getPollution() { - return (int) (CORE.ConfigSwitches.basePollutionPerSecondSemiFluidGenerator - * CORE.ConfigSwitches.pollutionReleasedByTierSemiFluidGenerator[this.mTier]); - } - - @Override - public int getCapacity() { - return 16000; - } - - public void onConfigLoad() { - this.mEfficiency = GregTech_API.sMachineFile.get( - ConfigCategories.machineconfig, - "SemiFluidGenerator.efficiency.tier." + this.mTier, - 100 - (this.mTier * 5)); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_SemiFluidGenerator(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public RecipeMap getRecipeMap() { - // Logger.WARNING("Fuel Count: "+Gregtech_Recipe_Map.sSemiFluidLiquidFuels.mRecipeList.size()); - return GTPPRecipeMaps.semiFluidFuels; - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll( - this.mDescriptionArray, - "Produces " + (this.getPollution()) + " pollution/sec", - "Fuel Efficiency: " + this.getEfficiency() + "%", - CORE.GT_Tooltip.get()); - } - - @Override - public int getEfficiency() { - return this.mEfficiency; - } - - @Override - public boolean isOutputFacing(ForgeDirection side) { - return (side == getBaseMetaTileEntity().getFrontFacing()); - } - - @Override - public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aCover) { - if (side != this.getBaseMetaTileEntity() - .getFrontFacing()) { - return true; - } - return super.allowCoverOnSide(side, aCover); - } - - @Override - public int getFuelValue(ItemStack aStack) { - if ((GT_Utility.isStackInvalid(aStack)) || (getRecipeMap() == null)) { - Logger.WARNING("Bad Fuel?"); - return 0; - } - int rValue = Math.max(GT_ModHandler.getFuelValue(aStack) * 6 / 5, super.getFuelValue(aStack)); - if (ItemList.Fuel_Can_Plastic_Filled.isStackEqual(aStack, false, true)) { - rValue = Math.max(rValue, GameRegistry.getFuelValue(aStack) * 3); - } - Logger.WARNING("Good Fuel: " + rValue); - return rValue; - } - - @Override - public ITexture[] getFront(byte aColor) { - return new ITexture[] { super.getFront(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_FRONT), - Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] }; - } - - @Override - public ITexture[] getBack(byte aColor) { - return new ITexture[] { super.getBack(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_TOP) }; - } - - @Override - public ITexture[] getBottom(byte aColor) { - return new ITexture[] { super.getBottom(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BOTTOM) }; - } - - @Override - public ITexture[] getTop(byte aColor) { - return new ITexture[] { super.getTop(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_SIDE) }; - } - - @Override - public ITexture[] getSides(byte aColor) { - return new ITexture[] { super.getSides(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_TOP) }; - } - - @Override - public ITexture[] getFrontActive(byte aColor) { - return new ITexture[] { super.getFrontActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_FRONT_ACTIVE), - Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] }; - } - - @Override - public ITexture[] getBackActive(byte aColor) { - return new ITexture[] { super.getBackActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_TOP_ACTIVE) }; - } - - @Override - public ITexture[] getBottomActive(byte aColor) { - return new ITexture[] { super.getBottomActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BOTTOM_ACTIVE) }; - } - - @Override - public ITexture[] getTopActive(byte aColor) { - return new ITexture[] { super.getTopActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_SIDE_ACTIVE) }; - } - - @Override - public ITexture[] getSidesActive(byte aColor) { - return new ITexture[] { super.getSidesActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_TOP_ACTIVE) }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java deleted file mode 100644 index e1f1c8a2e6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java +++ /dev/null @@ -1,176 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.generators; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.GregTech_API; -import gregtech.api.enums.ConfigCategories; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UIInfos; -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.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntityGeothermalGenerator extends GT_MetaTileEntity_BasicGenerator { - - public int mEfficiency; - - public GregtechMetaTileEntityGeothermalGenerator(final int aID, final String aName, final String aNameRegional, - final int aTier) { - super(aID, aName, aNameRegional, aTier, "Requires Pahoehoe Lava or Normal Lava as Fuel", new ITexture[0]); - this.onConfigLoad(); - } - - public GregtechMetaTileEntityGeothermalGenerator(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - this.onConfigLoad(); - } - - @Override - public String[] getDescription() { - String aPollution = "Causes " + this.getPollution() + " Pollution per second"; - return ArrayUtils.addAll( - this.mDescriptionArray, - "Generates power at " + this.getEfficiency() + "% Efficiency per tick", - aPollution, - CORE.GT_Tooltip.get()); - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public int getCapacity() { - // return MathUtils.roundToClosestMultiple(32000*(this.mTier/2), 25000); - return 5000 * this.mTier; - } - - public void onConfigLoad() { - this.mEfficiency = GregTech_API.sMachineFile.get( - ConfigCategories.machineconfig, - "ThermalGenerator.efficiency.tier." + this.mTier, - (100 - (this.mTier * 7))); - } - - @Override - public int getEfficiency() { - return this.mEfficiency; - } - - @Override - public int getFuelValue(final ItemStack aStack) { - int rValue = Math.max((GT_ModHandler.getFuelValue(aStack) * 6) / 5, super.getFuelValue(aStack)); - if (ItemList.Fuel_Can_Plastic_Filled.isStackEqual(aStack, false, true)) { - rValue = Math.max(rValue, GameRegistry.getFuelValue(aStack) * 3); - } - return rValue; - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return side == this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntityGeothermalGenerator( - this.mName, - this.mTier, - this.mDescriptionArray, - this.mTextures); - } - - @Override - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { super.getFront(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_SIDE), - Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier] }; - } - - @Override - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { super.getBack(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BACK), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Diesel_Vertical) }; - } - - @Override - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { super.getBottom(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BOTTOM) }; - } - - @Override - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { super.getTop(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_SIDE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_ROCK_BREAKER) }; - } - - @Override - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { super.getSides(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.BOILER_LAVA_FRONT) }; - } - - @Override - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { super.getFrontActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_SIDE_ACTIVE), - Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier] }; - } - - @Override - public ITexture[] getBackActive(final byte aColor) { - return new ITexture[] { super.getBackActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BACK_ACTIVE), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Diesel_Vertical_Active) }; - } - - @Override - public ITexture[] getBottomActive(final byte aColor) { - return new ITexture[] { super.getBottomActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BOTTOM_ACTIVE) }; - } - - @Override - public ITexture[] getTopActive(final byte aColor) { - return new ITexture[] { super.getTopActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_SIDE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_ROCK_BREAKER_ACTIVE) }; - } - - @Override - public ITexture[] getSidesActive(final byte aColor) { - return new ITexture[] { super.getSidesActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.BOILER_LAVA_FRONT_ACTIVE) }; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.hotFuels; - } - - @Override - public int getPollution() { - return (int) (CORE.ConfigSwitches.basePollutionPerSecondGeothermalGenerator - * CORE.ConfigSwitches.pollutionReleasedByTierGeothermalGenerator[mTier]); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java deleted file mode 100644 index 45d4177709..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java +++ /dev/null @@ -1,156 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.generators; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.GregTech_API; -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.recipe.RecipeMap; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechRocketFuelGeneratorBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntityRocketFuelGenerator extends GregtechRocketFuelGeneratorBase { - - public int mEfficiency; - - public GregtechMetaTileEntityRocketFuelGenerator(final int aID, final String aName, final String aNameRegional, - final int aTier) { - super(aID, aName, aNameRegional, aTier, "Requires GT++ Rocket Fuels", new ITexture[0]); - this.onConfigLoad(); - } - - public GregtechMetaTileEntityRocketFuelGenerator(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - this.onConfigLoad(); - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return side == this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntityRocketFuelGenerator( - this.mName, - this.mTier, - this.mDescriptionArray, - this.mTextures); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.rocketFuels; - } - - @Override - public int getCapacity() { - return 32000; - } - - public void onConfigLoad() { - this.mEfficiency = GregTech_API.sMachineFile.get( - ConfigCategories.machineconfig, - "RocketEngine.efficiency.tier." + this.mTier, - 80 - (10 * (this.mTier - 4))); - } - - @Override - public int getEfficiency() { - int eff = 80 - (10 * (this.mTier - 4)); - return eff; - } - - @Override - public int getFuelValue(final ItemStack aStack) { - int rValue = Math.max((GT_ModHandler.getFuelValue(aStack) * 6) / 5, super.getFuelValue(aStack)); - if (ItemList.Fuel_Can_Plastic_Filled.isStackEqual(aStack, false, true)) { - rValue = Math.max(rValue, GameRegistry.getFuelValue(aStack) * 3); - } - return rValue; - } - - private GT_RenderedTexture getCasingTexture() { - if (this.mTier <= 4) { - return new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top); - } else if (this.mTier == 5) { - - return new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Advanced); - } else { - - return new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Ultra); - } - // return new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top); - } - - @Override - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { super.getFront(aColor)[0], this.getCasingTexture(), - Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier] }; - } - - @Override - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { super.getBack(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Vent) }; - } - - @Override - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { super.getBottom(aColor)[0], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - @Override - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { super.getTop(aColor)[0], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Redstone_Off) }; - } - - @Override - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { super.getSides(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Diesel_Horizontal) }; - } - - @Override - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { super.getFrontActive(aColor)[0], this.getCasingTexture(), - Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier] }; - } - - @Override - public ITexture[] getBackActive(final byte aColor) { - return new ITexture[] { super.getBackActive(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Vent_Fast) }; - } - - @Override - public ITexture[] getBottomActive(final byte aColor) { - return new ITexture[] { super.getBottomActive(aColor)[0], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - @Override - public ITexture[] getTopActive(final byte aColor) { - return new ITexture[] { super.getTopActive(aColor)[0], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Redstone_On) }; - } - - @Override - public ITexture[] getSidesActive(final byte aColor) { - return new ITexture[] { super.getSidesActive(aColor)[0], this.getCasingTexture(), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Diesel_Horizontal_Active) }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java deleted file mode 100644 index 32cf3a92cc..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java +++ /dev/null @@ -1,379 +0,0 @@ -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 net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import org.apache.commons.lang3.ArrayUtils; - -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.recipe.RecipeMap; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; -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; - -public class GregtechMetaTileEntity_RTG extends GT_MetaTileEntity_BasicGenerator { - - public int mEfficiency; - private long mTicksToBurnFor; - private int mVoltage = 0; - private GT_Recipe mCurrentRecipe; - private int mDaysRemaining = 0; - private int mDayTick = 0; - private byte mNewTier = 0; - - public int removeDayOfTime() { - if (this.mDaysRemaining > 0) { - return this.mDaysRemaining--; - } - return this.mDaysRemaining; - } - - // Generates fuel value based on MC days - public static int convertDaysToTicks(float days) { - int value = 0; - value = MathUtils.roundToClosestInt(20 * 86400 * days); - return value; - } - - public static long getTotalEUGenerated(int ticks, int voltage) { - return ticks * voltage; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setLong("mTicksToBurnFor", this.mTicksToBurnFor); - aNBT.setInteger("mVoltage", this.mVoltage); - aNBT.setInteger("mDaysRemaining", this.mDaysRemaining); - aNBT.setInteger("mDayTick", this.mDayTick); - aNBT.setByte("mNewTier", this.mNewTier); - - if (this.mCurrentRecipe != null) { - final NBTTagList list = new NBTTagList(); - final ItemStack stack = this.mCurrentRecipe.mInputs[0]; - if (stack != null) { - final NBTTagCompound data = new NBTTagCompound(); - stack.writeToNBT(data); - data.setInteger("mSlot", 0); - list.appendTag(data); - } - aNBT.setTag("mRecipeItem", list); - } - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - this.mTicksToBurnFor = aNBT.getLong("mTicksToBurnFor"); - this.mVoltage = aNBT.getInteger("mVoltage"); - this.mDaysRemaining = aNBT.getInteger("mDaysRemaining"); - this.mDayTick = aNBT.getInteger("mDayTick"); - this.mNewTier = aNBT.getByte("mNewTier"); - - try { - ReflectionUtils.setByte(this, "mTier", this.mNewTier); - } catch (Exception e) { - if (this.getBaseMetaTileEntity() != null) { - IGregTechTileEntity thisTile = this.getBaseMetaTileEntity(); - if (thisTile.isAllowedToWork() || thisTile.isActive()) { - thisTile.setActive(false); - } - } - } - - final NBTTagList list = aNBT.getTagList("mRecipeItem", 10); - final NBTTagCompound data = list.getCompoundTagAt(0); - ItemStack lastUsedFuel = ItemStack.loadItemStackFromNBT(data); - if (lastUsedFuel != null) { - this.mCurrentRecipe = getRecipeMap().findRecipe( - getBaseMetaTileEntity(), - false, - 9223372036854775807L, - null, - new ItemStack[] { lastUsedFuel }); - } - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (aBaseMetaTileEntity.isServerSide()) { - if (this.mDayTick < 24000) { - this.mDayTick++; - } else if (this.mDayTick >= 24000) { - this.mDayTick = 0; - this.mDaysRemaining = this.removeDayOfTime(); - } - } - - if ((aBaseMetaTileEntity.isServerSide()) && (aBaseMetaTileEntity.isAllowedToWork()) && (aTick % 10L == 0L)) { - long tProducedEU = 0L; - if (this.mFluid == null) { - if (aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() + getMinimumStoredEU()) { - this.mInventory[getStackDisplaySlot()] = null; - } else { - if (this.mInventory[getStackDisplaySlot()] == null) - this.mInventory[getStackDisplaySlot()] = new ItemStack(Blocks.fire, 1); - this.mInventory[getStackDisplaySlot()].setStackDisplayName( - "Generating: " - + GT_Utility.formatNumbers( - aBaseMetaTileEntity.getUniversalEnergyStored() - getMinimumStoredEU()) - + " EU"); - } - } else { - int tFuelValue = getFuelValue(this.mFluid); - int tConsumed = consumedFluidPerOperation(this.mFluid); - if ((tFuelValue > 0) && (tConsumed > 0) && (this.mFluid.amount > tConsumed)) { - long tFluidAmountToUse = Math.min( - this.mFluid.amount / tConsumed, - (maxEUStore() - aBaseMetaTileEntity.getUniversalEnergyStored()) / tFuelValue); - if ((tFluidAmountToUse > 0L) - && (aBaseMetaTileEntity.increaseStoredEnergyUnits(tFluidAmountToUse * tFuelValue, true))) { - tProducedEU = tFluidAmountToUse * tFuelValue; - FluidStack tmp260_257 = this.mFluid; - tmp260_257.amount = (int) (tmp260_257.amount - (tFluidAmountToUse * tConsumed)); - } - } - } - if ((this.mInventory[getInputSlot()] != null) - && (aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() * 20L + getMinimumStoredEU()) - && (GT_Utility.getFluidForFilledItem(this.mInventory[getInputSlot()], true) == null)) { - int tFuelValue = getFuelValue(this.mInventory[getInputSlot()]); - if (tFuelValue > 0) { - ItemStack tEmptyContainer = getEmptyContainer(this.mInventory[getInputSlot()]); - if (aBaseMetaTileEntity.addStackToSlot(getOutputSlot(), tEmptyContainer)) { - aBaseMetaTileEntity.increaseStoredEnergyUnits(tFuelValue, true); - aBaseMetaTileEntity.decrStackSize(getInputSlot(), 1); - tProducedEU = tFuelValue; - } - } - } - if ((tProducedEU > 0L) && (getPollution() > 0)) { - PollutionUtils - .addPollution(aBaseMetaTileEntity, (int) (tProducedEU * getPollution() / 500 * this.mTier + 1L)); - } - } - - if (aBaseMetaTileEntity.isServerSide()) aBaseMetaTileEntity.setActive( - (aBaseMetaTileEntity.isAllowedToWork()) - && (aBaseMetaTileEntity.getUniversalEnergyStored() >= maxEUOutput() + getMinimumStoredEU())); - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll( - this.mDescriptionArray, - "Fuel is measured in minecraft days (Check with Scanner)", - "RTG changes output voltage depending on fuel", - "Generates power at " + GT_Utility.formatNumbers(this.getEfficiency()) + "% Efficiency per tick", - "Output Voltage: " + GT_Utility.formatNumbers(this.getOutputTier()) + " EU/t", - CORE.GT_Tooltip.get()); - } - - public GregtechMetaTileEntity_RTG(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, "Requires RTG Pellets", new ITexture[0]); - } - - private byte getTier() { - int voltage = this.mVoltage; - if (voltage >= 512) { - return 4; - } else if (voltage >= 128) { - return 3; - } else if (voltage >= 32) { - return 2; - } else if (voltage >= 8) { - return 1; - } - return 0; - } - - public GregtechMetaTileEntity_RTG(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public boolean isOutputFacing(ForgeDirection side) { - return ((side.offsetY == 0) && (side != getBaseMetaTileEntity().getFrontFacing()) - && (side != getBaseMetaTileEntity().getBackFacing())); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_RTG(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.rtgFuels; - } - - @Override - public int getCapacity() { - return 0; - } - - @Override - public int getEfficiency() { - return this.mEfficiency = 100; - } - - @Override - public ITexture[] getFront(byte aColor) { - return new ITexture[] { super.getFront(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_MASSFAB) }; - } - - @Override - public ITexture[] getBack(byte aColor) { - return new ITexture[] { super.getBack(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP) }; - } - - @Override - public ITexture[] getBottom(byte aColor) { - return new ITexture[] { super.getBottom(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP) }; - } - - @Override - public ITexture[] getTop(byte aColor) { - return new ITexture[] { super.getTop(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP), - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_SIDE) }; - } - - @Override - public ITexture[] getSides(byte aColor) { - return new ITexture[] { gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS[this.mTier][(0)], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP_ACTIVE), - gregtech.api.enums.Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[getTier()] }; - } - - @Override - public ITexture[] getFrontActive(byte aColor) { - return new ITexture[] { super.getFrontActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP_ACTIVE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_MASSFAB_ACTIVE) }; - } - - @Override - public ITexture[] getBackActive(byte aColor) { - return new ITexture[] { super.getBackActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP_ACTIVE) }; - } - - @Override - public ITexture[] getBottomActive(byte aColor) { - return new ITexture[] { super.getBottomActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP_ACTIVE) }; - } - - @Override - public ITexture[] getTopActive(byte aColor) { - return new ITexture[] { super.getTopActive(aColor)[0], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP_ACTIVE), - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_SIDE_ACTIVE) }; - } - - @Override - public ITexture[] getSidesActive(byte aColor) { - return new ITexture[] { gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS[this.mTier][(0)], - new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP_ACTIVE), - gregtech.api.enums.Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[getTier()] }; - } - - @Override - public int getPollution() { - return 0; - } - - @Override - public int getFuelValue(ItemStack aStack) { - if ((GT_Utility.isStackInvalid(aStack)) || (getRecipeMap() == null)) return 0; - GT_Recipe tFuel = getRecipeMap() - .findRecipe(getBaseMetaTileEntity(), false, 9223372036854775807L, null, new ItemStack[] { aStack }); - if (tFuel != null) { - this.mCurrentRecipe = tFuel; - int voltage = tFuel.mEUt; - this.mVoltage = voltage; - // this.mDaysRemaining = tFuel.mSpecialValue*365; - - // Do some voodoo. - byte mTier2; - // mTier2 = ReflectionUtils.getField(this.getClass(), "mTier"); - try { - if (ItemStack.areItemStacksEqual(tFuel.mInputs[0], GregtechItemList.Pellet_RTG_AM241.get(1))) { - mTier2 = 1; - } else if (ItemStack.areItemStacksEqual(tFuel.mInputs[0], GregtechItemList.Pellet_RTG_PO210.get(1))) { - mTier2 = 3; - } else if (ItemStack.areItemStacksEqual(tFuel.mInputs[0], GregtechItemList.Pellet_RTG_PU238.get(1))) { - mTier2 = 2; - } else if (ItemStack.areItemStacksEqual(tFuel.mInputs[0], GregtechItemList.Pellet_RTG_SR90.get(1))) { - mTier2 = 1; - } else { - mTier2 = 0; - } - ReflectionUtils.setByte(this, "mTier", mTier2); - this.mNewTier = mTier2; - } catch (Exception e) { - Logger.WARNING("Failed setting mTier."); - e.printStackTrace(); - } - - this.mTicksToBurnFor = getTotalEUGenerated(convertDaysToTicks(tFuel.mSpecialValue), voltage); - if (mTicksToBurnFor >= Integer.MAX_VALUE) { - mTicksToBurnFor = Integer.MAX_VALUE; - Logger.WARNING("Fuel went over Int limit, setting to MAX_VALUE."); - } - this.mDaysRemaining = MathUtils.roundToClosestInt(mTicksToBurnFor / 20 / 60 / 3); - Logger.WARNING("step | " + (int) (mTicksToBurnFor * getEfficiency() / 100L)); - return (int) (mTicksToBurnFor * getEfficiency() / 100L); - } - Logger.WARNING("Not sure"); - return 0; - } - - @Override - public long maxEUOutput() { - return ((getBaseMetaTileEntity().isAllowedToWork()) ? this.mVoltage : 0L); - } - - @Override - public long getOutputTier() { - if (this.mCurrentRecipe != null) { - return this.mVoltage = this.mCurrentRecipe.mEUt; - } - return 0; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public String[] getInfoData() { - return new String[] { "RTG - Running at tier " + this.mTier, "Active: " + this.getBaseMetaTileEntity() - .isActive(), "Current Output: " + GT_Utility.formatNumbers(mVoltage) + " EU/t", - "Days of Fuel remaining: " + GT_Utility.formatNumbers(mTicksToBurnFor / 20 / 60 / 20), - "Hours of Fuel remaining: " + GT_Utility.formatNumbers(mTicksToBurnFor / 20 / 60 / 60), - "Ticks of " + this.mVoltage + "v remaining: " + mTicksToBurnFor, - this.mCurrentRecipe.mInputs[0].getDisplayName() + " x1" }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_CombustionGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_CombustionGenerator.java deleted file mode 100644 index 24770e9503..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_CombustionGenerator.java +++ /dev/null @@ -1,59 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.generators.ULV; - -import static gregtech.api.enums.GT_Values.V; - -import org.apache.commons.lang3.ArrayUtils; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.ConfigCategories; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.common.tileentities.generators.GT_MetaTileEntity_DieselGenerator; -import gtPlusPlus.core.lib.CORE; - -public class GT_MetaTileEntity_ULV_CombustionGenerator extends GT_MetaTileEntity_DieselGenerator { - - public GT_MetaTileEntity_ULV_CombustionGenerator(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier); - } - - public GT_MetaTileEntity_ULV_CombustionGenerator(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll( - this.mDescriptionArray, - "Produces " + (this.getPollution() * 20) + " pollution/sec", - "Fuel Efficiency: " + this.getEfficiency() + "%", - CORE.GT_Tooltip.get()); - } - - @Override - public long maxEUStore() { - return Math.max(getEUVar(), V[1] * 80L + getMinimumStoredEU()); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_ULV_CombustionGenerator( - this.mName, - this.mTier, - this.mDescriptionArray, - this.mTextures); - } - - @Override - public int getCapacity() { - return 16000; - } - - @Override - public void onConfigLoad() { - this.mEfficiency = GregTech_API.sMachineFile - .get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier." + this.mTier, 95); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_SteamTurbine.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_SteamTurbine.java deleted file mode 100644 index 26429b1486..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_SteamTurbine.java +++ /dev/null @@ -1,42 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.generators.ULV; - -import static gregtech.api.enums.GT_Values.V; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.ConfigCategories; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.common.tileentities.generators.GT_MetaTileEntity_SteamTurbine; - -public class GT_MetaTileEntity_ULV_SteamTurbine extends GT_MetaTileEntity_SteamTurbine { - - public GT_MetaTileEntity_ULV_SteamTurbine(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional, 0); - } - - public GT_MetaTileEntity_ULV_SteamTurbine(String aName, String[] aDescription, ITexture[][][] aTextures) { - super(aName, 0, aDescription, aTextures); - } - - @Override - public long maxEUStore() { - return Math.max(getEUVar(), V[1] * 80L + getMinimumStoredEU()); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_ULV_SteamTurbine(this.mName, this.mDescriptionArray, this.mTextures); - } - - @Override - public int getCapacity() { - return 16000; - } - - @Override - public void onConfigLoad() { - this.mEfficiency = GregTech_API.sMachineFile - .get(ConfigCategories.machineconfig, "SteamTurbine.efficiency.tier." + this.mTier, 6 + 1); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_CropHarvestor.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_CropHarvestor.java deleted file mode 100644 index c592a68a40..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_CropHarvestor.java +++ /dev/null @@ -1,716 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic; - -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map; -import java.util.Map.Entry; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import com.gtnewhorizon.gtnhlib.util.map.ItemStackMap; -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget; -import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; -import com.gtnewhorizons.modularui.common.widget.ProgressBar; -import com.gtnewhorizons.modularui.common.widget.SlotGroup; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank; -import gregtech.api.objects.GT_ItemStack; -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.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import ic2.api.crops.CropCard; -import ic2.api.crops.ICropTile; -import ic2.core.item.DamageHandler; - -public class GT_MetaTileEntity_CropHarvestor extends GT_MetaTileEntity_BasicTank { - - private static final int SLOT_WEEDEX_1 = 1; - private static final int SLOT_WEEDEX_2 = 2; - private static final int SLOT_FERT_1 = 3; - private static final int SLOT_FERT_4 = 6; - private static final int SLOT_OUTPUT_START = 7; - - public boolean mModeAlternative = false; - public boolean mHarvestEnabled = true; - - public GT_MetaTileEntity_CropHarvestor(final int aID, final int aTier, final String aDescription) { - super( - aID, - "basicmachine.cropharvester.0" + aTier, - "Crop Manager (" + GT_Values.VN[aTier] + ")", - aTier, - 21, - aDescription); - } - - public GT_MetaTileEntity_CropHarvestor(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, 21, aDescription, aTextures); - } - - @Override - public boolean isTransformerUpgradable() { - return true; - } - - @Override - public boolean isOverclockerUpgradable() { - return true; - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isInputFacing(ForgeDirection side) { - return true; - } - - @Override - public boolean isEnetInput() { - return true; - } - - @Override - public boolean isElectric() { - return true; - } - - @Override - public long maxAmperesIn() { - return 8; - } - - @Override - public long getMinimumStoredEU() { - return GT_Values.V[this.mTier]; - } - - @Override - public long maxEUStore() { - return GT_Values.V[this.mTier] * (this.mTier * GT_Values.V[this.mTier]); - } - - @Override - public long maxEUInput() { - return GT_Values.V[this.mTier]; - } - - @Override - public int getCapacity() { - return 32000 * this.mTier; - } - - @Override - public int getTankPressure() { - return -100; - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_CropHarvestor(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public int getSizeInventory() { - return 21; - } - - private static int getRange(int aTier) { - return switch (aTier) { - case 1 -> 1; - case 2 -> 5; - case 3 -> 9; - case 4 -> 13; - case 5 -> 17; - case 6 -> 21; - case 7 -> 25; - case 8 -> 29; - case 9 -> 33; - default -> 0; - }; - } - - private HashSet mCropCache = new HashSet<>(); - private boolean mInvalidCache = false; - - public boolean doesInventoryHaveSpace() { - for (int i = SLOT_OUTPUT_START; i < this.getSizeInventory(); i++) { - if (this.mInventory[i] == null || this.mInventory[i].stackSize < 64) { - return true; - } - } - return false; - } - - public long powerUsage() { - return this.maxEUInput() / 8; - } - - public long powerUsageSecondary() { - return this.maxEUInput() / 32; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (!getBaseMetaTileEntity().isServerSide() || !getBaseMetaTileEntity().isAllowedToWork() - || (!getBaseMetaTileEntity().hasWorkJustBeenEnabled() && aTick % 100 != 0)) return; - - if (this.getBaseMetaTileEntity() - .getUniversalEnergyStored() < getMinimumStoredEU()) return; - - int aTileX = this.getBaseMetaTileEntity() - .getXCoord(); - int aTileY = this.getBaseMetaTileEntity() - .getXCoord(); - int aTileZ = this.getBaseMetaTileEntity() - .getXCoord(); - - int aRadius = 10 + getRange(this.mTier); - int aSide = (aRadius - 1) / 2; - Map aAllDrops = new ItemStackMap<>(true); - - if (this.mCropCache.isEmpty() || aTick % 1200 == 0 || this.mInvalidCache) { - if (!this.mCropCache.isEmpty()) { - this.mCropCache.clear(); - } - // Logger.INFO("Looking for crops."); - for (int y = -2; y <= 2; y++) { - for (int x = (-aSide); x <= aSide; x++) { - for (int z = (-aSide); z <= aSide; z++) { - TileEntity tTileEntity = getBaseMetaTileEntity().getTileEntityOffset(x, y, z); - if (tTileEntity != null && tTileEntity instanceof ICropTile tCrop) { - this.mCropCache.add(tCrop); - } - } - } - } - } - - // Process Cache - if (!doesInventoryHaveSpace()) return; - - for (ICropTile tCrop : this.mCropCache) { - if (tCrop == null) { - this.mInvalidCache = true; - break; - } - CropCard aCrop = tCrop.getCrop(); - if (aCrop == null) continue; - - if (this.mModeAlternative) processSecondaryFunctions(tCrop); - if (!this.mHarvestEnabled) continue; - - if (aCrop.canBeHarvested(tCrop) && tCrop.getSize() == aCrop.getOptimalHavestSize(tCrop)) { - if (!getBaseMetaTileEntity().decreaseStoredEnergyUnits(powerUsage(), true)) continue; - ItemStack[] aHarvest = tCrop.harvest_automated(true); - if (aHarvest == null) continue; - - for (ItemStack aStack : aHarvest) { - if (!ItemUtils.checkForInvalidItems(aStack)) continue; - if (this.mTier * 5 > MathUtils.randInt(1, 100)) { - aStack.stackSize += Math.floor(tCrop.getGain() / 10); - Logger.INFO("Bonus output given for " + aCrop.displayName()); - } - Logger.INFO("Harvested " + aCrop.displayName()); - aAllDrops.merge(aStack, aStack.stackSize, Integer::sum); - } - } - } - - if (aAllDrops.isEmpty()) return; - - Logger.INFO("Handling " + aAllDrops.size() + " Harvests"); - for (int i = SLOT_OUTPUT_START; i < this.getSizeInventory() && !aAllDrops.isEmpty(); i++) { - ItemStack invStack = mInventory[i]; - if (invStack == null || GT_Utility.isStackInvalid(invStack) || invStack.stackSize == 0) { - Iterator> iter = aAllDrops.entrySet() - .iterator(); - if (!iter.hasNext()) return; - Entry e = iter.next(); - int toAdd = e.getValue(); - int toAddThisSlot = Math.min( - toAdd, - e.getKey() - .getMaxStackSize()); - getBaseMetaTileEntity().setInventorySlotContents(i, GT_Utility.copyAmount(toAddThisSlot, e.getKey())); - toAdd -= toAddThisSlot; - if (toAdd <= toAddThisSlot) { - iter.remove(); - } else { - e.setValue(toAdd); - } - } else { - Integer toAddMaybeNull = aAllDrops.get(invStack); - if (toAddMaybeNull != null) { - int toAdd = toAddMaybeNull; - int space = Math.min(invStack.getMaxStackSize(), getInventoryStackLimit()) - invStack.stackSize; - if (toAdd <= space) { - getBaseMetaTileEntity().addStackToSlot(i, invStack, toAdd); - aAllDrops.remove(invStack); - } else { - getBaseMetaTileEntity().addStackToSlot(i, invStack, space); - aAllDrops.put(invStack, toAdd - space); - } - } - } - } - } - - public boolean hasFertilizer() { - for (int i = SLOT_FERT_1; i <= SLOT_FERT_4; i++) { - if (this.mInventory[i] != null) { - return true; - } - } - return false; - } - - public boolean consumeFertilizer(boolean aSimulate) { - if (hasFertilizer()) { - for (int i = SLOT_FERT_1; i <= SLOT_FERT_4; i++) { - if (this.mInventory[i] != null) { - consume(i, 1, aSimulate); - return true; - } - } - } - return false; - } - - public boolean hasWeedEX() { - for (int i = SLOT_WEEDEX_1; i <= SLOT_WEEDEX_2; i++) { - if (this.mInventory[i] != null) { - return true; - } - } - return false; - } - - public boolean consumeWeedEX(boolean aSimulate) { - if (hasWeedEX()) { - for (int i = SLOT_WEEDEX_1; i <= SLOT_WEEDEX_2; i++) { - if (this.mInventory[i] != null) { - damage(i, 1, aSimulate); - return true; - } - } - } - return false; - } - - public void processSecondaryFunctions(ICropTile aCrop) { - if (!this.mModeAlternative) { - return; - } - if (hasFertilizer() && consumeFertilizer(true) - && this.getBaseMetaTileEntity() - .getUniversalEnergyStored() >= getMinimumStoredEU() - && getBaseMetaTileEntity().decreaseStoredEnergyUnits(powerUsageSecondary(), true) - && applyFertilizer(aCrop)) { - if (consumeFertilizer(false)) { - // Logger.INFO("Consumed Fert."); - } - } - if (this.getFluidAmount() > 0 && this.getBaseMetaTileEntity() - .getUniversalEnergyStored() >= getMinimumStoredEU() - && getBaseMetaTileEntity().decreaseStoredEnergyUnits(powerUsageSecondary(), true) - && applyHydration(aCrop)) { - // Logger.INFO("Consumed Water."); - } - if (hasWeedEX() && consumeWeedEX(true) - && this.getBaseMetaTileEntity() - .getUniversalEnergyStored() >= getMinimumStoredEU() - && getBaseMetaTileEntity().decreaseStoredEnergyUnits(powerUsageSecondary(), true) - && applyWeedEx(aCrop)) { - if (consumeWeedEX(false)) { - // Logger.INFO("Consumed Weed-EX."); - } - } - } - - public boolean applyWeedEx(ICropTile aCrop) { - if (aCrop.getWeedExStorage() < 150) { - aCrop.setWeedExStorage(aCrop.getWeedExStorage() + 50); - boolean triggerDecline; - triggerDecline = aCrop.getWorld().rand.nextInt(3) == 0; - if (aCrop.getCrop() != null && aCrop.getCrop() - .isWeed(aCrop) && aCrop.getWeedExStorage() >= 75 && triggerDecline) { - switch (aCrop.getWorld().rand.nextInt(5)) { - case 0: - if (aCrop.getGrowth() > 0) { - aCrop.setGrowth((byte) (aCrop.getGrowth() - 1)); - } - case 1: - if (aCrop.getGain() > 0) { - aCrop.setGain((byte) (aCrop.getGain() - 1)); - } - default: - if (aCrop.getResistance() > 0) { - aCrop.setResistance((byte) (aCrop.getResistance() - 1)); - } - } - } - return true; - } else { - return false; - } - } - - public boolean applyFertilizer(ICropTile aCrop) { - if (aCrop.getNutrientStorage() >= 100) { - return false; - } else { - // Logger.INFO("Current Nutrient: "+aCrop.getNutrientStorage()+" for "+aCrop.getCrop().displayName()); - aCrop.setNutrientStorage(aCrop.getNutrientStorage() + 100); - return true; - } - } - - public boolean applyHydration(ICropTile aCrop) { - if (aCrop.getHydrationStorage() >= 200 || this.getFluidAmount() == 0) { - // Logger.INFO("Hydration Max"); - return false; - } else { - int apply = 200 - aCrop.getHydrationStorage(); - if (this.getFluidAmount() >= 0) { - int drain = 0; - if (this.getFluidAmount() >= apply) { - drain = apply; - } else { - drain = this.getFluidAmount(); - } - this.mFluid.amount -= drain; - if (this.mFluid.amount <= 0) { - this.mFluid = null; - } - // Logger.INFO("Did Hydrate"); - aCrop.setHydrationStorage(aCrop.getHydrationStorage() + drain); - return true; - } else { - // Logger.INFO("No water?"); - return false; - } - } - } - - public boolean consume(int aSlot, int amount, boolean simulate) { - ItemStack stack = this.mInventory[aSlot]; - if (stack != null && stack.stackSize >= amount) { - int currentAmount = Math.min(amount, stack.stackSize); - amount -= currentAmount; - if (!simulate) { - if (stack.stackSize == currentAmount) { - this.mInventory[aSlot] = null; - } else { - stack.stackSize -= currentAmount; - } - } else { - return amount >= 0; - } - return true; - } - return false; - } - - public ItemStack damage(int aSlot, int amount, boolean simulate) { - ItemStack ret = null; - int damageApplied = 0; - ItemStack stack = this.mInventory[aSlot]; - Item item = stack.getItem(); - if (stack != null && item.isDamageable() - && (ret == null || stack.getItem() == ret.getItem() && ItemStack.areItemStackTagsEqual(stack, ret))) { - if (simulate) { - stack = stack.copy(); - } - int maxDamage = DamageHandler.getMaxDamage(stack); - while (amount > 0 && stack.stackSize > 0) { - int currentAmount = Math.min(amount, maxDamage - DamageHandler.getDamage(stack)); - DamageHandler.damage(stack, currentAmount, null); - damageApplied += currentAmount; - amount -= currentAmount; - if (DamageHandler.getDamage(stack) >= maxDamage) { - --stack.stackSize; - DamageHandler.setDamage(stack, 0); - } - - if (ret == null) { - ret = stack.copy(); - } - } - if (stack.stackSize == 0 && !simulate) { - this.mInventory[aSlot] = null; - } - } - - if (ret != null) { - int i = DamageHandler.getMaxDamage(ret); - ret.stackSize = damageApplied / i; - DamageHandler.setDamage(ret, damageApplied % i); - } - return ret; - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return aStack != null && aIndex >= SLOT_OUTPUT_START && aIndex < this.getSizeInventory(); - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - if (aStack != null) { - if (aStack.getItem() - .getUnlocalizedName() - .equals("ic2.itemFertilizer")) { - return aIndex >= SLOT_FERT_1 && aIndex <= SLOT_FERT_4; - } else if (aStack.getItem() - .getUnlocalizedName() - .equals("ic2.itemWeedEx")) { - return aIndex >= SLOT_WEEDEX_1 && aIndex <= SLOT_WEEDEX_2; - } - } - return false; - } - - @Override - public String[] getDescription() { - int aRadius = 10 + getRange(this.mTier); - int aSide = (aRadius - 1) / 2; - return ArrayUtils.addAll( - this.mDescriptionArray, - "Secondary mode can Hydrate/Fertilize/Weed-EX", - "Consumes " + powerUsage() + "eu per harvest", - "Consumes " + powerUsageSecondary() + "eu per secondary operation", - "Can harvest 1 block level above and below itself", - "Radius: " + aSide + " blocks each side (" + aRadius + "x3x" + aRadius + ")", - "Has " + (this.mTier * 5) + "% chance for extra drops", - "Holds " + this.getCapacity() + "L of Water", - CORE.GT_Tooltip.get()); - } - - @Override - public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aStack) { - return true; - } - - /* - * @Override public int getTextureIndex(byte aSide, byte aFacing, boolean aActive, boolean aRedstone) { if (aSide == - * aFacing) return 118+(aRedstone?8:0); if (GT_Utility.getOppositeSide(aSide) == aFacing) return - * 113+(aRedstone?8:0); int tIndex = 128+(aRedstone?8:0); switch (aFacing) { case 0: return tIndex+64; case 1: - * return tIndex+32; case 2: switch (aSide) { case 0: return tIndex+32; case 1: return tIndex+32; case 4: return - * tIndex+16; case 5: return tIndex+48; } case 3: switch (aSide) { case 0: return tIndex+64; case 1: return - * tIndex+64; case 4: return tIndex+48; case 5: return tIndex+16; } case 4: switch (aSide) { case 0: return - * tIndex+16; case 1: return tIndex+16; case 2: return tIndex+48; case 3: return tIndex+16; } case 5: switch (aSide) - * { case 0: return tIndex+48; case 1: return tIndex+48; case 2: return tIndex+16; case 3: return tIndex+48; } } - * return tIndex; } - */ - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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.getFront(i); - rTextures[6][i + 1] = this.getBack(i); - rTextures[7][i + 1] = this.getBottom(i); - rTextures[8][i + 1] = this.getTop(i); - rTextures[9][i + 1] = this.getSides(i); - } - return rTextures; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - if (side == ForgeDirection.DOWN || side == ForgeDirection.UP) { - return this.mTextures[3][aColorIndex + 1]; - } else { - return this.mTextures[4][aColorIndex + 1]; - } - /* - * return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 : aSide == GT_Utility.getOppositeSide(aFacing) - * ? 1 : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - */ - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_CropHarvester_Cutter) }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_CropHarvester_Cutter) }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_CropHarvester_Boxes) }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_CropHarvester_Boxes) }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_CropHarvester_Cutter) }; - } - - @Override - public boolean doesFillContainers() { - return false; - } - - @Override - public boolean doesEmptyContainers() { - return false; - } - - @Override - public boolean canTankBeFilled() { - return true; - } - - @Override - public boolean canTankBeEmptied() { - return false; - } - - @Override - public boolean displaysItemStack() { - return false; - } - - @Override - public boolean displaysStackSize() { - return false; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("mModeAlternative", this.mModeAlternative); - aNBT.setBoolean("mHarvestEnabled", this.mHarvestEnabled); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - this.mModeAlternative = aNBT.getBoolean("mModeAlternative"); - if (aNBT.hasKey("mHarvestEnabled")) { - this.mHarvestEnabled = aNBT.getBoolean("mHarvestEnabled"); - } - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget( - new CycleButtonWidget().setToggle(() -> mModeAlternative, val -> mModeAlternative = val) - .setTexture(GTPP_UITextures.OVERLAY_BUTTON_HARVESTER_MODE) - .addTooltip(0, "Enable Hydration/Fertilizing/Weed-EX") - .addTooltip(1, "Disable Hydration/Fertilizing/Weed-EX") - .setBackground(GT_UITextures.BUTTON_STANDARD) - .setPos(47, 63) - .setSize(18, 18)); - builder.widget( - new CycleButtonWidget().setToggle(() -> mHarvestEnabled, val -> mHarvestEnabled = val) - .setTexture(GTPP_UITextures.OVERLAY_BUTTON_HARVESTER_TOGGLE) - .addTooltip(0, "Enable Harvest") - .addTooltip(1, "Disable Harvest") - .setBackground(GT_UITextures.BUTTON_STANDARD) - .setPos(67, 63) - .setSize(18, 18)); - builder.widget( - SlotGroup.ofItemHandler(inventoryHandler, 2) - .startFromSlot(SLOT_WEEDEX_1) - .endAtSlot(SLOT_WEEDEX_2) - .applyForWidget( - widget -> widget.setFilter( - stack -> stack != null && stack.getItem() - .getUnlocalizedName() - .equals("ic2.itemWeedEx")) - .setBackground(getGUITextureSet().getItemSlot(), GTPP_UITextures.OVERLAY_SLOT_WEED_EX)) - .build() - .setPos(7, 13)) - .widget( - SlotGroup.ofItemHandler(inventoryHandler, 2) - .startFromSlot(SLOT_FERT_1) - .endAtSlot(SLOT_FERT_4) - .applyForWidget( - widget -> widget.setFilter( - stack -> stack != null && stack.getItem() - .getUnlocalizedName() - .equals("ic2.itemFertilizer")) - .setBackground(getGUITextureSet().getItemSlot(), GTPP_UITextures.OVERLAY_SLOT_FERTILIZER)) - .build() - .setPos(7, 31)) - .widget( - SlotGroup.ofItemHandler(inventoryHandler, 6) - .startFromSlot(SLOT_OUTPUT_START) - .endAtSlot(SLOT_OUTPUT_START + 6 * 3) - .canInsert(false) - .build() - .setPos(61, 7)); - builder - .widget( - new ProgressBar() - .setTexture(GTPP_UITextures.PROGRESSBAR_BOILER_EMPTY, GT_UITextures.PROGRESSBAR_BOILER_WATER, 54) - .setDirection(ProgressBar.Direction.UP) - .setProgress(() -> (float) getFluidAmount() / getCapacity()) - .setSynced(false, false) - .dynamicTooltip( - () -> Collections.singletonList("Water: " + getFluidAmount() + "L / " + getCapacity() + "L")) - .setPos(47, 7) - .setSize(10, 54)) - .widget(new FakeSyncWidget.FluidStackSyncer(this::getDrainableStack, this::setDrainableStack)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java deleted file mode 100644 index 9f2789b520..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java +++ /dev/null @@ -1,893 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic; - -import static gregtech.api.enums.GT_Values.V; - -import java.util.Collections; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.DrawableWidget; -import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; -import gregtech.api.objects.GT_ItemStack; -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.api.objects.data.AutoMap; -import gtPlusPlus.core.item.general.ItemAirFilter; -import gtPlusPlus.core.item.general.ItemBasicScrubberTurbine; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_BasicMachine { - - public int mPollutionReduction = 0; - protected int mBaseEff = 2500; - protected int mOptimalAirFlow = 0; - protected boolean mHasPollution = false; - protected int SLOT_ROTOR = 5; - protected int SLOT_FILTER = 6; - protected static boolean mPollutionEnabled = true; - - protected boolean mSaveRotor = false; - - public GregtechMetaAtmosphericReconditioner(int aID, String aName, String aNameRegional, int aTier) { - super( - aID, - aName, - aNameRegional, - aTier, - 2, - "Making sure you don't live in Gwalior - Uses 2A", - 3, - 0, - new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_MASSFAB_ACTIVE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_MASSFAB), - new GT_RenderedTexture(TexturesGtBlock.Overlay_MatterFab_Active), - new GT_RenderedTexture(TexturesGtBlock.Overlay_MatterFab), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Vent_Fast), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Vent), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_MASSFAB_ACTIVE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_MASSFAB) }); - mPollutionEnabled = PollutionUtils.isPollutionEnabled(); - } - - public GregtechMetaAtmosphericReconditioner(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, 2, aDescription, aTextures, 2, 0); - mPollutionEnabled = PollutionUtils.isPollutionEnabled(); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaAtmosphericReconditioner(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public String[] getDescription() { - - boolean highTier = this.mTier >= 7; - - String[] A = ArrayUtils.addAll( - this.mDescriptionArray, - highTier ? "Will attempt to remove 1/4 pollution from 8 surrounding chunks" : "", - highTier ? "If these chunks are not loaded, they will be ignored" : "", - "Requires a turbine rotor and an Air Filter [T1/T2] to run.", - "The turbine rotor must be manually inserted/replaced", - "Can be configured with a soldering iron to change modes", - "Low Efficiency: Removes half pollution, Turbine takes 50% dmg", - "High Efficiency: Removes full pollution, Turbine takes 100% dmg", - "Turbine Rotor will not break in LE mode", - "Insert an equal tier Conveyor Module to enable automation"); - if (!mPollutionEnabled) { - String[] B = new String[] { "===============================================", - "Pollution is disabled, scrubbers will now have a bonus use", - "They are now able to remove ALL lingering pollution as GT ignores it", "and it will linger forever!", - "===============================================", }; - A = ArrayUtils.addAll(A, B); - } - return A; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setInteger("mOptimalAirFlow", this.mOptimalAirFlow); - aNBT.setBoolean("mSaveRotor", mSaveRotor); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - this.mOptimalAirFlow = aNBT.getInteger("mOptimalAirFlow"); - this.mSaveRotor = aNBT.getBoolean("mSaveRotor"); - } - - @Override - public long maxAmperesIn() { - return 2; - } - - @Override - public long getMinimumStoredEU() { - return V[mTier] * 2; - } - - @Override - public long maxEUStore() { - return V[mTier] * 256; - } - - @Override - public long maxEUInput() { - return V[mTier]; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (aBaseMetaTileEntity.isServerSide()) { - - // Get Current Pollution Amount. - int mCurrentPollution = getCurrentChunkPollution(); - boolean isIdle = true; - - // Get Inventory Item - ItemStack stackRotor = this.mInventory[SLOT_ROTOR]; - ItemStack stackFilter = this.mInventory[SLOT_FILTER]; - - // Power Drain - long drainEU = maxEUInput() * maxAmperesIn(); - if (aBaseMetaTileEntity.isActive() && aBaseMetaTileEntity.getStoredEU() >= drainEU) { - if (aBaseMetaTileEntity.decreaseStoredEnergyUnits(drainEU, false)) { - isIdle = false; - } else { - aBaseMetaTileEntity.setActive(false); - this.sendSound((byte) -122); - } - } else if (!aBaseMetaTileEntity.isActive() && aBaseMetaTileEntity.getStoredEU() >= drainEU / 4) { - if (aBaseMetaTileEntity.decreaseStoredEnergyUnits((drainEU / 4), false)) { - isIdle = false; - } else { - aBaseMetaTileEntity.setActive(false); - this.sendSound((byte) -122); - } - } else { - aBaseMetaTileEntity.setActive(false); - this.sendSound((byte) -122); - } - - // Only try once/sec. - if (!isIdle && aTick % 20L == 0L) { - - for (int i = 0; i < this.mInventory.length; i++) { - ItemStack aSlotContent = this.mInventory[i]; - if (aSlotContent != null) { - Logger.INFO("Found " + aSlotContent.getDisplayName() + " in slot " + i); - } - } - - for (int i = 0; i < this.mInventory.length; i++) { - if (hasRotor(this.mInventory[i])) { - Logger.INFO("Found Rotor in slot " + i); - break; - } - } - for (int i = 0; i < this.mInventory.length; i++) { - if (hasAirFilter(this.mInventory[i])) { - Logger.INFO("Found Filter in slot " + i); - break; - } - } - - // Check if machine can work. - if ((aBaseMetaTileEntity.isAllowedToWork())) { - Logger.INFO("Can work."); - - // Enable machine animation/graphic - if (hasRotor(stackRotor) && hasAirFilter(stackFilter) && this.mHasPollution) { - if (!this.getBaseMetaTileEntity() - .isActive()) { - Logger.INFO("Set Active."); - aBaseMetaTileEntity.setActive(true); - } - } else if (!this.mHasPollution || mCurrentPollution <= 0 - || stackRotor == null - || stackFilter == null - || !hasRotor(stackRotor) - || !hasAirFilter(stackFilter)) { - if (!this.getBaseMetaTileEntity() - .isActive()) { - Logger.INFO("Set Inactive."); - aBaseMetaTileEntity.setActive(false); - this.sendSound((byte) -122); - } - } - - // If Active. - if (aBaseMetaTileEntity.isActive()) { - Logger.INFO("Doing something."); - - // Do nothing if there is no pollution. - if (this.mHasPollution && mCurrentPollution > 0) { - Logger - .INFO("Has Pollution? " + mHasPollution + ", Current Pollution: " + mCurrentPollution); - - // Only check every 30s. - if (!isIdle && aTick % (20L * 30) == 0L) { - mPollutionEnabled = PollutionUtils.isPollutionEnabled(); - // Clear out pollution if it's disabled, because I am a nice gal. - if (!PollutionUtils.isPollutionEnabled()) { - PollutionUtils.nullifyPollution(this.getBaseMetaTileEntity()); - } - } - - // Use a Turbine - if (hasRotor(stackRotor) && hasAirFilter(stackFilter)) { - Logger.INFO("Found Turbine."); - - mBaseEff = getBaseEfficiency(stackRotor); - mOptimalAirFlow = getOptimalAirFlow(stackRotor); - - // Make sure we have a valid Turbine and Eff/Airflow - if (this.mBaseEff > 0 && this.mOptimalAirFlow > 0) { - // Utils.LOG_WARNING("Pollution Cleaner [5]"); - - // Log Debug information. - Logger.INFO("mBaseEff[1]:" + mBaseEff); - Logger.INFO("mOptimalAirFlow[1]:" + mOptimalAirFlow); - - // Calculate The Voltage we are running - long tVoltage = drainEU; - byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); - - // Check Sides for Air, - // More air means more pollution processing. - int mAirSides = getFreeSpaces(); - - int reduction = 0; - - // If no sides are free, how will you process the atmosphere? - if (mAirSides > 0) { - reduction += (((Math.max((tTier - 2), 1) * 2) * 50) * mAirSides); // Was - // originally - // *100 - Logger.INFO("mPollutionReduction[1]:" + reduction); - - // I stole this code - reduction = (MathUtils.safeInt((long) reduction * this.mBaseEff) / 100000) - * mAirSides - * Math.max((tTier - 2), 1); - Logger.INFO("reduction[2]:" + reduction); - reduction = MathUtils.safeInt(((long) reduction / 100) * this.mOptimalAirFlow); - Logger.INFO("reduction[3]:" + reduction); - - mPollutionReduction = reduction; - - // Set a temp to remove variable to aleviate duplicate code. - int toRemove = 0; - - Logger.INFO("mCurrentPollution[4]:" + mCurrentPollution); - Logger.INFO("mCurrentPollution[5]:" + reduction); - if (reduction <= mCurrentPollution) { - // Clean some Air. - toRemove = reduction; - } else { - // Makes sure we don't get negative pollution. - toRemove = mCurrentPollution; - } - - toRemove = toRemove / 2; - Logger.INFO("mCurrentPollution[6]:" + toRemove); - - // We are good to clean - if (toRemove > 0) { - if (damageTurbineRotor() && damageAirFilter()) { - Logger.INFO("Removing " + toRemove + " pollution"); - removePollution(mSaveRotor ? (toRemove / 2) : toRemove); - Logger.INFO("mNewPollution[4]:" + getCurrentChunkPollution()); - } else { - Logger.INFO("Could not damage turbine rotor or Air Filter."); - aBaseMetaTileEntity.setActive(false); - } - } // End of pollution removal block. - } // End of valid air sides block. - } // End of valid toolstats block. - } // End of correct inventory item block. - else { - // Utils.LOG_WARNING("Wrong Tool metaitem Found."); - } - } - } else if (!aBaseMetaTileEntity.isActive()) { - return; - } - } // End of can work block. - else { // Disable Machine. - // aBaseMetaTileEntity.setActive(false); - } - } // End of 1/sec action block. - else { - - if (hasRotor(stackRotor) && hasAirFilter(stackFilter) - && this.mHasPollution - && !isIdle - && aBaseMetaTileEntity.isAllowedToWork()) { - aBaseMetaTileEntity.setActive(true); - } else if (isIdle || !this.mHasPollution - || mCurrentPollution <= 0 - || stackRotor == null - || stackFilter == null - || !hasRotor(stackRotor) - || !hasAirFilter(stackFilter)) { - aBaseMetaTileEntity.setActive(false); - } - } - if (this.getBaseMetaTileEntity() - .isActive()) { - if (MathUtils.randInt(0, 5) <= 2) { - this.sendSound((byte) -120); - } - } - } // End of is serverside block. - } - - public int getCurrentChunkPollution() { - int mCurrentChunkPollution = 0; - if (this.mTier < 7) { - mCurrentChunkPollution = PollutionUtils.getPollution(getBaseMetaTileEntity()); - } else { - AutoMap aSurrounding = new AutoMap<>(); - World aWorld = this.getBaseMetaTileEntity() - .getWorld(); - int xPos = this.getBaseMetaTileEntity() - .getXCoord(); - int zPos = this.getBaseMetaTileEntity() - .getZCoord(); - Chunk a1 = aWorld.getChunkFromBlockCoords(xPos - 32, zPos - 32); - Chunk a2 = aWorld.getChunkFromBlockCoords(xPos - 32, zPos); - Chunk a3 = aWorld.getChunkFromBlockCoords(xPos - 32, zPos + 32); - Chunk b1 = aWorld.getChunkFromBlockCoords(xPos, zPos - 32); - Chunk b2 = aWorld.getChunkFromBlockCoords(xPos, zPos); - Chunk b3 = aWorld.getChunkFromBlockCoords(xPos, zPos + 32); - Chunk c1 = aWorld.getChunkFromBlockCoords(xPos + 32, zPos - 32); - Chunk c2 = aWorld.getChunkFromBlockCoords(xPos + 32, zPos); - Chunk c3 = aWorld.getChunkFromBlockCoords(xPos + 32, zPos + 32); - aSurrounding.put(a1); - aSurrounding.put(a2); - aSurrounding.put(a3); - aSurrounding.put(b1); - aSurrounding.put(b2); - aSurrounding.put(b3); - aSurrounding.put(c1); - aSurrounding.put(c2); - aSurrounding.put(c3); - for (Chunk r : aSurrounding) { - mCurrentChunkPollution += getPollutionInChunk(r); - } - } - if (mCurrentChunkPollution > 0) { - mHasPollution = true; - } else { - mHasPollution = false; - } - return mCurrentChunkPollution; - } - - public int getPollutionInChunk(Chunk aChunk) { - int mCurrentChunkPollution = PollutionUtils.getPollution(aChunk); - if (mCurrentChunkPollution > 0) { - mHasPollution = true; - } else { - mHasPollution = false; - } - return mCurrentChunkPollution; - } - - public boolean hasRotor(ItemStack rotorStack) { - if (rotorStack != null) { - if (rotorStack.getItem() instanceof ItemBasicScrubberTurbine) { - // Logger.INFO("Found Basic Turbine Rotor."); - return true; - } else if (rotorStack.getItem() instanceof GT_MetaGenerated_Tool && rotorStack.getItemDamage() >= 170 - && rotorStack.getItemDamage() <= 179) { - // Logger.INFO("Found Turbine Rotor."); - return true; - } else { - // Logger.INFO("Found: "+rotorStack.getDisplayName()+":"+rotorStack.getItemDamage()); - } - } - // Logger.INFO("Found No Turbine Rotor."); - return false; - } - - public boolean damageTurbineRotor() { - try { - - boolean creativeRotor = false; - ItemStack rotorStack = this.mInventory[SLOT_ROTOR]; - if (rotorStack == null) { - return false; - } else if (rotorStack.getItem() instanceof ItemBasicScrubberTurbine) { - long currentUse = ItemBasicScrubberTurbine.getFilterDamage(rotorStack); - // Remove broken Filter - if (rotorStack.getItemDamage() == 0 && currentUse >= 2000 - 10) { - Logger.INFO("Depleting ItemBasicScrubberTurbine T1"); - this.mInventory[this.SLOT_FILTER] = null; - return false; - } else if (rotorStack.getItemDamage() == 1 && currentUse >= 4000 - 10) { - Logger.INFO("Depleting ItemBasicScrubberTurbine T2"); - this.mInventory[this.SLOT_FILTER] = null; - return false; - } else if (rotorStack.getItemDamage() == 2 && currentUse >= 6000 - 10) { - Logger.INFO("Depleting ItemBasicScrubberTurbine T3"); - this.mInventory[this.SLOT_FILTER] = null; - return false; - } else { - // Do Damage - Logger.INFO("Damaging ItemBasicScrubberTurbine"); - ItemBasicScrubberTurbine.setFilterDamage(rotorStack, currentUse + 10); - Logger.INFO("Rotor Damage: " + currentUse); - return true; - } - } else if (rotorStack.getItem() instanceof GT_MetaGenerated_Tool_01) { - Materials t1 = GT_MetaGenerated_Tool.getPrimaryMaterial(rotorStack); - Materials t2 = GT_MetaGenerated_Tool.getSecondaryMaterial(rotorStack); - if (t1 == Materials._NULL && t2 == Materials._NULL) { - Logger.INFO("Found creative rotor."); - creativeRotor = true; - } - } else { - Logger.INFO("Bad item in rotor slot."); - return false; - } - - if (mInventory[SLOT_ROTOR].getItem() instanceof GT_MetaGenerated_Tool_01 - && ((GT_MetaGenerated_Tool) mInventory[SLOT_ROTOR].getItem()).getToolStats(mInventory[SLOT_ROTOR]) - .getSpeedMultiplier() > 0 - && GT_MetaGenerated_Tool.getPrimaryMaterial(mInventory[SLOT_ROTOR]).mToolSpeed > 0) { - - long damageValue = (long) Math - .floor(Math.abs(MathUtils.randFloat(1, 2) - MathUtils.randFloat(1, 3)) * (1 + 3 - 1) + 1); - double fDam = Math - .floor(Math.abs(MathUtils.randFloat(1f, 2f) - MathUtils.randFloat(1f, 2f)) * (1f + 2f - 1f) + 1f); - damageValue -= fDam; - - // Logger.INFO("Trying to do "+damageValue+" damage to the rotor. ["+fDam+"]"); - /* - * Materials M1 = GT_MetaGenerated_Tool.getPrimaryMaterial(this.mInventory[this.SLOT_ROTOR]); Materials - * M2 = GT_MetaGenerated_Tool.getSecondaryMaterial(this.mInventory[this.SLOT_ROTOR]); - * Logger.INFO("Trying to do "+damageValue+" damage to the rotor. [2]"); - */ - - // Damage Rotor - // int rotorDurability = this.mInventory[this.SLOT_ROTOR].getItemDamage(); - long rotorDamage = creativeRotor ? 0 - : GT_MetaGenerated_Tool.getToolDamage(this.mInventory[this.SLOT_ROTOR]); - long rotorDurabilityMax = creativeRotor ? Integer.MAX_VALUE - : GT_MetaGenerated_Tool.getToolMaxDamage(this.mInventory[this.SLOT_ROTOR]); - long rotorDurability = (rotorDurabilityMax - rotorDamage); - Logger.INFO( - "Rotor Damage: " + rotorDamage - + " | Max Durability: " - + rotorDurabilityMax - + " | " - + " Remaining Durability: " - + rotorDurability); - if (rotorDurability >= damageValue) { - - if (!mSaveRotor) { - Logger.INFO("Damaging Rotor."); - - if (!creativeRotor) GT_ModHandler - .damageOrDechargeItem(this.mInventory[this.SLOT_ROTOR], (int) damageValue, 0, null); - - long tempDur = GT_MetaGenerated_Tool.getToolDamage(this.mInventory[this.SLOT_ROTOR]); - if (tempDur < rotorDurabilityMax) { - return true; - } else { - rotorDurability = 0; - } - } else { - Logger.INFO("Damaging Rotor."); - if (rotorDurability > 1000) { - if (!creativeRotor) GT_ModHandler - .damageOrDechargeItem(this.mInventory[this.SLOT_ROTOR], (int) damageValue / 2, 0, null); - long tempDur = GT_MetaGenerated_Tool.getToolDamage(this.mInventory[this.SLOT_ROTOR]); - if (tempDur < rotorDurabilityMax) { - return true; - } else { - rotorDurability = 0; - } - } - } - } - - if (rotorDurability <= 0 && !mSaveRotor && !creativeRotor) { - Logger.INFO("Destroying Rotor."); - this.mInventory[this.SLOT_ROTOR] = null; - return false; - } else if (rotorDurability <= 0 && mSaveRotor) { - Logger.INFO("Saving Rotor."); - return false; - } - - } else { - Logger.INFO("Bad Rotor."); - return false; - } - } catch (Throwable t) { - t.printStackTrace(); - } - return false; - } - - public int getFreeSpaces() { - int mAir = 0; - IGregTechTileEntity aBaseMetaTileEntity = this.getBaseMetaTileEntity(); - if (aBaseMetaTileEntity.getAirOffset(1, 0, 0)) { - mAir++; - } - if (aBaseMetaTileEntity.getAirOffset(-1, 0, 0)) { - mAir++; - } - if (aBaseMetaTileEntity.getAirOffset(0, 0, 1)) { - mAir++; - } - if (aBaseMetaTileEntity.getAirOffset(0, 0, -1)) { - mAir++; - } - if (aBaseMetaTileEntity.getAirOffset(0, 1, 0)) { - mAir++; - } - if (aBaseMetaTileEntity.getAirOffset(0, -1, 0)) { - mAir++; - } - return mAir; - } - - public boolean removePollution(int toRemove) { - - if (this == null || this.getBaseMetaTileEntity() == null - || this.getBaseMetaTileEntity() - .getWorld() == null) { - return false; - } - - if (this.mTier < 7) { - int startPollution = getCurrentChunkPollution(); - Logger.INFO("Current Chunk Pollution: " + startPollution); - PollutionUtils.removePollution(this.getBaseMetaTileEntity(), toRemove); - int after = getCurrentChunkPollution(); - Logger.INFO("Current Chunk Pollution: " + after); - return (after < startPollution); - } else { - int chunksWithRemoval = 0; - int totalRemoved = 0; - AutoMap aSurrounding = new AutoMap<>(); - Chunk aThisChunk = this.getBaseMetaTileEntity() - .getWorld() - .getChunkFromBlockCoords( - this.getBaseMetaTileEntity() - .getXCoord(), - this.getBaseMetaTileEntity() - .getZCoord()); - int mainChunkX = aThisChunk.xPosition; - int mainChunkZ = aThisChunk.zPosition; - - World aWorld = this.getBaseMetaTileEntity() - .getWorld(); - int xPos = this.getBaseMetaTileEntity() - .getXCoord(); - int zPos = this.getBaseMetaTileEntity() - .getZCoord(); - - Chunk a1 = aWorld.getChunkFromBlockCoords(xPos - 32, zPos - 32); - Chunk a2 = aWorld.getChunkFromBlockCoords(xPos - 32, zPos); - Chunk a3 = aWorld.getChunkFromBlockCoords(xPos - 32, zPos + 32); - Chunk b1 = aWorld.getChunkFromBlockCoords(xPos, zPos - 32); - Chunk b2 = aWorld.getChunkFromBlockCoords(xPos, zPos); - Chunk b3 = aWorld.getChunkFromBlockCoords(xPos, zPos + 32); - Chunk c1 = aWorld.getChunkFromBlockCoords(xPos + 32, zPos - 32); - Chunk c2 = aWorld.getChunkFromBlockCoords(xPos + 32, zPos); - Chunk c3 = aWorld.getChunkFromBlockCoords(xPos + 32, zPos + 32); - - aSurrounding.put(a1); - aSurrounding.put(a2); - aSurrounding.put(a3); - aSurrounding.put(b1); - aSurrounding.put(b2); - aSurrounding.put(b3); - aSurrounding.put(c1); - aSurrounding.put(c2); - aSurrounding.put(c3); - - for (Chunk r : aSurrounding) { - if (!r.isChunkLoaded) { - continue; - } - - int startPollution = getPollutionInChunk(r); - if (startPollution == 0) { - continue; - } - - Logger.INFO( - "Trying to remove pollution from chunk " + r.xPosition - + ", " - + r.zPosition - + " | " - + startPollution); - int after = 0; - boolean isMainChunk = r.isAtLocation(mainChunkX, mainChunkZ); - - int removal = Math.max(0, !isMainChunk ? (toRemove / 4) : toRemove); - if (removePollution(r, removal)) { - chunksWithRemoval++; - after = getPollutionInChunk(r); - } else { - after = 0; - } - if (startPollution - after > 0) { - totalRemoved += (startPollution - after); - } - Logger.INFO( - "Removed " + (startPollution - after) - + " pollution from chunk " - + r.xPosition - + ", " - + r.zPosition - + " | " - + after); - } - return totalRemoved > 0 && chunksWithRemoval > 0; - } - } - - public boolean removePollution(Chunk aChunk, int toRemove) { - int before = getCurrentChunkPollution(); - PollutionUtils.removePollution(aChunk, toRemove); - int after = getCurrentChunkPollution(); - return (after < before); - } - - public boolean hasAirFilter(ItemStack filter) { - if (filter == null) { - return false; - } - return filter.getItem() instanceof ItemAirFilter; - } - - public boolean damageAirFilter() { - ItemStack filter = this.mInventory[this.SLOT_FILTER]; - if (filter == null) { - return false; - } - - boolean creativeRotor = false; - ItemStack rotorStack = this.mInventory[SLOT_ROTOR]; - if (rotorStack != null) { - if (rotorStack.getItem() instanceof GT_MetaGenerated_Tool_01) { - Materials t1 = GT_MetaGenerated_Tool.getPrimaryMaterial(rotorStack); - Materials t2 = GT_MetaGenerated_Tool.getSecondaryMaterial(rotorStack); - if (t1 == Materials._NULL && t2 == Materials._NULL) { - creativeRotor = true; - } - } - } - - if (creativeRotor) { - return true; - } - - if (filter.getItem() instanceof ItemAirFilter) { - - long currentUse = ItemAirFilter.getFilterDamage(filter); - - // Remove broken Filter - if (filter.getItemDamage() == 0 && currentUse >= 50 - 1) { - this.mInventory[this.SLOT_FILTER] = null; - return false; - } else if (filter.getItemDamage() == 1 && currentUse >= 2500 - 1) { - this.mInventory[this.SLOT_FILTER] = null; - return false; - } else { - // Do Damage - ItemAirFilter.setFilterDamage(filter, currentUse + 1); - Logger.INFO("Filter Damage: " + currentUse); - return true; - } - } - return false; - } - - @Override - public boolean canInsertItem(int aIndex, ItemStack aStack, int ordinalSide) { - if (aIndex == SLOT_FILTER) { - if (aStack.getItem() instanceof ItemAirFilter) { - Logger.INFO("Inserting Air Filter into " + aIndex); - return true; - } - } - if (aIndex == SLOT_ROTOR) { - if (this.mInventory[7] != null) { - Logger.INFO("Found conveyor, can automate turbines. Inserting into " + aIndex); - if (aStack.getItem() instanceof ItemBasicScrubberTurbine) { - return true; - } - if (aStack.getItem() instanceof GT_MetaGenerated_Tool && aStack.getItemDamage() >= 170 - && aStack.getItemDamage() <= 179) { - return true; - } - } - } - return false; - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); - } - - @Override - public void doSound(byte aIndex, double aX, double aY, double aZ) { - if (aIndex == -120) { - GT_Utility - .doSoundAtClient(SoundResource.IC2_TOOLS_BATTERY_USE, MathUtils.randInt(5, 50), 0.05F, aX, aY, aZ); - } else { - super.doSound((byte) 0, aX, aY, aZ); - } - } - - @Override - public String[] getInfoData() { - AutoMap aTooltipSuper = new AutoMap<>(); - for (String s : super.getInfoData()) { - aTooltipSuper.put(s); - } - int mAirSides = getFreeSpaces(); - int reduction = 0; - - try { - long tVoltage = maxEUInput(); - byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); - reduction += (((Math.max((tTier - 2), 1) * 2) * 50) * mAirSides); - reduction = (MathUtils.safeInt((long) reduction * this.mBaseEff) / 100000) * mAirSides - * Math.max((tTier - 2), 1); - reduction = MathUtils.safeInt(((long) reduction / 100) * this.mOptimalAirFlow); - - aTooltipSuper.put("Maximum pollution removed per second: " + reduction); - } catch (Throwable t) { - aTooltipSuper.put("Maximum pollution removed per second: " + mPollutionReduction); - } - aTooltipSuper.put("Air Sides: " + mAirSides); - - String[] mBuiltOutput = new String[aTooltipSuper.size()]; - int aIndex = 0; - for (String i : aTooltipSuper) { - mBuiltOutput[aIndex++] = i; - } - - return mBuiltOutput; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aCoverID) { - if (side.offsetY != 0) { - return false; - } - return super.allowCoverOnSide(side, aCoverID); - } - - @Override - public ITexture[] getTopFacingInactive(byte aColor) { - return super.getTopFacingInactive(aColor); - } - - @Override - public void setItemNBT(NBTTagCompound aNBT) { - aNBT.setInteger("mOptimalAirFlow", this.mOptimalAirFlow); - aNBT.setBoolean("mSaveRotor", mSaveRotor); - super.setItemNBT(aNBT); - } - - private static ItemStack[] sGregTurbines; - - public static ItemStack getTieredTurbine(int aTier) { - if (sGregTurbines == null) { - sGregTurbines = new ItemStack[3]; - sGregTurbines[0] = GT_MetaGenerated_Tool.sInstances.get("gt.metatool.01") - .getToolWithStats(GT_MetaGenerated_Tool_01.TURBINE_SMALL, 1, Materials.Iron, Materials.Iron, null); - sGregTurbines[1] = GT_MetaGenerated_Tool.sInstances.get("gt.metatool.01") - .getToolWithStats(GT_MetaGenerated_Tool_01.TURBINE_SMALL, 1, Materials.Bronze, Materials.Bronze, null); - sGregTurbines[2] = GT_MetaGenerated_Tool.sInstances.get("gt.metatool.01") - .getToolWithStats(GT_MetaGenerated_Tool_01.TURBINE_SMALL, 1, Materials.Steel, Materials.Steel, null); - } else { - return sGregTurbines[aTier]; - } - - return null; - } - - public int getBaseEfficiency(ItemStack aStackRotor) { - if (aStackRotor.getItem() instanceof ItemBasicScrubberTurbine) { - return getBaseEfficiency(getTieredTurbine(aStackRotor.getItemDamage())); - } - return (int) ((50.0F - + (10.0F * ((GT_MetaGenerated_Tool) aStackRotor.getItem()).getToolCombatDamage(aStackRotor))) * 100); - } - - public int getOptimalAirFlow(ItemStack aStackRotor) { - if (aStackRotor.getItem() instanceof ItemBasicScrubberTurbine) { - return getOptimalAirFlow(getTieredTurbine(aStackRotor.getItemDamage())); - } - return (int) Math.max( - Float.MIN_NORMAL, - ((GT_MetaGenerated_Tool) aStackRotor.getItem()).getToolStats(aStackRotor) - .getSpeedMultiplier() * GT_MetaGenerated_Tool.getPrimaryMaterial(aStackRotor).mToolSpeed * 50); - } - - @Override - public boolean useModularUI() { - return true; - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget(new SlotWidget(inventoryHandler, SLOT_ROTOR).setFilter(stack -> { - if (stack.getItem() instanceof ItemBasicScrubberTurbine) { - return true; - } - return stack.getItem() instanceof GT_MetaGenerated_Tool && stack.getItemDamage() >= 170 - && stack.getItemDamage() <= 179; - }) - .setBackground(getGUITextureSet().getItemSlot(), GTPP_UITextures.OVERLAY_SLOT_TURBINE) - .setPos(52, 24)) - .widget( - new SlotWidget(inventoryHandler, SLOT_FILTER) - .setFilter(stack -> stack.getItem() instanceof ItemAirFilter) - .setBackground(getGUITextureSet().getItemSlot(), GT_UITextures.OVERLAY_SLOT_RECYCLE) - .setPos(106, 24)) - .widget( - new SlotWidget(inventoryHandler, 7) - .setFilter(stack -> GT_Utility.areStacksEqual(stack, CI.getConveyor(mTier, 1), true)) - .setPos(124, 62)); - builder.widget( - new DrawableWidget().setDrawable(GT_UITextures.PICTURE_INFORMATION) - .dynamicTooltip(() -> Collections.singletonList("Reduction: " + mPollutionReduction + "/s")) - .attachSyncer( - new FakeSyncWidget.IntegerSyncer(() -> mPollutionReduction, val -> mPollutionReduction = val), - builder, - (widget, val) -> widget.notifyTooltipChange()) - .setPos(163, 5) - .setSize(7, 18)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java deleted file mode 100644 index d7b6b8fffd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java +++ /dev/null @@ -1,458 +0,0 @@ -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 net.minecraftforge.common.util.ForgeDirection; - -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.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; - -public class GregtechMetaPollutionCreator extends GregtechMetaTileEntity { - - int mCurrentPollution; - int mAveragePollution; - int mAveragePollutionArray[] = new int[10]; - private int mArrayPos = 0; - private int mTickTimer = 0; - private int mSecondTimer = 0; - - public GregtechMetaPollutionCreator(final int aID, final String aName, final String aNameRegional, final int aTier, - final String aDescription, final int aSlotCount) { - super(aID, aName, aNameRegional, aTier, aSlotCount, aDescription); - } - - public GregtechMetaPollutionCreator(final String aName, final int aTier, final String aDescription, - final ITexture[][][] aTextures, final int aSlotCount) { - super(aName, aTier, aSlotCount, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - return new String[] { this.mDescription, "A useful debug machine to create pollution.", CORE.GT_Tooltip.get() }; - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 - : side == facing.getOpposite() ? 1 - : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_2) }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_2) }; - } - - public ITexture[] getBackActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getBottomActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getTopActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getSidesActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier + 3][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (pollutionMultiplier > 99) { - pollutionMultiplier = 1; - } else { - pollutionMultiplier++; - } - PlayerUtils.messagePlayer(aPlayer, "Pollution Mutliplier is now " + pollutionMultiplier + "."); - super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaPollutionCreator( - this.mName, - this.mTier, - this.mDescription, - this.mTextures, - this.mInventory.length); - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isElectric() { - return true; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return true; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return true; - } - - @Override - public boolean isEnetInput() { - return true; - } - - @Override - public boolean isEnetOutput() { - return false; - } - - @Override - public boolean isInputFacing(final ForgeDirection side) { - return side != this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return side == this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public boolean isTeleporterCompatible() { - return false; - } - - @Override - public long getMinimumStoredEU() { - return 0; - } - - @Override - public long maxEUStore() { - return 0; - } - - @Override - public int getCapacity() { - return 0; - } - - @Override - public long maxEUInput() { - return 0; - } - - @Override - public long maxEUOutput() { - return 0; - } - - @Override - public long maxAmperesIn() { - return 0; - } - - @Override - public long maxAmperesOut() { - return 0; - } - - @Override - public int rechargerSlotStartIndex() { - return 0; - } - - @Override - public int dechargerSlotStartIndex() { - return 0; - } - - @Override - public int rechargerSlotCount() { - return 0; - } - - @Override - public int dechargerSlotCount() { - return 0; - } - - @Override - public int getProgresstime() { - return (int) this.getBaseMetaTileEntity() - .getUniversalEnergyStored(); - } - - @Override - public int maxProgresstime() { - return (int) this.getBaseMetaTileEntity() - .getUniversalEnergyCapacity(); - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - this.showPollution(aPlayer.getEntityWorld(), aPlayer); - return true; - } - - public int pollutionMultiplier = 1; - - private void showPollution(final World worldIn, final EntityPlayer playerIn) { - if (!PollutionUtils.isPollutionEnabled()) { - PlayerUtils.messagePlayer(playerIn, "This block is useless, Pollution is disabled."); - } else { - addPollution(); - PlayerUtils - .messagePlayer(playerIn, "This chunk now contains " + getCurrentChunkPollution() + " pollution."); - // PlayerUtils.messagePlayer(playerIn, "Average over last ten minutes: "+getAveragePollutionOverLastTen()+" - // pollution."); - } - } - - private boolean addPollution() { - PollutionUtils.addPollution(getBaseMetaTileEntity(), 100000 * pollutionMultiplier); - return true; - } - - @Override - public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - public int getCurrentChunkPollution() { - return getCurrentChunkPollution(this.getBaseMetaTileEntity()); - } - - public int getCurrentChunkPollution(IGregTechTileEntity aBaseMetaTileEntity) { - return PollutionUtils.getPollution(aBaseMetaTileEntity); - } - - @Override - public String[] getInfoData() { - return new String[] { this.getLocalName(), "Current Pollution: " + this.mCurrentPollution, - "Average/10 minutes:" + getAveragePollutionOverLastTen() }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - return new int[] {}; - } - - @Override - public boolean canInsertItem(final int p_102007_1_, final ItemStack p_102007_2_, final int p_102007_3_) { - return false; - } - - @Override - public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) { - return false; - } - - @Override - public int getSizeInventory() { - return 0; - } - - @Override - public ItemStack getStackInSlot(final int p_70301_1_) { - return null; - } - - @Override - public ItemStack decrStackSize(final int p_70298_1_, final int p_70298_2_) { - return null; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int p_70304_1_) { - return null; - } - - @Override - public void setInventorySlotContents(final int p_70299_1_, final ItemStack p_70299_2_) {} - - @Override - public String getInventoryName() { - return null; - } - - @Override - public boolean hasCustomInventoryName() { - return false; - } - - @Override - public int getInventoryStackLimit() { - return 0; - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer p_70300_1_) { - return false; - } - - @Override - public void openInventory() {} - - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(final int p_94041_1_, final ItemStack p_94041_2_) { - return false; - } - - @Override - public boolean isOverclockerUpgradable() { - return false; - } - - @Override - public boolean isTransformerUpgradable() { - return false; - } - - @Override - public void saveNBTData(final NBTTagCompound aNBT) { - aNBT.setInteger("mCurrentPollution", this.mCurrentPollution); - aNBT.setInteger("mAveragePollution", this.mAveragePollution); - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - this.mCurrentPollution = aNBT.getInteger("mCurrentPollution"); - this.mAveragePollution = aNBT.getInteger("mAveragePollution"); - } - - @Override - public void onFirstTick(final IGregTechTileEntity aBaseMetaTileEntity) { - if (this.getBaseMetaTileEntity() - .isServerSide()) { - if (this.mCurrentPollution == 0) { - this.mCurrentPollution = getCurrentChunkPollution(); - } - if (this.mArrayPos < 0 || this.mArrayPos > 9) { - this.mArrayPos = 0; - } - this.mTickTimer = 0; - } - } - - @Override - public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (this.getBaseMetaTileEntity() - .isServerSide()) { - // TickTimer - 20 times a second - this.mTickTimer++; - if (mTickTimer % 20 == 0) { - this.mCurrentPollution = getCurrentChunkPollution(); - } - } - } - - public int getAveragePollutionOverLastTen() { - int counter = 0; - int total = 0; - - for (int j : this.mAveragePollutionArray) { - if (j != 0) { - total += j; - counter++; - } - } - int returnValue = 0; - if (total > 0 && counter > 0) { - returnValue = (total / counter); - this.mAveragePollution = returnValue; - } else { - returnValue = getCurrentChunkPollution(); - } - // Logger.INFO("| DEBUG: "+returnValue +" | ArrayPos:"+this.mArrayPos+" | Counter:"+counter+" | Total:"+total+" - // |"); - return returnValue; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java deleted file mode 100644 index 92443d2658..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java +++ /dev/null @@ -1,502 +0,0 @@ -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 net.minecraftforge.common.util.ForgeDirection; - -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.core.lib.CORE; -import gtPlusPlus.core.util.math.MathUtils; -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; - -public class GregtechMetaPollutionDetector extends GregtechMetaTileEntity { - - int mCurrentPollution; - int mAveragePollution; - int mAveragePollutionArray[] = new int[10]; - private int mArrayPos = 0; - private int mTickTimer = 0; - private int mSecondTimer = 0; - private long mRedstoneLevel = 0; - - public GregtechMetaPollutionDetector(final int aID, final String aName, final String aNameRegional, final int aTier, - final String aDescription, final int aSlotCount) { - super(aID, aName, aNameRegional, aTier, aSlotCount, aDescription); - } - - public GregtechMetaPollutionDetector(final String aName, final int aTier, final String aDescription, - final ITexture[][][] aTextures, final int aSlotCount) { - super(aName, aTier, aSlotCount, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - return new String[] { this.mDescription, "Right click to check pollution levels.", - "Configure with screwdriver to set redstone output amount.", "Does not use power.", CORE.GT_Tooltip.get() }; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return side == facing - ? new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Dimensional), - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_Frequency) } - : new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Dimensional), - new GT_RenderedTexture(Textures.BlockIcons.VOID) }; - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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; - } - - /* - * @Override public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final - * byte aFacing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { return - * this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 : side == facing.getOpposite() ? 1 : side == - * ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; } - */ - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_2) }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_2) }; - } - - public ITexture[] getBackActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getBottomActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getTopActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getSidesActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaPollutionDetector( - this.mName, - this.mTier, - this.mDescription, - this.mTextures, - this.mInventory.length); - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isElectric() { - return true; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return true; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return true; - } - - @Override - public boolean isEnetInput() { - return true; - } - - @Override - public boolean isEnetOutput() { - return false; - } - - @Override - public boolean isInputFacing(final ForgeDirection side) { - return side != this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return side == this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public boolean isTeleporterCompatible() { - return false; - } - - @Override - public long getMinimumStoredEU() { - return 0; - } - - @Override - public long maxEUStore() { - return 0; - } - - @Override - public int getCapacity() { - return 0; - } - - @Override - public long maxEUInput() { - return 0; - } - - @Override - public long maxEUOutput() { - return 0; - } - - @Override - public long maxAmperesIn() { - return 0; - } - - @Override - public long maxAmperesOut() { - return 0; - } - - @Override - public int rechargerSlotStartIndex() { - return 0; - } - - @Override - public int dechargerSlotStartIndex() { - return 0; - } - - @Override - public int rechargerSlotCount() { - return 0; - } - - @Override - public int dechargerSlotCount() { - return 0; - } - - @Override - public int getProgresstime() { - return (int) this.getBaseMetaTileEntity() - .getUniversalEnergyStored(); - } - - @Override - public int maxProgresstime() { - return (int) this.getBaseMetaTileEntity() - .getUniversalEnergyCapacity(); - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - this.showPollution(aPlayer.getEntityWorld(), aPlayer); - return true; - } - - private void showPollution(final World worldIn, final EntityPlayer playerIn) { - if (!PollutionUtils.isPollutionEnabled()) { - PlayerUtils.messagePlayer(playerIn, "This block is useless, Pollution is disabled."); - } else { - PlayerUtils.messagePlayer(playerIn, "This chunk contains " + getCurrentChunkPollution() + " pollution."); - PlayerUtils.messagePlayer(playerIn, "Emit Redstone at pollution level: " + this.mRedstoneLevel); - } - } - - @Override - public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - public int getCurrentChunkPollution() { - return getCurrentChunkPollution(this.getBaseMetaTileEntity()); - } - - public int getCurrentChunkPollution(IGregTechTileEntity aBaseMetaTileEntity) { - return PollutionUtils.getPollution(aBaseMetaTileEntity); - } - - @Override - public String[] getInfoData() { - return new String[] { this.getLocalName(), "Current Pollution: " + this.mCurrentPollution, - "Average/10 Sec: " + this.mAveragePollution, "Emit Redstone at pollution level: " + this.mRedstoneLevel }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - return new int[] {}; - } - - @Override - public boolean canInsertItem(final int p_102007_1_, final ItemStack p_102007_2_, final int p_102007_3_) { - return false; - } - - @Override - public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) { - return false; - } - - @Override - public int getSizeInventory() { - return 0; - } - - @Override - public ItemStack getStackInSlot(final int p_70301_1_) { - return null; - } - - @Override - public ItemStack decrStackSize(final int p_70298_1_, final int p_70298_2_) { - return null; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int p_70304_1_) { - return null; - } - - @Override - public void setInventorySlotContents(final int p_70299_1_, final ItemStack p_70299_2_) {} - - @Override - public String getInventoryName() { - return null; - } - - @Override - public boolean hasCustomInventoryName() { - return false; - } - - @Override - public int getInventoryStackLimit() { - return 0; - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer p_70300_1_) { - return false; - } - - @Override - public void openInventory() {} - - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(final int p_94041_1_, final ItemStack p_94041_2_) { - return false; - } - - @Override - public boolean isOverclockerUpgradable() { - return false; - } - - @Override - public boolean isTransformerUpgradable() { - return false; - } - - @Override - public void saveNBTData(final NBTTagCompound aNBT) { - aNBT.setInteger("mCurrentPollution", this.mCurrentPollution); - aNBT.setInteger("mAveragePollution", this.mAveragePollution); - aNBT.setLong("mRedstoneLevel", this.mRedstoneLevel); - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - this.mCurrentPollution = aNBT.getInteger("mCurrentPollution"); - this.mAveragePollution = aNBT.getInteger("mAveragePollution"); - this.mRedstoneLevel = aNBT.getLong("mRedstoneLevel"); - } - - @Override - public void onFirstTick(final IGregTechTileEntity aBaseMetaTileEntity) { - super.onFirstTick(aBaseMetaTileEntity); - } - - public boolean allowCoverOnSide(final ForgeDirection side, final int aCoverID) { - return side != this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - - // Only Calc server-side - if (!this.getBaseMetaTileEntity() - .isServerSide()) { - return; - } - // Emit Redstone - if (this.getCurrentChunkPollution() >= this.mRedstoneLevel) { - for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - this.getBaseMetaTileEntity() - .setStrongOutputRedstoneSignal(side, (byte) 16); - } - this.markDirty(); - } else { - for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { - this.getBaseMetaTileEntity() - .setStrongOutputRedstoneSignal(side, (byte) 0); - } - this.markDirty(); - } - - // Do Math for stats - if (this.mTickTimer % 20 == 0) { - mCurrentPollution = this.getCurrentChunkPollution(); - if (mArrayPos > mAveragePollutionArray.length - 1) { - mArrayPos = 0; - } - mAveragePollutionArray[mArrayPos] = mCurrentPollution; - mAveragePollution = getAveragePollutionOverLastTen(); - mArrayPos++; - } - this.mTickTimer++; - } - - public int getAveragePollutionOverLastTen() { - return MathUtils.getIntAverage(mAveragePollutionArray); - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - - if (side == this.getBaseMetaTileEntity() - .getFrontFacing()) { - final float[] tCoords = GT_Utility.getClickedFacingCoords(side, aX, aY, aZ); - switch ((byte) ((byte) (int) (tCoords[0] * 2.0F) + (2 * (byte) (int) (tCoords[1] * 2.0F)))) { - case 0 -> this.mRedstoneLevel -= 5000; - case 1 -> this.mRedstoneLevel += 5000; - case 2 -> this.mRedstoneLevel -= 50000; - case 3 -> this.mRedstoneLevel += 50000; - } - this.markDirty(); - GT_Utility.sendChatToPlayer(aPlayer, "Emit Redstone at Pollution Level: " + this.mRedstoneLevel); - } - - super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); - } - - @Override - public boolean allowGeneralRedstoneOutput() { - if (this.getCurrentChunkPollution() >= this.mRedstoneLevel) { - this.markDirty(); - return true; - } - return false; - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, ForgeDirection side, - float aX, float aY, float aZ) { - return super.onRightclick(aBaseMetaTileEntity, aPlayer, side, aX, aY, aZ); - } - - @Override - public void onMachineBlockUpdate() { - super.onMachineBlockUpdate(); - } - - @Override - public boolean hasSidedRedstoneOutputBehavior() { - if (this.getCurrentChunkPollution() >= this.mRedstoneLevel) { - this.markDirty(); - return true; - } - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_AutoChisel.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_AutoChisel.java deleted file mode 100644 index 751771f2b4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_AutoChisel.java +++ /dev/null @@ -1,190 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic; - -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture; -import com.gtnewhorizons.modularui.api.drawable.IDrawable; -import com.gtnewhorizons.modularui.api.math.Pos2d; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; - -import gregtech.api.enums.Textures.BlockIcons; -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.BasicUIProperties; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import team.chisel.carving.Carving; - -public class GregtechMetaTileEntity_AutoChisel extends GT_MetaTileEntity_BasicMachine { - - private ItemStack mInputCache; - private ItemStack mOutputCache; - - public GregtechMetaTileEntity_AutoChisel(int aID, String aName, String aNameRegional, int aTier) { - super( - aID, - aName, - aNameRegional, - aTier, - 1, - "Chisels things, Gregtech style", - 1, - 1, - new ITexture[] { new GT_RenderedTexture(BlockIcons.OVERLAY_SIDE_MASSFAB_ACTIVE), - new GT_RenderedTexture(BlockIcons.OVERLAY_SIDE_MASSFAB), - new GT_RenderedTexture(BlockIcons.OVERLAY_FRONT_MULTI_SMELTER_ACTIVE), - new GT_RenderedTexture(BlockIcons.OVERLAY_FRONT_MULTI_SMELTER), - new GT_RenderedTexture(TexturesGtBlock.Overlay_MatterFab_Active), - new GT_RenderedTexture(TexturesGtBlock.Overlay_MatterFab), - new GT_RenderedTexture(BlockIcons.OVERLAY_BOTTOM_MASSFAB_ACTIVE), - new GT_RenderedTexture(BlockIcons.OVERLAY_BOTTOM_MASSFAB) }); - } - - public GregtechMetaTileEntity_AutoChisel(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, 1, aDescription, aTextures, 1, 1); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_AutoChisel(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll( - this.mDescriptionArray, - "What you want to chisel goes in slot 1", - "What you want to get goes in the special slot (bottom right)", - "If special slot is empty, first chisel result is used"); - } - - private boolean hasValidCache(ItemStack aStack, ItemStack aSpecialSlot, boolean aClearOnFailure) { - if (mInputCache != null && mOutputCache != null) { - if (GT_Utility.areStacksEqual(aStack, mInputCache) - && GT_Utility.areStacksEqual(aSpecialSlot, mOutputCache)) { - return true; - } - } - // clear cache if it was invalid - if (aClearOnFailure) { - mInputCache = null; - mOutputCache = null; - } - return false; - } - - private void cacheItem(ItemStack mInputItem, ItemStack mOutputItem) { - mOutputCache = mOutputItem.copy(); - mInputCache = mInputItem.copy(); - } - - @Override - protected boolean allowPutStackValidated(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return hasValidCache(aStack, this.getSpecialSlot(), false) ? true - : super.allowPutStackValidated(aBaseMetaTileEntity, aIndex, side, aStack) && hasChiselResults(aStack); - } - - // lets make sure the user isn't trying to make something from a block that doesn't have this as a valid target - private static boolean canBeMadeFrom(ItemStack from, ItemStack to) { - List results = getItemsForChiseling(from); - for (ItemStack s : results) { - if (s.getItem() == to.getItem() && s.getItemDamage() == to.getItemDamage()) { - return true; - } - } - return false; - } - - // lets make sure the user isn't trying to make something from a block that doesn't have this as a valid target - private static boolean hasChiselResults(ItemStack from) { - List results = getItemsForChiseling(from); - return results.size() > 0; - } - - private static List getItemsForChiseling(ItemStack aStack) { - return Carving.chisel.getItemsForChiseling(aStack); - } - - private static ItemStack getChiselOutput(ItemStack aInput, ItemStack aTarget) { - ItemStack tOutput = null; - if (aTarget != null && canBeMadeFrom(aInput, aTarget)) { - tOutput = aTarget; - } else if (aTarget != null && !canBeMadeFrom(aInput, aTarget)) { - tOutput = null; - } else { - tOutput = getItemsForChiseling(aInput).get(0); - } - return tOutput; - } - - @Override - public int checkRecipe() { - ItemStack tOutput = null; - ItemStack aInput = getInputAt(0); - ItemStack aTarget = getSpecialSlot(); - boolean tIsCached = hasValidCache(aInput, aTarget, true); - if (aInput != null && hasChiselResults(aInput) && aInput.stackSize > 0) { - tOutput = tIsCached ? mOutputCache.copy() : getChiselOutput(aInput, aTarget); - if (tOutput != null) { - tOutput = tOutput.copy(); - tOutput.stackSize = 1; - // We can chisel this - if (canOutput(tOutput)) { - getInputAt(0).stackSize -= 1; - calculateOverclockedNess(16, 20); - // In case recipe is too OP for that machine - if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) { - return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; - } - if (!tIsCached) { - cacheItem(ItemUtils.getSimpleStack(aInput, 1), ItemUtils.getSimpleStack(tOutput, 1)); - } - this.mOutputItems[0] = tOutput.copy(); - return FOUND_AND_SUCCESSFULLY_USED_RECIPE; - } else { - mOutputBlocked++; - return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; - } - } - } - return DID_NOT_FIND_RECIPE; - } - - @Override - public boolean useModularUI() { - return true; - } - - private static final FallbackableUITexture progressBarTexture = GT_UITextures - .fallbackableProgressbar("auto_chisel", GT_UITextures.PROGRESSBAR_COMPRESS); - - @Override - protected BasicUIProperties getUIProperties() { - return super.getUIProperties().toBuilder() - .progressBarTexture(progressBarTexture) - .build(); - } - - @Override - protected SlotWidget createItemInputSlot(int index, IDrawable[] backgrounds, Pos2d pos) { - return (SlotWidget) super.createItemInputSlot(index, backgrounds, pos) - .setBackground(getGUITextureSet().getItemSlot(), GT_UITextures.OVERLAY_SLOT_COMPRESSOR); - } - - @Override - protected SlotWidget createSpecialSlot(IDrawable[] backgrounds, Pos2d pos, BasicUIProperties uiProperties) { - return (SlotWidget) super.createSpecialSlot(backgrounds, pos, uiProperties) - .setGTTooltip(() -> mTooltipCache.getData("GTPP.machines.chisel_slot.tooltip")); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java deleted file mode 100644 index b1289958a9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java +++ /dev/null @@ -1,672 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic; - -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 net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.GT_Values; -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.BaseMetaTileEntity; -import gregtech.api.objects.GT_RenderedTexture; -import gtPlusPlus.api.objects.minecraft.BlockPos; -import gtPlusPlus.core.lib.CORE; -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; - -public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity { - - private int mCurrentDimension = 0; - public int mMode = 0; - public boolean mLocked = true; - - public GregtechMetaWirelessCharger(final int aID, final String aName, final String aNameRegional, final int aTier, - final String aDescription, final int aSlotCount) { - super(aID, aName, aNameRegional, aTier, aSlotCount, aDescription); - } - - public GregtechMetaWirelessCharger(final String aName, final int aTier, final String aDescription, - final ITexture[][][] aTextures, final int aSlotCount) { - super(aName, aTier, aSlotCount, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - return new String[] { this.mDescription, "Can be locked to the owner by sneaking with a screwdriver", - "Can also be locked with a lock upgrade", "", "3 Modes, Long-Range, Local and Mixed.", - "Long-Range: Can supply 2A of power to a single player up to " + (GT_Values.V[this.mTier] * 4) + "m away.", - "Local: Can supply several Amps to each player within " + this.mTier * 20 + "m.", - "Mixed: Provides both 2A of long range and 1A per player locally.", - "Mixed mode is more conservative of power and as a result only", - "Gets half the distances each singular mode gets.", CORE.GT_Tooltip.get() }; - } - - public int getTier() { - return this.mTier; - } - - public int getMode() { - return this.mMode; - } - - public int getDimensionID() { - return this.mCurrentDimension; - } - - public Map getLocalMap() { - return this.mLocalChargingMap; - } - - public Map getLongRangeMap() { - return this.mWirelessChargingMap; - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 - : side == facing.getOpposite() ? 1 - : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_2) }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_2) }; - } - - public ITexture[] getBackActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getBottomActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getTopActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getSidesActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - - if (aPlayer.isSneaking()) { - mLocked = !mLocked; - PlayerUtils.messagePlayer(aPlayer, mLocked ? "Locked to owner." : "Unlocked."); - return; - } - - mWirelessChargingMap.clear(); - mLocalChargingMap.clear(); - if (!this.getBaseMetaTileEntity() - .getWorld().playerEntities.isEmpty()) { - for (Object mTempPlayer : this.getBaseMetaTileEntity() - .getWorld().playerEntities) { - if (mTempPlayer instanceof EntityPlayer || mTempPlayer instanceof EntityPlayerMP) { - EntityPlayer mTemp = (EntityPlayer) mTempPlayer; - ChargingHelper.removeValidPlayer(mTemp, this); - } - } - } - - if (this.mMode >= 2) { - this.mMode = 0; - } else { - this.mMode++; - } - if (this.mMode == 0) { - PlayerUtils.messagePlayer(aPlayer, "Now in Long-Range Charge Mode."); - } else if (this.mMode == 1) { - PlayerUtils.messagePlayer(aPlayer, "Now in Local Charge Mode."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Now in Mixed Charge Mode."); - } - super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaWirelessCharger( - this.mName, - this.mTier, - this.mDescription, - this.mTextures, - this.mInventory.length); - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isElectric() { - return true; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return true; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return true; - } - - @Override - public boolean isEnetInput() { - return true; - } - - @Override - public boolean isEnetOutput() { - return false; - } - - @Override - public boolean isInputFacing(final ForgeDirection side) { - return side != this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return side == this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public boolean isTeleporterCompatible() { - return false; - } - - @Override - public long getMinimumStoredEU() { - return 0; - } - - @Override - public long maxEUStore() { - return GT_Values.V[this.mTier] * 128; - } - - @Override - public int getCapacity() { - return (int) (GT_Values.V[this.mTier] * 32); - } - - @Override - public long maxEUInput() { - return GT_Values.V[this.mTier]; - } - - @Override - public long maxEUOutput() { - return 0; - } - - @Override - public long maxAmperesIn() { - if (this.mMode == 0) { - return 2; - } else if (this.mMode == 1) { - return this.mLocalChargingMap.size() * 8; - } else { - return ((this.mLocalChargingMap.size() * 4) + this.mWirelessChargingMap.size()); - } - } - - @Override - public long maxAmperesOut() { - return 0; - } - - @Override - public int rechargerSlotStartIndex() { - return 0; - } - - @Override - public int dechargerSlotStartIndex() { - return 0; - } - - @Override - public int rechargerSlotCount() { - return 0; - } - - @Override - public int dechargerSlotCount() { - return 0; - } - - @Override - public int getProgresstime() { - return (int) this.getBaseMetaTileEntity() - .getUniversalEnergyStored(); - } - - @Override - public int maxProgresstime() { - return (int) this.getBaseMetaTileEntity() - .getUniversalEnergyCapacity(); - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - return true; - } - - @Override - public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public String[] getInfoData() { - return new String[] { this.getLocalName() }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - return new int[] {}; - } - - @Override - public boolean canInsertItem(final int p_102007_1_, final ItemStack p_102007_2_, final int p_102007_3_) { - return false; - } - - @Override - public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) { - return false; - } - - @Override - public int getSizeInventory() { - return 0; - } - - @Override - public ItemStack getStackInSlot(final int p_70301_1_) { - return null; - } - - @Override - public ItemStack decrStackSize(final int p_70298_1_, final int p_70298_2_) { - return null; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int p_70304_1_) { - return null; - } - - @Override - public void setInventorySlotContents(final int p_70299_1_, final ItemStack p_70299_2_) {} - - @Override - public String getInventoryName() { - return null; - } - - @Override - public boolean hasCustomInventoryName() { - return false; - } - - @Override - public int getInventoryStackLimit() { - return 0; - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer p_70300_1_) { - return false; - } - - @Override - public void openInventory() {} - - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(final int p_94041_1_, final ItemStack p_94041_2_) { - return false; - } - - @Override - public boolean isOverclockerUpgradable() { - return false; - } - - @Override - public boolean isTransformerUpgradable() { - return false; - } - - @Override - public void saveNBTData(final NBTTagCompound aNBT) { - aNBT.setBoolean("mLocked", this.mLocked); - aNBT.setInteger("mMode", this.mMode); - aNBT.setInteger("mCurrentDimension", this.mCurrentDimension); - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - this.mLocked = aNBT.getBoolean("mLocked"); - this.mMode = aNBT.getInteger("mMode"); - this.mCurrentDimension = aNBT.getInteger("mCurrentDimension"); - } - - @Override - public void onFirstTick(final IGregTechTileEntity aBaseMetaTileEntity) { - super.onFirstTick(aBaseMetaTileEntity); - } - - private Map mWirelessChargingMap = new HashMap<>(); - private Map mLocalChargingMap = new HashMap<>(); - - private boolean isValidPlayer(EntityPlayer aPlayer) { - BaseMetaTileEntity aTile = (BaseMetaTileEntity) this.getBaseMetaTileEntity(); - if (mLocked || (aTile != null && aTile.privateAccess())) { - if (aPlayer.getUniqueID() - .equals(getBaseMetaTileEntity().getOwnerUuid())) { - return true; - } else { - return false; - } - } - return true; - } - - @Override - public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (this.getBaseMetaTileEntity() - .isServerSide()) { - - if (this.mCurrentDimension != aBaseMetaTileEntity.getWorld().provider.dimensionId) { - this.mCurrentDimension = aBaseMetaTileEntity.getWorld().provider.dimensionId; - } - - if (aTick % 20 == 0) { - boolean mHasBeenMapped = this.equals(ChargingHelper.getEntry(getTileEntityPosition())); - if (!mHasBeenMapped) { - mHasBeenMapped = ChargingHelper.addEntry(getTileEntityPosition(), this); - } - - if (mHasBeenMapped && !aBaseMetaTileEntity.getWorld().playerEntities.isEmpty()) { - for (Object mTempPlayer : aBaseMetaTileEntity.getWorld().playerEntities) { - if (mTempPlayer instanceof EntityPlayer || mTempPlayer instanceof EntityPlayerMP) { - EntityPlayer mTemp = (EntityPlayer) mTempPlayer; - - if (this.mMode == 1 || this.mMode == 2) { - int tempRange = (this.mMode == 1 ? this.mTier * 20 : this.mTier * 10); - if (getDistanceBetweenTwoPositions(getTileEntityPosition(), getPositionOfEntity(mTemp)) - < tempRange) { - if (isValidPlayer(mTemp) - && !mLocalChargingMap.containsKey(mTemp.getDisplayName())) { - mLocalChargingMap.put(mTemp.getDisplayName(), mTemp.getPersistentID()); - ChargingHelper.addValidPlayer(mTemp, this); - // PlayerUtils.messagePlayer(mTemp, "You have entered charging range. - // ["+tempRange+"m - Local]."); - } - } else { - if (mLocalChargingMap.containsKey(mTemp.getDisplayName())) { - if (mLocalChargingMap.remove(mTemp.getDisplayName()) != null) { - // PlayerUtils.messagePlayer(mTemp, "You have left charging range. - // ["+tempRange+"m - Local]."); - ChargingHelper.removeValidPlayer(mTemp, this); - } - } - } - } - if (this.mMode == 0 || this.mMode == 2) { - int tempRange = (int) (this.mMode == 0 ? 4 * GT_Values.V[this.mTier] - : 2 * GT_Values.V[this.mTier]); - if (getDistanceBetweenTwoPositions(getTileEntityPosition(), getPositionOfEntity(mTemp)) - <= tempRange) { - if (!mWirelessChargingMap.containsKey(mTemp.getDisplayName())) { - if (isValidPlayer(mTemp)) { - mWirelessChargingMap.put(mTemp.getDisplayName(), mTemp.getPersistentID()); - ChargingHelper.addValidPlayer(mTemp, this); - PlayerUtils.messagePlayer( - mTemp, - "You have entered charging range. [" + tempRange + "m - Long-Range]."); - } - } - } else { - if (mWirelessChargingMap.containsKey(mTemp.getDisplayName())) { - if (mWirelessChargingMap.remove(mTemp.getDisplayName()) != null) { - PlayerUtils.messagePlayer( - mTemp, - "You have left charging range. [" + tempRange + "m - Long Range]."); - ChargingHelper.removeValidPlayer(mTemp, this); - } - } - } - } - /* - * if (this.mMode == 0 || this.mMode == 2){ int tempRange = (int) (this.mMode == 0 ? - * 4*GT_Values.V[this.mTier] : 2*GT_Values.V[this.mTier]); if - * (getDistanceBetweenTwoPositions(getTileEntityPosition(), getPositionOfEntity(mTemp)) < - * tempRange){ if (!mWirelessChargingMap.containsKey(mTemp)){ - * mWirelessChargingMap.put(mTemp, mTemp.getPersistentID()); - * PlayerUtils.messagePlayer(mTemp, "You have entered charging range. ["+tempRange+"m]."); - * ChargingHelper.addValidPlayer(mTemp, this); } } else { if - * (mWirelessChargingMap.containsKey(mTemp)){ if (mWirelessChargingMap.remove(mTemp) != - * null){ PlayerUtils.messagePlayer(mTemp, - * "You have left charging range. ["+tempRange+"m]."); - * ChargingHelper.removeValidPlayer(mTemp, this); } } } } - */ - - } - } - } - } - } - } - - public BlockPos getTileEntityPosition() { - return new BlockPos( - this.getBaseMetaTileEntity() - .getXCoord(), - this.getBaseMetaTileEntity() - .getYCoord(), - this.getBaseMetaTileEntity() - .getZCoord(), - this.getBaseMetaTileEntity() - .getWorld()); - } - - public BlockPos getPositionOfEntity(Entity mEntity) { - if (mEntity == null) { - return null; - } - return EntityUtils.findBlockPosUnderEntity(mEntity); - } - - public double getDistanceBetweenTwoPositions(BlockPos objectA, BlockPos objectB) { - 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]) - + (objectArray2[2] - objectArray1[2]) * (objectArray2[2] - objectArray1[2])); - return distance; - } - - @Override - public void onRemoval() { - - ChargingHelper.removeEntry(getTileEntityPosition(), this); - - mWirelessChargingMap.clear(); - mLocalChargingMap.clear(); - if (!this.getBaseMetaTileEntity() - .getWorld().playerEntities.isEmpty()) { - for (Object mTempPlayer : this.getBaseMetaTileEntity() - .getWorld().playerEntities) { - if (mTempPlayer instanceof EntityPlayer || mTempPlayer instanceof EntityPlayerMP) { - EntityPlayer mTemp = (EntityPlayer) mTempPlayer; - ChargingHelper.removeValidPlayer(mTemp, this); - } - } - } - - super.onRemoval(); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, ForgeDirection side, - float aX, float aY, float aZ) { - - int tempRange; - - if (this.mMode == 0 || this.mMode == 2) { - tempRange = (int) (this.mMode == 0 ? 4 * GT_Values.V[this.mTier] : 2 * GT_Values.V[this.mTier]); - } else { - tempRange = this.mMode == 1 ? this.mTier * 20 : this.mTier * 10; - } - - if (this.mMode == 2) { - PlayerUtils - .messagePlayer(aPlayer, "Mixed Mode | Local: " + this.mTier * 10 + "m | Long: " + tempRange + "m"); - PlayerUtils.messagePlayer(aPlayer, "Players with access:"); - for (String name : this.getLocalMap() - .keySet()) { - PlayerUtils.messagePlayer(aPlayer, "Local: " + name); - } - for (String name : this.getLongRangeMap() - .keySet()) { - PlayerUtils.messagePlayer(aPlayer, "Long: " + name); - } - } else if (this.mMode == 1) { - PlayerUtils.messagePlayer(aPlayer, "Local Mode: " + this.mTier * 20 + "m"); - PlayerUtils.messagePlayer(aPlayer, "Players with access:"); - for (String name : this.getLocalMap() - .keySet()) { - PlayerUtils.messagePlayer(aPlayer, "" + name); - } - - } else { - PlayerUtils.messagePlayer(aPlayer, "Long-range Mode: " + tempRange + "m"); - PlayerUtils.messagePlayer(aPlayer, "Players with access:"); - for (String name : this.getLongRangeMap() - .keySet()) { - PlayerUtils.messagePlayer(aPlayer, "" + name); - } - } - - return super.onRightclick(aBaseMetaTileEntity, aPlayer, side, aX, aY, aZ); - } - - @Override - public void onServerStart() { - mWirelessChargingMap.clear(); - mLocalChargingMap.clear(); - super.onServerStart(); - } - - @Override - public void onExplosion() { - ChargingHelper.removeEntry(getTileEntityPosition(), this); - super.onExplosion(); - } - - @Override - public void doExplosion(long aExplosionPower) { - ChargingHelper.removeEntry(getTileEntityPosition(), this); - super.doExplosion(aExplosionPower); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java deleted file mode 100644 index 0e71c3b9b1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java +++ /dev/null @@ -1,168 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.misc; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -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; - -public class GMTE_AmazonPackager extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - private int mCasing; - - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GMTE_AmazonPackager(mName); - } - - public GMTE_AmazonPackager(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GMTE_AmazonPackager(String aName) { - super(aName); - } - - @Override - public String getMachineType() { - return "Packager"; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GMTE_AmazonPackager.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(TAE.getIndexFromPage(2, 9)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings3Misc, 9)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Amazon Warehouse") - .addInfo("This Multiblock is used for EXTREME packaging requirements") - .addInfo("Dust Schematics are inserted into the input busses") - .addInfo("If inserted into the controller, it is shared across all busses") - .addInfo("1x, 2x, 3x & Other Schematics are to be placed into the controller GUI slot") - .addInfo("500% faster than using single block machines of the same voltage") - .addInfo("Only uses 75% of the EU/t normally required") - .addInfo("Processes 16 items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front center") - .addCasingInfoMin("Supply Depot Casings", 10, false) - .addInputBus("Any casing", 1) - .addOutputBus("Any casing", 1) - .addEnergyHatch("Any casing", 1) - .addMaintenanceHatch("Any casing", 1) - .addMufflerHatch("Any casing", 1) - .toolTipFinisher("GT++"); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return TAE.getIndexFromPage(2, 9); - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.packagerRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 6F) - .setEuModifier(0.75F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 10 && checkHatch(); - } - - @Override - public int getMaxEfficiency(ItemStack p0) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack arg0) { - return CORE.ConfigSwitches.pollutionPerSecondMultiPackager; - } - - @Override - public int getMaxParallelRecipes() { - return (16 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean supportsInputSeparation() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java deleted file mode 100644 index e5d138dfda..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java +++ /dev/null @@ -1,223 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofCoil; - -import net.minecraft.item.ItemStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.HeatingCoilLevel; -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_OverclockCalculator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; - -public class GregtechMetaTileEntity_IndustrialAlloySmelter extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - public static int CASING_TEXTURE_ID; - private HeatingCoilLevel mHeatingCapacity; - private int mLevel = 0; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialAlloySmelter(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 1); - } - - public GregtechMetaTileEntity_IndustrialAlloySmelter(String aName) { - super(aName); - CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 1); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialAlloySmelter(this.mName); - } - - @Override - protected IIconContainer getActiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_MULTI_SMELTER_ACTIVE; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_MULTI_SMELTER; - } - - @Override - protected int getCasingTextureId() { - return CASING_TEXTURE_ID; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.alloySmelterRecipes; - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialAlloySmelter; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - @Override - public String getMachineType() { - return "Alloy Smelter"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Alloy Smelter") - .addInfo("Gains one parallel per voltage tier") - .addInfo("Gains one multiplier per coil tier") - .addInfo("Parallel = Tier * Coil Tier") - .addInfo("Gains 5% speed bonus per coil tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 5, 3, true) - .addController("Bottom center") - .addCasingInfoMin("Inconel Reinforced Casings", 8, false) - .addOtherStructurePart("Integral Encasement V", "Middle Layer") - .addOtherStructurePart("Heating Coils", "Above and below Integral Encasements") - .addInputBus("Any Inconel Reinforced Casing", 1) - .addOutputBus("Any Inconel Reinforced Casing", 1) - .addEnergyHatch("Any Inconel Reinforced Casing", 1) - .addMaintenanceHatch("Any Inconel Reinforced Casing", 1) - .addMufflerHatch("Any Inconel Reinforced Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "HHH", "H-H", "HHH" }, { "VVV", "V-V", "VVV" }, - { "HHH", "H-H", "HHH" }, { "C~C", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialAlloySmelter.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(CASING_TEXTURE_ID) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings3Misc, 1)))) - .addElement( - 'H', - ofCoil( - GregtechMetaTileEntity_IndustrialAlloySmelter::setCoilLevel, - GregtechMetaTileEntity_IndustrialAlloySmelter::getCoilLevel)) - .addElement('V', ofBlock(ModBlocks.blockCasingsTieredGTPP, 4)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 4, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 4, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mLevel = 0; - setCoilLevel(HeatingCoilLevel.None); - return checkPiece(mName, 1, 4, 0) && mCasing >= 8 - && getCoilLevel() != HeatingCoilLevel.None - && (mLevel = getCoilLevel().getTier() + 1) > 0 - && checkHatch(); - } - - @Override - public int getMaxParallelRecipes() { - return (this.mLevel * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @NotNull - @Override - protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { - return super.createOverclockCalculator(recipe).setSpeedBoost(100F / (100F + 5F * mLevel)) - .setHeatOC(true) - .setRecipeHeat(0) - // Need to multiply by 2 because heat OC is done only once every 1800 and this one does it once - // every - // 900 - .setMachineHeat((int) (getCoilLevel().getHeat() * 2)); - } - }.setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - public HeatingCoilLevel getCoilLevel() { - return mHeatingCapacity; - } - - public void setCoilLevel(HeatingCoilLevel aCoilLevel) { - mHeatingCapacity = aCoilLevel; - } - - @Override - public boolean isInputSeparationEnabled() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java deleted file mode 100644 index c27422fb93..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java +++ /dev/null @@ -1,337 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.Arrays; -import java.util.Collection; - -import javax.annotation.Nonnull; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_IndustrialArcFurnace - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - // 862 - private static final int mCasingTextureID = TAE.getIndexFromPage(3, 3); - public static String mCasingName = "Tempered Arc Furnace Casing"; - private boolean mPlasmaMode = false; - private int mSize = 0; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialArcFurnace(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialArcFurnace(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialArcFurnace(this.mName); - } - - @Override - public String getMachineType() { - return "(Plasma/Electric) Arc Furnace"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for Industrial Arc Furnace") - .addInfo("250% faster than using single block machines of the same voltage") - .addInfo("Processes 8 items per voltage tier * W/L") - .addInfo("Right-click controller with a Screwdriver to change modes") - .addInfo("Max Size required to process Plasma recipes") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .addController("Top center") - .addStructureInfo("Size: nxnx3 [WxHxL] (Hollow)") - .addStructureInfo("n can be 3, 5 or 7") - .addCasingInfoMin(mCasingName, 10, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - /** - * The front part of multi. Used to determine the tier, or in other words, determine the size of multi. - */ - private static final String STRUCTURE_PIECE_FRONT = "front"; - /** - * The rest part of multi. - */ - private static final String STRUCTURE_PIECE_REST = "rest"; - private static final int MAX_TIER = 3; - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape(STRUCTURE_PIECE_FRONT + 1, new String[][] { { "CCC", "C~C", "CCC" } }) - .addShape(STRUCTURE_PIECE_FRONT + 2, new String[][] { { "CCCCC", "C C", "C C", "C C", "CCCCC" } }) - .addShape( - STRUCTURE_PIECE_FRONT + 3, - new String[][] { { "CCCCCCC", "C C", "C C", "C C", "C C", "C C", "CCCCCCC" }, }) - .addShape(STRUCTURE_PIECE_REST + 1, new String[][] { { "CCC", "C-C", "CCC" }, { "CCC", "CCC", "CCC" } }) - .addShape( - STRUCTURE_PIECE_REST + 2, - new String[][] { { "CCCCC", "C---C", "C---C", "C---C", "CCCCC" }, - { "CCCCC", "CCCCC", "CCCCC", "CCCCC", "CCCCC" } }) - .addShape( - STRUCTURE_PIECE_REST + 3, - new String[][] { { "CCCCCCC", "C-----C", "C-----C", "C-----C", "C-----C", "C-----C", "CCCCCCC" }, - { "CCCCCCC", "CCCCCCC", "CCCCCCC", "CCCCCCC", "CCCCCCC", "CCCCCCC", "CCCCCCC" }, }) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialArcFurnace.class) - .atLeast(InputBus, InputHatch, OutputBus, OutputHatch, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .allowOnly(ForgeDirection.NORTH) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings4Misc, 3)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - private int getTierFromHint(ItemStack stackSize) { - if (stackSize.stackSize <= 0 || stackSize.stackSize >= MAX_TIER) { - return MAX_TIER; - } - return stackSize.stackSize; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - int maxTier = getTierFromHint(stackSize); - for (int tier = 1; tier <= maxTier; tier++) { - buildPiece(STRUCTURE_PIECE_FRONT + tier, stackSize, hintsOnly, tier, tier, 0); - } - buildPiece(STRUCTURE_PIECE_REST + maxTier, stackSize, hintsOnly, maxTier, maxTier, -1); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - int maxTier = getTierFromHint(stackSize); - int built; - for (int tier = 1; tier <= maxTier; tier++) { - built = survivialBuildPiece( - STRUCTURE_PIECE_FRONT + tier, - stackSize, - tier, - tier, - 0, - elementBudget, - env, - false, - true); - if (built >= 0) return built; - } - - return survivialBuildPiece( - STRUCTURE_PIECE_REST + maxTier, - stackSize, - maxTier, - maxTier, - -1, - elementBudget, - env, - false, - true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mSize = 0; - int tier = 0; - while (tier < MAX_TIER && checkPiece(STRUCTURE_PIECE_FRONT + (tier + 1), (tier + 1), (tier + 1), 0)) { - tier++; - } - if (tier <= 0) return false; - if (checkPiece(STRUCTURE_PIECE_REST + tier, tier, tier, -1)) { - mSize = 2 * tier + 1; - return mCasing >= 10 && checkHatch(); - } - return false; - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return mCasingTextureID; - } - - @Override - public RecipeMap getRecipeMap() { - return mPlasmaMode ? RecipeMaps.plasmaArcFurnaceRecipes : RecipeMaps.arcFurnaceRecipes; - } - - @Nonnull - @Override - public Collection> getAvailableRecipeMaps() { - return Arrays.asList(RecipeMaps.arcFurnaceRecipes, RecipeMaps.plasmaArcFurnaceRecipes); - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 3.5F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (this.mSize * 8 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialArcFurnace; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - public Block getCasingBlock() { - return ModBlocks.blockCasings4Misc; - } - - public byte getCasingMeta() { - return 3; - } - - public byte getCasingTextureIndex() { - return (byte) mCasingTextureID; - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (this.mSize > 5) { - this.mPlasmaMode = !mPlasmaMode; - if (mPlasmaMode) { - PlayerUtils.messagePlayer( - aPlayer, - "[" + EnumChatFormatting.RED - + "MODE" - + EnumChatFormatting.RESET - + "] " - + EnumChatFormatting.LIGHT_PURPLE - + "Plasma" - + EnumChatFormatting.RESET); - } else { - PlayerUtils.messagePlayer( - aPlayer, - "[" + EnumChatFormatting.RED - + "MODE" - + EnumChatFormatting.RESET - + "] " - + EnumChatFormatting.YELLOW - + "Electric" - + EnumChatFormatting.RESET); - } - } else { - PlayerUtils.messagePlayer( - aPlayer, - "[" + EnumChatFormatting.RED - + "MODE" - + EnumChatFormatting.RESET - + "] " - + EnumChatFormatting.GRAY - + "Cannot change mode, structure not large enough." - + EnumChatFormatting.RESET); - } - mLastRecipe = null; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("mPlasmaMode", mPlasmaMode); - aNBT.setInteger("mSize", mSize); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - mPlasmaMode = aNBT.getBoolean("mPlasmaMode"); - mSize = aNBT.getInteger("mSize"); - } - - @Override - public void onMachineBlockUpdate() { - mUpdate = 100; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java deleted file mode 100644 index c04620d4b4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java +++ /dev/null @@ -1,228 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.CustomIcon; - -public class GregtechMetaTileEntity_IndustrialCentrifuge - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private boolean mIsAnimated; - private static final CustomIcon frontFaceActive = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE5"); - private static final CustomIcon frontFace = new CustomIcon("iconsets/LARGECENTRIFUGE5"); - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - // public static double recipesComplete = 0; - - public GregtechMetaTileEntity_IndustrialCentrifuge(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - mIsAnimated = true; - } - - public GregtechMetaTileEntity_IndustrialCentrifuge(final String aName) { - super(aName); - mIsAnimated = true; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialCentrifuge(this.mName); - } - - @Override - public String getMachineType() { - return "Centrifuge"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Centrifuge") - .addInfo("125% faster than using single block machines of the same voltage") - .addInfo("Disable animations with a screwdriver") - .addInfo("Only uses 90% of the EU/t normally required") - .addInfo("Processes six items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front Center") - .addCasingInfoMin("Centrifuge Casings", 6, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialCentrifuge.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 0)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 6 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - if (usingAnimations()) { - return frontFaceActive; - } else { - return frontFace; - } - } - - @Override - protected IIconContainer getInactiveOverlay() { - return frontFace; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(0); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.centrifugeNonCellRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setEuModifier(0.9F) - .setSpeedBonus(1F / 2.25F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (6 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - public Block getCasingBlock() { - return ModBlocks.blockCasingsMisc; - } - - public byte getCasingMeta() { - return 0; - } - - public byte getCasingTextureIndex() { - return (byte) TAE.GTPP_INDEX(0); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCentrifuge; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - this.mIsAnimated = !mIsAnimated; - Logger.INFO("Is Centrifuge animated " + this.mIsAnimated); - if (this.mIsAnimated) { - PlayerUtils.messagePlayer(aPlayer, "Using Animated Turbine Texture. "); - } else { - PlayerUtils.messagePlayer(aPlayer, "Using Static Turbine Texture. "); - } - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("mIsAnimated", mIsAnimated); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - if (aNBT.hasKey("mIsAnimated")) { - mIsAnimated = aNBT.getBoolean("mIsAnimated"); - } else { - mIsAnimated = true; - } - } - - public boolean usingAnimations() { - // Logger.INFO("Is animated? "+this.mIsAnimated); - return this.mIsAnimated; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialChisel.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialChisel.java deleted file mode 100644 index a9f18dfce8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialChisel.java +++ /dev/null @@ -1,342 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.List; -import java.util.stream.Stream; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.FluidStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_StreamUtil; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ChiselBus; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import team.chisel.carving.Carving; - -public class GregtechMetaTileEntity_IndustrialChisel - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing; - - private ItemStack target; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - private ItemStack mInputCache; - private ItemStack mOutputCache; - private GT_Recipe mCachedRecipe; - - public GregtechMetaTileEntity_IndustrialChisel(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialChisel(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialChisel(this.mName); - } - - @Override - public String getMachineType() { - return "Chisel"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Factory Grade Auto Chisel") - .addInfo("Target block goes in Controller slot for common Input Buses") - .addInfo("You can also set a target block in each Chisel Input Bus and use them as an Input Bus") - .addInfo("If no target is provided for common buses, the result of the first chisel is used") - .addInfo("Speed: +200% | EU Usage: 75% | Parallel: Tier x 16") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front center") - .addCasingInfoMin("Sturdy Printer Casing", 6, false) - .addInputBus("Any casing", 1) - .addOutputBus("Any casing", 1) - .addEnergyHatch("Any casing", 1) - .addMaintenanceHatch("Any casing", 1) - .addMufflerHatch("Any casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - // spotless:off - new String[][] { - { "CCC", "CCC", "CCC" }, - { "C~C", "C-C", "CCC" }, - { "CCC", "CCC", "CCC" }, - })) - // spotless:on - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialChisel.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(90) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings5Misc, 5)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 6 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return 90; - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - private boolean hasValidCache(ItemStack aStack, ItemStack aSpecialSlot, boolean aClearOnFailure) { - if (mInputCache != null && mOutputCache != null && mCachedRecipe != null) { - if (GT_Utility.areStacksEqual(aStack, mInputCache) - && GT_Utility.areStacksEqual(aSpecialSlot, mOutputCache)) { - return true; - } - } - // clear cache if it was invalid - if (aClearOnFailure) { - mInputCache = null; - mOutputCache = null; - mCachedRecipe = null; - } - return false; - } - - private void cacheItem(ItemStack aInputItem, ItemStack aOutputItem, GT_Recipe aRecipe) { - mInputCache = aInputItem.copy(); - mOutputCache = aOutputItem.copy(); - mCachedRecipe = aRecipe; - } - - // lets make sure the user isn't trying to make something from a block that doesn't have this as a valid target - private static boolean canBeMadeFrom(ItemStack from, ItemStack to) { - List results = getItemsForChiseling(from); - for (ItemStack s : results) { - if (s.getItem() == to.getItem() && s.getItemDamage() == to.getItemDamage()) { - return true; - } - } - return false; - } - - // lets make sure the user isn't trying to make something from a block that doesn't have this as a valid target - private static boolean hasChiselResults(ItemStack from) { - List results = getItemsForChiseling(from); - return results.size() > 0; - } - - private static List getItemsForChiseling(ItemStack aStack) { - return Carving.chisel.getItemsForChiseling(aStack); - } - - private static ItemStack getChiselOutput(ItemStack aInput, ItemStack aTarget) { - ItemStack tOutput; - if (aTarget != null && canBeMadeFrom(aInput, aTarget)) { - tOutput = aTarget; - } else if (aTarget != null && !canBeMadeFrom(aInput, aTarget)) { - tOutput = null; - } else { - tOutput = getItemsForChiseling(aInput).get(0); - } - return tOutput; - } - - private GT_Recipe generateChiselRecipe(ItemStack aInput) { - boolean tIsCached = hasValidCache(aInput, this.target, true); - if (tIsCached || aInput != null && hasChiselResults(aInput)) { - ItemStack tOutput = tIsCached ? mOutputCache.copy() : getChiselOutput(aInput, this.target); - if (tOutput != null) { - if (mCachedRecipe != null && GT_Utility.areStacksEqual(aInput, mInputCache) - && GT_Utility.areStacksEqual(tOutput, mOutputCache)) { - return mCachedRecipe; - } - // We can chisel this - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { ItemUtils.getSimpleStack(aInput, 1) }, - new ItemStack[] { ItemUtils.getSimpleStack(tOutput, 1) }, - null, - new int[] { 10000 }, - new FluidStack[] {}, - new FluidStack[] {}, - 20, - 16, - 0); - - // Cache it - cacheItem(aInput, tOutput, aRecipe); - return aRecipe; - } - } - return null; - } - - private GT_Recipe getRecipe() { - for (GT_MetaTileEntity_Hatch_InputBus bus : this.mInputBusses) { - if (bus instanceof GT_MetaTileEntity_ChiselBus) { // Chisel buses - if (bus.mInventory[bus.getSizeInventory() - 1] == null) continue; - this.target = bus.mInventory[bus.getSizeInventory() - 1]; - - for (int i = bus.getSizeInventory() - 2; i >= 0; i--) { - ItemStack itemsInSlot = bus.mInventory[i]; - if (itemsInSlot != null) { - GT_Recipe tRecipe = generateChiselRecipe(itemsInSlot); - if (tRecipe != null) { - return tRecipe; - } - } - } - } else { - target = this.getControllerSlot(); // Common buses - for (int i = bus.getSizeInventory() - 1; i >= 0; i--) { - ItemStack itemsInSlot = bus.mInventory[i]; - if (itemsInSlot != null) { - GT_Recipe tRecipe = generateChiselRecipe(itemsInSlot); - if (tRecipe != null) { - return tRecipe; - } - } - } - } - - } - return null; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @Nonnull - @Override - protected Stream findRecipeMatches(@Nullable RecipeMap map) { - return GT_StreamUtil.ofNullable(getRecipe()); - } - }.setSpeedBonus(1F / 3F) - .setEuModifier(0.75F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - protected void sendStartMultiBlockSoundLoop() { - sendLoopStart(PROCESS_START_SOUND_INDEX); - } - - @Override - public int getMaxParallelRecipes() { - return (16 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - private static ResourceLocation sChiselSound = null; - - private static ResourceLocation getChiselSound() { - if (sChiselSound == null) { - sChiselSound = new ResourceLocation(Carving.chisel.getVariationSound(Blocks.stone, 0)); - } - return sChiselSound; - } - - @Override - public void doSound(byte aIndex, double aX, double aY, double aZ) { - switch (aIndex) { - case PROCESS_START_SOUND_INDEX -> GT_Utility - .doSoundAtClient(getChiselSound(), getTimeBetweenProcessSounds(), 1.0F, 1.0F, aX, aY, aZ); - case INTERRUPT_SOUND_INDEX -> GT_Utility - .doSoundAtClient(SoundResource.IC2_MACHINES_INTERRUPT_ONE, 100, 1.0F, aX, aY, aZ); - } - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialChisel; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java deleted file mode 100644 index b71600e3fd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java +++ /dev/null @@ -1,209 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -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; - -public class GregtechMetaTileEntity_IndustrialCokeOven - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mLevel = 0; - private int mCasing; - private int mCasing1; - private int mCasing2; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialCokeOven(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialCokeOven(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialCokeOven(this.mName); - } - - @Override - public String getMachineType() { - return "Coke Oven"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Processes Logs and Coal into Charcoal and Coal Coke.") - .addInfo("Controller Block for the Industrial Coke Oven") - .addInfo("Gain 4% energy discount per voltage tier") - .addInfo("Process 12x materials with Heat Resistant Casings") - .addInfo("Or 24x materials with Heat Proof Casings") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front middle at bottom") - .addCasingInfoMin("Structural Coke Oven Casings", 8, false) - .addCasingInfoMin("Heat Resistant/Proof Coke Oven Casings", 8, false) - .addInputBus("Any Structural Coke Oven Casing", 1) - .addOutputBus("Any Structural Coke Oven Casing", 1) - .addInputHatch("Any Structural Coke Oven Casing", 1) - .addOutputHatch("Any Structural Coke Oven Casing", 1) - .addEnergyHatch("Any Structural Coke Oven Casing", 1) - .addMaintenanceHatch("Any Structural Coke Oven Casing", 1) - .addMufflerHatch("Any Structural Coke Oven Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "HHH", "H-H", "HHH" }, { "C~C", "CCC", "CCC" }, })) - .addShape( - mName + "1", - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "aaa", "a-a", "aaa" }, { "C~C", "CCC", "CCC" }, })) - .addShape( - mName + "2", - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "bbb", "b-b", "bbb" }, { "C~C", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialCokeOven.class) - .atLeast(InputBus, OutputBus, InputHatch, OutputHatch, Maintenance, Energy, Muffler) - .casingIndex(TAE.GTPP_INDEX(1)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 1)))) - .addElement( - 'H', - ofChain( - onElementPass(x -> ++x.mCasing1, ofBlock(ModBlocks.blockCasingsMisc, 2)), - onElementPass(x -> ++x.mCasing2, ofBlock(ModBlocks.blockCasingsMisc, 3)))) - .addElement('a', ofBlock(ModBlocks.blockCasingsMisc, 2)) - .addElement('b', ofBlock(ModBlocks.blockCasingsMisc, 3)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - if (stackSize.stackSize == 1) buildPiece(mName + "1", stackSize, hintsOnly, 1, 2, 0); - else buildPiece(mName + "2", stackSize, hintsOnly, 1, 2, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - if (stackSize.stackSize == 1) - return survivialBuildPiece(mName + "1", stackSize, 1, 2, 0, elementBudget, env, false, true); - else return survivialBuildPiece(mName + "2", stackSize, 1, 2, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mCasing1 = 0; - mCasing2 = 0; - mLevel = 0; - if (checkPiece(mName, 1, 2, 0)) { - if (mCasing1 == 8) mLevel = 1; - if (mCasing2 == 8) mLevel = 2; - return mLevel > 0 && mCasing >= 8 && checkHatch(); - } - return false; - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(1); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.cokeOvenRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - protected void setupProcessingLogic(ProcessingLogic logic) { - super.setupProcessingLogic(logic); - logic.setEuModifier((100F - (GT_Utility.getTier(getMaxInputVoltage()) * 4)) / 100F); - } - - @Override - public int getMaxParallelRecipes() { - return this.mLevel * 12; - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCokeOven; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java deleted file mode 100644 index 295f195d55..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java +++ /dev/null @@ -1,230 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.Arrays; -import java.util.Collection; - -import javax.annotation.Nonnull; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_IndustrialCuttingMachine extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private boolean mCuttingMode = true; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialCuttingMachine(final int aID, final String aName, - final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialCuttingMachine(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialCuttingMachine(this.mName); - } - - @Override - public String getMachineType() { - return "Cutting Machine / Slicing Machine"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Cutting Factory") - .addInfo("200% faster than using single block machines of the same voltage") - .addInfo("Only uses 75% of the EU/t normally required") - .addInfo("Processes four items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 5, true) - .addController("Front Center") - .addCasingInfoMin("Cutting Factory Frames", 14, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC", "CCC", "CCC" }, { "C~C", "C-C", "C-C", "C-C", "CCC" }, - { "CCC", "CCC", "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialCuttingMachine.class) - .atLeast(InputBus, InputHatch, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 13)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 14 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(29); - } - - @Override - public RecipeMap getRecipeMap() { - return mCuttingMode ? RecipeMaps.cutterRecipes : RecipeMaps.slicerRecipes; - } - - @Nonnull - @Override - public Collection> getAvailableRecipeMaps() { - return Arrays.asList(RecipeMaps.cutterRecipes, RecipeMaps.slicerRecipes); - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 3F) - .setEuModifier(0.75F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (4 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCuttingMachine; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public boolean isInputSeparationEnabled() { - return true; - } - - public Block getCasingBlock() { - return ModBlocks.blockCasings2Misc; - } - - public byte getCasingMeta() { - return 13; - } - - public byte getCasingTextureIndex() { - return (byte) TAE.GTPP_INDEX(29); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - mCuttingMode = !mCuttingMode; - String aMode = mCuttingMode ? "Cutting" : "Slicing"; - PlayerUtils.messagePlayer(aPlayer, "Mode: " + aMode); - mLastRecipe = null; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("mCuttingMode", mCuttingMode); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - if (aNBT.hasKey("mCuttingMode")) { - mCuttingMode = aNBT.getBoolean("mCuttingMode"); - } else { - mCuttingMode = true; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java deleted file mode 100644 index 9122090f89..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java +++ /dev/null @@ -1,250 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofCoil; - -import java.util.Arrays; -import java.util.Collection; - -import javax.annotation.Nonnull; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.HeatingCoilLevel; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_OverclockCalculator; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_IndustrialDehydrator - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private static int CASING_TEXTURE_ID; - private static String mCasingName = "Vacuum Casing"; - private HeatingCoilLevel mHeatingCapacity; - private boolean mDehydratorMode = false; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialDehydrator(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - CASING_TEXTURE_ID = TAE.getIndexFromPage(3, 10); - } - - public GregtechMetaTileEntity_IndustrialDehydrator(String aName) { - super(aName); - CASING_TEXTURE_ID = TAE.getIndexFromPage(3, 10); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialDehydrator(mName); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Factory Grade Vacuum Furnace") - .addInfo("Can toggle the operation temperature with a Screwdriver") - .addInfo("All Dehydrator recipes are Low Temp recipes") - .addInfo("Speed: +120% | EU Usage: 50% | Parallel: 4") - .addInfo("Each 900K over the min. Heat Capacity grants 5% speedup (multiplicatively)") - .addInfo("Each 1800K over the min. Heat Capacity allows for one upgraded overclock") - .addInfo("Upgraded overclocks reduce recipe time to 25% and increase EU/t to 400%") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 5, 3, true) - .addController("Bottom Center") - .addCasingInfoMin(mCasingName, 5, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "HHH", "H-H", "HHH" }, { "HHH", "H-H", "HHH" }, - { "HHH", "H-H", "HHH" }, { "C~C", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialDehydrator.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(CASING_TEXTURE_ID) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings4Misc, 10)))) - .addElement( - 'H', - ofCoil( - GregtechMetaTileEntity_IndustrialDehydrator::setCoilLevel, - GregtechMetaTileEntity_IndustrialDehydrator::getCoilLevel)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 4, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 4, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - setCoilLevel(HeatingCoilLevel.None); - return checkPiece(mName, 1, 4, 0) && mCasing >= 5 && getCoilLevel() != HeatingCoilLevel.None && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return CASING_TEXTURE_ID; - } - - @Override - public RecipeMap getRecipeMap() { - return mDehydratorMode ? GTPPRecipeMaps.chemicalDehydratorNonCellRecipes : GTPPRecipeMaps.vacuumFurnaceRecipes; - } - - @Nonnull - @Override - public Collection> getAvailableRecipeMaps() { - return Arrays.asList(GTPPRecipeMaps.chemicalDehydratorNonCellRecipes, GTPPRecipeMaps.vacuumFurnaceRecipes); - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialDehydrator; - } - - @Override - public String getMachineType() { - return "Vacuum Furnace / Dehydrator"; - } - - @Override - public int getMaxParallelRecipes() { - return 4; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - return recipe.mSpecialValue <= getCoilLevel().getHeat() ? CheckRecipeResultRegistry.SUCCESSFUL - : CheckRecipeResultRegistry.insufficientHeat(recipe.mSpecialValue); - } - - @NotNull - @Override - protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { - return super.createOverclockCalculator(recipe).setHeatOC(true) - .setHeatDiscount(true) - .setRecipeHeat(recipe.mSpecialValue) - .setMachineHeat((int) getCoilLevel().getHeat()); - } - }.setSpeedBonus(1F / 2.2F) - .setEuModifier(0.5F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - mDehydratorMode = !mDehydratorMode; - String aMode = mDehydratorMode ? "Dehydrator" : "Vacuum Furnace"; - PlayerUtils.messagePlayer(aPlayer, "Mode: " + aMode); - mLastRecipe = null; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("mDehydratorMode", mDehydratorMode); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - mDehydratorMode = aNBT.getBoolean("mDehydratorMode"); - } - - public HeatingCoilLevel getCoilLevel() { - return mHeatingCapacity; - } - - public void setCoilLevel(HeatingCoilLevel aCoilLevel) { - mHeatingCapacity = aCoilLevel; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java deleted file mode 100644 index f12007b952..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java +++ /dev/null @@ -1,169 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -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; - -public class GregtechMetaTileEntity_IndustrialElectrolyzer extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialElectrolyzer(final int aID, final String aName, - final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialElectrolyzer(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialElectrolyzer(this.mName); - } - - @Override - public String getMachineType() { - return "Electrolyzer"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Electrolyzer") - .addInfo("180% faster than using single block machines of the same voltage") - .addInfo("Only uses 90% of the EU/t normally required") - .addInfo("Processes two items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front Center") - .addCasingInfoMin("Electrolyzer Casings", 6, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialElectrolyzer.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(TAE.GTPP_INDEX(5)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 5)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 6 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(5); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.electrolyzerNonCellRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 2.8F) - .setEuModifier(0.9F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialElectrolyzer; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public int getMaxParallelRecipes() { - return 2 * GT_Utility.getTier(this.getMaxInputVoltage()); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java deleted file mode 100644 index ea61048f33..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java +++ /dev/null @@ -1,194 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -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; - -public class GregtechMetaTileEntity_IndustrialExtruder - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - 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 getMachineType() { - return "Extruder"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Material Extruder") - .addInfo("250% faster than using single block machines of the same voltage") - .addInfo("Processes four items per voltage tier") - .addInfo("Extrusion Shape for recipe goes in the Input Bus") - .addInfo("Each Input Bus can have a different shape!") - .addInfo("You can use several input buses per multiblock") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 5, true) - .addController("Front Center") - .addCasingInfoMin("Inconel Reinforced Casings", 14, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC", "CCC", "CCC" }, { "C~C", "C-C", "C-C", "C-C", "CCC" }, - { "CCC", "CCC", "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialExtruder.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 14 && checkHatch(); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_COMPRESSOR_OP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(33); - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.extruderRecipes; - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 3.5F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (4 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialExtruder; - } - - @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); - } - - @Override - public boolean isInputSeparationEnabled() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialFluidHeater.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialFluidHeater.java deleted file mode 100644 index a34532ee83..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialFluidHeater.java +++ /dev/null @@ -1,204 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -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; - -public class GregtechMetaTileEntity_IndustrialFluidHeater extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing1; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialFluidHeater(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialFluidHeater(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialFluidHeater(this.mName); - } - - @Override - public String getMachineType() { - return "Fluid Heater"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Fluid Heater") - .addInfo("120% faster than using single block machines of the same voltage") - .addInfo("Only uses 90% of the EU/t normally required") - .addInfo("Processes eight items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(5, 6, 5, true) - .addController("Front Center") - .addCasingInfoMin("Top/Bottom layer: Multi-use Casings", 34, false) - .addCasingInfoMin("Middle layers: Thermal Containment Casing", 47, false) - .addInputBus("Bottom Layer (optional)", 1) - .addInputHatch("Bottom Layer", 1) - .addOutputBus("Top Layer (optional)", 1) - .addOutputHatch("Top Layer", 1) - .addEnergyHatch("Any Multi-use Casing", 1) - .addMaintenanceHatch("Any Multi-use Casing", 1) - .addMufflerHatch("Any Multi-use Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { " TTT ", "TTTTT", "TTTTT", "TTTTT", " TTT " }, - { " XXX ", "X---X", "X---X", "X---X", " XXX " }, - { " XXX ", "X---X", "X---X", "X---X", " XXX " }, - { " XXX ", "X---X", "X---X", "X---X", " XXX " }, - { " X~X ", "X---X", "X---X", "X---X", " XXX " }, - { " BBB ", "BBBBB", "BBBBB", "BBBBB", " BBB " }, })) - .addElement( - 'B', - buildHatchAdder(GregtechMetaTileEntity_IndustrialFluidHeater.class) - .atLeast(InputBus, InputHatch, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing1, ofBlock(getCasingBlock2(), getCasingMeta2())))) - .addElement('X', ofBlock(getCasingBlock1(), getCasingMeta1())) - .addElement( - 'T', - buildHatchAdder(GregtechMetaTileEntity_IndustrialFluidHeater.class) - .atLeast(OutputBus, OutputHatch, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing1, ofBlock(getCasingBlock2(), getCasingMeta2())))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 2, 4, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 2, 4, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing1 = 0; - boolean didBuild = checkPiece(mName, 2, 4, 0); - log("Built? " + didBuild + ", " + mCasing1); - return didBuild && mCasing1 >= 34 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return TAE.getIndexFromPage(0, 1); - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.fluidHeaterRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 2.2F) - .setEuModifier(0.9F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (8 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialThermalCentrifuge; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - public Block getCasingBlock1() { - return ModBlocks.blockCasings2Misc; - } - - public byte getCasingMeta1() { - return 11; - } - - public Block getCasingBlock2() { - return ModBlocks.blockCasings3Misc; - } - - public byte getCasingMeta2() { - return 2; - } - - public byte getCasingTextureIndex() { - return (byte) TAE.getIndexFromPage(2, 2); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialForgeHammer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialForgeHammer.java deleted file mode 100644 index 8e2f040d75..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialForgeHammer.java +++ /dev/null @@ -1,244 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlocksTiered; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.enums.Mods.EnderIO; -import static gregtech.api.enums.Mods.Railcraft; -import static gregtech.api.enums.Mods.ThaumicBases; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; - -import org.apache.commons.lang3.tuple.Pair; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.ITierConverter; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -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; - -@SuppressWarnings("SpellCheckingInspection") -public class GregtechMetaTileEntity_IndustrialForgeHammer extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing; - private int mAnvilTier = 0; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialForgeHammer(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialForgeHammer(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialForgeHammer(this.mName); - } - - @Override - public String getMachineType() { - return "Forge Hammer"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Forge Hammer") - .addInfo("Speed: +100% | EU Usage: 100% | Parallel: Tier x Anvil Tier x 8") - .addInfo("T1 - Vanilla Anvil"); - if (Railcraft.isModLoaded()) { - tt.addInfo("T2 - Steel Anvil"); - } - if (EnderIO.isModLoaded()) { - tt.addInfo("T3 - Dark Steel Anvil"); - } - if (ThaumicBases.isModLoaded()) { - tt.addInfo("T3 - Thaumium Anvil"); - tt.addInfo("T4 - Void Metal Anvil"); - } - - tt.addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front Center") - .addCasingInfoMin("Forge Casing", 6, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .addOtherStructurePart("Anvil", "In the center of 3x3x3 structure", 2) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - Map anvilTiers = new HashMap<>(); - - anvilTiers.put(Blocks.anvil, 1); - - if (Railcraft.isModLoaded()) { - anvilTiers.put(GameRegistry.findBlock(Railcraft.ID, "anvil"), 2); - } - - if (EnderIO.isModLoaded()) { - anvilTiers.put(GameRegistry.findBlock(EnderIO.ID, "blockDarkSteelAnvil"), 3); - } - - if (ThaumicBases.isModLoaded()) { - anvilTiers.put(GameRegistry.findBlock(ThaumicBases.ID, "thaumicAnvil"), 3); - anvilTiers.put(GameRegistry.findBlock(ThaumicBases.ID, "voidAnvil"), 4); - } - - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "CAC", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialForgeHammer.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(TAE.getIndexFromPage(1, 11)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings5Misc, 6)))) - .addElement( - 'A', - ofBlocksTiered( - anvilTierConverter(anvilTiers), - getAllAnvilTiers(anvilTiers), - 0, - GregtechMetaTileEntity_IndustrialForgeHammer::setAnvilTier, - GregtechMetaTileEntity_IndustrialForgeHammer::getAnvilTier)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - private static List> getAllAnvilTiers(Map anvilTiers) { - return anvilTiers.entrySet() - .stream() - .map(e -> Pair.of(e.getKey(), e.getValue())) - .collect(Collectors.toList()); - } - - private static ITierConverter anvilTierConverter(Map anvilTiers) { - return (block, meta) -> block == null ? 0 : anvilTiers.getOrDefault(block, 0); - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 6 && checkHatch(); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.RANDOM_ANVIL_USE; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return TAE.getIndexFromPage(1, 11); - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.hammerRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1 / 2F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (8 * getAnvilTier() * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialForgeHammer; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - private void setAnvilTier(int tier) { - mAnvilTier = tier; - } - - private int getAnvilTier() { - return mAnvilTier; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java deleted file mode 100644 index 5591b9fbe8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java +++ /dev/null @@ -1,458 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.List; -import java.util.Random; - -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.tileentity.TileEntity; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants.NBT; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import mcp.mobius.waila.api.IWailaConfigHandler; -import mcp.mobius.waila.api.IWailaDataAccessor; - -public class GregtechMetaTileEntity_IndustrialMacerator - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int controllerTier = 1; - private int mCasing; - private int mPerLayer; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialMacerator(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialMacerator(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialMacerator(this.mName); - } - - @Override - public String getMachineType() { - return "Macerator/Pulverizer"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller block for the Industrial Maceration Stack") - .addInfo("60% faster than using single block machines of the same voltage") - .addInfo("Maximum of n*tier parallels, LV = Tier 1, MV = Tier 2, etc.") - .addInfo("n=2 initially. n=8 after inserting Maceration Upgrade Chip.") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 6, 3, true) - .addController("Bottom center") - .addCasingInfoMin("Maceration Stack Casings (After upgrade)", 26, false) - .addCasingInfoMin("Stable Titanium Casings (Before upgrade)", 26, false) - .addInputBus("Bottom casing", 1) - .addEnergyHatch("Any casing", 1) - .addMaintenanceHatch("Any casing", 1) - .addOutputBus("One per layer except bottom layer", 2) - .addMufflerHatch("Any casing except bottom layer", 2) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape(mName + "top1", transpose(new String[][] { { "ccc", "ccc", "ccc" }, })) - .addShape(mName + "mid1", transpose(new String[][] { { "ccc", "c-c", "ccc" }, })) - .addShape(mName + "bottom1", transpose(new String[][] { { "b~b", "bbb", "bbb" }, })) - .addShape(mName + "top2", transpose(new String[][] { { "CCC", "CCC", "CCC" }, })) - .addShape(mName + "mid2", transpose(new String[][] { { "CCC", "C-C", "CCC" }, })) - .addShape(mName + "bottom2", transpose(new String[][] { { "B~B", "BBB", "BBB" }, })) - .addElement( - 'C', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_IndustrialMacerator.class).anyOf(OutputBus) - .shouldReject(t -> t.mPerLayer + 1 == t.mOutputBusses.size()) - .disallowOnly(ForgeDirection.UP, ForgeDirection.DOWN) - .casingIndex(TAE.GTPP_INDEX(7)) - .dot(2) - .build(), - buildHatchAdder(GregtechMetaTileEntity_IndustrialMacerator.class) - .atLeast(Energy, Maintenance, Muffler) - .disallowOnly(ForgeDirection.UP, ForgeDirection.DOWN) - .casingIndex(TAE.GTPP_INDEX(7)) - .dot(2) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 7)))) - .addElement( - 'B', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_IndustrialMacerator.class) - .atLeast(Energy, Maintenance, InputBus) - .disallowOnly(ForgeDirection.UP) - .casingIndex(TAE.GTPP_INDEX(7)) - .dot(2) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 7)))) - .addElement( - 'c', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_IndustrialMacerator.class).anyOf(OutputBus) - .shouldReject(t -> t.mPerLayer + 1 == t.mOutputBusses.size()) - .disallowOnly(ForgeDirection.UP, ForgeDirection.DOWN) - .casingIndex(GT_Utility.getCasingTextureIndex(GregTech_API.sBlockCasings4, 2)) - .dot(2) - .build(), - buildHatchAdder(GregtechMetaTileEntity_IndustrialMacerator.class) - .atLeast(Energy, Maintenance, Muffler) - .disallowOnly(ForgeDirection.UP, ForgeDirection.DOWN) - .casingIndex(GT_Utility.getCasingTextureIndex(GregTech_API.sBlockCasings4, 2)) - .dot(2) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(GregTech_API.sBlockCasings4, 2)))) - .addElement( - 'b', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_IndustrialMacerator.class) - .atLeast(Energy, Maintenance, InputBus) - .disallowOnly(ForgeDirection.UP) - .casingIndex(GT_Utility.getCasingTextureIndex(GregTech_API.sBlockCasings4, 2)) - .dot(2) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(GregTech_API.sBlockCasings4, 2)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName + "bottom" + controllerTier, stackSize, hintsOnly, 1, 0, 0); - buildPiece(mName + "mid" + controllerTier, stackSize, hintsOnly, 1, 1, 0); - buildPiece(mName + "mid" + controllerTier, stackSize, hintsOnly, 1, 2, 0); - buildPiece(mName + "mid" + controllerTier, stackSize, hintsOnly, 1, 3, 0); - buildPiece(mName + "mid" + controllerTier, stackSize, hintsOnly, 1, 4, 0); - buildPiece(mName + "top" + controllerTier, stackSize, hintsOnly, 1, 5, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - int built; - built = survivialBuildPiece( - mName + "bottom" + controllerTier, - stackSize, - 1, - 0, - 0, - elementBudget, - env, - false, - true); - mPerLayer = 0; - if (built >= 0) return built; - built = survivialBuildPiece( - mName + "mid" + controllerTier, - stackSize, - 1, - 1, - 0, - elementBudget, - env, - false, - true); - mPerLayer = 1; - if (built >= 0) return built; - built = survivialBuildPiece( - mName + "mid" + controllerTier, - stackSize, - 1, - 2, - 0, - elementBudget, - env, - false, - true); - if (built >= 0) return built; - mPerLayer = 2; - built = survivialBuildPiece( - mName + "mid" + controllerTier, - stackSize, - 1, - 3, - 0, - elementBudget, - env, - false, - true); - if (built >= 0) return built; - mPerLayer = 3; - built = survivialBuildPiece( - mName + "mid" + controllerTier, - stackSize, - 1, - 4, - 0, - elementBudget, - env, - false, - true); - if (built >= 0) return built; - mPerLayer = 4; - return survivialBuildPiece(mName + "top" + controllerTier, stackSize, 1, 5, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mPerLayer = 0; - if (checkPiece(mName + "bottom" + controllerTier, 1, 0, 0)) { - while (mPerLayer < 4) { - if (!checkPiece(mName + "mid" + controllerTier, 1, mPerLayer + 1, 0) - || mPerLayer + 1 != mOutputBusses.size()) return false; - mPerLayer++; - } - return checkPiece(mName + "top" + controllerTier, 1, 5, 0) && mOutputBusses.size() == 5 - && mCasing >= 26 - && checkHatch(); - } - return false; - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_MACERATOR_OP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_MatterFab_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_MatterFab; - } - - @Override - protected int getCasingTextureId() { - return switch (controllerTier) { - case 2 -> TAE.GTPP_INDEX(7); - default -> GT_Utility.getCasingTextureIndex(GregTech_API.sBlockCasings4, 2); - }; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.maceratorRecipes; - } - - @Override - public int getRecipeCatalystPriority() { - return -10; - } - - @Override - public void onPreTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - super.onPreTick(aBaseMetaTileEntity, aTick); - if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive()) - && (aBaseMetaTileEntity.getFrontFacing() != ForgeDirection.UP) - && (aBaseMetaTileEntity.getCoverIDAtSide(ForgeDirection.UP) == 0) - && (!aBaseMetaTileEntity.getOpacityAtSide(ForgeDirection.UP))) { - final Random tRandom = aBaseMetaTileEntity.getWorld().rand; - aBaseMetaTileEntity.getWorld() - .spawnParticle( - "smoke", - (aBaseMetaTileEntity.getXCoord() + 0.8F) - (tRandom.nextFloat() * 0.6F), - aBaseMetaTileEntity.getYCoord() + 0.3f + (tRandom.nextFloat() * 0.2F), - (aBaseMetaTileEntity.getZCoord() + 1.2F) - (tRandom.nextFloat() * 1.6F), - 0.0D, - 0.0D, - 0.0D); - } - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (aBaseMetaTileEntity.isServerSide() && aTick % 20 == 0 && controllerTier == 1) { - ItemStack aGuiStack = this.getControllerSlot(); - if (GregtechItemList.Maceration_Upgrade_Chip.isStackEqual(aGuiStack, false, true)) { - controllerTier = 2; - mInventory[1] = ItemUtils.depleteStack(aGuiStack); - markDirty(); - // schedule a structure check - mUpdated = true; - } - } - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, ForgeDirection side, - float aX, float aY, float aZ) { - if (controllerTier == 1 && !aPlayer.isSneaking()) { - ItemStack heldItem = aPlayer.getHeldItem(); - if (GregtechItemList.Maceration_Upgrade_Chip.isStackEqual(heldItem, false, true)) { - controllerTier = 2; - aPlayer.setCurrentItemOrArmor(0, ItemUtils.depleteStack(heldItem)); - if (getBaseMetaTileEntity().isServerSide()) { - markDirty(); - aPlayer.inventory.markDirty(); - // schedule a structure check - mUpdated = true; - } - return true; - } - } - return super.onRightclick(aBaseMetaTileEntity, aPlayer, side, aX, aY, aZ); - } - - @Override - public void onValueUpdate(byte aValue) { - controllerTier = aValue; - } - - @Override - public byte getUpdateData() { - return (byte) controllerTier; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setByte("mTier", (byte) controllerTier); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - if (!aNBT.hasKey("mTier", NBT.TAG_BYTE)) - // we assume old macerators are all T2 variants, as they were made before price reduction and shouldn't need - // to worry about upgrading - controllerTier = 2; - else controllerTier = aNBT.getByte("mTier"); - } - - @Override - public void initDefaultModes(NBTTagCompound aNBT) { - super.initDefaultModes(aNBT); - if (aNBT == null || !aNBT.hasKey("mTier")) { - controllerTier = 1; - } else { - controllerTier = aNBT.getByte("mTier"); - } - } - - @Override - public void setItemNBT(NBTTagCompound aNBT) { - super.setItemNBT(aNBT); - aNBT.setByte("mTier", (byte) controllerTier); - } - - @Override - public void addAdditionalTooltipInformation(ItemStack stack, List tooltip) { - super.addAdditionalTooltipInformation(stack, tooltip); - NBTTagCompound aNBT = stack.getTagCompound(); - int tier; - if (aNBT == null || !aNBT.hasKey("mTier")) { - tier = 1; - } else { - tier = aNBT.getInteger("mTier"); - } - tooltip.add(StatCollector.translateToLocalFormatted("tooltip.large_macerator.tier", tier)); - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 1.6F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - final long tVoltage = getMaxInputVoltage(); - final byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); - return Math.max(1, (controllerTier == 1 ? 2 : 8) * tTier); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMacerator; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public boolean isOverclockerUpgradable() { - return true; - } - - @Override - public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, - int z) { - super.getWailaNBTData(player, tile, tag, world, x, y, z); - tag.setInteger("tier", controllerTier); - } - - @Override - public void getWailaBody(ItemStack itemStack, List currentTip, IWailaDataAccessor accessor, - IWailaConfigHandler config) { - super.getWailaBody(itemStack, currentTip, accessor, config); - final NBTTagCompound tag = accessor.getNBTData(); - if (tag.hasKey("tier")) { - currentTip.add( - "Tier: " + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(tag.getInteger("tier")) - + EnumChatFormatting.RESET); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java deleted file mode 100644 index 3f4c4ccfa4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java +++ /dev/null @@ -1,213 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -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; - -public class GregtechMetaTileEntity_IndustrialMixer - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - public static int CASING_TEXTURE_ID; - public static String mCasingName = "Multi-Use Casing"; - public static String mCasingName2 = "Titanium Turbine Casing"; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialMixer(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 2); - inputSeparation = true; - } - - public GregtechMetaTileEntity_IndustrialMixer(final String aName) { - super(aName); - CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 2); - inputSeparation = true; - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - if (!aNBT.hasKey(INPUT_SEPARATION_NBT_KEY)) { - if (aNBT.hasKey("isBussesSeparate")) { - inputSeparation = aNBT.getBoolean("isBussesSeparate"); - } - // Fallback for existing mixers - else { - inputSeparation = true; - } - } - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialMixer(this.mName); - } - - @Override - public String getMachineType() { - return "Mixer"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Mixer") - .addInfo("250% faster than using single block machines of the same voltage") - .addInfo("Processes eight recipes per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 4, 3, false) - .addController("Second Layer Center") - .addCasingInfoMin(mCasingName, 6, false) - .addCasingInfoMin(mCasingName2, 2, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "CCC", "CMC", "CCC" }, { "C~C", "CMC", "CCC" }, - { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialMixer.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(CASING_TEXTURE_ID) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings3Misc, 2)))) - .addElement('M', ofBlock(GregTech_API.sBlockCasings4, 11)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 2, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 2, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 2, 0) && mCasing >= 6 && checkHatch(); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_COMPRESSOR_OP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return CASING_TEXTURE_ID; - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.mixerNonCellRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 3.5F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (8 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMixer; - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - inputSeparation = !inputSeparation; - GT_Utility.sendChatToPlayer( - aPlayer, - StatCollector.translateToLocal("GT5U.machines.separatebus") + " " + inputSeparation); - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public boolean supportsInputSeparation() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java deleted file mode 100644 index 02b0bcf978..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java +++ /dev/null @@ -1,241 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.GregTech_API; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -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; - -public class GregtechMetaTileEntity_IndustrialMolecularTransformer - extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - private static final int CASING_TEXTURE_ID = 48; - private int mCasing = 0; - - public GregtechMetaTileEntity_IndustrialMolecularTransformer(final int aID, final String aName, - final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialMolecularTransformer(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialMolecularTransformer(this.mName); - } - - @Override - public String getMachineType() { - return "Molecular Transformer"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Changes the structure of items to produce new ones") - .addInfo("Maximum 1x of each bus/hatch.") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(7, 7, 7, false) - .addController("Top Center") - .addCasingInfoMin("Robust Tungstensteel Machine Casing", 40, false) - .addCasingInfoMin("Tungstensteel Coils", 16, false) - .addCasingInfoMin("Molecular Containment Casing", 52, false) - .addCasingInfoMin("High Voltage Current Capacitor", 32, false) - .addCasingInfoMin("Particle Containment Casing", 4, false) - .addCasingInfoMin("Resonance Chamber I", 5, false) - .addCasingInfoMin("Modulator I", 4, false) - .addInputBus("Any Robust Tungstensteel Machine Casing", 1) - .addOutputBus("Any Robust Tungstensteel Machine Casing", 1) - .addEnergyHatch("Any Robust Tungstensteel Machine Casing", 1) - .addMaintenanceHatch("Any Robust Tungstensteel Machine Casing", 1) - .addMufflerHatch("Any Robust Tungstensteel Machine Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - private static final String STRUCTURE_PIECE_MAIN = "main"; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - STRUCTURE_PIECE_MAIN, - (new String[][] { { " ", " ", " xxx ", " x~x ", " xxx ", " ", " " }, - { " ", " xxx ", " xyyyx ", " xyzyx ", " xyyyx ", " xxx ", " " }, - { " ", " xxx ", " xyyyx ", " xyzyx ", " xyyyx ", " xxx ", " " }, - { " ", " xxx ", " xyyyx ", " xyzyx ", " xyyyx ", " xxx ", " " }, - { " t ", " ttxtt ", " tyyyt ", "txyzyxt", " tyyyt ", " ttxtt ", " t " }, - { " c ", " ccecc ", " cxfxc ", "cefefec", " cxfxc ", " ccecc ", " c " }, - { " h ", " hhhhh ", " hhhhh ", "hhhhhhh", " hhhhh ", " hhhhh ", " h " }, })) - .addElement('x', ofBlock(getCasingBlock(), getCasingMeta())) - .addElement('y', ofBlock(getCasingBlock(), getCasingMeta2())) - .addElement('z', ofBlock(getCasingBlock(), getCasingMeta3())) - .addElement('e', ofBlock(getCasingBlock2(), 0)) - .addElement('f', ofBlock(getCasingBlock2(), 4)) - .addElement('c', ofBlock(getCoilBlock(), 3)) - .addElement('t', ofBlock(getCasingBlock3(), getTungstenCasingMeta())) - .addElement( - 'h', - buildHatchAdder(GregtechMetaTileEntity_IndustrialMolecularTransformer.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain( - onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock3(), getTungstenCasingMeta())))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(STRUCTURE_PIECE_MAIN, stackSize, hintsOnly, 3, 3, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(STRUCTURE_PIECE_MAIN, stackSize, 3, 3, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - boolean aDidBuild = checkPiece(STRUCTURE_PIECE_MAIN, 3, 3, 0); - if (this.mInputBusses.size() != 1 || this.mOutputBusses.size() != 1 || this.mEnergyHatches.size() != 1) { - return false; - } - // there are 16 slot that only allow casing, so we subtract this from the grand total required - return aDidBuild && mCasing >= 40 - 16 && checkHatch(); - } - - protected static int getCasingTextureIndex() { - return CASING_TEXTURE_ID; - } - - protected static Block getCasingBlock() { - return ModBlocks.blockSpecialMultiCasings; - } - - protected static Block getCasingBlock2() { - return ModBlocks.blockSpecialMultiCasings2; - } - - protected static Block getCasingBlock3() { - return GregTech_API.sBlockCasings4; - } - - protected static Block getCoilBlock() { - return GregTech_API.sBlockCasings5; - } - - protected static int getCasingMeta() { - return 11; - } - - protected static int getCasingMeta2() { - return 12; - } - - protected static int getCasingMeta3() { - return 13; - } - - protected static int getTungstenCasingMeta() { - return 0; - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - return (d, r, f) -> d == ForgeDirection.UP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return 44; - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.molecularTransformerRecipes; - } - - @Override - public boolean isCorrectMachinePart(final ItemStack aStack) { - return true; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic(); - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiMolecularTransformer; - } - - @Override - public int getDamageToComponent(final ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java deleted file mode 100644 index 52c7736ae3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java +++ /dev/null @@ -1,514 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_Utility.filterValidMTEs; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.stream.Stream; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -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.tileentity.TileEntity; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_MultiInput; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_CraftingInput_ME; -import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_Input_ME; -import gregtech.common.tileentities.machines.IDualInputHatch; -import gregtech.common.tileentities.machines.IDualInputInventory; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Solidifier; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import mcp.mobius.waila.api.IWailaConfigHandler; -import mcp.mobius.waila.api.IWailaDataAccessor; - -public class GregtechMetaTileEntity_IndustrialMultiMachine extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - protected int mInternalMode = 0; - 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_FLUIDEXTRACT = 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_FLUIDSOLIDIFY = 8; - private static final int[][] MODE_MAP = new int[][] { { 0, 1, 2 }, { 3, 4, 5 }, { 6, 7, 8 } }; - public static final String[] aToolTipNames = new String[9]; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - static { - for (int id = 0; id < 9; id++) { - RecipeMap recipeMap = getRecipeMap(id); - if (recipeMap != null) { - String aNEI = GT_LanguageManager.getTranslation(getRecipeMap(id).unlocalizedName); - aToolTipNames[id] = aNEI != null ? aNEI : "BAD NEI NAME (Report to Github)"; - } - } - } - - 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 getMachineType() { - return "Nine in One"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - String[] aBuiltStrings = new String[3]; - aBuiltStrings[0] = aToolTipNames[0] + ", " + aToolTipNames[1] + ", " + aToolTipNames[2]; - aBuiltStrings[1] = aToolTipNames[3] + ", " + aToolTipNames[4] + ", " + aToolTipNames[5]; - aBuiltStrings[2] = aToolTipNames[6] + ", " + aToolTipNames[7] + ", " + aToolTipNames[8]; - - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Multi-Machine") - .addInfo("250% faster than using single block machines of the same voltage") - .addInfo("Only uses 80% of the EU/t normally required") - .addInfo("Processes two items per voltage tier") - .addInfo("Machine Type: Metal - " + EnumChatFormatting.YELLOW + aBuiltStrings[0] + EnumChatFormatting.RESET) - .addInfo("Machine Type: Fluid - " + EnumChatFormatting.YELLOW + aBuiltStrings[1] + EnumChatFormatting.RESET) - .addInfo("Machine Type: Misc - " + EnumChatFormatting.YELLOW + aBuiltStrings[2] + EnumChatFormatting.RESET) - .addInfo("Read Multi-Machine Manual for extra information") - .addInfo( - EnumChatFormatting.AQUA + "You can use Solidifier Hatch to solidify multiple liquids." - + EnumChatFormatting.RESET) - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front Center") - .addCasingInfoMin("Multi-Use Casings", 6, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialMultiMachine.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(getTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings3Misc, 2)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 6 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return getTextureIndex(); - } - - @Override - public int getMaxParallelRecipes() { - return (2 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - if (mInternalMode == 0) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal; - } else if (mInternalMode == 1) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid; - } else { // config 2 - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc; - } - } - - public int getTextureIndex() { - return TAE.getIndexFromPage(2, 2); - } - - @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 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 RecipeMap getRecipeMap() { - return null; - } - - @Nonnull - @Override - public Collection> getAvailableRecipeMaps() { - return Arrays.asList( - RecipeMaps.compressorRecipes, - RecipeMaps.latheRecipes, - RecipeMaps.polarizerRecipes, - RecipeMaps.fermentingRecipes, - RecipeMaps.fluidExtractionRecipes, - RecipeMaps.extractorRecipes, - RecipeMaps.laserEngraverRecipes, - RecipeMaps.autoclaveRecipes, - RecipeMaps.fluidSolidifierRecipes); - } - - @Override - public int getRecipeCatalystPriority() { - return -10; - } - - private static RecipeMap getRecipeMap(int aMode) { - if (aMode == MODE_COMPRESSOR) { - return RecipeMaps.compressorRecipes; - } else if (aMode == MODE_LATHE) { - return RecipeMaps.latheRecipes; - } else if (aMode == MODE_MAGNETIC) { - return RecipeMaps.polarizerRecipes; - } else if (aMode == MODE_FERMENTER) { - return RecipeMaps.fermentingRecipes; - } else if (aMode == MODE_FLUIDEXTRACT) { - return RecipeMaps.fluidExtractionRecipes; - } else if (aMode == MODE_EXTRACTOR) { - return RecipeMaps.extractorRecipes; - } else if (aMode == MODE_LASER) { - return RecipeMaps.laserEngraverRecipes; - } else if (aMode == MODE_AUTOCLAVE) { - return RecipeMaps.autoclaveRecipes; - } else if (aMode == MODE_FLUIDSOLIDIFY) { - return RecipeMaps.fluidSolidifierRecipes; - } else { - return null; - } - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - private ItemStack lastCircuit = null; - - @Nonnull - @Override - protected Stream findRecipeMatches(@Nullable RecipeMap map) { - ItemStack circuit = getCircuit(inputItems); - if (circuit == null) { - return Stream.empty(); - } - if (!GT_Utility.areStacksEqual(circuit, lastCircuit)) { - lastRecipe = null; - lastCircuit = circuit; - } - RecipeMap foundMap = getRecipeMap(getCircuitID(circuit)); - if (foundMap == null) { - return Stream.empty(); - } - return super.findRecipeMatches(foundMap); - } - }.setSpeedBonus(1F / 3.5F) - .setEuModifier(0.8F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (mInternalMode < 2) { - 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."); - mLastRecipe = null; - } - - @Override - public String[] getInfoData() { - String[] data = super.getInfoData(); - ArrayList mInfo = new ArrayList<>(Arrays.asList(data)); - String mode; - if (mInternalMode == 0) { - mode = StatCollector.translateToLocal("GTPP.multiblock.multimachine.metal"); - } else if (mInternalMode == 1) { - mode = StatCollector.translateToLocal("GTPP.multiblock.multimachine.fluid"); - } else { - mode = StatCollector.translateToLocal("GTPP.multiblock.multimachine.misc"); - } - mInfo.add(mode); - return mInfo.toArray(new String[0]); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("mInternalMode", mInternalMode); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - this.mInternalMode = aNBT.getInteger("mInternalMode"); - super.loadNBTData(aNBT); - } - - @Override - public boolean isInputSeparationEnabled() { - return true; - } - - @Override - public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, - int z) { - super.getWailaNBTData(player, tile, tag, world, x, y, z); - tag.setInteger("mode", mInternalMode); - } - - @Override - protected CheckRecipeResult doCheckRecipe() { - - if (mInternalMode != 2 || !isInputSeparationEnabled()) { - return super.doCheckRecipe(); - } else { - CheckRecipeResult result = CheckRecipeResultRegistry.NO_RECIPE; - - // check crafting input hatches first - if (supportsCraftingMEBuffer()) { - for (IDualInputHatch dualInputHatch : mDualInputHatches) { - for (var it = dualInputHatch.inventories(); it.hasNext();) { - IDualInputInventory slot = it.next(); - processingLogic.setInputItems(slot.getItemInputs()); - processingLogic.setInputFluids(slot.getFluidInputs()); - CheckRecipeResult foundResult = processingLogic.process(); - if (foundResult.wasSuccessful()) { - return foundResult; - } - if (foundResult != CheckRecipeResultRegistry.NO_RECIPE) { - // Recipe failed in interesting way, so remember that and continue searching - result = foundResult; - } - } - } - } - - // Logic for GT_MetaTileEntity_Hatch_Solidifier - for (GT_MetaTileEntity_Hatch_Input solidifierHatch : mInputHatches) { - if (solidifierHatch instanceof GT_MetaTileEntity_Hatch_Solidifier) { - ItemStack mold = ((GT_MetaTileEntity_Hatch_Solidifier) solidifierHatch).getMold(); - FluidStack fluid = solidifierHatch.getFluid(); - - if (mold != null && fluid != null) { - List inputItems = new ArrayList<>(); - inputItems.add(mold); - inputItems.add(ItemUtils.getGregtechCircuit(22)); - - processingLogic.setInputItems(inputItems.toArray(new ItemStack[0])); - processingLogic.setInputFluids(fluid); - - CheckRecipeResult foundResult = processingLogic.process(); - if (foundResult.wasSuccessful()) { - return foundResult; - } - if (foundResult != CheckRecipeResultRegistry.NO_RECIPE) { - // Recipe failed in interesting way, so remember that and continue searching - result = foundResult; - } - } - } - } - processingLogic.clear(); - processingLogic.setInputFluids(getStoredFluids()); - // Default logic - for (GT_MetaTileEntity_Hatch_InputBus bus : mInputBusses) { - if (bus instanceof GT_MetaTileEntity_Hatch_CraftingInput_ME) { - continue; - } - List inputItems = new ArrayList<>(); - for (int i = bus.getSizeInventory() - 1; i >= 0; i--) { - ItemStack stored = bus.getStackInSlot(i); - if (stored != null) { - inputItems.add(stored); - } - } - if (canUseControllerSlotForRecipe() && getControllerSlot() != null) { - inputItems.add(getControllerSlot()); - } - processingLogic.setInputItems(inputItems.toArray(new ItemStack[0])); - CheckRecipeResult foundResult = processingLogic.process(); - if (foundResult.wasSuccessful()) { - return foundResult; - } - if (foundResult != CheckRecipeResultRegistry.NO_RECIPE) { - // Recipe failed in interesting way, so remember that and continue searching - result = foundResult; - } - } - - return result; - } - } - - @Override - public ArrayList getStoredFluids() { - ArrayList rList = new ArrayList<>(); - for (GT_MetaTileEntity_Hatch_Input tHatch : filterValidMTEs(mInputHatches)) { - if (tHatch instanceof GT_MetaTileEntity_Hatch_Solidifier) { - continue; - } - - setHatchRecipeMap(tHatch); - if (tHatch instanceof GT_MetaTileEntity_Hatch_MultiInput) { - for (FluidStack tFluid : ((GT_MetaTileEntity_Hatch_MultiInput) tHatch).getStoredFluid()) { - if (tFluid != null) { - rList.add(tFluid); - } - } - } else if (tHatch instanceof GT_MetaTileEntity_Hatch_Input_ME) { - if (tHatch.isValid()) { - for (FluidStack fluidStack : ((GT_MetaTileEntity_Hatch_Input_ME) tHatch).getStoredFluids()) { - if (fluidStack == null) continue; - rList.add(fluidStack); - } - } - } else { - if (tHatch.getFillableStack() != null) { - rList.add(tHatch.getFillableStack()); - } - } - } - - return rList; - } - - @Override - public void getWailaBody(ItemStack itemStack, List currentTip, IWailaDataAccessor accessor, - IWailaConfigHandler config) { - super.getWailaBody(itemStack, currentTip, accessor, config); - final NBTTagCompound tag = accessor.getNBTData(); - if (tag.hasKey("mode")) { - currentTip.add("Mode: " + EnumChatFormatting.YELLOW + switch (tag.getInteger("mode")) { - case 1 -> "Fluid"; - case 2 -> "Misc"; - default -> "Metal"; - } + EnumChatFormatting.RESET); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java deleted file mode 100644 index 972cf492b6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java +++ /dev/null @@ -1,218 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.Arrays; -import java.util.Collection; - -import javax.annotation.Nonnull; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_IndustrialPlatePress - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private boolean mFormingMode = false; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialPlatePress(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialPlatePress(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialPlatePress(this.mName); - } - - @Override - public String getMachineType() { - return "Bending Machine, Forming Press"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for Advanced Bending & Forming") - .addInfo("500% faster than using single block machines of the same voltage") - .addInfo("Processes four items per voltage tier") - .addInfo("Circuit for recipe goes in the Input Bus") - .addInfo("Each Input Bus can have a different Circuit/Shape!") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front Center") - .addCasingInfoMin("Material Press Machine Casings", 6, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialPlatePress.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(50) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 4)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 6 && checkHatch(); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_COMPRESSOR_OP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return 50; - } - - @Override - public RecipeMap getRecipeMap() { - return mFormingMode ? RecipeMaps.formingPressRecipes : RecipeMaps.benderRecipes; - } - - @Nonnull - @Override - public Collection> getAvailableRecipeMaps() { - return Arrays.asList(RecipeMaps.formingPressRecipes, RecipeMaps.benderRecipes); - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 6F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (4 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - if (this.mFormingMode) return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialPlatePress_ModeForming; - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialPlatePress_ModeBending; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setBoolean("mFormingMode", mFormingMode); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - mFormingMode = aNBT.getBoolean("mFormingMode"); - super.loadNBTData(aNBT); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - mFormingMode = !mFormingMode; - if (mFormingMode) { - PlayerUtils.messagePlayer(aPlayer, "Now running in Forming Press Mode."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Now running in Bending Mode."); - } - mLastRecipe = null; - } - - @Override - public boolean isInputSeparationEnabled() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java deleted file mode 100644 index e4dd3d11ba..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java +++ /dev/null @@ -1,209 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.Random; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -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; - -public class GregtechMetaTileEntity_IndustrialSifter - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialSifter(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialSifter(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialSifter(this.mName); - } - - @Override - public String getMachineType() { - return "Sifter"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Sifter") - .addInfo("400% faster than single-block machines of the same voltage") - .addInfo("Only uses 75% of the EU/t normally required") - .addInfo("Processes four items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(5, 3, 5, false) - .addController("Bottom Center") - .addCasingInfoMin("Sieve Grate", 18, false) - .addCasingInfoMin("Sieve Casings", 35, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCCCC", "CMMMC", "CMMMC", "CMMMC", "CCCCC" }, - { "CCCCC", "CMMMC", "CMMMC", "CMMMC", "CCCCC" }, - { "CC~CC", "CCCCC", "CCCCC", "CCCCC", "CCCCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialSifter.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(TAE.GTPP_INDEX(21)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 5)))) - .addElement('M', ofBlock(ModBlocks.blockCasings2Misc, 6)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 2, 2, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 2, 2, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 2, 2, 0) && mCasing >= 35 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(21); - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.sifterRecipes; - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - public void onPreTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { - super.onPreTick(aBaseMetaTileEntity, aTick); - if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive()) - && (aBaseMetaTileEntity.getFrontFacing() != ForgeDirection.UP) - && (aBaseMetaTileEntity.getCoverIDAtSide(ForgeDirection.UP) == 0) - && (!aBaseMetaTileEntity.getOpacityAtSide(ForgeDirection.UP))) { - final Random tRandom = aBaseMetaTileEntity.getWorld().rand; - if (tRandom.nextFloat() > 0.4) return; - - final int xDir = aBaseMetaTileEntity.getBackFacing().offsetX * 2; - final int zDir = aBaseMetaTileEntity.getBackFacing().offsetZ * 2; - - aBaseMetaTileEntity.getWorld() - .spawnParticle( - "smoke", - (aBaseMetaTileEntity.getXCoord() + xDir + 2.1F) - (tRandom.nextFloat() * 3.2F), - aBaseMetaTileEntity.getYCoord() + 2.5f + (tRandom.nextFloat() * 1.2F), - (aBaseMetaTileEntity.getZCoord() + zDir + 2.1F) - (tRandom.nextFloat() * 3.2F), - 0.0, - 0.0, - 0.0); - } - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 5F) - .setEuModifier(0.75F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (4 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialSifter; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public boolean isOverclockerUpgradable() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java deleted file mode 100644 index 14ff4ebb6d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java +++ /dev/null @@ -1,184 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -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; - -public class GregtechMetaTileEntity_IndustrialThermalCentrifuge extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialThermalCentrifuge(final int aID, final String aName, - final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialThermalCentrifuge(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialThermalCentrifuge(this.mName); - } - - @Override - public String getMachineType() { - return "Thermal Centrifuge"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Thermal Centrifuge") - .addInfo("150% faster than using single block machines of the same voltage") - .addInfo("Only uses 80% of the EU/t normally required") - .addInfo("Processes eight items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 2, 3, false) - .addController("Front Center") - .addCasingInfoMin("Thermal Processing Casings/Noise Hazard Sign Blocks", 8, false) - .addInputBus("Bottom Casing", 1) - .addOutputBus("Bottom Casing", 1) - .addEnergyHatch("Bottom Casing", 1) - .addMaintenanceHatch("Bottom Casing", 1) - .addMufflerHatch("Bottom Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape(mName, transpose(new String[][] { { "X~X", "XXX", "XXX" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_IndustrialThermalCentrifuge.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 0)), - onElementPass(x -> ++x.mCasing, ofBlock(GregTech_API.sBlockCasings3, 9)))) - .addElement( - 'X', - ofChain( - onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 0)), - onElementPass(x -> ++x.mCasing, ofBlock(GregTech_API.sBlockCasings3, 9)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 0, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 0, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 0, 0) && mCasing >= 8 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return getCasingTextureIndex(); - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.thermalCentrifugeRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 2.5F) - .setEuModifier(0.8F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (8 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialThermalCentrifuge; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - public Block getCasingBlock() { - return ModBlocks.blockCasings2Misc; - } - - public byte getCasingMeta() { - return 0; - } - - public byte getCasingTextureIndex() { - return (byte) TAE.GTPP_INDEX(16); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java deleted file mode 100644 index aba508e183..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java +++ /dev/null @@ -1,261 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_Utility.filterValidMTEs; - -import java.util.ArrayList; -import java.util.Objects; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.shutdown.ShutDownReasonRegistry; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GT_MetaTileEntity_Hatch_CustomFluidBase; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - public static int CASING_TEXTURE_ID; - public static String mCryoFuelName = "Gelid Cryotheum"; - public static String mCasingName = "Advanced Cryogenic Casing"; - public static String mHatchName = "Cryotheum Hatch"; - public static FluidStack mFuelStack; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - private final ArrayList mCryotheumHatches = new ArrayList<>(); - - public GregtechMetaTileEntity_IndustrialVacuumFreezer(final int aID, final String aName, - final String aNameRegional) { - super(aID, aName, aNameRegional); - mFuelStack = FluidUtils.getFluidStack("cryotheum", 1); - CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 10); - } - - public GregtechMetaTileEntity_IndustrialVacuumFreezer(final String aName) { - super(aName); - mFuelStack = FluidUtils.getFluidStack("cryotheum", 1); - CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 10); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return (IMetaTileEntity) new GregtechMetaTileEntity_IndustrialVacuumFreezer(this.mName); - } - - @Override - public String getMachineType() { - return "Vacuum Freezer"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Factory Grade Advanced Vacuum Freezer") - .addInfo("Speed: +100% | EU Usage: 100% | Parallel: 4") - .addInfo("Consumes 20L of " + mCryoFuelName + "/s during operation") - .addInfo("Constructed exactly the same as a normal Vacuum Freezer") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front Center") - .addCasingInfoMin(mCasingName, 10, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addOtherStructurePart(mHatchName, "Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_IndustrialVacuumFreezer.class) - .adder(GregtechMetaTileEntity_IndustrialVacuumFreezer::addCryotheumHatch) - .hatchId(967) - .shouldReject(t -> !t.mCryotheumHatches.isEmpty()) - .casingIndex(CASING_TEXTURE_ID) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_IndustrialVacuumFreezer.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(CASING_TEXTURE_ID) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings3Misc, 10)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mCryotheumHatches.clear(); - return checkPiece(mName, 1, 1, 0) && mCasing >= 10 && checkHatch(); - } - - @Override - public boolean checkHatch() { - return super.checkHatch() && !mCryotheumHatches.isEmpty(); - } - - private boolean addCryotheumHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_CustomFluidBase - && aMetaTileEntity.getBaseMetaTileEntity() - .getMetaTileID() == 967) { - return addToMachineListInternal(mCryotheumHatches, aTileEntity, aBaseCasingIndex); - } - } - return false; - } - - @Override - public void updateSlots() { - for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : filterValidMTEs(mCryotheumHatches)) tHatch.updateSlots(); - super.updateSlots(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return CASING_TEXTURE_ID; - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.advancedFreezerRecipes; - } - - @Override - public boolean isCorrectMachinePart(final ItemStack aStack) { - return true; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 2F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return 4; - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialVacuumFreezer; - } - - @Override - public int getDamageToComponent(final ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - private int mGraceTimer = 2; - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - /* - * if (this.getBaseMetaTileEntity().isActive()) { if (!this.depleteInput(mFuelStack.copy())) { - * this.getBaseMetaTileEntity().setActive(false); } } - */ - super.onPostTick(aBaseMetaTileEntity, aTick); - - if (this.mStartUpCheck < 0) { - if (this.mMaxProgresstime > 0 && this.mProgresstime != 0 || this.getBaseMetaTileEntity() - .hasWorkJustBeenEnabled()) { - if (aTick % 10 == 0 || this.getBaseMetaTileEntity() - .hasWorkJustBeenEnabled()) { - if (!this.depleteInputFromRestrictedHatches(this.mCryotheumHatches, 10)) { - if (mGraceTimer-- == 0) { - this.causeMaintenanceIssue(); - this.stopMachine( - ShutDownReasonRegistry - .outOfFluid(Objects.requireNonNull(FluidUtils.getFluidStack("cryotheum", 20)))); - mGraceTimer = 2; - } - } - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java deleted file mode 100644 index a12db63f4e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java +++ /dev/null @@ -1,372 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.isAir; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlockAnyMeta; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.Arrays; -import java.util.Collection; - -import javax.annotation.Nonnull; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -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.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import ic2.core.init.BlocksItems; -import ic2.core.init.InternalName; - -public class GregtechMetaTileEntity_IndustrialWashPlant - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mMode = 0; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialWashPlant(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialWashPlant(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialWashPlant(this.mName); - } - - @Override - public String getMachineType() { - return "Ore Washer, Simple Washer, Chemical Bath"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Wash Plant") - .addInfo("Can be configured with a screwdriver to also do Simple Washer and process Chemical Bathing") - .addInfo("400% faster than using single block machines of the same voltage") - .addInfo("Processes four item per voltage tier") - .addInfo("Always requires an Input Hatch full of water to refill structure") - .addInfo("Need to be filled with water.") - .addInfo("Will automatically fill water from input hatch.") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(5, 3, 7, true) - .addController("Front Center") - .addCasingInfoMin("Wash Plant Casings", 40, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCCCC", "CwwwC", "CwwwC", "CwwwC", "CwwwC", "CwwwC", "CCCCC" }, - { "CC~CC", "CwwwC", "CwwwC", "CwwwC", "CwwwC", "CwwwC", "CCCCC" }, - { "CCCCC", "CCCCC", "CCCCC", "CCCCC", "CCCCC", "CCCCC", "CCCCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialWashPlant.class) - .atLeast(InputBus, InputHatch, OutputHatch, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - .addElement( - 'w', - ofChain( - isAir(), - ofBlockAnyMeta(Blocks.water), - ofBlockAnyMeta(Blocks.flowing_water), - ofBlockAnyMeta(BlocksItems.getFluidBlock(InternalName.fluidDistilledWater)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 2, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 2, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 2, 1, 0) && mCasing >= 40 && checkHatch(); - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - // don't rotate a washer, water will flow out. - return (d, r, f) -> d.offsetY == 0 && r.isNotRotated() && !f.isVerticallyFliped(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return getCasingTextureIndex(); - } - - @Override - public RecipeMap getRecipeMap() { - return mMode == 0 ? RecipeMaps.oreWasherRecipes - : mMode == 1 ? GTPPRecipeMaps.simpleWasherRecipes : RecipeMaps.chemicalBathRecipes; - } - - @Nonnull - @Override - public Collection> getAvailableRecipeMaps() { - return Arrays - .asList(RecipeMaps.oreWasherRecipes, GTPPRecipeMaps.simpleWasherRecipes, RecipeMaps.chemicalBathRecipes); - } - - @Override - public int getRecipeCatalystPriority() { - return -10; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - if (checkForWater()) { - return CheckRecipeResultRegistry.SUCCESSFUL; - } - return SimpleCheckRecipeResult.ofFailure("no_water"); - } - }.setSpeedBonus(1F / 5F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return (4 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - if (mMode == 2) return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath; - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWashPlant_ModeWasher; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - public Block getCasingBlock() { - return ModBlocks.blockCasings2Misc; - } - - public byte getCasingMeta() { - return 4; - } - - public byte getCasingTextureIndex() { - return (byte) TAE.GTPP_INDEX(11); - } - - public boolean checkForWater() { - - // Get Facing direction - IGregTechTileEntity aBaseMetaTileEntity = this.getBaseMetaTileEntity(); - int mDirectionX = aBaseMetaTileEntity.getBackFacing().offsetX; - int mCurrentDirectionX; - int mCurrentDirectionZ; - int mOffsetX_Lower = 0; - int mOffsetX_Upper = 0; - int mOffsetZ_Lower = 0; - int mOffsetZ_Upper = 0; - - if (mDirectionX == 0) { - mCurrentDirectionX = 2; - mCurrentDirectionZ = 3; - mOffsetX_Lower = -2; - mOffsetX_Upper = 2; - mOffsetZ_Lower = -3; - mOffsetZ_Upper = 3; - } else { - mCurrentDirectionX = 3; - mCurrentDirectionZ = 2; - mOffsetX_Lower = -3; - mOffsetX_Upper = 3; - mOffsetZ_Lower = -2; - mOffsetZ_Upper = 2; - } - - // if (aBaseMetaTileEntity.fac) - - final int xDir = aBaseMetaTileEntity.getBackFacing().offsetX * mCurrentDirectionX; - final int zDir = aBaseMetaTileEntity.getBackFacing().offsetZ * mCurrentDirectionZ; - - int tAmount = 0; - for (int i = mOffsetX_Lower + 1; i <= mOffsetX_Upper - 1; ++i) { - for (int j = mOffsetZ_Lower + 1; j <= mOffsetZ_Upper - 1; ++j) { - for (int h = 0; h < 2; ++h) { - Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j); - byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j); - if (tBlock == Blocks.air || tBlock == Blocks.flowing_water || tBlock == Blocks.water) { - if (this.getStoredFluids() != null) { - for (FluidStack stored : this.getStoredFluids()) { - if (stored.isFluidEqual(FluidUtils.getFluidStack("water", 1))) { - if (stored.amount >= 1000) { - // Utils.LOG_WARNING("Going to try swap an air block for water from inut bus."); - stored.amount -= 1000; - Block fluidUsed = null; - if (tBlock == Blocks.air || tBlock == Blocks.flowing_water) { - fluidUsed = Blocks.water; - } - if (tBlock == Blocks.water) { - fluidUsed = BlocksItems.getFluidBlock(InternalName.fluidDistilledWater); - } - aBaseMetaTileEntity.getWorld() - .setBlock( - aBaseMetaTileEntity.getXCoord() + xDir + i, - aBaseMetaTileEntity.getYCoord() + h, - aBaseMetaTileEntity.getZCoord() + zDir + j, - fluidUsed); - } - } - } - } - } - if (tBlock == Blocks.water) { - ++tAmount; - // Utils.LOG_WARNING("Found Water"); - } else if (tBlock == BlocksItems.getFluidBlock(InternalName.fluidDistilledWater)) { - ++tAmount; - ++tAmount; - // Utils.LOG_WARNING("Found Distilled Water"); - } - } - } - } - - boolean isValidWater = tAmount >= 45; - if (isValidWater) { - Logger.WARNING("Filled structure."); - } else { - Logger.WARNING("Did not fill structure."); - } - return isValidWater; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("mMode", mMode); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - if (aNBT.hasKey("mChemicalMode")) { - boolean aTempMode = aNBT.getBoolean("mChemicalMode"); - if (aTempMode) { - mMode = 2; - } else { - mMode = 0; - } - aNBT.removeTag("mChemicalMode"); - } - if (aNBT.hasKey("mMode")) { - mMode = aNBT.getInteger("mMode"); - } - super.loadNBTData(aNBT); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - mMode++; - if (mMode > 2) { - mMode = 0; - } - if (mMode == 0) { - PlayerUtils.messagePlayer(aPlayer, "Wash Plant is now running in Ore Washer Mode."); - } else if (mMode == 1) { - PlayerUtils.messagePlayer(aPlayer, "Wash Plant is now running in Simple Washer Mode."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Wash Plant is now running in Chemical Bath Mode."); - } - mLastRecipe = null; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java deleted file mode 100644 index 15ae5a96f8..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java +++ /dev/null @@ -1,215 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -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; - -public class GregtechMetaTileEntity_IndustrialWireMill - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialWireMill(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - inputSeparation = true; - } - - public GregtechMetaTileEntity_IndustrialWireMill(final String aName) { - super(aName); - inputSeparation = true; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialWireMill(this.mName); - } - - @Override - public String getMachineType() { - return "Wiremill"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Wire Factory") - .addInfo("200% faster than using single block machines of the same voltage") - .addInfo("Only uses 75% of the EU/t normally required") - .addInfo("Processes four items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 5, true) - .addController("Front Center") - .addCasingInfoMin("Wire Factory Casings", 14, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC", "CCC", "CCC" }, { "C~C", "C-C", "C-C", "C-C", "CCC" }, - { "CCC", "CCC", "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialWireMill.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 14 && checkHatch(); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_RECYCLER_OP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(6); - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.wiremillRecipes; - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 3F) - .setEuModifier(0.75F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - inputSeparation = !inputSeparation; - aPlayer.addChatMessage( - new ChatComponentTranslation( - inputSeparation ? "interaction.separateBusses.enabled" : "interaction.separateBusses.disabled")); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - if (!aNBT.hasKey(INPUT_SEPARATION_NBT_KEY)) { - inputSeparation = aNBT.getBoolean("isBussesSeparate"); - } - } - - @Override - public int getMaxParallelRecipes() { - return (4 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWireMill; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - public Block getCasingBlock() { - return ModBlocks.blockCasingsMisc; - } - - public byte getCasingMeta() { - return 6; - } - - public byte getCasingTextureIndex() { - return (byte) TAE.GTPP_INDEX(6); - } - - @Override - public boolean supportsInputSeparation() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java deleted file mode 100644 index c14cae9b88..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java +++ /dev/null @@ -1,529 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_Utility.filterValidMTEs; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; -import net.minecraftforge.common.util.ForgeDirection; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -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.api.objects.minecraft.BlockPos; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.EntityUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers.GT_MetaTileEntity_Hatch_MillingBalls; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.CustomIcon; - -public class GregtechMetaTileEntity_IsaMill extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - protected boolean boostEu = false; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - private static final IIconContainer frontFaceActive = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE5"); - private static final IIconContainer frontFace = new CustomIcon("iconsets/Grinder/GRINDER5"); - - private final ArrayList mMillingBallBuses = new ArrayList<>(); - private static final DamageSource mIsaMillDamageSource = new DamageSource("gtpp.grinder").setDamageBypassesArmor(); - - public GregtechMetaTileEntity_IsaMill(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IsaMill(String aName) { - super(aName); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Large Grinding Machine") - .addInfo("Grind ores.") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 7, false) - .addController("Front Center") - .addCasingInfoMin("IsaMill Exterior Casing", 40, false) - .addOtherStructurePart("IsaMill Gearbox", "5x, Inner Blocks") - .addOtherStructurePart("IsaMill Piping", "8x, ring around controller") - .addStructureInfo("IsaMill Pipings must not be obstructed in front (only air blocks)") - .addOtherStructurePart("Milling Ball Hatch", "Any Casing") - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "DDD", "CCC", "CCC", "CCC", "CCC", "CCC", "CCC" }, - { "D~D", "CGC", "CGC", "CGC", "CGC", "CGC", "CCC" }, - { "DDD", "CCC", "CCC", "CCC", "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_IsaMill.class) - .adder(GregtechMetaTileEntity_IsaMill::addMillingBallsHatch) - .hatchClass(GT_MetaTileEntity_Hatch_MillingBalls.class) - .shouldReject(t -> !t.mMillingBallBuses.isEmpty()) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_IsaMill.class) - .atLeast(InputBus, OutputBus, InputHatch, OutputHatch, Maintenance, Energy, Muffler) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - .addElement('D', ofBlock(getIntakeBlock(), getIntakeMeta())) - .addElement('G', ofBlock(getGearboxBlock(), getGearboxMeta())) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mMillingBallBuses.clear(); - return checkPiece(mName, 1, 1, 0) && mCasing >= 48 - 8 && checkHatch(); - } - - @Override - public boolean checkHatch() { - return super.checkHatch() && mMillingBallBuses.size() == 1; - } - - @Override - protected IIconContainer getActiveOverlay() { - return frontFaceActive; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return frontFace; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(2); - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return getMaxEfficiency(aStack) > 0; - } - - private boolean addMillingBallsHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_MillingBalls) { - return addToMachineListInternal(mMillingBallBuses, aMetaTileEntity, aBaseCasingIndex); - } - } - return false; - } - - @Override - public boolean addToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) { - return false; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_MillingBalls) { - log("Found GT_MetaTileEntity_Hatch_MillingBalls"); - return addToMachineListInternal(mMillingBallBuses, aMetaTileEntity, aBaseCasingIndex); - } - return super.addToMachineList(aTileEntity, aBaseCasingIndex); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.millingRecipes; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (aBaseMetaTileEntity.isServerSide()) { - if (this.mUpdate == 1 || this.mStartUpCheck == 1) { - this.mMillingBallBuses.clear(); - } - } - if (aTick % 20 == 0 && isMachineRunning()) { - checkForEntities(aBaseMetaTileEntity, aTick); - } - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - private final AutoMap mFrontBlockPosCache = new AutoMap<>(); - - public void checkForEntities(IGregTechTileEntity aBaseMetaTileEntity, long aTime) { - - if (aTime % 100 == 0) { - mFrontBlockPosCache.clear(); - } - if (mFrontBlockPosCache.isEmpty()) { - ForgeDirection tSide = aBaseMetaTileEntity.getBackFacing(); - int aTileX = aBaseMetaTileEntity.getXCoord(); - int aTileY = aBaseMetaTileEntity.getYCoord(); - int aTileZ = aBaseMetaTileEntity.getZCoord(); - boolean xFacing = tSide.offsetX != 0; - boolean zFacing = tSide.offsetZ != 0; - - // Check Casings - int aDepthOffset = (tSide == ForgeDirection.NORTH || tSide == ForgeDirection.WEST) ? 1 : -1; - for (int aHorizontalOffset = -1; aHorizontalOffset < 2; aHorizontalOffset++) { - for (int aVerticalOffset = -1; aVerticalOffset < 2; aVerticalOffset++) { - int aX = !xFacing ? (aTileX + aHorizontalOffset) : (aTileX + aDepthOffset); - int aY = aTileY + aVerticalOffset; - int aZ = !zFacing ? (aTileZ + aHorizontalOffset) : (aTileZ + aDepthOffset); - mFrontBlockPosCache.add(new BlockPos(aX, aY, aZ, aBaseMetaTileEntity.getWorld())); - } - } - } - - AutoMap aEntities = getEntities(mFrontBlockPosCache, aBaseMetaTileEntity.getWorld()); - if (!aEntities.isEmpty()) { - for (EntityLivingBase aFoundEntity : aEntities) { - if (aFoundEntity instanceof EntityPlayer aPlayer) { - if (PlayerUtils.isCreative(aPlayer) || !PlayerUtils.canTakeDamage(aPlayer)) { - continue; - } else { - if (aFoundEntity.getHealth() > 0) { - EntityUtils.doDamage(aFoundEntity, mIsaMillDamageSource, getPlayerDamageValue(aPlayer, 10)); - if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive())) { - generateParticles(aFoundEntity); - } - } - } - } else if (aFoundEntity.getHealth() > 0) { - EntityUtils.doDamage( - aFoundEntity, - mIsaMillDamageSource, - Math.max(1, (int) (aFoundEntity.getMaxHealth() / 3))); - if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive())) { - generateParticles(aFoundEntity); - } - } - } - } - } - - // 20 armor points add 80% damage reduction, more points add more damage reduction - private int getPlayerDamageValue(EntityPlayer player, int damage) { - int armorValue = player.getTotalArmorValue(); - int reducedDamage = (int) (damage - damage * (armorValue * 0.04)); - return Math.max(reducedDamage, 0); - } - - private static AutoMap getEntities(AutoMap aPositionsToCheck, World aWorld) { - AutoMap aEntities = new AutoMap<>(); - HashSet aChunksToCheck = new HashSet<>(); - if (!aPositionsToCheck.isEmpty()) { - Chunk aLocalChunk; - for (BlockPos aPos : aPositionsToCheck) { - aLocalChunk = aWorld.getChunkFromBlockCoords(aPos.xPos, aPos.zPos); - aChunksToCheck.add(aLocalChunk); - } - } - if (!aChunksToCheck.isEmpty()) { - AutoMap aEntitiesFound = new AutoMap<>(); - for (Chunk aChunk : aChunksToCheck) { - if (aChunk.isChunkLoaded) { - List[] aEntityLists = aChunk.entityLists; - for (List aEntitySubList : aEntityLists) { - for (Object aEntity : aEntitySubList) { - if (aEntity instanceof EntityLivingBase aPlayer) { - aEntitiesFound.add(aPlayer); - } - } - } - } - } - if (!aEntitiesFound.isEmpty()) { - for (EntityLivingBase aEntity : aEntitiesFound) { - BlockPos aPlayerPos = EntityUtils.findBlockPosOfEntity(aEntity); - for (BlockPos aBlockSpaceToCheck : aPositionsToCheck) { - if (aBlockSpaceToCheck.equals(aPlayerPos)) { - aEntities.add(aEntity); - } - } - } - } - } - return aEntities; - } - - private static void generateParticles(EntityLivingBase aEntity) { - BlockPos aPlayerPosBottom = EntityUtils.findBlockPosOfEntity(aEntity); - BlockPos aPlayerPosTop = aPlayerPosBottom.getUp(); - AutoMap aEntityPositions = new AutoMap<>(); - aEntityPositions.add(aPlayerPosBottom); - aEntityPositions.add(aPlayerPosTop); - for (int i = 0; i < 64; i++) { - BlockPos aEffectPos = aEntityPositions.get(aEntity.height > 1f ? MathUtils.randInt(0, 1) : 0); - float aOffsetX = MathUtils.randFloat(-0.35f, 0.35f); - float aOffsetY = MathUtils.randFloat(-0.25f, 0.35f); - float aOffsetZ = MathUtils.randFloat(-0.35f, 0.35f); - aEntity.worldObj.spawnParticle( - "reddust", - aEffectPos.xPos + aOffsetX, - aEffectPos.yPos + 0.3f + aOffsetY, - aEffectPos.zPos + aOffsetZ, - 0.0D, - 0.0D, - 0.0D); - } - } - - public Block getCasingBlock() { - return ModBlocks.blockCasings5Misc; - } - - public byte getCasingMeta() { - return 0; - } - - public Block getIntakeBlock() { - return ModBlocks.blockCasings5Misc; - } - - public byte getIntakeMeta() { - return 1; - } - - public Block getGearboxBlock() { - return ModBlocks.blockCasings5Misc; - } - - public byte getGearboxMeta() { - return 2; - } - - public byte getCasingTextureIndex() { - return 66; - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IsaMill(this.mName); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 1; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIsaMill; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - @Override - public String[] getExtraInfoData() { - return new String[] { "IsaMill Grinding Machine", "Current Efficiency: " + (mEfficiency / 100) + "%", - getIdealStatus() == getRepairStatus() ? "No Maintainance issues" : "Needs Maintainance" }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public String getMachineType() { - return "Grinding Machine"; - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - /* - * Milling Ball Handling - */ - - @Override - public ArrayList getStoredInputs() { - ArrayList tItems = super.getStoredInputs(); - for (GT_MetaTileEntity_Hatch_MillingBalls tHatch : filterValidMTEs(mMillingBallBuses)) { - AutoMap aHatchContent = tHatch.getContentUsageSlots(); - if (!aHatchContent.isEmpty()) { - tItems.addAll(aHatchContent); - } - } - return tItems; - } - - public int getMaxBallDurability(ItemStack aStack) { - return ItemGenericChemBase.getMaxBallDurability(aStack); - } - - private ItemStack findMillingBall(ItemStack[] aItemInputs) { - if (mMillingBallBuses.size() != 1) { - return null; - } else { - GT_MetaTileEntity_Hatch_MillingBalls aBus = mMillingBallBuses.get(0); - if (aBus != null) { - AutoMap aAvailableItems = aBus.getContentUsageSlots(); - if (!aAvailableItems.isEmpty()) { - for (final ItemStack aInput : aItemInputs) { - if (ItemUtils.isMillingBall(aInput)) { - for (ItemStack aBall : aAvailableItems) { - if (GT_Utility.areStacksEqual(aBall, aInput, true)) { - Logger.INFO("Found a valid milling ball to use."); - return aBall; - } - } - } - } - } - } - } - return null; - } - - private void damageMillingBall(ItemStack aStack) { - if (MathUtils.randFloat(0, 10000000) / 10000000f < (1.2f - (0.2 * 1))) { - int damage = getMillingBallDamage(aStack) + 1; - log("damage milling ball " + damage); - if (damage >= getMaxBallDurability(aStack)) { - log("consuming milling ball"); - aStack.stackSize -= 1; - } else { - setDamage(aStack, damage); - } - } else { - log("not damaging milling ball"); - } - } - - private int getMillingBallDamage(ItemStack aStack) { - return ItemGenericChemBase.getMillingBallDamage(aStack); - } - - private void setDamage(ItemStack aStack, int aAmount) { - ItemGenericChemBase.setMillingBallDamage(aStack, aAmount); - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - ItemStack millingBall; - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - millingBall = findMillingBall(inputItems); - if (millingBall == null) { - return SimpleCheckRecipeResult.ofFailure("no_milling_ball"); - } - return CheckRecipeResultRegistry.SUCCESSFUL; - } - - @NotNull - @Override - public CheckRecipeResult process() { - CheckRecipeResult result = super.process(); - if (result.wasSuccessful()) { - damageMillingBall(millingBall); - } - return result; - } - }.enablePerfectOverclock(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_NuclearSaltProcessingPlant.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_NuclearSaltProcessingPlant.java deleted file mode 100644 index 6d1593bec9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_NuclearSaltProcessingPlant.java +++ /dev/null @@ -1,224 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; - -public class GregtechMetaTileEntity_NuclearSaltProcessingPlant extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - protected GT_Recipe lastRecipeToBuffer; - private int casing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_NuclearSaltProcessingPlant(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_NuclearSaltProcessingPlant(String mName) { - super(mName); - } - - @Override - public String getMachineType() { - return "Reactor Processing Unit, Cold Trap"; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity tileEntity) { - return new GregtechMetaTileEntity_NuclearSaltProcessingPlant(this.mName); - } - - @Override - public int getMaxEfficiency(ItemStack itemStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiAutoCrafter; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Nuclear Salt Processing Plant") - .addInfo("Processes depleted nuclear salts that come from the LFTR") - .addInfo("Handles the recipes of the Reactor Processor Unit and Cold Trap") - .addInfo("Only Thermally Insulated Casings can be replaced with hatches") - .addInfo("Mufflers on top, Energy Hatches on bottom, exactly 2 of each are required") - .addInfo("Maintenance Hatch goes on the back, opposite of the controller block") - .addInfo("Inputs go on the left side of the multi, outputs on the right side") - .addInfo("150% faster than using single block machines of the same voltage") - .addInfo("Processes two items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front Center") - .addCasingInfoMin("IV Machine Casing", 58, false) - .addCasingInfoMin("Thermally Insulated Casing", 1, false) - .addInputBus("Left Half", 2) - .addInputHatch("Left Half", 2) - .addOutputBus("Right Half", 3) - .addOutputHatch("Right Half", 3) - .addMufflerHatch("Top Side, 2 Required", 4) - .addEnergyHatch("Bottom Side, 2 Required", 5) - .addMaintenanceHatch("Back Side, Opposite of Controller", 6) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_DISASSEMBLER_ACTIVE; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_DISASSEMBLER; - } - - @Override - protected int getCasingTextureId() { - return TAE.getIndexFromPage(0, 10); - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "AAA AAA", "ADA ADA", "AAA AAA" }, - { "ABBA ACCA", "B AAA C", "ABBA ACCA" }, { "ABBB~CCCA", "B C", "ABBBFCCCA" }, - { "ABBA ACCA", "B AAA C", "ABBA ACCA" }, { "AAA AAA", "AEA AEA", "AAA AAA" } })) - .addElement('A', ofBlock(GregTech_API.sBlockCasings1, 5)) - .addElement( - 'B', - buildHatchAdder(GregtechMetaTileEntity_NuclearSaltProcessingPlant.class) - .atLeast(InputBus, InputHatch) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(2) - .buildAndChain(onElementPass(x -> ++x.casing, ofBlock(ModBlocks.blockSpecialMultiCasings, 8)))) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_NuclearSaltProcessingPlant.class) - .atLeast(OutputBus, OutputHatch) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(3) - .buildAndChain(onElementPass(x -> ++x.casing, ofBlock(ModBlocks.blockSpecialMultiCasings, 8)))) - .addElement( - 'D', - buildHatchAdder(GregtechMetaTileEntity_NuclearSaltProcessingPlant.class).atLeast(Muffler) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(4) - .buildAndChain(onElementPass(x -> ++x.casing, ofBlock(ModBlocks.blockSpecialMultiCasings, 8)))) - .addElement( - 'E', - buildHatchAdder(GregtechMetaTileEntity_NuclearSaltProcessingPlant.class).atLeast(Energy) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(5) - .buildAndChain(onElementPass(x -> ++x.casing, ofBlock(ModBlocks.blockSpecialMultiCasings, 8)))) - .addElement( - 'F', - buildHatchAdder(GregtechMetaTileEntity_NuclearSaltProcessingPlant.class).atLeast(Maintenance) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(6) - .buildAndChain(onElementPass(x -> ++x.casing, ofBlock(ModBlocks.blockSpecialMultiCasings, 8)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack itemStack, boolean hintsOnly) { - buildPiece(mName, itemStack, hintsOnly, 4, 2, 0); - } - - @Override - public int survivalConstruct(ItemStack itemStack, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, itemStack, 4, 2, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity baseMetaTileEntity, ItemStack itemStack) { - casing = 0; - return checkPiece(mName, 4, 2, 0) && checkHatch(); - } - - @Override - public boolean checkHatch() { - return mEnergyHatches.size() == 2 && mMufflerHatches.size() == 2 && super.checkHatch(); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.nuclearSaltProcessingPlantRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 2.5F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return 2 * (Math.max(1, GT_Utility.getTier(getMaxInputVoltage()))); - } - - @Override - public String[] getExtraInfoData() { - final String running = (this.mMaxProgresstime > 0 ? "Salt Plant running" : "Salt Plant stopped"); - final String maintenance = (this.getIdealStatus() == this.getRepairStatus() ? "No Maintenance issues" - : "Needs Maintenance"); - String tSpecialText; - - if (lastRecipeToBuffer != null && lastRecipeToBuffer.mOutputs[0].getDisplayName() != null) { - tSpecialText = "Currently processing: " + lastRecipeToBuffer.mOutputs[0].getDisplayName(); - } else { - tSpecialText = "Currently processing: Nothing"; - } - - return new String[] { "Nuclear Salt Processing Plant", running, maintenance, tSpecialText }; - } - - @Override - public boolean supportsInputSeparation() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java deleted file mode 100644 index 5f4203b99e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java +++ /dev/null @@ -1,507 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.isAir; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; - -import java.util.ArrayList; -import java.util.List; - -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; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.interfaces.IHatchElement; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.fluid.IFluidStore; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.GasSpargingRecipe; -import gregtech.api.util.GasSpargingRecipeMap; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_SpargeTower extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - protected static final String STRUCTURE_PIECE_BASE = "base"; - protected static final String STRUCTURE_PIECE_LAYER = "layer"; - protected static final String STRUCTURE_PIECE_LAYER_HINT = "layerHint"; - protected static final String STRUCTURE_PIECE_TOP_HINT = "topHint"; - private static final IStructureDefinition STRUCTURE_DEFINITION; - - static { - IHatchElement layeredOutputHatch = OutputHatch - .withCount(GregtechMetaTileEntity_SpargeTower::getCurrentLayerOutputHatchCount) - .withAdder(GregtechMetaTileEntity_SpargeTower::addLayerOutputHatch); - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape(STRUCTURE_PIECE_BASE, transpose(new String[][] { { "b~b", "bbb", "bbb" }, })) - .addShape(STRUCTURE_PIECE_LAYER, transpose(new String[][] { { "lll", "lcl", "lll" } })) - .addShape(STRUCTURE_PIECE_LAYER_HINT, transpose(new String[][] { { "lll", "l-l", "lll" } })) - .addShape(STRUCTURE_PIECE_TOP_HINT, transpose(new String[][] { { "lll", "lll", "lll" } })) - .addElement( - 'b', - buildHatchAdder(GregtechMetaTileEntity_SpargeTower.class) - .atLeast(Energy, InputHatch, InputBus, Maintenance) - .disallowOnly(ForgeDirection.UP) - .casingIndex(getCasingIndex()) - .dot(1) - .buildAndChain( - onElementPass( - GregtechMetaTileEntity_SpargeTower::onCasingFound, - ofBlock(ModBlocks.blockCasings5Misc, 4)))) - .addElement( - 'l', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_SpargeTower.class).atLeast(layeredOutputHatch) - .disallowOnly(ForgeDirection.UP, ForgeDirection.DOWN) - .casingIndex(getCasingIndex()) - .dot(2) - .build(), - ofHatchAdder(GregtechMetaTileEntity_SpargeTower::addEnergyInputToMachineList, getCasingIndex(), 2), - ofHatchAdder(GregtechMetaTileEntity_SpargeTower::addMaintenanceToMachineList, getCasingIndex(), 2), - onElementPass( - GregtechMetaTileEntity_SpargeTower::onCasingFound, - ofBlock(ModBlocks.blockCasings5Misc, 4)))) - .addElement( - 'c', - ofChain( - onElementPass( - t -> t.onTopLayerFound(false), - ofHatchAdder(GregtechMetaTileEntity_SpargeTower::addOutputToMachineList, getCasingIndex(), 3)), - onElementPass( - t -> t.onTopLayerFound(false), - ofHatchAdder( - GregtechMetaTileEntity_SpargeTower::addMaintenanceToMachineList, - getCasingIndex(), - 3)), - onElementPass(t -> t.onTopLayerFound(true), ofBlock(ModBlocks.blockCasings5Misc, 4)), - isAir())) - .build(); - } - - protected final List> mOutputHatchesByLayer = new ArrayList<>(); - protected int mHeight; - protected int mCasing; - protected boolean mTopLayerFound; - - public GregtechMetaTileEntity_SpargeTower(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_SpargeTower(String aName) { - super(aName); - } - - public static int getCasingIndex() { - return 68; - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_SpargeTower(this.mName); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType("Gas Sparge Tower") - .addInfo("Controller block for the Sparging Tower") - .addInfo("Runs gases through depleted molten salts to extract precious fluids") - .addInfo("Works the same way as the Distillation Tower, but with a fixed height of 8") - .addInfo("Fluids are only put out at the correct height") - .addInfo("The correct height equals the slot number in the NEI recipe") - .addSeparator() - .beginStructureBlock(3, 8, 3, true) - .addController("Front bottom") - .addOtherStructurePart("Sparge Tower Exterior Casing", "45 (minimum)") - .addEnergyHatch("Any casing", 1, 2) - .addMaintenanceHatch("Any casing", 1, 2, 3) - .addInputHatch("2x Input Hatches (Any bottom layer casing)", 1) - .addOutputHatch("6x Output Hatches (At least one per layer except bottom layer)", 2, 3) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return getCasingIndex(); - } - - @Override - public RecipeMap getRecipeMap() { - if (GTPPRecipeMaps.spargeTowerFakeRecipes.getAllRecipes() - .isEmpty()) { - generateRecipes(); - } - return GTPPRecipeMaps.spargeTowerFakeRecipes; - } - - private static boolean generateRecipes() { - for (GasSpargingRecipe aRecipe : GasSpargingRecipeMap.mRecipes) { - GT_Recipe newRecipe = new GT_Recipe( - false, - new ItemStack[] {}, - new ItemStack[] {}, - null, - null, - aRecipe.mFluidInputs.clone(), - new FluidStack[] {}, - aRecipe.mDuration, - aRecipe.mEUt, - 0); - GTPPRecipeMaps.spargeTowerFakeRecipes.add(newRecipe); - } - return !GTPPRecipeMaps.spargeTowerFakeRecipes.getAllRecipes() - .isEmpty(); - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - ArrayList tFluidList = getStoredFluids(); - long tVoltage = GT_Utility.roundUpVoltage(this.getMaxInputVoltage()); - byte tTier = (byte) Math.max(0, GT_Utility.getTier(tVoltage)); - FluidStack[] tFluids = tFluidList.toArray(new FluidStack[0]); - if (tFluids.length > 0) { - GT_Recipe tRecipe = getRecipeMap() - .findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids); - if (tRecipe != null) { - FluidStack[] possibleOutputs = getPossibleByproductsOfSparge( - tRecipe.mFluidInputs[0], - tRecipe.mFluidInputs[1]).toArray(new FluidStack[0]); - if (canOutputAll(possibleOutputs) && tRecipe.isRecipeInputEqual(true, tFluids)) { - this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); - this.mEfficiencyIncrease = 10000; - - calculateOverclockedNessMulti((long) tRecipe.mEUt, tRecipe.mDuration, 1, tVoltage); - mMaxProgresstime = Math.max(1, mMaxProgresstime); - ArrayList aFluidOutputs = getByproductsOfSparge( - tRecipe.mFluidInputs[0], - tRecipe.mFluidInputs[1]); - this.mOutputFluids = aFluidOutputs.toArray(new FluidStack[0]); - updateSlots(); - - if (lEUt > 0) { - lEUt = (-lEUt); - } - - return CheckRecipeResultRegistry.SUCCESSFUL; - } - } - } - this.lEUt = 0; - this.mEfficiency = 0; - return CheckRecipeResultRegistry.NO_RECIPE; - } - - private static List getPossibleByproductsOfSparge(final FluidStack aSpargeGas, - final FluidStack aSpentFuel) { - GasSpargingRecipe aSpargeRecipe = GasSpargingRecipeMap.findRecipe(aSpargeGas, aSpentFuel); - ArrayList aOutputGases = new ArrayList<>(); - if (aSpargeRecipe == null) { - return aOutputGases; - } - - aOutputGases.add(aSpargeRecipe.mOutputSpargedFuel.copy()); - ArrayList aTempMap = new ArrayList<>(); - for (int i = 2; i < aSpargeRecipe.mFluidOutputs.length; i++) { - int aGasAmount = aSpargeRecipe.mMaxOutputQuantity[i - 2] / 100; - FluidStack aOutput = aSpargeRecipe.mFluidOutputs[i].copy(); - FluidStack aSpargeOutput = null; - if (aGasAmount > 0) { - aSpargeOutput = new FluidStack(aOutput.getFluid(), aGasAmount); - } - aTempMap.add(aSpargeOutput); - } - aOutputGases.add(new FluidStack(aSpargeRecipe.mInputGas.getFluid(), aSpargeRecipe.mInputGas.amount)); - aOutputGases.addAll(aTempMap); - return aOutputGases; - } - - private static ArrayList getByproductsOfSparge(final FluidStack aSpargeGas, - final FluidStack aSpentFuel) { - GasSpargingRecipe aSpargeRecipe = GasSpargingRecipeMap.findRecipe(aSpargeGas, aSpentFuel); - ArrayList aOutputGases = new ArrayList<>(); - if (aSpargeRecipe == null) { - Logger.INFO("Did not find sparge recipe!"); - return aOutputGases; - } - int aSpargeGasAmount = aSpargeRecipe.mInputGas.amount; - - aOutputGases.add(aSpargeRecipe.mOutputSpargedFuel.copy()); - ArrayList aTempMap = new ArrayList<>(); - for (int i = 2; i < aSpargeRecipe.mFluidOutputs.length; i++) { - int aGasAmount = MathUtils.randInt(0, (aSpargeRecipe.mMaxOutputQuantity[i - 2] / 100)); - FluidStack aOutput = aSpargeRecipe.mFluidOutputs[i].copy(); - aSpargeGasAmount -= aGasAmount; - FluidStack aSpargeOutput = null; - if (aGasAmount > 0) { - aSpargeOutput = new FluidStack(aOutput.getFluid(), aGasAmount); - } - aTempMap.add(aSpargeOutput); - } - Logger.INFO("Sparge gas left: " + aSpargeGasAmount); - if (aSpargeGasAmount > 0) { - aOutputGases.add(new FluidStack(aSpargeRecipe.mInputGas.getFluid(), aSpargeGasAmount)); - } - // Logger.INFO("Sparge Outputs: "+ItemUtils.getArrayStackNames(aTempMap)); - aOutputGases.addAll(aTempMap); - Logger.INFO("Sparge output size: " + aOutputGases.size()); - // Logger.INFO("Output of sparging: "+ItemUtils.getArrayStackNames(aOutputGases)); - return aOutputGases; - } - - protected void onCasingFound() { - mCasing++; - } - - protected void onTopLayerFound(boolean aIsCasing) { - mTopLayerFound = true; - if (aIsCasing) { - onCasingFound(); - } - } - - protected int getCurrentLayerOutputHatchCount() { - return mOutputHatchesByLayer.size() < mHeight || mHeight <= 0 ? 0 - : mOutputHatchesByLayer.get(mHeight - 1) - .size(); - } - - protected boolean addLayerOutputHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null || aTileEntity.isDead() - || !(aTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Output tHatch)) { - Logger.INFO("Bad Output Hatch"); - return false; - } - while (mOutputHatchesByLayer.size() < mHeight) { - mOutputHatchesByLayer.add(new ArrayList<>()); - } - tHatch.updateTexture(aBaseCasingIndex); - boolean addedHatch = mOutputHatchesByLayer.get(mHeight - 1) - .add(tHatch); - Logger.INFO("Added Hatch: " + addedHatch); - return addedHatch; - } - - @Override - public List getFluidOutputSlots(FluidStack[] toOutput) { - return getFluidOutputSlotsByLayer(toOutput, mOutputHatchesByLayer); - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - // don't rotate a freaking tower, it won't work - return (d, r, f) -> d.offsetY == 0 && r.isNotRotated() && !f.isVerticallyFliped(); - } - - @Override - public IStructureDefinition getStructureDefinition() { - return STRUCTURE_DEFINITION; - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - // reset - mOutputHatchesByLayer.forEach(List::clear); - mHeight = 1; - mTopLayerFound = false; - mCasing = 0; - - // check base - if (!checkPiece(STRUCTURE_PIECE_BASE, 1, 0, 0)) { - Logger.INFO("Bad Base. Height: " + mHeight); - return false; - } - - // check each layer - while (mHeight < 8 && checkPiece(STRUCTURE_PIECE_LAYER, 1, mHeight, 0) && !mTopLayerFound) { - if (mOutputHatchesByLayer.get(mHeight - 1) - .isEmpty()) { - // layer without output hatch - Logger.INFO("Height: " + mHeight + " - Missing output on " + (mHeight - 1)); - return false; - } - // not top - mHeight++; - } - - // validate final invariants... - Logger.INFO("Height: " + mHeight); - Logger.INFO("Casings: " + mCasing); - Logger.INFO("Required: " + (7 * mHeight - 5)); - Logger.INFO("Found Top: " + mTopLayerFound); - return mCasing >= 45 && mTopLayerFound && mMaintenanceHatches.size() == 1; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerTick(ItemStack aStack) { - return 0; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - @Override - protected void addFluidOutputs(FluidStack[] mOutputFluids2) { - for (int i = 0; i < mOutputFluids2.length && i < mOutputHatchesByLayer.size(); i++) { - FluidStack tStack = mOutputFluids2[i] != null ? mOutputFluids2[i].copy() : null; - if (tStack == null) { - continue; - } - if (!dumpFluid(mOutputHatchesByLayer.get(i), tStack, true)) { - dumpFluid(mOutputHatchesByLayer.get(i), tStack, false); - } - } - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(STRUCTURE_PIECE_BASE, stackSize, hintsOnly, 1, 0, 0); - int tTotalHeight = 8; // min 2 output layer, so at least 1 + 2 height - for (int i = 1; i < tTotalHeight - 1; i++) { - buildPiece(STRUCTURE_PIECE_LAYER_HINT, stackSize, hintsOnly, 1, i, 0); - } - buildPiece(STRUCTURE_PIECE_TOP_HINT, stackSize, hintsOnly, 1, tTotalHeight - 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - mHeight = 0; - int built = survivialBuildPiece(STRUCTURE_PIECE_BASE, stackSize, 1, 0, 0, elementBudget, env, false, true); - if (built >= 0) return built; - int tTotalHeight = 8; // min 2 output layer, so at least 1 + 2 height - for (int i = 1; i < tTotalHeight - 1; i++) { - mHeight = i; - built = survivialBuildPiece( - STRUCTURE_PIECE_LAYER_HINT, - stackSize, - 1, - i, - 0, - elementBudget, - env, - false, - true); - if (built >= 0) return built; - } - mHeight = tTotalHeight - 1; - return survivialBuildPiece( - STRUCTURE_PIECE_TOP_HINT, - stackSize, - 1, - tTotalHeight - 1, - 0, - elementBudget, - env, - false, - true); - } - - @Override - public String getMachineType() { - return "Gas Sparger"; - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public boolean onPlungerRightClick(EntityPlayer aPlayer, ForgeDirection side, float aX, float aY, float aZ) { - int aLayerIndex = 0; - PlayerUtils - .messagePlayer(aPlayer, "Trying to clear " + mOutputHatchesByLayer.size() + " layers of output hatches."); - for (List layer : this.mOutputHatchesByLayer) { - int aHatchIndex = 0; - for (GT_MetaTileEntity_Hatch_Output hatch : layer) { - if (hatch.mFluid != null) { - PlayerUtils.messagePlayer( - aPlayer, - "Clearing " + hatch.mFluid.amount - + "L of " - + hatch.mFluid.getLocalizedName() - + " from hatch " - + aHatchIndex - + " on layer " - + aLayerIndex - + "."); - hatch.mFluid = null; - } - aHatchIndex++; - } - aLayerIndex++; - } - return aLayerIndex > 0; - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - // Ensure that lEUt is negative from loaded NBT data, since this multi consumes EU - if (lEUt > 0) { - lEUt = (-lEUt); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java deleted file mode 100644 index 8296b8e7cb..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java +++ /dev/null @@ -1,491 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.isAir; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - -import javax.annotation.Nonnull; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IHatchElement; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.fluid.IFluidStore; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_Output_ME; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; - -public class GregtechMetaTileEntity_Adv_DistillationTower extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private Mode mMode = Mode.DistillationTower; - private boolean mUpgraded = false; - - protected static final String STRUCTURE_PIECE_BASE = "base"; - protected static final String STRUCTURE_PIECE_LAYER = "layer"; - protected static final String STRUCTURE_PIECE_LAYER_HINT = "layerHint"; - protected static final String STRUCTURE_PIECE_TOP_HINT = "topHint"; - - protected final List> mOutputHatchesByLayer = new ArrayList<>(); - protected int mHeight; - protected int mCasing; - protected boolean mTopLayerFound; - - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_Adv_DistillationTower(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_Adv_DistillationTower(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_Adv_DistillationTower(this.mName); - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - IHatchElement layeredOutputHatch = OutputHatch - .withCount(GregtechMetaTileEntity_Adv_DistillationTower::getCurrentLayerOutputHatchCount) - .withAdder(GregtechMetaTileEntity_Adv_DistillationTower::addLayerOutputHatch); - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape(STRUCTURE_PIECE_BASE, transpose(new String[][] { { "b~b", "bbb", "bbb" }, })) - .addShape(STRUCTURE_PIECE_LAYER, transpose(new String[][] { { "lll", "lcl", "lll" }, })) - .addShape(STRUCTURE_PIECE_LAYER_HINT, transpose(new String[][] { { "lll", "l-l", "lll" }, })) - .addShape(STRUCTURE_PIECE_TOP_HINT, transpose(new String[][] { { "ttt", "ttt", "ttt" }, })) - .addElement( - 'b', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_Adv_DistillationTower.class) - .atLeast(Energy, OutputBus, InputHatch, InputBus, Maintenance) - .disallowOnly(ForgeDirection.UP) - .casingIndex(getCasingTextureId()) - .dot(1) - .build(), - ofBlock(GregTech_API.sBlockCasings4, 1))) - .addElement( - 'l', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_Adv_DistillationTower.class) - .atLeast(layeredOutputHatch, Energy, Maintenance) - .disallowOnly(ForgeDirection.UP, ForgeDirection.DOWN) - .casingIndex(getCasingTextureId()) - .dot(2) - .build(), - ofHatchAdder( - GregtechMetaTileEntity_Adv_DistillationTower::addMufflerToMachineList, - getCasingTextureId(), - 3), - ofBlock(GregTech_API.sBlockCasings4, 1))) - .addElement( - 'c', - ofChain( - onElementPass( - GregtechMetaTileEntity_Adv_DistillationTower::onTopLayerFound, - ofHatchAdder( - GregtechMetaTileEntity_Adv_DistillationTower::addMufflerToMachineList, - getCasingTextureId(), - 3)), - onElementPass( - GregtechMetaTileEntity_Adv_DistillationTower::onTopLayerFound, - ofHatchAdder( - GregtechMetaTileEntity_Adv_DistillationTower::addOutputToMachineList, - getCasingTextureId(), - 3)), - onElementPass( - GregtechMetaTileEntity_Adv_DistillationTower::onTopLayerFound, - ofHatchAdder( - GregtechMetaTileEntity_Adv_DistillationTower::addMaintenanceToMachineList, - getCasingTextureId(), - 3)), - onElementPass( - GregtechMetaTileEntity_Adv_DistillationTower::onTopLayerFound, - ofBlock(GregTech_API.sBlockCasings4, 1)), - isAir())) - .addElement( - 't', - buildHatchAdder(GregtechMetaTileEntity_Adv_DistillationTower.class) - .atLeast(layeredOutputHatch, Muffler) - .disallowOnly(ForgeDirection.DOWN) - .casingIndex(getCasingTextureId()) - .dot(2) - .buildAndChain(GregTech_API.sBlockCasings4, 1)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - protected int getCurrentLayerOutputHatchCount() { - return mOutputHatchesByLayer.size() < mHeight || mHeight <= 0 ? 0 - : mOutputHatchesByLayer.get(mHeight - 1) - .size(); - } - - protected boolean addLayerOutputHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null || aTileEntity.isDead() - || !(aTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Output tHatch)) return false; - while (mOutputHatchesByLayer.size() < mHeight) mOutputHatchesByLayer.add(new ArrayList<>()); - tHatch.updateTexture(aBaseCasingIndex); - return mOutputHatchesByLayer.get(mHeight - 1) - .add(tHatch) && mOutputHatches.add(tHatch); - } - - protected void onTopLayerFound() { - mTopLayerFound = true; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Advanced Distillation Tower") - .addInfo("Use 85% less energy in distillery mode") - .addInfo("250%/100% faster in DT/distillery mode") - .addInfo("Right click the controller with screwdriver to change mode.") - .addInfo("Max parallel dictated by tower tier and mode") - .addInfo("DTower Mode: T1=4, T2=12") - .addInfo("Distilery Mode: Tower Tier * (4*InputTier)") - .addInfo("Distilery Mode require a full height tower") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .addCasingInfoMin("Clean Stainless Steel Machine Casing", 7, false) - .addInputBus("Bottom Casing", 1) - .addOutputBus("Bottom Casing", 1) - .addInputHatch("Bottom Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addOutputHatch("One per layer except bottom", 2) - .addMufflerHatch("Top Casing", 3) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(STRUCTURE_PIECE_BASE, stackSize, hintsOnly, 1, 0, 0); - int tTotalHeight = Math.min(12, stackSize.stackSize + 2); // min 2 output layer, so at least 1 + 2 height - for (int i = 1; i < tTotalHeight - 1; i++) { - buildPiece(STRUCTURE_PIECE_LAYER_HINT, stackSize, hintsOnly, 1, i, 0); - } - buildPiece(STRUCTURE_PIECE_TOP_HINT, stackSize, hintsOnly, 1, tTotalHeight - 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - mHeight = 0; - int built = survivialBuildPiece(STRUCTURE_PIECE_BASE, stackSize, 1, 0, 0, elementBudget, env, false, true); - if (built >= 0) return built; - int tTotalHeight = Math.min(12, stackSize.stackSize + 2); // min 2 output layer, so at least 1 + 2 height - for (int i = 1; i < tTotalHeight - 1; i++) { - mHeight = i; - built = survivialBuildPiece( - STRUCTURE_PIECE_LAYER_HINT, - stackSize, - 1, - i, - 0, - elementBudget, - env, - false, - true); - if (built >= 0) return built; - } - mHeight = tTotalHeight - 1; - return survivialBuildPiece( - STRUCTURE_PIECE_TOP_HINT, - stackSize, - 1, - tTotalHeight - 1, - 0, - elementBudget, - env, - false, - true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - // reset - mOutputHatchesByLayer.forEach(List::clear); - mHeight = 1; - mTopLayerFound = false; - - // check base - if (!checkPiece(STRUCTURE_PIECE_BASE, 1, 0, 0)) return false; - - // check each layer - while (mHeight < 12) { - if (!checkPiece(STRUCTURE_PIECE_LAYER, 1, mHeight, 0)) { - return false; - } - if (mOutputHatchesByLayer.size() < mHeight || mOutputHatchesByLayer.get(mHeight - 1) - .isEmpty()) - // layer without output hatch - return false; - if (mTopLayerFound || !mMufflerHatches.isEmpty()) { - break; - } - // not top - mHeight++; - } - boolean check = mTopLayerFound && mHeight >= 2 && checkHatch(); - if (check && mHeight < 11) { - // force the mode to DT if not in full height - mMode = Mode.DistillationTower; - mLastRecipe = null; - } - return check; - } - - @Override - public RecipeMap getRecipeMap() { - return mMode.getRecipeMap(); - } - - @Nonnull - @Override - public Collection> getAvailableRecipeMaps() { - return Arrays.asList(RecipeMaps.distilleryRecipes, RecipeMaps.distillationTowerRecipes); - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - // don't rotate a freaking tower, it won't work - return (d, r, f) -> d.offsetY == 0 && r.isNotRotated() && !f.isVerticallyFliped(); - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - if (this.mMode == Mode.Distillery) - return CORE.ConfigSwitches.pollutionPerSecondMultiAdvDistillationTower_ModeDistillery; - return CORE.ConfigSwitches.pollutionPerSecondMultiAdvDistillationTower_ModeDT; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setByte("mMode", (byte) mMode.ordinal()); - aNBT.setBoolean("mUpgraded", mUpgraded); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - mMode = Mode.values()[aNBT.getByte("mMode")]; - mUpgraded = aNBT.getBoolean("mUpgraded"); - super.loadNBTData(aNBT); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (mHeight < 11) { - PlayerUtils.messagePlayer(aPlayer, "Cannot switch mode if not in full height."); - return; - } - mMode = mMode.next(); - PlayerUtils.messagePlayer(aPlayer, "Now running in " + mMode + " Mode."); - mLastRecipe = null; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - @Override - public boolean addOutput(FluidStack aLiquid) { - if (aLiquid == null) return false; - FluidStack copiedFluidStack = aLiquid.copy(); - for (List hatches : mOutputHatchesByLayer) { - if (dumpFluid(hatches, copiedFluidStack, true)) return true; - } - for (List hatches : mOutputHatchesByLayer) { - if (dumpFluid(hatches, copiedFluidStack, false)) return true; - } - return false; - } - - @Override - protected void addFluidOutputs(FluidStack[] mOutputFluids2) { - if (mMode == Mode.DistillationTower) { - // dt mode - for (int i = 0; i < mOutputFluids2.length && i < mOutputHatchesByLayer.size(); i++) { - FluidStack tStack = mOutputFluids2[i].copy(); - if (!dumpFluid(mOutputHatchesByLayer.get(i), tStack, true)) - dumpFluid(mOutputHatchesByLayer.get(i), tStack, false); - } - } else { - // distillery mode - for (FluidStack outputFluidStack : mOutputFluids2) { - addOutput(outputFluidStack); - } - } - } - - @Override - public List getFluidOutputSlots(FluidStack[] toOutput) { - return getFluidOutputSlotsByLayer(toOutput, mOutputHatchesByLayer); - } - - @Override - public String getMachineType() { - return "Distillery, Distillation Tower"; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - protected void setupProcessingLogic(ProcessingLogic logic) { - super.setupProcessingLogic(logic); - logic.setEuModifier(mMode == Mode.Distillery ? 0.15F : 1F); - logic.setSpeedBonus(mMode == Mode.Distillery ? 1F / 2F : 1F / 3.5F); - } - - @Override - public int getMaxParallelRecipes() { - return switch (mMode) { - case DistillationTower -> getTierOfTower() == 1 ? 4 : getTierOfTower() == 2 ? 12 : 0; - case Distillery -> getTierOfTower() * (4 * GT_Utility.getTier(this.getMaxInputVoltage())); - default -> 0; - }; - } - - private int getTierOfTower() { - return mUpgraded ? 2 : 1; - } - - @Override - protected IIconContainer getActiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER; - } - - @Override - protected int getCasingTextureId() { - return 49; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (aTick % 20 == 0 && !mUpgraded) { - ItemStack aGuiStack = this.getControllerSlot(); - if (aGuiStack != null) { - if (GT_Utility.areStacksEqual(aGuiStack, GregtechItemList.Distillus_Upgrade_Chip.get(1))) { - this.mUpgraded = true; - mInventory[1] = ItemUtils.depleteStack(aGuiStack); - } - } - } - } - - @Override - public boolean canDumpFluidToME() { - // All fluids can be dumped to ME only if each layer contains a ME Output Hatch. - return this.mOutputHatchesByLayer.stream() - .allMatch( - tLayerOutputHatches -> tLayerOutputHatches.stream() - .anyMatch(tHatch -> tHatch instanceof GT_MetaTileEntity_Hatch_Output_ME)); - } - - @Override - public void setItemNBT(NBTTagCompound aNBT) { - aNBT.setBoolean("mUpgraded", mUpgraded); - super.setItemNBT(aNBT); - } - - @Override - public void addAdditionalTooltipInformation(ItemStack stack, List tooltip) { - super.addAdditionalTooltipInformation(stack, tooltip); - NBTTagCompound aNBT = stack.getTagCompound(); - if (aNBT != null && aNBT.hasKey("mUpgraded")) { - tooltip.add(StatCollector.translateToLocal("tooltip.large_distill_tower.upgraded")); - } - } - - private enum Mode { - - DistillationTower(RecipeMaps.distillationTowerRecipes), - Distillery(RecipeMaps.distilleryRecipes),; - - static final Mode[] VALUES = values(); - private final RecipeMap recipeMap; - - Mode(RecipeMap recipeMap) { - this.recipeMap = recipeMap; - } - - public RecipeMap getRecipeMap() { - return recipeMap; - } - - public Mode next() { - return VALUES[(ordinal() + 1) % VALUES.length]; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java deleted file mode 100644 index 89c219c14e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java +++ /dev/null @@ -1,333 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofCoil; -import static gregtech.api.util.GT_Utility.filterValidMTEs; - -import java.util.ArrayList; -import java.util.Objects; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.ForgeDirection; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.HeatingCoilLevel; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_OverclockCalculator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.shutdown.ShutDownReasonRegistry; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GT_MetaTileEntity_Hatch_CustomFluidBase; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - public static int CASING_TEXTURE_ID; - public static String mHotFuelName = "Blazing Pyrotheum"; - public static String mCasingName = "Volcanus Casing"; - public static String mHatchName = "Pyrotheum Hatch"; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - private int mCasing; - private final ArrayList mPyrotheumHatches = new ArrayList<>(); - - private HeatingCoilLevel mHeatingCapacity = HeatingCoilLevel.None; - - public GregtechMetaTileEntity_Adv_EBF(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 11); - } - - public GregtechMetaTileEntity_Adv_EBF(String aName) { - super(aName); - CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 11); - } - - @Override - public String getMachineType() { - return "Blast Furnace"; - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_Adv_EBF(this.mName); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Factory Grade Advanced Blast Furnace") - .addInfo("Speed: +120% | EU Usage: 90% | Parallel: 8") - .addInfo("Consumes 10L of " + mHotFuelName + " per second during operation") - .addInfo("Constructed exactly the same as a normal EBF") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .addController("Bottom center") - .addCasingInfoMin(mCasingName, 8, false) - .addInputHatch("Any Casing", 1) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addOtherStructurePart(mHatchName, "Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public String[] getExtraInfoData() { - return new String[] { StatCollector.translateToLocal("GT5U.EBF.heat") + ": " - + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(mHeatingCapacity.getHeat()) - + EnumChatFormatting.RESET - + " K" }; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "HHH", "H-H", "HHH" }, { "HHH", "H-H", "HHH" }, - { "C~C", "CCC", "CCC" }, })) - .addElement( - 'C', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_Adv_EBF.class) - .adder(GregtechMetaTileEntity_Adv_EBF::addPyrotheumHatch) - .hatchId(968) - .shouldReject(x -> !x.mPyrotheumHatches.isEmpty()) - .casingIndex(CASING_TEXTURE_ID) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_Adv_EBF.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(CASING_TEXTURE_ID) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings3Misc, 11)))) - .addElement( - 'H', - ofCoil(GregtechMetaTileEntity_Adv_EBF::setCoilLevel, GregtechMetaTileEntity_Adv_EBF::getCoilLevel)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 3, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 3, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mPyrotheumHatches.clear(); - setCoilLevel(HeatingCoilLevel.None); - return checkPiece(mName, 1, 3, 0) && mCasing >= 8 && getCoilLevel() != HeatingCoilLevel.None && checkHatch(); - } - - @Override - public boolean checkHatch() { - return super.checkHatch() && !mPyrotheumHatches.isEmpty(); - } - - private boolean addPyrotheumHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_CustomFluidBase - && aMetaTileEntity.getBaseMetaTileEntity() - .getMetaTileID() == 968) { - return addToMachineListInternal(mPyrotheumHatches, aTileEntity, aBaseCasingIndex); - } - } - return false; - } - - @Override - public void updateSlots() { - for (GT_MetaTileEntity_Hatch_CustomFluidBase tHatch : filterValidMTEs(mPyrotheumHatches)) tHatch.updateSlots(); - super.updateSlots(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return CASING_TEXTURE_ID; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.blastFurnaceRecipes; - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - return recipe.mSpecialValue <= getCoilLevel().getHeat() ? CheckRecipeResultRegistry.SUCCESSFUL - : CheckRecipeResultRegistry.insufficientHeat(recipe.mSpecialValue); - } - - @NotNull - @Override - protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { - return super.createOverclockCalculator(recipe).setHeatOC(true) - .setHeatDiscount(true) - .setRecipeHeat(recipe.mSpecialValue) - .setMachineHeat((int) getCoilLevel().getHeat()); - } - }.setSpeedBonus(1F / 2.2F) - .setEuModifier(0.9F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiAdvEBF; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - private int mGraceTimer = 2; - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - // Try dry Pyrotheum after all other logic - if (this.mStartUpCheck < 0) { - if (this.mMaxProgresstime > 0 && this.mProgresstime != 0 || this.getBaseMetaTileEntity() - .hasWorkJustBeenEnabled()) { - if (aTick % 10 == 0 || this.getBaseMetaTileEntity() - .hasWorkJustBeenEnabled()) { - if (!this.depleteInputFromRestrictedHatches(this.mPyrotheumHatches, 5)) { - if (mGraceTimer-- == 0) { - this.causeMaintenanceIssue(); - this.stopMachine( - ShutDownReasonRegistry - .outOfFluid(Objects.requireNonNull(FluidUtils.getFluidStack("pyrotheum", 10)))); - mGraceTimer = 2; - } - } - } - } - } - } - - @Override - public int getMaxParallelRecipes() { - return 8; - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - inputSeparation = !inputSeparation; - aPlayer.addChatMessage( - new ChatComponentTranslation( - inputSeparation ? "interaction.separateBusses.enabled" : "interaction.separateBusses.disabled")); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - if (!aNBT.hasKey(INPUT_SEPARATION_NBT_KEY)) { - inputSeparation = aNBT.getBoolean("isBussesSeparate"); - } - } - - public HeatingCoilLevel getCoilLevel() { - return mHeatingCapacity; - } - - public void setCoilLevel(HeatingCoilLevel aCoilLevel) { - mHeatingCapacity = aCoilLevel; - } - - @Override - public boolean supportsInputSeparation() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java deleted file mode 100644 index 0981a34b85..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java +++ /dev/null @@ -1,200 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced; - -import java.lang.reflect.Method; - -import net.minecraft.block.Block; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.Dyes; -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.objects.overclockdescriber.OverclockDescriber; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.AdvancedFusionOverclockDescriber; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionComputer; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_Adv_Fusion_MK4 extends GT_MetaTileEntity_FusionComputer { - - public static final Method mUpdateHatchTexture; - - static { - mUpdateHatchTexture = ReflectionUtils.getMethod(GT_MetaTileEntity_Hatch.class, "updateTexture", int.class); - } - - public GregtechMetaTileEntity_Adv_Fusion_MK4(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_Adv_Fusion_MK4(String aName) { - super(aName); - } - - @Override - protected OverclockDescriber createOverclockDescriber() { - return new AdvancedFusionOverclockDescriber((byte) tier(), capableStartupCanonical()); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType("Fusion Reactor") - .addInfo("HARNESSING THE POWER OF A BLUE GIANT") - .addInfo("Controller block for the Fusion Reactor Mk IV") - .addInfo("131072EU/t and 320M EU capacity per Energy Hatch") - .addInfo("If the recipe has a startup cost greater than the") - .addInfo("number of energy hatches * cap, you can't do it") - .addInfo("Performs 4/4 overclocks") - .addSeparator() - .beginStructureBlock(15, 3, 15, false) - .addController("See diagram when placed") - .addCasingInfoMin("Fusion Machine Casings MK III", 79, false) - .addStructureInfo("Cover the coils with casing") - .addOtherStructurePart("Advanced Fusion Coils", "Center part of the ring") - .addEnergyHatch("1-16, Specified casings", 2) - .addInputHatch("2-16, Specified casings", 1) - .addOutputHatch("1-16, Specified casings", 3) - .addStructureInfo("ALL Hatches must be UHV or better") - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public int tier() { - return 9; - } - - @Override - public long maxEUStore() { - return (640010000L * 4) * (Math.min(16, this.mEnergyHatches.size())) / 8L; - } - - @Override - public long capableStartupCanonical() { - return 5_120_000_000L; - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_Adv_Fusion_MK4(mName); - } - - @Override - public Block getCasing() { - return getFusionCoil(); - } - - @Override - public int getCasingMeta() { - return 12; - } - - @Override - public Block getFusionCoil() { - return ModBlocks.blockCasings3Misc; - } - - @Override - public int getFusionCoilMeta() { - return 13; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return super.createProcessingLogic().setOverclock(2, 2); - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - if (side == facing) { - return new ITexture[] { - new GT_RenderedTexture( - Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS, - Dyes.getModulation(-1, Dyes._NULL.mRGBa)), - TextureFactory.builder() - .addIcon(this.getIconOverlay()) - .extFacing() - .build() }; - } else if (!aActive) { - return new ITexture[] { new GT_RenderedTexture( - Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS, - Dyes.getModulation(-1, Dyes._NULL.mRGBa)) }; - } else { - return new ITexture[] { new GT_RenderedTexture( - TexturesGtBlock.TEXTURE_CASING_FUSION_CASING_ULTRA, - Dyes.getModulation(-1, Dyes._NULL.mRGBa)) }; - } - } - - @Override - public ITexture getTextureOverlay() { - return new GT_RenderedTexture( - this.getBaseMetaTileEntity() - .isActive() ? TexturesGtBlock.Casing_Machine_Screen_3 : TexturesGtBlock.Casing_Machine_Screen_1); - } - - public IIconContainer getIconOverlay() { - return this.getBaseMetaTileEntity() - .isActive() ? TexturesGtBlock.Casing_Machine_Screen_3 : TexturesGtBlock.Casing_Machine_Screen_1; - } - - @Override - public boolean turnCasingActive(final boolean status) { - try { - if (this.mEnergyHatches != null) { - for (final GT_MetaTileEntity_Hatch_Energy hatch : this.mEnergyHatches) { - mUpdateHatchTexture.invoke(hatch, (status ? TAE.getIndexFromPage(2, 14) : 53)); - } - } - if (this.mOutputHatches != null) { - for (final GT_MetaTileEntity_Hatch_Output hatch2 : this.mOutputHatches) { - mUpdateHatchTexture.invoke(hatch2, (status ? TAE.getIndexFromPage(2, 14) : 53)); - } - } - if (this.mInputHatches != null) { - for (final GT_MetaTileEntity_Hatch_Input hatch3 : this.mInputHatches) { - mUpdateHatchTexture.invoke(hatch3, (status ? TAE.getIndexFromPage(2, 14) : 53)); - } - } - } catch (Throwable t) { - return false; - } - return true; - } - - @Override - public String[] getInfoData() { - String tier = "IV"; - float plasmaOut = 0; - int powerRequired = 0; - if (this.mLastRecipe != null) { - powerRequired = this.mLastRecipe.mEUt; - if (this.mLastRecipe.getFluidOutput(0) != null) { - plasmaOut = (float) this.mLastRecipe.getFluidOutput(0).amount / (float) this.mLastRecipe.mDuration; - } - } - - return new String[] { "Fusion Reactor MK " + tier, "EU Required: " + powerRequired + "EU/t", - "Stored EU: " + mEUStore + " / " + maxEUStore(), "Plasma Output: " + plasmaOut + "L/t" }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK5.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK5.java deleted file mode 100644 index b2c2e5eb27..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK5.java +++ /dev/null @@ -1,200 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced; - -import java.lang.reflect.Method; - -import net.minecraft.block.Block; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.Dyes; -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.objects.overclockdescriber.OverclockDescriber; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.AdvancedFusionOverclockDescriber; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionComputer; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_Adv_Fusion_MK5 extends GT_MetaTileEntity_FusionComputer { - - public static final Method mUpdateHatchTexture; - - static { - mUpdateHatchTexture = ReflectionUtils.getMethod(GT_MetaTileEntity_Hatch.class, "updateTexture", int.class); - } - - public GregtechMetaTileEntity_Adv_Fusion_MK5(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_Adv_Fusion_MK5(String aName) { - super(aName); - } - - @Override - protected OverclockDescriber createOverclockDescriber() { - return new AdvancedFusionOverclockDescriber((byte) tier(), capableStartupCanonical()); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType("Fusion Reactor") - .addInfo("HARNESSING THE POWER OF A NEUTRON STAR") - .addInfo("Controller block for the Fusion Reactor Mk V") - .addInfo("524,288EU/t and 1.28B EU capacity per Energy Hatch") - .addInfo("If the recipe has a startup cost greater than the") - .addInfo("number of energy hatches * cap, you can't do it") - .addInfo("Performs 4/4 overclocks") - .addSeparator() - .beginStructureBlock(15, 3, 15, false) - .addController("See diagram when placed") - .addCasingInfoMin("Fusion Machine Casings MK IV", 79, false) - .addStructureInfo("Cover the coils with casing") - .addOtherStructurePart("Advanced Fusion Coils II", "Center part of the ring") - .addEnergyHatch("1-16, Specified casings", 2) - .addInputHatch("2-16, Specified casings", 1) - .addOutputHatch("1-16, Specified casings", 3) - .addStructureInfo("ALL Hatches must be UEV or better") - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public int tier() { - return 10; - } - - @Override - public long maxEUStore() { - return (640010000L * 16) * (Math.min(16, this.mEnergyHatches.size())) / 8L; - } - - @Override - public long capableStartupCanonical() { - return 20_480_000_000L; - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_Adv_Fusion_MK5(mName); - } - - @Override - public Block getCasing() { - return getFusionCoil(); - } - - @Override - public int getCasingMeta() { - return 0; - } - - @Override - public Block getFusionCoil() { - return ModBlocks.blockCasings6Misc; - } - - @Override - public int getFusionCoilMeta() { - return 1; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return super.createProcessingLogic().setOverclock(2, 2); - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - if (side == facing) { - return new ITexture[] { - new GT_RenderedTexture( - Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS, - Dyes.getModulation(-1, Dyes._NULL.mRGBa)), - TextureFactory.builder() - .addIcon(this.getIconOverlay()) - .extFacing() - .build() }; - } else if (!aActive) { - return new ITexture[] { new GT_RenderedTexture( - Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS, - Dyes.getModulation(-1, Dyes._NULL.mRGBa)) }; - } else { - return new ITexture[] { new GT_RenderedTexture( - TexturesGtBlock.TEXTURE_CASING_FUSION_CASING_HYPER, - Dyes.getModulation(-1, Dyes._NULL.mRGBa)) }; - } - } - - @Override - public ITexture getTextureOverlay() { - return new GT_RenderedTexture( - this.getBaseMetaTileEntity() - .isActive() ? TexturesGtBlock.Casing_Machine_Screen_Rainbow : TexturesGtBlock.Casing_Machine_Screen_1); - } - - public IIconContainer getIconOverlay() { - return this.getBaseMetaTileEntity() - .isActive() ? TexturesGtBlock.Casing_Machine_Screen_Rainbow : TexturesGtBlock.Casing_Machine_Screen_1; - } - - @Override - public boolean turnCasingActive(final boolean status) { - try { - if (this.mEnergyHatches != null) { - for (final GT_MetaTileEntity_Hatch_Energy hatch : this.mEnergyHatches) { - mUpdateHatchTexture.invoke(hatch, (status ? TAE.getIndexFromPage(3, 6) : 53)); - } - } - if (this.mOutputHatches != null) { - for (final GT_MetaTileEntity_Hatch_Output hatch2 : this.mOutputHatches) { - mUpdateHatchTexture.invoke(hatch2, (status ? TAE.getIndexFromPage(3, 6) : 53)); - } - } - if (this.mInputHatches != null) { - for (final GT_MetaTileEntity_Hatch_Input hatch3 : this.mInputHatches) { - mUpdateHatchTexture.invoke(hatch3, (status ? TAE.getIndexFromPage(3, 6) : 53)); - } - } - } catch (Throwable t) { - return false; - } - return true; - } - - @Override - public String[] getInfoData() { - String tier = "V"; - float plasmaOut = 0; - int powerRequired = 0; - if (this.mLastRecipe != null) { - powerRequired = this.mLastRecipe.mEUt; - if (this.mLastRecipe.getFluidOutput(0) != null) { - plasmaOut = (float) this.mLastRecipe.getFluidOutput(0).amount / (float) this.mLastRecipe.mDuration; - } - } - - return new String[] { "Fusion Reactor MK " + tier, "EU Required: " + powerRequired + "EU/t", - "Stored EU: " + mEUStore + " / " + maxEUStore(), "Plasma Output: " + plasmaOut + "L/t" }; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_HeatExchanger.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_HeatExchanger.java deleted file mode 100644 index e4340c4d28..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_HeatExchanger.java +++ /dev/null @@ -1,414 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -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_Input; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.util.GT_Log; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; -import gtPlusPlus.core.block.base.BlockBaseModular; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_Adv_HeatExchanger - extends GregtechMeta_MultiBlockBase { - - private static final int CASING_INDEX = TAE.getIndexFromPage(1, 12); - private static final String STRUCTURE_PIECE_MAIN = "main"; - - private static final IStructureDefinition STRUCTURE_DEFINITION = StructureDefinition - .builder() - .addShape( - STRUCTURE_PIECE_MAIN, - transpose( - new String[][] { { " ccc ", "cCCCc", "cCCCc", "cCCCc", " ccc " }, - { " ccc ", "cPPPc", "cPPPc", "cPPPc", " ccc " }, { " ccc ", "cPPPc", "cPPPc", "cPPPc", " ccc " }, - { " ccc ", "cPPPc", "cPPPc", "cPPPc", " ccc " }, { " ccc ", "cPPPc", "cPPPc", "cPPPc", " ccc " }, - { " c~c ", "cPPPc", "cPPPc", "cPPPc", " ccc " }, { " hhh ", "hHHHh", "hHHHh", "hHHHh", " hhh " }, - { " f f ", "f f", " ", "f f", " f f " }, - { " f f ", "f f", " ", "f f", " f f " }, })) - .addElement('P', ofBlock(GregTech_API.sBlockCasings2, 15)) - .addElement('f', ofBlock(getFrame(), 0)) - .addElement( - 'C', - ofChain( - ofHatchAdder( - GregtechMetaTileEntity_Adv_HeatExchanger::addColdFluidOutputToMachineList, - CASING_INDEX, - 2), - onElementPass( - GregtechMetaTileEntity_Adv_HeatExchanger::onCasingAdded, - ofBlock(ModBlocks.blockSpecialMultiCasings, 14)))) - .addElement( - 'H', - ofChain( - ofHatchAdder(GregtechMetaTileEntity_Adv_HeatExchanger::addHotFluidInputToMachineList, CASING_INDEX, 3), - onElementPass( - GregtechMetaTileEntity_Adv_HeatExchanger::onCasingAdded, - ofBlock(ModBlocks.blockSpecialMultiCasings, 14)))) - .addElement( - 'h', - ofChain( - ofHatchAdder(GregtechMetaTileEntity_Adv_HeatExchanger::addInputToMachineList, CASING_INDEX, 1), - ofHatchAdder(GregtechMetaTileEntity_Adv_HeatExchanger::addOutputToMachineList, CASING_INDEX, 1), - ofHatchAdder(GregtechMetaTileEntity_Adv_HeatExchanger::addMaintenanceToMachineList, CASING_INDEX, 1), - onElementPass( - GregtechMetaTileEntity_Adv_HeatExchanger::onCasingAdded, - ofBlock(ModBlocks.blockSpecialMultiCasings, 14)))) - .addElement( - 'c', - ofChain( - onElementPass( - GregtechMetaTileEntity_Adv_HeatExchanger::onCasingAdded, - ofBlock(ModBlocks.blockSpecialMultiCasings, 14)))) - .build(); - public static float penalty_per_config = 0.015f; // penalize 1.5% efficiency per circuitry level (1-25) - - private GT_MetaTileEntity_Hatch_Input mInputHotFluidHatch; - private GT_MetaTileEntity_Hatch_Output mOutputColdFluidHatch; - private boolean superheated = false; - private int superheated_threshold = 0; - private float water; - private int mCasingAmount; - - public GregtechMetaTileEntity_Adv_HeatExchanger(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_Adv_HeatExchanger(String aName) { - super(aName); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the XL Heat Exchanger") - .addInfo("More complicated than a Fusion Reactor. Seriously") - .addInfo("But you know this by now, right?") - .addInfo("Works as fast as 32 Large Heat Exchangers") - .addSeparator() - .addInfo("Inputs are Hot Coolant or Lava") - .addInfo("Outputs Coolant or Pahoehoe Lava and SH Steam/Steam") - .addInfo("Outputs SH Steam if input flow is equal to or above a certain value:") - .addInfo("Hot Coolant: 25,600 L/s, maximum 51,200 L/s, max output 10,240,000 SH Steam/s") - .addInfo("Lava: 32,000 L/s, maximum 64,000 L/s, max output 5,120,000 SH Steam/s") - .addInfo("A circuit in the controller lowers the SH Steam threshold and efficiency") - .addInfo("3.75% reduction and 1.5% efficiency loss per circuit config over 1") - .addSeparator() - .beginStructureBlock(5, 9, 5, false) - .addController("Front bottom") - .addCasingInfoMin("Reinforced Heat Exchanger Casing", 90, false) - .addOtherStructurePart("Tungstensteel Pipe Casing", "Center 3x5x3 (45 blocks)") - .addMaintenanceHatch("Any casing", 1) - .addInputHatch("Hot fluid, bottom center", 2) - .addInputHatch("Distilled water, any bottom layer casing", 1) - .addOutputHatch("Cold fluid, top center", 3) - .addOutputHatch("Steam/SH Steam, any bottom layer casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - superheated = aNBT.getBoolean("superheated"); - super.loadNBTData(aNBT); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setBoolean("superheated", superheated); - super.saveNBTData(aNBT); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return CASING_INDEX; - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - return (d, r, f) -> !r.isUpsideDown() && !f.isVerticallyFliped(); - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - if (mInputHotFluidHatch.getFluid() == null) return CheckRecipeResultRegistry.SUCCESSFUL; - - int fluidAmountToConsume = mInputHotFluidHatch.getFluidAmount(); // how much fluid is in hatch - - // The XL LHE works as fast as 32 regular LHEs. These are the comments from the original LHE, - // with changes where the values needed to change for the 32x speed multiplier - superheated_threshold = 128000; // default: must have 4000L -> 128000L per second to generate superheated steam - float efficiency = 1f; // default: operate at 100% efficiency with no integrated circuitry - int shs_reduction_per_config = 4800; // reduce threshold 150L -> 4800L per second per circuitry level (1-25) - float steam_output_multiplier = 20f; // default: multiply output by 4 * 10 (boosted x5) - float penalty = 0.0f; // penalty to apply to output based on circuitry level (1-25). - boolean do_lava = false; - - // Do we have an integrated circuit with a valid configuration? - if (mInventory[1] != null && mInventory[1].getUnlocalizedName() - .startsWith("gt.integrated_circuit")) { - int circuit_config = mInventory[1].getItemDamage(); - if (circuit_config >= 1 && circuit_config <= 25) { - // If so, apply the penalty and reduced threshold. - penalty = (circuit_config - 1) * penalty_per_config; - superheated_threshold -= (shs_reduction_per_config * (circuit_config - 1)); - } - } - efficiency -= penalty; - - // If we're working with lava, adjust the threshold and multipliers accordingly. - if (GT_ModHandler.isLava(mInputHotFluidHatch.getFluid())) { - steam_output_multiplier /= 5f; // lava is not boosted - superheated_threshold /= 4f; // unchanged - do_lava = true; - } else if (mInputHotFluidHatch.getFluid() - .isFluidEqual(FluidRegistry.getFluidStack("ic2hotcoolant", 1))) { - steam_output_multiplier /= 2f; // was boosted x2 on top of x5 -> total x10 -> nerf with this code back - // to 5x - superheated_threshold /= 5f; // 10x smaller since the Hot Things production in reactor is the same. - } else { - // If we're working with neither, fail out - superheated_threshold = 0; - return CheckRecipeResultRegistry.NO_RECIPE; - } - - superheated = fluidAmountToConsume >= superheated_threshold; // set the internal superheated flag if we have - // enough hot fluid. Used in the - // onRunningTick method. - fluidAmountToConsume = Math.min(fluidAmountToConsume, superheated_threshold * 2); // Don't consume too much hot - // fluid per second, maximum - // is 2x SH threshold. - mInputHotFluidHatch.drain(fluidAmountToConsume, true); - this.mMaxProgresstime = 20; - this.lEUt = (long) (fluidAmountToConsume * steam_output_multiplier * efficiency); - if (do_lava) { - mOutputColdFluidHatch.fill(FluidRegistry.getFluidStack("ic2pahoehoelava", fluidAmountToConsume), true); - } else { - mOutputColdFluidHatch.fill(FluidRegistry.getFluidStack("ic2coolant", fluidAmountToConsume), true); - } - this.mEfficiencyIncrease = 80; - return CheckRecipeResultRegistry.SUCCESSFUL; - } - - private int useWater(float input) { - water = water + input; - int usage = (int) water; - water = water - usage; - return usage; - } - - @Override - public boolean onRunningTick(ItemStack aStack) { - if (this.lEUt > 0) { - int tGeneratedEU = (int) (this.lEUt * 2L * this.mEfficiency / 10000L); // APPROXIMATELY how much steam to - // generate. - if (tGeneratedEU > 0) { - - if (superheated) tGeneratedEU /= 2; // We produce half as much superheated steam if necessary - - int distilledConsumed = useWater(tGeneratedEU / 160f); // how much distilled water to consume - // tGeneratedEU = distilledConsumed * 160; // EXACTLY how much steam to generate, producing a perfect - // 1:160 ratio with distilled water consumption - - FluidStack distilledStack = GT_ModHandler.getDistilledWater(distilledConsumed); - if (depleteInput(distilledStack)) // Consume the distilled water - { - if (superheated) { - addOutput(FluidRegistry.getFluidStack("ic2superheatedsteam", tGeneratedEU)); // Generate - // superheated - // steam - } else { - addOutput(GT_ModHandler.getSteam(tGeneratedEU)); // Generate regular steam - } - } else { - GT_Log.exp.println(this.mName + " had no more Distilled water!"); - explodeMultiblock(); // Generate crater - } - } - return true; - } - return true; - } - - @Override - public IStructureDefinition getStructureDefinition() { - return STRUCTURE_DEFINITION; - } - - private void onCasingAdded() { - mCasingAmount++; - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mOutputColdFluidHatch = null; - mInputHotFluidHatch = null; - mCasingAmount = 0; - return checkPiece(STRUCTURE_PIECE_MAIN, 2, 5, 0) && mCasingAmount >= 90 && mMaintenanceHatches.size() == 1; - } - - public boolean addColdFluidOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) return false; - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) return false; - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - mOutputColdFluidHatch = (GT_MetaTileEntity_Hatch_Output) aMetaTileEntity; - return true; - } - return false; - } - - public boolean addHotFluidInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) return false; - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) return false; - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap(); - mInputHotFluidHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity; - return true; - } - return false; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_Adv_HeatExchanger(this.mName); - } - - @Override - public boolean isGivingInformation() { - return super.isGivingInformation(); - } - - @Override - public String[] getExtraInfoData() { - return new String[] { - StatCollector.translateToLocal("GT5U.multiblock.Progress") + ": " - + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(mProgresstime / 20) - + EnumChatFormatting.RESET - + " s / " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(mMaxProgresstime / 20) - + EnumChatFormatting.RESET - + " s", - StatCollector.translateToLocal("GT5U.multiblock.usage") + " " - + StatCollector.translateToLocal("GT5U.LHE.steam") - + ": " - + (superheated ? EnumChatFormatting.RED : EnumChatFormatting.YELLOW) - + GT_Utility.formatNumbers(superheated ? -2 * lEUt : -lEUt) - + EnumChatFormatting.RESET - + " EU/t", - StatCollector.translateToLocal("GT5U.multiblock.problems") + ": " - + EnumChatFormatting.RED - + (getIdealStatus() - getRepairStatus()) - + EnumChatFormatting.RESET - + " " - + StatCollector.translateToLocal("GT5U.multiblock.efficiency") - + ": " - + EnumChatFormatting.YELLOW - + mEfficiency / 100.0F - + EnumChatFormatting.RESET - + " %", - StatCollector.translateToLocal("GT5U.LHE.superheated") + ": " - + (superheated ? EnumChatFormatting.RED : EnumChatFormatting.BLUE) - + superheated - + EnumChatFormatting.RESET, - StatCollector.translateToLocal("GT5U.LHE.superheated") + " " - + StatCollector.translateToLocal("GT5U.LHE.threshold") - + ": " - + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(superheated_threshold) - + EnumChatFormatting.RESET }; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(STRUCTURE_PIECE_MAIN, stackSize, hintsOnly, 2, 5, 0); - } - - @Override - public String getMachineType() { - return "Heat Exchanger"; - } - - @Override - public int getMaxParallelRecipes() { - return 0; - } - - private static Block sFrame; - - public static Block getFrame() { - if (sFrame == null) { - sFrame = BlockBaseModular.getMaterialBlock(ALLOY.TALONITE, BlockTypes.FRAME); - } - return sFrame; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java deleted file mode 100644 index 432ce23e74..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java +++ /dev/null @@ -1,177 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.GregTech_API.sBlockCasings4; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_Adv_Implosion - extends GregtechMeta_MultiBlockBase { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_Adv_Implosion(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_Adv_Implosion(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_Adv_Implosion(this.mName); - } - - @Override - public String getMachineType() { - return "Implosion Compressor"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Factory Grade Advanced Implosion Compressor") - .addInfo("Speed: +100% | EU Usage: 100% | Parallel: ((Tier/2)+1)") - .addInfo("Constructed exactly the same as a normal Implosion Compressor") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front center") - .addCasingInfoMin("Robust TungstenSteel Casing", 10, false) - .addInputBus("Any casing", 1) - .addOutputBus("Any casing", 1) - .addEnergyHatch("Any casing", 1) - .addMaintenanceHatch("Any casing", 1) - .addMufflerHatch("Any casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_Adv_Implosion.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(48) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(sBlockCasings4, 0)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 10 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return 48; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.implosionRecipes; - } - - @Override - public int getRecipeCatalystPriority() { - return -1; - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 2F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.RANDOM_EXPLODE; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiAdvImplosion; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - @Override - public int getMaxParallelRecipes() { - return (GT_Utility.getTier(this.getMaxInputVoltage()) / 2 + 1); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java deleted file mode 100644 index 0845c7f061..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java +++ /dev/null @@ -1,156 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.steam; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.GregTech_API.sBlockCasings1; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import javax.annotation.Nonnull; - -import net.minecraft.item.ItemStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_OverclockCalculator; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_SteamMultiBase; - -public class GregtechMetaTileEntity_SteamCompressor - extends GregtechMeta_SteamMultiBase implements ISurvivalConstructable { - - private String mCasingName = "Bronze Plated Bricks"; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - private int mCasing; - - public GregtechMetaTileEntity_SteamCompressor(String aName) { - super(aName); - } - - public GregtechMetaTileEntity_SteamCompressor(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity arg0) { - return new GregtechMetaTileEntity_SteamCompressor(this.mName); - } - - @Override - protected GT_RenderedTexture getFrontOverlay() { - return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_COMPRESSOR); - } - - @Override - protected GT_RenderedTexture getFrontOverlayActive() { - return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_COMPRESSOR_ACTIVE); - } - - @Override - public String getMachineType() { - return "Compressor"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Steam Compressor") - .addInfo("33.3% faster than using a single block Steam Compressor.") - .addInfo("Uses only 66.6% of the steam/s compared to a single block Steam Compressor.") - .addInfo("Compresses up to " + getMaxParallelRecipes() + " things at a time") - .addSeparator() - .beginStructureBlock(3, 3, 4, true) - .addController("Front center") - .addCasingInfoMin(mCasingName, 28, false) - .addOtherStructurePart(TT_steaminputbus, "Any casing", 1) - .addOtherStructurePart(TT_steamoutputbus, "Any casing", 1) - .addOtherStructurePart(TT_steamhatch, "Any casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC", "CCC" }, { "C~C", "C-C", "C-C", "CCC" }, - { "CCC", "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - ofChain( - buildSteamInput(GregtechMetaTileEntity_SteamCompressor.class).casingIndex(10) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_SteamCompressor.class) - .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) - .casingIndex(10) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(sBlockCasings1, 10)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - fixAllMaintenanceIssue(); - return checkPiece(mName, 1, 1, 0) && mCasing >= 28; - } - - @Override - public int getMaxParallelRecipes() { - return 8; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.compressorRecipes; - } - - // note that a basic steam machine has .setEUtDiscount(2F).setSpeedBoost(2F). So these are bonuses. - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @Override - @Nonnull - protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { - return GT_OverclockCalculator.ofNoOverclock(recipe) - .setEUtDiscount(1.33F) - .setSpeedBoost(1.5F); - } - }.setMaxParallel(getMaxParallelRecipes()); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java deleted file mode 100644 index dce362fa14..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java +++ /dev/null @@ -1,165 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.steam; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.GregTech_API.sBlockCasings1; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import javax.annotation.Nonnull; - -import net.minecraft.item.ItemStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_OverclockCalculator; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_SteamMultiBase; - -public class GregtechMetaTileEntity_SteamMacerator - extends GregtechMeta_SteamMultiBase implements ISurvivalConstructable { - - private String mCasingName = "Bronze Plated Bricks"; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - private int mCasing; - - public GregtechMetaTileEntity_SteamMacerator(String aName) { - super(aName); - } - - public GregtechMetaTileEntity_SteamMacerator(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity arg0) { - return new GregtechMetaTileEntity_SteamMacerator(this.mName); - } - - @Override - protected GT_RenderedTexture getFrontOverlay() { - return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_MACERATOR); - } - - @Override - protected GT_RenderedTexture getFrontOverlayActive() { - return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_MACERATOR_ACTIVE); - } - - @Override - public String getMachineType() { - return "Macerator"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - if (mCasingName.contains("gt.blockcasings")) { - mCasingName = ItemList.Casing_BronzePlatedBricks.get(1) - .getDisplayName(); - } - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Steam Macerator") - .addInfo("33.3% faster than using a single block Steam Macerator.") - .addInfo("Uses only 66.6% of the steam/s required compared to a single block Steam Macerator.") - .addInfo("Macerates up to " + getMaxParallelRecipes() + " things at a time") - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front center") - .addCasingInfoMin(mCasingName, 14, false) - .addOtherStructurePart(TT_steaminputbus, "Any casing", 1) - .addOtherStructurePart(TT_steamoutputbus, "Any casing", 1) - .addOtherStructurePart(TT_steamhatch, "Any casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - ofChain( - buildSteamInput(GregtechMetaTileEntity_SteamMacerator.class).casingIndex(10) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_SteamMacerator.class) - .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) - .casingIndex(10) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(sBlockCasings1, 10)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - fixAllMaintenanceIssue(); - return checkPiece(mName, 1, 1, 0) && mCasing >= 14; - } - - @Override - public int getMaxParallelRecipes() { - return 8; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.maceratorRecipes; - } - - // note that a basic steam machine has .setEUtDiscount(2F).setSpeedBoost(2F). So these are bonuses. - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @Override - @Nonnull - protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { - return GT_OverclockCalculator.ofNoOverclock(recipe) - .setEUtDiscount(1.33F) - .setSpeedBoost(1.5F); - } - - }.setMaxParallel(getMaxParallelRecipes()); - } - - @Override - public int getItemOutputLimit() { - return 1; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java deleted file mode 100644 index 6cae5e4bcd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java +++ /dev/null @@ -1,196 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; - -public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - protected GT_Recipe lastRecipeToBuffer; - private int casing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GT4Entity_AutoCrafter(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT4Entity_AutoCrafter(String mName) { - super(mName); - } - - @Override - public String getMachineType() { - return "Assembler"; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity tileEntity) { - return new GT4Entity_AutoCrafter(this.mName); - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - @Override - public int getMaxEfficiency(ItemStack itemStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiAutoCrafter; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Highly Advanced Assembling Machine") - .addInfo("200% faster than using single block machines of the same voltage") - .addInfo("Processes two items per voltage tier") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front Center") - .addCasingInfoRange("Bulk Production Frame", 10, 25, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_DISASSEMBLER_ACTIVE; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_DISASSEMBLER; - } - - @Override - protected int getCasingTextureId() { - return TAE.getIndexFromPage(0, 10); - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GT4Entity_AutoCrafter.class) - .atLeast(InputBus, OutputBus, InputHatch, Maintenance, Energy, Muffler) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.casing, ofBlock(ModBlocks.blockCasings2Misc, 12)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack itemStack, boolean hintsOnly) { - buildPiece(mName, itemStack, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack itemStack, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, itemStack, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity baseMetaTileEntity, ItemStack itemStack) { - casing = 0; - return checkPiece(mName, 1, 1, 0) && casing >= 10 && checkHatch(); - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.assemblerRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 3F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - public int getMaxParallelRecipes() { - return 2 * (Math.max(1, GT_Utility.getTier(getMaxInputVoltage()))); - } - - @Override - public String[] getExtraInfoData() { - final String running = (this.mMaxProgresstime > 0 ? "Auto-Crafter running" : "Auto-Crafter stopped"); - final String maintenance = (this.getIdealStatus() == this.getRepairStatus() ? "No Maintenance issues" - : "Needs Maintenance"); - String tSpecialText; - - if (lastRecipeToBuffer != null && lastRecipeToBuffer.mOutputs[0].getDisplayName() != null) { - tSpecialText = "Currently processing: " + lastRecipeToBuffer.mOutputs[0].getDisplayName(); - } else { - tSpecialText = "Currently processing: Nothing"; - } - - return new String[] { "Large Scale Auto-Assembler v1.01c", running, maintenance, tSpecialText }; - } - - @Override - public boolean supportsInputSeparation() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java deleted file mode 100644 index b7a4afb878..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java +++ /dev/null @@ -1,353 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.stream.Stream; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.util.GT_Log; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_ParallelHelper; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT4Entity_ThermalBoiler extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - private static final int lavaFilterResilience = 30; // Damage lava filter with 1/n probability every operation. - private int dryHeatCounter = 0; // Counts up to dryHeatMaximum to check for explosion conditions. - private static final int dryHeatMaximum = 10; // 10 consecutive operations without water = BOOM - - private static final Item itemLavaFilter = ItemList.Component_LavaFilter.getItem(); - private static final Item itemObsidian = Item.getItemFromBlock(Blocks.obsidian); - private static final Fluid fluidWater = FluidRegistry.WATER; - private static final Fluid fluidDistilledWater = FluidUtils.getDistilledWater(1) - .getFluid(); - private static final Fluid fluidSteam = FluidUtils.getSteam(1) - .getFluid(); - private static final Fluid fluidSHSteam = FluidUtils.getSuperHeatedSteam(1) - .getFluid(); - - public GT4Entity_ThermalBoiler(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT4Entity_ThermalBoiler(String mName) { - super(mName); - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT4Entity_ThermalBoiler(this.mName); - } - - @Override - public String getMachineType() { - return "Boiler"; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return (aStack != null && aStack.getItem() == itemLavaFilter) ? 1 : 0; - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.thermalBoilerRecipes; - } - - @Override - protected boolean filtersFluid() { - return false; - } - - @Override - public boolean supportsVoidProtection() { - return true; - } - - @Override - public boolean supportsBatchMode() { - return false; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - // Only test against the first fluid input in the recipe. - // We still want to run if we lack water (and subsequently explode). - @NotNull - @Override - protected Stream findRecipeMatches(@Nullable RecipeMap map) { - if (lastRecipe != null && depleteInput(lastRecipe.mFluidInputs[0], true)) { - return Stream.of(lastRecipe); - } - if (map == null) { - return Stream.empty(); - } - return map.getAllRecipes() - .stream() - .filter(recipe -> depleteInput(recipe.mFluidInputs[0], true)); - } - - @NotNull - @Override - protected GT_ParallelHelper createParallelHelper(@Nonnull GT_Recipe recipe) { - GT_Recipe adjustedRecipe = recipe.copy(); - - // Hack the recipe logic to not consume water, so that we can explode. - for (FluidStack inputFluid : adjustedRecipe.mFluidInputs) { - if (inputFluid != null - && (inputFluid.getFluid() == fluidWater || inputFluid.getFluid() == fluidDistilledWater)) { - inputFluid.amount = 0; - } - } - - // If we don't have a lava filter, remove non-obsidian outputs - // so that output space for them is not required if void protection is on. - if (!findLavaFilter()) { - for (ItemStack outputItem : adjustedRecipe.mOutputs) { - if (outputItem != null && outputItem.getItem() != itemObsidian) { - outputItem.stackSize = 0; - } - } - } - return super.createParallelHelper(adjustedRecipe); - } - }; - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - // super.checkProcessing() instantly sets efficiency to maximum, override this. - int efficiency = mEfficiency; - CheckRecipeResult result = super.checkProcessing(); - if (result.wasSuccessful()) { - mEfficiency = efficiency; - mEfficiencyIncrease = mMaxProgresstime * getEfficiencyIncrease(); - - // Adjust steam output based on efficiency. - if (mOutputFluids != null) { - for (FluidStack outputFluid : mOutputFluids) { - if (outputFluid != null - && (outputFluid.getFluid() == fluidSteam || outputFluid.getFluid() == fluidSHSteam)) { - - // Purely for display reasons, we don't actually make any EU. - if (outputFluid.getFluid() == fluidSteam) { - lEUt = outputFluid.amount / mMaxProgresstime / 2; - } else { - lEUt = outputFluid.amount / mMaxProgresstime; - } - - // Adjust steam output based on efficiency. - // TODO: This is not reflected in the GUI while the player has it open?? - if (mEfficiency < getMaxEfficiency(null)) { - outputFluid.amount = Math - .max(1, (outputFluid.amount * mEfficiency) / getMaxEfficiency(null)); - } - - // Consume water to run recipe. - if (!useWater(outputFluid.amount)) { - outputFluid.amount = 0; - lEUt = 0; - } - } - } - } - - // Remove non-obsidian outputs if we can't damage lava filter. - if (mOutputItems != null && mOutputItems.length > 0) { - if (!damageLavaFilter()) { - for (ItemStack outputItem : mOutputItems) { - if (outputItem != null && outputItem.getItem() != itemObsidian) { - outputItem.stackSize = 0; - } - } - } - } - } - return result; - } - - private boolean findLavaFilter() { - if (getControllerSlot() == null) { - for (var bus : mInputBusses) { - for (ItemStack stack : bus.mInventory) { - if (stack != null && stack.getItem() == itemLavaFilter) { - setGUIItemStack(stack); - return true; - } - } - } - return false; - } else { - return getControllerSlot().getItem() == itemLavaFilter; - } - } - - private boolean damageLavaFilter() { - if (!findLavaFilter()) return false; - if (getBaseMetaTileEntity().getRandomNumber(lavaFilterResilience) > 0) return true; - - ItemStack filter = getControllerSlot(); - if (filter.attemptDamageItem(1, getBaseMetaTileEntity().getWorld().rand)) { - mInventory[1] = null; - } - return true; - } - - private boolean useWater(int steamAmount) { - // Round up to not dupe decimal amounts of water. - int waterAmount = Math.floorDiv(steamAmount + GT_Values.STEAM_PER_WATER - 1, GT_Values.STEAM_PER_WATER); - if (depleteInput(FluidUtils.getWater(waterAmount)) || depleteInput(FluidUtils.getDistilledWater(waterAmount))) { - dryHeatCounter = 0; - return true; - } else { - // Add some leniency with explosions. - if (dryHeatCounter < dryHeatMaximum) { - ++dryHeatCounter; - } else { - GT_Log.exp.println(this.mName + " was too hot and had no more Water!"); - explodeMultiblock(); // Generate crater - } - return false; - } - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - public int getEfficiencyIncrease() { - return 12; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiThermalBoiler; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Thermal Boiler Controller") - .addInfo("Converts Water & Heat into Steam") - .addInfo("Filters raw materials from lava") - .addInfo("Explodes if water is not supplied") - .addInfo("Consult user manual for more information") - .addPollutionAmount(getPollutionPerSecond(null)) - .beginStructureBlock(3, 3, 3, true) - .addController("Front Center") - .addCasingInfoMin("Thermal Containment Casings", 10, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(1); - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GT4Entity_ThermalBoiler.class) - .atLeast(InputBus, OutputBus, InputHatch, OutputHatch, Maintenance, Muffler) - .casingIndex(TAE.getIndexFromPage(0, 1)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 11)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 10 && checkHatch(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java deleted file mode 100644 index d835d9be4c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java +++ /dev/null @@ -1,352 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.lazy; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_Utility.filterValidMTEs; - -import java.util.ArrayList; -import java.util.Collections; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_ElementalDataOrbHolder; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMTE_ElementalDuplicator extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - private final ArrayList mReplicatorDataOrbHatches = new ArrayList<>(); - private static final int CASING_TEXTURE_ID = TAE.getIndexFromPage(0, 3); - private int mCasing = 0; - - public GregtechMTE_ElementalDuplicator(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMTE_ElementalDuplicator(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMTE_ElementalDuplicator(this.mName); - } - - @Override - public String getMachineType() { - return "Replicator"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Produces Elemental Material from UU Matter") - .addInfo("Speed: +100% | EU Usage: 100% | Parallel: 8 * Tier") - .addInfo("Maximum 1x of each bus/hatch.") - .addInfo("Requires circuit 1-16 in your Data Orb Repository") - .addInfo("depending on what Data Orb you want to prioritize") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(9, 6, 9, true) - .addController("Top Center") - .addCasingInfoMin("Elemental Confinement Shell", 138, false) - .addCasingInfoMin("Matter Fabricator Casing", 24, false) - .addCasingInfoMin("Particle Containment Casing", 24, false) - .addCasingInfoMin("Matter Generation Coil", 24, false) - .addCasingInfoMin("High Voltage Current Capacitor", 20, false) - .addCasingInfoMin("Resonance Chamber III", 24, false) - .addCasingInfoMin("Modulator III", 16, false) - .addOtherStructurePart("Data Orb Repository", "1x", 1) - .addInputHatch("Any 1 dot hint", 1) - .addOutputBus("Any 1 dot hint", 1) - .addOutputHatch("Any 1 dot hint", 1) - .addEnergyHatch("Any 1 dot hint", 1) - .addMaintenanceHatch("Any 1 dot hint", 1) - .addMufflerHatch("Any 1 dot hint", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - private static final String STRUCTURE_PIECE_MAIN = "main"; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - - // h = Hatch - // c = Casing - - // a = MF Casing 1 - // b = Matter Gen Coil - - // d = Current Capacitor - // e = Particle - - // f = Resonance III - // g = Modulator III - - .addShape( - STRUCTURE_PIECE_MAIN, - (new String[][] { - { " ccc ", " ccccc ", " ccccccc ", "ccchhhccc", "ccch~hccc", "ccchhhccc", " ccccccc ", - " ccccc ", " ccc " }, - { " cac ", " abfba ", " abfgfba ", "cbfgdgfbc", "afgdddgfa", "cbfgdgfbc", " abfgfba ", - " abfba ", " cac " }, - { " cec ", " e e ", " e e ", "c d c", "e ddd e", "c d c", " e e ", - " e e ", " cec " }, - { " cec ", " e e ", " e e ", "c d c", "e ddd e", "c d c", " e e ", - " e e ", " cec " }, - { " cac ", " abfba ", " abfgfba ", "cbfgdgfbc", "afgdddgfa", "cbfgdgfbc", " abfgfba ", - " abfba ", " cac " }, - { " ccc ", " ccccc ", " ccccccc ", "ccchhhccc", "ccchhhccc", "ccchhhccc", " ccccccc ", - " ccccc ", " ccc " }, })) - .addElement('a', ofBlock(getCasingBlock4(), getCasingMeta6())) - .addElement('b', ofBlock(getCasingBlock4(), getCasingMeta7())) - .addElement('d', ofBlock(getCasingBlock2(), getCasingMeta2())) - .addElement('e', ofBlock(getCasingBlock2(), getCasingMeta3())) - .addElement('f', ofBlock(getCasingBlock3(), getCasingMeta4())) - .addElement('g', ofBlock(getCasingBlock3(), getCasingMeta5())) - .addElement('c', lazy(t -> onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - .addElement( - 'h', - lazy( - t -> ofChain( - buildHatchAdder(GregtechMTE_ElementalDuplicator.class) - .atLeast(InputHatch, OutputBus, OutputHatch, Maintenance, Muffler, Energy) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .build(), - buildHatchAdder(GregtechMTE_ElementalDuplicator.class) - .hatchClass(GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.class) - .shouldReject(x -> x.mReplicatorDataOrbHatches.size() >= 1) - .adder(GregtechMTE_ElementalDuplicator::addDataOrbHatch) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta()))))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(STRUCTURE_PIECE_MAIN, stackSize, hintsOnly, 4, 4, 0); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - boolean aDidBuild = checkPiece(STRUCTURE_PIECE_MAIN, 4, 4, 0); - if (this.mInputHatches.size() != 1 || (this.mOutputBusses.size() != 1 && this.mOutputHatches.size() != 0) - || this.mEnergyHatches.size() != 1 - || this.mReplicatorDataOrbHatches.size() != 1) { - return false; - } - log("Casings: " + mCasing); - return aDidBuild && mCasing >= 138 && checkHatch(); - } - - @Override - public int survivalConstruct(ItemStack itemStack, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(STRUCTURE_PIECE_MAIN, itemStack, 4, 4, 0, elementBudget, env, false, true); - } - - protected static int getCasingTextureIndex() { - return CASING_TEXTURE_ID; - } - - protected static Block getCasingBlock() { - return ModBlocks.blockCasings5Misc; - } - - protected static Block getCasingBlock2() { - return ModBlocks.blockSpecialMultiCasings; - } - - protected static Block getCasingBlock3() { - return ModBlocks.blockSpecialMultiCasings2; - } - - protected static Block getCasingBlock4() { - return ModBlocks.blockCasingsMisc; - } - - protected static int getCasingMeta() { - return 3; - } - - protected static int getCasingMeta2() { - return 12; - } - - protected static int getCasingMeta3() { - return 13; - } - - protected static int getCasingMeta4() { - return 2; - } - - protected static int getCasingMeta5() { - return 6; - } - - protected static int getCasingMeta6() { - return 9; - } - - protected static int getCasingMeta7() { - return 8; - } - - private boolean addDataOrbHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) { - return false; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_ElementalDataOrbHolder) { - try { - return addToMachineListInternal(mReplicatorDataOrbHatches, aMetaTileEntity, aBaseCasingIndex); - } catch (Throwable t) { - t.printStackTrace(); - } - } - } - return false; - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - return (d, r, f) -> d == ForgeDirection.UP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return CASING_TEXTURE_ID; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.replicatorRecipes; - } - - @Override - public boolean isCorrectMachinePart(final ItemStack aStack) { - return true; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().setSpeedBonus(1F / 2F) - .enablePerfectOverclock() - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - protected void setupProcessingLogic(ProcessingLogic logic) { - super.setupProcessingLogic(logic); - for (GT_MetaTileEntity_Hatch_ElementalDataOrbHolder hatch : filterValidMTEs(mReplicatorDataOrbHatches)) { - ItemStack orb = hatch.getOrbByCircuit(); - logic.setSpecialSlotItem(orb); - break; - } - } - - @Override - public int getMaxParallelRecipes() { - return (8 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiMolecularTransformer; - } - - @Override - public int getDamageToComponent(final ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (aBaseMetaTileEntity.isServerSide()) { - if (this.mUpdate == 1 || this.mStartUpCheck == 1) { - this.mReplicatorDataOrbHatches.clear(); - } - } - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - @Override - public ArrayList getStoredInputs() { - ArrayList tItems = super.getStoredInputs(); - for (GT_MetaTileEntity_Hatch_ElementalDataOrbHolder tHatch : filterValidMTEs(mReplicatorDataOrbHatches)) { - tItems.add(tHatch.getOrbByCircuit()); - } - tItems.removeAll(Collections.singleton(null)); - return tItems; - } - - @Override - public boolean doesBindPlayerInventory() { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java deleted file mode 100644 index 8f807b94fd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java +++ /dev/null @@ -1,287 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.List; -import java.util.Objects; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.ForgeDirection; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; - -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import gtPlusPlus.xmod.gregtech.common.helpers.FlotationRecipeHandler; - -public class GregtechMTE_FrothFlotationCell extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMTE_FrothFlotationCell(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMTE_FrothFlotationCell(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMTE_FrothFlotationCell(this.mName); - } - - @Override - public String getMachineType() { - return "Flotation Cell"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Process that milled ore!") - .addInfo("You can only ever process one type of material per controller") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(7, 9, 7, true) - .addController("Front Center") - .addCasingInfoMin("Inconel Reinforced Casing", 68, false) - .addCasingInfoMin("Flotation Casing", 52, false) - .addInputBus("Bottom Casing", 1) - .addInputHatch("Bottom Casing", 1) - .addOutputHatch("Bottom Casing", 1) - .addEnergyHatch("Bottom Casing", 1) - .addMaintenanceHatch("Bottom Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - return TAE.getIndexFromPage(2, 1); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.flotationCellRecipes; - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - new String[][] { { " ", " ", " X ", " X~X ", " X ", " ", " " }, - { " ", " F ", " FFF ", " FF FF ", " FFF ", " F ", " " }, - { " ", " F ", " F F ", " F F ", " F F ", " F ", " " }, - { " ", " F ", " F F ", " F F ", " F F ", " F ", " " }, - { " ", " F ", " F F ", " F F ", " F F ", " F ", " " }, - { " ", " F ", " F F ", " F F ", " F F ", " F ", " " }, - { " ", " F ", " F F ", " F F ", " F F ", " F ", " " }, - { " CCC ", " CCCCC ", "CCCCCCC", "CCCCCCC", "CCCCCCC", " CCCCC ", " CCC " }, - { " CCC ", " CCCCC ", "CCCCCCC", "CCCCCCC", "CCCCCCC", " CCCCC ", " CCC " }, }) - .addElement( - 'C', - buildHatchAdder(GregtechMTE_FrothFlotationCell.class) - .atLeast(InputBus, InputHatch, OutputHatch, Maintenance, Energy) - .casingIndex(getCasingTextureId()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings3Misc, 1)))) - .addElement('F', ofBlock(ModBlocks.blockSpecialMultiCasings, 9)) - .addElement('X', ofBlock(ModBlocks.blockCasings3Misc, 1)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 3, 3, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 3, 3, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 3, 3, 0) && mCasing >= 68 - 4 && checkHatch(); - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - return (d, r, f) -> d == ForgeDirection.UP; - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiFrothFlotationCell; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - /* - * Material checks Makes sure we can only ever use one type of material in this flotation cell. We used - * to depend on Alk's hash, but it's unreliable and user-hostile So we're using unlocalized name of - * material now. - */ - Material foundMaterial = FlotationRecipeHandler - .getMaterialOfMilledProduct(FlotationRecipeHandler.findMilledStack(recipe)); - String foundMaterialName = null; - if (foundMaterial != null) { - foundMaterialName = foundMaterial.getUnlocalizedName(); - } - - if (foundMaterialName == null) { - return CheckRecipeResultRegistry.NO_RECIPE; - } - - // Set material locked for this controller - if (lockedMaterialName == null) { - lockedMaterialName = foundMaterialName; - } - - // Check material match - if (!Objects.equals(lockedMaterialName, foundMaterialName)) { - return SimpleCheckRecipeResult.ofFailure("machine_locked_to_different_recipe"); - } - return CheckRecipeResultRegistry.SUCCESSFUL; - } - }.enablePerfectOverclock(); - } - - /* - * Handle NBT - */ - - private String lockedMaterialName = null; - - @Override - public void setItemNBT(NBTTagCompound aNBT) { - if (lockedMaterialName != null) { - aNBT.setString("lockedMaterialName", lockedMaterialName); - } - super.setItemNBT(aNBT); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - if (lockedMaterialName != null) { - aNBT.setString("lockedMaterialName", lockedMaterialName); - } - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - if (aNBT.hasKey("lockedMaterialName", Constants.NBT.TAG_STRING)) { - lockedMaterialName = aNBT.getString("lockedMaterialName"); - } - } - - @Override - public void addAdditionalTooltipInformation(ItemStack stack, List tooltip) { - if (stack.hasTagCompound() && stack.getTagCompound() - .hasKey("lockedMaterialName")) { - tooltip.add( - StatCollector.translateToLocal("tooltip.flotationCell.lockedTo") + " " - + StatCollector.translateToLocal( - stack.getTagCompound() - .getString("lockedMaterialName"))); - } - } - - @Override - public String[] getExtraInfoData() { - return new String[] { "Locked material: " + lockedMaterialName }; - } - - @Override - public boolean isRecipeLockingEnabled() { - return lockedMaterialName != null && !lockedMaterialName.equals(""); - } - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - super.addUIWidgets(builder, buildContext); - builder.widget(new FakeSyncWidget.StringSyncer(() -> lockedMaterialName, val -> lockedMaterialName = val)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java deleted file mode 100644 index 2faccc9697..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java +++ /dev/null @@ -1,524 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Dynamo; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.filterByMTETier; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -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.logic.ProcessingLogic; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; -import gregtech.api.objects.GT_ItemStack; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_OverclockCalculator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.shutdown.ShutDownReasonRegistry; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.nuclear.NUCLIDE; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; - -public class GregtechMTE_NuclearReactor extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - protected int mFuelRemaining = 0; - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMTE_NuclearReactor(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMTE_NuclearReactor(final String aName) { - super(aName); - } - - @Override - public long maxEUStore() { - return (640000000L * (Math.min(16, this.mEnergyHatches.size()))) / 16L; - } - - @Override - public String getMachineType() { - return "Reactor"; - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Liquid Fluoride Thorium Reactor.") - .addInfo("Produces energy and new elements from Radioactive Beta Decay!") - .addInfo("Input LFTB and a molten salt as fuel, and match the 4 Buffered Dynamo Hatches:") - .addInfo("LFTR Fuel 1 (4 EV Hatches), LFTR Fuel 2 (4 IV Hatches), LFTR Fuel 3 (4 LuV Hatches)") - .addInfo("If using better hatches for a worse fuel, only 1 hatch will output EU") - .addInfo("Outputs U233 every 10 seconds, on average, while the reactor is running") - .addInfo("Check NEI to see the other 3 outputs - they differ between fuels") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(7, 4, 7, true) - .addController("Bottom Center") - .addCasingInfoMin("Hastelloy-N Reactor Casing", 27, false) - .addCasingInfoMin("Zeron-100 Reactor Shielding", 26, false) - .addInputHatch("Top or bottom layer edges", 1) - .addOutputHatch("Top or bottom layer edges", 1) - .addDynamoHatch("Top or bottom layer edges", 1) - .addMaintenanceHatch("Top or bottom layer edges", 1) - .addMufflerHatch("Top 3x3", 2) - .addStructureInfo("All dynamos must be between EV and LuV tier.") - .addStructureInfo("All other hatches must be IV+ tier.") - .addStructureInfo("4x Output Hatches or 1x Output Hatch (ME), 1+ Input Hatches, 4x Dynamo Hatches") - .addStructureInfo("2x Maintenance Hatches, 4x Mufflers") - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public String[] getExtraInfoData() { - final String tRunning = (this.mMaxProgresstime > 0 ? "Reactor running" : "Reactor stopped"); - final String tMaintainance = (this.getIdealStatus() == this.getRepairStatus() ? "No Maintainance issues" - : "Needs Maintainance"); - - return new String[] { "Liquid Fluoride Thorium Reactor", tRunning, tMaintainance, - "Current Output: " + this.lEUt + " EU/t", "Fuel Remaining: " + this.mFuelRemaining + " Litres", - "Current Efficiency: " + (this.mEfficiency / 5) + "%", "Current Efficiency (Raw): " + (this.mEfficiency), - "It requires you to have 100% Efficiency." }; - } - - @Override - public boolean allowCoverOnSide(final ForgeDirection side, final GT_ItemStack aStack) { - return side != this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - boolean aWarmedUp = this.mEfficiency == this.getMaxEfficiency(null); - if (!aBaseMetaTileEntity.isActive() || !aWarmedUp) { - if (side == facing) { - if (aActive) return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(12)), - TextureFactory.builder() - .addIcon(Textures.BlockIcons.OVERLAY_FRONT_REPLICATOR_ACTIVE) - .extFacing() - .build() }; - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(12)), - TextureFactory.builder() - .addIcon(Textures.BlockIcons.OVERLAY_FRONT_REPLICATOR) - .extFacing() - .build() }; - } - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(12)) }; - } else if (aBaseMetaTileEntity.isActive() && aWarmedUp) { - if (side == facing) { - if (aActive) return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(13)), - TextureFactory.builder() - .addIcon(Textures.BlockIcons.OVERLAY_FRONT_REPLICATOR_ACTIVE) - .extFacing() - .build() }; - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(13)), - TextureFactory.builder() - .addIcon(Textures.BlockIcons.OVERLAY_FRONT_REPLICATOR) - .extFacing() - .build() }; - } - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(13)) }; - } - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(12)) }; - } - - public final boolean addNuclearReactorEdgeList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo dynamo - && dynamo.getTierForStructure() >= 4 - && dynamo.getTierForStructure() <= 6) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input hatch - && hatch.getTierForStructure() >= 5) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output hatch - && hatch.getTierForStructure() >= 5) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } - } - return false; - } - - public final boolean addNuclearReactorTopList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler hatch && hatch.getTierForStructure() >= 5) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } - } - return false; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { - { "CCCCCCC", "COOOOOC", "COXXXOC", "COXXXOC", "COXXXOC", "COOOOOC", "CCCCCCC" }, - { "GGGGGGG", "G-----G", "G-----G", "G-----G", "G-----G", "G-----G", "GGGGGGG" }, - { "GGGGGGG", "G-----G", "G-----G", "G-----G", "G-----G", "G-----G", "GGGGGGG" }, - { "CCC~CCC", "COOOOOC", "COOOOOC", "COOOOOC", "COOOOOC", "COOOOOC", "CCCCCCC" }, })) - .addElement( - 'C', - ofChain( - buildHatchAdder(GregtechMTE_NuclearReactor.class).atLeast(Maintenance) - .casingIndex(TAE.GTPP_INDEX(12)) - .dot(1) - .build(), - buildHatchAdder(GregtechMTE_NuclearReactor.class).atLeast(InputHatch, OutputHatch) - .adder(GregtechMTE_NuclearReactor::addNuclearReactorEdgeList) - .hatchItemFilterAnd(t -> filterByMTETier(5, Integer.MAX_VALUE)) - .casingIndex(TAE.GTPP_INDEX(12)) - .dot(1) - .build(), - buildHatchAdder(GregtechMTE_NuclearReactor.class).atLeast(Dynamo) - .adder(GregtechMTE_NuclearReactor::addNuclearReactorEdgeList) - .hatchItemFilterAnd(t -> filterByMTETier(4, 6)) - .casingIndex(TAE.GTPP_INDEX(12)) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 12)))) - .addElement( - 'X', - buildHatchAdder(GregtechMTE_NuclearReactor.class).atLeast(Muffler) - .adder(GregtechMTE_NuclearReactor::addNuclearReactorTopList) - .hatchItemFilterAnd(t -> filterByMTETier(5, Integer.MAX_VALUE)) - .casingIndex(TAE.GTPP_INDEX(12)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 12)))) - .addElement('O', ofBlock(ModBlocks.blockCasingsMisc, 12)) - .addElement('G', ofBlock(ModBlocks.blockCasingsMisc, 13)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 3, 3, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 3, 3, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - if (checkPiece(mName, 3, 3, 0) && mCasing >= 27) { - if ((mOutputHatches.size() >= 3 || canDumpFluidToME()) && mInputHatches.size() >= 1 - && mDynamoHatches.size() == 4 - && mMufflerHatches.size() == 4 - && mMaintenanceHatches.size() == 2) { - fixAllMaintenanceIssue(); - this.turnCasingActive(false); - return true; - } - } - return false; - } - - // Alk's Life Lessons from Greg. - /* - * [23:41:15] xdir and zdir are x2 and not x3 [23:41:26] thats you - * issue [23:44:33] mmm? [23:44:49] Should they be x3? [23:44:50] you - * just do a x2, what is for a 5x5 multiblock [23:45:01] x3 is for a 7x7 one [23:45:06] - * I have no idea what that value does, tbh.. [23:45:15] its the offset [23:45:23] - * Debugging checkMachine has been a pain and I usually trash designs that don't work straight up.. - * [23:45:28] it determines the horizontal middle of the multiblock [23:45:47] - * which is in your case THREE blocks away from the controller [23:45:51] Ahh - * [23:45:57] and not 2 [23:46:06] Noted, thanks :D - */ - - @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 boolean explodesOnComponentBreak(final ItemStack aStack) { - return true; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMTE_NuclearReactor(this.mName); - } - - public boolean turnCasingActive(final boolean status) { - // TODO - if (this.mDynamoHatches != null) { - for (final GT_MetaTileEntity_Hatch_Dynamo hatch : this.mDynamoHatches) { - hatch.updateTexture(status ? TAE.GTPP_INDEX(13) : TAE.GTPP_INDEX(12)); - } - } - if (this.mMufflerHatches != null) { - for (final GT_MetaTileEntity_Hatch_Muffler hatch : this.mMufflerHatches) { - hatch.updateTexture(status ? TAE.GTPP_INDEX(13) : TAE.GTPP_INDEX(12)); - } - } - if (this.mOutputHatches != null) { - for (final GT_MetaTileEntity_Hatch_Output hatch : this.mOutputHatches) { - hatch.updateTexture(status ? TAE.GTPP_INDEX(13) : TAE.GTPP_INDEX(12)); - } - } - if (this.mInputHatches != null) { - for (final GT_MetaTileEntity_Hatch_Input hatch : this.mInputHatches) { - hatch.updateTexture(status ? TAE.GTPP_INDEX(13) : TAE.GTPP_INDEX(12)); - } - } - if (this.mMaintenanceHatches != null) { - for (final GT_MetaTileEntity_Hatch_Maintenance hatch : this.mMaintenanceHatches) { - hatch.updateTexture(status ? TAE.GTPP_INDEX(13) : TAE.GTPP_INDEX(12)); - } - } - return true; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @NotNull - @Override - protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { - return GT_OverclockCalculator.ofNoOverclock(recipe.mSpecialValue * 4L, recipe.mDuration); - } - - @NotNull - @Override - public CheckRecipeResult process() { - CheckRecipeResult result = super.process(); - if (!result.wasSuccessful()) { - resetMultiProcessing(); - } - return result; - } - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - mFuelRemaining = 0; - int li2bef4 = 0; - FluidStack aFuelFluid = null; - for (FluidStack aFluidInput : recipe.mFluidInputs) { - if (!aFluidInput.getFluid() - .equals(NUCLIDE.Li2BeF4.getFluid())) { - aFuelFluid = aFluidInput; - break; - } - } - if (aFuelFluid != null) { - for (FluidStack fluidStack : getStoredFluids()) { - if (fluidStack.isFluidEqual(aFuelFluid)) { - mFuelRemaining += fluidStack.amount; - } else if (fluidStack.getFluid() - .equals(NUCLIDE.Li2BeF4.getFluid())) { - li2bef4 += fluidStack.amount; - } - } - } - if (mFuelRemaining < 100) { - return CheckRecipeResultRegistry.NO_FUEL_FOUND; - } - if (li2bef4 < 200) { - return SimpleCheckRecipeResult.ofFailure("no_li2bef4"); - } - return CheckRecipeResultRegistry.SUCCESSFUL; - } - }; - } - - protected void resetMultiProcessing() { - this.mEfficiency = 0; - this.mLastRecipe = null; - stopMachine(ShutDownReasonRegistry.NONE); - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - // Warm up for 4~ minutes - if (mEfficiency < this.getMaxEfficiency(null)) { - this.mMaxProgresstime = 1; - this.mEfficiencyIncrease = 2; - return SimpleCheckRecipeResult.ofSuccess("warm_up"); - } - CheckRecipeResult result = super.checkProcessing(); - if (result.wasSuccessful()) { - // We produce EU, so we negate the value, if negative - if (lEUt < 0) { - lEUt = -lEUt; - } - } - return result; - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public void explodeMultiblock() { - this.mInventory[1] = null; - long explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - for (final MetaTileEntity tTileEntity : this.mInputBusses) { - explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - tTileEntity.getBaseMetaTileEntity() - .doExplosion(explodevalue); - } - for (final MetaTileEntity tTileEntity : this.mOutputBusses) { - explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - tTileEntity.getBaseMetaTileEntity() - .doExplosion(explodevalue); - } - for (final MetaTileEntity tTileEntity : this.mInputHatches) { - explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - tTileEntity.getBaseMetaTileEntity() - .doExplosion(explodevalue); - } - for (final MetaTileEntity tTileEntity : this.mOutputHatches) { - explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - tTileEntity.getBaseMetaTileEntity() - .doExplosion(explodevalue); - } - for (final MetaTileEntity tTileEntity : this.mDynamoHatches) { - explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - tTileEntity.getBaseMetaTileEntity() - .doExplosion(explodevalue); - } - for (final MetaTileEntity tTileEntity : this.mMufflerHatches) { - explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - tTileEntity.getBaseMetaTileEntity() - .doExplosion(explodevalue); - } - for (final MetaTileEntity tTileEntity : this.mEnergyHatches) { - explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - tTileEntity.getBaseMetaTileEntity() - .doExplosion(explodevalue); - } - for (final MetaTileEntity tTileEntity : this.mMaintenanceHatches) { - explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - tTileEntity.getBaseMetaTileEntity() - .doExplosion(explodevalue); - } - explodevalue = MathUtils.randLong(Integer.MAX_VALUE, 8589934588L); - this.getBaseMetaTileEntity() - .doExplosion(explodevalue); - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (aBaseMetaTileEntity.getWorld().isRemote) { - if (aBaseMetaTileEntity.isActive()) { - // Set casings active if we're warmed up. - if (this.mEfficiency == this.getMaxEfficiency(null)) { - this.turnCasingActive(true); - } else { - this.turnCasingActive(false); - } - } else { - this.turnCasingActive(false); - } - } - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - @Override - public boolean onRunningTick(ItemStack aStack) { - // See if we're warmed up. - if (this.mEfficiency == this.getMaxEfficiency(null)) { - // Try output some Uranium-233 - if (MathUtils.randInt(1, 300) == 1) { - this.addOutput(ELEMENT.getInstance().URANIUM233.getFluidStack(MathUtils.randInt(1, 10))); - } - } - return super.onRunningTick(aStack); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("mFuelRemaining", this.mFuelRemaining); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - this.mFuelRemaining = aNBT.getInteger("mFuelRemaining"); - super.loadNBTData(aNBT); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java deleted file mode 100644 index 0441907f40..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java +++ /dev/null @@ -1,809 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_Utility.filterValidMTEs; -import static gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase.GTPPHatchElement.TTEnergy; - -import java.util.ArrayList; -import java.util.EnumMap; -import java.util.HashMap; -import java.util.List; - -import javax.annotation.Nonnull; - -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemShears; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.fluids.FluidStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import forestry.api.arboriculture.IToolGrafter; -import forestry.api.arboriculture.ITree; -import forestry.api.arboriculture.TreeManager; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Mods; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.VoidProtectionHelper; -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_InputBus_ME; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools; - -public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - public static int CASING_TEXTURE_ID; - private static final int TICKS_PER_OPERATION = 100; - private static final int TOOL_DAMAGE_PER_OPERATION = 1; - private static final int TOOL_CHARGE_PER_OPERATION = 32; - - private int mCasing; - public static String mCasingName = "Sterile Farm Casing"; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntityTreeFarm(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - CASING_TEXTURE_ID = TAE.getIndexFromPage(1, 15); - } - - public GregtechMetaTileEntityTreeFarm(final String aName) { - super(aName); - CASING_TEXTURE_ID = TAE.getIndexFromPage(1, 15); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntityTreeFarm(this.mName); - } - - @Override - public String getMachineType() { - return "Tree Farm"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller block for the Tree Growth Simulator") - .addInfo("Farms and harvests trees using EU") - .addInfo("Place a sapling in the controller slot") - .addInfo("Place a tool in an input bus") - .addInfo("Different tools are required for different outputs") - .addInfo("Advanced tools multiply output amount") - .addInfo(" Logs: Saw (1x), Buzzsaw (2x), Chainsaw (4x)") - .addInfo(" Saplings: Branch Cutter (1x), Grafter (3x)") - .addInfo(" Leaves: Shears (1x), Wire Cutter (2x), Automatic Snips (4x)") - .addInfo(" Fruit: Knife (1x)") - .addInfo("Multiple tools can be used at the same time") - .addSeparator() - .addInfo("Work time is fixed at 5 seconds") - .addInfo("Energy input tier multiplies output further") - .addInfo("Output multiplier is equal to: 2*tier^2 - 2*tier + 5") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 3, true) - .addController("Front center") - .addCasingInfoMin(mCasingName, 8, false) - .addInputBus("Any casing", 1) - .addStructureInfo( - EnumChatFormatting.YELLOW + "Stocking Input Busses and Crafting Input Busses/Buffers are not allowed!") - .addOutputBus("Any casing", 1) - .addEnergyHatch("Any casing", 1) - .addMaintenanceHatch("Any casing", 1) - .addMufflerHatch("Any casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return CASING_TEXTURE_ID; - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 1, 0) && mCasing >= 8 && checkHatch(); - } - - @Override - public boolean addInputBusToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - // Tools from a stocking inout bus can not be damaged, this would cause an infinite durability exploit. - // Therefore disallow ME input bus. - if (aTileEntity == null) return false; - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) return false; - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus_ME) return false; - return super.addInputBusToMachineList(aTileEntity, aBaseCasingIndex); - } - - @Override - public boolean supportsCraftingMEBuffer() { - return false; - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public boolean supportsBatchMode() { - // Batch mode would not do anything, processing time is fixed at 100 ticks. - return false; - } - - @Override - public boolean isBatchModeEnabled() { - return false; - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiTreeFarm; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntityTreeFarm.class) - .atLeast( - InputHatch, - OutputHatch, - InputBus, - OutputBus, - Maintenance, - Energy.or(TTEnergy), - Muffler) - .casingIndex(CASING_TEXTURE_ID) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 15)))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - /* Processing logic. */ - - @Override - public boolean isCorrectMachinePart(final ItemStack aStack) { - if (aStack == null) return false; - if (isValidSapling(aStack)) return true; - /* - * In previous versions, a saw used to go in the controller slot. We do not want an update to stop processing of - * a machine set up like this. Instead, a sapling is placed in this slot at the start of the next operation. - */ - if (aStack.getItem() instanceof GT_MetaGenerated_Tool_01) return true; - return false; - } - - @Override - public RecipeMap getRecipeMap() { - // Only for NEI, not used in processing logic. - return GTPPRecipeMaps.treeGrowthSimulatorFakeRecipes; - } - - /** - * Valid processing modes (types of output) for the Tree Growth Simulator. - */ - public enum Mode { - LOG, - SAPLING, - LEAVES, - FRUIT - } - - /** - * Edit this to change relative yields for different modes. For example, logs are output at 5 times the rate of - * saplings. - */ - private static final EnumMap modeMultiplier = new EnumMap<>(Mode.class); - static { - modeMultiplier.put(Mode.LOG, 5); - modeMultiplier.put(Mode.SAPLING, 1); - modeMultiplier.put(Mode.LEAVES, 2); - modeMultiplier.put(Mode.FRUIT, 1); - } - - /** - * Return the output multiplier for a given power tier. - * - * @param tier Power tier the machine runs on. - * @return Factor to multiply all outputs by. - */ - private static int getTierMultiplier(int tier) { - /* - * Where does this formula come from? [12:57 AM] boubou_19: i did. Basically Pandoro measured the output of a - * WA-ed farming station for each tier of WA, then i computed the Lagrange interpolating polynomial of his - * dataset, which gave this - */ - return (2 * (tier * tier)) - (2 * tier) + 5; - } - - /** - * Key of this map is the registry name of the sapling, followed by ":", and the sapling's metadata value. - *

- * The value of the map is a list of products by {@link Mode}. Products for some modes can be null if the tree does - * not produce anything in that mode (for example, it has no fruit). - */ - public static final HashMap> treeProductsMap = new HashMap<>(); - - @Override - public ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @Override - @Nonnull - public CheckRecipeResult process() { - if (inputItems == null) { - inputItems = new ItemStack[0]; - } - if (inputFluids == null) { - inputFluids = new FluidStack[0]; - } - - ItemStack sapling = findSapling(); - if (sapling == null) return SimpleCheckRecipeResult.ofFailure("no_sapling"); - - EnumMap outputPerMode = getOutputsForSapling(sapling); - if (outputPerMode == null) { - // This should usually not be possible, outputs for all valid saplings should be defined. - Logger.INFO("No output found for sapling: " + sapling.getDisplayName()); - return SimpleCheckRecipeResult.ofFailure("no_output_for_sapling"); - } - - int tier = Math.max(1, GT_Utility.getTier(availableVoltage * availableAmperage)); - int tierMultiplier = getTierMultiplier(tier); - - List outputs = new ArrayList<>(); - for (Mode mode : Mode.values()) { - ItemStack output = outputPerMode.get(mode); - if (output == null) continue; // This sapling has no output in this mode. - - // Find a tool to use in this mode. - int toolMultiplier = useToolForMode(mode); - if (toolMultiplier < 0) continue; // No valid tool for this mode found. - - // Increase output by the relevant multipliers. - ItemStack out = output.copy(); - out.stackSize *= tierMultiplier * modeMultiplier.get(mode) * toolMultiplier; - outputs.add(out); - } - - if (outputs.isEmpty()) { - // No outputs can be produced using the tools we have available. - return SimpleCheckRecipeResult.ofFailure("no_tools"); - } - - outputItems = outputs.toArray(new ItemStack[0]); - - VoidProtectionHelper voidProtection = new VoidProtectionHelper().setMachine(machine) - .setItemOutputs(outputItems) - .build(); - if (voidProtection.isItemFull()) { - return CheckRecipeResultRegistry.ITEM_OUTPUT_FULL; - } - - duration = TICKS_PER_OPERATION; - calculatedEut = GT_Values.VP[tier]; - - return SimpleCheckRecipeResult.ofSuccess("growing_trees"); - } - }; - } - - /* Handling tools. */ - - /** - * Attempts to find a tool appropriate for the given mode, and damage/discharge it by one use. - * - * @param mode The mode to use. This specifies which tools are valid. - * @return Production multiplier based on the tool used, or -1 if no appropriate tool was found. - */ - private int useToolForMode(Mode mode) { - for (ItemStack stack : getStoredInputs()) { - int toolMultiplier = getToolMultiplier(stack, mode); - if (toolMultiplier < 0) continue; - boolean canDamage = GT_ModHandler - .damageOrDechargeItem(stack, TOOL_DAMAGE_PER_OPERATION, TOOL_CHARGE_PER_OPERATION, null); - if (canDamage) { - // Tool was used. - if (GT_ModHandler.isElectricItem(stack) - && !GT_ModHandler.canUseElectricItem(stack, TOOL_CHARGE_PER_OPERATION)) { - // Tool is out of charge, move it to output. - depleteInput(stack); - addOutput(stack); - } - return toolMultiplier; - } else { - // Correct item type, but the tool could not be used. - depleteInput(stack); - addOutput(stack); - } - - } - return -1; - } - - /** - * Calculate output multiplier for a given tool and mode. - * - * @param toolStack The tool to use. - * @param mode The mode to use. - * @return Output multiplier for the given tool used in the given mode. If the tool is not appropriate for this - * mode, returns -1. - */ - public static int getToolMultiplier(ItemStack toolStack, Mode mode) { - Item tool = toolStack.getItem(); - switch (mode) { - case LOG: - if (tool instanceof GT_MetaGenerated_Tool_01) { - switch (toolStack.getItemDamage()) { - case GT_MetaGenerated_Tool_01.SAW: - case GT_MetaGenerated_Tool_01.POCKET_SAW: - case GT_MetaGenerated_Tool_01.POCKET_MULTITOOL: - return 1; - case GT_MetaGenerated_Tool_01.BUZZSAW_LV: - case GT_MetaGenerated_Tool_01.BUZZSAW_MV: - case GT_MetaGenerated_Tool_01.BUZZSAW_HV: - return 2; - case GT_MetaGenerated_Tool_01.CHAINSAW_LV: - case GT_MetaGenerated_Tool_01.CHAINSAW_MV: - case GT_MetaGenerated_Tool_01.CHAINSAW_HV: - return 4; - } - } - break; - - case SAPLING: - if (tool instanceof GT_MetaGenerated_Tool_01) { - switch (toolStack.getItemDamage()) { - case GT_MetaGenerated_Tool_01.BRANCHCUTTER: - case GT_MetaGenerated_Tool_01.POCKET_BRANCHCUTTER: - case GT_MetaGenerated_Tool_01.POCKET_MULTITOOL: - return 1; - } - } - if (tool instanceof IToolGrafter && tool.isDamageable()) { - return 3; - } - break; - - case LEAVES: - // Do not allow unbreakable tools. Operation should have a running cost. - if (tool instanceof ItemShears && tool.isDamageable()) { - return 1; - } - if (tool instanceof GT_MetaGenerated_Tool_01) { - switch (toolStack.getItemDamage()) { - case GT_MetaGenerated_Tool_01.POCKET_MULTITOOL: - return 1; - case GT_MetaGenerated_Tool_01.WIRECUTTER: - case GT_MetaGenerated_Tool_01.POCKET_WIRECUTTER: - return 2; - } - } - if (tool instanceof MetaGeneratedGregtechTools) { - if (toolStack.getItemDamage() == MetaGeneratedGregtechTools.ELECTRIC_SNIPS) { - return 4; - } - } - break; - - case FRUIT: - if (tool instanceof GT_MetaGenerated_Tool_01) { - switch (toolStack.getItemDamage()) { - case GT_MetaGenerated_Tool_01.KNIFE: - case GT_MetaGenerated_Tool_01.POCKET_KNIFE: - case GT_MetaGenerated_Tool_01.POCKET_MULTITOOL: - return 1; - } - } - break; - } - - // No valid tool was found. - return -1; - } - - /* Handling saplings. */ - - /** - * Finds a valid sapling from input buses, and places it into the controller slot. - * - * @return The sapling that was found (now in the controller slot). - */ - private ItemStack findSapling() { - ItemStack controllerSlot = getControllerSlot(); - - if (isValidSapling(controllerSlot)) { - return controllerSlot; - } - - if (controllerSlot != null) { - // Non-sapling item in controller slot. This could be a saw from an older version of the TGS. - // We first try to swap it with a sapling from an input bus to not interrupt existing setups. - if (!legacyToolSwap()) { - // Swap failed, output whatever is blocking the slot. - addOutput(controllerSlot); - mInventory[1] = null; - } - } - - // Here controller slot is empty, find a valid sapling to use. - for (ItemStack stack : getStoredInputs()) { - if (isValidSapling(stack)) { - mInventory[1] = stack.splitStack(1); - return mInventory[1]; - } - } - - // No saplings were found. - return null; - } - - /** - * In previous versions, the saw used to be placed in the controller slot and the sapling into an input bus. We do - * not want to break existing setups like this, so we attempt to swap the two if possible. - * - * @return True on success, false otherwise. - */ - private boolean legacyToolSwap() { - ItemStack controllerSlot = getControllerSlot(); - if (controllerSlot == null || !(controllerSlot.getItem() instanceof GT_MetaGenerated_Tool_01)) return false; - - for (GT_MetaTileEntity_Hatch_InputBus inputBus : filterValidMTEs(mInputBusses)) { - ItemStack[] inventory = inputBus.getRealInventory(); - for (int slot = 0; slot < inventory.length; ++slot) { - if (isValidSapling(inventory[slot])) { - // Do the swap. - mInventory[1] = inventory[slot]; - inventory[slot] = controllerSlot; - inputBus.updateSlots(); - return true; - } - } - } - return false; - } - - /** - * Check if an ItemStack is a sapling that can be farmed. - * - * @param stack An ItemStack. - * @return True if stack is a valid sapling that can be farmed. - */ - private boolean isValidSapling(ItemStack stack) { - if (stack == null) return false; - String registryName = Item.itemRegistry.getNameForObject(stack.getItem()); - return treeProductsMap.containsKey(registryName + ":" + stack.getItemDamage()) - || "Forestry:sapling".equals(registryName); - } - - /** - * Get a list of possible outputs for a sapling, for each mode. This is either recovered from - * {@link #treeProductsMap}, or generated from stats of Forestry saplings. - * - * @param sapling A sapling to farm. - * @return A map of outputs for each mode. Outputs for some modes might be null. - */ - private static EnumMap getOutputsForSapling(ItemStack sapling) { - String registryName = Item.itemRegistry.getNameForObject(sapling.getItem()); - if ("Forestry:sapling".equals(registryName)) { - return getOutputsForForestrySapling(sapling); - } else { - return treeProductsMap.get(registryName + ":" + sapling.getItemDamage()); - } - } - - /** - * Calculate outputs for Forestry saplings. Default amounts stored in {@link #treeProductsMap} are adjusted based - * the genetics of the input sapling. - *

- * Relevant stats: - *

    - *
  • height, girth: Affects log output.
  • - *
  • fertility (called Saplings in game): Affects sapling output.
  • - *
  • yield: Affects fruit output.
  • - *
- * See {@link forestry.core.genetics.alleles.EnumAllele} for detailed numeric values for each allele. - * - * @param sapling A sapling to farm. Must be a Forestry sapling with a valid genome. - * @return A map of outputs for each mode. Outputs for some modes might be null. - */ - private static EnumMap getOutputsForForestrySapling(ItemStack sapling) { - ITree tree = TreeManager.treeRoot.getMember(sapling); - if (tree == null) return null; - - String speciesUUID = tree.getIdent(); - - EnumMap defaultMap = treeProductsMap.get("Forestry:sapling:" + speciesUUID); - if (defaultMap == null) return null; - - // We need to make a new map so that we don't modify the stored amounts of outputs. - EnumMap adjustedMap = new EnumMap<>(Mode.class); - - ItemStack log = defaultMap.get(Mode.LOG); - if (log != null) { - double height = Math.max( - 3 * (tree.getGenome() - .getHeight() - 1), - 0) + 1; - double girth = tree.getGenome() - .getGirth(); - - log = log.copy(); - log.stackSize = (int) (log.stackSize * height * girth); - adjustedMap.put(Mode.LOG, log); - } - - ItemStack saplingOut = defaultMap.get(Mode.SAPLING); - if (saplingOut != null) { - // Lowest = 0.01 ... Average = 0.05 ... Highest = 0.3 - double fertility = tree.getGenome() - .getFertility() * 10; - - // Return a copy of the *input* sapling, retaining its genetics. - int stackSize = Math.max(1, (int) (saplingOut.stackSize * fertility)); - saplingOut = sapling.copy(); - saplingOut.stackSize = stackSize; - adjustedMap.put(Mode.SAPLING, saplingOut); - } - - ItemStack leaves = defaultMap.get(Mode.LEAVES); - if (leaves != null) { - adjustedMap.put(Mode.LEAVES, leaves.copy()); - } - - ItemStack fruit = defaultMap.get(Mode.FRUIT); - if (fruit != null) { - // Lowest = 0.025 ... Average = 0.2 ... Highest = 0.4 - double yield = tree.getGenome() - .getYield() * 10; - - fruit = fruit.copy(); - fruit.stackSize = (int) (fruit.stackSize * yield); - adjustedMap.put(Mode.FRUIT, fruit); - } - - return adjustedMap; - } - - /* Recipe registration. */ - - /** - * Registers outputs for a sapling. This method assumes that output in mode SAPLING is the same as the input - * sapling. Output amount is further modified by mode, machine tier, and tool used. Recipes are added in - * {@link gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_TreeFarm}. - * - * @param sapling The input sapling to farm, and also the output in mode SAPLING. - * @param log ItemStack to output in mode LOG. - * @param leaves ItemStack to output in mode LEAVES. - * @param fruit ItemStack to output in mode FRUIT. - */ - public static void registerTreeProducts(ItemStack sapling, ItemStack log, ItemStack leaves, ItemStack fruit) { - registerTreeProducts(sapling, log, sapling, leaves, fruit); - } - - /** - * Registers outputs for a sapling. Output amount is further modified by mode, machine tier, and tool used. Recipes - * are added in {@link gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_TreeFarm}. - * - * @param saplingIn The input sapling to farm. - * @param log ItemStack to output in mode LOG. - * @param saplingOut ItemStack to output in mode SAPLING. - * @param leaves ItemStack to output in mode LEAVES. - * @param fruit ItemStack to output in mode FRUIT. - */ - public static void registerTreeProducts(ItemStack saplingIn, ItemStack log, ItemStack saplingOut, ItemStack leaves, - ItemStack fruit) { - String key = Item.itemRegistry.getNameForObject(saplingIn.getItem()) + ":" + saplingIn.getItemDamage(); - EnumMap map = new EnumMap<>(Mode.class); - if (log != null) map.put(Mode.LOG, log); - if (saplingOut != null) map.put(Mode.SAPLING, saplingOut); - if (leaves != null) map.put(Mode.LEAVES, leaves); - if (fruit != null) map.put(Mode.FRUIT, fruit); - treeProductsMap.put(key, map); - - if (!addFakeRecipeToNEI(saplingIn, log, saplingOut, leaves, fruit)) { - Logger.INFO("Registering NEI fake recipe for " + key + " failed!"); - } - } - - /** - * For Forestry trees, the output amounts depend on the genetics of the sapling. Here we register only the types of - * items to output. In {@link #getOutputsForForestrySapling(ItemStack)} these outputs are then multiplied according - * to the stats of the real sapling that is in the controller slot. - */ - public static void registerForestryTree(String speciesUID, ItemStack sapling, ItemStack log, ItemStack leaves, - ItemStack fruit) { - String key = "Forestry:sapling:" + speciesUID; - EnumMap map = new EnumMap<>(Mode.class); - map.put(Mode.LOG, log); - map.put(Mode.SAPLING, sapling); - map.put(Mode.LEAVES, leaves); - map.put(Mode.FRUIT, fruit); - treeProductsMap.put(key, map); - - // In the NEI recipe we want to display outputs adjusted for the default genetics of this tree type. - // To do this we use the same method as when calculating real outputs. - map = getOutputsForForestrySapling(sapling); - if (map == null) { - Logger.INFO("Could not create Forestry tree output map for " + speciesUID); - return; - } - addFakeRecipeToNEI( - sapling, - map.get(Mode.LOG), - map.get(Mode.SAPLING), - map.get(Mode.LEAVES), - map.get(Mode.FRUIT)); - } - - /** - * This array is used to get the rotating display of items in NEI showing all possible tools for a given mode. - */ - private static final ItemStack[][] altToolsForNEI; - static { - GT_MetaGenerated_Tool toolInstance = GT_MetaGenerated_Tool_01.INSTANCE; - altToolsForNEI = new ItemStack[][] { - // Mode.LOG - { toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.SAW, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.POCKET_SAW, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.BUZZSAW_LV, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.CHAINSAW_LV, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.BUZZSAW_MV, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.CHAINSAW_MV, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.BUZZSAW_HV, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.CHAINSAW_HV, 1, null, null, null), }, - // Mode.SAPLING - { toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.BRANCHCUTTER, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.POCKET_BRANCHCUTTER, 1, null, null, null), - GT_ModHandler.getModItem(Mods.Forestry.ID, "grafter", 1, 0), }, - // Mode.LEAVES - { new ItemStack(Items.shears), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.WIRECUTTER, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.POCKET_WIRECUTTER, 1, null, null, null), - MetaGeneratedGregtechTools.getInstance() - .getToolWithStats(MetaGeneratedGregtechTools.ELECTRIC_SNIPS, 1, null, null, null), }, - // Mode.FRUIT - { toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.KNIFE, 1, null, null, null), - toolInstance.getToolWithStats(GT_MetaGenerated_Tool_01.POCKET_KNIFE, 1, null, null, null), } }; - } - - /** - * Add a recipe for this tree to NEI. These recipes are only used in NEI, they are never used for processing logic. - * - * @return True if the recipe was added successfully. - */ - public static boolean addFakeRecipeToNEI(ItemStack saplingIn, ItemStack log, ItemStack saplingOut, ItemStack leaves, - ItemStack fruit) { - int recipeCount = GTPPRecipeMaps.treeGrowthSimulatorFakeRecipes.getAllRecipes() - .size(); - - // Sapling goes into the "special" slot. - ItemStack specialStack = saplingIn.copy(); - specialStack.stackSize = 0; - - /* - * Calculate the correct amount of outputs for each mode. The amount displayed in NEI should take into account - * the mode multiplier, but not tool/tier multipliers as those can change dynamically. If the sapling has an - * output in this mode, also add the tools usable for this mode as inputs. - */ - ItemStack[][] inputStacks = new ItemStack[Mode.values().length][]; - ItemStack[] outputStacks = new ItemStack[Mode.values().length]; - - for (Mode mode : Mode.values()) { - ItemStack output = switch (mode) { - case LOG -> log; - case SAPLING -> saplingOut; - case LEAVES -> leaves; - case FRUIT -> fruit; - }; - if (output != null) { - int ordinal = mode.ordinal(); - inputStacks[ordinal] = altToolsForNEI[ordinal]; - outputStacks[ordinal] = output.copy(); - outputStacks[ordinal].stackSize *= modeMultiplier.get(mode); - } - } - - Logger.INFO( - "Adding Tree Growth Simulation NEI recipe for " + specialStack.getDisplayName() - + " -> " - + ItemUtils.getArrayStackNames(outputStacks)); - - GTPPRecipeMaps.treeGrowthSimulatorFakeRecipes.addFakeRecipe( - false, - new GT_Recipe.GT_Recipe_WithAlt( - false, - null, // All inputs are taken from aAtl argument. - outputStacks, - specialStack, - null, - null, - null, - TICKS_PER_OPERATION, - 0, - recipeCount, // special value, also sorts recipes correctly in order of addition. - inputStacks)); - - return GTPPRecipeMaps.treeGrowthSimulatorFakeRecipes.getAllRecipes() - .size() > recipeCount; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java deleted file mode 100644 index 580efdcdab..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java +++ /dev/null @@ -1,235 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.ForgeDirection; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -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 gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_AlloyBlastSmelter - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mMode = 0; - private boolean isUsingControllerCircuit = false; - private static Item circuit; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_AlloyBlastSmelter(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_AlloyBlastSmelter(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_AlloyBlastSmelter(this.mName); - } - - @Override - public String getMachineType() { - return "Fluid Alloy Cooker"; - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - if (aNBT.hasKey("isBussesSeparate")) { - inputSeparation = aNBT.getBoolean("isBussesSeparate"); - } - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Alloy Blast Smelter") - .addInfo("20% Faster than the Electric Blast Furnace") - .addInfo("Allows Complex GT++ alloys to be created") - .addInfo("Accepts only one Energy Hatch") - .addInfo("Circuit for recipe goes in the Input Bus or GUI slot") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 4, 3, true) - .addController("Bottom Center") - .addCasingInfoMin("Blast Smelter Casings", 5, false) - .addCasingInfoMin("Blast Smelter Heat Containment Coils", 16, false) - .addInputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "HHH", "H-H", "HHH" }, { "HHH", "H-H", "HHH" }, - { "C~C", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_AlloyBlastSmelter.class) - .atLeast(InputBus, InputHatch, OutputBus, OutputHatch, Maintenance, Energy, Muffler) - .casingIndex(TAE.GTPP_INDEX(15)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 15)))) - .addElement('H', ofBlock(ModBlocks.blockCasingsMisc, 14)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 3, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 3, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 1, 3, 0) && mCasing >= 5 && mEnergyHatches.size() == 1 && checkHatch(); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_INDUCTION_LOOP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(15); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.alloyBlastSmelterRecipes; - } - - @Override - public boolean isCorrectMachinePart(final ItemStack aStack) { - if (this.getBaseMetaTileEntity() - .isServerSide()) { - // Get Controller Circuit - if (circuit == null) { - circuit = CI.getNumberedCircuit(0) - .getItem(); - } - if (aStack != null && aStack.getItem() == circuit) { - this.mMode = aStack.getItemDamage(); - return this.isUsingControllerCircuit = true; - } else { - if (aStack == null) { - this.isUsingControllerCircuit = false; - return true; // Allowed empty - } - Logger.WARNING("Not circuit in GUI inputs."); - return this.isUsingControllerCircuit = false; - } - } - Logger.WARNING("No Circuit, clientside."); - return this.isUsingControllerCircuit = false; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic(); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - inputSeparation = !inputSeparation; - GT_Utility.sendChatToPlayer( - aPlayer, - StatCollector.translateToLocal("GT5U.machines.separatebus") + " " + inputSeparation); - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiABS; - } - - @Override - public int getDamageToComponent(final ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public boolean supportsInputSeparation() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java deleted file mode 100644 index 5861885bd0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java +++ /dev/null @@ -1,331 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; -import gregtech.api.objects.GT_ItemStack; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.item.chemistry.IonParticles; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_Cyclotron(int aID, String aName, String aNameRegional, int tier) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_Cyclotron(String aName) { - super(aName); - } - - @Override - public String getMachineType() { - return "Particle Accelerator"; - } - - public int tier() { - return 5; - } - - @Override - public long maxEUStore() { - return 1800000000L; - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_Cyclotron(this.mName); - } - - @Override - public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aStack) { - return side != getBaseMetaTileEntity().getFrontFacing(); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { - { " ", " hhh ", " hh hh ", " h h ", - " h h ", " h h ", " h h ", " h h ", - " h h ", " h h ", " h h ", " h h ", - " hh hh ", " hhh ", " ", }, - { " hhh ", " hhccchh ", " hcchhhcch ", " hchh hhch ", - " hch hch ", " hch hch ", "hch hch", "hch hch", - "hch hch", " hch hch ", " hch hch ", " hchh hhch ", - " hcch~hcch ", " hhccchh ", " hhh ", }, - { " ", " hhh ", " hh hh ", " h h ", - " h h ", " h h ", " h h ", " h h ", - " h h ", " h h ", " h h ", " h h ", - " hh hh ", " hhh ", " ", } })) - .addElement( - 'h', - buildHatchAdder(GregtechMetaTileEntity_Cyclotron.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch, OutputHatch) - .casingIndex(44) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - .addElement('c', ofBlock(getCyclotronCoil(), getCyclotronCoilMeta())) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 7, 1, 12); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 7, 1, 12, elementBudget, env, false, true); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.GT_MACHINES_FUSION_LOOP; - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 7, 1, 12) && mCasing >= 40 && checkHatch(); - } - - public Block getCasingBlock() { - return ModBlocks.blockCasings2Misc; - } - - public int getCasingMeta() { - return 10; - } - - public Block getCyclotronCoil() { - return ModBlocks.blockCasings2Misc; - } - - public int getCyclotronCoilMeta() { - return 9; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Super Magnetic Speed Shooter") - .addSeparator() - .addInfo("Particles are accelerated over 186 revolutions to 80% light speed") - .addInfo("Can produce a continuous beam current of 2.2 mA at 590 MeV") - .addInfo("Which will be extracted from the Isochronous Cyclotron") - .addSeparator() - .addInfo("Consists of the same layout as a Fusion Reactor") - .addInfo("Any external casing can be a hatch/bus, unlike Fusion") - .addInfo("Cyclotron Machine Casings around Cyclotron Coil Blocks") - .addInfo("All Hatches must be IV or better") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .addCasingInfoMin("Cyclotron Machine Casings", 40, false) - .addCasingInfoMin("Cyclotron Coil", 32, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return getIconOverlay(); - } - - @Override - protected IIconContainer getInactiveOverlay() { - return getIconOverlay(); - } - - @Override - protected int getCasingTextureId() { - return 44; - } - - public IIconContainer getIconOverlay() { - if (this.getBaseMetaTileEntity() - .isActive()) { - return TexturesGtBlock.Overlay_MatterFab_Active_Animated; - } - return TexturesGtBlock.Overlay_MatterFab_Animated; - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.cyclotronRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @NotNull - @Override - public CheckRecipeResult process() { - fixAllMaintenanceIssue(); - CheckRecipeResult result = super.process(); - if (result.wasSuccessful()) { - for (ItemStack s : outputItems) { - if (s != null) { - if (s.getItem() instanceof IonParticles) { - long aCharge = IonParticles.getChargeState(s); - if (aCharge == 0) { - IonParticles.setChargeState( - s, - MathUtils.getRandomFromArray( - new int[] { -5, -5, -4, -4, -4, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, - -2, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, - 5, 5, 5, 6, 6 })); - } - } - } - } - } - return result; - } - }; - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public boolean onRunningTick(ItemStack aStack) { - if (this.mOutputBusses.size() > 0) { - for (GT_MetaTileEntity_Hatch_OutputBus g : this.mOutputBusses) { - if (g != null) { - for (ItemStack s : g.mInventory) { - if (s != null) { - if (s.getItem() instanceof IonParticles) { - long aCharge = IonParticles.getChargeState(s); - if (aCharge == 0) { - IonParticles.setChargeState( - s, - MathUtils.getRandomFromArray( - new int[] { -5, -5, -4, -4, -4, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, - -2, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, - 5, 5, 5, 6, 6 })); - } - } - } - } - } - } - } - this.fixAllMaintenanceIssue(); - return super.onRunningTick(aStack); - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiCyclotron; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - @Override - public String[] getExtraInfoData() { - String tier = tier() == 5 ? "I" : "II"; - float plasmaOut = 0; - int powerRequired = 0; - if (this.mLastRecipe != null) { - powerRequired = this.mLastRecipe.mEUt; - if (this.mLastRecipe.getFluidOutput(0) != null) { - plasmaOut = (float) this.mLastRecipe.getFluidOutput(0).amount / (float) this.mLastRecipe.mDuration; - } - } - - return new String[] { "COMET - Compact Cyclotron MK " + tier, "EU Required: " + powerRequired + "EU/t", - "Stored EU: " + this.getEUVar() + " / " + maxEUStore() }; - } - - @Override - public boolean doesBindPlayerInventory() { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java deleted file mode 100644 index 78e4a17274..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java +++ /dev/null @@ -1,489 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gtPlusPlus.core.util.data.ArrayUtils.removeNulls; - -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 net.minecraft.util.WeightedRandomFishable; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.FishPondFakeRecipe; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_OverclockCalculator; -import gregtech.api.util.GT_ParallelHelper; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -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; - -public class GregtechMetaTileEntity_IndustrialFishingPond extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private boolean isUsingControllerCircuit = false; - private static final Item circuit = CI.getNumberedCircuit(0) - .getItem(); - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - private static final Class cofhWater; - - static { - cofhWater = ReflectionUtils.getClass("cofh.asmhooks.block.BlockWater"); - } - - public GregtechMetaTileEntity_IndustrialFishingPond(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialFishingPond(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialFishingPond(this.mName); - } - - @Override - public String getMachineType() { - return "Fish Trap"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Fishing Pond") - .addInfo("Can process (Tier + 1) * 2 recipes") - .addInfo("Put a numbered circuit into the input bus.") - .addInfo("Circuit 14 for Fish") - .addInfo("Circuit 15 for Junk") - .addInfo("Circuit 16 for Treasure") - .addInfo("Need to be filled with water.") - .addInfo("Will automatically fill water from input hatch.") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(9, 3, 9, true) - .addController("Front Center") - .addCasingInfoMin("Aquatic Casings", 64, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - return (d, r, f) -> d.offsetY == 0 && r.isNotRotated() && !f.isVerticallyFliped(); - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { - { "XXXXXXXXX", "X X", "X X", "X X", "X X", "X X", "X X", - "X X", "XXXXXXXXX" }, - { "XXXX~XXXX", "X X", "X X", "X X", "X X", "X X", "X X", - "X X", "XXXXXXXXX" }, - { "XXXXXXXXX", "XXXXXXXXX", "XXXXXXXXX", "XXXXXXXXX", "XXXXXXXXX", "XXXXXXXXX", "XXXXXXXXX", - "XXXXXXXXX", "XXXXXXXXX" }, })) - .addElement( - 'X', - buildHatchAdder(GregtechMetaTileEntity_IndustrialFishingPond.class) - .atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler, InputHatch) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 4, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 4, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 4, 1, 0) && mCasing >= 64 && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_VACUUM_FREEZER_ACTIVE; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_VACUUM_FREEZER; - } - - @Override - protected int getCasingTextureId() { - return getCasingTextureIndex(); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.fishPondRecipes; - } - - @Override - protected boolean filtersFluid() { - return false; - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - ItemStack controllerStack = getControllerSlot(); - if (controllerStack != null) { - if (controllerStack.getItem() == circuit) { - this.isUsingControllerCircuit = true; - this.mMode = controllerStack.getItemDamage(); - } else { - this.isUsingControllerCircuit = false; - } - } else { - this.isUsingControllerCircuit = false; - } - if (!hasGenerateRecipes) { - generateRecipes(); - } - if (!checkForWater()) { - return SimpleCheckRecipeResult.ofFailure("no_water"); - } - ItemStack[] tItemInputs = getStoredInputs().toArray(new ItemStack[0]); - FluidStack[] tFluidInputs = getStoredFluids().toArray(new FluidStack[0]); - - if (!isUsingControllerCircuit && tItemInputs.length == 0) { - return CheckRecipeResultRegistry.NO_RECIPE; - } - - long tEnergy = getMaxInputEnergy(); - - getCircuit(tItemInputs); - - ItemStack[] mFishOutput = generateLoot(this.mMode); - mFishOutput = removeNulls(mFishOutput); - GT_Recipe g = new GT_Recipe( - true, - new ItemStack[] {}, - mFishOutput, - null, - new int[] {}, - tFluidInputs, - null, - 200, - 16, - 0); - GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(g.mEUt) - .setEUt(tEnergy) - .setDuration(g.mDuration); - GT_ParallelHelper helper = new GT_ParallelHelper().setRecipe(g) - .setItemInputs(tItemInputs) - .setFluidInputs(tFluidInputs) - .setAvailableEUt(tEnergy) - .setMaxParallel(getMaxParallelRecipes()) - .setConsumption(true) - .setOutputCalculation(true) - .setMachine(this) - .enableBatchMode(batchMode ? 128 : 1) - .setCalculator(calculator); - - helper.build(); - - if (helper.getCurrentParallel() == 0) { - return CheckRecipeResultRegistry.ITEM_OUTPUT_FULL; - } - - this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); - this.mEfficiencyIncrease = 10000; - - lEUt = -calculator.getConsumption(); - mMaxProgresstime = (int) Math.ceil(calculator.getDuration() * helper.getDurationMultiplierDouble()); - - mOutputItems = helper.getItemOutputs(); - mOutputFluids = null; - updateSlots(); - - return CheckRecipeResultRegistry.SUCCESSFUL; - } - - @Override - public int getMaxParallelRecipes() { - return (2 * (GT_Utility.getTier(this.getMaxInputVoltage()) + 1)); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialFishingPond; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - public Block getCasingBlock() { - return ModBlocks.blockCasings3Misc; - } - - public byte getCasingMeta() { - return 0; - } - - public int getCasingTextureIndex() { - return TAE.GTPP_INDEX(32); - } - - public boolean checkForWater() { - - // Get Facing direction - IGregTechTileEntity aBaseMetaTileEntity = this.getBaseMetaTileEntity(); - int mDirectionX = aBaseMetaTileEntity.getBackFacing().offsetX; - int mCurrentDirectionX; - int mCurrentDirectionZ; - int mOffsetX_Lower = 0; - int mOffsetX_Upper = 0; - int mOffsetZ_Lower = 0; - int mOffsetZ_Upper = 0; - - mCurrentDirectionX = 4; - mCurrentDirectionZ = 4; - - mOffsetX_Lower = -4; - mOffsetX_Upper = 4; - mOffsetZ_Lower = -4; - mOffsetZ_Upper = 4; - - // if (aBaseMetaTileEntity.fac) - - final int xDir = aBaseMetaTileEntity.getBackFacing().offsetX * mCurrentDirectionX; - final int zDir = aBaseMetaTileEntity.getBackFacing().offsetZ * mCurrentDirectionZ; - - int tAmount = 0; - for (int i = mOffsetX_Lower + 1; i <= mOffsetX_Upper - 1; ++i) { - for (int j = mOffsetZ_Lower + 1; j <= mOffsetZ_Upper - 1; ++j) { - for (int h = 0; h < 2; h++) { - Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j); - byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j); - if (isNotStaticWater(tBlock, tMeta)) { - if (this.getStoredFluids() != null) { - for (FluidStack stored : this.getStoredFluids()) { - if (stored.isFluidEqual(FluidUtils.getFluidStack("water", 1))) { - if (stored.amount >= 1000) { - // Utils.LOG_WARNING("Going to try swap an air block for water from inut bus."); - stored.amount -= 1000; - Block fluidUsed = Blocks.water; - aBaseMetaTileEntity.getWorld() - .setBlock( - aBaseMetaTileEntity.getXCoord() + xDir + i, - aBaseMetaTileEntity.getYCoord() + h, - aBaseMetaTileEntity.getZCoord() + zDir + j, - fluidUsed); - } - } - } - } - } - tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j); - if (tBlock == Blocks.water || tBlock == Blocks.flowing_water) { - ++tAmount; - } - } - } - } - - return tAmount >= 60; - } - - private boolean isNotStaticWater(Block block, byte meta) { - return block == Blocks.air || block == Blocks.flowing_water - || block == BlocksItems.getFluidBlock(InternalName.fluidDistilledWater) - || (cofhWater != null && cofhWater.isAssignableFrom(block.getClass()) && meta != 0); - } - - private static AutoMap> categories = new AutoMap<>(); - private static AutoMap categoryFish = new AutoMap<>(); - private static AutoMap categoryJunk = new AutoMap<>(); - private static AutoMap categoryLoot = new AutoMap<>(); - private static boolean hasGenerateRecipes = false; - private int mMode = 14; - private int mMax = 8; - - private void generateRecipes() { - if (hasGenerateRecipes) return; - - categories.put(categoryFish); - categories.put(categoryJunk); - categories.put(categoryLoot); - for (WeightedRandomFishable h : FishPondFakeRecipe.fish) { - categoryFish.put(h); - } - for (WeightedRandomFishable h : FishPondFakeRecipe.junk) { - categoryJunk.put(h); - } - for (WeightedRandomFishable h : FishPondFakeRecipe.treasure) { - categoryLoot.put(h); - } - hasGenerateRecipes = true; - } - - private int getCircuit(ItemStack[] t) { - if (!this.isUsingControllerCircuit) { - for (ItemStack j : t) { - if (j.getItem() == CI.getNumberedCircuit(0) - .getItem()) { - // Fish - if (j.getItemDamage() == 14) { - mMax = 8 + (this.getMaxParallelRecipes() - 2); - this.mMode = 14; - break; - } - // Junk - else if (j.getItemDamage() == 15) { - this.mMode = 15; - mMax = 4; - break; - } - // Loot - else if (j.getItemDamage() == 16) { - this.mMode = 16; - mMax = 4; - break; - } else { - this.mMode = 0; - mMax = 0; - break; - } - } else { - this.mMode = 0; - mMax = 0; - break; - } - } - } - return this.mMode; - } - - // reflection map - private static Map reflectiveFishMap = new HashMap<>(); - - private ItemStack reflectiveFish(WeightedRandomFishable y) { - if (reflectiveFishMap.containsKey(y)) { - return reflectiveFishMap.get(y); - } - ItemStack t; - try { - t = (ItemStack) ReflectionUtils.getField(WeightedRandomFishable.class, "field_150711_b") - .get(y); - ItemStack k = ItemUtils.getSimpleStack(t, 1); - reflectiveFishMap.put(y, k); - return t; - } catch (IllegalArgumentException | IllegalAccessException e) {} - return null; - } - - private ItemStack[] generateLoot(int mode) { - ItemStack[] mFishOutput = new ItemStack[this.mMax]; - if (this.mMode == 14) { - for (int k = 0; k < this.mMax; k++) { - if (mFishOutput[k] == null) for (WeightedRandomFishable g : categoryFish.values()) { - if (MathUtils.randInt(0, (65 - getMaxParallelRecipes())) <= 2) { - ItemStack t = reflectiveFish(g); - if (t != null) { - mFishOutput[k] = ItemUtils.getSimpleStack(t, 1); - } - } - } - } - } else if (this.mMode == 15) { - for (int k = 0; k < this.mMax; k++) { - if (mFishOutput[k] == null) for (WeightedRandomFishable g : categoryJunk.values()) { - if (MathUtils.randInt(0, 100) <= 1) { - ItemStack t = reflectiveFish(g); - if (t != null) { - mFishOutput[k] = ItemUtils.getSimpleStack(t, 1); - } - } - } - } - } else if (this.mMode == 16) { - for (int k = 0; k < this.mMax; k++) { - if (mFishOutput[k] == null) for (WeightedRandomFishable g : categoryLoot.values()) { - if (MathUtils.randInt(0, 1000) <= 2) { - ItemStack t = reflectiveFish(g); - if (t != null) { - mFishOutput[k] = ItemUtils.getSimpleStack(t, 1); - } - } - } - } - } else { - mFishOutput = null; - } - return mFishOutput; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java deleted file mode 100644 index e7e74ac061..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java +++ /dev/null @@ -1,367 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.ArrayList; - -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_OverclockCalculator; -import gregtech.api.util.GT_ParallelHelper; -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.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_IndustrialRockBreaker extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_IndustrialRockBreaker(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_IndustrialRockBreaker(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_IndustrialRockBreaker(this.mName); - } - - @Override - public String getMachineType() { - return "Rock Breaker"; - } - - private static final String casingBaseName = GT_LanguageManager.getTranslation("gtplusplus.blockcasings.2.0.name"); - private static final String casingMiddleName = GT_LanguageManager - .getTranslation("gtplusplus.blockcasings.2.11.name"); - private static final String anyBaseCasing = "Any " + casingBaseName; - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Industrial Rock Breaker") - .addInfo("Speed: +200% | EU Usage: 75% | Parallel: Tier x 8") - .addInfo("Circuit goes in the GUI slot") - .addInfo("1 = cobble, 2 = stone, 3 = obsidian") - .addInfo("Supply Water/Lava") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 4, 3, true) - .addController("Bottom Center") - .addCasingInfoMin(casingBaseName, 9, false) - .addCasingInfoExactly(casingMiddleName, 16, false) - .addInputBus(anyBaseCasing, 1) - .addInputHatch(anyBaseCasing, 1) - .addOutputBus(anyBaseCasing, 1) - .addEnergyHatch(anyBaseCasing, 1) - .addMaintenanceHatch(anyBaseCasing, 1) - .addMufflerHatch(anyBaseCasing, 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCC", "CCC", "CCC" }, { "HHH", "H-H", "HHH" }, { "HHH", "H-H", "HHH" }, - { "C~C", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_IndustrialRockBreaker.class) - .atLeast(InputBus, InputHatch, OutputBus, Maintenance, Energy, Muffler) - .casingIndex(TAE.GTPP_INDEX(16)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 0)))) - .addElement('H', ofBlock(ModBlocks.blockCasings2Misc, 11)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 3, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 3, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - boolean aCheckPiece = checkPiece(mName, 1, 3, 0); - boolean aCasingCount = mCasing >= 9; - boolean aCheckHatch = checkHatch(); - log("" + aCheckPiece + ", " + aCasingCount + ", " + aCheckHatch); - return aCheckPiece && aCasingCount && aCheckHatch; - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_INDUCTION_LOOP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(16); - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.rockBreakerFakeRecipes; - } - - @Override - protected boolean filtersFluid() { - return false; - } - - @Override - public boolean isCorrectMachinePart(final ItemStack aStack) { - return true; - } - - private static GT_Recipe sRecipe_Cobblestone; - private static GT_Recipe sRecipe_SmoothStone; - private static GT_Recipe sRecipe_Redstone; - - private static void generateRecipes() { - sRecipe_Cobblestone = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(1) }, - new ItemStack[] { ItemUtils.getSimpleStack(Blocks.cobblestone) }, - null, - new int[] { 10000 }, - null, - null, - 16, - 32, - 0); - sRecipe_SmoothStone = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(2) }, - new ItemStack[] { ItemUtils.getSimpleStack(Blocks.stone) }, - null, - new int[] { 10000 }, - null, - null, - 16, - 32, - 0); - sRecipe_Redstone = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(3), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L) }, - new ItemStack[] { ItemUtils.getSimpleStack(Blocks.obsidian) }, - null, - new int[] { 10000 }, - null, - null, - 128, - 32, - 0); - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - ArrayList aFluids = this.getStoredFluids(); - if (aFluids.isEmpty()) { - return CheckRecipeResultRegistry.NO_RECIPE; - } - - boolean aHasWater = false; - boolean aHasLava = false; - for (FluidStack aFluid : aFluids) { - if (aFluid.getFluid() == FluidRegistry.WATER) { - aHasWater = true; - } else if (aFluid.getFluid() == FluidRegistry.LAVA) { - aHasLava = true; - } - } - ArrayList aItems = this.getStoredInputs(); - boolean aHasRedstone = false; - if (!aItems.isEmpty()) { - for (ItemStack aItem : aItems) { - if (GT_Utility - .areStacksEqual(aItem, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L))) { - aHasRedstone = true; - break; - } - } - } - - if (!aHasWater) { - return SimpleCheckRecipeResult.ofFailure("no_water"); - } - if (!aHasLava) { - return SimpleCheckRecipeResult.ofFailure("no_lava"); - } - ItemStack aGuiCircuit = this.getControllerSlot(); - if (!ItemUtils.isControlCircuit(aGuiCircuit)) { - return CheckRecipeResultRegistry.NO_RECIPE; - } - - if (sRecipe_Cobblestone == null || sRecipe_SmoothStone == null || sRecipe_Redstone == null) { - generateRecipes(); - } - - int aCircuit = aGuiCircuit.getItemDamage(); - - GT_Recipe tRecipe = null; - switch (aCircuit) { - case 1 -> tRecipe = sRecipe_Cobblestone; - case 2 -> tRecipe = sRecipe_SmoothStone; - case 3 -> { - if (aHasRedstone) { - tRecipe = sRecipe_Redstone; - } - } - } - - if (tRecipe == null) { - return CheckRecipeResultRegistry.NO_RECIPE; - } - - ItemStack[] aItemInputs = aItems.toArray(new ItemStack[0]); - FluidStack[] aFluidInputs = new FluidStack[] {}; - - long tEnergy = getMaxInputEnergy(); - // Remember last recipe - an optimization for findRecipe() - this.mLastRecipe = tRecipe; - - GT_ParallelHelper helper = new GT_ParallelHelper().setRecipe(tRecipe) - .setItemInputs(aItemInputs) - .setFluidInputs(aFluidInputs) - .setAvailableEUt(tEnergy) - .setMaxParallel(getMaxParallelRecipes()) - .setConsumption(true) - .setOutputCalculation(true) - .setEUtModifier(0.75F) - .setMachine(this); - - if (batchMode) { - helper.enableBatchMode(128); - } - - helper.build(); - - if (helper.getCurrentParallel() == 0) { - return CheckRecipeResultRegistry.ITEM_OUTPUT_FULL; - } - - this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); - this.mEfficiencyIncrease = 10000; - - GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(tRecipe.mEUt) - .setEUt(tEnergy) - .setDuration(tRecipe.mDuration) - .setEUtDiscount(0.75F) - .setSpeedBoost(1F / 3F) - .setParallel((int) Math.floor(helper.getCurrentParallel() / helper.getDurationMultiplierDouble())) - .calculate(); - lEUt = -calculator.getConsumption(); - mMaxProgresstime = (int) Math.ceil(calculator.getDuration() * helper.getDurationMultiplierDouble()); - - mOutputItems = helper.getItemOutputs(); - mOutputFluids = helper.getFluidOutputs(); - updateSlots(); - return CheckRecipeResultRegistry.SUCCESSFUL; - - } - - @Override - public int getMaxParallelRecipes() { - return (8 * GT_Utility.getTier(this.getMaxInputVoltage())); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialRockBreaker; - } - - @Override - public int getDamageToComponent(final ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public ArrayList getStoredInputs() { - ArrayList aInputs = super.getStoredInputs(); - if (this.getControllerSlot() != null) { - aInputs.add(this.getControllerSlot()); - } - return aInputs; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java deleted file mode 100644 index e77ac454ee..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java +++ /dev/null @@ -1,524 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Dynamo; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_Utility.filterValidMTEs; -import static gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase.GTPPHatchElement.AirIntake; -import static gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase.GTPPHatchElement.TTDynamo; - -import java.util.ArrayList; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.google.common.collect.ImmutableMap; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.shutdown.ShutDownReasonRegistry; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.item.chemistry.RocketFuels; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_AirIntake; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_LargeRocketEngine - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - protected int fuelConsumption; - protected int fuelValue; - protected int fuelRemaining; - protected int freeFuelTicks = 0; - protected int euProduction = 0; - protected boolean boostEu; - - public static String mLubricantName = "Carbon Dioxide"; - public static String mCoolantName = "Liquid Hydrogen"; - - public static String mCasingName = "Turbodyne Casing"; - public static String mIntakeHatchName = "Tungstensteel Turbine Casing"; - public static String mGearboxName = "Inconel Reinforced Casing"; - - private static Fluid sAirFluid = null; - private static FluidStack sAirFluidStack = null; - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - private static final int CASING_ID = TAE.getIndexFromPage(3, 11); - - public GregtechMetaTileEntity_LargeRocketEngine(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - this.fuelConsumption = 0; - this.fuelValue = 0; - this.fuelRemaining = 0; - this.boostEu = false; - setAir(); - } - - public GregtechMetaTileEntity_LargeRocketEngine(final String aName) { - super(aName); - this.fuelConsumption = 0; - this.fuelValue = 0; - this.fuelRemaining = 0; - this.boostEu = false; - setAir(); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Large Rocket Engine") - .addInfo("Generating Power from Rocket Fuels - Supports TecTech Multi-Amp Dynamos!") - .addInfo("Supply GT++ Rocket Fuels and 1000L of " + mLubricantName + " per hour") - .addInfo("Produces as much energy as you put fuel in, with optional boosting") - .addInfo("This multi doesn't accept fluids if not enabled - enable it first!") - .addInfo("Consumes 2000L/s of air and pollutes 1500 gibbl/s per 16384 eu/t produced") - .addInfo("Place 1-8 Air Intake Hatches on the sides to maintain Air input") - .addInfo("If it runs out of air, it will shut down and have to be manually restarted") - .addInfo("Supply 3L of " + mCoolantName + " per second, per 1000 EU/t to boost") - .addInfo("Takes 3x the amount of " + mLubricantName + " and maintains efficiency") - .addInfo("Fuel efficiency starts at ~160%, falls more slowly at higher EU/t if boosted") - .addInfo("If producing more than 30k EU/t, fuel efficiency will be lower:") - .addInfo("(These thresholds are 3x higher when boosted, boosted values displayed second)") - .addInfo("- 75% of max fuel efficiency at 53k or 159k EU/t output energy") - .addInfo("- 50% of max fuel efficiency at 69k or 207k EU/t output energy") - .addInfo("- 25% of max fuel efficiency at 98k or 294k EU/t output energy") - .addInfo("formula: x = input of energy (30000^(1/3)/ x^(1/3)) * (80000^(1/3)/ x^(1/3))") - .addSeparator() - .beginStructureBlock(3, 3, 10, false) - .addController("Front Center") - .addCasingInfoMin(mCasingName, 64, false) - .addCasingInfoMin(mGearboxName, 8, false) - .addStructureHint("Air Intake Hatch", 1) - .addInputBus("Side center line", 1) - .addInputHatch("Side center line", 1) - .addMaintenanceHatch("Any Block Touching Inconel Reinforced Casing", 1) - .addDynamoHatch("Top center line", 2) - .addMufflerHatch("Back Center", 3) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (this.STRUCTURE_DEFINITION == null) { - this.STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - this.mName, - transpose( - new String[][] { { "CTC", "CTC", "CTC", "CTC", "CTC", "CTC", "CTC", "CTC", "CTC", "CTC" }, - { "C~C", "SIS", "SIS", "SIS", "SIS", "SIS", "SIS", "SIS", "SIS", "CMC" }, - { "CCC", "CSC", "CSC", "CSC", "CSC", "CSC", "CSC", "CSC", "CSC", "CCC" }, })) - .addElement('C', ofBlock(getCasingBlock(), getCasingMeta())) - .addElement('I', ofBlock(getGearboxBlock(), getGearboxMeta())) - // side - .addElement( - 'S', - buildHatchAdder(GregtechMetaTileEntity_LargeRocketEngine.class) - .atLeast(ImmutableMap.of(AirIntake, 8, InputBus, 1, InputHatch, 3, Maintenance, 1)) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - // top - .addElement( - 'T', - buildHatchAdder(GregtechMetaTileEntity_LargeRocketEngine.class) - .atLeast(ImmutableMap.of(AirIntake, 8, Dynamo.or(TTDynamo), 1, Maintenance, 1)) - .casingIndex(getCasingTextureIndex()) - .dot(2) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - .addElement('M', Muffler.newAny(getCasingTextureIndex(), 3)) - .build(); - } - return this.STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(this.mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - this.mCasing = 0; - this.mTecTechDynamoHatches.clear(); - this.mAllDynamoHatches.clear(); - this.mAirIntakes.clear(); - return checkPiece(this.mName, 1, 1, 0) && this.mCasing >= 64 - 48 - && this.mAirIntakes.size() >= 1 - && checkHatch(); - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return CASING_ID; - } - - @Override - public boolean isCorrectMachinePart(final ItemStack aStack) { - return this.getMaxEfficiency(aStack) > 0; - } - - public static void setAir() { - if (sAirFluidStack == null) { - sAirFluidStack = FluidUtils.getFluidStack("air", 1); - } - if (sAirFluid == null && sAirFluidStack != null) { - sAirFluid = sAirFluidStack.getFluid(); - } - } - - public int getAir() { - setAir(); - if (this.mAirIntakes.isEmpty() || this.mAirIntakes.size() <= 0) { - return 0; - } else { - int totalAir = 0; - for (GT_MetaTileEntity_Hatch_AirIntake u : this.mAirIntakes) { - if (u != null && u.mFluid != null) { - FluidStack f = u.mFluid; - if (f.isFluidEqual(sAirFluidStack)) { - totalAir += f.amount; - } - } - } - return totalAir; - } - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.rocketFuels; - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - final ArrayList tFluids = this.getStoredFluids(); - this.clearRecipeMapForAllInputHatches(); - int aircount = getAir(); - int aAirToConsume = this.euProduction / 100; - if (aircount < aAirToConsume) { - stopMachine(ShutDownReasonRegistry.outOfFluid(new FluidStack(sAirFluid, aAirToConsume))); - return SimpleCheckRecipeResult.ofFailure("no_air"); - } else { - int aTotalAir = 0; - for (GT_MetaTileEntity_Hatch_AirIntake aAirHatch : this.mAirIntakes) { - if (aAirHatch.mFluid != null) { - aTotalAir += aAirHatch.getFluidAmount(); - } - } - if (aTotalAir >= aAirToConsume) { - int aSplitAmount = (aAirToConsume / this.mAirIntakes.size()); - if (aSplitAmount > 0) { - for (GT_MetaTileEntity_Hatch_AirIntake aAirHatch : mAirIntakes) { - boolean hasIntakeAir = aAirHatch.drain(aSplitAmount, true) != null; - if (!hasIntakeAir) { - this.freeFuelTicks = 0; - return SimpleCheckRecipeResult.ofFailure("no_air"); - } - } - } - } - } - // reset fuel ticks in case it does not reset when it stops - if (this.freeFuelTicks != 0 && this.mProgresstime == 0 && this.mEfficiency == 0) this.freeFuelTicks = 0; - - if (tFluids.size() > 0 && getRecipeMap() != null) { - if (this.mRuntime % 72 == 0) { - if (!consumeCO2()) { - this.freeFuelTicks = 0; - return SimpleCheckRecipeResult.ofFailure("no_co2"); - } - } - if (this.freeFuelTicks == 0) { - this.boostEu = consumeLOH(); - } - for (final FluidStack hatchFluid1 : tFluids) { - if (hatchFluid1.isFluidEqual(sAirFluidStack)) { - continue; - } - if (this.freeFuelTicks == 0) { - for (final GT_Recipe aFuel : getRecipeMap().getAllRecipes()) { - final FluidStack tLiquid; - tLiquid = aFuel.mFluidInputs[0]; - if (hatchFluid1.isFluidEqual(tLiquid)) { - if (!consumeFuel(aFuel, hatchFluid1.amount)) { - continue; - } - this.fuelValue = aFuel.mSpecialValue * 3; - this.fuelRemaining = hatchFluid1.amount; - this.lEUt = ((this.mEfficiency < 2000) ? 0 : GT_Values.V[5] << 1); - this.mProgresstime = 1; - this.mMaxProgresstime = 1; - this.mEfficiencyIncrease = this.euProduction / 2000; - return CheckRecipeResultRegistry.GENERATING; - } - } - } else { - this.mEfficiencyIncrease = this.euProduction / 2000; - this.freeFuelTicks--; - this.lEUt = ((this.mEfficiency < 1000) ? 0 : GT_Values.V[5] << 1); - this.mProgresstime = 1; - this.mMaxProgresstime = 1; - return CheckRecipeResultRegistry.GENERATING; - } - } - } - this.lEUt = 0; - this.mEfficiency = 0; - this.freeFuelTicks = 0; - return CheckRecipeResultRegistry.NO_FUEL_FOUND; - } - - /** - * Consumes Fuel if required. Free Fuel Ticks are handled here. - * - * @param aFuel - * @return - */ - public boolean consumeFuel(GT_Recipe aFuel, int amount) { - amount *= this.boostEu ? 0.3 : 0.9; - this.freeFuelTicks = 0; - int value = aFuel.mSpecialValue * 3; - int energy = value * amount; - if (amount < 5) return false; - FluidStack tLiquid = FluidUtils.getFluidStack(aFuel.mFluidInputs[0], (this.boostEu ? amount * 3 : amount)); - if (!this.depleteInput(tLiquid)) { - return false; - } else { - this.fuelConsumption = this.boostEu ? amount * 3 : amount; - this.freeFuelTicks = 20; - setEUProduction(energy); - return true; - } - } - - public void setEUProduction(int energy) { - energy /= 20; - double energyEfficiency; - double tDivideEnergy = Math.cbrt(energy); - if (energy > 30000) { - // cbrt(30 000) / - energyEfficiency = (31.072325 / tDivideEnergy); - if (energy >= 80000) - // cbrt(80 000) / - energyEfficiency *= (43.0886938 / tDivideEnergy); - energyEfficiency *= energy; - } else { - energyEfficiency = energy; - } - this.euProduction = (int) (energyEfficiency); - if (this.boostEu) this.euProduction *= 3; - } - - public boolean consumeCO2() { - return this.depleteInput(MISC_MATERIALS.CARBON_DIOXIDE.getFluidStack(this.boostEu ? 3 : 1)) - || this.depleteInput(FluidUtils.getFluidStack("carbondioxide", (this.boostEu ? 3 : 1))); - } - - public boolean consumeLOH() { - int LOHamount = (3 * this.euProduction) / 1000; - return this.depleteInput(FluidUtils.getFluidStack(RocketFuels.Liquid_Hydrogen, LOHamount)); // (40 * ((long) - // euProduction / - // 10000)) - } - - @Override - public boolean addEnergyOutput(long aEU) { - if (aEU <= 0) { - return true; - } - if (this.mAllDynamoHatches.size() > 0) { - return addEnergyOutputMultipleDynamos(aEU, true); - } - return false; - } - - @Override - public boolean addEnergyOutputMultipleDynamos(long aEU, boolean aAllowMixedVoltageDynamos) { - int injected = 0; - long totalOutput = 0; - long aFirstVoltageFound = -1; - boolean aFoundMixedDynamos = false; - for (GT_MetaTileEntity_Hatch aDynamo : filterValidMTEs(this.mAllDynamoHatches)) { - long aVoltage = aDynamo.maxEUOutput(); - long aTotal = aDynamo.maxAmperesOut() * aVoltage; - // Check against voltage to check when hatch mixing - if (aFirstVoltageFound == -1) { - aFirstVoltageFound = aVoltage; - } else { - if (aFirstVoltageFound != aVoltage) { - aFoundMixedDynamos = true; - } - } - totalOutput += aTotal; - } - - if (totalOutput < aEU || (aFoundMixedDynamos && !aAllowMixedVoltageDynamos)) { - explodeMultiblock(); - return false; - } - - long leftToInject; - long aVoltage; - int aAmpsToInject; - int aRemainder; - - for (GT_MetaTileEntity_Hatch aDynamo : filterValidMTEs(this.mAllDynamoHatches)) { - leftToInject = aEU - injected; - aVoltage = aDynamo.maxEUOutput(); - aAmpsToInject = (int) (leftToInject / aVoltage); - aRemainder = (int) (leftToInject - (aAmpsToInject * aVoltage)); - long powerGain; - for (int i = 0; i < Math.min(aDynamo.maxAmperesOut(), aAmpsToInject + 1); i++) { - if (i == Math.min(aDynamo.maxAmperesOut(), aAmpsToInject)) { - powerGain = aRemainder; - } else { - powerGain = aVoltage; - } - aDynamo.getBaseMetaTileEntity() - .increaseStoredEnergyUnits(powerGain, false); - injected += powerGain; - } - } - return injected > 0; - } - - public Block getCasingBlock() { - return ModBlocks.blockCasings4Misc; - } - - public byte getCasingMeta() { - return 11; - } - - public Block getGearboxBlock() { - return ModBlocks.blockCasings3Misc; - } - - public byte getGearboxMeta() { - return 1; - } - - public byte getCasingTextureIndex() { - return (byte) CASING_ID; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_LargeRocketEngine(this.mName); - } - - @Override - public void saveNBTData(final NBTTagCompound aNBT) { - aNBT.setInteger("freeFuelTicks", this.freeFuelTicks); - aNBT.setInteger("euProduction", this.euProduction); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - this.freeFuelTicks = aNBT.getInteger("freeFuelTicks"); - this.euProduction = aNBT.getInteger("euProduction"); - } - - @Override - public int getDamageToComponent(final ItemStack aStack) { - return 1; - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return this.euProduction; - } - - @Override - public int getPollutionPerTick(final ItemStack aStack) { - return 75 * (this.euProduction / 10000); - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return true; - } - - @Override - public String[] getExtraInfoData() { - return new String[] { "Rocket Engine", "Current Air: " + getAir(), - "Current Pollution: " + getPollutionPerTick(null), - "Time until next fuel consumption: " + this.freeFuelTicks, - "Current Output: " + this.lEUt * this.mEfficiency / 10000 + " EU/t", - "Fuel Consumption: " + (this.fuelConsumption) + "L/s", "Fuel Value: " + this.fuelValue + " EU/L", - "Fuel Remaining: " + this.fuelRemaining + " Litres", "Current Efficiency: " + this.mEfficiency / 100 + "%", - (this.getIdealStatus() == this.getRepairStatus()) ? "No Maintainance issues" : "Needs Maintainance" }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public String getMachineType() { - return "Rocket Engine"; - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public boolean doesBindPlayerInventory() { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java deleted file mode 100644 index 4403779d09..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java +++ /dev/null @@ -1,332 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Dynamo; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase.GTPPHatchElement.TTDynamo; - -import java.util.ArrayList; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.Materials; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; - -public class GregtechMetaTileEntity_LargeSemifluidGenerator extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - protected int fuelConsumption = 0; - protected int fuelValue = 0; - protected int fuelRemaining = 0; - protected boolean boostEu = false; - - public GregtechMetaTileEntity_LargeSemifluidGenerator(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_LargeSemifluidGenerator(String aName) { - super(aName); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Large Semifluid Generator") - .addInfo("Engine Intake Casings must not be obstructed in front (only air blocks)") - .addInfo("Supply Semifluid Fuels and 2000L of Lubricant per hour to run.") - .addInfo("Supply 80L of Oxygen per second to boost output (optional).") - .addInfo("Default: Produces 2048EU/t at 100% efficiency") - .addInfo("Boosted: Produces 6144EU/t at 150% efficiency") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 3, 4, false) - .addController("Front Center") - .addCasingInfoMin("Stable Titanium Machine Casing", 16, false) - .addCasingInfoMin("Steel Gear Box Machine Casing", 2, false) - .addCasingInfoMin("Engine Intake Machine Casing", 8, false) - .addInputHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .addDynamoHatch("Back Center", 2) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_DIESEL_ENGINE_ACTIVE; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_DIESEL_ENGINE; - } - - @Override - protected int getCasingTextureId() { - return 50; - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return getMaxEfficiency(aStack) > 0; - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - ArrayList tFluids = getStoredFluids(); - - // Check for lubricant and oxygen first, so we can compute costs ahead of time. - // This will allow us to check costs without needing to actually try to deplete fluids - // (wasting earlier fluids in the check if later fluids turn out to be insufficient). - FluidStack lubricant = Materials.Lubricant.getFluid(0L); - FluidStack oxygen = Materials.Oxygen.getGas(0L); - for (FluidStack hatchFluid : tFluids) { - if (hatchFluid.isFluidEqual(lubricant)) { - lubricant.amount = Math.max(lubricant.amount, hatchFluid.amount); - } else if (hatchFluid.isFluidEqual(oxygen)) { - oxygen.amount = Math.max(oxygen.amount, hatchFluid.amount); - } - } - boostEu = oxygen.amount >= 4L; - long lubricantCost = boostEu ? 2L : 1L; - if (lubricant.amount < lubricantCost) { - return SimpleCheckRecipeResult.ofFailure("no_lubricant"); - } - - for (FluidStack hatchFluid : tFluids) { // Loops through hatches - GT_Recipe aFuel = GTPPRecipeMaps.semiFluidFuels.getBackend() - .findFuel(hatchFluid); - if (aFuel == null) { - // Not a valid semi-fluid fuel. - continue; - } - - int newEUt = boostEu ? 4096 : 2048; - fuelConsumption = newEUt / aFuel.mSpecialValue; // Calc fuel consumption - FluidStack tLiquid = new FluidStack(hatchFluid.getFluid(), fuelConsumption); - if (depleteInput(tLiquid)) { // Deplete that amount - // We checked beforehand, so both of these depletions should succeed. - // But check the return values anyway just to be safe. - if (boostEu) { - if (!depleteInput(Materials.Oxygen.getGas(4L))) { - return SimpleCheckRecipeResult.ofFailure("no_oxygen"); - } - } - // Deplete Lubricant. 2000L should = 1 hour of runtime (if baseEU = 2048) - if (mRuntime % 72 == 0 || mRuntime == 0) { - if (!depleteInput(Materials.Lubricant.getFluid(lubricantCost))) { - return SimpleCheckRecipeResult.ofFailure("no_lubricant"); - } - } - - fuelValue = aFuel.mSpecialValue; - fuelRemaining = hatchFluid.amount; // Record available fuel - this.lEUt = mEfficiency < 2000 ? 0 : newEUt; // Output 0 if startup is less than 20% - this.mProgresstime = 1; - this.mMaxProgresstime = 1; - this.mEfficiencyIncrease = 15; - return CheckRecipeResultRegistry.GENERATING; - } - } - - this.lEUt = 0; - this.mEfficiency = 0; - return CheckRecipeResultRegistry.NO_FUEL_FOUND; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "III", "CCC", "CCC", "CCC" }, { "I~I", "CGC", "CGC", "CMC" }, - { "III", "CCC", "CCC", "CCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_LargeSemifluidGenerator.class) - .atLeast(Muffler, InputHatch, Maintenance) - .casingIndex(getCasingTextureIndex()) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(getCasingBlock(), getCasingMeta())))) - .addElement('G', ofBlock(getGearboxBlock(), getGearboxMeta())) - .addElement('I', ofBlock(getIntakeBlock(), getIntakeMeta())) - .addElement( - 'M', - Dynamo.or(TTDynamo) - .newAny(getCasingTextureIndex(), 2)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mDynamoHatches.clear(); - return checkPiece(mName, 1, 1, 0) && mCasing >= 16 && checkHatch(); - } - - public final boolean addLargeSemifluidGeneratorList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } - } - return false; - } - - public final boolean addLargeSemifluidGeneratorBackList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo || this.isThisHatchMultiDynamo(aTileEntity)) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } - } - return false; - } - - public Block getCasingBlock() { - return GregTech_API.sBlockCasings4; - } - - public byte getCasingMeta() { - return 2; - } - - public Block getIntakeBlock() { - return GregTech_API.sBlockCasings4; - } - - public byte getIntakeMeta() { - return 13; - } - - public Block getGearboxBlock() { - return GregTech_API.sBlockCasings2; - } - - public byte getGearboxMeta() { - return 3; - } - - public byte getCasingTextureIndex() { - return 50; - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_LargeSemifluidGenerator(this.mName); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 1; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return boostEu ? 15000 : 10000; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiLargeSemiFluidGenerator; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return true; - } - - @Override - public String[] getExtraInfoData() { - return new String[] { "Large Semifluid Generator", "Current Output: " + lEUt * mEfficiency / 10000 + " EU/t", - "Fuel Consumption: " + fuelConsumption + "L/t", "Fuel Value: " + fuelValue + " EU/L", - "Fuel Remaining: " + fuelRemaining + " Litres", "Current Efficiency: " + (mEfficiency / 100) + "%", - getIdealStatus() == getRepairStatus() ? "No Maintainance issues" : "Needs Maintainance" }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public String getMachineType() { - return "Semifluid Generator"; - } - - @Override - public int getMaxParallelRecipes() { - return 0; - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java deleted file mode 100644 index 69042b7982..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java +++ /dev/null @@ -1,337 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.Arrays; -import java.util.Collection; -import java.util.stream.Stream; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -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; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.ConfigCategories; -import gregtech.api.enums.Materials; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_Config; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaTileEntity_MassFabricator - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - public static int sUUAperUUM = 1; - public static int sUUASpeedBonus = 4; - public static int sDurationMultiplier = 3200; - - public static String mCasingName1 = "Matter Fabricator Casing"; - public static String mCasingName2 = "Containment Casing"; - public static String mCasingName3 = "Matter Generation Coil"; - - private int mMode = 0; - - private static final int MODE_SCRAP = 1; - private static final int MODE_UU = 0; - - public static boolean sRequiresUUA = false; - private static final FluidStack[] mUU = new FluidStack[2]; - private static final ItemStack[] mScrap = new ItemStack[2]; - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_MassFabricator(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_MassFabricator(final String aName) { - super(aName); - } - - @Override - public String getMachineType() { - return "Mass Fabricator / Recycler"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Matter Fabricator") - .addInfo("Speed: +0% | EU Usage: 80%") - .addInfo("Parallel: Scrap = 64 | UU = 8 * Tier") - .addInfo("Produces UU-A, UU-M & Scrap") - .addInfo("Change mode with screwdriver") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(5, 4, 5, true) - .addController("Front Center") - .addCasingInfoMin(mCasingName3, 9, false) - .addCasingInfoMin(mCasingName2, 24, false) - .addCasingInfoMin(mCasingName1, 36, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .addOutputHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addMaintenanceHatch("Any Casing", 1) - .addMufflerHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_MatterFab_Active_Animated; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_MatterFab_Animated; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(9); - } - - @Override - public void onConfigLoad(final GT_Config aConfig) { - super.onConfigLoad(aConfig); - sDurationMultiplier = aConfig - .get(ConfigCategories.machineconfig, "Massfabricator.UUM_Duration_Multiplier", sDurationMultiplier); - sUUAperUUM = aConfig.get(ConfigCategories.machineconfig, "Massfabricator.UUA_per_UUM", sUUAperUUM); - sUUASpeedBonus = aConfig.get(ConfigCategories.machineconfig, "Massfabricator.UUA_Speed_Bonus", sUUASpeedBonus); - sRequiresUUA = aConfig.get(ConfigCategories.machineconfig, "Massfabricator.UUA_Requirement", sRequiresUUA); - // Materials.UUAmplifier.mChemicalFormula = ("Mass Fabricator Eff/Speed Bonus: x" + sUUASpeedBonus); - } - - public static boolean sInit = false; - - public static void init() { - if (!sInit) { - if (mScrap[0] == null) { - mScrap[0] = ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrap")); - } - if (mScrap[1] == null) { - mScrap[1] = ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrapbox")); - } - if (mUU[0] == null) { - mUU[0] = Materials.UUAmplifier.getFluid(100); - } - if (mUU[1] == null) { - mUU[1] = Materials.UUMatter.getFluid(100); - } - sInit = true; - } - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { "CCCCC", "CCCCC", "CCCCC", "CCCCC", "CCCCC" }, - { "CGGGC", "G---G", "G---G", "G---G", "CGGGC" }, - { "CGGGC", "G---G", "G---G", "G---G", "CGGGC" }, - { "CC~CC", "CHHHC", "CHHHC", "CHHHC", "CCCCC" }, })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_MassFabricator.class) - .atLeast(InputBus, OutputBus, InputHatch, OutputHatch, Maintenance, Energy, Muffler) - .casingIndex(TAE.GTPP_INDEX(9)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasingsMisc, 9)))) - .addElement('H', ofBlock(ModBlocks.blockCasingsMisc, 8)) - .addElement('G', ofBlock(ModBlocks.blockCasings3Misc, 15)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 2, 3, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 2, 3, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - return checkPiece(mName, 2, 3, 0) && mCasing >= 36 && checkHatch(); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiMassFabricator; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_MassFabricator(this.mName); - } - - /** - * Special Recipe Handling - */ - @Override - public RecipeMap getRecipeMap() { - return this.mMode == MODE_SCRAP ? RecipeMaps.recyclerRecipes : GTPPRecipeMaps.multiblockMassFabricatorRecipes; - } - - @Nonnull - @Override - public Collection> getAvailableRecipeMaps() { - return Arrays.asList(RecipeMaps.recyclerRecipes, GTPPRecipeMaps.multiblockMassFabricatorRecipes); - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @NotNull - @Override - public CheckRecipeResult process() { - init(); - return super.process(); - } - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - if (mMode == MODE_SCRAP) { - if (recipe.mOutputs == null) { - return SimpleCheckRecipeResult.ofSuccess("no_scrap"); - } - } - return CheckRecipeResultRegistry.SUCCESSFUL; - } - - @Nonnull - @Override - protected Stream findRecipeMatches(@Nullable RecipeMap map) { - if (mMode == MODE_SCRAP) { - if (inputItems != null) { - for (ItemStack item : inputItems) { - if (item == null || item.stackSize == 0) continue; - ItemStack aPotentialOutput = GT_ModHandler - .getRecyclerOutput(GT_Utility.copyAmount(1, item), 0); - GT_Recipe recipe = new GT_Recipe( - false, - new ItemStack[] { GT_Utility.copyAmount(1, item) }, - aPotentialOutput == null ? null : new ItemStack[] { aPotentialOutput }, - null, - new int[] { 2000 }, - null, - null, - 40, - MaterialUtils.getVoltageForTier(1), - 0); - return Stream.of(recipe); - } - } - return Stream.empty(); - } - return super.findRecipeMatches(map); - } - }.setEuModifier(0.8F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - protected void setupProcessingLogic(ProcessingLogic logic) { - super.setupProcessingLogic(logic); - logic.enablePerfectOverclock(); - } - - @Override - public int getMaxParallelRecipes() { - return this.mMode == MODE_SCRAP ? 64 : 8 * (Math.max(1, GT_Utility.getTier(getMaxInputVoltage()))); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - int aMode = this.mMode + 1; - if (aMode > 1) { - this.mMode = MODE_UU; - PlayerUtils.messagePlayer(aPlayer, "Mode [" + this.mMode + "]: Matter/AmpliFabricator"); - } else if (aMode == 1) { - this.mMode = MODE_SCRAP; - PlayerUtils.messagePlayer(aPlayer, "Mode [" + this.mMode + "]: Recycler"); - } else { - this.mMode = MODE_SCRAP; - PlayerUtils.messagePlayer(aPlayer, "Mode [" + this.mMode + "]: Recycler"); - } - mLastRecipe = null; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("mMode", mMode); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - mMode = aNBT.getInteger("mMode"); - super.loadNBTData(aNBT); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java deleted file mode 100644 index bd5e579cd2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java +++ /dev/null @@ -1,939 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.lazy; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.withChannel; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.ExoticEnergy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_OreDictUnificator.getAssociation; -import static gregtech.api.util.GT_ParallelHelper.addFluidsLong; -import static gregtech.api.util.GT_ParallelHelper.addItemsLong; -import static gregtech.api.util.GT_ParallelHelper.calculateChancedOutputMultiplier; -import static gregtech.api.util.GT_RecipeBuilder.BUCKETS; -import static gregtech.api.util.GT_RecipeBuilder.INGOTS; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import javax.annotation.Nonnull; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import org.apache.commons.lang3.tuple.Pair; -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.ITierConverter; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; -import com.gtnewhorizon.structurelib.structure.StructureUtility; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPowerMultiBlockBase; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.objects.ItemData; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_ParallelHelper; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.shutdown.ShutDownReasonRegistry; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -@SuppressWarnings("SpellCheckingInspection") -public class GregtechMetaTileEntity_QuantumForceTransformer - extends GT_MetaTileEntity_ExtendedPowerMultiBlockBase - implements ISurvivalConstructable { - - private int mCasing; - protected int mCraftingTier = 0; - protected int mFocusingTier = 0; - protected int mMaxParallel = 0; - private boolean mFluidMode = false, doFermium = false, doNeptunium = false; - private static final Fluid mNeptunium = ELEMENT.getInstance().NEPTUNIUM.getPlasma(); - private static final Fluid mFermium = ELEMENT.getInstance().FERMIUM.getPlasma(); - private static final String MAIN_PIECE = "main"; - private GT_MetaTileEntity_Hatch_Input mNeptuniumHatch; - private GT_MetaTileEntity_Hatch_Input mFermiumHatch; - private static final IStructureDefinition STRUCTURE_DEFINITION = StructureDefinition - .builder() - .addShape( - MAIN_PIECE, - new String[][] { // A - 142, B - 234, C - 177, D - 96, E - 224, H - 36, M - 21 - { " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", - " ", " ", " ", " BAB ", " BBBBABBBB ", - " BAAAAAAAB ", " BABBABBAB ", " BA AB ", " A A ", " A A ", - " A A " }, - { " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", - " ", " ", " BAB ", " AAABBBAAA ", " BAAAAAAAAAB ", - " B B ", " A A ", " A A ", " ", " ", - " " }, - { " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", - " ", " BAB ", " AA AA ", " AA AA ", " BAA AAB ", - " B B ", " A A ", " A A ", " ", " ", - " " }, - { " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", - " ", " BAAAB ", " AA AA ", " AA AA ", "BAA AAB", - "B B", "A A", "A A", "A A", "A A", - "A A" }, - { " TTT ", " EEE ", " EEE ", " EEE ", " DDD ", - " EEE ", " DDD ", " EEE ", " EEE ", " EEE ", - " DDD ", " BAEEEAB ", " AA EEE AA ", " A EEE A ", "BA DDD AB", - "B EEE B", "B DDD B", " EEE ", " EEE ", " EEE ", - " Z~X " }, - { " TTTTT ", " ECCCE ", " ECCCE ", " ECCCE ", " D D ", - " ECCCE ", " D D ", " ECCCE ", " ECCCE ", " ECCCE ", - " D D ", " BAECCCEAB ", " A ECCCE A ", " A ECCCE A ", "BA D D AB", - "B ECCCE B", "B D D B", "B ECCCE B", " ECCCE ", " ECCCE ", - " HHHHH " }, - { " TTTTTTT ", " ECCCCCE ", " EC CE ", " EC CE ", " D D ", - " EC CE ", " D D ", " EC CE ", " EC CE ", " EC CE ", - " D D ", " BAEC CEAB ", " B EC CE B ", "BB EC CE BB", "BA D D AB", - "A EC CE A", "A D D A", "A EC CE A", " EC CE ", " EC CE ", - " HHHHHHH " }, - { " TTTTTTT ", " ECCCCCE ", " EC CE ", " EC CE ", " D D ", - " EC CE ", " D D ", " EC CE ", " EC CE ", " EC CE ", - " D D ", " AAEC CEAA ", " A EC CE A ", "AB EC CE BA", "AA D D AA", - "A EC CE A", "A D D A", " EC CE ", " EC CE ", " EC CE ", - " HHHHHHH " }, - { " TTTTTTT ", " ECCCCCE ", " EC CE ", " EC CE ", " D D ", - " EC CE ", " D D ", " EC CE ", " EC CE ", " EC CE ", - " D D ", " BAEC CEAB ", " B EC CE B ", "BB EC CE BB", "BA D D AB", - "A EC CE A", "A D D A", "A EC CE A", " EC CE ", " EC CE ", - " HHHHHHH " }, - { " TTTTT ", " ECCCE ", " ECCCE ", " ECCCE ", " D D ", - " ECCCE ", " D D ", " ECCCE ", " ECCCE ", " ECCCE ", - " D D ", " BAECCCEAB ", " A ECCCE A ", " A ECCCE A ", "BA D D AB", - "B ECCCE B", "B D D B", "B ECCCE B", " ECCCE ", " ECCCE ", - " HHHHH " }, - { " TTT ", " EEE ", " EEE ", " EEE ", " DDD ", - " EEE ", " DDD ", " EEE ", " EEE ", " EEE ", - " DDD ", " BAEEEAB ", " AA EEE AA ", " A EEE A ", "BA DDD AB", - "B EEE B", "B DDD B", " EEE ", " EEE ", " EEE ", - " HHH " }, - { " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", - " ", " BAAAB ", " AA AA ", " AA AA ", "BAA AAB", - "B B", "A A", "A A", "A A", "A A", - "A A" }, - { " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", - " ", " BAB ", " AA AA ", " AA AA ", " BAA AAB ", - " B B ", " A A ", " A A ", " ", " ", - " " }, - { " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", - " ", " ", " BAB ", " AAABBBAAA ", " BAAAAAAAAAB ", - " B B ", " A A ", " A A ", " ", " ", - " " }, - { " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", - " ", " ", " ", " BAB ", " BBBBABBBB ", - " BBBAAABBB ", " ABBAAABBA ", " A BA AB A ", " A A ", " A A ", - " A A " }, }) - .addElement( - 'A', - withChannel( - "manipulator", - StructureUtility.ofBlocksTiered( - craftingTierConverter(), - getAllCraftingTiers(), - 0, - GregtechMetaTileEntity_QuantumForceTransformer::setCraftingTier, - GregtechMetaTileEntity_QuantumForceTransformer::getCraftingTier))) - .addElement( - 'B', - withChannel( - "shielding", - StructureUtility.ofBlocksTiered( - focusingTierConverter(), - getAllFocusingTiers(), - 0, - GregtechMetaTileEntity_QuantumForceTransformer::setFocusingTier, - GregtechMetaTileEntity_QuantumForceTransformer::getFocusingTier))) - .addElement('C', ofBlock(ModBlocks.blockCasings4Misc, 4)) - .addElement('D', ofBlock(ModBlocks.blockCasings2Misc, 12)) - .addElement('E', lazy(t -> ofBlock(t.getCasingBlock1(), t.getCasingMeta1()))) - .addElement( - 'H', - buildHatchAdder(GregtechMetaTileEntity_QuantumForceTransformer.class) - .atLeast(InputBus, InputHatch, Maintenance, Energy.or(ExoticEnergy)) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(4) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 12)))) - .addElement( - 'T', - buildHatchAdder(GregtechMetaTileEntity_QuantumForceTransformer.class) - .atLeast(OutputBus, OutputHatch, Maintenance) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(5) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 12)))) - .addElement( - 'Z', - buildHatchAdder(GregtechMetaTileEntity_QuantumForceTransformer.class) - .hatchClass(GT_MetaTileEntity_Hatch_Input.class) - .adder(GregtechMetaTileEntity_QuantumForceTransformer::addNeptuniumHatch) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(5) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 12)))) - .addElement( - 'X', - buildHatchAdder(GregtechMetaTileEntity_QuantumForceTransformer.class) - .hatchClass(GT_MetaTileEntity_Hatch_Input.class) - .adder(GregtechMetaTileEntity_QuantumForceTransformer::addFermiumHatch) - .casingIndex(TAE.getIndexFromPage(0, 10)) - .dot(5) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 12)))) - .build(); - - public GregtechMetaTileEntity_QuantumForceTransformer(final int aID, final String aName, - final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_QuantumForceTransformer(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_QuantumForceTransformer(this.mName); - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType("Quantum Force Transformer") - .addInfo("Controller Block for the Quantum Force Transformer") - .addInfo("Allows Complex chemical lines to be performed instantly in one step") - .addInfo("Every recipe requires a catalyst, each catalyst adds 1 parallel and lasts forever") - .addInfo("Accepts TecTech Energy and Laser Hatches") - .addInfo("All inputs go on the bottom, all outputs go on the top") - .addInfo("Put a circuit in the controller to specify the focused output") - .addInfo("Check NEI to see the order of outputs, and which circuit number you need.") - .addInfo("If separate input busses are enabled put the circuit in the circuit slot of the bus") - .addInfo("Uses FocusTier*4*sqrt(parallels) Neptunium Plasma if focusing") - .addInfo("Can use FocusTier*4*sqrt(parallels) Fermium Plasma for additional chance output") - .addInfo("Use a screwdriver to enable Fluid mode") - .addInfo( - "Fluid mode turns all possible outputs into their fluid variant, those which can't are left as they were.") - .addInfo("This multi gets improved when all casings of some types are upgraded") - .addInfo("Casing functions:") - .addInfo("Pulse Manipulators: Recipe Tier Allowed (check NEI for the tier of each recipe)") - .addInfo("Shielding Cores: Focusing Tier (equal to or higher than recipe tier to allow focus)") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(15, 21, 15, true) - .addController("Bottom Center") - .addCasingInfoMin("Bulk Production Frame", 80, false) - .addCasingInfoMin("Quantum Force Conductor", 177, false) - .addCasingInfoMin("Force Field Glass", 224, false) - .addCasingInfoMin("Pulse Manipulators", 236, true) - .addCasingInfoMin("Shielding Cores", 142, true) - .addInputBus(EnumChatFormatting.BLUE + "Bottom" + EnumChatFormatting.GRAY + " Layer", 4) - .addInputHatch(EnumChatFormatting.BLUE + "Bottom" + EnumChatFormatting.GRAY + " Layer", 4) - .addOutputHatch(EnumChatFormatting.AQUA + "Top" + EnumChatFormatting.GRAY + " Layer", 5) - .addOutputBus(EnumChatFormatting.AQUA + "Top" + EnumChatFormatting.GRAY + " Layer", 5) - .addEnergyHatch(EnumChatFormatting.BLUE + "Bottom" + EnumChatFormatting.GRAY + " Layer", 4) - .addMaintenanceHatch( - EnumChatFormatting.BLUE + "Bottom" - + EnumChatFormatting.GRAY - + " or " - + EnumChatFormatting.AQUA - + "Top" - + EnumChatFormatting.GRAY - + " Layer", - 4, - 5) - .addStructureInfo( - EnumChatFormatting.WHITE + "Neptunium Plasma Hatch: " - + EnumChatFormatting.GREEN - + "Left" - + EnumChatFormatting.GRAY - + " side of Controller") - .addStructureInfo( - EnumChatFormatting.WHITE + "Fermium Plasma Hatch: " - + EnumChatFormatting.DARK_GREEN - + "Right" - + EnumChatFormatting.GRAY - + " side of Controller") - .toolTipFinisher( - GT_Values.AuthorBlueWeabo + EnumChatFormatting.RESET - + EnumChatFormatting.GREEN - + " + Steelux" - + EnumChatFormatting.RESET - + " - [GT++]"); - return tt; - } - - @Override - public IStructureDefinition getStructureDefinition() { - return STRUCTURE_DEFINITION; - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - this.mCasing = 0; - this.mCraftingTier = 0; - this.mFocusingTier = 0; - if (!checkPiece(MAIN_PIECE, 7, 20, 4)) { - return false; - } - - if (mMaintenanceHatches.size() != 1 || mOutputBusses.isEmpty() || mOutputHatches.isEmpty()) { - return false; - } - - return checkExoticAndNormalEnergyHatches(); - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(MAIN_PIECE, stackSize, hintsOnly, 7, 20, 4); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(MAIN_PIECE, stackSize, 7, 20, 4, elementBudget, env, false, true); - } - - public static List> getAllCraftingTiers() { - return new ArrayList<>() { - - { - add(Pair.of(ModBlocks.blockCasings5Misc, 7)); - add(Pair.of(ModBlocks.blockCasings5Misc, 8)); - add(Pair.of(ModBlocks.blockCasings5Misc, 9)); - add(Pair.of(ModBlocks.blockCasings5Misc, 10)); - } - }; - } - - public static List> getAllFocusingTiers() { - return new ArrayList<>() { - - { - add(Pair.of(ModBlocks.blockCasings5Misc, 11)); - add(Pair.of(ModBlocks.blockCasings5Misc, 12)); - add(Pair.of(ModBlocks.blockCasings5Misc, 13)); - add(Pair.of(ModBlocks.blockCasings5Misc, 14)); - } - }; - } - - public static ITierConverter craftingTierConverter() { - return (block, meta) -> { - if (block == null) { - return -1; - } else if (block == ModBlocks.blockCasings5Misc) { // Resonance Chambers - switch (meta) { - case 7 -> { - return 1; - } - case 8 -> { - return 2; - } - case 9 -> { - return 3; - } - case 10 -> { - return 4; - } - } - } - return -1; - }; - } - - public static ITierConverter focusingTierConverter() { - return (block, meta) -> { - if (block == null) { - return -1; - } else if (block == ModBlocks.blockCasings5Misc) { // Generation Coils - switch (meta) { - case 11 -> { - return 1; - } - case 12 -> { - return 2; - } - case 13 -> { - return 3; - } - case 14 -> { - return 4; - } - } - } - return -1; - }; - } - - private void setCraftingTier(int tier) { - mCraftingTier = tier; - } - - private void setFocusingTier(int tier) { - mFocusingTier = tier; - } - - private int getCraftingTier() { - return mCraftingTier; - } - - private int getFocusingTier() { - return mFocusingTier; - } - - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - protected int getCasingTextureId() { - return TAE.getIndexFromPage(0, 10); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.quantumForceTransformerRecipes; - } - - @Override - public boolean isCorrectMachinePart(final ItemStack aStack) { - return true; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - private int[] chances; - private FluidStack[] fluidModeItems; - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - if (recipe.mSpecialValue > getCraftingTier()) { - return CheckRecipeResultRegistry.insufficientMachineTier(recipe.mSpecialValue); - } - ItemStack catalyst = null; - for (ItemStack item : recipe.mInputs) { - if (ItemUtils.isCatalyst(item)) { - catalyst = item; - break; - } - } - - if (catalyst == null) { - return SimpleCheckRecipeResult.ofFailure("no_catalyst"); - } - - maxParallel = 0; - for (ItemStack item : inputItems) { - if (ItemUtils.isCatalyst(item) && item.isItemEqual(catalyst)) { - maxParallel += item.stackSize; - } - } - - mMaxParallel = maxParallel; - doFermium = false; - doNeptunium = false; - - if (recipe.mSpecialValue <= getFocusingTier()) { - if (drain(mFermiumHatch, new FluidStack(mFermium, 1), false)) { - doFermium = true; - } - if (drain(mNeptuniumHatch, new FluidStack(mNeptunium, 1), false)) { - doNeptunium = true; - } - } - - chances = getOutputChances(recipe, doNeptunium ? findProgrammedCircuitNumber() : -1); - - // Handle Fluid Mode. Add fluid that item can be turned into to fluidModeItems. - // null if Fluid Mode is disabled or item cannot be turned into fluid. - fluidModeItems = new FluidStack[recipe.mOutputs.length]; - if (mFluidMode) { - for (int i = 0; i < recipe.mOutputs.length; i++) { - ItemStack item = recipe.getOutput(i); - if (item == null) continue; - ItemData data = getAssociation(item); - Materials mat = data == null ? null : data.mMaterial.mMaterial; - if (mat != null) { - if (mat.mStandardMoltenFluid != null) { - fluidModeItems[i] = mat.getMolten(INGOTS); - } else if (mat.mFluid != null) { - fluidModeItems[i] = mat.getFluid(BUCKETS); - } - } - } - } - - return CheckRecipeResultRegistry.SUCCESSFUL; - } - - @NotNull - @Override - public GT_ParallelHelper createParallelHelper(@Nonnull GT_Recipe recipe) { - return super.createParallelHelper(recipe).setCustomItemOutputCalculation(parallel -> { - ArrayList items = new ArrayList<>(); - - for (int i = 0; i < recipe.mOutputs.length; i++) { - ItemStack item = recipe.getOutput(i); - if (item == null || fluidModeItems[i] != null) continue; - ItemStack itemToAdd = item.copy(); - double outputMultiplier = calculateChancedOutputMultiplier(chances[i], parallel); - long itemAmount = (long) (item.stackSize * outputMultiplier); - addItemsLong(items, itemToAdd, itemAmount); - } - - return items.toArray(new ItemStack[0]); - }) - .setCustomFluidOutputCalculation(parallel -> { - ArrayList fluids = new ArrayList<>(); - - if (mFluidMode) { - for (int i = 0; i < recipe.mOutputs.length; i++) { - FluidStack fluid = fluidModeItems[i]; - if (fluid == null) continue; - FluidStack fluidToAdd = fluid.copy(); - double outputMultiplier = calculateChancedOutputMultiplier(chances[i], parallel); - int itemAmount = recipe.mOutputs[i].stackSize; - long fluidAmount = (long) (fluidToAdd.amount * outputMultiplier * itemAmount); - addFluidsLong(fluids, fluidToAdd, fluidAmount); - } - } - - for (int i = 0; i < recipe.mFluidOutputs.length; i++) { - FluidStack fluid = recipe.getFluidOutput(i); - if (fluid == null) continue; - FluidStack fluidToAdd = fluid.copy(); - double outputMultiplier = calculateChancedOutputMultiplier( - chances[i + recipe.mOutputs.length], - parallel); - long fluidAmount = (long) (fluidToAdd.amount * outputMultiplier); - addFluidsLong(fluids, fluidToAdd, fluidAmount); - } - - return fluids.toArray(new FluidStack[0]); - }); - } - - private int findProgrammedCircuitNumber() { - if (isInputSeparationEnabled()) { - for (ItemStack stack : inputItems) { - if (GT_Utility.isAnyIntegratedCircuit(stack)) { - return stack.getItemDamage() - 1; - } - } - return -1; - } else { - final ItemStack controllerStack = getControllerSlot(); - return GT_Utility.isAnyIntegratedCircuit(controllerStack) ? controllerStack.getItemDamage() - 1 - : -1; - } - } - }; - } - - @Override - protected void setProcessingLogicPower(ProcessingLogic logic) { - logic.setAvailableVoltage(getAverageInputVoltage()); - logic.setAvailableAmperage(getMaxInputAmps()); - } - - private byte runningTick = 0; - - @Override - public boolean onRunningTick(ItemStack aStack) { - if (!super.onRunningTick(aStack)) { - return false; - } - - if (runningTick % 20 == 0) { - int amount = (int) (getFocusingTier() * 4 - * Math.sqrt(Math.min(mMaxParallel, processingLogic.getCurrentParallels()))); - if (doFermium) { - FluidStack fermiumToConsume = new FluidStack(mFermium, amount); - if (!drain(mFermiumHatch, fermiumToConsume, true)) { - doFermium = false; - stopMachine(ShutDownReasonRegistry.outOfFluid(fermiumToConsume)); - return false; - } - } - - if (doNeptunium) { - FluidStack neptuniumToConsume = new FluidStack(mNeptunium, amount); - if (!drain(mNeptuniumHatch, neptuniumToConsume, true)) { - doNeptunium = false; - stopMachine(ShutDownReasonRegistry.outOfFluid(neptuniumToConsume)); - return false; - } - } - - runningTick = 1; - } else { - runningTick++; - } - - return true; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (aBaseMetaTileEntity.isServerSide()) { - // TODO: Look for proper fix - // Updates every 30 sec - if (mUpdate <= -550) mUpdate = 50; - } - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return 0; - } - - @Override - public int getDamageToComponent(final ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - private int[] getOutputChances(GT_Recipe tRecipe, int aChanceIncreased) { - int difference = getFocusingTier() - tRecipe.mSpecialValue; - int aOutputsAmount = tRecipe.mOutputs.length + tRecipe.mFluidOutputs.length; - int aChancePerOutput = 10000 / aOutputsAmount; - int[] tChances = new int[aOutputsAmount]; - Arrays.fill(tChances, aChancePerOutput); - - switch (difference) { - case 0 -> { - for (int i = 0; i < tChances.length; i++) { - if (doNeptunium) { - if (i == aChanceIncreased) { - tChances[i] += aChancePerOutput / 2 * (aOutputsAmount - 1); - } else { - tChances[i] /= 2; - } - } - - if (doFermium) { - tChances[i] += (10000 - tChances[i]) / 4; - } - } - } - case 1 -> { - for (int i = 0; i < tChances.length; i++) { - if (doNeptunium) { - if (i == aChanceIncreased) { - tChances[i] += aChancePerOutput * 3 / 4 * (aOutputsAmount - 1); - } else { - tChances[i] /= 4; - } - } - - if (doFermium) { - tChances[i] += (10000 - tChances[i]) / 3; - } - } - } - case 2, 3 -> { - for (int i = 0; i < tChances.length; i++) { - if (doNeptunium) { - if (i == aChanceIncreased) { - tChances[i] = 10000; - } else { - tChances[i] = 0; - } - } - - if (doFermium) { - tChances[i] += (10000 - tChances[i]) / 2; - } - } - } - } - return tChances; - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - mFluidMode = !mFluidMode; - GT_Utility.sendChatToPlayer( - aPlayer, - StatCollector.translateToLocal("miscutils.machines.QFTFluidMode") + " " + mFluidMode); - } - - public boolean addNeptuniumHatch(IGregTechTileEntity aTileEntity, short aBaseCasingIndex) { - if (aTileEntity == null) return false; - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) return false; - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = null; - mNeptuniumHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity; - return true; - } - return false; - } - - public boolean addFermiumHatch(IGregTechTileEntity aTileEntity, short aBaseCasingIndex) { - if (aTileEntity == null) return false; - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) return false; - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = null; - mFermiumHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity; - return true; - } - return false; - } - - public Block getCasingBlock1() { - return ModBlocks.blockCasings5Misc; - } - - public byte getCasingMeta1() { - return 15; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setBoolean("mFluidMode", mFluidMode); - aNBT.setBoolean("doFermium", doFermium); - aNBT.setBoolean("doNeptunium", doNeptunium); - aNBT.setInteger("mMaxParallel", mMaxParallel); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - if (!aNBT.hasKey(INPUT_SEPARATION_NBT_KEY)) { - inputSeparation = aNBT.getBoolean("mSeparateInputBusses"); - } - if (!aNBT.hasKey(BATCH_MODE_NBT_KEY)) { - batchMode = aNBT.getBoolean("mBatchMode"); - } - mFluidMode = aNBT.getBoolean("mFluidMode"); - doFermium = aNBT.getBoolean("doFermium"); - doNeptunium = aNBT.getBoolean("doNeptunium"); - mMaxParallel = aNBT.getInteger("mMaxParallel"); - } - - @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection facing, - int aColorIndex, boolean aActive, boolean aRedstone) { - if (side == facing) { - if (aActive) return new ITexture[] { getCasingTexture(), TextureFactory.builder() - .addIcon(getActiveOverlay()) - .extFacing() - .build() }; - return new ITexture[] { getCasingTexture(), TextureFactory.builder() - .addIcon(getInactiveOverlay()) - .extFacing() - .build() }; - } - return new ITexture[] { getCasingTexture() }; - } - - private ITexture getCasingTexture() { - return Textures.BlockIcons.getCasingTextureForId(getCasingTextureId()); - } - - @SideOnly(Side.CLIENT) - private void renderForceField(double x, double y, double z, int side, double minU, double maxU, double minV, - double maxV) { - // spotless:off - Tessellator tes = Tessellator.instance; - switch (side) { - case 0 -> { - tes.addVertexWithUV(x + 3, y, z + 7, maxU, maxV); - tes.addVertexWithUV(x + 3, y + 4, z + 7, maxU, minV); - tes.addVertexWithUV(x - 3, y + 4, z + 7, minU, minV); - tes.addVertexWithUV(x - 3, y, z + 7, minU, maxV); - tes.addVertexWithUV(x - 3, y, z + 7, minU, maxV); - tes.addVertexWithUV(x - 3, y + 4, z + 7, minU, minV); - tes.addVertexWithUV(x + 3, y + 4, z + 7, maxU, minV); - tes.addVertexWithUV(x + 3, y, z + 7, maxU, maxV); - } - case 1 -> { - tes.addVertexWithUV(x + 7, y, z + 4, maxU, maxV); - tes.addVertexWithUV(x + 7, y + 4, z + 4, maxU, minV); - tes.addVertexWithUV(x + 7, y + 4, z - 4, minU, minV); - tes.addVertexWithUV(x + 7, y, z - 4, minU, maxV); - tes.addVertexWithUV(x + 7, y, z - 4, minU, maxV); - tes.addVertexWithUV(x + 7, y + 4, z - 4, minU, minV); - tes.addVertexWithUV(x + 7, y + 4, z + 4, maxU, minV); - tes.addVertexWithUV(x + 7, y, z + 4, maxU, maxV); - } - case 2 -> { - tes.addVertexWithUV(x + 3, y, z - 7, maxU, maxV); - tes.addVertexWithUV(x + 3, y + 4, z - 7, maxU, minV); - tes.addVertexWithUV(x - 3, y + 4, z - 7, minU, minV); - tes.addVertexWithUV(x - 3, y, z - 7, minU, maxV); - tes.addVertexWithUV(x - 3, y, z - 7, minU, maxV); - tes.addVertexWithUV(x - 3, y + 4, z - 7, minU, minV); - tes.addVertexWithUV(x + 3, y + 4, z - 7, maxU, minV); - tes.addVertexWithUV(x + 3, y, z - 7, maxU, maxV); - } - case 3 -> { - tes.addVertexWithUV(x - 7, y, z + 4, maxU, maxV); - tes.addVertexWithUV(x - 7, y + 4, z + 4, maxU, minV); - tes.addVertexWithUV(x - 7, y + 4, z - 4, minU, minV); - tes.addVertexWithUV(x - 7, y, z - 4, minU, maxV); - tes.addVertexWithUV(x - 7, y, z - 4, minU, maxV); - tes.addVertexWithUV(x - 7, y + 4, z - 4, minU, minV); - tes.addVertexWithUV(x - 7, y + 4, z + 4, maxU, minV); - tes.addVertexWithUV(x - 7, y, z + 4, maxU, maxV); - } - case 4 -> { - tes.addVertexWithUV(x - 3, y, z + 7, maxU, maxV); - tes.addVertexWithUV(x - 3, y + 4, z + 7, maxU, minV); - tes.addVertexWithUV(x - 7, y + 4, z + 4, minU, minV); - tes.addVertexWithUV(x - 7, y, z + 4, minU, maxV); - tes.addVertexWithUV(x - 7, y, z + 4, minU, maxV); - tes.addVertexWithUV(x - 7, y + 4, z + 4, minU, minV); - tes.addVertexWithUV(x - 3, y + 4, z + 7, maxU, minV); - tes.addVertexWithUV(x - 3, y, z + 7, maxU, maxV); - } - case 5 -> { - tes.addVertexWithUV(x - 3, y, z - 7, maxU, maxV); - tes.addVertexWithUV(x - 3, y + 4, z - 7, maxU, minV); - tes.addVertexWithUV(x - 7, y + 4, z - 4, minU, minV); - tes.addVertexWithUV(x - 7, y, z - 4, minU, maxV); - tes.addVertexWithUV(x - 7, y, z - 4, minU, maxV); - tes.addVertexWithUV(x - 7, y + 4, z - 4, minU, minV); - tes.addVertexWithUV(x - 3, y + 4, z - 7, maxU, minV); - tes.addVertexWithUV(x - 3, y, z - 7, maxU, maxV); - } - case 6 -> { - tes.addVertexWithUV(x + 3, y, z + 7, maxU, maxV); - tes.addVertexWithUV(x + 3, y + 4, z + 7, maxU, minV); - tes.addVertexWithUV(x + 7, y + 4, z + 4, minU, minV); - tes.addVertexWithUV(x + 7, y, z + 4, minU, maxV); - tes.addVertexWithUV(x + 7, y, z + 4, minU, maxV); - tes.addVertexWithUV(x + 7, y + 4, z + 4, minU, minV); - tes.addVertexWithUV(x + 3, y + 4, z + 7, maxU, minV); - tes.addVertexWithUV(x + 3, y, z + 7, maxU, maxV); - } - case 7 -> { - tes.addVertexWithUV(x + 3, y, z - 7, maxU, maxV); - tes.addVertexWithUV(x + 3, y + 4, z - 7, maxU, minV); - tes.addVertexWithUV(x + 7, y + 4, z - 4, minU, minV); - tes.addVertexWithUV(x + 7, y, z - 4, minU, maxV); - tes.addVertexWithUV(x + 7, y, z - 4, minU, maxV); - tes.addVertexWithUV(x + 7, y + 4, z - 4, minU, minV); - tes.addVertexWithUV(x + 3, y + 4, z - 7, maxU, minV); - tes.addVertexWithUV(x + 3, y, z - 7, maxU, maxV); - } - } - } - - @SideOnly(Side.CLIENT) - @Override - public boolean renderInWorld(IBlockAccess aWorld, int x, int y, int z, Block block, RenderBlocks renderer) { - Tessellator tes = Tessellator.instance; - IIcon forceField = TexturesGtBlock.ForceField.getIcon(); - if (getBaseMetaTileEntity().isActive()) { - double minU = forceField.getMinU(); - double maxU = forceField.getMaxU(); - double minV = forceField.getMinV(); - double maxV = forceField.getMaxV(); - double xBaseOffset = 3 * getExtendedFacing().getRelativeBackInWorld().offsetX; - double zBaseOffset = 3 * getExtendedFacing().getRelativeBackInWorld().offsetZ; - tes.setColorOpaque_F(1f, 1f, 1f); - tes.setBrightness(15728880); - //Center O: 0, 0 1 ------- 8 - //Corner 1: 7, -2 / \ - //Corner 2: 3, -6 2 / \ 7 - //Corner 3: -2, -6 | | - //Corner 4: -6, -2 | O | - //Corner 5: -6, 3 | | - //Corner 6: -2, 7 3 \ / 6 - //Corner 7: 3, 7 \ / - //Corner 8: 7, 3 4 ------- 5 - renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 0, minU, maxU, minV, maxV); - renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 1, minU, maxU, minV, maxV); - renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 2, minU, maxU, minV, maxV); - renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 3, minU, maxU, minV, maxV); - renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 4, minU, maxU, minV, maxV); - renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 5, minU, maxU, minV, maxV); - renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 6, minU, maxU, minV, maxV); - renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 7, minU, maxU, minV, maxV); - } - // Needs to be false to render the controller - return false; - //spotless:on - } - - @Override - public boolean supportsInputSeparation() { - return true; - } - - @Override - public boolean supportsBatchMode() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java deleted file mode 100644 index 8a6564858e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java +++ /dev/null @@ -1,220 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.filterByMTETier; - -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; - -public class GregtechMetaTileEntity_Refinery extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_Refinery(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_Refinery(final String aName) { - super(aName); - } - - @Override - public String getMachineType() { - return "Fuel Refinery"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Fission Fuel Processing Unit") - .addInfo("Refines fluorides and Uranium into nuclear fuel for the LFTR") - .addInfo("LFTR Fuel 2 and Fuel 3 have alternative, much more efficient recipes") - .addInfo("However, they require fission breeding outputs from the LFTR itself") - .addInfo("Only one Energy Hatch is allowed per Processing Unit") - .addInfo("All recipe times in this multi are very long, watch out!") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(3, 9, 3, false) - .addController("Bottom Center") - .addCasingInfoMin("Hastelloy-X Structural Block", 7, false) - .addCasingInfoMin("Incoloy-DS Fluid Containment Block", 5, false) - .addCasingInfoMin("Zeron-100 Reactor Shielding", 4, false) - .addCasingInfoMin("Hastelloy-N Sealant Blocks", 17, false) - .addInputHatch("Base platform", 1) - .addOutputHatch("Base platform", 1) - .addMufflerHatch("Base platform", 1) - .addMaintenanceHatch("Base platform", 1) - .addEnergyHatch("Base platform", 1) - .addStructureInfo("Muffler's Tier must be IV+") - .addStructureInfo("2-4x Input Hatches, 1-2x Output Hatches") - .addStructureInfo("1x Muffler, 1x Maintenance Hatch, 1x Energy Hatch") - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - protected IIconContainer getActiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_MULTI_SMELTER_ACTIVE; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return Textures.BlockIcons.OVERLAY_FRONT_MULTI_SMELTER; - } - - @Override - protected int getCasingTextureId() { - return TAE.GTPP_INDEX(18); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.fissionFuelProcessingRecipes; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic(); - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public boolean addMufflerToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler - && ((GT_MetaTileEntity_Hatch_Muffler) aMetaTileEntity).mTier >= 5) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } - } - return false; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { { " ", " N ", " " }, { " N ", "NIN", " N " }, { " N ", "NIN", " N " }, - { " N ", "NIN", " N " }, { " Z ", "ZIZ", " Z " }, { " N ", "NIN", " N " }, - { "XXX", "XXX", "XXX" }, { "X~X", "XXX", "XXX" }, })) - .addElement( - 'X', - ofChain( - buildHatchAdder(GregtechMetaTileEntity_Refinery.class) - .atLeast(Energy, Maintenance, OutputHatch, OutputBus, InputHatch) - .casingIndex(TAE.GTPP_INDEX(18)) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_Refinery.class).atLeast(Muffler) - .adder(GregtechMetaTileEntity_Refinery::addMufflerToMachineList) - .hatchItemFilterAnd(t -> filterByMTETier(6, Integer.MAX_VALUE)) - .casingIndex(TAE.GTPP_INDEX(18)) - .dot(1) - .build(), - onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 2)))) - .addElement('I', ofBlock(ModBlocks.blockCasings2Misc, 3)) - .addElement('N', ofBlock(ModBlocks.blockCasings2Misc, 1)) - .addElement('Z', ofBlock(ModBlocks.blockCasingsMisc, 13)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 1, 7, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 1, 7, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - if (checkPiece(mName, 1, 7, 0) && mCasing >= 7) { - if (this.mInputHatches.size() >= 2 && this.mInputHatches.size() <= 4 - && this.mOutputHatches.size() >= 1 - && this.mOutputHatches.size() <= 2 - && this.mMufflerHatches.size() == 1 - && this.mMaintenanceHatches.size() == 1 - && this.mEnergyHatches.size() == 1) { - this.resetRecipeMapForAllInputHatches(this.getRecipeMap()); - 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 getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiRefinery; - } - - @Override - public int getDamageToComponent(final ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_Refinery(this.mName); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java deleted file mode 100644 index 0395ab5a01..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java +++ /dev/null @@ -1,675 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.lazy; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.ArrayList; - -import net.minecraft.block.Block; -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; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.SoundResource; -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.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.MISC_MATERIALS; -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 gtPlusPlus.xmod.gregtech.common.tileentities.misc.TileEntitySolarHeater; - -public class GregtechMetaTileEntity_SolarTower extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - // 862 - private static final int mCasingTextureID = TAE.getIndexFromPage(3, 9); - private int mHeatLevel = 0; - private int mCasing1; - private int mCasing2; - private int mCasing3; - private int mCasing4; - - public ArrayList mSolarHeaters = new ArrayList<>(); - - public GregtechMetaTileEntity_SolarTower(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_SolarTower(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_SolarTower(this.mName); - } - - @Override - public String getMachineType() { - return "Solar Tower"; - } - - @Override - protected final GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Contributing Green Energy towards the future") - .addInfo("Surround with rings of Solar Reflectors") - .addInfo("The Reflectors increase the internal heat value of the Tower (see below for formula)") - .addInfo("Each Reflector ring increases tier, the first ring is required for the Tower to work") - .addInfo("Input: " + MISC_MATERIALS.SOLAR_SALT_COLD.getLocalizedName()) - .addInfo("Output: " + MISC_MATERIALS.SOLAR_SALT_HOT.getLocalizedName()) - .addInfo("Every cycle (10 seconds), heat increases and all the Cold Solar Salt is heated") - .addInfo("Converting Cold to Hot Solar Salt reduces heat, equal to the amount converted") - .addInfo("This conversion only happens if heat >= 30000 and controller efficiency = 100%") - .addInfo("If there's more Cold Salt than heat, all the heat is used up and returns to 0") - .addInfo("The heat increase is most efficient at exactly half of maximum heat") - .addInfo("Minimum efficiency at 0 or 100000 heat, maximum efficiency at 50000") - .addInfo("Heat Efficiency formula: ( 7000 - [|currentHeat - 50000| ^ 0.8]) / 7000") - .addInfo("Heat gain per cycle: numberHeaters * heatEfficiency * (10 + bonus)") - .addInfo("Bonus: 1 ring = +1, 2 rings = +2, 3 rings = +4, 4 rings = +8, 5 rings = +16") - .addInfo("Total number of reflectors based on how many rings are built:") - .addInfo("1 ring = 36, 2 rings = 88, 3 rings = 156, 4 rings = 240, 5 rings = 340") - .addSeparator() - .beginVariableStructureBlock(15, 31, 28, 28, 15, 31, false) - .addController("Top Middle") - .addCasingInfoMin("Structural Solar Casing", 229, false) - .addCasingInfoMin("Thermally Insulated Casing", 60, false) - .addCasingInfoMin("Salt Containment Casing", 66, false) - .addCasingInfoMin("Thermal Containment Casing", 60, false) - .addInputHatch("Any 2 dot hint(min 1)", 2) - .addOutputHatch("Any 2 dot hint(min 1)", 2) - .addMaintenanceHatch("Any 2 dot hint", 2) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - private static final String STRUCTURE_PIECE_BASE = "base"; - private static final String STRUCTURE_PIECE_TOWER = "tower"; - private static final String STRUCTURE_PIECE_TOP = "top"; - - private static final String[] STRUCTURE_PIECE_SOLAR_HEATER_RING = { "ring1", "ring2", "ring3", "ring4", "ring5" }; - private static final String SOLAR_HEATER_RING_1 = STRUCTURE_PIECE_SOLAR_HEATER_RING[0]; - private static final String SOLAR_HEATER_RING_2 = STRUCTURE_PIECE_SOLAR_HEATER_RING[1]; - private static final String SOLAR_HEATER_RING_3 = STRUCTURE_PIECE_SOLAR_HEATER_RING[2]; - private static final String SOLAR_HEATER_RING_4 = STRUCTURE_PIECE_SOLAR_HEATER_RING[3]; - private static final String SOLAR_HEATER_RING_5 = STRUCTURE_PIECE_SOLAR_HEATER_RING[4]; - - private static final ClassValue> STRUCTURE_DEFINITION = new ClassValue<>() { - - @Override - protected IStructureDefinition computeValue(Class type) { - return StructureDefinition.builder() - - // s = salt - // c = thermal containment - // i = thermal insulated - // t = solar structural - // h = hatch - // g = solar heater - - .addShape( - STRUCTURE_PIECE_TOP, - (new String[][] { { " ", " ", " ~ ", " ", " " }, - { " ", " s ", " sss ", " s ", " " }, - { " c ", " ccc ", "ccscc", " ccc ", " c " }, - { " c ", " ccc ", "ccscc", " ccc ", " c " }, - { " c ", " ccc ", "ccscc", " ccc ", " c " }, - { " c ", " ccc ", "ccscc", " ccc ", " c " }, - { " c ", " ccc ", "ccscc", " ccc ", " c " }, })) - .addShape( - STRUCTURE_PIECE_TOWER, - (new String[][] { { " i ", "isi", " i " }, { " i ", "isi", " i " }, { " i ", "isi", " i " }, - { " i ", "isi", " i " }, { " i ", "isi", " i " }, { " i ", "isi", " i " }, - { " i ", "isi", " i " }, { " i ", "isi", " i " }, { " i ", "isi", " i " }, - { " i ", "isi", " i " }, { " i ", "isi", " i " }, { " i ", "isi", " i " }, - { " i ", "isi", " i " }, { " i ", "isi", " i " }, { " i ", "isi", " i " }, })) - .addShape( - STRUCTURE_PIECE_BASE, - (new String[][] { - { " ", " ", " t ", " ttt ", " ttstt ", " ttssstt ", - " ttstt ", " ttt ", " t ", " ", " " }, - { " ", " ", " t ", " ttt ", " tssst ", " ttssstt ", - " tssst ", " ttt ", " t ", " ", " " }, - { " ", " t ", " ttt ", " ttttt ", " ttssstt ", " tttsssttt ", - " ttssstt ", " ttttt ", " ttt ", " t ", " " }, - { " ", " t ", " ttt ", " ttttt ", " ttssstt ", " tttsssttt ", - " ttssstt ", " ttttt ", " ttt ", " t ", " " }, - { " hhh ", " ttttt ", " ttttttt ", " ttttttttt ", "htttsssttth", "htttsssttth", - "htttsssttth", " ttttttttt ", " ttttttt ", " ttttt ", " hhh " }, - { " hhh ", " ttttt ", " ttttttt ", " ttttttttt ", "httttttttth", "httttttttth", - "httttttttth", " ttttttttt ", " ttttttt ", " ttttt ", " hhh " }, })) - .addShape( - SOLAR_HEATER_RING_1, - (new String[][] { { " ggggg ", " g g ", " g g ", " g g ", - " g g ", "g g", "g g", "g g", "g g", - "g g", " g g ", " g g ", " g g ", " g g ", - " ggggg ", } })) - .addShape( - SOLAR_HEATER_RING_2, - (new String[][] { - { " ggggggggg ", " g g ", " g g ", " g g ", - " g g ", "g g", "g g", "g g", - "g g", "g g", "g g", "g g", - "g g", "g g", " g g ", " g g ", - " g g ", " g g ", " ggggggggg ", } })) - .addShape( - SOLAR_HEATER_RING_3, - (new String[][] { { " ggggggggggggg ", " g g ", " g g ", - " g g ", " g g ", "g g", - "g g", "g g", "g g", - "g g", "g g", "g g", - "g g", "g g", "g g", - "g g", "g g", "g g", - " g g ", " g g ", " g g ", - " g g ", " ggggggggggggg ", } })) - .addShape( - SOLAR_HEATER_RING_4, - (new String[][] { { " ggggggggggggggggg ", " g g ", - " g g ", " g g ", " g g ", - "g g", "g g", "g g", - "g g", "g g", "g g", - "g g", "g g", "g g", - "g g", "g g", "g g", - "g g", "g g", "g g", - "g g", "g g", " g g ", - " g g ", " g g ", " g g ", - " ggggggggggggggggg ", } })) - .addShape( - SOLAR_HEATER_RING_5, - (new String[][] { { " ggggggggggggggggggggg ", " g g ", - " g g ", " g g ", - " g g ", "g g", - "g g", "g g", - "g g", "g g", - "g g", "g g", - "g g", "g g", - "g g", "g g", - "g g", "g g", - "g g", "g g", - "g g", "g g", - "g g", "g g", - "g g", "g g", - " g g ", " g g ", - " g g ", " g g ", - " ggggggggggggggggggggg ", } })) - .addElement( - 'g', - lazy( - t -> buildHatchAdder(GregtechMetaTileEntity_SolarTower.class) - .hatchClass(TileEntitySolarHeater.class) - .adder(GregtechMetaTileEntity_SolarTower::addSolarHeater) - // Use a positive casing index to make adder builder happy - .casingIndex(1) - .dot(1) - .continueIfSuccess() - .build())) - .addElement( - 't', - lazy(t -> onElementPass(x -> ++x.mCasing1, ofBlock(t.getCasingBlock(), t.getCasingMeta())))) - .addElement( - 'i', - lazy(t -> onElementPass(x -> ++x.mCasing2, ofBlock(t.getCasingBlock(), t.getCasingMeta2())))) - .addElement( - 's', - lazy(t -> onElementPass(x -> ++x.mCasing3, ofBlock(t.getCasingBlock(), t.getCasingMeta3())))) - .addElement( - 'c', - lazy(t -> onElementPass(x -> ++x.mCasing4, ofBlock(t.getCasingBlock2(), t.getCasingMeta4())))) - .addElement( - 'h', - lazy( - t -> buildHatchAdder(GregtechMetaTileEntity_SolarTower.class) - .atLeast(InputHatch, OutputHatch, Maintenance) - .casingIndex(t.getCasingTextureIndex()) - .dot(2) - .buildAndChain( - onElementPass(x -> ++x.mCasing1, ofBlock(t.getCasingBlock(), t.getCasingMeta()))))) - .build(); - } - }; - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - resetSolarHeaters(); - this.mMaintenanceHatches.clear(); - this.mInputHatches.clear(); - this.mOutputHatches.clear(); - mCasing1 = 0; - mCasing2 = 0; - mCasing3 = 0; - mCasing4 = 0; - - boolean aStructureTop = checkPiece(STRUCTURE_PIECE_TOP, 2, 2, 0); - log("Top Check: " + aStructureTop); - boolean aStructureTower = checkPiece(STRUCTURE_PIECE_TOWER, 1, 1, -7); - log("Tower Check: " + aStructureTower); - boolean aStructureBase = checkPiece(STRUCTURE_PIECE_BASE, 5, 5, -22); - log("Base Check: " + aStructureBase); - boolean aCasingCount1 = mCasing1 >= 229; - boolean aCasingCount2 = mCasing2 == 60; - boolean aCasingCount3 = mCasing3 == 66; - boolean aCasingCount4 = mCasing4 == 60; - boolean aAllStructure = aStructureTop && aStructureTower && aStructureBase; - boolean aAllCasings = aCasingCount1 && aCasingCount2 && aCasingCount3 && aCasingCount4; - if (!aAllCasings || !aAllStructure - || mMaintenanceHatches.size() != 1 - || mInputHatches.size() < 1 - || mOutputHatches.size() < 1) { - log( - "Bad Hatches - Solar Heaters: " + mSolarHeaters.size() - + ", Maint: " - + mMaintenanceHatches.size() - + ", Input Hatches: " - + mInputHatches.size() - + ", Output Hatches: " - + mOutputHatches.size() - + ", Top: " - + aStructureTop - + ", Tower: " - + aStructureTower - + ", Base: " - + aStructureBase - + ", Casing Count: " - + aCasingCount1 - + " | Found: " - + mCasing1 - + ", Casing Count: " - + aCasingCount2 - + " | Found: " - + mCasing2 - + ", Casing Count: " - + aCasingCount3 - + " | Found: " - + mCasing3 - + ", Casing Count: " - + aCasingCount4 - + " | Found: " - + mCasing4); - return false; - } - log( - "Built " + this.getLocalName() - + " with " - + mCasing1 - + " Structural Solar casings, " - + mCasing2 - + " Thermally Insulated casings, " - + mCasing3 - + " Salt Containment casings, " - + mCasing4 - + " Thermal Containment casings."); - return aAllCasings && aAllStructure; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - // Tower - buildPiece(STRUCTURE_PIECE_TOP, stackSize, hintsOnly, 2, 2, 0); - buildPiece(STRUCTURE_PIECE_TOWER, stackSize, hintsOnly, 1, 1, -7); - buildPiece(STRUCTURE_PIECE_BASE, stackSize, hintsOnly, 5, 5, -22); - - // Solar Heaters - if (stackSize.stackSize >= 1) { - buildPiece(SOLAR_HEATER_RING_1, stackSize, hintsOnly, 7, 7, -27); - if (stackSize.stackSize >= 2) { - buildPiece(SOLAR_HEATER_RING_2, stackSize, hintsOnly, 9, 9, -27); - if (stackSize.stackSize >= 3) { - buildPiece(SOLAR_HEATER_RING_3, stackSize, hintsOnly, 11, 11, -27); - if (stackSize.stackSize >= 4) { - buildPiece(SOLAR_HEATER_RING_4, stackSize, hintsOnly, 13, 13, -27); - if (stackSize.stackSize >= 5) { - buildPiece(SOLAR_HEATER_RING_5, stackSize, hintsOnly, 15, 15, -27); - } - } - } - } - } - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - int built; - int realBudget = elementBudget >= 200 ? elementBudget : Math.min(200, elementBudget * 2); - // Tower - built = survivialBuildPiece(STRUCTURE_PIECE_TOP, stackSize, 2, 2, 0, realBudget, env, false, true); - if (built >= 0) return built; - built = survivialBuildPiece(STRUCTURE_PIECE_TOWER, stackSize, 1, 1, -7, realBudget, env, false, true); - if (built >= 0) return built; - built = survivialBuildPiece(STRUCTURE_PIECE_BASE, stackSize, 5, 5, -22, realBudget, env, false, true); - if (built >= 0) return built; - - // Solar Heaters - if (stackSize.stackSize < 1) return -1; - built = survivialBuildPiece(SOLAR_HEATER_RING_1, stackSize, 7, 7, -27, realBudget, env, false, true); - if (built >= 0) return built; - if (stackSize.stackSize < 2) return -1; - built = survivialBuildPiece(SOLAR_HEATER_RING_2, stackSize, 9, 9, -27, realBudget, env, false, true); - if (built >= 0) return built; - if (stackSize.stackSize < 3) return -1; - built = survivialBuildPiece(SOLAR_HEATER_RING_3, stackSize, 11, 11, -27, realBudget, env, false, true); - if (built >= 0) return built; - if (stackSize.stackSize < 4) return -1; - built = survivialBuildPiece(SOLAR_HEATER_RING_4, stackSize, 13, 13, -27, realBudget, env, false, true); - if (built >= 0) return built; - if (stackSize.stackSize < 5) return -1; - return survivialBuildPiece(SOLAR_HEATER_RING_5, stackSize, 15, 15, -27, realBudget, env, false, true); - } - - @Override - public IStructureDefinition getStructureDefinition() { - return STRUCTURE_DEFINITION.get(getClass()); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_MAGNETIZER_LOOP; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - if (side == ForgeDirection.DOWN || side == ForgeDirection.UP) { - if (aActive) return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(12)), - TextureFactory.builder() - .addIcon(TexturesGtBlock.Overlay_Machine_Controller_Default_Active) - .extFacing() - .build() }; - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(12)), - TextureFactory.builder() - .addIcon(TexturesGtBlock.Overlay_Machine_Controller_Default) - .extFacing() - .build() }; - } - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(12)) }; - } - - @Override - public RecipeMap getRecipeMap() { - // Only for visual - return GTPPRecipeMaps.solarTowerRecipes; - } - - private int getHeaterTier() { - int aSolarHeaterCounter = this.mSolarHeaters.size(); - if (aSolarHeaterCounter > 0) { - if (aSolarHeaterCounter == 36) { - return 1; - } else if (aSolarHeaterCounter == 88) { - return 2; - } else if (aSolarHeaterCounter == 156) { - return 4; - } else if (aSolarHeaterCounter == 240) { - return 8; - } else if (aSolarHeaterCounter == 340) { - return 16; - } - } - return 0; - } - - private int getHeaterCountForTier(int aTier) { - return switch (aTier) { - case 1 -> 36; - case 2 -> 88; - case 4 -> 156; - case 8 -> 240; - case 16 -> 340; - default -> 0; - }; - } - - public boolean getConnectedSolarReflectors() { - - resetSolarHeaters(); - int aRing = 1; - - if (this.mSolarHeaters.size() < 36) { - // 15x15 - boolean aRing1 = checkPiece(SOLAR_HEATER_RING_1, 7, 7, -27); - if (aRing1) { - // log("Found Ring: "+(aRing++)+", Total: "+this.mSolarHeaters.size()); - } - } - if (this.mSolarHeaters.size() < 88) { - // 17x17 - boolean aRing2 = checkPiece(SOLAR_HEATER_RING_2, 9, 9, -27); - if (aRing2) { - // log("Found Ring: "+(aRing++)+", Total: "+this.mSolarHeaters.size()); - } - } - if (this.mSolarHeaters.size() < 156) { - // 19x19 - boolean aRing3 = checkPiece(SOLAR_HEATER_RING_3, 11, 11, -27); - if (aRing3) { - // log("Found Ring: "+(aRing++)+", Total: "+this.mSolarHeaters.size()); - } - } - if (this.mSolarHeaters.size() < 240) { - // 21x21 - boolean aRing4 = checkPiece(SOLAR_HEATER_RING_4, 13, 13, -27); - if (aRing4) { - // log("Found Ring: "+(aRing++)+", Total: "+this.mSolarHeaters.size()); - } - } - if (this.mSolarHeaters.size() < 340) { - // 23x23 - boolean aRing5 = checkPiece(SOLAR_HEATER_RING_5, 15, 15, -27); - if (aRing5) { - // log("Found Ring: "+(aRing++)+", Total: "+this.mSolarHeaters.size()); - } - } - return mSolarHeaters.size() > 0; - } - - private boolean addSolarHeater(IGregTechTileEntity aTileEntity, int a) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof TileEntitySolarHeater mTile) { - if (!mTile.hasSolarTower() && mTile.canSeeSky()) { - // Logger.INFO("Found Solar Reflector, Injecting Data."); - mTile.setSolarTower(this); - return this.mSolarHeaters.add(mTile); - } - } - } - return false; - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - return (d, r, f) -> d == ForgeDirection.UP; - } - - private Fluid mColdSalt = null; - private Fluid mHotSalt = null; - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - this.mEfficiencyIncrease = 100; - this.mMaxProgresstime = 200; - - if (this.mSolarHeaters.isEmpty() || this.mSolarHeaters.size() < 340 - || this.getTotalRuntimeInTicks() % 200 == 0) { - getConnectedSolarReflectors(); - } - - int aTier = getHeaterTier(); - int aHeaters = getHeaterCountForTier(aTier); - - // Original formula was (-Math.pow(this.mHeatLevel - 50000, 0.8) + 7000) / 7000 - // However, negative numbers to the power of a non-integer result in NaN, by default - // Max efficiency is 1, at mHeatLevel = 50000, and it lowers at the same rate if going above or below this heat - // Min efficiency is 0.179, at mHeatLevel = 0 or 100000 - double aEfficiency = (-Math.pow(Math.abs(this.mHeatLevel - 50000), 0.8) + 7000) / 7000; - - World w = this.getBaseMetaTileEntity() - .getWorld(); - - // Manage Heat every 10s - // Add Heat First, if sources available and it's daytime, heat gain is halved if raining - if (w != null) { - if (aHeaters > 0 && w.isDaytime()) { - if (w.isRaining() && this.getBaseMetaTileEntity() - .getBiome().rainfall > 0.0F) { - this.mHeatLevel += GT_Utility.safeInt((long) ((aHeaters / 2) * aEfficiency * (10 + aTier))); - } else { - this.mHeatLevel += GT_Utility.safeInt((long) (aHeaters * aEfficiency * (10 + aTier))); - } - } - - // Remove Heat, based on time of day - if (mHeatLevel > 0) { - if (mHeatLevel > 100000) { - this.mHeatLevel = 100000; - } else { - this.mHeatLevel -= 10; - } - } - } - - if (this.mEfficiency == this.getMaxEfficiency(null) && this.mHeatLevel >= 30000) { - if (mColdSalt == null) { - mColdSalt = MISC_MATERIALS.SOLAR_SALT_COLD.getFluid(); - } - if (mHotSalt == null) { - mHotSalt = MISC_MATERIALS.SOLAR_SALT_HOT.getFluid(); - } - ArrayList aFluids = this.getStoredFluids(); - for (FluidStack aFluid : aFluids) { - if (aFluid.getFluid() - .equals(mColdSalt)) { - int aFluidAmount = Math.min(aFluid.amount, this.mHeatLevel); - - this.mHeatLevel -= aFluidAmount; - this.depleteInput(FluidUtils.getFluidStack(mColdSalt, aFluidAmount)); - this.addOutput(FluidUtils.getFluidStack(mHotSalt, aFluidAmount)); - this.mHeatLevel = Math.max(this.mHeatLevel, 0); - - break; - } - } - } - - return CheckRecipeResultRegistry.GENERATING; - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerTick(final ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - public Block getCasingBlock() { - return ModBlocks.blockSpecialMultiCasings; - } - - public Block getCasingBlock2() { - return ModBlocks.blockCasings2Misc; - } - - public byte getCasingMeta() { - return 6; - } - - public byte getCasingMeta2() { - return 8; - } - - public byte getCasingMeta3() { - return 7; - } - - public byte getCasingMeta4() { - return 11; - } - - public byte getCasingTextureIndex() { - return (byte) mCasingTextureID; - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) {} - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setInteger("mHeatLevel", mHeatLevel); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - mHeatLevel = aNBT.getInteger("mHeatLevel"); - } - - @Override - public void onRemoval() { - resetSolarHeaters(); - super.onRemoval(); - } - - private void resetSolarHeaters() { - for (TileEntitySolarHeater aTile : this.mSolarHeaters) { - aTile.clearSolarTower(); - } - this.mSolarHeaters.clear(); - } - - @Override - public String[] getExtraInfoData() { - return new String[] { "Internal Heat Level: " + this.mHeatLevel, - "Connected Solar Reflectors: " + this.mSolarHeaters.size() }; - } - - @Override - public boolean doesBindPlayerInventory() { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java deleted file mode 100644 index 8a3442b5e7..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java +++ /dev/null @@ -1,376 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.algae; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; - -import java.util.stream.Stream; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TAE; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_StreamUtil; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.lib.CORE; -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 gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_AlgaeFarm; -import ic2.core.init.BlocksItems; -import ic2.core.init.InternalName; - -public class GregtechMTE_AlgaePondBase extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - private int mLevel = -1; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - private int checkMeta; - private int minTierOfHatch; - private static final Class cofhWater; - - static { - cofhWater = ReflectionUtils.getClass("cofh.asmhooks.block.BlockWater"); - } - - public GregtechMTE_AlgaePondBase(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMTE_AlgaePondBase(final String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMTE_AlgaePondBase(this.mName); - } - - @Override - public String getMachineType() { - return "Algae Pond"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Grows Algae!") - .addInfo("Controller Block for the Algae Farm") - .addInfo("Provide compost to boost production by one tier") - .addInfo("Does not require power or maintenance") - .addInfo("All Machine Casings must be the same tier, this dictates machine speed.") - .addInfo("All Buses/Hatches must, at least, match the tier of the Casings") - .addInfo("Fill Input Hatch with Water to fill the inside of the multiblock.") - .addPollutionAmount(getPollutionPerSecond(null)) - .addSeparator() - .beginStructureBlock(9, 3, 9, true) - .addController("Front Center") - .addCasingInfoMin("Machine Casings", 64, true) - .addCasingInfoMin("Sterile Farm Casings", 64, false) - .addInputBus("Any Casing", 1) - .addOutputBus("Any Casing", 1) - .addInputHatch("Any Casing", 1) - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - public void setMeta(int meta) { - checkMeta = meta; - } - - public int getMeta() { - return checkMeta; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { - { "XXXXXXXXX", "X X", "X X", "X X", "X X", "X X", "X X", - "X X", "XXXXXXXXX" }, - { "XXXXXXXXX", "X X", "X X", "X X", "X X", "X X", "X X", - "X X", "XXXXXXXXX" }, - { "CCCC~CCCC", "CCCCCCCCC", "CCCCCCCCC", "CCCCCCCCC", "CCCCCCCCC", "CCCCCCCCC", "CCCCCCCCC", - "CCCCCCCCC", "CCCCCCCCC" }, })) - .addElement( - 'C', - ofChain( - buildHatchAdder(GregtechMTE_AlgaePondBase.class).atLeast(InputHatch, InputBus, OutputBus) - .casingIndex(TAE.getIndexFromPage(1, 15)) - .dot(1) - .build(), - onElementPass( - x -> ++x.mCasing, - addTieredBlock( - GregTech_API.sBlockCasings1, - GregtechMTE_AlgaePondBase::setMeta, - GregtechMTE_AlgaePondBase::getMeta, - 10)))) - .addElement('X', ofBlock(ModBlocks.blockCasings2Misc, 15)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 4, 2, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 4, 2, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mLevel = 0; - checkMeta = 0; - minTierOfHatch = 100; - if (checkPiece(mName, 4, 2, 0) && mCasing >= 64 && checkMeta > 0) { - mLevel = checkMeta - 1; - return mLevel <= minTierOfHatch; - } - return false; - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - return (d, r, f) -> d.offsetY == 0 && r.isNotRotated() && !f.isVerticallyFliped(); - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Default; - } - - @Override - protected int getCasingTextureId() { - int aID = TAE.getIndexFromPage(1, 15); - if (mLevel > -1) { - aID = mLevel; - } - return aID; - } - - @Override - public int getMaxParallelRecipes() { - return 2; - } - - public boolean checkForWater() { - - // Get Facing direction - IGregTechTileEntity aBaseMetaTileEntity = this.getBaseMetaTileEntity(); - int mDirectionX = aBaseMetaTileEntity.getBackFacing().offsetX; - int mCurrentDirectionX; - int mCurrentDirectionZ; - int mOffsetX_Lower = 0; - int mOffsetX_Upper = 0; - int mOffsetZ_Lower = 0; - int mOffsetZ_Upper = 0; - - mCurrentDirectionX = 4; - mCurrentDirectionZ = 4; - - mOffsetX_Lower = -4; - mOffsetX_Upper = 4; - mOffsetZ_Lower = -4; - mOffsetZ_Upper = 4; - - // if (aBaseMetaTileEntity.fac) - - final int xDir = aBaseMetaTileEntity.getBackFacing().offsetX * mCurrentDirectionX; - final int zDir = aBaseMetaTileEntity.getBackFacing().offsetZ * mCurrentDirectionZ; - - int tAmount = 0; - for (int i = mOffsetX_Lower + 1; i <= mOffsetX_Upper - 1; ++i) { - for (int j = mOffsetZ_Lower + 1; j <= mOffsetZ_Upper - 1; ++j) { - for (int h = 0; h < 2; h++) { - Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j); - byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j); - if (isNotStaticWater(tBlock, tMeta)) { - if (this.getStoredFluids() != null) { - for (FluidStack stored : this.getStoredFluids()) { - if (stored.isFluidEqual(FluidUtils.getFluidStack("water", 1))) { - if (stored.amount >= 1000) { - // Utils.LOG_WARNING("Going to try swap an air block for water from inut bus."); - stored.amount -= 1000; - Block fluidUsed = Blocks.water; - aBaseMetaTileEntity.getWorld() - .setBlock( - aBaseMetaTileEntity.getXCoord() + xDir + i, - aBaseMetaTileEntity.getYCoord() + h, - aBaseMetaTileEntity.getZCoord() + zDir + j, - fluidUsed); - } - } - } - } - } - tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j); - if (tBlock == Blocks.water || tBlock == Blocks.flowing_water) { - ++tAmount; - // Logger.INFO("Found Water"); - } - } - } - } - - boolean isValidWater = tAmount >= 49; - - if (isValidWater) { - Logger.INFO("Filled structure."); - return true; - } else { - return false; - } - } - - private boolean isNotStaticWater(Block block, byte meta) { - return block == Blocks.air || block == Blocks.flowing_water - || block == BlocksItems.getFluidBlock(InternalName.fluidDistilledWater) - || (cofhWater != null && cofhWater.isAssignableFrom(block.getClass()) && meta != 0); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerSecond(final ItemStack aStack) { - return CORE.ConfigSwitches.pollutionPerSecondMultiAlgaePond; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - @Override - public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPreTick(aBaseMetaTileEntity, aTick); - this.fixAllMaintenanceIssue(); - // Silly Client Syncing - if (aBaseMetaTileEntity.isClientSide()) { - this.mLevel = getCasingTier(); - } - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @Nonnull - @Override - protected Stream findRecipeMatches(@Nullable RecipeMap map) { - return GT_StreamUtil - .ofNullable(RecipeLoader_AlgaeFarm.getTieredRecipeFromCache(mLevel, isUsingCompost(inputItems))); - } - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - if (!checkForWater()) { - return SimpleCheckRecipeResult.ofFailure("no_water"); - } - return CheckRecipeResultRegistry.SUCCESSFUL; - } - }.setEuModifier(0F) - .setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - private boolean isUsingCompost(ItemStack[] aItemInputs) { - ItemStack aCompost = ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1); - for (ItemStack i : aItemInputs) { - if (GT_Utility.areStacksEqual(aCompost, i)) { - if (i.stackSize >= RecipeLoader_AlgaeFarm.compostForTier(mLevel)) { - return true; - } - } - } - return false; - } - - private int getCasingTier() { - if (this.getBaseMetaTileEntity() - .getWorld() == null) { - return 0; - } - try { - Block aInitStructureCheck; - int aInitStructureCheckMeta; - IGregTechTileEntity aBaseMetaTileEntity = this.getBaseMetaTileEntity(); - int xDir = aBaseMetaTileEntity.getBackFacing().offsetX; - int zDir = aBaseMetaTileEntity.getBackFacing().offsetZ; - aInitStructureCheck = aBaseMetaTileEntity.getBlockOffset(xDir, -1, zDir); - aInitStructureCheckMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir, -1, zDir); - if (aInitStructureCheck == GregTech_API.sBlockCasings1) { - return aInitStructureCheckMeta; - } - return 0; - } catch (Throwable t) { - t.printStackTrace(); - return 0; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java deleted file mode 100644 index 30d2f75457..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java +++ /dev/null @@ -1,676 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.chemplant; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.withChannel; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.filterByMTETier; -import static gregtech.api.util.GT_StructureUtility.ofCoil; -import static gregtech.api.util.GT_Utility.filterValidMTEs; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.StructureLibAPI; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.IStructureElement; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; -import com.gtnewhorizon.structurelib.structure.StructureUtility; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.HeatingCoilLevel; -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.logic.ProcessingLogic; -import gregtech.api.metatileentity.GregTechTileClientEvents; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.common.tileentities.machines.IDualInputHatch; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Triplet; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers.GT_MetaTileEntity_Hatch_Catalysts; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase - implements ISurvivalConstructable { - - private int mSolidCasingTier = 0; - private int mMachineCasingTier = 0; - private int mPipeCasingTier = 0; - private int mCoilTier = 0; - private HeatingCoilLevel checkCoil; - private int[] checkCasing = new int[8]; - private int checkMachine; - private int checkPipe; - private int maxTierOfHatch; - private int mCasing; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - private final ArrayList mCatalystBuses = new ArrayList<>(); - - private static final HashMap> mTieredBlockRegistry = new HashMap<>(); - - public GregtechMTE_ChemicalPlant(final int aID, final String aName, final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMTE_ChemicalPlant(final String aName) { - super(aName); - } - - public static boolean registerMachineCasingForTier(int aTier, Block aBlock, int aMeta, int aCasingTextureID) { - Triplet aCasingData = new Triplet<>(aBlock, aMeta, aCasingTextureID); - if (mTieredBlockRegistry.containsKey(aTier)) { - CORE.crash( - "Tried to register a Machine casing for tier " + aTier - + " to the Chemical Plant, however this tier already contains one."); - } - mTieredBlockRegistry.put(aTier, aCasingData); - return true; - } - - private static int getCasingTextureIdForTier(int aTier) { - if (!mTieredBlockRegistry.containsKey(aTier)) { - return 10; - } - int aCasingID = mTieredBlockRegistry.get(aTier) - .getValue_3(); - // Logger.INFO("Found casing texture ID "+aCasingID+" for tier "+aTier); - return aCasingID; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMTE_ChemicalPlant(this.mName); - } - - @Override - public String getMachineType() { - return "Chemical Plant"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the Chemical Plant") - .addInfo("Heavy Industry, now right at your doorstep!") - .addInfo("Please read the user manual for more information on construction and usage") - .addSeparator() - .addController("Bottom Center") - .addStructureHint("Catalyst Housing", 1) - .addInputBus("Bottom Casing", 1) - .addOutputBus("Bottom Casing", 1) - .addInputHatch("Bottom Casing", 1) - .addOutputHatch("Bottom Casing", 1) - .addEnergyHatch("Bottom Casing", 1) - .addMaintenanceHatch("Bottom Casing", 1) - .addSubChannelUsage("casing", "metal machine casing") - .addSubChannelUsage("machine", "tier machine casing") - .addSubChannelUsage("coil", "heating coil blocks") - .addSubChannelUsage("pipe", "pipe casing blocks") - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - public void setMachineMeta(int meta) { - checkMachine = meta; - } - - public int getMachineMeta() { - return checkMachine; - } - - public void setPipeMeta(int meta) { - checkPipe = meta; - } - - public int getPipeMeta() { - return checkPipe; - } - - public void setCoilMeta(HeatingCoilLevel meta) { - checkCoil = meta; - } - - public HeatingCoilLevel getCoilMeta() { - return checkCoil; - } - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - IStructureElement allCasingsElement = withChannel( - "casing", - ofChain( - IntStream.range(0, 8) - .mapToObj(GregtechMTE_ChemicalPlant::ofSolidCasing) - .collect(Collectors.toList()))); - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName, - transpose( - new String[][] { - { "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX" }, - { "X X", " MMMMM ", " MHHHM ", " MHHHM ", " MHHHM ", " MMMMM ", "X X" }, - { "X X", " ", " PPP ", " PPP ", " PPP ", " ", "X X" }, - { "X X", " ", " HHH ", " HHH ", " HHH ", " ", "X X" }, - { "X X", " ", " PPP ", " PPP ", " PPP ", " ", "X X" }, - { "X X", " MMMMM ", " MHHHM ", " MHHHM ", " MHHHM ", " MMMMM ", "X X" }, - { "CCC~CCC", "CMMMMMC", "CMMMMMC", "CMMMMMC", "CMMMMMC", "CMMMMMC", "CCCCCCC" }, })) - .addElement( - 'C', - ofChain( - buildHatchAdder(GregtechMTE_ChemicalPlant.class).atLeast(Maintenance) - .casingIndex(getCasingTextureID()) - .dot(1) - .build(), - buildHatchAdder(GregtechMTE_ChemicalPlant.class) - .atLeast(InputHatch, OutputHatch, InputBus, OutputBus) - .adder(GregtechMTE_ChemicalPlant::addChemicalPlantList) - .hatchItemFilterAnd( - (t, s) -> filterByMTETier( - Integer.MIN_VALUE, - s.stackSize >= 10 ? Integer.MAX_VALUE : s.stackSize)) - .casingIndex(getCasingTextureID()) - .dot(1) - .build(), - buildHatchAdder(GregtechMTE_ChemicalPlant.class) - .hatchClass(GT_MetaTileEntity_Hatch_Catalysts.class) - .shouldReject(t -> t.mCatalystBuses.size() >= 1) - .adder(GregtechMTE_ChemicalPlant::addChemicalPlantList) - .casingIndex(getCasingTextureID()) - .dot(1) - .build(), - allCasingsElement)) - .addElement('X', allCasingsElement) - .addElement( - 'M', - withChannel( - "machine", - addTieredBlock( - GregTech_API.sBlockCasings1, - GregtechMTE_ChemicalPlant::setMachineMeta, - GregtechMTE_ChemicalPlant::getMachineMeta, - 10))) - .addElement( - 'H', - withChannel( - "coil", - ofCoil(GregtechMTE_ChemicalPlant::setCoilMeta, GregtechMTE_ChemicalPlant::getCoilMeta))) - .addElement( - 'P', - withChannel( - "pipe", - addTieredBlock( - GregTech_API.sBlockCasings2, - GregtechMTE_ChemicalPlant::setPipeMeta, - GregtechMTE_ChemicalPlant::getPipeMeta, - 12, - 16))) - .build(); - } - return STRUCTURE_DEFINITION; - } - - private static IStructureElement ofSolidCasing(int aIndex) { - return new IStructureElement() { - - @Override - public boolean check(GregtechMTE_ChemicalPlant t, World world, int x, int y, int z) { - if (check(aIndex, world, x, y, z)) { - t.checkCasing[aIndex]++; - t.mCasing++; - return true; - } else return false; - } - - private boolean check(int aIndex, World world, int x, int y, int z) { - Block block = world.getBlock(x, y, z); - int meta = world.getBlockMetadata(x, y, z); - Block target = mTieredBlockRegistry.get(aIndex) - .getValue_1(); - int targetMeta = mTieredBlockRegistry.get(aIndex) - .getValue_2(); - return target.equals(block) && meta == targetMeta; - } - - int getIndex(int size) { - if (size > 8) size = 8; - return size - 1; - } - - @Override - public boolean spawnHint(GregtechMTE_ChemicalPlant t, World world, int x, int y, int z, ItemStack trigger) { - StructureLibAPI.hintParticle( - world, - x, - y, - z, - mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_1(), - mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_2()); - return true; - } - - @Override - public boolean placeBlock(GregtechMTE_ChemicalPlant t, World world, int x, int y, int z, - ItemStack trigger) { - return world.setBlock( - x, - y, - z, - mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_1(), - mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_2(), - 3); - } - - @Nullable - @Override - public BlocksToPlace getBlocksToPlace(GregtechMTE_ChemicalPlant gregtechMTE_chemicalPlant, World world, - int x, int y, int z, ItemStack trigger, AutoPlaceEnvironment env) { - return BlocksToPlace.create( - mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_1(), - mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_2()); - } - - @Override - public PlaceResult survivalPlaceBlock(GregtechMTE_ChemicalPlant t, World world, int x, int y, int z, - ItemStack trigger, AutoPlaceEnvironment env) { - if (check(getIndex(trigger.stackSize), world, x, y, z)) return PlaceResult.SKIP; - return StructureUtility.survivalPlaceBlock( - mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_1(), - mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_2(), - world, - x, - y, - z, - env.getSource(), - env.getActor(), - env.getChatter()); - } - }; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(mName, stackSize, hintsOnly, 3, 6, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - return survivialBuildPiece(mName, stackSize, 3, 6, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - for (int i = 0; i < 8; i++) { - checkCasing[i] = 0; - } - checkPipe = 0; - checkMachine = 0; - mSolidCasingTier = 0; - mMachineCasingTier = 0; - mPipeCasingTier = 0; - mCoilTier = 0; - maxTierOfHatch = 0; - mCatalystBuses.clear(); - setCoilMeta(HeatingCoilLevel.None); - if (checkPiece(mName, 3, 6, 0) && mCasing >= 70) { - for (int i = 0; i < 8; i++) { - if (checkCasing[i] == mCasing) { - mSolidCasingTier = i; - } else if (checkCasing[i] > 0) return false; - } - mMachineCasingTier = checkMachine - 1; - mPipeCasingTier = checkPipe - 12; - mCoilTier = checkCoil.getTier(); - getBaseMetaTileEntity().sendBlockEvent(GregTechTileClientEvents.CHANGE_CUSTOM_DATA, getUpdateData()); - updateHatchTexture(); - return (mMachineCasingTier >= 9 || mMachineCasingTier >= maxTierOfHatch) && mCatalystBuses.size() <= 1; - } - return false; - } - - public void updateHatchTexture() { - for (GT_MetaTileEntity_Hatch h : mCatalystBuses) h.updateTexture(getCasingTextureID()); - for (IDualInputHatch h : mDualInputHatches) h.updateTexture(getCasingTextureID()); - for (GT_MetaTileEntity_Hatch h : mInputBusses) h.updateTexture(getCasingTextureID()); - for (GT_MetaTileEntity_Hatch h : mMaintenanceHatches) h.updateTexture(getCasingTextureID()); - for (GT_MetaTileEntity_Hatch h : mEnergyHatches) h.updateTexture(getCasingTextureID()); - for (GT_MetaTileEntity_Hatch h : mOutputBusses) h.updateTexture(getCasingTextureID()); - for (GT_MetaTileEntity_Hatch h : mInputHatches) h.updateTexture(getCasingTextureID()); - for (GT_MetaTileEntity_Hatch h : mOutputHatches) h.updateTexture(getCasingTextureID()); - } - - public final boolean addChemicalPlantList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Catalysts) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { - maxTierOfHatch = Math.max(maxTierOfHatch, ((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mTier); - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) { - maxTierOfHatch = Math.max(maxTierOfHatch, ((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity).mTier); - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) { - maxTierOfHatch = Math.max(maxTierOfHatch, ((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity).mTier); - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - maxTierOfHatch = Math.max(maxTierOfHatch, ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mTier); - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { - maxTierOfHatch = Math.max(maxTierOfHatch, ((GT_MetaTileEntity_Hatch_Output) aMetaTileEntity).mTier); - return addToMachineList(aTileEntity, aBaseCasingIndex); - } - } - return false; - } - - @Override - protected SoundResource getProcessStartSound() { - return SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP; - } - - @Override - protected IIconContainer getActiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; - } - - @Override - protected IIconContainer getInactiveOverlay() { - return TexturesGtBlock.Overlay_Machine_Controller_Advanced; - } - - @Override - protected int getCasingTextureId() { - return getCasingTextureID(); - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.chemicalPlantRecipes; - } - - @Override - public int getMaxParallelRecipes() { - return 2 * getPipeCasingTier(); - } - - private int getSolidCasingTier() { - return this.mSolidCasingTier; - } - - private int getMachineCasingTier() { - return mMachineCasingTier; - } - - private int getPipeCasingTier() { - return mPipeCasingTier; - } - - private int getCasingTextureID() { - // Check the Tier Client Side - int aTier = mSolidCasingTier; - return getCasingTextureIdForTier(aTier); - } - - public boolean addToMachineList(IGregTechTileEntity aTileEntity) { - int aMaxTier = getMachineCasingTier(); - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_TieredMachineBlock aMachineBlock) { - int aTileTier = aMachineBlock.mTier; - if (aTileTier > aMaxTier) { - log("Hatch tier too high."); - return false; - } else { - return addToMachineList(aTileEntity, getCasingTextureID()); - } - } else { - log("Bad Tile Entity being added to hatch map."); // Shouldn't ever happen, but.. ya know.. - return false; - } - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setInteger("mSolidCasingTier", this.mSolidCasingTier); - aNBT.setInteger("mMachineCasingTier", this.mMachineCasingTier); - aNBT.setInteger("mPipeCasingTier", this.mPipeCasingTier); - aNBT.setInteger("mCoilTier", this.mCoilTier); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - mSolidCasingTier = aNBT.getInteger("mSolidCasingTier"); - mMachineCasingTier = aNBT.getInteger("mMachineCasingTier"); - mPipeCasingTier = aNBT.getInteger("mPipeCasingTier"); - mCoilTier = aNBT.getInteger("mCoilTier"); - } - - @Override - public boolean addToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) { - return false; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Catalysts) { - log("Found GT_MetaTileEntity_Hatch_Catalysts"); - return addToMachineListInternal(mCatalystBuses, aMetaTileEntity, aBaseCasingIndex); - } - return super.addToMachineList(aTileEntity, aBaseCasingIndex); - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public int getPollutionPerTick(final ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - public int getMaxCatalystDurability() { - return 50; - } - - @Override - public byte getUpdateData() { - return (byte) mSolidCasingTier; - } - - @Override - public void receiveClientEvent(byte aEventID, byte aValue) { - super.receiveClientEvent(aEventID, aValue); - if (aEventID == GregTechTileClientEvents.CHANGE_CUSTOM_DATA && (aValue & 0x80) == 0) { - // received an update data from above method - // if no &0x80 clause it might catch the noop texture page event - mSolidCasingTier = aValue; - } - } - - private void damageCatalyst(@Nonnull ItemStack aStack, int minParallel) { - // Awakened Draconium Coils with Tungstensteel Pipe Casings (or above) no longer consume catalysts. - if (!isCatalystDamageable()) return; - for (int i = 0; i < minParallel; i++) { - if (MathUtils.randFloat(0, 10000000) / 10000000f < (1.2f - (0.2 * this.mPipeCasingTier))) { - int damage = getDamage(aStack) + 1; - if (damage >= getMaxCatalystDurability()) { - addOutput(CI.getEmptyCatalyst(1)); - aStack.stackSize -= 1; - return; - } else { - setDamage(aStack, damage); - } - } - } - } - - private boolean isCatalystDamageable() { - return this.mCoilTier < 10 || this.mPipeCasingTier < 4; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - ItemStack catalyst; - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - if (recipe.mSpecialValue > mSolidCasingTier) { - return CheckRecipeResultRegistry.insufficientMachineTier(recipe.mSpecialValue + 1); - } - // checks if it has a catalyst - ItemStack catalystInRecipe = null; - for (ItemStack item : recipe.mInputs) { - if (ItemUtils.isCatalyst(item)) { - catalystInRecipe = item; - break; - } - } - - if (catalystInRecipe != null) { - catalyst = findCatalyst(getCatalystInputs().toArray(new ItemStack[0]), catalystInRecipe); - if (catalyst == null) { - return SimpleCheckRecipeResult.ofFailure("no_catalyst"); - } - } - return CheckRecipeResultRegistry.SUCCESSFUL; - } - - @NotNull - @Override - public CheckRecipeResult process() { - ArrayList inputItemsList = new ArrayList<>(Arrays.asList(inputItems)); - inputItemsList.addAll(getCatalystInputs()); - inputItems = inputItemsList.toArray(new ItemStack[0]); - return super.process(); - } - - @NotNull - @Override - protected CheckRecipeResult onRecipeStart(@NotNull GT_Recipe recipe) { - if (catalyst != null) { - damageCatalyst(catalyst, getCurrentParallels()); - } - return super.onRecipeStart(recipe); - } - }.setMaxParallelSupplier(this::getMaxParallelRecipes); - } - - @Override - protected void setupProcessingLogic(ProcessingLogic logic) { - super.setupProcessingLogic(logic); - // Same speed bonus as pyro oven - logic.setSpeedBonus(2F / (1 + this.mCoilTier)); - } - - @Override - public void updateSlots() { - super.updateSlots(); - for (GT_MetaTileEntity_Hatch_Catalysts h : mCatalystBuses) { - h.updateSlots(); - h.tryFillUsageSlots(); - } - } - - private ItemStack findCatalyst(ItemStack[] aItemInputs, ItemStack catalyst) { - if (aItemInputs != null) { - for (ItemStack item : aItemInputs) { - if (GT_Utility.areStacksEqual(item, catalyst, true)) { - return item; - } - } - } - return null; - } - - private int getDamage(@Nonnull ItemStack aStack) { - return ItemGenericChemBase.getCatalystDamage(aStack); - } - - private void setDamage(@Nonnull ItemStack aStack, int aAmount) { - ItemGenericChemBase.setCatalystDamage(aStack, aAmount); - } - - /* - * Catalyst Handling - */ - public ArrayList getCatalystInputs() { - ArrayList tItems = new ArrayList<>(); - for (GT_MetaTileEntity_Hatch_Catalysts tHatch : filterValidMTEs(mCatalystBuses)) { - AutoMap aHatchContent = tHatch.getContentUsageSlots(); - if (!aHatchContent.isEmpty()) { - tItems.addAll(aHatchContent); - } - } - return tItems; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/mega/GregTechMetaTileEntity_MegaAlloyBlastSmelter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/mega/GregTechMetaTileEntity_MegaAlloyBlastSmelter.java deleted file mode 100644 index 1679629c88..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/mega/GregTechMetaTileEntity_MegaAlloyBlastSmelter.java +++ /dev/null @@ -1,468 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.mega; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.withChannel; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.ExoticEnergy; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofCoil; -import static gregtech.api.util.GT_Utility.filterValidMTEs; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.ForgeDirection; - -import org.jetbrains.annotations.NotNull; - -import com.github.bartimaeusnek.bartworks.API.BorosilicateGlass; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.HeatingCoilLevel; -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.logic.ProcessingLogic; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPowerMultiBlockBase; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_OverclockCalculator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregTechMetaTileEntity_MegaAlloyBlastSmelter - extends GT_MetaTileEntity_ExtendedPowerMultiBlockBase - implements ISurvivalConstructable { - - private static final int MAX_PARALLELS = 256; - private HeatingCoilLevel coilLevel; - private byte glassTier = -1; - private boolean hasNormalCoils; - - private static final IStructureDefinition STRUCTURE_DEFINITION = StructureDefinition - .builder() - .addShape( - "main", - new String[][] { - { " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", - " ", " DDDDD ", " CCCCC ", " AEEEA ", " AE~EA ", " AEEEA ", - " CCCCC ", " ZZZZZ " }, - { " DDDDD ", " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", - " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", - " DDDDD ", " D D ", " C C ", " A A ", " A A ", " A A ", - " C C ", " ZZZZZZZ " }, - { " DDDDDDD ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", - " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", - " DBBBBBD ", " D BBBBB D ", " C BBBBB C ", " A BBBBB A ", " A BBBBB A ", " A BBBBB A ", - " C BBBBB C ", " ZZZZZZZZZ " }, - { " DDDDDDDDD ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " DB BD ", "D B B D", "C B B C", "A B B A", "A B B A", "A B B A", - "C B B C", "ZZZZZZZZZZZ" }, - { " DDDDDDDDD ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " DB BD ", "D B B D", "C B B C", "A B B A", "A B B A", "A B B A", - "C B B C", "ZZZZZZZZZZZ" }, - { " DDDDFDDDD ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " DB BD ", "D B B D", "C B B C", "A B B A", "A B B A", "A B B A", - "C B B C", "ZZZZZZZZZZZ" }, - { " DDDDDDDDD ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " DB BD ", "D B B D", "C B B C", "A B B A", "A B B A", "A B B A", - "C B B C", "ZZZZZZZZZZZ" }, - { " DDDDDDDDD ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", " AB BA ", - " DB BD ", "D B B D", "C B B C", "A B B A", "A B B A", "A B B A", - "C B B C", "ZZZZZZZZZZZ" }, - { " DDDDDDD ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", - " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", " ABBBBBA ", - " DBBBBBD ", " D BBBBB D ", " C BBBBB C ", " A BBBBB A ", " A BBBBB A ", " A BBBBB A ", - " C BBBBB C ", " ZZZZZZZZZ " }, - { " DDDDD ", " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", - " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", " AAAAA ", - " DDDDD ", " D D ", " C C ", " A A ", " A A ", " A A ", - " C C ", " ZZZZZZZ " }, - { " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", - " ", " DDDDD ", " CCCCC ", " AAAAA ", " AAAAA ", " AAAAA ", - " CCCCC ", " ZZZZZ " } }) - .addElement( - 'B', - withChannel( - "coil", - ofChain( - onElementPass( - te -> te.hasNormalCoils = false, - ofCoil( - GregTechMetaTileEntity_MegaAlloyBlastSmelter::setCoilLevel, - GregTechMetaTileEntity_MegaAlloyBlastSmelter::getCoilLevel)), - onElementPass(te -> te.hasNormalCoils = true, ofBlock(ModBlocks.blockCasingsMisc, 14))))) - - .addElement( - 'Z', - buildHatchAdder(GregTechMetaTileEntity_MegaAlloyBlastSmelter.class) - .atLeast(InputHatch, OutputHatch, InputBus, OutputBus, Energy, ExoticEnergy) - .casingIndex(TAE.GTPP_INDEX(15)) - .dot(1) - .buildAndChain(ofBlock(ModBlocks.blockCasingsMisc, 15))) - .addElement( - 'E', - buildHatchAdder(GregTechMetaTileEntity_MegaAlloyBlastSmelter.class).atLeast(Maintenance) - .casingIndex(TAE.GTPP_INDEX(15)) - .dot(2) - .buildAndChain(ofBlock(ModBlocks.blockCasingsMisc, 15))) - .addElement('D', ofBlock(ModBlocks.blockCasingsMisc, 15)) - .addElement('C', ofBlock(ModBlocks.blockCasingsMisc, 14)) - .addElement( - 'A', - withChannel( - "glass", - BorosilicateGlass.ofBoroGlass((byte) -1, (te, t) -> te.glassTier = t, te -> te.glassTier))) - .addElement('F', Muffler.newAny(TAE.GTPP_INDEX(15), 3)) - .build(); - - public GregTechMetaTileEntity_MegaAlloyBlastSmelter(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregTechMetaTileEntity_MegaAlloyBlastSmelter(String aName) { - super(aName); - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return true; - } - - @Override - protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { - - @NotNull - @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { - if (glassTier < GT_Utility.getTier(recipe.mEUt)) { - return CheckRecipeResultRegistry.insufficientMachineTier(GT_Utility.getTier(recipe.mEUt)); - } - return CheckRecipeResultRegistry.SUCCESSFUL; - } - - @NotNull - @Override - protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { - return super.createOverclockCalculator(recipe) - .setSpeedBoost((float) (1.0 - getCoilDiscount(coilLevel))); - } - }.setMaxParallel(MAX_PARALLELS); - } - - @Override - protected void setProcessingLogicPower(ProcessingLogic logic) { - logic.setAvailableVoltage(getMaxInputEu()); - logic.setAvailableAmperage(1); - } - - @Override - public boolean addOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - boolean exotic = addExoticEnergyInputToMachineList(aTileEntity, aBaseCasingIndex); - return super.addToMachineList(aTileEntity, aBaseCasingIndex) || exotic; - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - glassTier = -1; - coilLevel = HeatingCoilLevel.None; - if (!checkPiece("main", 5, 16, 0)) return false; - if (hasNormalCoils) coilLevel = HeatingCoilLevel.None; - if (mMaintenanceHatches.size() != 1) return false; - if (mMufflerHatches.size() != 1) return false; - if (this.glassTier < 10 && !getExoticAndNormalEnergyHatchList().isEmpty()) { - for (GT_MetaTileEntity_Hatch hatchEnergy : getExoticAndNormalEnergyHatchList()) { - if (this.glassTier < hatchEnergy.mTier) { - return false; - } - } - } - // Disallow lasers if the glass is below UV tier - if (glassTier < 8) { - for (GT_MetaTileEntity_Hatch hatchEnergy : getExoticEnergyHatches()) { - if (hatchEnergy.getConnectionType() == GT_MetaTileEntity_Hatch.ConnectionType.LASER) { - return false; - } - } - } - return true; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return 10000; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - public double getCoilDiscount(HeatingCoilLevel lvl) { - // Since there are only 14 tiers (starting from 0), this is what the function is. - double unRounded = (lvl != null ? lvl.getTier() : 0) / 130.0D; - if (unRounded < 0) return 1F; - double rounded = Math.floor(unRounded * 1000) / 1000; - - return Math.max(0, rounded); - } - - @Override - public void explodeMultiblock() { - super.explodeMultiblock(); - } - - @Override - public List getExoticAndNormalEnergyHatchList() { - List tHatches = new ArrayList<>(); - tHatches.addAll(mExoticEnergyHatches); - tHatches.addAll(mEnergyHatches); - return tHatches; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece("main", stackSize, hintsOnly, 5, 16, 0); - } - - @Override - public IStructureDefinition getStructureDefinition() { - return STRUCTURE_DEFINITION; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType("Fluid Alloy Cooker") - .addInfo("Controller block for the Mega Alloy Blast Smelter") - .addInfo( - "Runs the same recipes as the normal ABS, except with up to " + EnumChatFormatting.BOLD - + EnumChatFormatting.UNDERLINE - + MAX_PARALLELS - + EnumChatFormatting.RESET - + EnumChatFormatting.GRAY - + " parallels.") - .addInfo("Every coil tier above cupronickel grants a speed bonus, based on this function:") - .addInfo("Bonus = TIER / 150, rounded to the nearest thousandth.") - .addInfo( - EnumChatFormatting.ITALIC - + "Can also use normal ABS coils in their place instead, if you don't like the bonuses :)" - + EnumChatFormatting.RESET - + EnumChatFormatting.GRAY) - .addInfo("The glass limits the tier of the energy hatch. UEV glass unlocks all tiers.") - .addInfo("UV glass required for TecTech laser hatches.") - .addInfo( - EnumChatFormatting.ITALIC + "\"all it does is make metals hot\"" - + EnumChatFormatting.RESET - + EnumChatFormatting.GRAY) - .beginStructureBlock(11, 20, 11, false) - .addStructureInfo("This structure is too complex! See schematic for details.") - .addMaintenanceHatch("Around the controller", 2) - .addOtherStructurePart("Input Bus, Output Bus, Input Hatch, Output Bus, Energy Hatch", "Bottom Casing", 1) - .addMufflerHatch("1 in the center of the top layer", 3) - .toolTipFinisher( - EnumChatFormatting.AQUA + "MadMan310 " - + EnumChatFormatting.GRAY - + "via " - + EnumChatFormatting.RED - + "GT++"); - return tt; - } - - @Override - public String[] getInfoData() { - long storedEnergy = 0; - long maxEnergy = 0; - int paras = getBaseMetaTileEntity().isActive() ? processingLogic.getCurrentParallels() : 0; - int discountP = (int) (getCoilDiscount(coilLevel) * 1000) / 10; - - for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(mExoticEnergyHatches)) { - storedEnergy += tHatch.getBaseMetaTileEntity() - .getStoredEU(); - maxEnergy += tHatch.getBaseMetaTileEntity() - .getEUCapacity(); - } - - return new String[] { "------------ Critical Information ------------", - StatCollector.translateToLocal("GT5U.multiblock.Progress") + ": " - + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(mProgresstime) - + EnumChatFormatting.RESET - + "t / " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(mMaxProgresstime) - + EnumChatFormatting.RESET - + "t", - StatCollector.translateToLocal("GT5U.multiblock.energy") + ": " - + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(storedEnergy) - + EnumChatFormatting.RESET - + " EU / " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(maxEnergy) - + EnumChatFormatting.RESET - + " EU", - StatCollector.translateToLocal("GT5U.multiblock.usage") + ": " - + EnumChatFormatting.RED - + GT_Utility.formatNumbers(-lEUt) - + EnumChatFormatting.RESET - + " EU/t", - StatCollector.translateToLocal("GT5U.multiblock.mei") + ": " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(getAverageInputVoltage()) - + EnumChatFormatting.RESET - + " EU/t(*" - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(getMaxInputAmps()) - + EnumChatFormatting.RESET - + "A) " - + StatCollector.translateToLocal("GT5U.machines.tier") - + ": " - + EnumChatFormatting.YELLOW - + GT_Values.VN[GT_Utility.getTier(getAverageInputVoltage())] - + EnumChatFormatting.RESET, - "Parallels: " + EnumChatFormatting.BLUE + paras + EnumChatFormatting.RESET, - "Coil Discount: " + EnumChatFormatting.BLUE + discountP + "%" + EnumChatFormatting.RESET, - "-----------------------------------------" }; - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GregTechMetaTileEntity_MegaAlloyBlastSmelter(this.mName); - } - - @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection facing, - int aColorIndex, boolean aActive, boolean aRedstone) { - if (side == facing) { - if (aActive) { - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(15)), - TextureFactory.builder() - .addIcon(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active) - .extFacing() - .build() }; - } - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(15)), - TextureFactory.builder() - .addIcon(TexturesGtBlock.Overlay_Machine_Controller_Advanced) - .extFacing() - .build() }; - } - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(15)) }; - } - - @Override - public RecipeMap getRecipeMap() { - return GTPPRecipeMaps.alloyBlastSmelterRecipes; - } - - public HeatingCoilLevel getCoilLevel() { - return coilLevel; - } - - public void setCoilLevel(HeatingCoilLevel coilLevel) { - this.coilLevel = coilLevel; - } - - @Override - public final void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (aPlayer.isSneaking()) { - // Lock to single recipe - super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); - } else { - inputSeparation = !inputSeparation; - GT_Utility.sendChatToPlayer( - aPlayer, - StatCollector.translateToLocal("GT5U.machines.separatebus") + " " + inputSeparation); - } - } - - @Override - public boolean onWireCutterRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, - float aX, float aY, float aZ, ItemStack aTool) { - if (aPlayer.isSneaking()) { - batchMode = !batchMode; - if (batchMode) { - GT_Utility.sendChatToPlayer(aPlayer, "Batch recipes."); - } else { - GT_Utility.sendChatToPlayer(aPlayer, "Don't batch recipes."); - } - } - - return true; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return 102400; - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - return survivialBuildPiece("main", stackSize, 5, 16, 0, elementBudget, env, false, true); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - this.glassTier = aNBT.getByte("glassTier"); - if (!aNBT.hasKey(INPUT_SEPARATION_NBT_KEY)) { - inputSeparation = aNBT.getBoolean("separateBusses"); - } - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setByte("glassTier", glassTier); - super.saveNBTData(aNBT); - } - - @Override - public boolean supportsInputSeparation() { - return true; - } - - @Override - public boolean supportsBatchMode() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java deleted file mode 100644 index 84fac40265..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java +++ /dev/null @@ -1,208 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines; - -import static gtPlusPlus.core.lib.CORE.RANDOM; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import gregtech.api.enums.Materials; -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.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.recipe.maps.FuelBackend; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -@SuppressWarnings("deprecation") -public class GT_MTE_LargeTurbine_Gas extends GregtechMetaTileEntity_LargerTurbineBase { - - private static final HashSet BLACKLIST = new HashSet<>(); - - static { - BLACKLIST.add( - Materials.Benzene.getFluid(0) - .getFluid()); - } - - public GT_MTE_LargeTurbine_Gas(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT_MTE_LargeTurbine_Gas(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MTE_LargeTurbine_Gas(mName); - } - - @Override - public int getCasingMeta() { - return 3; - } - - @Override - public int getCasingTextureIndex() { - return 58; - } - - @Override - protected boolean requiresOutputHatch() { - return false; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return 4000; - } - - @Override - public int getFuelValue(FluidStack aLiquid) { - if (aLiquid == null) { - return 0; - } - GT_Recipe tFuel = getRecipeMap().getBackend() - .findFuel(aLiquid); - if (tFuel != null) { - return tFuel.mSpecialValue; - } - return 0; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.gasTurbineFuels; - } - - @Override - public int getRecipeCatalystPriority() { - return -20; - } - - @Override - protected boolean filtersFluid() { - return false; - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - List fluids = getStoredFluids(); - for (FluidStack fluid : fluids) { - if (fluid != null && BLACKLIST.contains(fluid.getFluid())) { - return SimpleCheckRecipeResult.ofFailure("fuel_blacklisted"); - } - } - return super.checkProcessing(); - } - - @Override - long fluidIntoPower(ArrayList aFluids, long aOptFlow, int aBaseEff, float[] flowMultipliers) { - if (aFluids.size() >= 1) { - int tEU = 0; - int actualOptimalFlow = 0; - FluidStack firstFuelType = new FluidStack(aFluids.get(0), 0); // Identify a SINGLE type of fluid to process. - // Doesn't matter which one. Ignore the rest! - int fuelValue = getFuelValue(firstFuelType); - // log("Fuel Value of "+aFluids.get(0).getLocalizedName()+" is "+fuelValue+"eu"); - if (aOptFlow < fuelValue) { - // turbine too weak and/or fuel too powerful - // at least consume 1L - this.realOptFlow = 1; - // wastes the extra fuel and generate aOptFlow directly - depleteInput(new FluidStack(firstFuelType, 1)); - this.storedFluid += 1; - return GT_Utility.safeInt((long) aOptFlow * (long) aBaseEff / 10000L); - } - - actualOptimalFlow = GT_Utility.safeInt((long) (aOptFlow * (double) flowMultipliers[1] / fuelValue)); - this.realOptFlow = actualOptimalFlow; - - int remainingFlow = GT_Utility.safeInt((long) (actualOptimalFlow * 1.25f)); // Allowed to use up to 125% of - // optimal flow. Variable - // required outside of loop for - // multi-hatch scenarios. - int flow = 0; - int totalFlow = 0; - - storedFluid = 0; - for (FluidStack aFluid : aFluids) { - if (aFluid.isFluidEqual(firstFuelType)) { - flow = Math.min(aFluid.amount, remainingFlow); // try to use up to 125% of optimal flow w/o - // exceeding remainingFlow - depleteInput(new FluidStack(aFluid, flow)); // deplete that amount - this.storedFluid += aFluid.amount; - remainingFlow -= flow; // track amount we're allowed to continue depleting from hatches - totalFlow += flow; // track total input used - } - } - if (totalFlow <= 0) return 0; - tEU = GT_Utility.safeInt((long) totalFlow * fuelValue); - - if (totalFlow == actualOptimalFlow) { - tEU = GT_Utility.safeInt((long) tEU * (long) aBaseEff / 10000L); - } else { - float efficiency = 1.0f - Math.abs((totalFlow - actualOptimalFlow) / (float) actualOptimalFlow); - tEU *= efficiency; - tEU = GT_Utility.safeInt((long) tEU * (long) aBaseEff / 10000L); - } - - return tEU; - } - return 0; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return (RANDOM.nextInt(4) == 0) ? 0 : 1; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - } - - @Override - public String getMachineType() { - return "Large Gas Turbine"; - } - - @Override - protected String getTurbineType() { - return "Gas"; - } - - @Override - protected String getCasingName() { - return "Reinforced Gas Turbine Casing"; - } - - @Override - protected ITexture getTextureFrontFace() { - return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced); - } - - @Override - protected ITexture getTextureFrontFaceActive() { - return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java deleted file mode 100644 index db99b52be1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java +++ /dev/null @@ -1,314 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines; - -import java.util.ArrayList; -import java.util.HashSet; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.recipe.maps.FuelBackend; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.shutdown.ShutDownReasonRegistry; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Turbine; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -@SuppressWarnings("deprecation") -public class GT_MTE_LargeTurbine_Plasma extends GregtechMetaTileEntity_LargerTurbineBase { - - private static final HashSet BLACKLIST = new HashSet<>(); - - public GT_MTE_LargeTurbine_Plasma(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT_MTE_LargeTurbine_Plasma(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MTE_LargeTurbine_Plasma(mName); - } - - @Override - public int getCasingMeta() { - return 4; - } - - @Override - public int getCasingTextureIndex() { - return 60; - } - - @Override - protected boolean requiresOutputHatch() { - return true; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return 0; - } - - @Override - public int getFuelValue(FluidStack aLiquid) { - if (aLiquid == null) { - return 0; - } - GT_Recipe tFuel = getRecipeMap().getBackend() - .findFuel(aLiquid); - if (tFuel != null) { - return tFuel.mSpecialValue; - } - return 0; - } - - @Override - public RecipeMap getRecipeMap() { - return RecipeMaps.plasmaFuels; - } - - @Override - public int getRecipeCatalystPriority() { - return -20; - } - - @Override - protected boolean filtersFluid() { - return false; - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - - try { - ArrayList aEmptyTurbineRotorHatches = getEmptyTurbineAssemblies(); - if (aEmptyTurbineRotorHatches.size() > 0) { - hatch: for (GT_MetaTileEntity_Hatch_Turbine aHatch : aEmptyTurbineRotorHatches) { - ArrayList aTurbines = getAllBufferedTurbines(); - for (ItemStack aTurbineItem : aTurbines) { - if (aTurbineItem == null) { - continue; - } - if (aHatch.insertTurbine(aTurbineItem.copy())) { - depleteTurbineFromStock(aTurbineItem); - continue hatch; - } - } - } - } - - if (getEmptyTurbineAssemblies().size() > 0 || !areAllTurbinesTheSame()) { - stopMachine(ShutDownReasonRegistry.NO_TURBINE); - return CheckRecipeResultRegistry.NO_TURBINE_FOUND; - } - - ArrayList tFluids = getStoredFluids(); - - if (tFluids.size() > 0) { - for (FluidStack fluid : tFluids) { - if (fluid != null && BLACKLIST.contains(fluid.getFluid())) { - return SimpleCheckRecipeResult.ofFailure("fuel_blacklisted"); - } - } - if (baseEff == 0 || optFlow == 0 - || counter >= 512 - || this.getBaseMetaTileEntity() - .hasWorkJustBeenEnabled() - || this.getBaseMetaTileEntity() - .hasInventoryBeenModified()) { - counter = 0; - - float aTotalBaseEff = 0; - float aTotalOptimalFlow = 0; - - ItemStack aStack = getFullTurbineAssemblies().get(0) - .getTurbine(); - aTotalBaseEff += GT_Utility.safeInt( - (long) ((5F + ((GT_MetaGenerated_Tool) aStack.getItem()).getToolCombatDamage(aStack)) * 1000F)); - aTotalOptimalFlow += GT_Utility.safeInt( - (long) Math.max( - Float.MIN_NORMAL, - ((GT_MetaGenerated_Tool) aStack.getItem()).getToolStats(aStack) - .getSpeedMultiplier() * GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mToolSpeed - * 50)); - - // Calculate total EU/t (as shown on turbine tooltip (Fast mode doesn't affect)) - double aEUPerTurbine = aTotalOptimalFlow * 40 - * 0.0105 - * GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mPlasmaMultiplier - * (50.0f + (10.0f * ((GT_MetaGenerated_Tool) aStack.getItem()).getToolCombatDamage(aStack))); - aTotalOptimalFlow *= getSpeedMultiplier(); - - if (aTotalOptimalFlow < 0) { - aTotalOptimalFlow = 100; - } - - flowMultipliers[0] = GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mSteamMultiplier; - flowMultipliers[1] = GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mGasMultiplier; - flowMultipliers[2] = GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mPlasmaMultiplier; - baseEff = MathUtils.roundToClosestInt(aTotalBaseEff); - optFlow = MathUtils.roundToClosestInt(aTotalOptimalFlow); - euPerTurbine = MathUtils.roundToClosestInt(aEUPerTurbine); - if (optFlow <= 0 || baseEff <= 0) { - stopMachine(ShutDownReasonRegistry.NONE); // in case the turbine got removed - return CheckRecipeResultRegistry.NO_FUEL_FOUND; - } - } else { - counter++; - } - } - - // How much the turbine should be producing with this flow - long newPower = fluidIntoPower(tFluids, optFlow, baseEff, flowMultipliers); - - // Reduce produced power depending on the ratio between fuel value and turbine EU/t with the following - // formula: - // EU/t = EU/t * MIN(1, ( ( (FuelValue / 200) ^ 2 ) / EUPerTurbine)) - int fuelValue = 0; - if (tFluids.size() > 0) { - fuelValue = getFuelValue(new FluidStack(tFluids.get(0), 0)); - } - float magicValue = (fuelValue * 0.005f) * (fuelValue * 0.005f); - float efficiencyLoss = Math.min(1.0f, magicValue / euPerTurbine); - newPower *= efficiencyLoss; - - long difference = newPower - this.lEUt; // difference between current output and new output - - // Magic numbers: can always change by at least 10 eu/t, but otherwise by at most 1 percent of the - // difference in power level (per tick) - // This is how much the turbine can actually change during this tick - int maxChangeAllowed = Math.max(10, GT_Utility.safeInt((long) Math.abs(difference) / 100)); - - if (Math.abs(difference) > maxChangeAllowed) { // If this difference is too big, use the maximum allowed - // change - int change = maxChangeAllowed * (difference > 0 ? 1 : -1); // Make the change positive or negative. - this.lEUt += change; // Apply the change - } else { - this.lEUt = newPower; - } - if (this.lEUt <= 0) { - this.lEUt = 0; - this.mEfficiency = 0; - return CheckRecipeResultRegistry.NO_FUEL_FOUND; - } else { - this.mMaxProgresstime = 20; - this.mEfficiencyIncrease = 10; - // Overvoltage is handled inside the MultiBlockBase when pushing out to dynamos. no need to do it here. - // Play sounds (GT++ addition - GT multiblocks play no sounds) - enableAllTurbineHatches(); - return CheckRecipeResultRegistry.GENERATING; - } - } catch (Throwable t) { - t.printStackTrace(); - } - return CheckRecipeResultRegistry.NO_FUEL_FOUND; - } - - @Override - long fluidIntoPower(ArrayList aFluids, long aOptFlow, int aBaseEff, float[] flowMultipliers) { - if (aFluids.size() >= 1) { - aOptFlow *= 800; // CHANGED THINGS HERE, check recipe runs once per 20 ticks - int tEU = 0; - - int actualOptimalFlow = 0; - - FluidStack firstFuelType = new FluidStack(aFluids.get(0), 0); // Identify a SINGLE type of fluid to process. - // Doesn't matter which one. Ignore the rest! - int fuelValue = getFuelValue(firstFuelType); - actualOptimalFlow = GT_Utility - .safeInt((long) Math.ceil((double) aOptFlow * (double) flowMultipliers[2] / (double) fuelValue)); - this.realOptFlow = actualOptimalFlow; // For scanner info - - int remainingFlow = GT_Utility.safeInt((long) (actualOptimalFlow * 1.25f)); // Allowed to use up to 125% of - // optimal flow. Variable - // required outside of loop for - // multi-hatch scenarios. - int flow = 0; - int totalFlow = 0; - - storedFluid = 0; - for (FluidStack aFluid : aFluids) { - if (aFluid.isFluidEqual(firstFuelType)) { - flow = Math.min(aFluid.amount, remainingFlow); // try to use up w/o exceeding remainingFlow - depleteInput(new FluidStack(aFluid, flow)); // deplete that amount - this.storedFluid += aFluid.amount; - remainingFlow -= flow; // track amount we're allowed to continue depleting from hatches - totalFlow += flow; // track total input used - } - } - String fn = FluidRegistry.getFluidName(firstFuelType); - String[] nameSegments = fn.split("\\.", 2); - if (nameSegments.length == 2) { - String outputName = nameSegments[1]; - FluidStack output = FluidRegistry.getFluidStack(outputName, totalFlow); - if (output == null) { - output = FluidRegistry.getFluidStack("molten." + outputName, totalFlow); - } - if (output != null) { - addOutput(output); - } - } - if (totalFlow <= 0) return 0; - tEU = GT_Utility.safeInt((long) ((fuelValue / 20D) * (double) totalFlow)); - - if (totalFlow == actualOptimalFlow) { - tEU = GT_Utility.safeInt((long) (aBaseEff / 10000D * tEU)); - } else { - double efficiency = 1.0D - Math.abs((totalFlow - actualOptimalFlow) / (float) actualOptimalFlow); - - tEU = (int) (tEU * efficiency); - tEU = GT_Utility.safeInt((long) (aBaseEff / 10000D * tEU)); - } - - return tEU; - } - return 0; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 1; - } - - @Override - public String getMachineType() { - return "Large Plasma Turbine"; - } - - @Override - protected String getTurbineType() { - return "Plasma"; - } - - @Override - protected String getCasingName() { - return "Reinforced Plasma Turbine Casing"; - } - - @Override - protected ITexture getTextureFrontFace() { - return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced); - } - - @Override - protected ITexture getTextureFrontFaceActive() { - return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SCSteam.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SCSteam.java deleted file mode 100644 index 7ee40757fd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SCSteam.java +++ /dev/null @@ -1,126 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines; - -import java.util.ArrayList; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GT_MTE_LargeTurbine_SCSteam extends GregtechMetaTileEntity_LargerTurbineBase { - - public GT_MTE_LargeTurbine_SCSteam(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT_MTE_LargeTurbine_SCSteam(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MTE_LargeTurbine_SCSteam(mName); - } - - @Override - public int getCasingMeta() { - return 15; - } - - @Override - public int getCasingTextureIndex() { - return 1538; - } - - @Override - protected boolean requiresOutputHatch() { - return true; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return 0; - } - - @Override - public int getFuelValue(FluidStack aLiquid) { - return 0; - } - - @Override - long fluidIntoPower(ArrayList aFluids, long aOptFlow, int aBaseEff, float[] flowMultipliers) { - int tEU = 0; - int totalFlow = 0; // Byproducts are based on actual flow - int flow = 0; - // Variable required outside of loop for - // multi-hatch scenarios. - this.realOptFlow = aOptFlow; - // this.realOptFlow = (double) aOptFlow * (double) flowMultipliers[0]; - // Will there be an multiplier for SC? - int remainingFlow = MathUtils.safeInt((long) (realOptFlow * 1.25f)); // Allowed to use up to - // 125% of optimal flow. - - storedFluid = 0; - FluidStack tSCSteam = FluidRegistry.getFluidStack("supercriticalsteam", 1); - for (int i = 0; i < aFluids.size() && remainingFlow > 0; i++) { - if (GT_Utility.areFluidsEqual(aFluids.get(i), tSCSteam, true)) { - flow = Math.min(aFluids.get(i).amount, remainingFlow); // try to use up w/o exceeding remainingFlow - depleteInput(new FluidStack(aFluids.get(i), flow)); // deplete that amount - this.storedFluid += aFluids.get(i).amount; - remainingFlow -= flow; // track amount we're allowed to continue depleting from hatches - totalFlow += flow; // track total input used - } - } - if (totalFlow <= 0) return 0; - tEU = totalFlow; - addOutput(GT_ModHandler.getSteam(totalFlow)); - if (totalFlow != realOptFlow) { - float efficiency = 1.0f - Math.abs((totalFlow - (float) realOptFlow) / (float) realOptFlow); - // if(totalFlow>aOptFlow){efficiency = 1.0f;} - tEU *= efficiency; - tEU = Math.max(1, MathUtils.safeInt((long) tEU * (long) aBaseEff / 10000L)); - } else { - tEU = MathUtils.safeInt((long) tEU * (long) aBaseEff / 10000L); - } - - return tEU * 100L; - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 8; - } - - @Override - public String getMachineType() { - return "Large Supercritical Steam Turbine"; - } - - @Override - protected String getTurbineType() { - return "Supercritical Steam"; - } - - @Override - protected String getCasingName() { - return "Reinforced SC Turbine Casing"; - } - - @Override - protected ITexture getTextureFrontFace() { - return TextureFactory.of(TexturesGtBlock.Overlay_Machine_Controller_Advanced); - } - - @Override - protected ITexture getTextureFrontFaceActive() { - return TextureFactory.of(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SHSteam.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SHSteam.java deleted file mode 100644 index d1346d3a51..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SHSteam.java +++ /dev/null @@ -1,204 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines; - -import java.util.ArrayList; - -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; - -import gregtech.GT_Mod; -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_ModHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -@SuppressWarnings("deprecation") -public class GT_MTE_LargeTurbine_SHSteam extends GregtechMetaTileEntity_LargerTurbineBase { - - public boolean achievement = false; - private boolean looseFit = false; - - public GT_MTE_LargeTurbine_SHSteam(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT_MTE_LargeTurbine_SHSteam(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MTE_LargeTurbine_SHSteam(mName); - } - - @Override - public int getCasingMeta() { - return 2; - } - - @Override - public int getCasingTextureIndex() { - return 59; - } - - @Override - protected boolean requiresOutputHatch() { - return true; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return 0; - } - - @Override - public int getFuelValue(FluidStack aLiquid) { - return 0; - } - - @Override - long fluidIntoPower(ArrayList aFluids, long aOptFlow, int aBaseEff, float[] flowMultipliers) { - if (looseFit) { - aOptFlow *= 4; - if (aBaseEff > 10000) { - aOptFlow *= Math.pow(1.1f, ((aBaseEff - 7500) / 10000F) * 20f); - aBaseEff = 7500; - } else if (aBaseEff > 7500) { - aOptFlow *= Math.pow(1.1f, ((aBaseEff - 7500) / 10000F) * 20f); - aBaseEff *= 0.75f; - } else { - aBaseEff *= 0.75f; - } - } - // prevent overflow like that in SC Steam - long tEU = 0; - int totalFlow = 0; // Byproducts are based on actual flow - int flow = 0; - - // Variable required outside of loop for - // multi-hatch scenarios. - this.realOptFlow = aOptFlow * flowMultipliers[0]; - - int remainingFlow = MathUtils.safeInt((long) (realOptFlow * 1.25f)); // Allowed to use up to - // 125% of optimal flow. - - storedFluid = 0; - for (int i = 0; i < aFluids.size() && remainingFlow > 0; i++) { - String fluidName = aFluids.get(i) - .getFluid() - .getUnlocalizedName(aFluids.get(i)); - if (fluidName.equals("ic2.fluidSuperheatedSteam")) { - flow = Math.min(aFluids.get(i).amount, remainingFlow); // try to use up w/o exceeding remainingFlow - depleteInput(new FluidStack(aFluids.get(i), flow)); // deplete that amount - this.storedFluid += aFluids.get(i).amount; - remainingFlow -= flow; // track amount we're allowed to continue depleting from hatches - totalFlow += flow; // track total input used - if (!achievement) { - try { - GT_Mod.achievements.issueAchievement( - this.getBaseMetaTileEntity() - .getWorld() - .getPlayerEntityByName( - this.getBaseMetaTileEntity() - .getOwnerName()), - "efficientsteam"); - } catch (Exception e) {} - achievement = true; - } - } else if (fluidName.equals("fluid.steam") || fluidName.equals("ic2.fluidSteam") - || fluidName.equals("fluid.mfr.steam.still.name")) { - depleteInput(new FluidStack(aFluids.get(i), aFluids.get(i).amount)); - } - } - if (totalFlow <= 0) return 0; - tEU = totalFlow; - addOutput(GT_ModHandler.getSteam(totalFlow)); - if (totalFlow != realOptFlow) { - float efficiency = 1.0f - Math.abs((totalFlow - (float) realOptFlow) / (float) realOptFlow); - // if(totalFlow>aOptFlow){efficiency = 1.0f;} - tEU *= efficiency; - tEU = Math.max(1L, tEU * aBaseEff / 10000L); - } else { - tEU = tEU * aBaseEff / 10000L; - } - - return tEU; - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - // Using a screwdriver to change modes should allow for any combination of Slow/Fast and Tight/Loose Mode - // Whenever there's a mode switch, there will be two messages on the player chat - // The two messages specify which two modes the turbine is on after the change - // (Tight/Loose changes on every action, Slow/Fast changes every other action, all pairs are cycled this way) - if (side == getBaseMetaTileEntity().getFrontFacing()) { - looseFit ^= true; - GT_Utility.sendChatToPlayer( - aPlayer, - looseFit ? "Fitting is Loose (Higher Flow)" : "Fitting is Tight (Higher Efficiency)"); - } - - if (looseFit) { - super.onModeChangeByScrewdriver(side, aPlayer, aX, aY, aZ); - } else if (mFastMode) { - PlayerUtils.messagePlayer(aPlayer, "Running in Fast (48x) Mode."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Running in Slow (16x) Mode."); - } - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return (looseFit && CORE.RANDOM.nextInt(4) == 0) ? 0 : 1; - } - - @Override - public boolean isLooseMode() { - return looseFit; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("turbineFitting", looseFit); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - looseFit = aNBT.getBoolean("turbineFitting"); - } - - @Override - public String getMachineType() { - return "Large Super-heated Steam Turbine"; - } - - @Override - protected String getTurbineType() { - return "Super-heated Steam"; - } - - @Override - protected String getCasingName() { - return "Reinforced HP Steam Turbine Casing"; - } - - @Override - protected ITexture getTextureFrontFace() { - return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced); - } - - @Override - protected ITexture getTextureFrontFaceActive() { - return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Steam.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Steam.java deleted file mode 100644 index c882b84aab..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Steam.java +++ /dev/null @@ -1,215 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines; - -import static gtPlusPlus.core.lib.CORE.RANDOM; - -import java.util.ArrayList; - -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; - -import gregtech.GT_Mod; -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_ModHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -@SuppressWarnings("deprecation") -public class GT_MTE_LargeTurbine_Steam extends GregtechMetaTileEntity_LargerTurbineBase { - - private float water; - private boolean achievement = false; - private boolean looseFit = false; - - public GT_MTE_LargeTurbine_Steam(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT_MTE_LargeTurbine_Steam(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MTE_LargeTurbine_Steam(mName); - } - - @Override - public int getCasingMeta() { - return 1; - } - - @Override - public int getCasingTextureIndex() { - return 16; - } - - @Override - protected boolean requiresOutputHatch() { - return true; - } - - @Override - public int getPollutionPerSecond(ItemStack aStack) { - return 0; - } - - private int useWater(float input) { - water = water + input; - int usage = (int) water; - water = water - usage; - return usage; - } - - @Override - public int getFuelValue(FluidStack aLiquid) { - return 0; - } - - @Override - long fluidIntoPower(ArrayList aFluids, long aOptFlow, int aBaseEff, float[] flowMultipliers) { - if (looseFit) { - aOptFlow *= 4; - if (aBaseEff > 10000) { - aOptFlow *= Math.pow(1.1f, ((aBaseEff - 7500) / 10000F) * 20f); - aBaseEff = 7500; - } else if (aBaseEff > 7500) { - aOptFlow *= Math.pow(1.1f, ((aBaseEff - 7500) / 10000F) * 20f); - aBaseEff *= 0.75f; - } else { - aBaseEff *= 0.75f; - } - } - // prevent overflow like that in SC Steam - long tEU = 0; - int totalFlow = 0; // Byproducts are based on actual flow - int flow = 0; - - // Variable required outside of loop for - // multi-hatch scenarios. - this.realOptFlow = aOptFlow * flowMultipliers[0]; - - int remainingFlow = MathUtils.safeInt((long) (realOptFlow * 1.25f)); // Allowed to - // use up to - // 125% of - // optimal flow. - - storedFluid = 0; - for (int i = 0; i < aFluids.size() && remainingFlow > 0; i++) { // loop through each hatch; extract inputs and - // track totals. - String fluidName = aFluids.get(i) - .getFluid() - .getUnlocalizedName(aFluids.get(i)); - if (fluidName.equals("fluid.steam") || fluidName.equals("ic2.fluidSteam") - || fluidName.equals("fluid.mfr.steam.still.name")) { - flow = Math.min(aFluids.get(i).amount, remainingFlow); // try to use up w/o exceeding remainingFlow - depleteInput(new FluidStack(aFluids.get(i), flow)); // deplete that amount - this.storedFluid += aFluids.get(i).amount; - remainingFlow -= flow; // track amount we're allowed to continue depleting from hatches - totalFlow += flow; // track total input used - if (!achievement) { - GT_Mod.achievements.issueAchievement( - this.getBaseMetaTileEntity() - .getWorld() - .getPlayerEntityByName( - this.getBaseMetaTileEntity() - .getOwnerName()), - "muchsteam"); - achievement = true; - } - } else if (fluidName.equals("ic2.fluidSuperheatedSteam")) { - depleteInput(new FluidStack(aFluids.get(i), aFluids.get(i).amount)); - } - } - if (totalFlow <= 0) return 0; - tEU = totalFlow; - int waterToOutput = useWater(totalFlow / 160.0f); - addOutput(GT_ModHandler.getDistilledWater(waterToOutput)); - if (totalFlow != realOptFlow) { - float efficiency = 1.0f - Math.abs((totalFlow - (float) realOptFlow) / (float) realOptFlow); - // if(totalFlow>aOptFlow){efficiency = 1.0f;} - tEU *= efficiency; - tEU = Math.max(1L, tEU * aBaseEff / 20000L); - } else { - tEU = tEU * aBaseEff / 20000L; - } - - return tEU; - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - // Using a screwdriver to change modes should allow for any combination of Slow/Fast and Tight/Loose Mode - // Whenever there's a mode switch, there will be two messages on the player chat - // The two messages specify which two modes the turbine is on after the change - // (Tight/Loose changes on every action, Slow/Fast changes every other action, all pairs are cycled this way) - if (side == getBaseMetaTileEntity().getFrontFacing()) { - looseFit ^= true; - GT_Utility.sendChatToPlayer( - aPlayer, - looseFit ? "Fitting: Loose - More Flow" : "Fitting: Tight - More Efficiency"); - } - - if (looseFit) { - super.onModeChangeByScrewdriver(side, aPlayer, aX, aY, aZ); - } else if (mFastMode) { - PlayerUtils.messagePlayer(aPlayer, "Running in Fast (48x) Mode."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Running in Slow (16x) Mode."); - } - } - - @Override - public int getDamageToComponent(ItemStack aStack) { - return (looseFit && RANDOM.nextInt(4) == 0) ? 0 : 1; - } - - @Override - public boolean isLooseMode() { - return looseFit; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - aNBT.setBoolean("turbineFitting", looseFit); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - looseFit = aNBT.getBoolean("turbineFitting"); - } - - @Override - public String getMachineType() { - return "Large Steam Turbine"; - } - - @Override - protected String getTurbineType() { - return "Steam"; - } - - @Override - protected String getCasingName() { - return "Reinforced Steam Turbine Casing"; - } - - @Override - protected ITexture getTextureFrontFace() { - return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced); - } - - @Override - protected ITexture getTextureFrontFaceActive() { - return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GregtechMetaTileEntity_LargerTurbineBase.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GregtechMetaTileEntity_LargerTurbineBase.java deleted file mode 100644 index eec137cea2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GregtechMetaTileEntity_LargerTurbineBase.java +++ /dev/null @@ -1,893 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.lazy; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static gregtech.api.enums.GT_HatchElement.Dynamo; -import static gregtech.api.enums.GT_HatchElement.InputBus; -import static gregtech.api.enums.GT_HatchElement.InputHatch; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.GT_HatchElement.Muffler; -import static gregtech.api.enums.GT_HatchElement.OutputHatch; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_Utility.filterValidMTEs; -import static gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase.GTPPHatchElement.TTDynamo; - -import java.util.ArrayList; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; - -import gregtech.api.enums.Materials; -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.items.GT_MetaGenerated_Tool; -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_InputBus; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.shutdown.ShutDownReason; -import gregtech.api.util.shutdown.ShutDownReasonRegistry; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.minecraft.BlockPos; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Turbine; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; - -public abstract class GregtechMetaTileEntity_LargerTurbineBase - extends GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - protected int baseEff = 0; - protected long optFlow = 0; - protected long euPerTurbine = 0; - protected double realOptFlow = 0; - protected int storedFluid = 0; - protected int counter = 0; - protected boolean mFastMode = false; - protected double mufflerReduction = 1; - protected float[] flowMultipliers = new float[] { 1, 1, 1 }; - - public ITexture frontFace; - public ITexture frontFaceActive; - - public ArrayList mTurbineRotorHatches = new ArrayList<>(); - - public GregtechMetaTileEntity_LargerTurbineBase(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - frontFace = getTextureFrontFace(); - frontFaceActive = getTextureFrontFaceActive(); - } - - public GregtechMetaTileEntity_LargerTurbineBase(String aName) { - super(aName); - frontFace = getTextureFrontFace(); - frontFaceActive = getTextureFrontFaceActive(); - } - - protected abstract ITexture getTextureFrontFace(); - - protected abstract ITexture getTextureFrontFaceActive(); - - protected abstract String getTurbineType(); - - protected abstract String getCasingName(); - - protected abstract boolean requiresOutputHatch(); - - @Override - protected final GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Controller Block for the XL " + getTurbineType() + " Turbine") - .addInfo("Runs as fast as 16 Large Turbines of the same type, takes the space of 12") - .addInfo("Right-click with screwdriver to enable Fast Mode, to run it even faster") - .addInfo("Optimal flow will increase or decrease accordingly on mode switch") - .addInfo("Fast Mode increases speed to 48x instead of 16x, with some penalties") - .addInfo("Maintenance problems and turbine damage happen 12x as often in Fast Mode"); - if (getTurbineType().contains("Steam")) { - tt.addInfo("XL Steam Turbines can use Loose Mode with either Slow or Fast Mode"); - } - if (getTurbineType().equals("Plasma")) { - tt.addInfo("Plasma fuel efficiency is lower for high tier turbines when using low-grade plasmas") - .addInfo("Efficiency = ((FuelValue / 200,000)^2) / (EU per Turbine)"); - } - tt.addPollutionAmount(getPollutionPerSecond(null)) - .addInfo("Pollution is 3x higher in Fast Mode") - .addSeparator() - .beginStructureBlock(7, 9, 7, false) - .addController("Top Middle") - .addCasingInfoMin(getCasingName(), 360, false) - .addCasingInfoMin("Rotor Shaft", 30, false) - .addOtherStructurePart("Rotor Assembly", "Any 1 dot hint", 1) - .addInputBus("Any 4 dot hint (min 1)", 4) - .addInputHatch("Any 4 dot hint(min 1)", 4); - if (requiresOutputHatch()) { - tt.addOutputHatch("Any 4 dot hint(min 1)", 4); - } - tt.addDynamoHatch("Any 4 dot hint(min 1)", 4) - .addMaintenanceHatch("Any 4 dot hint(min 1)", 4); - if (requiresMufflers()) { - tt.addMufflerHatch("Any 7 dot hint (x4)", 7); - } - tt.toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - private static final String STRUCTURE_PIECE_MAIN = "main"; - private static final ClassValue> STRUCTURE_DEFINITION = new ClassValue<>() { - - @Override - @SuppressWarnings("SpellCheckingInspection") - protected IStructureDefinition computeValue(Class type) { - return StructureDefinition.builder() - // c = turbine casing - // s = turbine shaft - // t = turbine housing - // h = dynamo/maint - // m = muffler - .addShape( - STRUCTURE_PIECE_MAIN, - (new String[][] { { "ccchccc", "ccccccc", "ccmmmcc", "ccm~mcc", "ccmmmcc", "ccccccc", "ccchccc" }, - { "ctchctc", "cscccsc", "cscccsc", "cscccsc", "cscccsc", "cscccsc", "ctchctc" }, - { "ccchccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccchccc" }, - { "ccchccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccchccc" }, - { "ctchctc", "cscccsc", "cscccsc", "cscccsc", "cscccsc", "cscccsc", "ctchctc" }, - { "ccchccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccchccc" }, - { "ccchccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccchccc" }, - { "ctchctc", "cscccsc", "cscccsc", "cscccsc", "cscccsc", "cscccsc", "ctchctc" }, - { "ccchccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccccccc", "ccchccc" }, })) - .addElement('c', lazy(t -> ofBlock(t.getCasingBlock(), t.getCasingMeta()))) - .addElement('s', lazy(t -> ofBlock(t.getShaftBlock(), t.getTurbineShaftMeta()))) - .addElement( - 't', - lazy( - t -> buildHatchAdder(GregtechMetaTileEntity_LargerTurbineBase.class) - .adder(GregtechMetaTileEntity_LargerTurbineBase::addTurbineHatch) - .hatchClass(GT_MetaTileEntity_Hatch_Turbine.class) - .casingIndex(t.getCasingTextureIndex()) - .dot(1) - .build())) - .addElement( - 'h', - lazy( - t -> buildHatchAdder(GregtechMetaTileEntity_LargerTurbineBase.class) - .atLeast(InputBus, InputHatch, OutputHatch, Dynamo.or(TTDynamo), Maintenance) - .casingIndex(t.getCasingTextureIndex()) - .dot(4) - .buildAndChain(t.getCasingBlock(), t.getCasingMeta()))) - .addElement( - 'm', - lazy( - t -> buildHatchAdder(GregtechMetaTileEntity_LargerTurbineBase.class).atLeast(Muffler) - .casingIndex(t.getCasingTextureIndex()) - .dot(7) - .buildAndChain(t.getCasingBlock(), t.getCasingMeta()))) - .build(); - } - }; - - @Override - public IStructureDefinition getStructureDefinition() { - return STRUCTURE_DEFINITION.get(getClass()); - } - - private boolean requiresMufflers() { - if (!PollutionUtils.isPollutionEnabled()) { - return false; - } - return getPollutionPerSecond(null) > 0; - } - - public final double getMufflerReduction() { - double totalReduction = 0; - for (GT_MetaTileEntity_Hatch_Muffler tHatch : filterValidMTEs(mMufflerHatches)) { - totalReduction += ((double) tHatch.calculatePollutionReduction(100)) / 100; - } - return totalReduction / 4; - } - - @Override - public void clearHatches() { - super.clearHatches(); - mTurbineRotorHatches.clear(); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - // we do not check for casing count here. the bare minimal is 372 but we only require 360 - boolean aStructure = checkPiece(STRUCTURE_PIECE_MAIN, 3, 3, 0); - log("Structure Check: " + aStructure); - if (mTurbineRotorHatches.size() != 12 || mMaintenanceHatches.size() != 1 - || (mDynamoHatches.size() < 1 && mTecTechDynamoHatches.size() < 1) - || (requiresMufflers() && mMufflerHatches.size() != 4) - || mInputBusses.size() < 1 - || mInputHatches.size() < 1 - || (requiresOutputHatch() && mOutputHatches.size() < 1)) { - log( - "Bad Hatches - Turbine Housings: " + mTurbineRotorHatches.size() - + ", Maint: " - + mMaintenanceHatches.size() - + ", Dynamo: " - + mDynamoHatches.size() - + ", Muffler: " - + mMufflerHatches.size() - + ", Input Buses: " - + mInputBusses.size() - + ", Input Hatches: " - + mInputHatches.size() - + ", Output Hatches: " - + mOutputHatches.size()); - return false; - } - mufflerReduction = getMufflerReduction(); - return aStructure; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - buildPiece(STRUCTURE_PIECE_MAIN, stackSize, hintsOnly, 3, 3, 0); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - int realBudget = elementBudget >= 200 ? elementBudget : Math.min(200, elementBudget * 2); - return survivialBuildPiece(STRUCTURE_PIECE_MAIN, stackSize, 3, 3, 0, realBudget, env, false, true); - } - - public boolean addTurbineHatch(final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity == null) { - return false; - } - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine aTurbineHatch) { - log("Found GT_MetaTileEntity_Hatch_Turbine"); - updateTexture(aTileEntity, aBaseCasingIndex); - IGregTechTileEntity g = this.getBaseMetaTileEntity(); - if (aTurbineHatch.setController(new BlockPos(g.getXCoord(), g.getYCoord(), g.getZCoord(), g.getWorld()))) { - boolean aDidAdd = this.mTurbineRotorHatches.add(aTurbineHatch); - Logger.INFO("Injected Controller into Turbine Assembly. Found: " + this.mTurbineRotorHatches.size()); - return aDidAdd; - } else { - Logger.INFO("Failed to inject controller into Turbine Assembly Hatch."); - } - } - log("Bad Turbine Housing"); - return false; - } - - @Override - public boolean isCorrectMachinePart(ItemStack aStack) { - return getMaxEfficiency(aStack) > 0; - } - - public Block getCasingBlock() { - return ModBlocks.blockSpecialMultiCasings; - } - - public final Block getShaftBlock() { - return ModBlocks.blockSpecialMultiCasings; - } - - public abstract int getCasingMeta(); - - public byte getTurbineShaftMeta() { - return 0; - } - - public abstract int getCasingTextureIndex(); - - public abstract int getFuelValue(FluidStack aLiquid); - - public static boolean isValidTurbine(ItemStack aTurbine) { - return (aTurbine != null && aTurbine.getItem() instanceof GT_MetaGenerated_Tool - && aTurbine.getItemDamage() >= 170 - && aTurbine.getItemDamage() <= 176); - } - - protected ArrayList getAllBufferedTurbines() { - startRecipeProcessing(); - ArrayList aTurbinesInStorage = new ArrayList<>(); - for (ItemStack aStack : getStoredInputs()) { - if (isValidTurbine(aStack)) { - int stackSize = aStack.stackSize; - while (stackSize > 0) { - int tmpStackSize = Math.min(stackSize, aStack.getMaxStackSize()); - ItemStack copy = aStack.copy(); - copy.stackSize = tmpStackSize; - aTurbinesInStorage.add(copy); - stackSize -= tmpStackSize; - } - } - } - endRecipeProcessing(); - return aTurbinesInStorage; - } - - public boolean areAllTurbinesTheSame() { - ArrayList aTurbineAssemblies = getFullTurbineAssemblies(); - if (aTurbineAssemblies.size() < 12) { - log("Found " + aTurbineAssemblies.size() + ", expected 12."); - return false; - } - AutoMap aTurbineMats = new AutoMap<>(); - AutoMap aTurbineSizes = new AutoMap<>(); - for (GT_MetaTileEntity_Hatch_Turbine aHatch : aTurbineAssemblies) { - aTurbineMats.add(GT_MetaGenerated_Tool.getPrimaryMaterial(aHatch.getTurbine())); - aTurbineSizes.add(getTurbineSize(aHatch.getTurbine())); - } - Materials aBaseMat = aTurbineMats.get(0); - int aBaseSize = aTurbineSizes.get(0); - for (int aSize : aTurbineSizes) { - if (aBaseSize != aSize) { - return false; - } - } - for (Materials aMat : aTurbineMats) { - if (aBaseMat != aMat) { - return false; - } - } - return true; - } - - public static int getTurbineSize(ItemStack aTurbine) { - if (isValidTurbine(aTurbine)) { - if (aTurbine.getItemDamage() >= 170 && aTurbine.getItemDamage() < 172) { - return 1; - } else if (aTurbine.getItemDamage() >= 172 && aTurbine.getItemDamage() < 174) { - return 2; - } else if (aTurbine.getItemDamage() >= 174 && aTurbine.getItemDamage() < 176) { - return 3; - } else if (aTurbine.getItemDamage() >= 176 && aTurbine.getItemDamage() < 178) { - return 4; - } - } - return 0; - } - - public static String getTurbineSizeString(int aSize) { - return switch (aSize) { - case 1 -> "Small Turbine"; - case 2 -> "Turbine"; - case 3 -> "Large Turbine"; - case 4 -> "Huge Turbine"; - default -> ""; - }; - } - - protected ArrayList getEmptyTurbineAssemblies() { - ArrayList aEmptyTurbineRotorHatches = new ArrayList<>(); - // log("Checking "+mTurbineRotorHatches.size()+" Assemblies for empties."); - for (GT_MetaTileEntity_Hatch_Turbine aTurbineHatch : this.mTurbineRotorHatches) { - if (!aTurbineHatch.hasTurbine()) { - aEmptyTurbineRotorHatches.add(aTurbineHatch); - } - } - return aEmptyTurbineRotorHatches; - } - - protected ArrayList getFullTurbineAssemblies() { - ArrayList aTurbineRotorHatches = new ArrayList<>(); - // log("Checking "+mTurbineRotorHatches.size()+" Assemblies for Turbines."); - for (GT_MetaTileEntity_Hatch_Turbine aTurbineHatch : this.mTurbineRotorHatches) { - if (aTurbineHatch.hasTurbine()) { - // log("Found Assembly with Turbine."); - aTurbineRotorHatches.add(aTurbineHatch); - } - } - return aTurbineRotorHatches; - } - - protected void depleteTurbineFromStock(ItemStack aTurbine) { - if (aTurbine == null) { - return; - } - startRecipeProcessing(); - for (GT_MetaTileEntity_Hatch_InputBus aInputBus : this.mInputBusses) { - for (int slot = aInputBus.getSizeInventory() - 1; slot >= 0; slot--) { - ItemStack aStack = aInputBus.getStackInSlot(slot); - if (aStack != null && GT_Utility.areStacksEqual(aStack, aTurbine)) { - aStack.stackSize -= aTurbine.stackSize; - updateSlots(); - endRecipeProcessing(); - return; - } - } - } - endRecipeProcessing(); - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - try { - ArrayList aEmptyTurbineRotorHatches = getEmptyTurbineAssemblies(); - if (aEmptyTurbineRotorHatches.size() > 0) { - hatch: for (GT_MetaTileEntity_Hatch_Turbine aHatch : aEmptyTurbineRotorHatches) { - ArrayList aTurbines = getAllBufferedTurbines(); - for (ItemStack aTurbineItem : aTurbines) { - if (aTurbineItem == null) { - continue; - } - if (aHatch.insertTurbine(aTurbineItem.copy())) { - depleteTurbineFromStock(aTurbineItem); - continue hatch; - } - } - } - } - - if (getEmptyTurbineAssemblies().size() > 0 || !areAllTurbinesTheSame()) { - stopMachine(ShutDownReasonRegistry.NO_TURBINE); - return CheckRecipeResultRegistry.NO_TURBINE_FOUND; - } - - ArrayList tFluids = getStoredFluids(); - - if (tFluids.size() > 0) { - if (baseEff == 0 || optFlow == 0 - || counter >= 512 - || this.getBaseMetaTileEntity() - .hasWorkJustBeenEnabled() - || this.getBaseMetaTileEntity() - .hasInventoryBeenModified()) { - counter = 0; - float aTotalBaseEff = 0; - float aTotalOptimalFlow = 0; - - ItemStack aStack = getFullTurbineAssemblies().get(0) - .getTurbine(); - aTotalBaseEff += GT_Utility.safeInt( - (long) ((5F + ((GT_MetaGenerated_Tool) aStack.getItem()).getToolCombatDamage(aStack)) * 1000F)); - aTotalOptimalFlow += GT_Utility.safeInt( - (long) Math.max( - Float.MIN_NORMAL, - ((GT_MetaGenerated_Tool) aStack.getItem()).getToolStats(aStack) - .getSpeedMultiplier() * GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mToolSpeed - * 50) - * getSpeedMultiplier()); - if (aTotalOptimalFlow < 0) { - aTotalOptimalFlow = 100; - } - - flowMultipliers[0] = GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mSteamMultiplier; - flowMultipliers[1] = GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mGasMultiplier; - flowMultipliers[2] = GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mPlasmaMultiplier; - baseEff = MathUtils.roundToClosestInt(aTotalBaseEff); - optFlow = MathUtils.roundToClosestInt(aTotalOptimalFlow); - if (optFlow <= 0 || baseEff <= 0) { - stopMachine(ShutDownReasonRegistry.NONE); // in case the turbine got removed - return CheckRecipeResultRegistry.NO_FUEL_FOUND; - } - } else { - counter++; - } - } - - // How much the turbine should be producing with this flow - long newPower = fluidIntoPower(tFluids, optFlow, baseEff, flowMultipliers); - long difference = newPower - this.lEUt; // difference between current output and new output - - // Magic numbers: can always change by at least 10 eu/t, but otherwise by at most 1 percent of the - // difference in power level (per tick) - // This is how much the turbine can actually change during this tick - int maxChangeAllowed = Math.max(10, GT_Utility.safeInt(Math.abs(difference) / 100)); - - if (Math.abs(difference) > maxChangeAllowed) { // If this difference is too big, use the maximum allowed - // change - int change = maxChangeAllowed * (difference > 0 ? 1 : -1); // Make the change positive or negative. - this.lEUt += change; // Apply the change - } else { - this.lEUt = newPower; - } - if (this.lEUt <= 0) { - this.lEUt = 0; - this.mEfficiency = 0; - return CheckRecipeResultRegistry.NO_FUEL_FOUND; - } else { - this.mMaxProgresstime = 1; - this.mEfficiencyIncrease = 10; - // Overvoltage is handled inside the MultiBlockBase when pushing out to dynamos. no need to do it here. - // Play sounds (GT++ addition - GT multiblocks play no sounds) - enableAllTurbineHatches(); - return CheckRecipeResultRegistry.GENERATING; - } - } catch (Throwable t) { - t.printStackTrace(); - } - return CheckRecipeResultRegistry.NO_FUEL_FOUND; - } - - @Override - public boolean doRandomMaintenanceDamage() { - if (getMaxParallelRecipes() == 0) { - stopMachine(ShutDownReasonRegistry.NO_TURBINE); - return false; - } - - if (mRuntime++ > 1000) { - mRuntime = 0; - - if (getBaseMetaTileEntity().getRandomNumber(6000) < getMaintenanceThreshold()) { - switch (getBaseMetaTileEntity().getRandomNumber(6)) { - case 0 -> mWrench = false; - case 1 -> mScrewdriver = false; - case 2 -> mSoftHammer = false; - case 3 -> mHardHammer = false; - case 4 -> mSolderingTool = false; - case 5 -> mCrowbar = false; - } - } - for (GT_MetaTileEntity_Hatch_Turbine aHatch : getFullTurbineAssemblies()) { - // This cycle depletes durability from the turbine rotors. - // The amount of times it is run depends on turbineDamageMultiplier - // In XL turbines, durability loss is around 5.2-5.3x faster than in singles - // To compensate for that, the mEU/t scaling is divided by 5 to make it only slightly faster - for (int i = 0; i < getTurbineDamageMultiplier(); i++) { - aHatch.damageTurbine(lEUt / 5, damageFactorLow, damageFactorHigh); - } - } - } - return true; - } - - @Override - public int getMaxParallelRecipes() { - return (getFullTurbineAssemblies().size()); - } - - abstract long fluidIntoPower(ArrayList aFluids, long aOptFlow, int aBaseEff, float[] flowMultipliers); - - @Override - public int getDamageToComponent(ItemStack aStack) { - return 1; - } - - @Override - public int getMaxEfficiency(ItemStack aStack) { - return this.getMaxParallelRecipes() == 12 ? 10000 : 0; - } - - @Override - public boolean explodesOnComponentBreak(ItemStack aStack) { - return false; - } - - public boolean isLooseMode() { - return false; - } - - @Override - public String[] getExtraInfoData() { - int mPollutionReduction = (int) (100 * mufflerReduction); - - String tRunning = mMaxProgresstime > 0 - ? EnumChatFormatting.GREEN + StatCollector.translateToLocal("GT5U.turbine.running.true") - + EnumChatFormatting.RESET - : EnumChatFormatting.RED + StatCollector.translateToLocal("GT5U.turbine.running.false") - + EnumChatFormatting.RESET; - - String tMaintenance = getIdealStatus() == getRepairStatus() - ? EnumChatFormatting.GREEN + StatCollector.translateToLocal("GT5U.turbine.maintenance.false") - + EnumChatFormatting.RESET - : EnumChatFormatting.RED + StatCollector.translateToLocal("GT5U.turbine.maintenance.true") - + EnumChatFormatting.RESET; - int tDura; - - StringBuilder aTurbineDamage = new StringBuilder(); - for (GT_MetaTileEntity_Hatch_Turbine aHatch : this.getFullTurbineAssemblies()) { - ItemStack aTurbine = aHatch.getTurbine(); - tDura = MathUtils.safeInt( - (long) (100.0f / GT_MetaGenerated_Tool.getToolMaxDamage(aTurbine) - * (GT_MetaGenerated_Tool.getToolDamage(aTurbine)) + 1)); - aTurbineDamage.append(EnumChatFormatting.RED) - .append(GT_Utility.formatNumbers(tDura)) - .append(EnumChatFormatting.RESET) - .append("% | "); - } - - long storedEnergy = 0; - long maxEnergy = 0; - for (GT_MetaTileEntity_Hatch_Dynamo tHatch : filterValidMTEs(mDynamoHatches)) { - storedEnergy += tHatch.getBaseMetaTileEntity() - .getStoredEU(); - maxEnergy += tHatch.getBaseMetaTileEntity() - .getEUCapacity(); - } - - boolean aIsSteam = this.getClass() - .getName() - .toLowerCase() - .contains("steam"); - - String[] ret = new String[] { - // 8 Lines available for information panels - tRunning + ": " - + EnumChatFormatting.RED - + GT_Utility.formatNumbers(((lEUt * mEfficiency) / 10000)) - + EnumChatFormatting.RESET - + " EU/t", - tMaintenance, - StatCollector.translateToLocal("GT5U.turbine.efficiency") + ": " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers((mEfficiency / 100F)) - + EnumChatFormatting.RESET - + "%", - StatCollector.translateToLocal("GT5U.multiblock.energy") + ": " - + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(storedEnergy) - + EnumChatFormatting.RESET - + " EU / " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(maxEnergy) - + EnumChatFormatting.RESET - + " EU", - StatCollector.translateToLocal("GT5U.turbine.flow") + ": " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(MathUtils.safeInt((long) realOptFlow)) - + EnumChatFormatting.RESET - + " L/s" - + EnumChatFormatting.YELLOW - + " (" - + (isLooseMode() ? StatCollector.translateToLocal("GT5U.turbine.loose") - : StatCollector.translateToLocal("GT5U.turbine.tight")) - + ")", - StatCollector.translateToLocal("GT5U.turbine.fuel") + ": " - + EnumChatFormatting.GOLD - + GT_Utility.formatNumbers(storedFluid) - + EnumChatFormatting.RESET - + "L", - StatCollector.translateToLocal("GT5U.turbine.dmg") + ": " + aTurbineDamage, - StatCollector.translateToLocal("GT5U.multiblock.pollution") + ": " - + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(mPollutionReduction) - + EnumChatFormatting.RESET - + " %" }; - if (!aIsSteam) ret[4] = StatCollector.translateToLocal("GT5U.turbine.flow") + ": " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(MathUtils.safeInt((long) realOptFlow)) - + EnumChatFormatting.RESET - + " L/t"; - return ret; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public boolean polluteEnvironment(int aPollutionLevel) { - if (this.requiresMufflers()) { - mPollution += aPollutionLevel * getPollutionMultiplier() * mufflerReduction; - for (GT_MetaTileEntity_Hatch_Muffler tHatch : filterValidMTEs(mMufflerHatches)) { - if (mPollution >= 10000) { - if (PollutionUtils.addPollution(this.getBaseMetaTileEntity(), 10000)) { - mPollution -= 10000; - } - } else { - break; - } - } - return mPollution < 10000; - } - return true; - } - - @Override - public long maxAmperesOut() { - // This should not be a hard limit, due to TecTech dynamos - if (mFastMode) { - return 64; - } else { - return 16; - } - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setBoolean("mFastMode", mFastMode); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - mFastMode = aNBT.getBoolean("mFastMode"); - super.loadNBTData(aNBT); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - mFastMode = !mFastMode; - if (mFastMode) { - PlayerUtils.messagePlayer(aPlayer, "Running in Fast (48x) Mode."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Running in Slow (16x) Mode."); - } - } - - public final ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, - ForgeDirection facing, int aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[1][aColorIndex + 1], - facing == side ? getFrontFacingTurbineTexture(aActive) - : Textures.BlockIcons.getCasingTextureForId(getCasingTextureIndex()) }; - } - - protected ITexture getFrontFacingTurbineTexture(boolean isActive) { - if (isActive) { - return frontFaceActive; - } - return frontFace; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - if (aBaseMetaTileEntity.isServerSide()) { - if (this.maxProgresstime() > 0 || this.getBaseMetaTileEntity() - .hasWorkJustBeenEnabled()) { - enableAllTurbineHatches(); - } - if (this.maxProgresstime() <= 0) { - stopMachine(ShutDownReasonRegistry.NONE); - } - } - } - - @Override - public void stopMachine(@NotNull ShutDownReason reason) { - baseEff = 0; - optFlow = 0; - disableAllTurbineHatches(); - super.stopMachine(reason); - } - - @Override - public void onRemoval() { - super.onRemoval(); - for (GT_MetaTileEntity_Hatch_Turbine h : this.mTurbineRotorHatches) { - h.clearController(); - } - disableAllTurbineHatches(); - this.mTurbineRotorHatches.clear(); - } - - public void enableAllTurbineHatches() { - updateTurbineHatches(this.isMachineRunning()); - } - - public void disableAllTurbineHatches() { - updateTurbineHatches(false); - } - - private Long mLastHatchUpdate; - - public void updateTurbineHatches(boolean aState) { - if (mLastHatchUpdate == null) { - mLastHatchUpdate = System.currentTimeMillis() / 1000; - } - if (this.mTurbineRotorHatches.isEmpty() || ((System.currentTimeMillis() / 1000) - mLastHatchUpdate) <= 2) { - return; - } - for (GT_MetaTileEntity_Hatch_Turbine h : filterValidMTEs(this.mTurbineRotorHatches)) { - h.setActive(aState); - } - - mLastHatchUpdate = System.currentTimeMillis() / 1000; - } - - @Override - protected IAlignmentLimits getInitialAlignmentLimits() { - return (d, r, f) -> d == ForgeDirection.UP; - } - - /** - * Called every tick the Machine runs - */ - @Override - public boolean onRunningTick(ItemStack aStack) { - if (lEUt > 0) { - addEnergyOutput((lEUt * mEfficiency) / 10000); - return true; - } - return false; - } - - @Override - public boolean addEnergyOutput(long aEU) { - if (aEU <= 0) { - return true; - } - if (this.mAllDynamoHatches.size() > 0) { - return addEnergyOutputMultipleDynamos(aEU, true); - } - return false; - } - - @Override - public boolean addEnergyOutputMultipleDynamos(long aEU, boolean aAllowMixedVoltageDynamos) { - int injected = 0; - long aFirstVoltageFound = -1; - for (GT_MetaTileEntity_Hatch aDynamo : filterValidMTEs(mAllDynamoHatches)) { - long aVoltage = aDynamo.maxEUOutput(); - // Check against voltage to check when hatch mixing - if (aFirstVoltageFound == -1) { - aFirstVoltageFound = aVoltage; - } - } - - long leftToInject; - long aVoltage; - int aAmpsToInject; - int aRemainder; - int ampsOnCurrentHatch; - for (GT_MetaTileEntity_Hatch aDynamo : filterValidMTEs(mAllDynamoHatches)) { - leftToInject = aEU - injected; - aVoltage = aDynamo.maxEUOutput(); - aAmpsToInject = (int) (leftToInject / aVoltage); - aRemainder = (int) (leftToInject - (aAmpsToInject * aVoltage)); - ampsOnCurrentHatch = (int) Math.min(aDynamo.maxAmperesOut(), aAmpsToInject); - - // add full amps - aDynamo.getBaseMetaTileEntity() - .increaseStoredEnergyUnits(aVoltage * ampsOnCurrentHatch, false); - injected += aVoltage * ampsOnCurrentHatch; - - // add reminder - if (aRemainder > 0 && ampsOnCurrentHatch < aDynamo.maxAmperesOut()) { - aDynamo.getBaseMetaTileEntity() - .increaseStoredEnergyUnits(aRemainder, false); - injected += aRemainder; - } - } - return injected > 0; - } - - public int getSpeedMultiplier() { - return mFastMode ? 48 : 16; - } - - public int getMaintenanceThreshold() { - return mFastMode ? 12 : 1; - } - - public int getPollutionMultiplier() { - return mFastMode ? 3 : 1; - } - - public int getTurbineDamageMultiplier() { - return mFastMode ? 3 : 1; - } - - @Override - public boolean supportsBatchMode() { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_PowerSubStationController.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_PowerSubStationController.java deleted file mode 100644 index 67244cb399..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_PowerSubStationController.java +++ /dev/null @@ -1,939 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.storage; - -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.onlyIf; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.withChannel; -import static gregtech.api.enums.GT_HatchElement.Dynamo; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.enums.GT_HatchElement.Maintenance; -import static gregtech.api.enums.Mods.TecTech; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static gregtech.api.util.GT_Utility.filterValidMTEs; -import static gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase.GTPPHatchElement.TTDynamo; -import static gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase.GTPPHatchElement.TTEnergy; - -import javax.annotation.Nullable; - -import net.minecraft.block.Block; -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.Constants.NBT; -import net.minecraftforge.common.util.ForgeDirection; - -import org.jetbrains.annotations.NotNull; - -import com.gtnewhorizon.structurelib.StructureLibAPI; -import com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor; -import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment; -import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.IStructureElement; -import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; -import com.gtnewhorizon.structurelib.structure.StructureDefinition; -import com.gtnewhorizon.structurelib.structure.StructureUtility; -import com.gtnewhorizons.modularui.api.NumberFormatMUI; -import com.gtnewhorizons.modularui.api.drawable.Text; -import com.gtnewhorizons.modularui.api.forge.PlayerMainInvWrapper; -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.DrawableWidget; -import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; -import com.gtnewhorizons.modularui.common.widget.ProgressBar; -import com.gtnewhorizons.modularui.common.widget.SlotGroup; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; -import com.gtnewhorizons.modularui.common.widget.TextWidget; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.TAE; -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.gui.modularui.GT_UITextures; -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_Hatch; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -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.MovingAverageLong; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.preloader.asm.AsmConfig; -import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; - -public class GregtechMetaTileEntity_PowerSubStationController extends - GregtechMeta_MultiBlockBase implements ISurvivalConstructable { - - private static enum TopState { - MayBeTop, - Top, - NotTop - } - - protected long mAverageEuUsage = 0; - protected final MovingAverageLong mAverageEuAdded = new MovingAverageLong(20); - protected final MovingAverageLong mAverageEuConsumed = new MovingAverageLong(20); - protected long mTotalEnergyAdded = 0; - protected long mTotalEnergyConsumed = 0; - protected long mTotalEnergyLost = 0; - protected boolean mIsOutputtingPower = false; - protected long mBatteryCapacity = 0; - - private final int ENERGY_TAX = 5; - - private int mCasing; - private int[] cellCount = new int[6]; - private TopState topState = TopState.MayBeTop; - private static IStructureDefinition STRUCTURE_DEFINITION = null; - - public GregtechMetaTileEntity_PowerSubStationController(final int aID, final String aName, - final String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GregtechMetaTileEntity_PowerSubStationController(final String aName) { - super(aName); - } - - @Override - public String getMachineType() { - return "Energy Buffer"; - } - - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(getMachineType()) - .addInfo("Consumes " + this.ENERGY_TAX + "% of the average voltage of all energy type hatches") - .addInfo("Does not require maintenance") - .addInfo( - "Can be built with variable height between " + (CELL_HEIGHT_MIN + 2) + "-" + (CELL_HEIGHT_MAX + 2) + "") - .addInfo("Hatches can be placed nearly anywhere") - .addInfo("HV Energy/Dynamo Hatches are the lowest tier you can use") - .addInfo("Supports voltages >= UHV using MAX tier components.") - .addSeparator() - .addController("Bottom Center") - .addCasingInfoMin("Sub-Station External Casings", 10, false) - .addDynamoHatch("Any Casing", 1) - .addEnergyHatch("Any Casing", 1) - .addSubChannelUsage("capacitor", "Vanadium Capacitor Cell Tier") - .addSubChannelUsage("height", "Height of structure") - .toolTipFinisher(CORE.GT_Tooltip_Builder.get()); - return tt; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - if (side == facing) { - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(TAE.GTPP_INDEX(24)), - new GT_RenderedTexture( - aActive ? Textures.BlockIcons.OVERLAY_FRONT_DISASSEMBLER_ACTIVE - : Textures.BlockIcons.OVERLAY_FRONT_DISASSEMBLER) }; - } - if (side == this.getBaseMetaTileEntity() - .getBackFacing()) { - return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(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.getCasingTextureForId(TAE.GTPP_INDEX(23)) }; - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - // if (mBatteryCapacity <= 0) return false; - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - private void checkMachineProblem(String msg, int xOff, int yOff, int zOff) { - final IGregTechTileEntity te = this.getBaseMetaTileEntity(); - final Block tBlock = te.getBlockOffset(xOff, yOff, zOff); - final byte tMeta = te.getMetaIDOffset(xOff, yOff, zOff); - String name = tBlock.getLocalizedName(); - String problem = msg + ": (" + xOff + ", " + yOff + ", " + zOff + ") " + name + ":" + tMeta; - checkMachineProblem(problem); - } - - private void checkMachineProblem(String msg) { - if (!AsmConfig.disableAllLogging) { - Logger.INFO("Power Sub-Station problem: " + msg); - } - } - - public static int getCellTier(Block aBlock, int aMeta) { - if (aBlock == ModBlocks.blockCasings2Misc && aMeta == 7) { - return 4; - } else if (aBlock == ModBlocks.blockCasings3Misc && aMeta == 4) { - return 5; - } else if (aBlock == ModBlocks.blockCasings3Misc && aMeta == 5) { - return 6; - } else if (aBlock == ModBlocks.blockCasings3Misc && aMeta == 6) { - return 7; - } else if (aBlock == ModBlocks.blockCasings3Misc && aMeta == 7) { - return 8; - } else if (aBlock == ModBlocks.blockCasings3Misc && aMeta == 8) { - return 9; - } else { - return -1; - } - } - - public static int getMetaFromTier(int tier) { - if (tier == 4) return 7; - if (tier >= 5 && tier <= 9) return tier - 1; - return 0; - } - - public static Block getBlockFromTier(int tier) { - return switch (tier) { - case 4 -> ModBlocks.blockCasings2Misc; - case 5, 6, 7, 8, 9 -> ModBlocks.blockCasings3Misc; - default -> null; - }; - } - - public static int getMaxHatchTier(int aCellTier) { - switch (aCellTier) { - case 9 -> { - return GT_Values.VOLTAGE_NAMES[9].equals("Ultimate High Voltage") ? 15 : 9; - } - default -> { - if (aCellTier < 4) { - return 0; - } else { - return aCellTier; - } - } - } - } - - public static final int CELL_HEIGHT_MAX = 16; - public static final int CELL_HEIGHT_MIN = 2; - - @Override - public IStructureDefinition getStructureDefinition() { - if (STRUCTURE_DEFINITION == null) { - STRUCTURE_DEFINITION = StructureDefinition.builder() - .addShape( - mName + "bottom", - transpose(new String[][] { { "BB~BB", "BBBBB", "BBBBB", "BBBBB", "BBBBB" } })) - .addShape( - mName + "layer", - transpose(new String[][] { { "CCCCC", "CIIIC", "CIIIC", "CIIIC", "CCCCC" } })) - .addShape(mName + "mid", transpose(new String[][] { { "CCCCC", "CHHHC", "CHHHC", "CHHHC", "CCCCC" } })) - .addShape(mName + "top", transpose(new String[][] { { "TTTTT", "TTTTT", "TTTTT", "TTTTT", "TTTTT" } })) - .addElement( - 'C', - buildHatchAdder(GregtechMetaTileEntity_PowerSubStationController.class) - .atLeast(Energy.or(TTEnergy), Dynamo.or(TTDynamo), Maintenance) - .disallowOnly(ForgeDirection.UP, ForgeDirection.DOWN) - .casingIndex(TAE.GTPP_INDEX(24)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 8)))) - .addElement( - 'B', - buildHatchAdder(GregtechMetaTileEntity_PowerSubStationController.class) - .atLeast(Energy.or(TTEnergy), Dynamo.or(TTDynamo), Maintenance) - .disallowOnly(ForgeDirection.UP) - .casingIndex(TAE.GTPP_INDEX(24)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 8)))) - .addElement( - 'T', - buildHatchAdder(GregtechMetaTileEntity_PowerSubStationController.class) - .atLeast(Energy.or(TTEnergy), Dynamo.or(TTDynamo), Maintenance) - .disallowOnly(ForgeDirection.DOWN) - .casingIndex(TAE.GTPP_INDEX(24)) - .dot(1) - .buildAndChain(onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 8)))) - .addElement( - 'I', - withChannel( - "cell", - ofChain( - onlyIf( - x -> x.topState != TopState.NotTop, - onElementPass( - x -> x.topState = TopState.Top, - ofHatchAdderOptional( - GregtechMetaTileEntity_PowerSubStationController::addPowerSubStationList, - TAE.GTPP_INDEX(24), - 1, - ModBlocks.blockCasings2Misc, - 8))), - onlyIf( - x -> x.topState != TopState.Top, - onElementPass( - x -> x.topState = TopState.NotTop, - ofChain( - onElementPass(x -> ++x.cellCount[0], ofCell(4)), - onElementPass(x -> ++x.cellCount[1], ofCell(5)), - onElementPass(x -> ++x.cellCount[2], ofCell(6)), - onElementPass(x -> ++x.cellCount[3], ofCell(7)), - onElementPass(x -> ++x.cellCount[4], ofCell(8)), - onElementPass(x -> ++x.cellCount[5], ofCell(9)))))))) - .addElement('H', ofCell(4)) - .build(); - } - return STRUCTURE_DEFINITION; - } - - public static IStructureElement ofCell(int aIndex) { - return new IStructureElement() { - - @Override - public boolean check(T t, World world, int x, int y, int z) { - Block block = world.getBlock(x, y, z); - int meta = world.getBlockMetadata(x, y, z); - int tier = getCellTier(block, meta); - return aIndex == tier; - } - - public int getIndex(int size) { - if (size > 6) size = 6; - return size + 3; - } - - @Override - public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLibAPI.hintParticle( - world, - x, - y, - z, - getBlockFromTier(getIndex(trigger.stackSize)), - getMetaFromTier(getIndex(trigger.stackSize))); - return true; - } - - @Override - public boolean placeBlock(T t, World world, int x, int y, int z, ItemStack trigger) { - return world.setBlock( - x, - y, - z, - getBlockFromTier(getIndex(trigger.stackSize)), - getMetaFromTier(getIndex(trigger.stackSize)), - 3); - } - - @Nullable - @Override - public BlocksToPlace getBlocksToPlace(T t, World world, int x, int y, int z, ItemStack trigger, - AutoPlaceEnvironment env) { - return BlocksToPlace.create(getBlockFromTier(trigger.stackSize), getMetaFromTier(trigger.stackSize)); - } - - @Override - public PlaceResult survivalPlaceBlock(T t, World world, int x, int y, int z, ItemStack trigger, - AutoPlaceEnvironment env) { - Block block = world.getBlock(x, y, z); - int meta = world.getBlockMetadata(x, y, z); - int tier = getCellTier(block, meta); - if (tier >= 0) return PlaceResult.SKIP; - return StructureUtility.survivalPlaceBlock( - getBlockFromTier(getIndex(trigger.stackSize)), - getMetaFromTier(getIndex(trigger.stackSize)), - world, - x, - y, - z, - env.getSource(), - env.getActor(), - env.getChatter()); - } - }; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - int layer = Math.min(stackSize.stackSize + 3, 18); - log("Layer: " + layer); - log("Building 0"); - buildPiece(mName + "bottom", stackSize, hintsOnly, 2, 0, 0); - log("Built 0"); - for (int i = 1; i < layer - 1; i++) { - log("Building " + i); - buildPiece(mName + "mid", stackSize, hintsOnly, 2, i, 0); - log("Built " + i); - } - log("Building " + (layer - 1)); - buildPiece(mName + "top", stackSize, hintsOnly, 2, layer - 1, 0); - log("Built " + (layer - 1)); - } - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { - if (mMachine) return -1; - int layer = Math.min(ChannelDataAccessor.getChannelData(stackSize, "height") + 3, 18); - int built; - built = survivialBuildPiece(mName + "bottom", stackSize, 2, 0, 0, elementBudget, env, false, true); - if (built >= 0) return built; - for (int i = 1; i < layer - 1; i++) { - built = survivialBuildPiece(mName + "mid", stackSize, 2, i, 0, elementBudget, env, false, true); - if (built >= 0) return built; - } - return survivialBuildPiece(mName + "top", stackSize, 2, layer - 1, 0, elementBudget, env, false, true); - } - - @Override - public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - mCasing = 0; - mEnergyHatches.clear(); - mDynamoHatches.clear(); - mTecTechEnergyHatches.clear(); - mTecTechDynamoHatches.clear(); - mAllEnergyHatches.clear(); - mAllDynamoHatches.clear(); - for (int i = 0; i < 6; i++) { - cellCount[i] = 0; - } - log("Checking 0"); - if (!checkPiece(mName + "bottom", 2, 0, 0)) { - log("Failed on Layer 0"); - return false; - } - log("Pass 0"); - int layer = 1; - topState = TopState.MayBeTop; - while (true) { - if (!checkPiece(mName + "layer", 2, layer, 0)) return false; - layer++; - if (topState == TopState.Top) break; // top found, break out - topState = TopState.MayBeTop; - if (layer > 18) return false; // too many layers - } - int level = 0; - for (int i = 0; i < 6; i++) { - if (cellCount[i] != 0) { - if (level == 0) { - level = i + 4; - } else { - return false; - } - } - } - int tier = getMaxHatchTier(level); - long volSum = 0; - for (GT_MetaTileEntity_Hatch hatch : mAllDynamoHatches) { - if (hatch.mTier > tier || hatch.mTier < 3) { - return false; - } - volSum += (8L << (hatch.mTier * 2)); - } - for (GT_MetaTileEntity_Hatch hatch : mAllEnergyHatches) { - if (hatch.mTier > tier || hatch.mTier < 3) { - return false; - } - volSum += (8L << (hatch.mTier * 2)); - } - mBatteryCapacity = getCapacityFromCellTier(level) * cellCount[level - 4]; - if (mAllEnergyHatches.size() + mAllDynamoHatches.size() > 0) { - mAverageEuUsage = volSum / (mAllEnergyHatches.size() + mAllDynamoHatches.size()); - } else mAverageEuUsage = 0; - fixAllMaintenanceIssue(); - return true; - } - - public final boolean addPowerSubStationList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (TecTech.isModLoaded()) { - if (isThisHatchMultiDynamo(aMetaTileEntity)) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (isThisHatchMultiEnergy(aMetaTileEntity)) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } - } - } - return false; - } - - // Define storage capacity of smallest cell tier (EV) and compute higher tiers from it - private static final long CELL_TIER_EV_CAPACITY = 100 * 1000 * 1000; - private static final long CELL_TIER_MULTIPLIER = 4; // each tier's capacity is this many times the previous tier - - public static long getCapacityFromCellTier(int aOverallCellTier) { - // Use integer math instead of `Math.pow` to avoid range/precision errors - if (aOverallCellTier < 4) return 0; - aOverallCellTier -= 4; - long capacity = CELL_TIER_EV_CAPACITY; - while (aOverallCellTier > 0) { - capacity *= CELL_TIER_MULTIPLIER; - aOverallCellTier--; - } - return capacity; - } - - @Override - public int getMaxEfficiency(final ItemStack aStack) { - return 10000; - } - - @Override - public boolean explodesOnComponentBreak(final ItemStack aStack) { - return false; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaTileEntity_PowerSubStationController(this.mName); - } - - // mTotalEnergyAdded - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setLong("mAverageEuUsage", this.mAverageEuUsage); - this.mAverageEuAdded.write(aNBT, "mAverageEuAdded"); - this.mAverageEuConsumed.write(aNBT, "mAverageEuConsumed"); - - // Usage Stats - aNBT.setLong("mTotalEnergyAdded", this.mTotalEnergyAdded); - aNBT.setLong("mTotalEnergyLost", this.mTotalEnergyLost); - aNBT.setLong("mTotalEnergyConsumed", this.mTotalEnergyConsumed); - aNBT.setLong("mTotalRunTime", this.mTotalRunTime); - aNBT.setBoolean("mIsOutputtingPower", this.mIsOutputtingPower); - aNBT.setLong("mBatteryCapacity", this.mBatteryCapacity); - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - - // Best not to get a long if the Tag Map is holding an int - if (aNBT.hasKey("mAverageEuUsage")) { - this.mAverageEuUsage = aNBT.getLong("mAverageEuUsage"); - } - switch (aNBT.func_150299_b("mAverageEuAdded")) { - case NBT.TAG_BYTE_ARRAY -> this.mAverageEuAdded.read(aNBT, "mAverageEuAdded"); - case NBT.TAG_LONG -> this.mAverageEuAdded.set(aNBT.getLong("mAverageEuAdded")); - } - switch (aNBT.func_150299_b("mAverageEuConsumed")) { - case NBT.TAG_BYTE_ARRAY -> this.mAverageEuConsumed.read(aNBT, "mAverageEuConsumed"); - case NBT.TAG_LONG -> this.mAverageEuConsumed.set(aNBT.getLong("mAverageEuConsumed")); - } - - // Usage Stats - this.mTotalEnergyAdded = aNBT.getLong("mTotalEnergyAdded"); - this.mTotalEnergyLost = aNBT.getLong("mTotalEnergyLost"); - this.mTotalEnergyConsumed = aNBT.getLong("mTotalEnergyConsumed"); - this.mTotalRunTime = aNBT.getLong("mTotalRunTime"); - - this.mIsOutputtingPower = aNBT.getBoolean("mIsOutputtingPower"); - - this.mBatteryCapacity = aNBT.getLong("mBatteryCapacity"); - - super.loadNBTData(aNBT); - } - - @Override - public @NotNull CheckRecipeResult checkProcessing() { - this.mProgresstime = 0; - this.mMaxProgresstime = 200; - this.lEUt = 0; - this.mEfficiencyIncrease = 10000; - this.fixAllMaintenanceIssue(); - return SimpleCheckRecipeResult.ofSuccess("managing_power"); - } - - @Override - public int getMaxParallelRecipes() { - return 1; - } - - private long drawEnergyFromHatch(MetaTileEntity aHatch) { - long stored = aHatch.getEUVar(); - long voltage = aHatch.maxEUInput() * aHatch.maxAmperesIn(); - - if (voltage > stored || (voltage + this.getEUVar() > this.mBatteryCapacity)) { - return 0; - } - - if (this.getBaseMetaTileEntity() - .increaseStoredEnergyUnits(voltage, false)) { - aHatch.setEUVar((stored - voltage)); - this.mTotalEnergyAdded += voltage; - return voltage; - } - return 0; - } - - private long addEnergyToHatch(MetaTileEntity aHatch) { - long voltage = aHatch.maxEUOutput() * aHatch.maxAmperesOut(); - - if (aHatch.getEUVar() > aHatch.maxEUStore() - voltage) { - return 0; - } - - if (this.getBaseMetaTileEntity() - .decreaseStoredEnergyUnits(voltage, false)) { - aHatch.getBaseMetaTileEntity() - .increaseStoredEnergyUnits(voltage, false); - this.mTotalEnergyConsumed += voltage; - return voltage; - } - return 0; - } - - private long computeEnergyTax() { - float mTax = mAverageEuUsage * (ENERGY_TAX / 100f); - - // Increase tax up to 2x if machine is not fully repaired (does not actually work at the moment, mEfficiency is - // always 0) - // mTax = mTax * (1f + (10000f - mEfficiency) / 10000f); - - return MathUtils.roundToClosestLong(mTax); - } - - @Override - public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - this.fixAllMaintenanceIssue(); - } - - @Override - public boolean onRunningTick(ItemStack aStack) { - // First, decay overcharge (1% of stored energy plus 1000 EU per tick) - if (this.getEUVar() > this.mBatteryCapacity) { - long energy = (long) (this.getEUVar() * 0.990f) - 1000; - this.setEUVar(energy); - } - - // Pay Tax - long mDecrease = computeEnergyTax(); - this.mTotalEnergyLost += Math.min(mDecrease, this.getEUVar()); - this.setEUVar(Math.max(0, this.getEUVar() - mDecrease)); - - long aInputAverage = 0; - long aOutputAverage = 0; - // Input Power - for (GT_MetaTileEntity_Hatch THatch : filterValidMTEs(this.mDischargeHatches)) { - aInputAverage += drawEnergyFromHatch(THatch); - } - for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(this.mAllEnergyHatches)) { - aInputAverage += drawEnergyFromHatch(tHatch); - } - - // Output Power - for (GT_MetaTileEntity_Hatch THatch : filterValidMTEs(this.mChargeHatches)) { - aOutputAverage += addEnergyToHatch(THatch); - } - for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(this.mAllDynamoHatches)) { - aOutputAverage += addEnergyToHatch(tHatch); - } - // reset progress time - mProgresstime = 0; - - this.mAverageEuAdded.sample(aInputAverage); - this.mAverageEuConsumed.sample(aOutputAverage); - - 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 - public long maxEUStore() { - return mBatteryCapacity; - } - - @Override - public long getMinimumStoredEU() { - return 0; - } - - @Override - public String[] getExtraInfoData() { - String mode; - if (mIsOutputtingPower) { - mode = EnumChatFormatting.GOLD + "Output" + EnumChatFormatting.RESET; - } else { - mode = EnumChatFormatting.BLUE + "Input" + EnumChatFormatting.RESET; - } - - String storedEnergyText; - if (this.getEUVar() > this.mBatteryCapacity) { - storedEnergyText = EnumChatFormatting.RED + GT_Utility.formatNumbers(this.getEUVar()) - + EnumChatFormatting.RESET; - } else { - storedEnergyText = EnumChatFormatting.GREEN + GT_Utility.formatNumbers(this.getEUVar()) - + EnumChatFormatting.RESET; - } - - int errorCode = this.getBaseMetaTileEntity() - .getErrorDisplayID(); - boolean mMaint = (errorCode != 0); - - return new String[] { "Ergon Energy - District Sub-Station", "Stored EU: " + storedEnergyText, - "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, - "Requires Maintenance: " + (!mMaint ? EnumChatFormatting.GREEN : EnumChatFormatting.RED) - + mMaint - + EnumChatFormatting.RESET - + " | Code: [" - + (!mMaint ? EnumChatFormatting.GREEN : EnumChatFormatting.RED) - + errorCode - + EnumChatFormatting.RESET - + "]", - "----------------------", "Stats for Nerds", - "Average Input: " + EnumChatFormatting.BLUE - + GT_Utility.formatNumbers(this.getAverageEuAdded()) - + EnumChatFormatting.RESET - + " EU", - "Average Output: " + EnumChatFormatting.GOLD - + GT_Utility.formatNumbers(this.getAverageEuConsumed()) - + EnumChatFormatting.RESET - + " 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", }; - } - - @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(ForgeDirection side) { - return (side == this.getBaseMetaTileEntity() - .getBackFacing() && !mIsOutputtingPower); - } - - @Override - public boolean isOutputFacing(ForgeDirection side) { - return (side == 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; - } - - public final long getAverageEuAdded() { - return this.mAverageEuAdded.get(); - } - - public final long getAverageEuConsumed() { - return this.mAverageEuConsumed.get(); - } - - @Override - public void onModeChangeByScrewdriver(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - mIsOutputtingPower = !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."); - } - } - - @Override - public boolean doesBindPlayerInventory() { - return false; - } - - @Override - public int getGUIWidth() { - return 196; - } - - @Override - public int getGUIHeight() { - return 191; - } - - @Override - public void addGregTechLogo(ModularWindow.Builder builder) { - builder.widget( - new DrawableWidget().setDrawable(getGUITextureSet().getGregTechLogo()) - .setSize(17, 17) - .setPos(175, 166)); - } - - private long clientEUIn, clientEUOut, clientEULoss, clientEUStored; - private float clientProgress; - - protected static final NumberFormatMUI numberFormat = new NumberFormatMUI(); - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget( - new DrawableWidget().setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) - .setPos(4, 4) - .setSize(149, 149)) - .widget(new SlotWidget(inventoryHandler, 0).setPos(154, 4)) - .widget( - new SlotWidget(inventoryHandler, 1).setAccess(true, false) - .setPos(154, 22)) - .widget( - SlotGroup.ofItemHandler(new PlayerMainInvWrapper(buildContext.getPlayer().inventory), 9) - .endAtSlot(8) - .build() - .setPos(7, 166)) - .widget( - TextWidget - .dynamicString( - () -> getBaseMetaTileEntity().getErrorDisplayID() == 0 - ? getBaseMetaTileEntity().isActive() ? "Running perfectly" : "Turn on with Mallet" - : "") - .setSynced(false) - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(10, 8)) - .widget( - new FakeSyncWidget.BooleanSyncer( - () -> getBaseMetaTileEntity().isActive(), - val -> getBaseMetaTileEntity().setActive(val))) - .widget( - new FakeSyncWidget.IntegerSyncer( - () -> getBaseMetaTileEntity().getErrorDisplayID(), - val -> getBaseMetaTileEntity().setErrorDisplayID(val))) - .widget( - new TextWidget("In").setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(178, 10)) - .widget( - new TextWidget("Out").setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(176, 28)) - .widget(new FakeSyncWidget.LongSyncer(this::getAverageEuAdded, val -> clientEUIn = val)) - .widget( - new TextWidget().setStringSupplier(() -> "Avg In: " + numberFormat.format(clientEUIn) + " EU") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(10, 20)) - .widget(new FakeSyncWidget.LongSyncer(this::getAverageEuConsumed, val -> clientEUOut = val)) - .widget( - new TextWidget().setStringSupplier(() -> "Avg Out: " + numberFormat.format(clientEUOut) + " EU") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(10, 30)) - .widget(new FakeSyncWidget.LongSyncer(this::computeEnergyTax, val -> clientEULoss = val)) - .widget( - new TextWidget() - .setStringSupplier(() -> "Powerloss: " + numberFormat.format(clientEULoss) + " EU per tick") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(10, 40)) - .widget( - new DrawableWidget().setDrawable(GTPP_UITextures.PICTURE_ENERGY_FRAME) - .setPos(4, 155) - .setSize(149, 7)) - .widget(new FakeSyncWidget.FloatSyncer(this::getProgress, val -> clientProgress = val)) - .widget( - new ProgressBar().setProgress(this::getProgress) - .setTexture(GTPP_UITextures.PROGRESSBAR_PSS_ENERGY, 147) - .setDirection(ProgressBar.Direction.RIGHT) - .setPos(5, 156) - .setSize(147, 5)) - .widget( - new TextWidget("Stored:").setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(10, 132)) - .widget( - new FakeSyncWidget.LongSyncer(() -> getBaseMetaTileEntity().getStoredEU(), val -> clientEUStored = val)) - .widget(new TextWidget().setTextSupplier(() -> { - int colorScale = (int) (clientProgress * 100 * 2.55); - return new Text(numberFormat.format(clientEUStored) + " EU") - .color(Utils.rgbtoHexValue((255 - colorScale), colorScale, 0)); - }) - .setPos(10, 142)) - .widget( - new TextWidget().setStringSupplier(() -> numberFormat.format(clientProgress * 100) + "%") - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(70, 155)); - } - - private float getProgress() { - return (float) getBaseMetaTileEntity().getStoredEU() / getBaseMetaTileEntity().getEUCapacity(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/misc/TileEntitySolarHeater.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/misc/TileEntitySolarHeater.java deleted file mode 100644 index 141f4bbc43..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/misc/TileEntitySolarHeater.java +++ /dev/null @@ -1,343 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.misc; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -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_ItemStack; -import gregtech.api.objects.GT_RenderedTexture; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_SolarTower; - -public class TileEntitySolarHeater extends GT_MetaTileEntity_TieredMachineBlock { - - public boolean mHasTower = false; - private GregtechMetaTileEntity_SolarTower mTower = null; - - private int mTX, mTY, mTZ; - private Byte mRequiredFacing; - - public TileEntitySolarHeater(final int aID, final String aName, final String aNameRegional, final int aTier, - final String aDescription, final int aSlotCount) { - super(aID, aName, aNameRegional, aTier, aSlotCount, aDescription); - } - - public TileEntitySolarHeater(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures, final int aSlotCount) { - super(aName, aTier, aSlotCount, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - return ArrayUtils.addAll(this.mDescriptionArray, "Point me at a Solar Tower", CORE.GT_Tooltip.get()); - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 - : side == facing.getOpposite() ? 1 - : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top), - new GT_RenderedTexture(Textures.BlockIcons.SOLARPANEL_IV) }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top) }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top), - new GT_RenderedTexture(Textures.BlockIcons.SOLARPANEL_LuV) }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top), - new GT_RenderedTexture(Textures.BlockIcons.SOLARPANEL_IV) }; - } - - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top), - new GT_RenderedTexture(Textures.BlockIcons.SOLARPANEL_IV) }; - } - - public ITexture[] getBackActive(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top) }; - } - - public ITexture[] getBottomActive(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom) }; - } - - public ITexture[] getTopActive(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top), - new GT_RenderedTexture(Textures.BlockIcons.SOLARPANEL_LuV) }; - } - - public ITexture[] getSidesActive(final byte aColor) { - return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Top), - new GT_RenderedTexture(Textures.BlockIcons.SOLARPANEL_IV) }; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new TileEntitySolarHeater(this.mName, this.mTier, this.mDescriptionArray, this.mTextures, 0); - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public String[] getInfoData() { - return new String[] { this.getLocalName(), "Testificate" }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer p_70300_1_) { - return false; - } - - public boolean allowCoverOnSide(final byte aSide, final int aCoverID) { - return false; - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - return new int[] {}; - } - - @Override - public int getSizeInventory() { - return 0; - } - - @Override - public ItemStack getStackInSlot(final int p_70301_1_) { - return null; - } - - @Override - public long maxEUStore() { - return 0; - } - - @Override - public int getCapacity() { - return 0; - } - - @Override - public long maxEUInput() { - return 0; - } - - @Override - public long maxEUOutput() { - return 0; - } - - @Override - public long maxAmperesIn() { - return 0; - } - - @Override - public long maxAmperesOut() { - return 0; - } - - @Override - public boolean isElectric() { - return false; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return false; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return facing.offsetY == 0; - } - - @Override - public boolean isEnetInput() { - return false; - } - - @Override - public boolean isEnetOutput() { - return false; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - /* - * aNBT.setBoolean("mHasTower", mHasTower); if (this.mHasTower) { aNBT.setInteger("mTX", mTX); - * aNBT.setInteger("mTY", mTY); aNBT.setInteger("mTZ", mTZ); } - */ - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - /* - * this.mHasTower = aNBT.getBoolean("mHasTower"); if (this.mHasTower) { if (aNBT.hasKey("mTX")) this.mTX = - * aNBT.getInteger("mTX"); if (aNBT.hasKey("mTY")) this.mTY = aNBT.getInteger("mTY"); if (aNBT.hasKey("mTZ")) - * this.mTZ = aNBT.getInteger("mTZ"); } - */ - } - - @Override - public long getInputTier() { - return 0; - } - - @Override - public long getOutputTier() { - return 0; - } - - @Override - public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aStack) { - return false; - } - - @Override - public void onExplosion() {} - - public boolean hasSolarTower() { - return mHasTower; - } - - public GregtechMetaTileEntity_SolarTower getSolarTower() { - if (this.mHasTower) { - return mTower; - } - return null; - } - - public boolean canSeeSky() { - if (this.getBaseMetaTileEntity() - .getWorld() - .canBlockSeeTheSky( - this.getBaseMetaTileEntity() - .getXCoord(), - this.getBaseMetaTileEntity() - .getYCoord() + 1, - this.getBaseMetaTileEntity() - .getZCoord())) { - return true; - } - return false; - } - - public boolean setSolarTower(GregtechMetaTileEntity_SolarTower aTowerTile) { - if (!hasSolarTower()) { - this.mTX = aTowerTile.getBaseMetaTileEntity() - .getXCoord(); - this.mTY = (int) aTowerTile.getBaseMetaTileEntity() - .getYCoord(); - this.mTZ = aTowerTile.getBaseMetaTileEntity() - .getZCoord(); - this.mHasTower = true; - this.mTower = aTowerTile; - return true; - } - return false; - } - - public boolean clearSolarTower() { - if (mHasTower || mRequiredFacing != null || this.mTower != null) { - this.mTX = 0; - this.mTY = 0; - this.mTZ = 0; - this.mRequiredFacing = null; - this.mTower = null; - this.mHasTower = false; - return true; - } - return false; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - @Override - public void onRemoval() { - super.onRemoval(); - } - - @Override - public boolean isOutputFacing(ForgeDirection side) { - return side.offsetY == 0; - } - - @Override - public boolean isInputFacing(ForgeDirection side) { - return false; - } - - @Override - public long getMinimumStoredEU() { - return 0; - } - - @Override - public void onFacingChange() { - super.onFacingChange(); - } - - @Override - public void doExplosion(long aExplosionPower) {} -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredChest.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredChest.java deleted file mode 100644 index 07a63a6ba4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredChest.java +++ /dev/null @@ -1,250 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.storage; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; - -import org.apache.commons.lang3.ArrayUtils; - -import com.gtnewhorizons.modularui.api.NumberFormatMUI; -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.DrawableWidget; -import com.gtnewhorizons.modularui.common.widget.SlotWidget; -import com.gtnewhorizons.modularui.common.widget.TextWidget; - -import gregtech.api.enums.Textures.BlockIcons; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.modularui.IAddUIWidgets; -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 gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; - -public class GT_MetaTileEntity_TieredChest extends GT_MetaTileEntity_TieredMachineBlock implements IAddUIWidgets { - - public int mItemCount = 0; - public ItemStack mItemStack = null; - private static final double mStorageFactor = (270000.0D / 16); - - public GT_MetaTileEntity_TieredChest(int aID, String aName, String aNameRegional, int aTier) { - super( - aID, - aName, - aNameRegional, - aTier, - 3, - "This Chest stores " + (int) (Math.pow(6.0D, (double) aTier) * mStorageFactor) + " Items", - new ITexture[0]); - } - - public GT_MetaTileEntity_TieredChest(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { - super(aName, aTier, 3, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - return ArrayUtils.add(this.mDescriptionArray, CORE.GT_Tooltip.get()); - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - public boolean isFacingValid(ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(EntityPlayer aPlayer) { - return true; - } - - @Override - public boolean isValidSlot(int aIndex) { - return true; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_TieredChest(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - if (this.getBaseMetaTileEntity() - .isServerSide() - && this.getBaseMetaTileEntity() - .isAllowedToWork()) { - if (this.getItemCount() <= 0) { - this.mItemStack = null; - this.mItemCount = 0; - } - - if (this.mItemStack == null && this.mInventory[0] != null) { - this.mItemStack = this.mInventory[0].copy(); - } - - if (this.mInventory[0] != null && this.mItemCount < this.getMaxItemCount() - && GT_Utility.areStacksEqual(this.mInventory[0], this.mItemStack)) { - this.mItemCount += this.mInventory[0].stackSize; - if (this.mItemCount > this.getMaxItemCount()) { - this.mInventory[0].stackSize = this.mItemCount - this.getMaxItemCount(); - this.mItemCount = this.getMaxItemCount(); - } else { - this.mInventory[0] = null; - } - } - - if (this.mInventory[1] == null && this.mItemStack != null) { - this.mInventory[1] = this.mItemStack.copy(); - this.mInventory[1].stackSize = Math.min(this.mItemStack.getMaxStackSize(), this.mItemCount); - this.mItemCount -= this.mInventory[1].stackSize; - } else if (this.mItemCount > 0 && GT_Utility.areStacksEqual(this.mInventory[1], this.mItemStack) - && this.mInventory[1].getMaxStackSize() > this.mInventory[1].stackSize) { - int tmp = Math - .min(this.mItemCount, this.mInventory[1].getMaxStackSize() - this.mInventory[1].stackSize); - this.mInventory[1].stackSize += tmp; - this.mItemCount -= tmp; - } - - if (this.mItemStack != null) { - this.mInventory[2] = this.mItemStack.copy(); - this.mInventory[2].stackSize = Math.min(this.mItemStack.getMaxStackSize(), this.mItemCount); - } else { - this.mInventory[2] = null; - } - } - } - - private int getItemCount() { - return this.mItemCount; - } - - @Override - public void setItemCount(int aCount) { - this.mItemCount = aCount; - } - - @Override - public int getProgresstime() { - return this.mItemCount + (this.mInventory[0] == null ? 0 : this.mInventory[0].stackSize) - + (this.mInventory[1] == null ? 0 : this.mInventory[1].stackSize); - } - - @Override - public int maxProgresstime() { - return this.getMaxItemCount(); - } - - @Override - public int getMaxItemCount() { - return (int) (Math.pow(6.0D, (double) this.mTier) * mStorageFactor - 128.0D); - } - - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return aIndex == 1; - } - - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return aIndex == 0 && (this.mInventory[0] == null || GT_Utility.areStacksEqual(this.mInventory[0], aStack)); - } - - @Override - public String[] getInfoData() { - return this.mItemStack == null - ? new String[] { "Super Storage Chest", "Stored Items:", "No Items", Integer.toString(0), - Integer.toString(this.getMaxItemCount()) } - : new String[] { "Super Storage Chest", "Stored Items:", this.mItemStack.getDisplayName(), - Integer.toString(this.mItemCount), Integer.toString(this.getMaxItemCount()) }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("mItemCount", this.mItemCount); - if (this.mItemStack != null) { - aNBT.setTag("mItemStack", this.mItemStack.writeToNBT(new NBTTagCompound())); - } - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - if (aNBT.hasKey("mItemCount")) { - this.mItemCount = aNBT.getInteger("mItemCount"); - } - - if (aNBT.hasKey("mItemStack")) { - this.mItemStack = ItemStack.loadItemStackFromNBT((NBTTagCompound) aNBT.getTag("mItemStack")); - } - } - - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection facing, - int aColorIndex, boolean aActive, boolean aRedstone) { - return aBaseMetaTileEntity.getFrontFacing() == ForgeDirection.DOWN && side == ForgeDirection.WEST - ? new ITexture[] { BlockIcons.MACHINE_CASINGS[this.mTier][aColorIndex + 1], - new GT_RenderedTexture(BlockIcons.OVERLAY_QCHEST) } - : (side == aBaseMetaTileEntity.getFrontFacing() - ? new ITexture[] { BlockIcons.MACHINE_CASINGS[this.mTier][aColorIndex + 1], - new GT_RenderedTexture(BlockIcons.OVERLAY_QCHEST) } - : new ITexture[] { BlockIcons.MACHINE_CASINGS[this.mTier][aColorIndex + 1] }); - } - - @Override - public ITexture[][][] getTextureSet(ITexture[] aTextures) { - return new ITexture[0][0][0]; - } - - @Override - public boolean useModularUI() { - return true; - } - - protected static final NumberFormatMUI numberFormat = new NumberFormatMUI(); - - @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget( - new DrawableWidget().setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) - .setPos(7, 16) - .setSize(71, 45)) - .widget( - new SlotWidget(inventoryHandler, 0) - .setBackground(getGUITextureSet().getItemSlot(), GT_UITextures.OVERLAY_SLOT_IN) - .setPos(79, 16)) - .widget( - new SlotWidget(inventoryHandler, 1).setAccess(true, false) - .setBackground(getGUITextureSet().getItemSlot(), GT_UITextures.OVERLAY_SLOT_OUT) - .setPos(79, 52)) - .widget( - SlotWidget.phantom(inventoryHandler, 2) - .disableInteraction() - .setBackground(GT_UITextures.TRANSPARENT) - .setPos(59, 42)) - .widget( - new TextWidget("Item Amount").setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(10, 20)) - .widget( - new TextWidget().setStringSupplier(() -> numberFormat.format(mItemCount)) - .setDefaultColor(COLOR_TEXT_WHITE.get()) - .setPos(10, 30)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java deleted file mode 100644 index a9fc7a3fd4..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java +++ /dev/null @@ -1,194 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.storage; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Textures; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.interfaces.ITexture; -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_LanguageManager; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; - -public class GT_MetaTileEntity_TieredTank extends GT_MetaTileEntity_BasicTank { - - public GT_MetaTileEntity_TieredTank(final int aID, final String aName, final String aNameRegional, - final int aTier) { - super( - aID, - aName, - aNameRegional, - aTier, - 3, - "Stores " + GT_Utility.formatNumbers(((int) (Math.pow(2, aTier) * 32000))) + "L of fluid"); - } - - public GT_MetaTileEntity_TieredTank(final String aName, final int aTier, final String[] aDescription, - final ITexture[][][] aTextures) { - super(aName, aTier, 3, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - List description = new ArrayList<>(Arrays.asList(this.mDescriptionArray)); - description.add("A portable tank."); - if (this.mFluid != null) { - description.add("Fluid: " + mFluid.getLocalizedName() + " " + mFluid.amount + "L"); - } - description.add(CORE.GT_Tooltip.get()); - return description.toArray(new String[0]); - } - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - return new ITexture[0][0][0]; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return side == ForgeDirection.UP - ? new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColorIndex + 1], - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_POTIONBREWER_ACTIVE) } - : new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColorIndex + 1], - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_POTIONBREWER) }; - } - - @Override - public void addAdditionalTooltipInformation(ItemStack stack, List tooltip) { - if (stack.hasTagCompound() && stack.stackTagCompound.hasKey("mFluid")) { - final FluidStack tContents = FluidStack - .loadFluidStackFromNBT(stack.stackTagCompound.getCompoundTag("mFluid")); - if (tContents != null && tContents.amount > 0) { - tooltip.add( - GT_LanguageManager.addStringLocalization( - "TileEntity_TANK_INFO", - "Contains Fluid: ", - !GregTech_API.sPostloadFinished) + EnumChatFormatting.YELLOW - + tContents.getLocalizedName() - + EnumChatFormatting.GRAY); - tooltip.add( - GT_LanguageManager.addStringLocalization( - "TileEntity_TANK_AMOUNT", - "Fluid Amount: ", - !GregTech_API.sPostloadFinished) + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(tContents.amount) - + " L" - + EnumChatFormatting.GRAY); - } - } - } - - @Override - public boolean isSimpleMachine() { - return true; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return true; - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public final byte getUpdateData() { - return 0x00; - } - - @Override - public boolean doesFillContainers() { - return true; - } - - @Override - public boolean doesEmptyContainers() { - return true; - } - - @Override - public boolean canTankBeFilled() { - return true; - } - - @Override - public boolean canTankBeEmptied() { - return true; - } - - @Override - public String[] getInfoData() { - - if (this.mFluid == null) { - return new String[] { GT_Values.VOLTAGE_NAMES[this.mTier] + " Fluid Tank", "Stored Fluid:", "No Fluid", - 0 + "L", this.getCapacity() + "L" }; - } - return new String[] { GT_Values.VOLTAGE_NAMES[this.mTier] + " Fluid Tank", "Stored Fluid:", - this.mFluid.getLocalizedName(), this.mFluid.amount + "L", this.getCapacity() + "L" }; - } - - @Override - public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_TieredTank(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } - - @Override - public int getCapacity() { - return (int) (Math.pow(2, this.mTier) * 32000); - } - - @Override - public int getTankPressure() { - return 100; - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); - return true; - } - - @Override - public boolean displaysItemStack() { - return true; - } - - @Override - public boolean displaysStackSize() { - return false; - } - - @Override - public void setItemNBT(NBTTagCompound aNBT) { - if (mFluid != null) { - Logger.WARNING("Setting item fluid nbt"); - aNBT.setTag("mFluid", mFluid.writeToNBT(new NBTTagCompound())); - if (aNBT.hasKey("mFluid")) { - Logger.WARNING("Set mFluid to NBT."); - } - } - } - - @Override - public boolean useModularUI() { - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java deleted file mode 100644 index 17b2d77756..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java +++ /dev/null @@ -1,439 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.storage; - -import static gregtech.api.enums.GT_Values.V; - -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; - -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_ItemStack; -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.minecraft.PlayerUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTileEntity; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; - -public class GregtechMetaEnergyBuffer extends GregtechMetaTileEntity { - - protected byte aCurrentOutputAmperage = 4; - - public GregtechMetaEnergyBuffer(final int aID, final String aName, final String aNameRegional, final int aTier, - final String aDescription, final int aSlotCount) { - super(aID, aName, aNameRegional, aTier, aSlotCount, aDescription); - } - - public GregtechMetaEnergyBuffer(final String aName, final int aTier, final String aDescription, - final ITexture[][][] aTextures, final int aSlotCount) { - super(aName, aTier, aSlotCount, aDescription, aTextures); - } - - @Override - public String[] getDescription() { - return new String[] { this.mDescription, "Defaults 4A In/Out", "Change output Amperage with a screwdriver", - "Now Portable!", CORE.GT_Tooltip.get() }; - } - - @Override - public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aCover) { - if (side != this.getBaseMetaTileEntity() - .getFrontFacing()) { - return true; - } - return super.allowCoverOnSide(side, aCover); - } - - /* - * MACHINE_STEEL_SIDE - */ - - @Override - public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - 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; - } - - @Override - public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, - final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { - return this.mTextures[(aActive ? 5 : 0) + (side == facing ? 0 - : side == facing.getOpposite() ? 1 - : side == ForgeDirection.DOWN ? 2 : side == ForgeDirection.UP ? 3 : 4)][aColorIndex + 1]; - } - - public ITexture[] getFront(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier] }; - } - - public ITexture[] getBack(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Dimensional_Orange) }; - } - - public ITexture[] getBottom(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Dimensional_Orange) }; - } - - public ITexture[] getTop(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Screen_Logo) }; - } - - public ITexture[] getSides(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Dimensional_Orange) }; - } - - public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier] }; - } - - public ITexture[] getBackActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Dimensional_Orange) }; - } - - public ITexture[] getBottomActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Dimensional_Orange) }; - } - - public ITexture[] getTopActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Screen_Logo) }; - } - - public ITexture[] getSidesActive(final byte aColor) { - return new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Dimensional_Orange) }; - } - - @Override - public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { - return new GregtechMetaEnergyBuffer( - this.mName, - this.mTier, - this.mDescription, - this.mTextures, - this.mInventory.length); - } - - @Override - public boolean isSimpleMachine() { - return false; - } - - @Override - public boolean isElectric() { - return true; - } - - @Override - public boolean isValidSlot(final int aIndex) { - return true; - } - - @Override - public boolean isFacingValid(final ForgeDirection facing) { - return true; - } - - @Override - public boolean isEnetInput() { - return true; - } - - @Override - public boolean isEnetOutput() { - return true; - } - - @Override - public boolean isInputFacing(final ForgeDirection side) { - return side != this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public boolean isOutputFacing(final ForgeDirection side) { - return side == this.getBaseMetaTileEntity() - .getFrontFacing(); - } - - @Override - public boolean isTeleporterCompatible() { - return false; - } - - @Override - public long getMinimumStoredEU() { - return V[this.mTier] * 2; - } - - @Override - public long maxEUStore() { - return V[this.mTier] * 250000; - } - - @Override - public long maxEUInput() { - return V[this.mTier]; - } - - @Override - public long maxEUOutput() { - return V[this.mTier]; - } - - @Override - public long maxAmperesIn() { - return aCurrentOutputAmperage; - } - - @Override - public long maxAmperesOut() { - return aCurrentOutputAmperage; - } - - @Override - public int rechargerSlotStartIndex() { - return 0; - } - - @Override - public int dechargerSlotStartIndex() { - return 0; - } - - @Override - public int rechargerSlotCount() { - return 0; - } - - @Override - public int dechargerSlotCount() { - return 0; - } - - @Override - public int getProgresstime() { - return (int) this.getBaseMetaTileEntity() - .getUniversalEnergyStored(); - } - - @Override - public int maxProgresstime() { - return (int) this.getBaseMetaTileEntity() - .getUniversalEnergyCapacity(); - } - - @Override - public boolean isAccessAllowed(final EntityPlayer aPlayer) { - return true; - } - - @Override - public void saveNBTData(final NBTTagCompound aNBT) { - aNBT.setByte("aCurrentOutputAmperage", aCurrentOutputAmperage); - long aEU = this.getBaseMetaTileEntity() - .getStoredEU(); - if (aEU > 0) { - aNBT.setLong("aStoredEU", aEU); - if (aNBT.hasKey("aStoredEU")) { - Logger.WARNING("Set aStoredEU to NBT."); - } - } - } - - @Override - public void loadNBTData(final NBTTagCompound aNBT) { - aCurrentOutputAmperage = aNBT.getByte("aCurrentOutputAmperage"); - if (aNBT.hasKey("aStoredEU")) { - this.setEUVar(aNBT.getLong("aStoredEU")); - } - } - - @Override - public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { - Logger.WARNING("Right Click on MTE by Player"); - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - - Logger.WARNING("MTE is Client-side"); - this.showEnergy(aPlayer.getEntityWorld(), aPlayer); - return true; - } - - protected void showEnergy(final World worldIn, final EntityPlayer playerIn) { - final long tempStorage = this.getBaseMetaTileEntity() - .getStoredEU(); - final double c = ((double) tempStorage / this.maxEUStore()) * 100; - final double roundOff = Math.round(c * 100.00) / 100.00; - PlayerUtils.messagePlayer( - playerIn, - "Energy: " + GT_Utility.formatNumbers(tempStorage) + " EU at " + V[this.mTier] + "v (" + roundOff + "%)"); - PlayerUtils.messagePlayer(playerIn, "Amperage: " + GT_Utility.formatNumbers(maxAmperesOut()) + "A"); - } - // Utils.LOG_WARNING("Begin Show Energy"); - /* - * //Utils.LOG_INFO("getProgresstime: "+tempStorage+" maxProgresstime: "+maxEUStore()+" C: "+c); - * Utils.LOG_INFO("getProgressTime: "+getProgresstime()); Utils.LOG_INFO("maxProgressTime: "+maxProgresstime()); - * Utils.LOG_INFO("getMinimumStoredEU: "+getMinimumStoredEU()); Utils.LOG_INFO("maxEUStore: "+maxEUStore()); - */ - /* - * final long d = (tempStorage * 100L) / maxEUStore(); - * Utils.LOG_INFO("getProgresstime: "+tempStorage+" maxProgresstime: "+maxEUStore()+" D: "+d); final double - * roundOff2 = Math.round(d * 100.00) / 100.00; Utils.messagePlayer(playerIn, "Energy: " + tempStorage + - * " EU at "+V[mTier]+"v ("+roundOff2+"%)"); Utils.LOG_WARNING("Making new instance of Guihandler"); GuiHandler - * block = new GuiHandler(); Utils.LOG_WARNING("Guihandler.toString(): "+block.toString()); - * block.getClientGuiElement(1, playerIn, worldIn, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ); - */ - - @Override - public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, - final ForgeDirection side, final ItemStack aStack) { - return false; - } - - @Override - public String[] getInfoData() { - String cur = GT_Utility.formatNumbers( - this.getBaseMetaTileEntity() - .getStoredEU()); - String max = GT_Utility.formatNumbers( - this.getBaseMetaTileEntity() - .getEUCapacity()); - - // Right-align current storage with maximum storage - String fmt = String.format("%%%ds", max.length()); - cur = String.format(fmt, cur); - - return new String[] { cur + " EU stored", max + " EU capacity" }; - } - - @Override - public boolean isGivingInformation() { - return true; - } - - @Override - public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { - return new int[] {}; - } - - @Override - public boolean canInsertItem(final int p_102007_1_, final ItemStack p_102007_2_, final int p_102007_3_) { - return false; - } - - @Override - public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) { - return false; - } - - @Override - public int getSizeInventory() { - return 0; - } - - @Override - public ItemStack getStackInSlot(final int p_70301_1_) { - return null; - } - - @Override - public ItemStack decrStackSize(final int p_70298_1_, final int p_70298_2_) { - return null; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int p_70304_1_) { - return null; - } - - @Override - public void setInventorySlotContents(final int p_70299_1_, final ItemStack p_70299_2_) {} - - @Override - public String getInventoryName() { - return super.getInventoryName(); - } - - @Override - public boolean hasCustomInventoryName() { - return false; - } - - @Override - public int getInventoryStackLimit() { - return 0; - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer p_70300_1_) { - return false; - } - - @Override - public void openInventory() {} - - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(final int p_94041_1_, final ItemStack p_94041_2_) { - return false; - } - - @Override - public void setItemNBT(NBTTagCompound aNBT) { - aNBT.setByte("aCurrentOutputAmperage", aCurrentOutputAmperage); - long aEU = this.getBaseMetaTileEntity() - .getStoredEU(); - if (aEU > 0) { - aNBT.setLong("aStoredEU", aEU); - if (aNBT.hasKey("aStoredEU")) { - Logger.WARNING("Set aStoredEU to NBT."); - } - } - } - - @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - byte aTest = (byte) (aCurrentOutputAmperage + 1); - if (aTest > 16 || aTest <= 0) { - aTest = 1; - } - aCurrentOutputAmperage = aTest; - PlayerUtils.messagePlayer(aPlayer, "Now handling " + aCurrentOutputAmperage + " Amps."); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/creative/GT_MetaTileEntity_InfiniteItemHolder.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/creative/GT_MetaTileEntity_InfiniteItemHolder.java deleted file mode 100644 index 2dca8d5c30..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/creative/GT_MetaTileEntity_InfiniteItemHolder.java +++ /dev/null @@ -1,92 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tileentities.storage.creative; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.core.util.sys.KeyboardUtils; -import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GT_MetaTileEntity_TieredChest; - -public class GT_MetaTileEntity_InfiniteItemHolder extends GT_MetaTileEntity_TieredChest { - - public GT_MetaTileEntity_InfiniteItemHolder(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier); - } - - public GT_MetaTileEntity_InfiniteItemHolder(String aName, int aTier, String[] aDescription, - ITexture[][][] aTextures) { - super(aName, aTier, aDescription, aTextures); - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.getWorld().isRemote) { - return false; - } - - if (!KeyboardUtils.isShiftKeyDown()) { - if (this.mItemStack == null) { - if (aPlayer.getHeldItem() != null) { - this.mItemStack = aPlayer.getHeldItem() - .copy(); - this.mItemCount = Short.MAX_VALUE; - aPlayer.setCurrentItemOrArmor(0, null); - PlayerUtils.messagePlayer( - aPlayer, - "Now holding " + this.mItemStack.getDisplayName() + " x" + Short.MAX_VALUE + "."); - return true; - } - } else { - if (aPlayer.getHeldItem() == null) { - aPlayer.entityDropItem(mItemStack, 1); - this.mItemStack = null; - this.mItemCount = 0; - PlayerUtils.messagePlayer(aPlayer, "Emptying."); - return true; - } - } - } - - PlayerUtils.messagePlayer( - aPlayer, - "Currently holding: " + (this.mItemStack != null ? this.mItemStack.getDisplayName() : "Nothing") - + " x" - + this.mItemCount); - return true; - // return super.onRightclick(aBaseMetaTileEntity, aPlayer); - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - if (mItemStack != null) { - setItemCount(0); - } - super.onPostTick(aBaseMetaTileEntity, aTimer); - } - - @Override - public void setItemCount(int aCount) { - super.setItemCount(Short.MAX_VALUE); - } - - @Override - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return true; - } - - @Override - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, - ItemStack aStack) { - return false; - } - - @Override - public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_InfiniteItemHolder(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngleGrinder.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngleGrinder.java deleted file mode 100644 index 6af3a61487..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngleGrinder.java +++ /dev/null @@ -1,175 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tools; - -import java.util.Arrays; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.monster.EntityIronGolem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.AchievementList; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; -import net.minecraftforge.event.world.BlockEvent; - -import gregtech.GT_Mod; -import gregtech.api.enums.Materials; -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.Textures.ItemIcons; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.common.items.behaviors.Behaviour_None; -import gregtech.common.tools.GT_Tool; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools; - -public class TOOL_Gregtech_AngleGrinder extends GT_Tool { - - public static final List mEffectiveList = Arrays - .asList(new String[] { EntityIronGolem.class.getName(), "EntityTowerGuardian" }); - - @Override - public float getNormalDamageAgainstEntity(final float aOriginalDamage, final Entity aEntity, final ItemStack aStack, - final EntityPlayer aPlayer) { - String tName = aEntity.getClass() - .getName(); - tName = tName.substring(tName.lastIndexOf(".") + 1); - return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage; - } - - @Override - public int getToolDamagePerBlockBreak() { - return 50; - } - - @Override - public int getToolDamagePerDropConversion() { - return 100; - } - - @Override - public int getToolDamagePerContainerCraft() { - return 400; - } - - @Override - public int getToolDamagePerEntityAttack() { - return 100; - } - - @Override - public int getBaseQuality() { - return 0; - } - - @Override - public float getBaseDamage() { - return 8.0F; - } - - @Override - public float getSpeedMultiplier() { - return 2F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 1.8F; - } - - @Override - public String getCraftingSound() { - return SoundResource.RANDOM_ANVIL_USE.toString(); - } - - @Override - public String getEntityHitSound() { - return SoundResource.RANDOM_ANVIL_BREAK.toString(); - } - - @Override - public String getMiningSound() { - return null; - } - - @Override - public boolean canBlock() { - return false; - } - - @Override - public boolean isWrench() { - return false; - } - - @Override - public boolean isCrowbar() { - return false; - } - - @Override - public boolean isWeapon() { - return true; - } - - @Override - public boolean isMinableBlock(final Block aBlock, final byte aMetaData) { - final String tTool = aBlock.getHarvestTool(aMetaData); - return (tTool != null) && (tTool.equals("sword") || tTool.equals("file")); - } - - @Override - public int convertBlockDrops(final List aDrops, final ItemStack aStack, final EntityPlayer aPlayer, - final Block aBlock, final int aX, final int aY, final int aZ, final byte aMetaData, final int aFortune, - final boolean aSilkTouch, final BlockEvent.HarvestDropsEvent aEvent) { - return 0; - } - - @Override - public ItemStack getBrokenItem(final ItemStack aStack) { - return null; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return (IIconContainer) (aIsToolHead ? TexturesGtTools.ANGLE_GRINDER : ItemIcons.POWER_UNIT_HV); - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : Materials.TungstenSteel.mRGBa; - } - - @Override - public void onToolCrafted(final ItemStack aStack, final EntityPlayer aPlayer) { - super.onToolCrafted(aStack, aPlayer); - aPlayer.triggerAchievement(AchievementList.buildSword); - try { - GT_Mod.achievements.issueAchievement(aPlayer, "tools"); - GT_Mod.achievements.issueAchievement(aPlayer, "unitool"); - } catch (final Exception e) {} - } - - @Override - public IChatComponent getDeathMessage(final EntityLivingBase aPlayer, final EntityLivingBase aEntity) { - return new ChatComponentText( - EnumChatFormatting.RED + aEntity.getCommandSenderName() - + EnumChatFormatting.WHITE - + " has been Ground out of existence by " - + EnumChatFormatting.GREEN - + aPlayer.getCommandSenderName() - + EnumChatFormatting.WHITE); - } - - @Override - public void onStatsAddedToTool(final GT_MetaGenerated_Tool aItem, final int aID) { - aItem.addItemBehavior(aID, new Behaviour_None()); - } - - @Override - public boolean isGrafter() { - return false; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricSnips.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricSnips.java deleted file mode 100644 index 25ad03548a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricSnips.java +++ /dev/null @@ -1,96 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tools; - -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.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; - -import gregtech.GT_Mod; -import gregtech.api.enums.Materials; -import gregtech.api.enums.Textures.ItemIcons; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.common.tools.GT_Tool_WireCutter; -import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools; - -public class TOOL_Gregtech_ElectricSnips extends GT_Tool_WireCutter { - - @Override - public int getToolDamagePerBlockBreak() { - return 50; - } - - @Override - public int getToolDamagePerDropConversion() { - return 100; - } - - @Override - public int getToolDamagePerContainerCraft() { - return 400; - } - - @Override - public int getToolDamagePerEntityAttack() { - return 100; - } - - @Override - public int getBaseQuality() { - return 0; - } - - @Override - public float getBaseDamage() { - return 4.0F; - } - - @Override - public float getSpeedMultiplier() { - return 1F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 1.4F; - } - - @Override - public ItemStack getBrokenItem(final ItemStack aStack) { - return null; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return (IIconContainer) (aIsToolHead ? TexturesGtTools.ELECTRIC_SNIPS : ItemIcons.POWER_UNIT_MV); - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : Materials.TungstenSteel.mRGBa; - } - - @Override - public void onToolCrafted(final ItemStack aStack, final EntityPlayer aPlayer) { - super.onToolCrafted(aStack, aPlayer); - aPlayer.triggerAchievement(AchievementList.buildSword); - try { - GT_Mod.achievements.issueAchievement(aPlayer, "tools"); - GT_Mod.achievements.issueAchievement(aPlayer, "unitool"); - } catch (final Exception e) {} - } - - @Override - public IChatComponent getDeathMessage(final EntityLivingBase aPlayer, final EntityLivingBase aEntity) { - return new ChatComponentText( - EnumChatFormatting.RED + aEntity.getCommandSenderName() - + EnumChatFormatting.WHITE - + " has been Snipped out of existence by " - + EnumChatFormatting.GREEN - + aPlayer.getCommandSenderName() - + EnumChatFormatting.WHITE); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java deleted file mode 100644 index 1a3d07f510..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/Gregtech_Blocks.java +++ /dev/null @@ -1,34 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks2; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks3; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks4; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks5; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks6; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocksPipeGearbox; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaSpecialMachineCasings; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaSpecialMultiCasings; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaSpecialMultiCasings2; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaTieredCasingBlocks1; - -public class Gregtech_Blocks { - - public static void run() { - - // Casing Blocks - ModBlocks.blockCasingsMisc = new GregtechMetaCasingBlocks(); - ModBlocks.blockCasings2Misc = new GregtechMetaCasingBlocks2(); - ModBlocks.blockCasings3Misc = new GregtechMetaCasingBlocks3(); - ModBlocks.blockCasings4Misc = new GregtechMetaCasingBlocks4(); - ModBlocks.blockCasings5Misc = new GregtechMetaCasingBlocks5(); - ModBlocks.blockCasings6Misc = new GregtechMetaCasingBlocks6(); - - ModBlocks.blockCasingsTieredGTPP = new GregtechMetaTieredCasingBlocks1(); - ModBlocks.blockSpecialMultiCasings = new GregtechMetaSpecialMultiCasings(); - ModBlocks.blockSpecialMultiCasings2 = new GregtechMetaSpecialMultiCasings2(); - ModBlocks.blockCustomMachineCasings = new GregtechMetaSpecialMachineCasings(); - ModBlocks.blockCustomPipeGearCasings = new GregtechMetaCasingBlocksPipeGearbox(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/ProcessingAngleGrinder.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/ProcessingAngleGrinder.java deleted file mode 100644 index e2723e5248..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/ProcessingAngleGrinder.java +++ /dev/null @@ -1,133 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import net.minecraft.item.ItemStack; - -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.SubTag; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_ModHandler.RecipeBits; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -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; - -public class ProcessingAngleGrinder implements Interface_OreRecipeRegistrator, Runnable { - - public ProcessingAngleGrinder() { - GregtechOrePrefixes.toolAngleGrinder.add(this); - } - - @Override - public void registerOre(final GregtechOrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName, - final String aModName, final ItemStack aStack) { - if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint)) { - if (aMaterial != Materials.Rubber) { - if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY)) - && (!aMaterial.contains(SubTag.NO_SMASHING))) {} - } - } - } - - @Override - public void registerOre(final GregtechOrePrefixes aPrefix, final GT_Materials aMaterial, final String aOreDictName, - final String aModName, final ItemStack aStack) { - // TODO Auto-generated method stub - - } - - public void materialsLoops() { - final Materials[] i = Materials.values(); - final int size = i.length; - Logger.MATERIALS("Materials to attempt tool gen. with: " + size); - int used = 0; - Materials aMaterial = null; - for (Materials materials : i) { - aMaterial = materials; - if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint) - && (aMaterial != Materials.Rubber) - && (aMaterial != Materials._NULL)) { - if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY)) - && (!aMaterial.contains(SubTag.NO_SMASHING)) - && (!aMaterial.contains(SubTag.TRANSPARENT)) - && (!aMaterial.contains(SubTag.FLAMMABLE)) - && (!aMaterial.contains(SubTag.MAGICAL)) - && (!aMaterial.contains(SubTag.NO_SMELTING))) { - Logger.MATERIALS("Generating Angle Grinder from " + MaterialUtils.getMaterialName(aMaterial)); - // Input 1 - - final ItemStack plate = GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L); - final ItemStack longrod = GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L); - - if ((null != plate && longrod != null)) { - addRecipe(aMaterial, 1600000L, 3, ItemList.Battery_RE_HV_Lithium.get(1)); - addRecipe(aMaterial, 1200000L, 3, ItemList.Battery_RE_HV_Cadmium.get(1)); - addRecipe(aMaterial, 800000L, 3, ItemList.Battery_RE_HV_Sodium.get(1)); - used++; - } else { - Logger.MATERIALS( - "Unable to generate Angle Grinder from " + MaterialUtils.getMaterialName(aMaterial) - + ", Plate or Long Rod may be invalid. Invalid | Plate? " - + (plate == null) - + " | Rod? " - + (longrod == null) - + " |"); - } - // GT_ModHandler.addCraftingRecipe(, - // GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | - // GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"P H", "PIP", " I ", - // Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), - // Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), - // Character.valueOf('H'), OrePrefixes.toolHeadHammer.get(aMaterial)}); - } else { - Logger - .MATERIALS("Unable to generate Angle Grinder from " + MaterialUtils.getMaterialName(aMaterial)); - } - } else { - Logger.MATERIALS("Unable to generate Angle Grinder from " + MaterialUtils.getMaterialName(aMaterial)); - } - } - - Logger.INFO("Materials used for tool gen: " + used); - } - - @Override - public void run() { - Logger.INFO("Generating Angle Grinders for all valid GT Materials."); - this.materialsLoops(); - } - - public boolean addRecipe(Materials aMaterial, long aBatteryStorage, int aVoltageTier, ItemStack aBattery) { - - ItemStack aOutputStack = MetaGeneratedGregtechTools.INSTANCE.getToolWithStats( - MetaGeneratedGregtechTools.ANGLE_GRINDER, - 1, - aMaterial, - Materials.Titanium, - new long[] { aBatteryStorage, GT_Values.V[aVoltageTier], 3L, -1L }); - - long aDura = MetaGeneratedGregtechTools.getToolMaxDamage(aOutputStack); - if (aDura <= 32000) { - Logger.MATERIALS( - "Unable to generate Angle Grinder from " + MaterialUtils.getMaterialName(aMaterial) - + ", Durability: " - + aDura); - return false; - } - - return GT_ModHandler.addCraftingRecipe( - aOutputStack, - RecipeBits.DISMANTLEABLE | RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | RecipeBits.BUFFERED, - new Object[] { "SXL", "GMG", "PBP", 'X', ItemList.Component_Grinder_Tungsten.get(1), 'M', - CI.getElectricMotor(aVoltageTier, 1), 'S', OrePrefixes.screw.get(Materials.Titanium), 'L', - OrePrefixes.stickLong.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'G', - ELEMENT.STANDALONE.BLACK_METAL.getGear(1), 'B', aBattery }); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricSnips.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricSnips.java deleted file mode 100644 index 9a60f2c6bf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricSnips.java +++ /dev/null @@ -1,137 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import net.minecraft.item.ItemStack; - -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.SubTag; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -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; - -public class ProcessingElectricSnips implements Interface_OreRecipeRegistrator, Runnable { - - public ProcessingElectricSnips() { - GregtechOrePrefixes.toolElectricSnips.add(this); - } - - @Override - public void registerOre(final GregtechOrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName, - final String aModName, final ItemStack aStack) { - if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint)) { - if (aMaterial != Materials.Rubber) { - if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY)) - && (!aMaterial.contains(SubTag.NO_SMASHING))) {} - } - } - } - - @Override - public void registerOre(final GregtechOrePrefixes aPrefix, final GT_Materials aMaterial, final String aOreDictName, - final String aModName, final ItemStack aStack) { - // TODO Auto-generated method stub - - } - - public void materialsLoops() { - final Materials[] i = Materials.values(); - final int size = i.length; - Logger.MATERIALS("Materials to attempt tool gen. with: " + size); - int used = 0; - Materials aMaterial = null; - for (Materials materials : i) { - aMaterial = materials; - if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint) - && (aMaterial != Materials.Rubber) - && (aMaterial != Materials._NULL)) { - if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY)) - && (!aMaterial.contains(SubTag.NO_SMASHING)) - && (!aMaterial.contains(SubTag.TRANSPARENT)) - && (!aMaterial.contains(SubTag.FLAMMABLE)) - && (!aMaterial.contains(SubTag.MAGICAL)) - && (!aMaterial.contains(SubTag.NO_SMELTING))) { - Logger.MATERIALS("Generating Electric Snips from " + MaterialUtils.getMaterialName(aMaterial)); - // Input 1 - - final ItemStack plate = GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L); - - if ((null != plate)) { - addRecipe(aMaterial, 1600000L, 3, ItemList.Battery_RE_HV_Lithium.get(1)); - addRecipe(aMaterial, 1200000L, 3, ItemList.Battery_RE_HV_Cadmium.get(1)); - addRecipe(aMaterial, 800000L, 3, ItemList.Battery_RE_HV_Sodium.get(1)); - used++; - } else { - Logger.MATERIALS( - "Unable to generate Electric Snips from " + MaterialUtils.getMaterialName(aMaterial) - + ", Plate or Long Rod may be invalid. Invalid | Plate? " - + (plate == null) - + " | Rod? " - + " |"); - } - // GT_ModHandler.addCraftingRecipe(, - // GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | - // GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"P H", "PIP", " I ", - // Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), - // Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), - // Character.valueOf('H'), OrePrefixes.toolHeadHammer.get(aMaterial)}); - } else { - Logger.MATERIALS( - "Unable to generate Electric Snips from " + MaterialUtils.getMaterialName(aMaterial)); - } - } else { - Logger.MATERIALS("Unable to generate Electric Snips from " + MaterialUtils.getMaterialName(aMaterial)); - } - } - - Logger.INFO("Materials used for tool gen: " + used); - } - - @Override - public void run() { - Logger.INFO("Generating Electric Snips for all valid GT Materials."); - this.materialsLoops(); - } - - public boolean addRecipe(Materials aMaterial, long aBatteryStorage, int aVoltageTier, ItemStack aBattery) { - - ItemStack aOutputStack = MetaGeneratedGregtechTools.INSTANCE.getToolWithStats( - MetaGeneratedGregtechTools.ELECTRIC_SNIPS, - 1, - aMaterial, - Materials.Titanium, - new long[] { aBatteryStorage, GT_Values.V[aVoltageTier], 3L, -1L }); - - ItemStack aInputCutter = GT_MetaGenerated_Tool_01.INSTANCE - .getToolWithStats(GT_MetaGenerated_Tool_01.WIRECUTTER, 1, aMaterial, aMaterial, null); - - long aDura = MetaGeneratedGregtechTools.getToolMaxDamage(aOutputStack); - if (aDura <= 32000) { - Logger.MATERIALS( - "Unable to generate Electric Snips from " + MaterialUtils.getMaterialName(aMaterial) - + ", Durability: " - + aDura); - return false; - } - return RecipeUtils.addShapedRecipe( - OrePrefixes.wireFine.get(Materials.Electrum), - aInputCutter, - OrePrefixes.wireFine.get(Materials.Electrum), - ELEMENT.STANDALONE.WHITE_METAL.getGear(1), - CI.getElectricMotor(aVoltageTier, 1), - ELEMENT.STANDALONE.WHITE_METAL.getGear(1), - OrePrefixes.plate.get(aMaterial), - aBattery, - OrePrefixes.plate.get(aMaterial), - aOutputStack); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java deleted file mode 100644 index d455697330..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java +++ /dev/null @@ -1,63 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_AlloySmelter extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_AlloySmelter(final Material M) { - this.toGenerate = M; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate); - } - - private void generateRecipes(final Material material) { - final int tVoltageMultiplier = material.vVoltageMultiplier; - - // Nuggets - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getNugget(1))) - GT_Values.RA.addAlloySmelterRecipe( - material.getIngot(1), - ItemList.Shape_Mold_Nugget.get(0), - material.getNugget(9), - (int) Math.max(material.getMass() * 2L, 1L), - tVoltageMultiplier); - - // Gears - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getGear(1))) - GT_Values.RA.addAlloySmelterRecipe( - material.getIngot(8), - ItemList.Shape_Mold_Gear.get(0), - material.getGear(1), - (int) Math.max(material.getMass() * 2L, 1L), - tVoltageMultiplier); - - // Ingot - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getNugget(1))) - GT_Values.RA.addAlloySmelterRecipe( - material.getNugget(9), - ItemList.Shape_Mold_Ingot.get(0), - material.getIngot(1), - (int) Math.max(material.getMass() * 2L, 1L), - tVoltageMultiplier); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java deleted file mode 100644 index 1594568d23..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java +++ /dev/null @@ -1,69 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.GT_Values; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_Assembler extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_Assembler(final Material M) { - this.toGenerate = M; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate); - } - - private void generateRecipes(final Material material) { - - // Frame Box - if (ItemUtils.checkForInvalidItems(new ItemStack[] { material.getRod(1), material.getFrameBox(1) })) - GT_Values.RA.addAssemblerRecipe( - material.getRod(4), - ItemUtils.getGregtechCircuit(4), - material.getFrameBox(1), - 60, - material.vVoltageMultiplier); - - // Rotor - if (ItemUtils - .checkForInvalidItems(new ItemStack[] { material.getPlate(1), material.getRing(1), material.getRotor(1) })) - addAssemblerRecipe( - material.getPlate(4), - material.getRing(1), - material.getRotor(1), - 240, - material.vVoltageMultiplier); - } - - private static void addAssemblerRecipe(final ItemStack input1, final ItemStack input2, final ItemStack output1, - final int seconds, final int euCost) { - GT_Values.RA.addAssemblerRecipe( - input1, - input2, - FluidUtils.getFluidStack("molten.solderingalloy", 16), - output1, - seconds, - euCost); - GT_Values.RA - .addAssemblerRecipe(input1, input2, FluidUtils.getFluidStack("molten.tin", 32), output1, seconds, euCost); - GT_Values.RA - .addAssemblerRecipe(input1, input2, FluidUtils.getFluidStack("molten.lead", 48), output1, seconds, euCost); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Base.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Base.java deleted file mode 100644 index d000889757..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Base.java +++ /dev/null @@ -1,15 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.core.material.Material; - -public abstract class RecipeGen_Base implements RunnableWithInfo { - - protected Material toGenerate; - protected boolean disableOptional; - - @Override - public Material getInfoData() { - return toGenerate; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java deleted file mode 100644 index 2d573c9fb7..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java +++ /dev/null @@ -1,321 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeCategories; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -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.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public class RecipeGen_BlastSmelter extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_BlastSmelter(final Material M) { - this.toGenerate = M; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateARecipe(this.toGenerate); - } - - private void generateARecipe(final Material M) { - - // Add a Blast Smelting Recipe, Let's go! - ItemStack tStack; - if (null != (tStack = M.getDust(1))) { - - final Material[] badMaterials = { FLUORIDES.THORIUM_HEXAFLUORIDE, FLUORIDES.THORIUM_TETRAFLUORIDE, - ALLOY.BLOODSTEEL, NUCLIDE.LiFBeF2ThF4UF4, NUCLIDE.LiFBeF2ZrF4UF4, NUCLIDE.LiFBeF2ZrF4U235 }; - for (final Material R : badMaterials) { - if (M == R) { - return; - } - } - - // Prepare some Variables - ItemStack[] components; - ArrayList tMaterial = new ArrayList<>(); - int inputStackCount = 0; - int fluidAmount = 0; - final boolean doTest = true; - tMaterial = M.getComposites(); - - // This Bad boy here is what dictates unique recipes. - ItemStack circuitGT; - - // Set a duration - OLD - /* - * int duration = 0; if (M.getMeltingPointK() > 150){ duration = (int) Math.max(M.getMass() / 50L, 1L) * - * M.getMeltingPointK(); } else { duration = (int) Math.max(M.getMass() / 50L, 1L) * 150; } - */ - - long aVoltage = MaterialUtils.getVoltageForTier(M.vTier); - - // Set a duration - NEW - int duration = 120 * M.vTier * 10; - - if (M.vTier <= 4) { - duration = 20 * M.vTier * 10; - } - - int mMaterialListSize = 0; - - int mTotalPartsCounter = M.smallestStackSizeWhenProcessing; - - if (M.getComposites() != null) { - for (final gtPlusPlus.core.material.MaterialStack ternkfsdf : M.getComposites()) { - if (ternkfsdf != null) { - mMaterialListSize++; - // mTotalPartsCounter += ternkfsdf.getSmallestStackSizes()[0]; - } - } - } else { - mMaterialListSize = 1; - } - - if (duration <= 0) { - final int second = 20; - duration = 14 * second * mMaterialListSize * 8; - } - - Logger.WARNING("[BAS] Size: " + mMaterialListSize); - - // Make a simple one Material MaterialStack[] and log it for validity. - circuitGT = ItemUtils.getGregtechCircuit(1); - final ItemStack[] tItemStackTest = new ItemStack[] { circuitGT, tStack }; - inputStackCount = 1; - fluidAmount = 144 * inputStackCount; - Logger.WARNING( - "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName() - + ". Gives " - + fluidAmount - + "L of molten metal."); - for (int das = 0; das < tItemStackTest.length; das++) { - if (tItemStackTest[das] != null) { - Logger.WARNING( - "[BAS] tMaterial[" + das - + "]: " - + tItemStackTest[das].getDisplayName() - + " Meta: " - + tItemStackTest[das].getItemDamage() - + ", Amount: " - + tItemStackTest[das].stackSize); - } - } - - final boolean hasMoreInputThanACircuit = (tItemStackTest.length > 1); - - // Generate Recipes for all singular materials that can be made molten. - if (hasMoreInputThanACircuit) { - if (M.requiresBlastFurnace()) { - GT_Values.RA.stdBuilder() - .itemInputs(tItemStackTest) - .fluidOutputs(M.getFluidStack(fluidAmount)) - .duration(duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)) - .eut(aVoltage) - .recipeCategory(GTPPRecipeCategories.absNonAlloyRecipes) - .addTo(GTPPRecipeMaps.alloyBlastSmelterRecipes); - } else { - Logger.WARNING("[BAS] Failed."); - } - } else { - if (CORE.RA.addBlastSmelterRecipe( - tItemStackTest, - M.getFluidStack(fluidAmount), - 100, - duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1) / 2, - (int) aVoltage)) { - Logger.WARNING("[BAS] Success."); - if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ingot.get(0), - M.getFluidStack(144), - M.getIngot(1), - duration / 2, - 60)) { - Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe."); - /* - * if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100, - * duration/2, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } if - * (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluidStack(16), 100, - * duration/2/9, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - */ - /* - * if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, - * duration/2/4, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - * if (GT_Values.RA.addFluidExtractionRecipe(M.getTinyDust(1), null, M.getFluid(16), 100, - * duration/2/9, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - */ - } - } else { - Logger.WARNING("[BAS] Failed."); - } - } - - if (tMaterial != null) { - // Reset the Variables for compounds if last recipe was a success. - inputStackCount = 0; - - // If this Material has some kind of compound list, proceed - if (mMaterialListSize > 1) { - final gtPlusPlus.core.material.MaterialStack[] tempStack = new gtPlusPlus.core.material.MaterialStack[mMaterialListSize]; - circuitGT = ItemUtils.getGregtechCircuit(mMaterialListSize); - // Just double checking - if (tempStack.length > 1) { - - // Builds me a MaterialStack[] from the MaterialList of M. - int ooo = 0; - for (final gtPlusPlus.core.material.MaterialStack xMaterial : M.getComposites()) { - if (xMaterial != null) { - if (xMaterial.getStackMaterial() != null) { - Logger.WARNING( - "[BAS] FOUND: " + xMaterial.getStackMaterial() - .getLocalizedName()); - Logger.WARNING( - "[BAS] ADDING: " + xMaterial.getStackMaterial() - .getLocalizedName()); - } - tempStack[ooo] = xMaterial; - } - ooo++; - } - - // Builds me an ItemStack[] of the materials. - Without a circuit - this gets a good count for - // the 144L fluid multiplier - components = new ItemStack[9]; - inputStackCount = 0; - FluidStack componentsFluid = null; - for (int irc = 0; irc < M.getComposites() - .size(); irc++) { - if (M.getComposites() - .get(irc) != null) { - final int r = (int) M.vSmallestRatio[irc]; - inputStackCount = inputStackCount + r; - if ((M.getComposites() - .get(irc) - .getStackMaterial() - .getState() != MaterialState.SOLID) - || !ItemUtils.checkForInvalidItems( - M.getComposites() - .get(irc) - .getDustStack(r))) { - final int xr = r; - if ((xr > 0) && (xr <= 100)) { - final int mathmatics = (r * 1000); - componentsFluid = FluidUtils.getFluidStack( - M.getComposites() - .get(irc) - .getStackMaterial() - .getFluidStack(mathmatics), - mathmatics); - } - } else { - components[irc] = M.getComposites() - .get(irc) - .getUnificatedDustStack(r); - } - } - } - - // Adds a circuit - if ((mMaterialListSize < 9) && (mMaterialListSize != 0)) { - final ItemStack[] components_NoCircuit = components; - // Builds me an ItemStack[] of the materials. - With a circuit - components = new ItemStack[components_NoCircuit.length + 1]; - for (int fr = 0; fr < components.length; fr++) { - if (fr == 0) { - components[0] = circuitGT; - } else { - components[fr] = components_NoCircuit[fr - 1]; - } - } - Logger.WARNING( - "[BAS] Should have added a circuit. mMaterialListSize: " + mMaterialListSize - + " | circuit: " - + components[0].getDisplayName()); - } else { - Logger.WARNING("[BAS] Did not add a circuit. mMaterialListSize: " + mMaterialListSize); - } - - // Set Fluid output - fluidAmount = 144 * inputStackCount; - - Logger.WARNING( - "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName() - + " using it's compound dusts. This material has " - + inputStackCount - + " parts. Gives " - + fluidAmount - + "L of molten metal."); - Logger.WARNING("[BAS] tMaterial.length: " + components.length + "."); - for (int das = 0; das < components.length; das++) { - if (components[das] != null) { - Logger.WARNING( - "[BAS] tMaterial[" + das - + "]: " - + components[das].getDisplayName() - + " Meta: " - + components[das].getItemDamage() - + ", Amount: " - + components[das].stackSize); - } - } - - // Adds Recipe - if (M.requiresBlastFurnace()) { - if (CORE.RA.addBlastSmelterRecipe( - components, - componentsFluid, - M.getFluidStack(fluidAmount), - 100, - duration, - (int) aVoltage)) { - Logger.WARNING("[BAS] Success."); - } else { - Logger.WARNING("[BAS] Failed."); - } - } else { - if (CORE.RA.addBlastSmelterRecipe( - components, - componentsFluid, - M.getFluidStack(fluidAmount), - 100, - duration, - (int) aVoltage / 2)) { - Logger.WARNING("[BAS] Success."); - } else { - Logger.WARNING("[BAS] Failed."); - } - } - } - } - } else { - Logger.WARNING("[BAS] doTest: " + doTest + " | tMaterial != null: " + (tMaterial != null)); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java deleted file mode 100644 index 5398a6a0b5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java +++ /dev/null @@ -1,252 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import org.apache.commons.lang3.ArrayUtils; - -import gregtech.api.enums.GT_Values; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.minecraft.ItemStackData; -import gtPlusPlus.api.recipe.GTPPRecipeCategories; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_BlastSmelterGT_GTNH { - - private static Map mCachedIngotToFluidRegistry = new HashMap<>(); - private static Map mCachedHotToColdRegistry = new HashMap<>(); - - private static synchronized void setIngotToFluid(final ItemStackData stack, final FluidStack fluid) { - if (stack != null && fluid != null) { - mCachedIngotToFluidRegistry.put(stack.getUniqueDataIdentifier(), fluid); - } - } - - private static synchronized void setHotToCold(final ItemStackData hot, final ItemStackData cold) { - if (hot != null && cold != null) { - mCachedHotToColdRegistry.put(hot.getUniqueDataIdentifier(), cold.getUniqueDataIdentifier()); - } - } - - private static synchronized FluidStack getFluidFromIngot(final ItemStackData ingot) { - ItemStackData h = ingot; - if (mCachedIngotToFluidRegistry.containsKey(h.getUniqueDataIdentifier())) { - Logger.MACHINE_INFO("[ABS] mCachedIngotToFluidRegistry contains Output Ingot."); - return mCachedIngotToFluidRegistry.get(h.getUniqueDataIdentifier()); - } - if (mCachedHotToColdRegistry.containsKey(h.getUniqueDataIdentifier())) { - Logger.MACHINE_INFO("[ABS] mCachedHotToColdRegistry contains Output Ingot."); - return mCachedIngotToFluidRegistry.get(mCachedHotToColdRegistry.get(h.getUniqueDataIdentifier())); - } - Logger.MACHINE_INFO("[ABS] Neither Cache contains Output Ingot."); - return null; - } - - private static boolean isValid(final ItemStack[] inputs, final ItemStack outputs[], final FluidStack[] fluidIn, - final FluidStack fluidOut) { - if (inputs != null && outputs != null - && fluidIn != null - && fluidOut != null - && inputs.length > 0 - && outputs.length > 0) { - return true; - } - return false; - } - - public static synchronized boolean generateGTNHBlastSmelterRecipesFromEBFList() { - - // Make a counting object - int mSuccess = 0; - - Logger.INFO("[ABS] Starting recipe generation based on EBF recipe map."); - Logger.INFO("[ABS] Caching Ingots and their Molten fluid.."); - // Ingots/Dusts -> Fluids - for (GT_Recipe x : RecipeMaps.fluidExtractionRecipes.getAllRecipes()) { - ItemStack validInput = null; - FluidStack validOutput = null; - // If there aren't both non empty inputs and outputs, we skip - if (ArrayUtils.isEmpty(x.mInputs) || ArrayUtils.isEmpty(x.mFluidOutputs)) { - continue; - } - - for (int tag : OreDictionary.getOreIDs(x.mInputs[0])) { - String oreName = OreDictionary.getOreName(tag) - .toLowerCase(); - String mType = "ingot"; - if (oreName.startsWith(mType) && !oreName.contains("double") - && !oreName.contains("triple") - && !oreName.contains("quad") - && !oreName.contains("quintuple")) { - validInput = x.mInputs[0]; - } - } - - validOutput = x.mFluidOutputs[0]; - - if (validInput != null) { - ItemStackData R = new ItemStackData(validInput); - setIngotToFluid(R, validOutput); - Logger.MACHINE_INFO( - "[ABS][I2F] Cached " + validInput.getDisplayName() - + " to " - + validOutput.getLocalizedName() - + ". Stored Under ID of " - + R.getUniqueDataIdentifier()); - } - } - - Logger.INFO("[ABS] Caching Ingots and their Hot form..."); - // Hot Ingots -> Cold Ingots - for (GT_Recipe x : RecipeMaps.vacuumFreezerRecipes.getAllRecipes()) { - ItemStack validInput = null; - ItemStack validOutput = null; - // If we the input is an ingot and it and the output are valid, map it to cache. - if (ArrayUtils.isNotEmpty(x.mInputs) && x.mInputs[0] != null) { - validInput = x.mInputs[0]; - } - if (ArrayUtils.isNotEmpty(x.mOutputs) && x.mOutputs[0] != null) { - validOutput = x.mOutputs[0]; - } - if (validInput != null && validOutput != null) { - ItemStackData R1 = new ItemStackData(validInput); - ItemStackData R2 = new ItemStackData(validOutput); - setHotToCold(R1, R2); - Logger.MACHINE_INFO( - "[ABS][H2C] Cached " + validInput.getDisplayName() - + " to " - + validOutput.getDisplayName() - + ". Stored Under ID of " - + R1.getUniqueDataIdentifier() - + ", links to ID " - + R2.getUniqueDataIdentifier()); - } - } - - Logger.INFO("[ABS] Generating recipes based on existing EBF recipes."); - // Okay, so now lets Iterate existing EBF recipes. - for (GT_Recipe x : RecipeMaps.blastFurnaceRecipes.getAllRecipes()) { - ItemStack[] inputs, outputs; - FluidStack[] inputsF; - int voltage, time, special; - boolean enabled; - inputs = x.mInputs.clone(); - outputs = x.mOutputs.clone(); - inputsF = x.mFluidInputs.clone(); - voltage = x.mEUt; - time = x.mDuration; - enabled = x.mEnabled; - special = x.mSpecialValue; - - // continue to next recipe if the Temp is too high. - if (special > 3600) { - Logger.MACHINE_INFO("[ABS] Skipping ABS addition for GTNH due to temp."); - continue; - } else { - FluidStack mMoltenStack = null; - int mMoltenCount = 0; - // If We have a valid Output, let's try use our cached data to get it's molten form. - if (x.mOutputs != null && x.mOutputs[0] != null) { - mMoltenCount = x.mOutputs[0].stackSize; - ItemStackData R = new ItemStackData(x.mOutputs[0]); - Logger.MACHINE_INFO( - "[ABS] Found " + x.mOutputs[0].getDisplayName() - + " as valid EBF output, finding it's fluid from the cache. We will require " - + (144 * mMoltenCount) - + "L. Looking for ID " - + R.getUniqueDataIdentifier()); - FluidStack tempFluid = getFluidFromIngot(R); - if (tempFluid != null) { - // Logger.MACHINE_INFO("[ABS] Got Fluid from Cache."); - mMoltenStack = FluidUtils.getFluidStack(tempFluid, mMoltenCount * 144); - } else { - Logger.MACHINE_INFO("[ABS] Failed to get Fluid from Cache."); - } - } - // If this recipe is enabled and we have a valid molten fluidstack, let's try add this recipe. - if (enabled && isValid(inputs, outputs, inputsF, mMoltenStack)) { - // Boolean to decide whether or not to create a new circuit later - boolean circuitFound = false; - - // Build correct input stack - ArrayList aTempList = new ArrayList<>(); - for (ItemStack recipeItem : inputs) { - if (ItemUtils.isControlCircuit(recipeItem)) { - circuitFound = true; - } - aTempList.add(recipeItem); - } - - inputs = aTempList.toArray(new ItemStack[aTempList.size()]); - int inputLength = inputs.length; - // If no circuit was found, increase array length by 1 to add circuit at newInput[0] - if (!circuitFound) { - inputLength++; - } - - ItemStack[] newInput = new ItemStack[inputLength]; - - int l = 0; - // If no circuit was found, add a circuit here - if (!circuitFound) { - l = 1; - newInput[0] = CI.getNumberedCircuit(inputs.length); - } - - for (ItemStack y : inputs) { - newInput[l++] = y; - } - - GT_Values.RA.stdBuilder() - .itemInputs(newInput) - .fluidInputs(inputsF) - .fluidOutputs(mMoltenStack) - .duration(MathUtils.roundToClosestInt(time * 0.8)) - .eut(voltage) - .recipeCategory( - inputLength <= 2 ? GTPPRecipeCategories.absNonAlloyRecipes - : GTPPRecipeMaps.alloyBlastSmelterRecipes.getDefaultRecipeCategory()) - .addTo(GTPPRecipeMaps.alloyBlastSmelterRecipes); - } else { - if (!enabled) { - Logger.MACHINE_INFO("[ABS] Failure. EBF recipe was not enabled."); - } else { - Logger.MACHINE_INFO("[ABS] Failure. Invalid Inputs or Outputs."); - if (inputs == null) { - Logger.MACHINE_INFO("[ABS] Inputs were not Valid."); - } else { - Logger.MACHINE_INFO("[ABS] inputs size: " + inputs.length); - } - if (outputs == null) { - Logger.MACHINE_INFO("[ABS] Outputs were not Valid."); - } else { - Logger.MACHINE_INFO("[ABS] outputs size: " + outputs.length); - } - if (inputsF == null) { - Logger.MACHINE_INFO("[ABS] Input Fluids were not Valid."); - } else { - Logger.MACHINE_INFO("[ABS] inputsF size: " + inputsF.length); - } - if (mMoltenStack == null) { - Logger.MACHINE_INFO("[ABS] Output Fluid were not Valid."); - } - } - } - } - } - - Logger.INFO("[ABS] Processed " + mSuccess + " recipes."); - return mSuccess > 0; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java deleted file mode 100644 index 1499ea3cad..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ /dev/null @@ -1,448 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.material.MaterialStack; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; - -public class RecipeGen_DustGeneration extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_DustGeneration(final Material M) { - this(M, false); - } - - public RecipeGen_DustGeneration(final Material M, final boolean O) { - this.toGenerate = M; - this.disableOptional = O; - mRecipeGenMap.add(this); - final ItemStack normalDust = M.getDust(1); - final ItemStack smallDust = M.getSmallDust(1); - final ItemStack tinyDust = M.getTinyDust(1); - if (tinyDust != null && normalDust != null) { - if (RecipeUtils.addShapedRecipe( - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - normalDust)) { - Logger.INFO("9 Tiny dust to 1 Dust Recipe: " + M.getLocalizedName() + " - Success"); - } else { - Logger.INFO("9 Tiny dust to 1 Dust Recipe: " + M.getLocalizedName() + " - Failed"); - } - - if (RecipeUtils - .addShapedRecipe(normalDust, null, null, null, null, null, null, null, null, M.getTinyDust(9))) { - Logger.INFO("9 Tiny dust from 1 Recipe: " + M.getLocalizedName() + " - Success"); - } else { - Logger.INFO("9 Tiny dust from 1 Recipe: " + M.getLocalizedName() + " - Failed"); - } - } - - if (smallDust != null && normalDust != null) { - if (RecipeUtils.addShapedRecipe( - smallDust, - smallDust, - null, - smallDust, - smallDust, - null, - null, - null, - null, - normalDust)) { - Logger.INFO("4 Small dust to 1 Dust Recipe: " + M.getLocalizedName() + " - Success"); - } else { - Logger.INFO("4 Small dust to 1 Dust Recipe: " + M.getLocalizedName() + " - Failed"); - } - if (RecipeUtils - .addShapedRecipe(null, normalDust, null, null, null, null, null, null, null, M.getSmallDust(4))) { - Logger.INFO("4 Small dust from 1 Dust Recipe: " + M.getLocalizedName() + " - Success"); - } else { - Logger.INFO("4 Small dust from 1 Dust Recipe: " + M.getLocalizedName() + " - Failed"); - } - } - } - - @Override - public void run() { - generateRecipes(this.toGenerate, this.disableOptional); - } - - private void generateRecipes(final Material material, final boolean disableOptional) { - - Logger.INFO("Generating Shaped Crafting recipes for " + material.getLocalizedName()); - - final ItemStack normalDust = material.getDust(1); - final ItemStack smallDust = material.getSmallDust(1); - final ItemStack tinyDust = material.getTinyDust(1); - - final ItemStack[] inputStacks = material.getMaterialComposites(); - final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing); - - // Macerate blocks back to dusts. - final ItemStack materialBlock = material.getBlock(1); - final ItemStack materialFrameBox = material.getFrameBox(1); - - if (ItemUtils.checkForInvalidItems(materialBlock)) { - GT_ModHandler.addPulverisationRecipe(materialBlock, material.getDust(9)); - } - - if (ItemUtils.checkForInvalidItems(materialFrameBox)) { - GT_ModHandler.addPulverisationRecipe(materialFrameBox, material.getDust(2)); - } - - if (ItemUtils.checkForInvalidItems(smallDust) && ItemUtils.checkForInvalidItems(tinyDust)) { - generatePackagerRecipes(material); - } - - ItemStack ingot = material.getIngot(1); - if (ItemUtils.checkForInvalidItems(normalDust) && ItemUtils.checkForInvalidItems(ingot)) { - addFurnaceRecipe(material); - addMacerationRecipe(material); - } - - // Is this a composite? - if ((inputStacks != null) && !disableOptional) { - // Is this a composite? - Logger.WARNING("mixer length: " + inputStacks.length); - if ((inputStacks.length != 0) && (inputStacks.length <= 4)) { - // Log Input items - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - final long[] inputStackSize = material.vSmallestRatio; - Logger.WARNING("mixer is stacksizeVar null? " + (inputStackSize != null)); - // Is smallest ratio invalid? - if (inputStackSize != null) { - // set stack sizes on an input ItemStack[] - for (short x = 0; x < inputStacks.length; x++) { - if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) { - inputStacks[x].stackSize = (int) inputStackSize[x]; - } - } - // Relog input values, with stack sizes - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - - // Get us four ItemStacks to input into the mixer - ItemStack[] input = new ItemStack[4]; - - input[0] = (inputStacks.length >= 1) ? ((inputStacks[0] == null) ? null : inputStacks[0]) : null; - input[1] = (inputStacks.length >= 2) ? ((inputStacks[1] == null) ? null : inputStacks[1]) : null; - input[2] = (inputStacks.length >= 3) ? ((inputStacks[2] == null) ? null : inputStacks[2]) : null; - input[3] = (inputStacks.length >= 4) ? ((inputStacks[3] == null) ? null : inputStacks[3]) : null; - - if (inputStacks.length == 1) { - input[1] = input[0]; - input[0] = CI.getNumberedCircuit(inputStacks.length + 10); - } else if (inputStacks.length == 2) { - input[2] = input[1]; - input[1] = input[0]; - input[0] = CI.getNumberedCircuit(inputStacks.length + 10); - - } else if (inputStacks.length == 3) { - input[3] = input[2]; - input[2] = input[1]; - input[1] = input[0]; - input[0] = CI.getNumberedCircuit(inputStacks.length + 10); - } - - /* - * for (int g = 0; g<4; g++) { if(inputStacks.length > g) { input[g] = inputStacks[g] != null ? - * inputStacks[g] : null; } else { input[g] = CI.getNumberedCircuit(g+10); break; } } - */ - - // Add mixer Recipe - FluidStack oxygen = GT_Values.NF; - if (material.getComposites() != null) { - 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.SOLID - && x.getStackMaterial() - .getState() != MaterialState.ORE - && x.getStackMaterial() - .getState() != MaterialState.PLASMA) { - oxygen = x.getStackMaterial() - .getFluidStack(1000); - break; - } - } - } - } - } - } - } - - input = ItemUtils.cleanItemStackArray(input); - - // Add mixer Recipe - if (GT_Values.RA.addMixerRecipe( - input[0], - input[1], - input[2], - input[3], - oxygen, - null, - outputStacks, - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) // Was 6, but let's try 2. This makes Potin LV, for example. - { - Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Add Shapeless recipe for low tier alloys. - /* - * if (tVoltageMultiplier <= 30){ if (RecipeUtils.addShapedGregtechRecipe(inputStacks, - * outputStacks)){ - * Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Success"); } else { - * Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Failed"); } } - */ - } - } - } - } - - public static boolean addMixerRecipe_Standalone(final Material material) { - final ItemStack[] inputStacks = material.getMaterialComposites(); - final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing); - // Is this a composite? - if ((inputStacks != null)) { - // Is this a composite? - Logger.WARNING("mixer length: " + inputStacks.length); - if ((inputStacks.length >= 1) && (inputStacks.length <= 4)) { - // Log Input items - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - final long[] inputStackSize = material.vSmallestRatio; - Logger.WARNING("mixer is stacksizeVar not null? " + (inputStackSize != null)); - // Is smallest ratio invalid? - if (inputStackSize != null) { - // set stack sizes on an input ItemStack[] - for (short x = 0; x < inputStacks.length; x++) { - if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) { - inputStacks[x].stackSize = (int) inputStackSize[x]; - } - } - // Relog input values, with stack sizes - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - - // Get us four ItemStacks to input into the mixer - ItemStack input1, input2, input3, input4; - input1 = inputStacks[0]; - input2 = (inputStacks.length >= 2) ? (input2 = (inputStacks[1] == null) ? null : inputStacks[1]) - : null; - input3 = (inputStacks.length >= 3) ? (input3 = (inputStacks[2] == null) ? null : inputStacks[2]) - : null; - input4 = (inputStacks.length >= 4) ? (input4 = (inputStacks[3] == null) ? null : inputStacks[3]) - : null; - - if (inputStacks.length == 1) { - input2 = input1; - input1 = CI.getNumberedCircuit(20); - } else if (inputStacks.length == 2) { - input3 = input2; - input2 = input1; - input1 = CI.getNumberedCircuit(20); - - } else if (inputStacks.length == 3) { - input4 = input3; - input3 = input2; - input2 = input1; - input1 = 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) { - MaterialState f = x.getStackMaterial() - .getState(); - if (f == MaterialState.GAS || f == MaterialState.LIQUID - || f == MaterialState.PURE_LIQUID - || f == MaterialState.PURE_GAS) { - oxygen = x.getStackMaterial() - .getFluidStack((int) (material.vSmallestRatio[compSlot] * 1000)); - } - } - } - } - } - compSlot++; - } - } - - // Add mixer Recipe - try { - if (GT_Values.RA.addMixerRecipe( - input1, - input2, - input3, - input4, - oxygen, - null, - outputStacks, - (int) Math.max(material.getMass() * 2L * 1, 1), - 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; - } - } catch (Throwable t) { - t.printStackTrace(); - } - } else { - Logger.WARNING("inputStackSize == NUll - " + material.getLocalizedName()); - } - } else { - Logger.WARNING("InputStacks is out range 1-4 - " + material.getLocalizedName()); - } - } else { - Logger.WARNING("InputStacks == NUll - " + material.getLocalizedName()); - } - return false; - } - - public static boolean generatePackagerRecipes(Material aMatInfo) { - AutoMap aResults = new AutoMap<>(); - // Small Dust - aResults.put( - GT_Values.RA.addBoxingRecipe( - GT_Utility.copyAmount(4L, new Object[] { aMatInfo.getSmallDust(4) }), - ItemList.Schematic_Dust.get(0L, new Object[0]), - aMatInfo.getDust(1), - 100, - 4)); - // Tiny Dust - aResults.put( - GT_Values.RA.addBoxingRecipe( - GT_Utility.copyAmount(9L, new Object[] { aMatInfo.getTinyDust(9) }), - ItemList.Schematic_Dust.get(0L, new Object[0]), - aMatInfo.getDust(1), - 100, - 4)); - - for (boolean b : aResults) { - if (!b) { - return false; - } - } - return true; - } - - private void addMacerationRecipe(Material aMatInfo) { - try { - Logger.MATERIALS("Adding Maceration recipe for " + aMatInfo.getLocalizedName() + " Ingot -> Dusts"); - final int chance = (aMatInfo.vTier * 10) / MathUtils.randInt(10, 20); - GT_ModHandler.addPulverisationRecipe(aMatInfo.getIngot(1), aMatInfo.getDust(1), null, chance); - } catch (Throwable t) { - t.printStackTrace(); - } - } - - private void addFurnaceRecipe(Material aMatInfo) { - - ItemStack aDust = aMatInfo.getDust(1); - ItemStack aOutput; - try { - if (aMatInfo.requiresBlastFurnace()) { - aOutput = aMatInfo.getHotIngot(1); - if (ItemUtils.checkForInvalidItems(aOutput)) { - if (addBlastFurnaceRecipe(aMatInfo, aDust, null, aOutput, null, aMatInfo.getMeltingPointK())) { - Logger - .MATERIALS("Successfully added a blast furnace recipe for " + aMatInfo.getLocalizedName()); - } else { - Logger.MATERIALS("Failed to add a blast furnace recipe for " + aMatInfo.getLocalizedName()); - } - } else { - Logger.MATERIALS("Failed to add a blast furnace recipe for " + aMatInfo.getLocalizedName()); - } - } else { - aOutput = aMatInfo.getIngot(1); - if (ItemUtils.checkForInvalidItems(aOutput)) { - if (CORE.RA.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput)) { - Logger.MATERIALS("Successfully added a furnace recipe for " + aMatInfo.getLocalizedName()); - } else { - Logger.MATERIALS("Failed to add a furnace recipe for " + aMatInfo.getLocalizedName()); - } - } - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - - private boolean addBlastFurnaceRecipe(Material aMatInfo, final ItemStack input1, final ItemStack input2, - final ItemStack output1, final ItemStack output2, final int tempRequired) { - - try { - int timeTaken = 125 * aMatInfo.vTier * 10; - - if (aMatInfo.vTier <= 4) { - timeTaken = 25 * aMatInfo.vTier * 10; - } - int aSlot = aMatInfo.vTier; - if (aSlot < 2) { - aSlot = 2; - } - long aVoltage = aMatInfo.vVoltageMultiplier; - - return GT_Values.RA.addBlastRecipe( - input1, - input2, - GT_Values.NF, - GT_Values.NF, - output1, - output2, - timeTaken, - (int) aVoltage, - tempRequired); - } catch (Throwable t) { - t.printStackTrace(); - return false; - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java deleted file mode 100644 index a69a96b925..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java +++ /dev/null @@ -1,159 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_Extruder extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_Extruder(final Material M) { - this.toGenerate = M; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate); - } - - private void generateRecipes(final Material material) { - - final ItemStack itemIngot = material.getIngot(1); - final ItemStack itemPlate = material.getPlate(1); - final ItemStack itemGear = material.getGear(1); - - final ItemStack shape_Plate = ItemList.Shape_Extruder_Plate.get(0); - final ItemStack shape_Ring = ItemList.Shape_Extruder_Ring.get(0); - final ItemStack shape_Gear = ItemList.Shape_Extruder_Gear.get(0); - final ItemStack shape_Rod = ItemList.Shape_Extruder_Rod.get(0); - final ItemStack shape_Bolt = ItemList.Shape_Extruder_Bolt.get(0); - final ItemStack shape_Block = ItemList.Shape_Extruder_Block.get(0); - final ItemStack shape_Ingot = ItemList.Shape_Extruder_Ingot.get(0); - - Logger.WARNING("Generating Extruder recipes for " + material.getLocalizedName()); - - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getBlock(1))) { - // Ingot Recipe - if (GT_Values.RA.addExtruderRecipe( - material.getBlock(1), - shape_Ingot, - material.getIngot(9), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Ingot Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Ingot Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Block Recipe - if (GT_Values.RA.addExtruderRecipe( - material.getIngot(9), - shape_Block, - material.getBlock(1), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Block Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Block Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Plate Recipe - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getPlate(1))) - if (GT_Values.RA.addExtruderRecipe(itemIngot, shape_Plate, itemPlate, 10, material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Plate Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Plate Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Ring Recipe - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRing(1))) - if (!material.isRadioactive) { - if (GT_Values.RA.addExtruderRecipe( - itemIngot, - shape_Ring, - material.getRing(4), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Ring Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Ring Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Gear Recipe - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getGear(1))) - if (!material.isRadioactive) { - if (GT_Values.RA.addExtruderRecipe( - material.getIngot(4), - shape_Gear, - itemGear, - (int) Math.max(material.getMass() * 5L, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Gear Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Gear Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Rod Recipe - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRod(1))) - if (GT_Values.RA.addExtruderRecipe( - itemIngot, - shape_Rod, - material.getRod(2), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Rod Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Bolt Recipe - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1))) - if (!material.isRadioactive) { - if (GT_Values.RA.addExtruderRecipe( - itemIngot, - shape_Bolt, - material.getBolt(8), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Bolt Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Bolt Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Rotor Recipe - // Shape_Extruder_Rotor - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getRotor(1))) - if (GT_Values.RA.addExtruderRecipe( - material.getIngot(5), - ItemList.Shape_Extruder_Rotor.get(0), - material.getRotor(1), - (int) Math.max(material.getMass() * 5L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Rotor Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Rotor Recipe: " + material.getLocalizedName() + " - Failed"); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java deleted file mode 100644 index fb6dc807ef..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java +++ /dev/null @@ -1,222 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class RecipeGen_FluidCanning implements Runnable { - - public static void init() { - FluidCanningRunnableHandler x = new FluidCanningRunnableHandler(); - x.run(); - } - - private static class FluidCanningRunnableHandler implements RunnableWithInfo { - - @Override - public void run() { - mHasRun = true; - for (RecipeGen_FluidCanning aRecipe : mCache) { - aRecipe.run(); - } - } - - @Override - public String getInfoData() { - return "Fluid Canning Recipes"; - } - } - - private static boolean mHasRun = false; - - private static HashSet mCache = new HashSet<>(); - - private static void addRunnableToRecipeCache(RecipeGen_FluidCanning r) { - if (mHasRun) { - CORE.crash(); - } - mCache.add(r); - } - - protected boolean disableOptional; - - private final GT_Recipe recipe; - private final boolean isValid; - - public boolean valid() { - return isValid; - } - - // Alternative Constructor - public RecipeGen_FluidCanning(boolean aExtracting, ItemStack aEmpty, ItemStack aFull, FluidStack aFluidIn, - FluidStack aFluidOut, Integer aDuration, Integer aEUt) { - ItemStack aInput; - ItemStack aOutput; - FluidStack aFluidInput; - FluidStack aFluidOutput; - - // Safety check on the duration - if (aDuration == null || aDuration <= 0) { - aDuration = (aFluidIn != null) ? (aFluidIn.amount / 62) - : ((aFluidOut != null) ? (aFluidOut.amount / 62) : 10); - } - - // Safety check on the EU - if (aEUt == null || aEUt <= 0) { - if (aExtracting) { - aEUt = 2; - } else { - aEUt = 1; - } - } - - // Set Item stacks correctly, invert if extraction recipe. - if (aExtracting) { - aInput = aFull; - aOutput = aEmpty; - aFluidInput = GT_Values.NF; - aFluidOutput = aFluidIn; - } else { - aInput = aEmpty; - aOutput = aFull; - aFluidInput = aFluidIn; - aFluidOutput = aFluidOut != null ? aFluidOut : GT_Values.NF; - } - - // Check validity - - GT_Recipe aRecipe = new GT_Recipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new int[] { 10000 }, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - - // Check Valid - boolean aTempValidityCheck = false; - // Logger.INFO("Validity Check."); - if (aExtracting) { - Logger.INFO("Extracting."); - if (aInput != null && aFluidOutput != null) { - // Logger.INFO("Pass."); - aTempValidityCheck = true; - } - } else { - // Logger.INFO("Canning."); - if (aInput != null && aOutput != null && (aFluidInput != null || aFluidOutput != null)) { - // Logger.INFO("Pass."); - aTempValidityCheck = true; - } - } - - if (aTempValidityCheck) { - // Valid Recipe - recipe = aRecipe; - disableOptional = aExtracting; - isValid = true; - addRunnableToRecipeCache(this); - } else { - // Logger.INFO("Failed Validity Check."); - isValid = false; - disableOptional = aExtracting; - aRecipe.mEnabled = false; - aRecipe.mHidden = true; - recipe = null; - } - } - - @Override - public void run() { - Logger.INFO("Processing Recipe with Hash: " + recipe.hashCode()); - generateRecipes(); - } - - private void generateRecipes() { - if (isValid && recipe != null) { - if (this.disableOptional) { - addFluidExtractionRecipe(recipe); - } else { - addFluidCannerRecipe(recipe); - } - } - } - - private void addFluidExtractionRecipe(GT_Recipe aRecipe) { - CORE.crash(); - Logger.INFO( - "[FE-Debug] " + aRecipe.mFluidOutputs[0].amount - + "L of " - + aRecipe.mFluidOutputs[0].getLocalizedName() - + " fluid extractor from 1 " - + aRecipe.mInputs[0].getDisplayName() - + " - Success. Time: " - + aRecipe.mDuration - + ", Voltage: " - + aRecipe.mEUt); - int aCount1 = getMapSize(RecipeMaps.fluidExtractionRecipes); - int aCount2 = aCount1; - RecipeMaps.fluidExtractionRecipes.addRecipe(aRecipe); - aCount1 = getMapSize(RecipeMaps.fluidExtractionRecipes); - if (aCount1 <= aCount2) { - Logger.INFO( - "[ERROR] Failed adding Extraction recipe for " + ItemUtils.getArrayStackNames(aRecipe.mInputs) - + ", " - + ItemUtils.getArrayStackNames(aRecipe.mOutputs) - + ", " - + ItemUtils.getArrayStackNames(aRecipe.mFluidInputs) - + ", " - + ItemUtils.getArrayStackNames(aRecipe.mFluidOutputs)); - dumpStack(); - } - } - - private void addFluidCannerRecipe(GT_Recipe aRecipe) { - boolean result; - int aCount1 = getMapSize(RecipeMaps.fluidCannerRecipes); - int aCount2 = aCount1; - RecipeMaps.fluidCannerRecipes.addRecipe(aRecipe); - aCount1 = getMapSize(RecipeMaps.fluidCannerRecipes); - if (aCount1 <= aCount2) { - Logger.INFO( - "[ERROR] Failed adding Canning recipe for " + ItemUtils.getArrayStackNames(aRecipe.mInputs) - + ", " - + ItemUtils.getArrayStackNames(aRecipe.mOutputs) - + ", " - + ItemUtils.getArrayStackNames(aRecipe.mFluidInputs) - + ", " - + ItemUtils.getArrayStackNames(aRecipe.mFluidOutputs)); - dumpStack(); - } - } - - private void dumpStack() { - int parents = 2; - for (int i = 0; i < 6; i++) { - Logger.INFO( - (disableOptional ? "EXTRACTING" : "CANNING") + " DEBUG | " - + (i == 0 ? "Called from: " : "Parent: ") - + ReflectionUtils.getMethodName(i + parents)); - } - } - - private int getMapSize(RecipeMap aMap) { - return aMap.getAllRecipes() - .size(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java deleted file mode 100644 index dd0c1b505c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java +++ /dev/null @@ -1,212 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_Fluids extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_Fluids(final Material M) { - this(M, false); - } - - public RecipeGen_Fluids(final Material M, final boolean dO) { - this.toGenerate = M; - this.disableOptional = dO; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate, this.disableOptional); - } - - private void generateRecipes(final Material material, final boolean dO) { - - if (material == null) { - return; - } - - // Melting Shapes to fluid - if (material.getFluidStack(1) != null && !material.getFluidStack(1) - .getUnlocalizedName() - .toLowerCase() - .contains("plasma")) { - - // Making Shapes from fluid - - // Ingot - if (ItemUtils.checkForInvalidItems(material.getIngot(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ingot.get(0), // Item Shape - material.getFluidStack(144), // Fluid Input - material.getIngot(1), // output - 32, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING("144l fluid molder for 1 ingot Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("144l fluid molder for 1 ingot Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Plate - if (ItemUtils.checkForInvalidItems(material.getPlate(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Plate.get(0), // Item Shape - material.getFluidStack(144), // Fluid Input - material.getPlate(1), // output - 32, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING("144l fluid molder for 1 plate Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("144l fluid molder for 1 plate Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Nugget - if (ItemUtils.checkForInvalidItems(material.getNugget(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Nugget.get(0), // Item Shape - material.getFluidStack(16), // Fluid Input - material.getNugget(1), // output - 16, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING("16l fluid molder for 1 nugget Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("16l fluid molder for 1 nugget Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Gears - if (ItemUtils.checkForInvalidItems(material.getGear(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Gear.get(0), // Item Shape - material.getFluidStack(576), // Fluid Input - material.getGear(1), // output - 128, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING("576l fluid molder for 1 gear Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("576l fluid molder for 1 gear Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Blocks - if (ItemUtils.checkForInvalidItems(material.getBlock(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Block.get(0), // Item Shape - material.getFluidStack(144 * 9), // Fluid Input - material.getBlock(1), // output - 288, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 block Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 block Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // GTNH - - // Rod - if (ItemUtils.checkForInvalidItems(material.getRod(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Rod.get(0), // Item Shape - material.getFluidStack(72), // Fluid Input - material.getRod(1), // output - 150, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 rod Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Rod Long - if (ItemUtils.checkForInvalidItems(material.getLongRod(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Rod_Long.get(0), // Item - // Shape - material.getFluidStack(144), // Fluid Input - material.getLongRod(1), // output - 300, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 rod long Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 rod long Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Bolt - if (ItemUtils.checkForInvalidItems(material.getBolt(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Bolt.get(0), // Item Shape - material.getFluidStack(18), // Fluid Input - material.getBolt(1), // output - 50, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 bolt Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 bolt Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Screw - if (ItemUtils.checkForInvalidItems(material.getScrew(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Screw.get(0), // Item Shape - material.getFluidStack(18), // Fluid Input - material.getScrew(1), // output - 50, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 screw Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 screw Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Ring - if (ItemUtils.checkForInvalidItems(material.getRing(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ring.get(0), // Item Shape - material.getFluidStack(36), // Fluid Input - material.getRing(1), // output - 100, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 ring Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 ring Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Rotor - if (ItemUtils.checkForInvalidItems(material.getRotor(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Rotor.get(0), // Item Shape - material.getFluidStack(612), // Fluid Input - material.getRotor(1), // output - 100, // Duration - material.vVoltageMultiplier // Eu Tick - )) { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 rotor Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 rotor Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java deleted file mode 100644 index a3ba819fb6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java +++ /dev/null @@ -1,267 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.material.nuclear.FLUORIDES; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; - -public class RecipeGen_Fluorite extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_Fluorite(final Material material) { - this.toGenerate = material; - mRecipeGenMap.add(this); - - /** - * Shaped Crafting - */ - RecipeUtils.addShapedRecipe( - CI.craftingToolHammer_Hard, - null, - null, - material.getCrushedPurified(1), - null, - null, - null, - null, - null, - material.getDustPurified(1)); - - RecipeUtils.addShapedRecipe( - CI.craftingToolHammer_Hard, - null, - null, - material.getCrushed(1), - null, - null, - null, - null, - null, - material.getDustImpure(1)); - - RecipeUtils.addShapedRecipe( - CI.craftingToolHammer_Hard, - null, - null, - material.getCrushedCentrifuged(1), - null, - null, - null, - null, - null, - material.getDust(1)); - - final ItemStack normalDust = material.getDust(1); - final ItemStack smallDust = material.getSmallDust(1); - final ItemStack tinyDust = material.getTinyDust(1); - - if (RecipeUtils.addShapedRecipe( - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - normalDust)) { - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (RecipeUtils - .addShapedRecipe(normalDust, null, null, null, null, null, null, null, null, material.getTinyDust(9))) { - Logger.WARNING("9 Tiny dust from 1 Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("9 Tiny dust from 1 Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (RecipeUtils - .addShapedRecipe(smallDust, smallDust, null, smallDust, smallDust, null, null, null, null, normalDust)) { - Logger.WARNING("4 Small dust to 1 Dust Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("4 Small dust to 1 Dust Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (RecipeUtils - .addShapedRecipe(null, normalDust, null, null, null, null, null, null, null, material.getSmallDust(4))) { - Logger.WARNING("4 Small dust from 1 Dust Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("4 Small dust from 1 Dust Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - @Override - public void run() { - generateRecipes(this.toGenerate); - } - - public static void generateRecipes(final Material material) { - - int tVoltageMultiplier = MaterialUtils.getVoltageForTier(material.vTier); - - final ItemStack dustStone = ItemUtils.getItemStackOfAmountFromOreDict("dustStone", 1); - - ItemStack tinyDustA = FLUORIDES.FLUORITE.getTinyDust(1); - ItemStack tinyDustB = FLUORIDES.FLUORITE.getTinyDust(1); - ItemStack matDust = FLUORIDES.FLUORITE.getDust(1); - ItemStack matDustA = FLUORIDES.FLUORITE.getDust(1); - - /** - * Package - */ - // Allow ore dusts to be packaged - if (ItemUtils.checkForInvalidItems(material.getSmallDust(1)) - && ItemUtils.checkForInvalidItems(material.getTinyDust(1))) { - RecipeGen_DustGeneration.generatePackagerRecipes(material); - } - - /** - * Macerate - */ - // Macerate ore to Crushed - if (GT_Values.RA.addPulveriserRecipe( - material.getOre(1), - new ItemStack[] { material.getCrushed(2) }, - new int[] { 10000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'"); - } - // Macerate raw ore to Crushed - if (GT_Values.RA.addPulveriserRecipe( - material.getRawOre(1), - new ItemStack[] { material.getCrushed(2) }, - new int[] { 10000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'"); - } - - // Macerate Centrifuged to Pure Dust - if (GT_Values.RA.addPulveriserRecipe( - material.getCrushedCentrifuged(1), - new ItemStack[] { matDust, matDustA }, - new int[] { 10000, 1000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'"); - } - if (GT_ModHandler.addThermalCentrifugeRecipe( - material.getCrushedPurified(1), - (int) Math.min(5000L, Math.abs(material.getMass() * 20L)), - material.getCrushedCentrifuged(1), - tinyDustA, - dustStone)) { - Logger.MATERIALS( - "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: " - + material.getCrushedPurified(1) - .getDisplayName() - + " | Outputs: " - + material.getCrushedCentrifuged(1) - .getDisplayName() - + ", " - + tinyDustA.getDisplayName() - + ", " - + dustStone.getDisplayName() - + "."); - } - - 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); - - /** - * Forge Hammer - */ - if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedCentrifuged(1), matDust, 10, tVoltageMultiplier / 4)) { - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'"); - } - - /** - * Centrifuge - */ - // Purified Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustPurified(1), - null, - null, // In Fluid - null, // Out Fluid - matDust, - tinyDustA, - null, - null, - null, - null, - new int[] { 10000, 10000 }, // Chances - (int) Math.max(1L, material.getMass() * 8L), // Time - tVoltageMultiplier / 2)) { // Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust"); - } - - // Impure Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustImpure(1), - null, - null, // In Fluid - null, // Out Fluid - matDust, - tinyDustB, - null, - null, - null, - null, - new int[] { 10000, 10000 }, // Chances - (int) Math.max(1L, material.getMass() * 8L), // Time - tVoltageMultiplier / 2)) { // Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust"); - } - - // CaF2 + H2SO4 → CaSO4(solid) + 2 HF - FluidStack aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 16000); - if (aGregtechHydro == null) { - aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid", 16000); - } - - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(5), FLUORIDES.FLUORITE.getDust(37), }, - FluidUtils.getFluidStack("sulfuricacid", 8000), - aGregtechHydro, // Fluid output (slot 2) - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumSulfate", 15), - ItemUtils.getItemStackOfAmountFromOreDict("dustSilver", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 2), - ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 2) }, - new int[] { 10000, 1000, 1000, 3000, 2000 }, - 10 * 60 * 20, - 240); // EU - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java deleted file mode 100644 index 83bbe6a6d7..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java +++ /dev/null @@ -1,318 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -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.MaterialGenerator; -import gtPlusPlus.core.material.MaterialStack; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_MaterialProcessing extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_MaterialProcessing(final Material M) { - this(M, false); - } - - public RecipeGen_MaterialProcessing(final Material M, final boolean O) { - this.toGenerate = M; - this.disableOptional = O; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate, this.disableOptional); - } - - private void generateRecipes(final Material material, final boolean disableOptional) { - if (disableOptional) { - return; - } - - if (material.getMaterialComposites().length > 1) { - Logger.MATERIALS("[Recipe Generator Debug] [" + material.getLocalizedName() + "]"); - final int tVoltageMultiplier = material.vVoltageMultiplier; - int[] partSizes = new int[99]; - if (material.vSmallestRatio != null) { - partSizes = new int[material.vSmallestRatio.length]; - for (int hu = 0; hu < material.vSmallestRatio.length; hu++) { - partSizes[hu] = (int) material.vSmallestRatio[hu]; - } - } - AutoMap> componentMap = new AutoMap<>(); - int alnsnfds = 0; - for (MaterialStack r : material.getComposites()) { - if (r != null) { - componentMap.put(new Pair<>(partSizes[alnsnfds], r.getStackMaterial())); - } - alnsnfds++; - } - - /** - * Centrifuge - */ - - // Process Dust - if (componentMap.size() > 0 && componentMap.size() <= 6) { - ItemStack mInternalOutputs[] = new ItemStack[6]; - int mChances[] = new int[6]; - int mCellCount = 0; - - int mTotalCount = 0; - - int mCounter = 0; - for (Pair f : componentMap) { - if (f.getValue() - .getState() != MaterialState.SOLID) { - Logger.MATERIALS( - "[Centrifuge] Found Fluid Component, adding " + f.getKey() - + " cells of " - + f.getValue() - .getLocalizedName() - + "."); - mInternalOutputs[mCounter++] = f.getValue() - .getCell(f.getKey()); - mCellCount += f.getKey(); - mTotalCount += f.getKey(); - Logger.MATERIALS( - "[Centrifuge] In total, adding " + mCellCount - + " cells for " - + material.getLocalizedName() - + " processing."); - } else { - Logger.MATERIALS( - "[Centrifuge] Found Solid Component, adding " + f.getKey() - + " dusts of " - + f.getValue() - .getLocalizedName() - + "."); - mInternalOutputs[mCounter++] = f.getValue() - .getDust(f.getKey()); - mTotalCount += f.getKey(); - } - } - - // Build Output Array - for (int g = 0; g < mInternalOutputs.length; g++) { - Logger.MATERIALS( - "[Centrifuge] Is output[" + g - + "] valid with a chance? " - + (mInternalOutputs[g] != null ? 10000 : 0)); - mChances[g] = (mInternalOutputs[g] != null ? 10000 : 0); - } - - ItemStack emptyCell = null; - if (mCellCount > 0) { - emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount); - Logger.MATERIALS("[Centrifuge] Recipe now requires " + mCellCount + " empty cells as input."); - } - - ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing); - if (mainDust != null) { - Logger.MATERIALS( - "[Centrifuge] Recipe now requires " + material.smallestStackSizeWhenProcessing - + "x " - + mainDust.getDisplayName() - + " as input."); - } else { - mainDust = material.getDust(mTotalCount); - Logger.MATERIALS("[Centrifuge] Could not find valid input dust, trying alternative."); - if (mainDust != null) { - Logger.MATERIALS( - "[Centrifuge] Recipe now requires " + mTotalCount - + "x " - + mainDust.getDisplayName() - + " as input."); - } else { - Logger.MATERIALS("[Centrifuge] Could not find valid input dust, exiting."); - } - } - - for (int j = 0; j < mInternalOutputs.length; j++) { - if (mInternalOutputs[j] == null) { - mInternalOutputs[j] = GT_Values.NI; - Logger.MATERIALS("[Centrifuge] Set slot " + j + " to null."); - } else { - Logger.MATERIALS( - "[Centrifuge] Set slot " + j + " to " + mInternalOutputs[j].getDisplayName() + "."); - } - } - - try { - if (addCentrifgeRecipe( - mainDust, - emptyCell, // input 2 - null, // Input fluid 1 - null, // Output fluid 1 - mInternalOutputs[0], - mInternalOutputs[1], - mInternalOutputs[2], - mInternalOutputs[3], - mInternalOutputs[4], - mInternalOutputs[5], - mChances, - 20 * 1 * (tVoltageMultiplier / 10), - tVoltageMultiplier)) { - Logger.MATERIALS( - "[Centrifuge] Generated Centrifuge recipe for " + material.getDust(1) - .getDisplayName()); - } else { - Logger.MATERIALS( - "[Centrifuge] Failed to generate Centrifuge recipe for " + material.getDust(1) - .getDisplayName()); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } else if (componentMap.size() > 6 && componentMap.size() <= 9) { - Logger.MATERIALS( - "[Issue][Electrolyzer] " + material.getLocalizedName() - + " is composed of over 6 materials, so an electrolyzer recipe for processing cannot be generated. Trying to create one for the Dehydrator instead."); - - ItemStack mInternalOutputs[] = new ItemStack[9]; - int mChances[] = new int[9]; - int mCellCount = 0; - - int mTotalCount = 0; - - int mCounter = 0; - for (Pair f : componentMap) { - if (f.getValue() - .getState() != MaterialState.SOLID) { - Logger.MATERIALS( - "[Dehydrator] Found Fluid Component, adding " + f.getKey() - + " cells of " - + f.getValue() - .getLocalizedName() - + "."); - mInternalOutputs[mCounter++] = f.getValue() - .getCell(f.getKey()); - mCellCount += f.getKey(); - mTotalCount += f.getKey(); - Logger.MATERIALS( - "[Dehydrator] In total, adding " + mCellCount - + " cells for " - + material.getLocalizedName() - + " processing."); - } else { - Logger.MATERIALS( - "[Dehydrator] Found Solid Component, adding " + f.getKey() - + " dusts of " - + f.getValue() - .getLocalizedName() - + "."); - mInternalOutputs[mCounter++] = f.getValue() - .getDust(f.getKey()); - mTotalCount += f.getKey(); - } - } - - // Build Output Array - for (int g = 0; g < mInternalOutputs.length; g++) { - Logger.MATERIALS( - "[Dehydrator] Is output[" + g - + "] valid with a chance? " - + (mInternalOutputs[g] != null ? 10000 : 0)); - mChances[g] = (mInternalOutputs[g] != null ? 10000 : 0); - } - - ItemStack emptyCell = null; - if (mCellCount > 0) { - emptyCell = CI.emptyCells(mCellCount); - Logger.MATERIALS("[Dehydrator] Recipe now requires " + mCellCount + " empty cells as input."); - } - - ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing); - if (mainDust != null) { - Logger.MATERIALS( - "[Dehydrator] Recipe now requires " + material.smallestStackSizeWhenProcessing - + "x " - + mainDust.getDisplayName() - + " as input."); - } else { - mainDust = material.getDust(mTotalCount); - Logger.MATERIALS("[Dehydrator] Could not find valid input dust, trying alternative."); - if (mainDust != null) { - Logger.MATERIALS( - "[Dehydrator] Recipe now requires " + mTotalCount - + "x " - + mainDust.getDisplayName() - + " as input."); - } else { - Logger.MATERIALS("[Dehydrator] Could not find valid input dust, exiting."); - } - } - - for (int j = 0; j < mInternalOutputs.length; j++) { - if (mInternalOutputs[j] == null) { - mInternalOutputs[j] = GT_Values.NI; - Logger.MATERIALS("[Dehydrator] Set slot " + j + " to null."); - } else { - Logger.MATERIALS( - "[Dehydrator] Set slot " + j + " to " + mInternalOutputs[j].getDisplayName() + "."); - } - } - - try { - - if (CORE.RA.addDehydratorRecipe( - new ItemStack[] { mainDust, emptyCell }, - null, - null, - mInternalOutputs, - mChances, - 20 * 1 * (tVoltageMultiplier / 10), - tVoltageMultiplier)) { - Logger.MATERIALS( - "[Dehydrator] Generated Dehydrator recipe for " + material.getDust(1) - .getDisplayName()); - } else { - Logger.MATERIALS( - "[Dehydrator] Failed to generate Dehydrator recipe for " + material.getDust(1) - .getDisplayName()); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - } - } - - @Deprecated - public static boolean addCentrifgeRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, - ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) { - return GT_Values.RA.addCentrifugeRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - aChances, - aDuration, - aEUt); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java deleted file mode 100644 index f11b97cbda..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java +++ /dev/null @@ -1,112 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_MetalRecipe extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_MetalRecipe(final Material M) { - this.toGenerate = M; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate); - } - - private void generateRecipes(final Material material) { - - Logger.WARNING("Generating Metal recipes for " + material.getLocalizedName()); - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getBlock(1))) - if (GT_ModHandler.addCompressionRecipe(material.getIngot(9), material.getBlock(1))) { - Logger.WARNING("Compress Block Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Compress Block Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRod(1))) - if (GT_Values.RA.addLatheRecipe( - material.getIngot(1), - material.getRod(1), - material.getSmallDust(2), - (int) Math.max(material.getMass() / 8L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Lathe Rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Lathe Rod Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1))) - if (GT_Values.RA.addCutterRecipe( - material.getRod(1), - material.getBolt(4), - null, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Cut Bolt Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Cut Bolt Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getHotIngot(1))) - if (CORE.RA.addVacuumFreezerRecipe( - material.getHotIngot(1), - material.getIngot(1), - (int) Math.max(material.getMass() * 3L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Cool Hot Ingot Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Cool Hot Ingot Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(material.getRod(1)) - && ItemUtils.checkForInvalidItems(material.getLongRod(1))) { - if (GT_Values.RA.addForgeHammerRecipe( - material.getRod(2), - material.getLongRod(1), - (int) Math.max(material.getMass(), 1L), - 16)) { - Logger.WARNING("Hammer Long Rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Hammer Long Rod Recipe: " + material.getLocalizedName() + " - Failed"); - } - - GT_Values.RA.addCutterRecipe( - material.getLongRod(1), - material.getRod(2), - null, - (int) Math.max(material.getMass(), 1L), - 4); - } - - if (ItemUtils.checkForInvalidItems(material.getBolt(1)) && ItemUtils.checkForInvalidItems(material.getScrew(1))) - if (GT_Values.RA.addLatheRecipe( - material.getBolt(1), - material.getScrew(1), - null, - (int) Math.max(material.getMass() / 8L, 1L), - 4)) { - Logger.WARNING("Lathe Screw Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Lathe Screw Recipe: " + material.getLocalizedName() + " - Failed"); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java deleted file mode 100644 index 208be14c8c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java +++ /dev/null @@ -1,187 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.recipe.RecipeMap; -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.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.recipe.GT_RecipeUtils; - -public class RecipeGen_MultisUsingFluidInsteadOfCells { - - private static ItemStack mEmptyCell; - private static final AutoMap mItemsToIgnore = new AutoMap<>(); - private static boolean mInit = false; - - private static void init() { - if (!mInit) { - mInit = true; - mItemsToIgnore.add( - ItemUtils.simpleMetaStack( - CI.emptyCells(1) - .getItem(), - 8, - 1)); - } - } - - private static boolean doesItemMatchIgnoringStackSize(ItemStack a, ItemStack b) { - if (a == null || b == null) { - return false; - } - if (a.getItem() == b.getItem()) { - return a.getItemDamage() == b.getItemDamage(); - } - return false; - } - - private static boolean isEmptyCell(ItemStack aCell) { - if (aCell == null) { - return false; - } - if (mEmptyCell == null) { - mEmptyCell = CI.emptyCells(1); - } - if (mEmptyCell != null) { - ItemStack aTempStack = mEmptyCell.copy(); - aTempStack.stackSize = aCell.stackSize; - return GT_Utility.areStacksEqual(aTempStack, aCell); - } - return false; - } - - private static synchronized FluidStack getFluidFromItemStack(final ItemStack ingot) { - if (ingot == null) { - return null; - } - return GT_Utility.getFluidForFilledItem(ingot, true); - } - - public static synchronized int generateRecipesNotUsingCells(RecipeMap aInputs, RecipeMap aOutputs) { - init(); - int aRecipesHandled = 0; - int aInvalidRecipesToConvert = 0; - int aOriginalCount = aInputs.getAllRecipes() - .size(); - ArrayList deDuplicationInputArray = new ArrayList<>(); - - recipe: for (GT_Recipe x : aInputs.getAllRecipes()) { - if (x != null) { - - ItemStack[] aInputItems = x.mInputs.clone(); - ItemStack[] aOutputItems = x.mOutputs.clone(); - FluidStack[] aInputFluids = x.mFluidInputs.clone(); - FluidStack[] aOutputFluids = x.mFluidOutputs.clone(); - - AutoMap aInputItemsMap = new AutoMap<>(); - AutoMap aOutputItemsMap = new AutoMap<>(); - AutoMap aInputFluidsMap = new AutoMap<>(); - AutoMap aOutputFluidsMap = new AutoMap<>(); - - // Iterate Inputs, Convert valid items into fluids - for (ItemStack aInputStack : aInputItems) { - FluidStack aFoundFluid = getFluidFromItemStack(aInputStack); - if (aFoundFluid == null) { - for (ItemStack aBadStack : mItemsToIgnore) { - if (doesItemMatchIgnoringStackSize(aInputStack, aBadStack)) { - continue recipe; // Skip this recipe entirely if we find an item we don't like - } - } - if (!isEmptyCell(aInputStack)) { - aInputItemsMap.add(aInputStack); - } - } else { - aFoundFluid.amount = aFoundFluid.amount * aInputStack.stackSize; - aInputFluidsMap.add(aFoundFluid); - } - } - // Iterate Outputs, Convert valid items into fluids - for (ItemStack aOutputStack : aOutputItems) { - FluidStack aFoundFluid = getFluidFromItemStack(aOutputStack); - if (aFoundFluid == null) { - for (ItemStack aBadStack : mItemsToIgnore) { - if (doesItemMatchIgnoringStackSize(aOutputStack, aBadStack)) { - continue recipe; // Skip this recipe entirely if we find an item we don't like - } - } - if (!isEmptyCell(aOutputStack)) { - aOutputItemsMap.add(aOutputStack); - } - } else { - aFoundFluid.amount = aFoundFluid.amount * aOutputStack.stackSize; - aOutputFluidsMap.add(aFoundFluid); - } - } - // Add Input fluids second - aInputFluidsMap.addAll(Arrays.asList(aInputFluids)); - // Add Output fluids second - aOutputFluidsMap.addAll(Arrays.asList(aOutputFluids)); - - // Make some new Arrays - ItemStack[] aNewItemInputs = new ItemStack[aInputItemsMap.size()]; - ItemStack[] aNewItemOutputs = new ItemStack[aOutputItemsMap.size()]; - FluidStack[] aNewFluidInputs = new FluidStack[aInputFluidsMap.size()]; - FluidStack[] aNewFluidOutputs = new FluidStack[aOutputFluidsMap.size()]; - - // Add AutoMap contents to Arrays - for (int i = 0; i < aInputItemsMap.size(); i++) { - aNewItemInputs[i] = aInputItemsMap.get(i); - } - for (int i = 0; i < aOutputItemsMap.size(); i++) { - aNewItemOutputs[i] = aOutputItemsMap.get(i); - } - for (int i = 0; i < aInputFluidsMap.size(); i++) { - aNewFluidInputs[i] = aInputFluidsMap.get(i); - } - for (int i = 0; i < aOutputFluidsMap.size(); i++) { - aNewFluidOutputs[i] = aOutputFluidsMap.get(i); - } - - if (!ItemUtils.checkForInvalidItems(aNewItemInputs, aNewItemOutputs)) { - aInvalidRecipesToConvert++; - continue; // Skip this recipe entirely if we find an item we don't like - } - GT_Recipe aNewRecipe = new GT_Recipe( - false, - aNewItemInputs, - aNewItemOutputs, - x.mSpecialItems, - x.mChances, - aNewFluidInputs, - aNewFluidOutputs, - x.mDuration, - x.mEUt, - x.mSpecialValue); - aNewRecipe.owners = new ArrayList<>(x.owners); - - // add all recipes to an intermediate array - deDuplicationInputArray.add(aNewRecipe); - - aRecipesHandled++; - } else { - aInvalidRecipesToConvert++; - } - } - // cast arraylist of input to a regular array and pass it to a duplicate recipe remover. - List deDuplicationOutputArray = GT_RecipeUtils - .removeDuplicates(deDuplicationInputArray, aOutputs.unlocalizedName); - // add each recipe from the above output to the intended recipe map - for (GT_Recipe recipe : deDuplicationOutputArray) { - aOutputs.add(recipe); - } - Logger.INFO("Generated Recipes for " + aOutputs.unlocalizedName); - Logger.INFO("Original Map contains " + aOriginalCount + " recipes."); - Logger.INFO("Output Map contains " + aRecipesHandled + " recipes."); - Logger.INFO("There were " + aInvalidRecipesToConvert + " invalid recipes."); - return aRecipesHandled; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java deleted file mode 100644 index 32d6a1066b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java +++ /dev/null @@ -1,750 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -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.MaterialGenerator; -import gtPlusPlus.core.material.MaterialStack; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; - -public class RecipeGen_Ore extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_Ore(final Material M) { - this(M, false); - } - - public RecipeGen_Ore(final Material M, final boolean O) { - this.toGenerate = M; - this.disableOptional = O; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate, this.disableOptional); - } - - private static Material mStone; - - private void generateRecipes(final Material material, final boolean disableOptional) { - - if (mStone == null) { - mStone = MaterialUtils.generateMaterialFromGtENUM(Materials.Stone); - } - - // if (material.getMaterialComposites().length > 1){ - Logger.MATERIALS("[Recipe Generator Debug] [" + material.getLocalizedName() + "]"); - int tVoltageMultiplier = MaterialUtils.getVoltageForTier(material.vTier); - - final ItemStack dustStone = ItemUtils.getItemStackOfAmountFromOreDict("dustStone", 1); - Material bonusA = null; // Ni - Material bonusB = null; // Tin - - if (material.getComposites() - .size() >= 1 - && material.getComposites() - .get(0) != null) { - bonusA = material.getComposites() - .get(0) - .getStackMaterial(); - } else { - bonusA = material; - } - - boolean allFailed = false; - - // Setup Bonuses - ArrayList aMatComp = new ArrayList<>(); - for (Material j : MaterialUtils.getCompoundMaterialsRecursively(material)) { - aMatComp.add(j); - } - - if (aMatComp.size() < 3) { - while (aMatComp.size() < 3) { - aMatComp.add(material); - } - } - - AutoMap amJ = new AutoMap<>(); - int aIndexCounter = 0; - for (Material g : aMatComp) { - if (g.hasSolidForm()) { - if (getDust(g) != null && getTinyDust(g) != null) { - amJ.put(g); - } - } - } - - if (amJ.size() < 2) { - if (material.getComposites() - .size() >= 2 - && material.getComposites() - .get(1) != null) { - bonusB = material.getComposites() - .get(1) - .getStackMaterial(); - // If Secondary Output has no solid output, try the third (If it exists) - if (!bonusB.hasSolidForm() && material.getComposites() - .size() >= 3 - && 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() >= 4 - && 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() >= 5 - && material.getComposites() - .get(4) != null) { - bonusB = material.getComposites() - .get(4) - .getStackMaterial(); - // If Fifth Output has no solid output, default out to Stone dust. - if (!bonusB.hasSolidForm()) { - allFailed = true; - bonusB = mStone; - } - } - } - } - } else { - allFailed = true; - } - } else { - bonusA = amJ.get(0); - bonusB = amJ.get(1); - } - - // Default out if it's made of fluids or some stuff. - if (bonusA == null) { - bonusA = tVoltageMultiplier > 100 ? material : mStone; - } - // Default out if it's made of fluids or some stuff. - if (allFailed || bonusB == null) { - bonusB = tVoltageMultiplier > 100 ? material : mStone; - } - - AutoMap> componentMap = new AutoMap<>(); - for (MaterialStack r : material.getComposites()) { - if (r != null) { - componentMap.put(new Pair<>(r.getPartsPerOneHundred(), r.getStackMaterial())); - } - } - - // Need two valid outputs - if (bonusA == null || bonusB == null || !bonusA.hasSolidForm() || !bonusB.hasSolidForm()) { - if (bonusA == null) { - bonusA = mStone; - } - if (bonusB == null) { - bonusB = mStone; - } - if (!bonusA.hasSolidForm()) { - bonusA = mStone; - } - if (!bonusB.hasSolidForm()) { - bonusB = mStone; - } - } - - ItemStack matDust = getDust(material); - ItemStack matDustA = getDust(bonusA); - ItemStack matDustB = getDust(bonusB); - - /** - * Package - */ - // Allow ore dusts to be packaged - if (ItemUtils.checkForInvalidItems(material.getSmallDust(1)) - && ItemUtils.checkForInvalidItems(material.getTinyDust(1))) { - RecipeGen_DustGeneration.generatePackagerRecipes(material); - } - - /** - * Macerate - */ - // Macerate ore to Crushed - if (GT_Values.RA.addPulveriserRecipe( - material.getOre(1), - new ItemStack[] { material.getCrushed(2) }, - new int[] { 10000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'"); - } - // Macerate raw ore to Crushed - if (GT_Values.RA.addPulveriserRecipe( - material.getRawOre(1), - new ItemStack[] { material.getCrushed(2) }, - new int[] { 10000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'"); - } - // Macerate Crushed to Impure Dust - if (GT_Values.RA.addPulveriserRecipe( - material.getCrushed(1), - new ItemStack[] { material.getDustImpure(1), matDustA }, - new int[] { 10000, 1000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Crushed ore to Impure Dust'"); - } - // Macerate Washed to Purified Dust - if (GT_Values.RA.addPulveriserRecipe( - material.getCrushedPurified(1), - new ItemStack[] { material.getDustPurified(1), matDustA }, - new int[] { 10000, 1000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Washed ore to Purified Dust'"); - } - // Macerate Centrifuged to Pure Dust - if (GT_Values.RA.addPulveriserRecipe( - material.getCrushedCentrifuged(1), - new ItemStack[] { matDust, matDustA }, - new int[] { 10000, 1000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'"); - } - - /** - * Wash - */ - // Wash into Purified Crushed - /* - * if (GT_Values.RA.addOreWasherRecipe(material.getCrushed(1), material.getCrushedPurified(1), - * bonusA.getTinyDust(1), dustStone, FluidUtils.getWater(1000), 25*20, 16)){ - * Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'"); } - */ - // .08 compat method - if (GT_ModHandler.addOreWasherRecipe( - material.getCrushed(1), - new int[] { 10000, 1111, 10000 }, - 1000, - material.getCrushedPurified(1), - matDustA, - dustStone)) { - Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'"); - } - - /** - * Thermal Centrifuge - */ - /* - * //Crushed ore to Centrifuged Ore if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushed(1), - * material.getCrushedCentrifuged(1), tinyDustB, dustStone, 25*20, 24)){ - * Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore'"); } //Washed ore to - * Centrifuged Ore 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("material.getTinyDust(1): " + (ItemUtils.getItemName(bonusA.getCrushed(1)))); - Logger.MATERIALS("material.getTinyDust(1): " + (ItemUtils.getItemName(bonusB.getCrushed(1)))); - - try { - // .08 compat - if (GT_ModHandler.addThermalCentrifugeRecipe( - material.getCrushed(1), - new int[] { 10000, 1111, 10000 }, - (int) Math.min(5000L, Math.abs(material.getMass() * 20L)), - material.getCrushedCentrifuged(1), - matDustB, - dustStone)) { - Logger.MATERIALS( - "[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: " - + material.getCrushed(1) - .getDisplayName() - + " | Outputs: " - + material.getCrushedCentrifuged(1) - .getDisplayName() - + ", " - + matDustB.getDisplayName() - + ", " - + dustStone.getDisplayName() - + "."); - } - } catch (Throwable t) {} - try { - if (GT_ModHandler.addThermalCentrifugeRecipe( - material.getCrushedPurified(1), - new int[] { 10000, 1111, 10000 }, - (int) Math.min(5000L, Math.abs(material.getMass() * 20L)), - material.getCrushedCentrifuged(1), - matDustA, - dustStone)) { - Logger.MATERIALS( - "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: " - + material.getCrushedPurified(1) - .getDisplayName() - + " | Outputs: " - + material.getCrushedCentrifuged(1) - .getDisplayName() - + ", " - + matDustA.getDisplayName() - + ", " - + dustStone.getDisplayName() - + "."); - } - } catch (Throwable t) {} - - /** - * Forge Hammer - */ - if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedCentrifuged(1), matDust, 10, tVoltageMultiplier / 4)) { - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'"); - } - if (GT_Values.RA.addForgeHammerRecipe( - material.getCrushedPurified(1), - material.getDustPurified(1), - 10, - tVoltageMultiplier / 4)) { - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Purified to Purified Dust'"); - } - if (GT_Values.RA.addForgeHammerRecipe(material.getOre(1), material.getCrushed(1), 10, tVoltageMultiplier / 4)) { - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Ore to Crushed'"); - } - - /** - * Centrifuge - */ - // Purified Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustPurified(1), - null, - null, // In Fluid - null, // Out Fluid - matDust, - matDustA, - null, - null, - null, - null, - new int[] { 10000, 1111 }, // Chances - (int) Math.max(1L, material.getMass() * 8L), // Time - tVoltageMultiplier / 2)) { // Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust"); - } - - // Impure Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustImpure(1), - null, - null, // In Fluid - null, // Out Fluid - matDust, - matDustB, - null, - null, - null, - null, - new int[] { 10000, 1111 }, // Chances - (int) Math.max(1L, material.getMass() * 8L), // Time - tVoltageMultiplier / 2)) { // Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust"); - } - - /** - * Electrolyzer - */ - if (!disableOptional) { - // Process Dust - if (componentMap.size() > 0 && componentMap.size() <= 6) { - - ItemStack mInternalOutputs[] = new ItemStack[6]; - int mChances[] = new int[6]; - int mCellCount = 0; - - int mTotalCount = 0; - - int mCounter = 0; - for (Pair f : componentMap) { - if (f.getValue() - .getState() != MaterialState.SOLID) { - Logger.MATERIALS( - "[Electrolyzer] Found Fluid Component, adding " + f.getKey() - + " cells of " - + f.getValue() - .getLocalizedName() - + "."); - mInternalOutputs[mCounter++] = f.getValue() - .getCell(f.getKey()); - mCellCount += f.getKey(); - mTotalCount += f.getKey(); - Logger.MATERIALS( - "[Electrolyzer] In total, adding " + mCellCount - + " cells for " - + material.getLocalizedName() - + " processing."); - } else { - Logger.MATERIALS( - "[Electrolyzer] Found Solid Component, adding " + f.getKey() - + " dusts of " - + f.getValue() - .getLocalizedName() - + "."); - mInternalOutputs[mCounter++] = f.getValue() - .getDust(f.getKey()); - mTotalCount += f.getKey(); - } - } - - // Build Output Array - for (int g = 0; g < mInternalOutputs.length; g++) { - Logger.MATERIALS( - "[Electrolyzer] Is output[" + g - + "] valid with a chance? " - + (mInternalOutputs[g] != null ? 10000 : 0)); - mChances[g] = (mInternalOutputs[g] != null ? 10000 : 0); - } - - ItemStack emptyCell = null; - if (mCellCount > 0) { - emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount); - Logger.MATERIALS("[Electrolyzer] Recipe now requires " + mCellCount + " empty cells as input."); - } - - ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing); - if (mainDust != null) { - Logger.MATERIALS( - "[Electrolyzer] Recipe now requires " + material.smallestStackSizeWhenProcessing - + "x " - + mainDust.getDisplayName() - + " as input."); - } else { - mainDust = material.getDust(mTotalCount); - Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, trying alternative."); - if (mainDust != null) { - Logger.MATERIALS( - "[Electrolyzer] Recipe now requires " + mTotalCount - + "x " - + mainDust.getDisplayName() - + " as input."); - } else { - Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, exiting."); - } - } - - for (int j = 0; j < mInternalOutputs.length; j++) { - if (mInternalOutputs[j] == null) { - mInternalOutputs[j] = GT_Values.NI; - Logger.MATERIALS("[Electrolyzer] Set slot " + j + " to null."); - } else { - Logger.MATERIALS( - "[Electrolyzer] Set slot " + j + " to " + mInternalOutputs[j].getDisplayName() + "."); - } - } - - try { - if (addElectrolyzerRecipe( - mainDust, - emptyCell, // input 2 - null, // Input fluid 1 - null, // Output fluid 1 - mInternalOutputs[0], - mInternalOutputs[1], - mInternalOutputs[2], - mInternalOutputs[3], - mInternalOutputs[4], - mInternalOutputs[5], - mChances, - (int) Math.max(material.getMass() * 3L * 1, 1), - tVoltageMultiplier)) { - Logger - .MATERIALS("[Electrolyzer] Generated Electrolyzer recipe for " + matDust.getDisplayName()); - } else { - Logger.MATERIALS( - "[Electrolyzer] Failed to generate Electrolyzer recipe for " + matDust.getDisplayName()); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } else if (componentMap.size() > 6 && componentMap.size() <= 9) { - Logger.MATERIALS( - "[Issue][Electrolyzer] " + material.getLocalizedName() - + " is composed of over 6 materials, so an electrolyzer recipe for processing cannot be generated. Trying to create one for the Dehydrator instead."); - - ItemStack mInternalOutputs[] = new ItemStack[9]; - int mChances[] = new int[9]; - int mCellCount = 0; - - int mTotalCount = 0; - - int mCounter = 0; - for (Pair f : componentMap) { - if (f.getValue() - .getState() != MaterialState.SOLID - && f.getValue() - .getState() != MaterialState.ORE) { - Logger.MATERIALS( - "[Dehydrator] Found Fluid Component, adding " + f.getKey() - + " cells of " - + f.getValue() - .getLocalizedName() - + "."); - mInternalOutputs[mCounter++] = f.getValue() - .getCell(f.getKey()); - mCellCount += f.getKey(); - mTotalCount += f.getKey(); - Logger.MATERIALS( - "[Dehydrator] In total, adding " + mCellCount - + " cells for " - + material.getLocalizedName() - + " processing."); - } else { - Logger.MATERIALS( - "[Dehydrator] Found Solid Component, adding " + f.getKey() - + " dusts of " - + f.getValue() - .getLocalizedName() - + "."); - mInternalOutputs[mCounter++] = f.getValue() - .getDust(f.getKey()); - mTotalCount += f.getKey(); - } - } - - // Build Output Array - for (int g = 0; g < mInternalOutputs.length; g++) { - Logger.MATERIALS( - "[Dehydrator] Is output[" + g - + "] valid with a chance? " - + (mInternalOutputs[g] != null ? 10000 : 0)); - mChances[g] = (mInternalOutputs[g] != null ? 10000 : 0); - } - - ItemStack emptyCell = null; - if (mCellCount > 0) { - emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount); - Logger.MATERIALS("[Dehydrator] Recipe now requires " + mCellCount + " empty cells as input."); - } - - ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing); - if (mainDust != null) { - Logger.MATERIALS( - "[Dehydrator] Recipe now requires " + material.smallestStackSizeWhenProcessing - + "x " - + mainDust.getDisplayName() - + " as input."); - } else { - mainDust = material.getDust(mTotalCount); - Logger.MATERIALS("[Dehydrator] Could not find valid input dust, trying alternative."); - if (mainDust != null) { - Logger.MATERIALS( - "[Dehydrator] Recipe now requires " + mTotalCount - + "x " - + mainDust.getDisplayName() - + " as input."); - } else { - Logger.MATERIALS("[Dehydrator] Could not find valid input dust, exiting."); - } - } - - for (int j = 0; j < mInternalOutputs.length; j++) { - if (mInternalOutputs[j] == null) { - mInternalOutputs[j] = GT_Values.NI; - Logger.MATERIALS("[Dehydrator] Set slot " + j + " to null."); - } else { - Logger.MATERIALS( - "[Dehydrator] Set slot " + j + " to " + mInternalOutputs[j].getDisplayName() + "."); - } - } - - try { - if (CORE.RA.addDehydratorRecipe( - new ItemStack[] { mainDust, emptyCell }, - null, - null, - mInternalOutputs, - mChances, - (int) Math.max(material.getMass() * 4L * 1, 1), - tVoltageMultiplier)) { - Logger.MATERIALS("[Dehydrator] Generated Dehydrator recipe for " + matDust.getDisplayName()); - Logger.MATERIALS( - "Inputs: " + mainDust.getDisplayName() - + " x" - + mainDust.stackSize - + ", " - + (emptyCell == null ? "No Cells" - : "" + emptyCell.getDisplayName() + " x" + emptyCell.stackSize)); - Logger.MATERIALS("Outputs " + ItemUtils.getArrayStackNames(mInternalOutputs)); - Logger.MATERIALS("Time: " + ((int) Math.max(material.getMass() * 4L * 1, 1))); - Logger.MATERIALS("EU: " + tVoltageMultiplier); - } else { - Logger.MATERIALS( - "[Dehydrator] Failed to generate Dehydrator recipe for " + matDust.getDisplayName()); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - } - - /** - * Shaped Crafting - */ - RecipeUtils.addShapedRecipe( - CI.craftingToolHammer_Hard, - null, - null, - material.getCrushedPurified(1), - null, - null, - null, - null, - null, - material.getDustPurified(1)); - - RecipeUtils.addShapedRecipe( - CI.craftingToolHammer_Hard, - null, - null, - material.getCrushed(1), - null, - null, - null, - null, - null, - material.getDustImpure(1)); - - RecipeUtils.addShapedRecipe( - CI.craftingToolHammer_Hard, - null, - null, - material.getCrushedCentrifuged(1), - null, - null, - null, - null, - null, - matDust); - - final ItemStack normalDust = matDust; - final ItemStack smallDust = material.getSmallDust(1); - final ItemStack tinyDust = material.getTinyDust(1); - - if (RecipeUtils.addShapedRecipe( - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - tinyDust, - normalDust)) { - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (RecipeUtils - .addShapedRecipe(normalDust, null, null, null, null, null, null, null, null, material.getTinyDust(9))) { - Logger.WARNING("9 Tiny dust from 1 Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("9 Tiny dust from 1 Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (RecipeUtils - .addShapedRecipe(smallDust, smallDust, null, smallDust, smallDust, null, null, null, null, normalDust)) { - Logger.WARNING("4 Small dust to 1 Dust Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("4 Small dust to 1 Dust Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (RecipeUtils - .addShapedRecipe(null, normalDust, null, null, null, null, null, null, null, material.getSmallDust(4))) { - Logger.WARNING("4 Small dust from 1 Dust Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("4 Small dust from 1 Dust Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // } - } - - public static boolean addElectrolyzerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, - ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) { - if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) { - Logger.MATERIALS("[Electrolyzer] Either both inputs or outputs are null."); - return false; - } - if ((aInput1 != null) && (aDuration <= 0)) { - Logger.MATERIALS("[Electrolyzer] Fail 1."); - return false; - } - if ((aFluidInput != null) && (aDuration <= 0)) { - Logger.MATERIALS("[Electrolyzer] Fail 2."); - return false; - } - GT_Values.RA.addElectrolyzerRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - aChances, - aDuration, - aEUt); - Logger.MATERIALS("[Electrolyzer] Recipe added."); - return true; - } - - public static ItemStack getTinyDust(Material m) { - ItemStack x = m.getTinyDust(1); - if (x == null) { - x = mStone.getDust(1); - } - return x; - } - - public static ItemStack getDust(Material m) { - ItemStack x = m.getDust(1); - if (x == null) { - x = mStone.getDust(1); - } - return x; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java deleted file mode 100644 index 01d6f9bb02..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java +++ /dev/null @@ -1,62 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_Plasma extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_Plasma(final Material M) { - this.toGenerate = M; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate); - } - - private void generateRecipes(final Material material) { - if (material.getPlasma() != null) { - // Cool Plasma - ItemStack aPlasmaCell = material.getPlasmaCell(1); - ItemStack aCell = material.getCell(1); - ItemStack aContainerItem = GT_Utility.getFluidForFilledItem(aPlasmaCell, true) == null - ? GT_Utility.getContainerItem(aPlasmaCell, true) - : CI.emptyCells(1); - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aPlasmaCell, aContainerItem })) { - switch (material.getUnlocalizedName()) { - case "Runite": - GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, aPlasmaCell), aContainerItem, 350_000, 4); - case "CelestialTungsten": - GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, aPlasmaCell), aContainerItem, 720_000, 4); - default: - GT_Values.RA.addFuel( - GT_Utility.copyAmount(1L, aPlasmaCell), - aContainerItem, - (int) Math.max(1024L, 1024L * material.getMass()), - 4); - - } - } - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aCell, aPlasmaCell })) { - GT_Values.RA.addVacuumFreezerRecipe(aPlasmaCell, aCell, (int) Math.max(material.getMass() * 2L, 1L)); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java deleted file mode 100644 index 7eebc16af7..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java +++ /dev/null @@ -1,225 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.RecipeMaps; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_Plates extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_Plates(final Material M) { - this.toGenerate = M; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate); - } - - private void generateRecipes(final Material material) { - - final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15; - final ItemStack ingotStackOne = material.getIngot(1); - final ItemStack ingotStackTwo = material.getIngot(2); - final ItemStack ingotStackThree = material.getIngot(3); - final ItemStack ingotStackNine = material.getIngot(9); - final ItemStack shape_Mold = ItemList.Shape_Mold_Plate.get(0); - final ItemStack plate_Single = material.getPlate(1); - final ItemStack plate_SingleTwo = material.getPlate(2); - final ItemStack plate_SingleNine = material.getPlate(9); - final ItemStack plate_Double = material.getPlateDouble(1); - final ItemStack plate_Dense = material.getPlateDense(1); - final ItemStack foil_SingleFour = material.getFoil(4); - final ItemStack block = material.getBlock(1); - - Logger.WARNING("Generating Plate recipes for " + material.getLocalizedName()); - - // Forge Hammer - if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single)) - if (addForgeHammerRecipe( - ingotStackThree, - plate_SingleTwo, - (int) Math.max(material.getMass(), 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Failed"); - } - // Bender - if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(plate_Single)) - if (addBenderRecipe( - ingotStackOne, - plate_Single, - (int) Math.max(material.getMass() * 1L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(foil_SingleFour)) - if (addBenderRecipe( - ingotStackOne, - CI.getNumberedCircuit(10), - foil_SingleFour, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - // Alloy Smelter - if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single)) - if (GT_Values.RA.addAlloySmelterRecipe( - ingotStackTwo, - shape_Mold, - plate_Single, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Failed"); - } - // Cutting Machine - if (ItemUtils.checkForInvalidItems(block) && ItemUtils.checkForInvalidItems(plate_Single)) - if (GT_Values.RA.addCutterRecipe( - block, - plate_SingleNine, - null, - (int) Math.max(material.getMass() * 10L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Making Double Plates - if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Double)) - if (addBenderRecipe( - ingotStackTwo, - plate_Double, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(plate_SingleTwo) && ItemUtils.checkForInvalidItems(plate_Double)) - if (addBenderRecipe( - plate_SingleTwo, - plate_Double, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Bender - if (ItemUtils.checkForInvalidItems(material.getPlate(1)) && ItemUtils.checkForInvalidItems(material.getFoil(1))) - if (addBenderRecipe( - material.getPlate(1), - material.getFoil(4), - (int) Math.max(material.getMass(), 1L), - material.vVoltageMultiplier)) { - GregTech_API.registerCover( - material.getFoil(1), - new GT_RenderedTexture(material.getTextureSet().mTextures[70], material.getRGBA(), false), - null); - Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Making Dense Plates - if (ItemUtils.checkForInvalidItems(ingotStackNine) && ItemUtils.checkForInvalidItems(plate_Dense)) - if (addBenderRecipe( - ingotStackNine, - plate_Dense, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(plate_SingleNine) && ItemUtils.checkForInvalidItems(plate_Dense)) - if (addBenderRecipe( - plate_SingleNine, - plate_Dense, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - public static boolean addBenderRecipe(final ItemStack aInput1, final ItemStack aOutput1, int aDuration, - final int aEUt) { - return GT_Values.RA.addBenderRecipe(aInput1, aOutput1, aDuration, aEUt); - } - - public static boolean addBenderRecipe(final ItemStack aInput1, final ItemStack aCircuit, final ItemStack aOutput1, - int aDuration, final int aEUt) { - return GT_Values.RA.addBenderRecipe(aInput1, aCircuit, aOutput1, aDuration, aEUt); - } - - public static boolean addExtruderRecipe(final ItemStack aInput, final ItemStack aShape, final ItemStack aOutput, - int aDuration, final int aEUt) { - if ((aInput == null) || (aShape == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.extruderRecipes.addRecipe( - true, - new ItemStack[] { aInput, aShape }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - public static boolean addForgeHammerRecipe(final ItemStack aInput1, final ItemStack aOutput1, final int aDuration, - final int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - RecipeMaps.hammerRecipes.addRecipe( - true, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java deleted file mode 100644 index 044ce58c62..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java +++ /dev/null @@ -1,400 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import static gregtech.api.enums.GT_Values.L; -import static gregtech.api.enums.GT_Values.M; - -import java.util.ArrayList; -import java.util.Map; - -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -import org.apache.commons.lang3.reflect.FieldUtils; - -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 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.state.MaterialState; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class RecipeGen_Recycling implements Runnable { - - public static AutoMap mQueuedRecyclingGenerators = new AutoMap<>(); - - public static void executeGenerators() { - if (mQueuedRecyclingGenerators.size() > 0) { - for (Runnable R : mQueuedRecyclingGenerators.values()) { - R.run(); - } - } - } - - final Material toGenerate; - public static Map mNameMap; - - public RecipeGen_Recycling(final Material M) { - this.toGenerate = M; - if (mNameMap == null) { - mNameMap = this.getNameMap(); - } - mQueuedRecyclingGenerators.put(this); - } - - @Override - public void run() { - if (mNameMap != null) { - generateRecipes(this.toGenerate); - } - } - - public static void generateRecipes(final Material material) { - - if (material != null) Logger.WARNING("Generating Recycling recipes for " + material.getLocalizedName()); - - final OrePrefixes[] mValidPrefixesAsString = { OrePrefixes.ingot, OrePrefixes.ingotHot, OrePrefixes.nugget, - OrePrefixes.plate, OrePrefixes.plateDense, OrePrefixes.plateDouble, OrePrefixes.plateTriple, - OrePrefixes.plateQuadruple, OrePrefixes.plateQuintuple, OrePrefixes.stick, OrePrefixes.stickLong, - OrePrefixes.bolt, OrePrefixes.screw, OrePrefixes.ring, OrePrefixes.rotor, OrePrefixes.gearGt, - OrePrefixes.gearGtSmall, OrePrefixes.gear, OrePrefixes.block, OrePrefixes.cableGt01, OrePrefixes.cableGt02, - OrePrefixes.cableGt04, OrePrefixes.cableGt08, OrePrefixes.cableGt12, OrePrefixes.wireFine, - OrePrefixes.wireGt01, OrePrefixes.wireGt02, OrePrefixes.wireGt04, OrePrefixes.wireGt08, - OrePrefixes.wireGt12, OrePrefixes.wireGt16, OrePrefixes.foil, OrePrefixes.frameGt, OrePrefixes.pipeHuge, - OrePrefixes.pipeLarge, OrePrefixes.pipeMedium, OrePrefixes.pipeSmall, OrePrefixes.pipeTiny, }; - - int mSlotIndex = 0; - Pair[] mValidPairs = new Pair[mValidPrefixesAsString.length]; - - for (int r = 0; r < mValidPairs.length; r++) { - ItemStack temp = getItemStackOfAmountFromOreDictNoBroken( - mValidPrefixesAsString[r].name() + Utils.sanitizeString(material.getLocalizedName()), - 1); - if (temp != null) { - mValidPairs[mSlotIndex++] = new Pair<>(mValidPrefixesAsString[r], temp.copy()); - } - } - - if (mValidPairs.length > 0) { - int validCounter = 0; - Pair[] temp = mValidPairs; - for (Pair temp2 : mValidPairs) { - if (temp2 != null) { - Logger.WARNING( - "Valid: " + temp2.getValue() - .getDisplayName()); - validCounter++; - } - } - Pair temp3[] = new Pair[validCounter]; - int temp4 = 0; - for (Pair r : mValidPairs) { - if (r != null) { - temp3[temp4++] = r; - } - } - if (temp3.length > 0) { - mValidPairs = temp3.clone(); - } - } - - if (mValidPrefixesAsString.length >= 1) { - for (final Pair validPrefix : mValidPairs) { - try { - - if (material == null || validPrefix == null - || (material.getState() != MaterialState.SOLID && material.getState() != MaterialState.LIQUID) - || validPrefix.getKey() == OrePrefixes.ingotHot) { - continue; - } - - final ItemStack tempStack = validPrefix.getValue(); - final ItemStack mDust = getDust(material, validPrefix.getKey()); - final Pair mData = getDustData(material, validPrefix.getKey()); - int mFluidAmount = (int) GT_Utility - .translateMaterialToFluidAmount(validPrefix.getKey().mMaterialAmount, true); - - // Maceration - if (ItemUtils.checkForInvalidItems(tempStack)) { - // mValidItems[mSlotIndex++] = tempStack; - if ((mDust != null) && GT_ModHandler.addPulverisationRecipe(tempStack, mDust)) { - Logger.WARNING( - "Recycle Recipe: " + material.getLocalizedName() - + " - Success - Recycle " - + tempStack.getDisplayName() - + " and obtain " - + mDust.getDisplayName()); - } else { - Logger.WARNING("Recycle Recipe: " + material.getLocalizedName() + " - Failed"); - if (mDust == null) { - Logger.WARNING("Invalid Dust output."); - } - } - } - - // Arc Furnace - if (ItemUtils.checkForInvalidItems(tempStack)) {} - - // Fluid Extractor - if (ItemUtils.checkForInvalidItems(tempStack)) { - // mValidItems[mSlotIndex++] = tempStack; - - int aFluidAmount = (int) ((L * validPrefix.getKey().mMaterialAmount) - / (M * tempStack.stackSize)); - int aDuration = (int) Math.max(1, (24 * validPrefix.getKey().mMaterialAmount) / M); - boolean aGenFluidExtraction = CORE.RA.addFluidExtractionRecipe( - tempStack, - material.getFluidStack(aFluidAmount), - aDuration, - material.vVoltageMultiplier); - if (aGenFluidExtraction /* - * (mDust != null) && CORE.RA.addFluidExtractionRecipe(tempStack, - * material.getFluidStack(mFluidAmount), 30, - * material.vVoltageMultiplier) - */) { - Logger.WARNING( - "Fluid Recycle Recipe: " + material.getLocalizedName() - + " - Success - Recycle " - + tempStack.getDisplayName() - + " and obtain " - + aFluidAmount - + "mb of " - + material.getFluidStack(1) - .getLocalizedName() - + ". Time: " - + aDuration - + ", Voltage: " - + material.vVoltageMultiplier); - } else { - Logger.WARNING("Fluid Recycle Recipe: " + material.getLocalizedName() + " - Failed"); - if (mDust == null) { - Logger.WARNING("Invalid Dust output."); - } - } - } - - } catch (final Throwable t) { - t.printStackTrace(); - // Utils.LOG_WARNING("Returning Null. Throwable Info: - // "+t.getMessage()); - // Utils.LOG_WARNING("Throwable Info: "+t.toString()); - // Utils.LOG_WARNING("Throwable Info: - // "+t.getCause().toString()); - } - } - } - } - - public static Pair getDustData(final Material aMaterial, final OrePrefixes aPrefix) { - return getDustData(aMaterial, aPrefix.mMaterialAmount); - } - - public static Pair getDustData(final Material aMaterial, final long aMaterialAmount) { - ItemStack mDust = null; - OrePrefixes mPrefix = null; - - if (aMaterial == null || aMaterialAmount <= 0) { - return null; - } - if ((((aMaterialAmount % M) == 0) || (aMaterialAmount >= (M * 16)))) { - mDust = get(OrePrefixes.dust, aMaterial, aMaterialAmount / M); - mPrefix = OrePrefixes.dust; - } - if ((mDust == null) && ((((aMaterialAmount * 4) % M) == 0) || (aMaterialAmount >= (M * 8)))) { - mDust = get(OrePrefixes.dustSmall, aMaterial, (aMaterialAmount * 4) / M); - mPrefix = OrePrefixes.dustSmall; - } - if ((mDust == null) && (((aMaterialAmount * 9) >= M))) { - mDust = get(OrePrefixes.dustTiny, aMaterial, (aMaterialAmount * 9) / M); - mPrefix = OrePrefixes.dustTiny; - } - - if (mPrefix != null && mDust != null) { - Logger.WARNING("Built valid dust pair."); - return new Pair<>(mPrefix, mDust); - } else { - Logger.WARNING("mPrefix: " + (mPrefix != null)); - Logger.WARNING("mDust: " + (mDust != null)); - } - Logger.WARNING("Failed to build valid dust pair."); - return null; - } - - public static ItemStack getDust(final Material aMaterial, final OrePrefixes aPrefix) { - return aMaterial == null ? null : getDust(aMaterial, aPrefix.mMaterialAmount); - } - - public static ItemStack getDust(final Material aMaterial, final long aMaterialAmount) { - if (aMaterialAmount <= 0) { - return null; - } - ItemStack rStack = null; - if ((((aMaterialAmount % M) == 0) || (aMaterialAmount >= (M * 16)))) { - Logger.WARNING("Trying to get a Dust"); - rStack = get(OrePrefixes.dust, aMaterial, aMaterialAmount / M); - } - if ((rStack == null) && ((((aMaterialAmount * 4) % M) == 0) || (aMaterialAmount >= (M * 8)))) { - Logger.WARNING("Trying to get a Small Dust"); - rStack = get(OrePrefixes.dustSmall, aMaterial, (aMaterialAmount * 4) / M); - } - if ((rStack == null) && (((aMaterialAmount * 9) >= M))) { - Logger.WARNING("Trying to get a Tiny Dust"); - rStack = get(OrePrefixes.dustTiny, aMaterial, (aMaterialAmount * 9) / M); - } - return rStack; - } - - public static ItemStack get(final Object aName, final long aAmount) { - return get(aName, null, aAmount, true, true); - } - - public static ItemStack get(final Object aName, final ItemStack aReplacement, final long aAmount) { - return get(aName, aReplacement, aAmount, true, true); - } - - public static ItemStack get(final OrePrefixes aPrefix, final Material aMaterial, final long aAmount) { - return get(aPrefix, aMaterial, null, aAmount); - } - - public static ItemStack get(final OrePrefixes aPrefix, final Material aMaterial, final ItemStack aReplacement, - final long aAmount) { - return get( - aPrefix.name() + Utils.sanitizeString(aMaterial.getLocalizedName()), - aReplacement, - aAmount, - false, - true); - } - - public static ItemStack get(final Object aName, final ItemStack aReplacement, final long aAmount, - final boolean aMentionPossibleTypos, final boolean aNoInvalidAmounts) { - if (aNoInvalidAmounts && (aAmount < 1L)) { - Logger.WARNING("Returning Null. Method: " + ReflectionUtils.getMethodName(0)); - Logger.WARNING("Called from method: " + ReflectionUtils.getMethodName(1)); - Logger.WARNING("Called from method: " + ReflectionUtils.getMethodName(2)); - Logger.WARNING("Called from method: " + ReflectionUtils.getMethodName(3)); - Logger.WARNING("Called from method: " + ReflectionUtils.getMethodName(4)); - return null; - } - if (!mNameMap.containsKey(aName.toString()) && aMentionPossibleTypos) { - Logger.WARNING("Unknown Key for Unification, Typo? " + aName); - } - return GT_Utility.copyAmount( - aAmount, - new Object[] { mNameMap.get(aName.toString()), getFirstOre(aName, aAmount), aReplacement }); - } - - public static ItemStack getFirstOre(final Object aName, final long aAmount) { - if (GT_Utility.isStringInvalid(aName)) { - Logger.WARNING("Returning Null. Method: " + ReflectionUtils.getMethodName(0)); - Logger.WARNING("Called from method: " + ReflectionUtils.getMethodName(1)); - Logger.WARNING("Called from method: " + ReflectionUtils.getMethodName(2)); - Logger.WARNING("Called from method: " + ReflectionUtils.getMethodName(3)); - Logger.WARNING("Called from method: " + ReflectionUtils.getMethodName(4)); - return null; - } - final ItemStack tStack = mNameMap.get(aName.toString()); - if (GT_Utility.isStackValid(tStack)) { - Logger.WARNING("Found valid stack."); - return GT_Utility.copyAmount(aAmount, new Object[] { tStack }); - } - return GT_Utility.copyAmount(aAmount, getOres(aName).toArray()); - } - - public static ArrayList getOres(final Object aOreName) { - final String aName = (aOreName == null) ? "" : aOreName.toString(); - final ArrayList rList = new ArrayList<>(); - if (GT_Utility.isStringValid(aName)) { - Logger.WARNING("Making a list of all OreDict entries for " + aOreName + "."); - if (rList.addAll(OreDictionary.getOres(aName))) { - Logger.WARNING("Added " + rList.size() + " elements to list."); - } else { - Logger.WARNING("Failed to Add Collection from oreDictionary, forcing an entry."); - rList.add(ItemUtils.getItemStackOfAmountFromOreDict((String) aOreName, 1)); - } - } - return rList; - } - - @SuppressWarnings("unchecked") - public Map getNameMap() { - Map tempMap; - try { - tempMap = (Map) FieldUtils - .readStaticField(GT_OreDictUnificator.class, "sName2StackMap", true); - if (tempMap != null) { - Logger.WARNING("Found 'sName2StackMap' in GT_OreDictUnificator.class."); - return tempMap; - } - } catch (final IllegalAccessException e) { - e.printStackTrace(); - } - Logger.WARNING("Invalid map stored in GT_OreDictUnificator.class, unable to find sName2StackMap field."); - return null; - } - - public static ItemStack getItemStackOfAmountFromOreDictNoBroken(String oredictName, final int amount) { - - try { - - if (oredictName.contains("-") || oredictName.contains("_")) { - oredictName = Utils.sanitizeString(oredictName, new char[] { '-', '_' }); - } else { - oredictName = Utils.sanitizeString(oredictName); - } - - // Adds a check to grab dusts using GT methodology if possible. - ItemStack returnValue = null; - if (oredictName.toLowerCase() - .contains("dust")) { - final String MaterialName = oredictName.toLowerCase() - .replace("dust", ""); - final Materials m = Materials.get(MaterialName); - if (m != null && m != Materials._NULL) { - returnValue = ItemUtils.getGregtechDust(m, amount); - if (ItemUtils.checkForInvalidItems(returnValue)) { - return returnValue; - } - } - } - if (returnValue == null) { - returnValue = getItemStackOfAmountFromOreDict(oredictName, amount); - if (ItemUtils.checkForInvalidItems(returnValue)) { - return returnValue.copy(); - } - } - return null; - } catch (final Throwable t) { - return null; - } - } - - public static ItemStack getItemStackOfAmountFromOreDict(String oredictName, final int amount) { - String mTemp = oredictName; - - // Banned Materials and replacements for GT5.8 compat. - - if (oredictName.toLowerCase() - .contains("ingotclay")) { - return ItemUtils.getSimpleStack(Items.clay_ball, amount); - } - - final ArrayList oreDictList = OreDictionary.getOres(mTemp); - if (!oreDictList.isEmpty()) { - final ItemStack returnValue = oreDictList.get(0) - .copy(); - returnValue.stackSize = amount; - return returnValue; - } - return null; - // return getItemStackOfAmountFromOreDictNoBroken(mTemp, amount); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java deleted file mode 100644 index 3ef1740189..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java +++ /dev/null @@ -1,222 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeGen_ShapedCrafting extends RecipeGen_Base { - - public static final Set> mRecipeGenMap = new HashSet<>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_ShapedCrafting(final Material M) { - this.toGenerate = M; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate); - } - - private void generateRecipes(final Material material) { - Logger.WARNING("Generating Shaped Crafting recipes for " + material.getLocalizedName()); // TODO - - // Single Plate Shaped/Shapeless - if (ItemUtils.checkForInvalidItems(material.getPlate(1)) - && ItemUtils.checkForInvalidItems(material.getIngot(1))) - if (material.getPlate(1) != null && material.getIngot(1) != null) GT_ModHandler.addCraftingRecipe( - material.getPlate(1), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "h", "B", "I", Character.valueOf('I'), material.getIngot(1), Character.valueOf('B'), - material.getIngot(1) }); - - if (ItemUtils.checkForInvalidItems(material.getPlate(1)) - && ItemUtils.checkForInvalidItems(material.getIngot(1))) - GT_ModHandler.addShapelessCraftingRecipe( - material.getPlate(1), - new Object[] { gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, material.getIngot(1), - material.getIngot(1) }); - - // Double Plate Shaped/Shapeless - if (ItemUtils.checkForInvalidItems(material.getPlateDouble(1)) - && ItemUtils.checkForInvalidItems(material.getPlate(1))) - GT_ModHandler.addCraftingRecipe( - material.getPlateDouble(1), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "I", "B", "h", Character.valueOf('I'), material.getPlate(1), Character.valueOf('B'), - material.getPlate(1) }); - - if (ItemUtils.checkForInvalidItems(material.getPlateDouble(1)) - && ItemUtils.checkForInvalidItems(material.getPlate(1))) - GT_ModHandler.addShapelessCraftingRecipe( - material.getPlateDouble(1), - new Object[] { gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, material.getPlate(1), - material.getPlate(1) }); - - // Ring Recipe - if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getRing(1)) - && ItemUtils.checkForInvalidItems(material.getRod(1))) { - if (GT_ModHandler.addCraftingRecipe( - material.getRing(1), - GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "h ", "fR", 'R', material.getRod(1) })) { - Logger.WARNING("GT:NH Ring Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("GT:NH Ring Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Framebox Recipe - if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getFrameBox(1)) - && ItemUtils.checkForInvalidItems(material.getRod(1))) { - if (GT_ModHandler.addCraftingRecipe( - material.getFrameBox(2), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "RRR", "RwR", "RRR", 'R', material.getRod(1) })) { - Logger.WARNING("Framebox Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Framebox Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Shaped Recipe - Bolts - if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getBolt(1)) - && ItemUtils.checkForInvalidItems(material.getRod(1))) { - if (GT_ModHandler.addCraftingRecipe( - material.getBolt(2), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "s ", " R", 'R', material.getRod(1) })) { - Logger.WARNING("Bolt Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bolt Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Shaped Recipe - Fine Wire - if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getFoil(1)) - && ItemUtils.checkForInvalidItems(material.getFineWire(1))) { - if (GT_ModHandler.addCraftingRecipe( - material.getFineWire(1), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "Fx", 'F', material.getFoil(1) })) { - Logger.WARNING("Fine Wire Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Fine Wire Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Shaped Recipe - Foil - if (ItemUtils.checkForInvalidItems(material.getFoil(1)) - && ItemUtils.checkForInvalidItems(material.getPlate(1))) { - if (GT_ModHandler.addCraftingRecipe( - material.getFoil(2), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "hP", 'P', material.getPlate(1) })) { - Logger.WARNING("Foil Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Foil Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Shaped Recipe - Ingot to Rod - if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getIngot(1))) - if (GT_ModHandler.addCraftingRecipe( - material.getRod(1), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "f ", " I", 'I', material.getIngot(1) })) { - Logger.WARNING("Rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Rod Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Shaped Recipe - Long Rod to two smalls - if (ItemUtils.checkForInvalidItems(material.getRod(1)) - && ItemUtils.checkForInvalidItems(material.getLongRod(1))) - if (GT_ModHandler.addCraftingRecipe( - material.getRod(2), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "s", "L", 'L', material.getLongRod(1) })) { - Logger.WARNING("Rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Rod Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Two small to long rod - if (ItemUtils.checkForInvalidItems(material.getLongRod(1)) - && ItemUtils.checkForInvalidItems(material.getRod(1))) - if (GT_ModHandler.addCraftingRecipe( - material.getLongRod(1), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "RhR", 'R', material.getRod(1) })) { - Logger.WARNING("Long Rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Long Rod Recipe: " + material.getLocalizedName() + " - Failed"); - } - - // Rotor Recipe - if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getRotor(1)) - && ItemUtils.checkForInvalidItems(material.getRing(1)) - && !material.isRadioactive - && ItemUtils.checkForInvalidItems(material.getPlate(1)) - && ItemUtils.checkForInvalidItems(material.getScrew(1))) { - if (GT_ModHandler.addCraftingRecipe( - material.getRotor(1), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "PhP", "SRf", "PdP", 'P', material.getPlate(1), 'S', material.getScrew(1), 'R', - material.getRing(1), })) { - Logger.WARNING("Rotor Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Rotor Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Gear Recipe - if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getGear(1)) - && ItemUtils.checkForInvalidItems(material.getPlate(1)) - && ItemUtils.checkForInvalidItems(material.getRod(1))) { - if (GT_ModHandler.addCraftingRecipe( - material.getGear(1), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "RPR", "PwP", "RPR", 'P', material.getPlate(1), 'R', material.getRod(1), })) { - Logger.WARNING("Gear Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Gear Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - // Screws - if (!material.isRadioactive && ItemUtils.checkForInvalidItems(material.getScrew(1)) - && ItemUtils.checkForInvalidItems(material.getBolt(1))) { - if (GT_ModHandler.addCraftingRecipe( - material.getScrew(1), - gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS - | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "fB", "B ", 'B', material.getBolt(1), })) { - Logger.WARNING("Screw Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Screw Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java deleted file mode 100644 index aab24db6d3..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java +++ /dev/null @@ -1,13 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.misc; - -import gregtech.api.util.GT_ProcessingArray_Manager; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; - -public class AddCustomMachineToPA { - - public static void register() { - - // Simple Washers - GT_ProcessingArray_Manager.addRecipeMapToPA("simplewasher.01", GTPPRecipeMaps.simpleWasherRecipes); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_AlgaeFarm.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_AlgaeFarm.java deleted file mode 100644 index 69d79cdc4b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_AlgaeFarm.java +++ /dev/null @@ -1,192 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.recipe; - -import java.util.HashMap; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -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.WeightedCollection; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeLoader_AlgaeFarm { - - private static final HashMap> mRecipeCache = new HashMap<>(); - private static final HashMap> mRecipeCompostCache = new HashMap<>(); - - public static void generateRecipes() { - for (int i = 0; i < 10; i++) { - getTieredRecipeFromCache(i, false); - } - for (int i = 0; i < 10; i++) { - getTieredRecipeFromCache(i, true); - } - } - - public static GT_Recipe getTieredRecipeFromCache(int aTier, boolean aCompost) { - HashMap> aMap = aCompost ? mRecipeCompostCache : mRecipeCache; - String aComp = aCompost ? "(Compost)" : ""; - - AutoMap aTemp = aMap.get(aTier); - if (aTemp == null || aTemp.isEmpty()) { - aTemp = new AutoMap<>(); - aMap.put(aTier, aTemp); - Logger.INFO("Tier " + aTier + aComp + " had no recipes, initialising new map."); - } - if (aTemp.size() < 500) { - Logger - .INFO("Tier " + aTier + aComp + " has less than 500 recipes, generating " + (500 - aTemp.size()) + "."); - for (int i = aTemp.size(); i < 500; i++) { - aTemp.put(generateBaseRecipe(aCompost, aTier)); - } - } - int aIndex = MathUtils.randInt(0, aTemp.isEmpty() ? 1 : aTemp.size()); - Logger.INFO("Using recipe with index of " + aIndex + ". " + aComp); - return aTemp.get(aIndex); - } - - public static int compostForTier(int aTier) { - return aTier > 1 ? (int) Math.min(64, Math.pow(2, aTier - 1)) : 1; - } - - private static GT_Recipe generateBaseRecipe(boolean aUsingCompost, int aTier) { - - // Type Safety - if (aTier < 0) { - return null; - } - - WeightedCollection aOutputTimeMulti = new WeightedCollection<>(); - for (int i = 100; i > 0; i--) { - float aValue = 0; - if (i < 10) { - aValue = 3f; - } else if (i < 20) { - aValue = 2f; - } else { - aValue = 1f; - } - aOutputTimeMulti.put(i, aValue); - } - - final int[] aDurations = new int[] { 2000, 1800, 1600, 1400, 1200, 1000, 512, 256, 128, 64, 32, 16, 8, 4, 2, - 1 }; - - ItemStack[] aInputs = new ItemStack[] {}; - - if (aUsingCompost) { - // Make it use 4 compost per tier if we have some available - // Compost consumption maxes out at 1 stack per cycle - ItemStack aCompost = ItemUtils.getSimpleStack(AgriculturalChem.mCompost, compostForTier(aTier)); - aInputs = new ItemStack[] { aCompost }; - // Boost Tier by one if using compost so it gets a speed boost - aTier++; - } - - // We set these elsewhere - ItemStack[] aOutputs = getOutputsForTier(aTier); - - GT_Recipe tRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - (Object) null, - new int[] {}, - new FluidStack[] { GT_Values.NF }, - new FluidStack[] { GT_Values.NF }, - (int) (aDurations[aTier] * aOutputTimeMulti.get() / 2), // Time - 0, - 0); - - tRecipe.mSpecialValue = tRecipe.hashCode(); - - return tRecipe; - } - - private static ItemStack[] getOutputsForTier(int aTier) { - - // Create an Automap to dump contents into - AutoMap aOutputMap = new AutoMap<>(); - - // Add loot relevant to tier and also add any from lower tiers. - - if (aTier >= 0) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 2)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 4)); - if (MathUtils.randInt(0, 10) > 9) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 2)); - } - } - - if (aTier >= 1) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 4)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 2)); - if (MathUtils.randInt(0, 10) > 9) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 4)); - } - } - if (aTier >= 2) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 2)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 3)); - if (MathUtils.randInt(0, 10) > 9) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 8)); - } - } - if (aTier >= 3) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 4)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 1)); - if (MathUtils.randInt(0, 10) > 9) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 4)); - } - } - if (aTier >= 4) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 2)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 3)); - if (MathUtils.randInt(0, 10) > 9) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownAlgaeBiosmass, 4)); - } - } - if (aTier >= 5) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 4)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownAlgaeBiosmass, 2)); - if (MathUtils.randInt(0, 10) > 9) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mRedAlgaeBiosmass, 4)); - } - } - // Tier 6 is Highest for outputs - if (aTier >= 6) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownAlgaeBiosmass, 4)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mRedAlgaeBiosmass, 2)); - if (MathUtils.randInt(0, 10) > 9) { - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mRedAlgaeBiosmass, 8)); - } - } - - // Iterate a special loop at higher tiers to provide more Red/Gold Algae. - for (int i2 = 0; i2 < 20; i2++) { - if (aTier >= (6 + i2)) { - int aMulti = i2 + 1; - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, aMulti * 4)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, aMulti * 3)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownAlgaeBiosmass, aMulti * 2)); - aOutputMap.put(ItemUtils.getSimpleStack(AgriculturalChem.mRedAlgaeBiosmass, aMulti)); - } else { - i2 = 20; - } - } - - // Map the AutoMap contents to an Itemstack Array. - ItemStack[] aOutputs = new ItemStack[aOutputMap.size()]; - for (int i = 0; i < aOutputMap.size(); i++) { - aOutputs[i] = aOutputMap.get(i); - } - - // Return filled ItemStack Array. - return aOutputs; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java deleted file mode 100644 index dfa6d9dea6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java +++ /dev/null @@ -1,661 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.recipe; - -import static gregtech.api.enums.Mods.BartWorks; -import static gregtech.api.enums.Mods.EternalSingularity; -import static gregtech.api.enums.Mods.GalaxySpace; -import static gregtech.api.enums.Mods.GoodGenerator; -import static gregtech.api.enums.Mods.NewHorizonsCoreMod; -import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; -import static gregtech.api.util.GT_ModHandler.getModItem; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; -import com.github.technus.tectech.recipe.TT_recipeAdder; -import com.github.technus.tectech.thing.block.QuantumGlassBlock; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.MaterialsKevlar; -import gregtech.api.enums.MaterialsUEVplus; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TierEU; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gregtech.common.items.CombType; -import gregtech.loaders.misc.GT_Bees; -import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.material.Particle; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class RecipeLoader_ChemicalSkips { - - public static void generate() { - createRecipes(); - } - - private static void createRecipes() { - quantumTransformerRecipes(); - fusionReactorRecipes(); - catalystRecipes(); - tieredCasingRecipes(); - } - - // All the recipes that the QFT can do. Each recipe has a machine tier. - // -> Tier 1 is UEV (UEV circuits and 1 Eternal Singularity); - // -> Tier 2 needs new item from QFT, plus stacks of Infinity; - // -> Tier 3 needs new item from QFT, plus stacks of Transcendent Metal; - // -> Tier 4 needs new item from QFT, plus stacks of Spacetime; - // (Until they are created, the new items are represented by - // HSS-G for Tier 2, HSS-S for Tier 3 and HSS-E for Tier 4) - - private static void quantumTransformerRecipes() { - ItemStack stemcells = GT_Utility.copyAmountUnsafe(64 * 32, ItemList.Circuit_Chip_Stemcell.get(1)); - ItemStack biocells = GT_Utility.copyAmountUnsafe(64 * 32, ItemList.Circuit_Chip_Biocell.get(1)); - // Platline - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { WerkstoffLoader.PTMetallicPowder.get(OrePrefixes.dust, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] {}, - new ItemStack[] { Materials.Platinum.getDust(64), Materials.Palladium.getDust(64), - Materials.Iridium.getDust(64), Materials.Osmium.getDust(64), - WerkstoffLoader.Rhodium.get(OrePrefixes.dust, 64), - WerkstoffLoader.Ruthenium.get(OrePrefixes.dust, 64) }, - new int[] { 1667, 1667, 1667, 1667, 1667, 1667 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); - - // Early Plastics - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Carbon.getDust(64), - ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 0) }, - new FluidStack[] { Materials.Oxygen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16), - Materials.Chlorine.getGas(1000 * 16), Materials.Fluorine.getGas(1000 * 16) }, - new FluidStack[] { Materials.Plastic.getMolten(144 * 256), Materials.PolyvinylChloride.getMolten(144 * 128), - Materials.Polystyrene.getMolten(144 * 64), Materials.Polytetrafluoroethylene.getMolten(144 * 128), - Materials.Epoxid.getMolten(144 * 64), Materials.Polybenzimidazole.getMolten(144 * 64) }, - null, - new int[] { 2000, 2000, 2000, 2000, 2000, 2000 }, - 20 * 20, - (int) TierEU.RECIPE_ZPM, - 1); - - // Early Rubbers/Cable Materials - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Carbon.getDust(64), - ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 0) }, - new FluidStack[] { Materials.Oxygen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16), - Materials.Chlorine.getGas(1000 * 16) }, - new FluidStack[] { Materials.Silicone.getMolten(144 * 64), - Materials.StyreneButadieneRubber.getMolten(144 * 64), - Materials.PolyphenyleneSulfide.getMolten(144 * 128), Materials.Rubber.getMolten(144 * 256) }, - null, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_ZPM, - 1); - - // Glues and Solders - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Carbon.getDust(32), Materials.Bismuth.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 0) }, - new FluidStack[] { Materials.Oxygen.getGas(10000), Materials.Hydrogen.getGas(10000) }, - new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1000 * 32), - Materials.AdvancedGlue.getFluid(1000 * 16), ALLOY.INDALLOY_140.getFluidStack(144 * 64), - Materials.SolderingAlloy.getMolten(144 * 128) }, - new ItemStack[] { ItemList.StableAdhesive.get(1) }, - new int[] { 2000, 2000, 2000, 2000, 2000 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); - - // Titanium, Tungsten, Indium - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Lead.getDust(16), Materials.Bauxite.getDust(32), - Materials.Tungstate.getDust(16), ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] {}, - new ItemStack[] { Materials.Titanium.getDust(64), Materials.TungstenSteel.getDust(64), - Materials.TungstenCarbide.getDust(64), Materials.Indium.getDust(64) }, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); - - // Thorium, Uranium, Plutonium - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Thorium.getDust(32), Materials.Uranium.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] {}, - new ItemStack[] { ELEMENT.getInstance().THORIUM232.getDust(64), - ELEMENT.getInstance().URANIUM233.getDust(64), Materials.Uranium235.getDust(64), - ELEMENT.getInstance().PLUTONIUM238.getDust(64), Materials.Plutonium.getDust(64), - Materials.Plutonium241.getDust(64) }, - new int[] { 1667, 1667, 1667, 1667, 1667, 1667 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); - - // Monaline - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Monazite.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] {}, - new ItemStack[] { Materials.Cerium.getDust(64), Materials.Gadolinium.getDust(64), - Materials.Samarium.getDust(64), getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11002), // Hafnia - getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11007), // Zirconium - ItemList.SuperconductorComposite.get(1) }, - new int[] { 1667, 1667, 1667, 1667, 1667, 1667 }, - 20 * 20, - (int) TierEU.RECIPE_UHV, - 2); - - // Bastline - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Bastnasite.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0) }, - null, - null, - new ItemStack[] { Materials.Holmium.getDust(64), Materials.Cerium.getDust(64), - Materials.Samarium.getDust(64), Materials.Gadolinium.getDust(64), Materials.Lanthanum.getDust(64) }, - new int[] { 2000, 2000, 2000, 2000, 2000 }, - 20 * 20, - (int) TierEU.RECIPE_UHV, - 2); - - // Early Waterline skip (first 4 tiers) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 0) }, - new FluidStack[] { Materials.Water.getFluid(40000L) }, - new FluidStack[] { Materials.Grade1PurifiedWater.getFluid(20000L), - Materials.Grade2PurifiedWater.getFluid(10000L), Materials.Grade3PurifiedWater.getFluid(5000L), - Materials.Grade4PurifiedWater.getFluid(1000L) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UHV, - 2); - - // Stem Cells - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Calcium.getDust(32), Materials.MeatRaw.getDust(32), - getModItem(NewHorizonsCoreMod.ID, "GTNHBioItems", 32, 2), - ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] { Materials.GrowthMediumRaw.getFluid(1000 * 1024), - Materials.GrowthMediumSterilized.getFluid(1000 * 512) }, - new ItemStack[] { stemcells }, - new int[] { 3333, 3333, 3333 }, - 20 * 20, - (int) TierEU.RECIPE_UEV, - 3); - - // Unknown Particles - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 0) }, - new FluidStack[] { Materials.Hydrogen.getGas(10000L), Materials.Deuterium.getGas(1000L) }, - new FluidStack[] { FluidUtils.getFluidStack("plasma.hydrogen", 1000) }, - new ItemStack[] { Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.GRAVITON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.ELECTRON) }, - new int[] { 2000, 2000, 2000, 2000, 2000 }, - 5 * 20, - (int) TierEU.RECIPE_UEV, - 3); - - // Lategame Plastics (Missing Radox Polymer and Heavy Radox) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Carbon.getDust(64), Materials.Osmium.getDust(24), - ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0) }, - new FluidStack[] { Materials.Hydrogen.getGas(1000 * 16), Materials.Nitrogen.getGas(1000 * 16) }, - new FluidStack[] { FluidUtils.getFluidStack("xenoxene", 1000 * 16), - FluidUtils.getFluidStack("molten.radoxpoly", 144 * 64), - FluidUtils.getFluidStack("heavyradox", 1000 * 16), MaterialsKevlar.Kevlar.getMolten(144 * 64) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UIV, - 4); - - // Lategame Kevlar using Kevlar bee comb - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { GT_Bees.combs.getStackForType(CombType.KEVLAR, 24), Materials.Carbon.getDust(64), - ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0) }, - new FluidStack[] { Materials.Nitrogen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16) }, - new FluidStack[] { MaterialsKevlar.PolyurethaneResin.getFluid(1000 * 32), - MaterialsKevlar.LiquidCrystalKevlar.getFluid(144 * 32), MaterialsKevlar.Kevlar.getMolten(144 * 64) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UIV, - 4); - // Platline skip using Platline Combs (Palladium, Osmium, Iridium, Platinum) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { GT_Bees.combs.getStackForType(CombType.PLATINUM, 32), - GT_Bees.combs.getStackForType(CombType.PALLADIUM, 32), - GT_Bees.combs.getStackForType(CombType.OSMIUM, 32), GT_Bees.combs.getStackForType(CombType.IRIDIUM, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] { Materials.Osmium.getMolten(144 * 256), Materials.Palladium.getMolten(144 * 256), - Materials.Iridium.getMolten(144 * 256), Materials.Platinum.getMolten(144 * 256) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); - // Bio Cells and Mutated Solder - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemList.Circuit_Chip_Stemcell.get(16), Materials.InfinityCatalyst.getDust(4), - ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 128), - Materials.BioMediumSterilized.getFluid(1000 * 256), Materials.BioMediumRaw.getFluid(1000 * 512) }, - new ItemStack[] { biocells }, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UIV, - 4); - - // Advanced Waterline skip (last 4 tiers) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 0) }, - new FluidStack[] { Materials.Water.getFluid(40000L) }, - new FluidStack[] { Materials.Grade5PurifiedWater.getFluid(20000L), - Materials.Grade6PurifiedWater.getFluid(10000L), Materials.Grade7PurifiedWater.getFluid(5000L), - Materials.Grade8PurifiedWater.getFluid(1000L) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UIV, - 4); - - // Rare Particles - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 0), - GregtechItemList.Laser_Lens_Special.get(1) }, - new FluidStack[] { FluidUtils.getFluidStack("plasma.hydrogen", 30000), Materials.Helium.getPlasma(30000L), - Materials.Americium.getPlasma(30000L), - new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 30000) }, - new FluidStack[] {}, - new ItemStack[] { Particle.getBaseParticle(Particle.Z_BOSON), Particle.getBaseParticle(Particle.W_BOSON), - Particle.getBaseParticle(Particle.LAMBDA), Particle.getBaseParticle(Particle.OMEGA), - Particle.getBaseParticle(Particle.HIGGS_BOSON) }, - new int[] { 2000, 2000, 2000, 2000, 2000 }, - 200 * 20, - (int) TierEU.RECIPE_UIV, - 4); - - if (GalaxySpace.isModLoaded()) { - // Seaweed - ItemStack seaweed = GT_Utility - .copyAmountUnsafe(64 * 32, getModItem(GalaxySpace.ID, "tcetiedandelions", 1, 4)); - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { GT_OreDictUnificator.get("cropSeaweed", 64), Materials.Mytryl.getDust(16), - ItemUtils.getSimpleStack(GenericChem.mAlgagenicGrowthPromoterCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack("unknowwater", 25_000) }, - new FluidStack[] { FluidUtils.getFluidStack("seaweedbroth", 50_000), - FluidUtils.getFluidStack("iodine", 64_000) }, - new ItemStack[] { seaweed, getModItem(NewHorizonsCoreMod.ID, "item.TCetiESeaweedExtract", 16) }, - new int[] { 2_500, 2_500, 2_500, 2_500 }, - 20 * SECONDS, - (int) TierEU.RECIPE_UIV, - 4); - } - } - - private static void fusionReactorRecipes() { - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[] { Materials.Radon.getPlasma(100), Materials.Nitrogen.getPlasma(100) }, - new FluidStack[] { new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 100) }, - 30 * 20, - (int) TierEU.RECIPE_UHV, - 1_000_000_000); - - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[] { Materials.Americium.getPlasma(100), Materials.Boron.getPlasma(100) }, - new FluidStack[] { new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 100) }, - 30 * 20, - (int) TierEU.RECIPE_UHV, - 1_000_000_000); - - // MK5 versions - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[] { new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 288), - Materials.Yttrium.getMolten(288) }, - new FluidStack[] { new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 288) }, - 1 * SECONDS + 12 * TICKS, - (int) TierEU.RECIPE_UEV, - 1_000_000_000); - - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[] { new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 288), - Materials.Rubidium.getMolten(288) }, - new FluidStack[] { new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 288) }, - 1 * SECONDS + 12 * TICKS, - (int) TierEU.RECIPE_UEV, - 1_000_000_000); - } - - private static void catalystRecipes() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 88), Materials.Osmiridium.getDust(64), - Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - Materials.Polybenzimidazole.getDust(64), Materials.Polytetrafluoroethylene.getDust(64), - Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Silicone.getDust(64), - Materials.StyreneButadieneRubber.getDust(64), Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), ALLOY.INDALLOY_140.getDust(64), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getCell(64), Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UHV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.TungstenSteel.getDust(64), - Materials.Indium.getDust(64), Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UHV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - ELEMENT.getInstance().URANIUM235.getDust(64), ELEMENT.getInstance().PLUTONIUM241.getDust(64), - Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UHV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Samarium.getDust(64), - Materials.Gadolinium.getDust(64), Materials.Silver.getNanite(1) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216), - ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - WerkstoffLoader.Hedenbergit.get(OrePrefixes.lens, 1), - GT_OreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 1, false), - ItemList.Circuit_Silicon_Wafer6.get(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216), - ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Naquadah.getDust(64), - Materials.Adamantium.getDust(64), Materials.Silver.getNanite(1) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216), - ItemUtils.getSimpleStack(GenericChem.mSimpleNaquadahCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Naquadria.getDust(64), - Materials.Trinium.getDust(64), Materials.Gold.getNanite(1) }, - MaterialsUEVplus.SpaceTime.getMolten(9216L), - ItemUtils.getSimpleStack(GenericChem.mAdvancedNaquadahCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UIV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), ItemList.Circuit_Chip_Stemcell.get(64), - Materials.Gold.getNanite(1) }, - MaterialsUEVplus.SpaceTime.getMolten(9216L), - ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UIV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - GregtechItemList.Laser_Lens_Special.get(64), - GT_ModHandler.getModItem(EternalSingularity.ID, "eternal_singularity", 10) }, - MaterialsUEVplus.SpaceTime.getMolten(9216L), - ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UIV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), MaterialsKevlar.Kevlar.getDust(64), - MaterialsUEVplus.TranscendentMetal.getNanite(1) }, - FluidUtils.getFluidStack("molten.shirabon", 92160), - ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UMV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), ItemList.Circuit_Chip_Biocell.get(64), - MaterialsUEVplus.TranscendentMetal.getNanite(1) }, - FluidUtils.getFluidStack("molten.shirabon", 92160), - ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UMV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - WerkstoffLoader.Hedenbergit.get(OrePrefixes.lens, 64), - GT_OreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 64, false), - ItemList.Circuit_Silicon_Wafer6.get(64) }, - FluidUtils.getFluidStack("molten.shirabon", 92160), - ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UMV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - Particle.getBaseParticle(Particle.HIGGS_BOSON), Particle.getIon("Helium", 0), - Particle.getIon("Hydrogen", 0), MaterialsUEVplus.Eternity.getNanite(16) }, - FluidUtils.getFluidStack("molten.shirabon", 92160), - ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UMV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - GT_OreDictUnificator.get("blockShirabon", 16), MaterialsUEVplus.Universium.getNanite(1), - ItemList.Timepiece.get(1) }, - Materials.DarkIron.getMolten(92160), - ItemUtils.getSimpleStack(GenericChem.TemporalHarmonyCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UXV); - - GT_Values.RA.stdBuilder() - .itemInputs( - CI.getNumberedCircuit(10), - CI.getEmptyCatalyst(1), - getModItem(NewHorizonsCoreMod.ID, "item.TCetiESeaweedExtract", 64), - GT_OreDictUnificator.get("dustIodine", 64), - MaterialsUEVplus.TranscendentMetal.getNanite(1)) - .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mAlgagenicGrowthPromoterCatalyst, 1)) - .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92_160)) - .duration(60 * SECONDS) - .eut(TierEU.RECIPE_UMV) - .addTo(assemblerRecipes); - } - - private static void tieredCasingRecipes() { - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.ForceFieldGlass.get(1), - 1024 * 30 * 20, - 1024, - (int) TierEU.RECIPE_ZPM, - 32, - new ItemStack[] { GregtechItemList.ForceFieldGlass.get(1), Materials.Carbon.getNanite(4), - ItemList.Emitter_UV.get(4), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 8), - GregtechItemList.Laser_Lens_Special.get(1), - getModItem(GoodGenerator.ID, "advancedRadiationProtectionPlate", 2) }, - new FluidStack[] { Materials.Thulium.getMolten(144 * 10), MaterialsUEVplus.ExcitedDTCC.getFluid(5000), - new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 500), - new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 500) }, - GregtechItemList.NeutronPulseManipulator.get(1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.NeutronPulseManipulator.get(1), - 2048 * 30 * 20, - 2048, - (int) TierEU.RECIPE_UV, - 32, - new ItemStack[] { GregtechItemList.ForceFieldGlass.get(2), Materials.Carbon.getNanite(8), - ItemList.Emitter_UEV.get(4), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 8), - GregtechItemList.Laser_Lens_Special.get(1), - getModItem(GoodGenerator.ID, "advancedRadiationProtectionPlate", 4), ItemList.StableAdhesive.get(4) }, - new FluidStack[] { Materials.Thulium.getMolten(144 * 12), MaterialsUEVplus.ExcitedDTPC.getFluid(5000), - new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 2500), - new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 2500) }, - GregtechItemList.CosmicFabricManipulator.get(1), - 75 * 20, - (int) TierEU.RECIPE_UIV); - - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.CosmicFabricManipulator.get(1), - 4096 * 30 * 20, - 4096, - (int) TierEU.RECIPE_ZPM, - 32, - new ItemStack[] { GregtechItemList.ForceFieldGlass.get(4), Materials.Carbon.getNanite(16), - ItemList.Emitter_UIV.get(4), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUIV, 8), - GregtechItemList.Laser_Lens_Special.get(1), - getModItem(GoodGenerator.ID, "advancedRadiationProtectionPlate", 8), - ItemList.SuperconductorComposite.get(4) }, - new FluidStack[] { Materials.Thulium.getMolten(144 * 15), MaterialsUEVplus.ExcitedDTRC.getFluid(5000), - new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 1000 * 10), - new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 1000 * 10) }, - GregtechItemList.InfinityInfusedManipulator.get(1), - 90 * 20, - (int) TierEU.RECIPE_UMV); - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.InfinityInfusedManipulator.get(1), - 1024 * 30 * 20, - 1024, - (int) TierEU.RECIPE_ZPM, - 32, - new ItemStack[] { GregtechItemList.ForceFieldGlass.get(8), Materials.Carbon.getNanite(32), - ItemList.Emitter_UMV.get(4), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 8), - GregtechItemList.Laser_Lens_Special.get(1), - getModItem(GoodGenerator.ID, "advancedRadiationProtectionPlate", 16), - ItemList.NaquadriaSupersolid.get(4) }, - new FluidStack[] { Materials.Thulium.getMolten(144 * 20), MaterialsUEVplus.ExcitedDTEC.getFluid(5000), - new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 2000 * 10), - new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 2000 * 10) }, - GregtechItemList.SpaceTimeContinuumRipper.get(1), - 60 * 20, - (int) TierEU.RECIPE_UXV); - - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_AdvancedRadiationProof.get(1), - 1024 * 30 * 20, - 1024, - (int) TierEU.RECIPE_ZPM, - 32, - new ItemStack[] { ALLOY.QUANTUM.getFrameBox(1), - GT_OreDictUnificator.get("plateDensePreciousMetalsAlloy", 4), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 16), - ItemList.Field_Generator_UV.get(1), ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getScrew(16) }, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 10), }, - GregtechItemList.NeutronShieldingCore.get(1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.NeutronShieldingCore.get(1), - 2048 * 30 * 20, - 2048, - (int) TierEU.RECIPE_UV, - 32, - new ItemStack[] { ALLOY.QUANTUM.getFrameBox(2), - GT_OreDictUnificator.get("plateDenseEnrichedNaquadahAlloy", 4), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16), - ItemList.Field_Generator_UEV.get(1), - // Radox polymer screw. - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.get("RadoxPoly"), 16), - ItemList.StableAdhesive.get(4) }, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 20), }, - GregtechItemList.CosmicFabricShieldingCore.get(1), - 75 * 20, - (int) TierEU.RECIPE_UIV); - - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.CosmicFabricShieldingCore.get(1), - 4096 * 30 * 20, - 4096, - (int) TierEU.RECIPE_UHV, - 32, - new ItemStack[] { ALLOY.QUANTUM.getFrameBox(4), ELEMENT.STANDALONE.HYPOGEN.getPlateDense(4), - GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.TranscendentMetal, 16), - ItemList.Field_Generator_UIV.get(1), GT_OreDictUnificator.get("screwMetastableOganesson", 16), - ItemList.SuperconductorComposite.get(4) }, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 40), }, - GregtechItemList.InfinityInfusedShieldingCore.get(1), - 90 * 20, - (int) TierEU.RECIPE_UMV); - - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.InfinityInfusedShieldingCore.get(1), - 8192 * 30 * 20, - 8192, - (int) TierEU.RECIPE_UEV, - 32, - new ItemStack[] { ALLOY.QUANTUM.getFrameBox(8), GT_OreDictUnificator.get("plateDenseShirabon", 4), - GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SpaceTime, 16), - ItemList.Field_Generator_UMV.get(1), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Dilithium, 16), - ItemList.NaquadriaSupersolid.get(4) }, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 80), }, - GregtechItemList.SpaceTimeBendingCore.get(1), - 120 * 20, - (int) TierEU.RECIPE_UXV); - - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { new ItemStack(QuantumGlassBlock.INSTANCE, 1), ItemList.Field_Generator_ZPM.get(1), - ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getLongRod(6), ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getPlate(6) }, - ALLOY.QUANTUM.getFluidStack(144 * 6), - GregtechItemList.ForceFieldGlass.get(1), - 10 * 20, - (int) TierEU.RECIPE_UEV); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java deleted file mode 100644 index 4aa13a0072..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java +++ /dev/null @@ -1,45 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.recipe; - -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gtPlusPlus.core.material.ELEMENT; - -public class RecipeLoader_GTNH { - - public static void generate() { - GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ball.get(0L), - new FluidStack(FluidRegistry.getFluid("ender"), 250), - new ItemStack(Items.ender_pearl, 1, 0), - 100, - 30); - // MK4 - GT_Values.RA.addFusionReactorRecipe( - Materials.Plutonium241.getMolten(144), - Materials.Helium.getGas(1000), - ELEMENT.getInstance().CURIUM.getFluidStack(144), - 96, - 98304, - 500000000); - GT_Values.RA.addFusionReactorRecipe( - ELEMENT.getInstance().CURIUM.getFluidStack(144), - Materials.Helium.getPlasma(144), - ELEMENT.getInstance().CALIFORNIUM.getFluidStack(144), - 128, - 196608, - 750000000); - GT_Values.RA.addFusionReactorRecipe( - Materials.Plutonium241.getMolten(144), - Materials.Calcium.getPlasma(144), - Materials.Flerovium.getMolten(144), - 160, - 196608, - 1000000000); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java deleted file mode 100644 index a954711fd2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java +++ /dev/null @@ -1,395 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.recipe; - -import static gregtech.api.enums.Mods.BartWorks; -import static gregtech.api.enums.Mods.GalacticraftCore; -import static gregtech.api.enums.Mods.NewHorizonsCoreMod; -import static gregtech.api.enums.Mods.TecTech; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; - -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -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.TierEU; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.plugin.agrichem.BioRecipes; - -public class RecipeLoader_GlueLine { - - public static void generate() { - createRecipes(); - } - - private static void createRecipes() { - chemicalPlantRecipes(); - chemicalReactorRecipes(); - dehydratorRecipes(); - distillationTowerRecipes(); - fluidHeaterRecipes(); - mixerRecipes(); - - glueUsageRecipes(); - } - - private static void chemicalPlantRecipes() { - // CO + C3H6O2 = C4H6O3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), ItemUtils.getSimpleStack(GenericChem.mBlueCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack("carbonmonoxide", 1000), - FluidUtils.getFluidStack("methylacetate", 1000), }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000) }, - 10 * 20, - 500, - 3); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(18) }, - new FluidStack[] { FluidUtils.getFluidStack("aceticacid", 1000), FluidUtils.getFluidStack("chlorine", 1000), - MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000), - MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(950) }, - 150 * 20, - 1000, - 4); - - // Na2CO3 + NaCN + C2H3O2Cl + 2HCl = C3H3NO2 + 3NaCl + CO2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(19), ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6), - MISC_MATERIALS.SODIUM_CYANIDE.getDust(3) }, - new FluidStack[] { MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(1000), - FluidUtils.getFluidStack("hydrochloricacid_gt5u", 2000) }, - new ItemStack[] { MISC_MATERIALS.CYANOACETIC_ACID.getDust(9), Materials.Salt.getDust(6) }, - new FluidStack[] { Materials.CarbonDioxide.getGas(1000), GT_ModHandler.getWater(1000) }, - 20 * 20, - 1000, - 4); - - // CuSO4 + 5C3H3NO2 + 5C2H6O = CuSO4·5(H2O) + 5C5H7NO2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0), - MISC_MATERIALS.COPPER_SULFATE.getDust(6), MISC_MATERIALS.CYANOACETIC_ACID.getDust(45) }, - new FluidStack[] { Materials.Ethanol.getFluid(5000) }, - new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11) }, - new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(5000) }, - 500 * 20, - 6000, - 5); - - // C3H3NO2 + C2H6O = C5H7NO2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(21), MISC_MATERIALS.CYANOACETIC_ACID.getDust(9) }, - new FluidStack[] { Materials.Ethanol.getFluid(1000) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(1000) }, - 1000 * 20, - 6000, - 5); - - BioRecipes.mFormaldehyde = FluidUtils.getFluidStack("fluid.formaldehyde", 1) - .getFluid(); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(22), ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0) }, - new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(100), - FluidUtils.getFluidStack(BioRecipes.mFormaldehyde, 100) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100), FluidUtils.getWater(1000) }, - 10 * 20, - 8000, - 5); - - // CH4 + NH3 + 3O = HCN + 3H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(23), ItemUtils.getSimpleStack(GenericChem.mPinkCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack("methane", 2000), FluidUtils.getFluidStack("ammonia", 2000), - FluidUtils.getFluidStack("oxygen", 6000) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(2000), FluidUtils.getWater(6000) }, - 10 * 20, - 500, - 3); - } - - private static void chemicalReactorRecipes() { - // NaOH + HCN = NaCN + H2O - GT_Values.RA.addChemicalRecipe( - CI.getNumberedCircuit(17), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3), - MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000), - FluidUtils.getWater(1000), - MISC_MATERIALS.SODIUM_CYANIDE.getDust(3), - 10 * 20); - // #addChemicalRecipe won't generate LCR recipe if config >= 10 - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3) }, - new FluidStack[] { MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000) }, - new FluidStack[] { FluidUtils.getWater(1000) }, - new ItemStack[] { MISC_MATERIALS.SODIUM_CYANIDE.getDust(3) }, - 10 * 20, - 30); - - // CaCO3 + 2HCl = CaCl2 + CO2 + H2O - if (BartWorks.isModLoaded()) { - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 5), - GT_Utility.getIntegratedCircuit(8)) - .itemOutputs(ItemUtils.getItemStackFromFQRN("bartworks:gt.bwMetaGenerateddust:63", 3)) - .fluidInputs(Materials.HydrochloricAcid.getFluid(2000L)) - .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(UniversalChemical); - } else { - GT_Values.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 5), - GT_Utility.getIntegratedCircuit(8)) - .itemOutputs(MISC_MATERIALS.CALCIUM_CHLORIDE.getDust(3)) - .fluidInputs(Materials.HydrochloricAcid.getFluid(2000L)) - .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(UniversalChemical); - } - - // Cu + 2H2SO4 = CuSO4 + SO2 + 2H2O - // SO2 + 2H2O -> diluted sulfuric acid - GT_Values.RA.addChemicalRecipe( - CI.getNumberedCircuit(19), - ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1), - FluidUtils.getFluidStack("sulfuricacid", 2000), - FluidUtils.getFluidStack("dilutedsulfuricacid", 1000), - MISC_MATERIALS.COPPER_SULFATE.getDust(6), - 5 * 20); - // #addChemicalRecipe won't generate LCR recipe if config >= 10 - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { CI.getNumberedCircuit(19), ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1) }, - new FluidStack[] { FluidUtils.getFluidStack("sulfuricacid", 2000) }, - new FluidStack[] { FluidUtils.getFluidStack("dilutedsulfuricacid", 1000) }, - new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE.getDust(6) }, - 5 * 20, - 30); - } - - private static void dehydratorRecipes() { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11), }, - null, - GT_ModHandler.getWater(5000), - new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE.getDust(6) }, - new int[] { 10000, 10000, 10000 }, - 300 * 20, - 10); - } - - private static void distillationTowerRecipes() { - GT_Values.RA.addDistillationTowerRecipe( - MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000), - new FluidStack[] { MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(100), - MISC_MATERIALS.DICHLOROACETIC_ACID.getFluidStack(450), - MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(450) }, - null, - 4 * 20, - MaterialUtils.getVoltageForTier(5)); - } - - private static void fluidHeaterRecipes() { - - CORE.RA.addFluidHeaterRecipe( - CI.getNumberedCircuit(16), - MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - 30 * 30, - 500); - } - - private static void mixerRecipes() { - GT_Values.RA.addMixerRecipe( - CI.getNumberedCircuit(1), - MISC_MATERIALS.DICHLOROACETIC_ACID.getCell(1), - null, - null, - MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(1000), - MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(2000), - CI.emptyCells(1), - 100, - 100); - - GT_Values.RA.addMixerRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1), - CI.getNumberedCircuit(2), - null, - null, - FluidUtils.getFluidStack("sulfuricacid", 1000), - MISC_MATERIALS.SOLID_ACID_MIXTURE.getFluidStack(1000), - CI.emptyCells(1), - 100, - 40); - } - - private static void glueUsageRecipes() { - // Braintech Tape recipe, PBI and superglue make 16 tape at once - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Polybenzimidazole, 1L), - GT_ModHandler.getIC2Item("carbonMesh", 1L), CI.getNumberedCircuit(10) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - ItemList.Duct_Tape.get(16L), - 120, - 30); - - // Maintenance Hatch recipe, using Braintech Tape - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LV.get(1), ItemList.Duct_Tape.get(1), CI.getNumberedCircuit(1) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - ItemList.Hatch_Maintenance.get(1), - 120, - 30); - - // Graphene recipes from later wafer tiers, using superglue instead of the bronze age glue - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64), - ItemList.Circuit_Silicon_Wafer4.get(2L), CI.getNumberedCircuit(2) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(500), - ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64), - 400, - 30720); - - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64), - ItemList.Circuit_Silicon_Wafer5.get(1L), CI.getNumberedCircuit(2) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(250), - ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64), - 80, - 122880); - - GT_Values.RA.addMixerRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4L), - GT_Values.NI, - GT_Values.NI, - GT_Utility.getIntegratedCircuit(1), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - null, - ItemList.SFMixture.get(32), - 1600, - 16); - - GT_Values.RA.addMixerRecipe( - ItemList.GelledToluene.get(1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Polybenzimidazole, 1L), - GT_Values.NI, - GT_Values.NI, - GT_Utility.getIntegratedCircuit(1), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - null, - ItemList.SFMixture.get(64), - 1600, - 16); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 32), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(200), - new ItemStack(Items.book, 64, 0), - 32, - 8); - - if (TecTech.isModLoaded()) { - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 18), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(144), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32505", 1), - 300, - 7680); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 6), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(288), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32506", 1), - 200, - 30720); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.ElectrumFlux, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 18), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32507", 1), - 300, - 122880); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.ElectrumFlux, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 24), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1152), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32561", 1), - 100, - 491520); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.ElectrumFlux, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahEnriched, 36), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(2304), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32562", 1), - 200, - 1966080); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.ElectrumFlux, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 48), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(4608), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32563", 1), - 300, - 1966080); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 56), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(9216), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32564", 1), - 600, - 1966080); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DraconiumAwakened, 64), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(18432), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32565", 1), - 1200, - 1966080); - } - if (NewHorizonsCoreMod.isModLoaded() && GalacticraftCore.isModLoaded()) { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemUtils.getItemStackFromFQRN("GalacticraftMars:item.itemBasicAsteroids:7", 1), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Titanium, 8), - ItemUtils.getItemStackFromFQRN("dreamcraft:item.TungstenString", 8), CI.getNumberedCircuit(1) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576), - ItemUtils.getItemStackFromFQRN("GalaxySpace:item.ThermalClothT2", 1), - 600, - 1024); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java deleted file mode 100644 index 81fde457ae..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java +++ /dev/null @@ -1,135 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.recipe; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.Materials; -import gregtech.api.util.GasSpargingRecipeMap; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.nuclear.FLUORIDES; -import gtPlusPlus.core.material.nuclear.NUCLIDE; - -public class RecipeLoader_LFTR { - - private static AutoMap mNobleGases; - private static AutoMap mFluorideGases; - private static AutoMap mSpargeGases; - - private static void configureSparging() { - if (mSpargeGases == null) { - mSpargeGases = new AutoMap<>(); - mSpargeGases.add( - Materials.Helium.getGas(1) - .getFluid()); - mSpargeGases.add( - Materials.Fluorine.getGas(1) - .getFluid()); - } - if (mNobleGases == null) { - mNobleGases = new AutoMap<>(); - mNobleGases.add(mSpargeGases.get(0)); - mNobleGases.add(ELEMENT.getInstance().XENON.getFluid()); - mNobleGases.add(ELEMENT.getInstance().NEON.getFluid()); - mNobleGases.add(ELEMENT.getInstance().ARGON.getFluid()); - mNobleGases.add(ELEMENT.getInstance().KRYPTON.getFluid()); - mNobleGases.add(ELEMENT.getInstance().RADON.getFluid()); - } - if (mFluorideGases == null) { - mFluorideGases = new AutoMap<>(); - mFluorideGases.add(mSpargeGases.get(1)); - mFluorideGases.add(FLUORIDES.LITHIUM_FLUORIDE.getFluid()); - mFluorideGases.add(FLUORIDES.NEPTUNIUM_HEXAFLUORIDE.getFluid()); - mFluorideGases.add(FLUORIDES.TECHNETIUM_HEXAFLUORIDE.getFluid()); - mFluorideGases.add(FLUORIDES.SELENIUM_HEXAFLUORIDE.getFluid()); - mFluorideGases.add(FLUORIDES.THORIUM_TETRAFLUORIDE.getFluid()); - } - } - - public static void generate() { - // Fli2BeF4 + Thorium TetraFluoride = Uranium233 - // 72k Ticks/hr - // 1l/4t = 1000l/hr - // 1l/40t = 1000l/10hr (Probably better) LiFBeF2ThF4UF4 - // 1l/20t= 1000l/2.5hr LiFBeF2ZrF4UF4 - // 1l/10t= 1000l/2.5hr LiFBeF2ZrF4U235 - - configureSparging(); - FluidStack Li2BeF4 = NUCLIDE.Li2BeF4.getFluidStack(200); - - // LiFBeF2ThF4UF4 - T3 - GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( - false, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] { 10000, 10000, 5000, 2500 }, - new FluidStack[] { NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(100), Li2BeF4 }, - new FluidStack[] { NUCLIDE.LiFBeF2UF4FP.getFluidStack(100), NUCLIDE.LiFBeF2ThF4.getFluidStack(200), - FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(20), FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10) }, - 100 * 20, // time - 0, // cost - 32768 * 4 // fuel value - ); - - // LiFBeF2ZrF4UF4 - T2 - GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( - false, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] { 10000, 10000, 2500, 1250 }, - new FluidStack[] { NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(100), Li2BeF4 }, - new FluidStack[] { NUCLIDE.LiFBeF2UF4FP.getFluidStack(50), NUCLIDE.LiFBeF2ThF4.getFluidStack(100), - FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10), FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(5) }, - 100 * 20, // time - 0, // cost - 8192 * 4 // fuel value - ); - - // LiFBeF2ZrF4U235 - T1 - GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( - false, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] { 10000, 10000, 1000, 500 }, - new FluidStack[] { NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(100), Li2BeF4 }, - new FluidStack[] { NUCLIDE.LiFBeF2UF4FP.getFluidStack(25), NUCLIDE.LiFThF4.getFluidStack(50), - FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(4), FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(2) }, - 100 * 20, // time - 0, // cost - 8192 // fuel value - ); - - // Sparging NEI Recipes - GasSpargingRecipeMap.addRecipe( - new FluidStack(mSpargeGases.get(0), 1000), - NUCLIDE.LiFBeF2UF4FP.getFluidStack(50), - NUCLIDE.Sparged_LiFBeF2UF4FP.getFluidStack(50), - new FluidStack[] { new FluidStack(mNobleGases.get(1), 10), new FluidStack(mNobleGases.get(2), 10), - new FluidStack(mNobleGases.get(3), 10), new FluidStack(mNobleGases.get(4), 10), - new FluidStack(mNobleGases.get(5), 10) }, - new int[] { 20000, 20000, 20000, 20000, 20000 }); - - GasSpargingRecipeMap.addRecipe( - new FluidStack(mSpargeGases.get(1), 100), - NUCLIDE.LiFThF4.getFluidStack(50), - NUCLIDE.Sparged_LiFThF4.getFluidStack(50), - new FluidStack[] { new FluidStack(mFluorideGases.get(1), 5), new FluidStack(mFluorideGases.get(2), 5), - new FluidStack(mFluorideGases.get(3), 5), new FluidStack(mFluorideGases.get(4), 5), - new FluidStack(mFluorideGases.get(5), 5) }, - new int[] { 1000, 1000, 1000, 1000, 1000 }); - - GasSpargingRecipeMap.addRecipe( - new FluidStack(mSpargeGases.get(1), 100), - NUCLIDE.LiFBeF2ThF4.getFluidStack(50), - NUCLIDE.Sparged_LiFBeF2ThF4.getFluidStack(50), - new FluidStack[] { new FluidStack(mFluorideGases.get(1), 10), new FluidStack(mFluorideGases.get(2), 10), - new FluidStack(mFluorideGases.get(3), 10), new FluidStack(mFluorideGases.get(4), 10), - new FluidStack(mFluorideGases.get(5), 10) }, - new int[] { 2000, 2000, 2000, 2000, 2000 }); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java deleted file mode 100644 index cd576dbc8d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java +++ /dev/null @@ -1,78 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.recipe; - -import static advsolar.utils.MTRecipeManager.transformerRecipes; -import static gregtech.api.enums.Mods.AdvancedSolarPanel; -import static gregtech.api.enums.Mods.GalaxySpace; - -import advsolar.utils.MTRecipeRecord; -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.lib.CORE; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public class RecipeLoader_MolecularTransformer { - - public static void run() { - - for (MTRecipeRecord aRecipe : transformerRecipes) { - int aEU = MaterialUtils.getVoltageForTier(5); - Logger.INFO("======================="); - Logger.INFO("Generating GT recipe for Molecular Transformer."); - Logger.INFO( - "Input: " + aRecipe.inputStack - .getDisplayName() + ", Output: " + aRecipe.outputStack.getDisplayName() + ", EU/t: " + aEU); - float aTicks = (float) aRecipe.energyPerOperation / (float) aEU; - Logger.INFO("Ticks: " + aTicks); - int aTicksRoundedUp = MathUtils.roundToClosestInt(Math.ceil(aTicks)); - Logger.INFO("Ticks: " + aTicksRoundedUp); - Logger.INFO("Total EU equal or greater? " + ((aTicksRoundedUp * aEU) >= aRecipe.energyPerOperation)); - CORE.RA.addMolecularTransformerRecipe(aRecipe.inputStack, aRecipe.outputStack, aTicksRoundedUp, aEU, 2); - Logger.INFO("======================="); - } - - transformerRecipes.clear(); - if (AdvancedSolarPanel.isModLoaded() && GalaxySpace.isModLoaded()) { - - CORE.RA.addMolecularTransformerRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 600, - 1920, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 0), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 150, - 7680, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 1), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 38, - 30720, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 2), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 10, - 122880, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 3), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 3, - 491520, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 4), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 1, - 1996080, - 2); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java deleted file mode 100644 index a25ed99dd2..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java +++ /dev/null @@ -1,680 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.recipe; - -import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; -import static gregtech.api.recipe.RecipeMaps.fusionRecipes; -import static gregtech.api.util.GT_RecipeBuilder.MINUTES; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; -import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; -import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -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.TierEU; -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.item.chemistry.GenericChem; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.core.material.nuclear.FLUORIDES; -import gtPlusPlus.core.material.nuclear.NUCLIDE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class RecipeLoader_Nuclear { - - public static void generate() { - createRecipes(); - RecipeLoader_LFTR.generate(); - RecipeLoader_NuclearFuelProcessing.generate(); - } - - private static void createRecipes() { - autoclave(); - blastFurnace(); - centrifugeRecipes(); - chemicalBathRecipes(); - chemicalReactorRecipes(); - dehydratorRecipes(); - electroMagneticSeperator(); - fluidExtractorRecipes(); - fluidHeater(); - fusionChainRecipes(); - macerator(); - mixerRecipes(); - sifter(); - } - - private static void autoclave() { - - 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 blastFurnace() { - - GT_Values.RA.addBlastRecipe( - FLUORIDES.LITHIUM_FLUORIDE.getDust(2), - FLUORIDES.BERYLLIUM_FLUORIDE.getDust(1), - GT_Values.NF, - GT_Values.NF, - NUCLIDE.Li2BeF4.getDust(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 centrifugeRecipes() { - - // Process Used Fuel Rods for Krypton - - // Uranium - for (ItemStack depletedRod : new ItemStack[] { - ItemUtils.getItemStackFromFQRN("IC2:reactorUraniumSimpledepleted", 8), - ItemUtils.getItemStackFromFQRN("IC2:reactorUraniumDualdepleted", 4), - ItemUtils.getItemStackFromFQRN("IC2:reactorUraniumQuaddepleted", 2) }) { - GT_Values.RA.stdBuilder() - .itemInputs(depletedRod, GT_Utility.getIntegratedCircuit(20)) - .itemOutputs( - ItemList.IC2_Fuel_Rod_Empty.get(8), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium, 2L), - ELEMENT.getInstance().URANIUM232.getSmallDust(1), - ELEMENT.getInstance().URANIUM233.getSmallDust(1), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Uranium235, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plutonium, 1L)) - .outputChances(10000, 10000, 1000, 1000, 1000, 500) - .fluidOutputs(FluidUtils.getFluidStack("krypton", 60)) - .duration(4 * MINUTES + 10 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(centrifugeRecipes); - } - - // Mox - for (ItemStack depletedRod : new ItemStack[] { - ItemUtils.getItemStackFromFQRN("IC2:reactorMOXSimpledepleted", 8), - ItemUtils.getItemStackFromFQRN("IC2:reactorMOXDualdepleted", 4), - ItemUtils.getItemStackFromFQRN("IC2:reactorMOXQuaddepleted", 2) }) { - GT_Values.RA.stdBuilder() - .itemInputs(depletedRod, GT_Utility.getIntegratedCircuit(20)) - .itemOutputs( - ItemList.IC2_Fuel_Rod_Empty.get(8), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plutonium, 2L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plutonium241, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plutonium, 1L), - ELEMENT.getInstance().PLUTONIUM238.getTinyDust(1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plutonium, 1L)) - .outputChances(10000, 10000, 500, 500, 500, 500) - .fluidOutputs(FluidUtils.getFluidStack("krypton", 90)) - .duration(6 * MINUTES + 15 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(centrifugeRecipes); - } - - // Thorium - for (ItemStack depletedRod : new ItemStack[] { ItemList.Depleted_Thorium_1.get(8), - ItemList.Depleted_Thorium_2.get(4), ItemList.Depleted_Thorium_4.get(2) }) { - GT_Values.RA.stdBuilder() - .itemInputs(depletedRod, GT_Utility.getIntegratedCircuit(20)) - .itemOutputs( - ItemList.IC2_Fuel_Rod_Empty.get(8), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 2L), - ELEMENT.getInstance().THORIUM232.getDust(1), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lutetium, 1L), - ELEMENT.getInstance().POLONIUM.getSmallDust(1), - ELEMENT.getInstance().THALLIUM.getTinyDust(1)) - .outputChances(10000, 10000, 5000, 5000, 5000, 2500) - .fluidOutputs(FluidUtils.getFluidStack("krypton", 30)) - .duration(2 * MINUTES + 5 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(centrifugeRecipes); - } - } - - private static void chemicalBathRecipes() { - - int[] chances = { 9000, 6000, 3000 }; - GT_Values.RA.addChemicalBathRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 12), - FluidUtils.getFluidStack("chlorine", 2400), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 4), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 5), - chances, - 30 * 20, - 480); - - chances = new int[] { 9000, 3000, 1000 }; - GT_Values.RA.addChemicalBathRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustRutile", 5), - FluidUtils.getFluidStack("chlorine", 4000), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3), - ItemUtils.getItemStackOfAmountFromOreDict("dustTitanium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1), - chances, - 30 * 20, - 1024); - - GT_Values.RA.addChemicalBathRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 10), - FluidUtils.getFluidStack("hydrofluoricacid", 10 * 144), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 10), - null, - null, - new int[] {}, - 90 * 20, - 500); - } - - private static void chemicalReactorRecipes() { - - ItemStack aGtHydrofluoricAcid = ItemUtils - .getItemStackOfAmountFromOreDictNoBroken("cellHydrofluoricAcid_GT5U", 2); - - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 5), // Input - ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), // Input - null, // Fluid Input - null, // Fluid Output - ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 10), - 600 * 20); - - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 5), // Input - null, // Input Stack 2 - FluidUtils.getFluidStack("hydrofluoricacid", 5 * 144), - FluidUtils.getFluidStack("water", 5 * 144), // Fluid Output - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5), - 600 * 20); - - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16), - FluidUtils.getFluidStack("water", 1000), - FluidUtils.getFluidStack("lithiumhydroxide", 2000 + 144 * 4), - CI.emptyCells(1), - 300 * 20); - - // LFTR Fuel Related Compounds - // Hydroxide - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - ELEMENT.getInstance().OXYGEN.getCell(1), - ELEMENT.getInstance().HYDROGEN.getFluidStack(1000), - MISC_MATERIALS.HYDROXIDE.getFluidStack(1000), - CI.emptyCells(1), - GT_Values.NI, - 8 * 20, - 30); - // Beryllium Hydroxide - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - ELEMENT.getInstance().BERYLLIUM.getDust(7), - MISC_MATERIALS.HYDROXIDE.getFluidStack(1000), - FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(2000), - GT_Values.NI, - 8 * 20, - 30); - // Ammonium Bifluoride - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1), - MISC_MATERIALS.AMMONIUM.getFluidStack(1000), - FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(2000), - CI.emptyCells(1), - 20 * 20, - 30); - if (aGtHydrofluoricAcid != null) { - // Ammonium Bifluoride - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - aGtHydrofluoricAcid, - MISC_MATERIALS.AMMONIUM.getFluidStack(1000), - FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(2000), - CI.emptyCells(2), - 40 * 20, - 30); - } - // Ammonium - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - ELEMENT.getInstance().HYDROGEN.getCell(1), - MISC_MATERIALS.AMMONIA.getFluidStack(1000), - MISC_MATERIALS.AMMONIUM.getFluidStack(2000), - CI.emptyCells(1), - GT_Values.NI, - 20 * 20, - 30); - - // Sodium Hydroxide - GT_Values.RA.addChemicalRecipe( - CI.getNumberedBioCircuit(15), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 1), - FluidUtils.getFluidStack("hydrofluoricacid", 500), - FluidUtils.getWater(1000), - FLUORIDES.SODIUM_FLUORIDE.getDust(1), - 60 * 20); - - if (FluidUtils.doesFluidExist("hydrofluoricacid_gt5u")) { - GT_Values.RA.addChemicalRecipe( - CI.getNumberedBioCircuit(15), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 1), - FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1000), - FluidUtils.getWater(1000), - FLUORIDES.SODIUM_FLUORIDE.getDust(1), - 60 * 20); - } - } - - private static void dehydratorRecipes() { - - // Makes 7-Lithium - GT_Values.RA.stdBuilder() - .itemInputs(CI.getNumberedAdvancedCircuit(14)) - .fluidInputs(FluidUtils.getFluidStack("sulfuriclithium", 1440)) - .itemOutputs( - ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 3), - ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 4)) - .duration(30 * SECONDS) - .eut(30) - .addTo(chemicalDehydratorRecipes); - - // Makes Lithium Carbonate - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.emptyCells(12), ItemUtils.getItemStackOfAmountFromOreDict("dustLepidolite", 20) }, // Item - // input - // (Array, - // up - // to - // 2) - FluidUtils.getFluidStack("sulfuricacid", 10000), - FluidUtils.getFluidStack("sulfuriclithium", 10000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPotassium", 1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4), - ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 10), - ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 2), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3), // LithiumCarbonate - }, // Output Array of Items - Upto 9, - new int[] { 10000, 10000, 10000, 10000, 10000 }, - 75 * 20, // Time in ticks - 1000); // EU - - // Calcium Hydroxide - if (ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) { - // CaO + H2O = Ca(OH)2 - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(20), - ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 2) }, - FluidUtils.getFluidStack("water", 1000), - null, // Fluid output (slot 2) - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5) }, // Output - new int[] { 10000 }, - 12 * 20, // Time in ticks - 120); // EU - } else { - Logger.INFO("[dustCalciumHydroxide] FAILED TO LOAD RECIPE"); - if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) { - Logger.INFO("Could not find dustQuicklime, cannot make dustCalciumHydroxide."); - } - } - - // 2 LiOH + CaCO3 - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(20), - ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 5) }, // Item - null, // Fluid input (slot 1) - null, // Fluid output (slot 2) - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 2), - ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 3) }, // Output - new int[] { 10000, 10000 }, - 120 * 20, // Time in ticks - 1000); // EU - - // LiOH Liquid to Dust - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(22) }, - FluidUtils.getFluidStack("lithiumhydroxide", 144), - null, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 1) }, - new int[] { 10000 }, - 1 * 20, // Time in ticks - 64); // EU - - // Zirconium Chloride -> TetraFluoride - FluidStack aHydrogenChloride = new FluidStack(GenericChem.HydrochloricAcid, 9000); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(11), - ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9), }, // Item - FluidUtils.getFluidStack("hydrofluoricacid", 9 * 144), - aHydrogenChloride, - new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(9) }, - new int[] { 10000 }, - 120 * 20, // Time in ticks - 500); // EU - - // Zirconium Chloride -> TetraFluoride - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(10), - ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9) }, - FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 18 * 144), - aHydrogenChloride, - new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(9) }, - new int[] { 10000 }, - 240 * 20, // Time in ticks - 500); // EU - - // Be(OH)2 + 2 (NH4)HF2 → (NH4)2BeF4 + 2 H2O - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(6), FLUORIDES.AMMONIUM_BIFLUORIDE.getCell(4) }, - FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(2000), // Fluid input (slot 1) - FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(6000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 4) }, - new int[] { 10000 }, - 32 * 20, // Time in ticks - 64); // EU - - // (NH4)2BeF4 → 2 NH3 + 2 HF + BeF2 - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.emptyCells(5) }, - FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(5000), - null, - new ItemStack[] { MISC_MATERIALS.AMMONIA.getCell(2), - ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2), - FLUORIDES.BERYLLIUM_FLUORIDE.getCell(1) }, - new int[] { 10000, 10000, 10000 }, - 5 * 60 * 20, - 120); - } - - private static void electroMagneticSeperator() { - - // 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); - - // Zircon - GT_Values.RA.addElectromagneticSeparatorRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMagnetite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1), - new int[] { 10000, 1250, 2500 }, - 20 * 20, - 24); - GT_Values.RA.addElectromagneticSeparatorRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1), - new int[] { 10000, 1250, 2500 }, - 20 * 20, - 24); - } - - private static void fluidExtractorRecipes() { - - // FLiBe fuel - CORE.RA.addFluidExtractionRecipe(NUCLIDE.Li2BeF4.getDust(1), NUCLIDE.Li2BeF4.getFluidStack(144), 100, 500); - // Lithium Fluoride - CORE.RA.addFluidExtractionRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 1), - FLUORIDES.LITHIUM_FLUORIDE.getFluidStack(144), - 100, - 500); - // LFTR Fuel 1 - CORE.RA.addFluidExtractionRecipe( - NUCLIDE.LiFBeF2ZrF4U235.getDust(1), - NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(144), - 250, - 1000); - CORE.RA.addFluidExtractionRecipe( - NUCLIDE.LiFBeF2ZrF4UF4.getDust(1), - NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(144), - 150, - 1500); - CORE.RA.addFluidExtractionRecipe( - NUCLIDE.LiFBeF2ThF4UF4.getDust(1), - NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(144), - 150, - 2000); - - // ZIRCONIUM_TETRAFLUORIDE - CORE.RA.addFluidExtractionRecipe( - FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1), - FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(144), - 200, - 512 + 256); - } - - private static void fusionChainRecipes() { - // Mk1 - GT_Values.RA.stdBuilder() - .fluidInputs(Materials.Boron.getPlasma(144), Materials.Calcium.getPlasma(16)) - .fluidOutputs(new FluidStack(ELEMENT.getInstance().NEON.getPlasma(), 1000)) - .duration(3 * SECONDS + 4 * TICKS) - .eut(TierEU.RECIPE_LuV) - .metadata(FUSION_THRESHOLD, 100000000) - .addTo(fusionRecipes); - - GT_Values.RA.stdBuilder() - .fluidInputs( - new FluidStack(ELEMENT.getInstance().NEON.getPlasma(), 144), - Materials.Bedrockium.getMolten(144)) - .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 1000)) - .duration(3 * SECONDS + 4 * TICKS) - .eut(TierEU.RECIPE_LuV) - .metadata(FUSION_THRESHOLD, 100000000) - .addTo(fusionRecipes); - - // Mk2 - GT_Values.RA.stdBuilder() - .fluidInputs(Materials.Niobium.getPlasma(144), Materials.Zinc.getPlasma(144)) - .fluidOutputs(new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 144)) - .duration(32 * TICKS) - .eut(TierEU.RECIPE_ZPM) - .metadata(FUSION_THRESHOLD, 300000000) - .addTo(fusionRecipes); - - GT_Values.RA.stdBuilder() - .fluidInputs( - new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 144), - new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 1000)) - .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getPlasma(), 1000)) - .duration(32 * TICKS) - .eut(TierEU.RECIPE_ZPM) - .metadata(FUSION_THRESHOLD, 300000000) - .addTo(fusionRecipes); - - GT_Values.RA.stdBuilder() - .fluidInputs( - new FluidStack(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getPlasma(), 144), - new FluidStack(ALLOY.TITANSTEEL.getFluid(), 8)) - .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.RUNITE.getPlasma(), 1000)) - .duration(32 * TICKS) - .eut(TierEU.RECIPE_ZPM) - .metadata(FUSION_THRESHOLD, 300000000) - .addTo(fusionRecipes); - - // Mk3 - GT_Values.RA.stdBuilder() - .fluidInputs(ELEMENT.getInstance().CURIUM.getFluidStack(144), Materials.Americium.getPlasma(144)) - .fluidOutputs(new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 144)) - .duration(16 * TICKS) - .eut(TierEU.RECIPE_UV) - .metadata(FUSION_THRESHOLD, 500000000) - .addTo(fusionRecipes); - - GT_Values.RA.stdBuilder() - .fluidInputs( - new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 144), - new FluidStack(ELEMENT.STANDALONE.RUNITE.getPlasma(), 1000)) - .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.ADVANCED_NITINOL.getPlasma(), 1000)) - .duration(16 * TICKS) - .eut(TierEU.RECIPE_UV) - .metadata(FUSION_THRESHOLD, 500000000) - .addTo(fusionRecipes); - - GT_Values.RA.stdBuilder() - .fluidInputs( - new FluidStack(ELEMENT.STANDALONE.ADVANCED_NITINOL.getPlasma(), 144), - Materials.Tartarite.getMolten(2)) - .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 1000)) - .duration(16 * TICKS) - .eut(TierEU.RECIPE_UV) - .metadata(FUSION_THRESHOLD, 500000000) - .addTo(fusionRecipes); - } - - private static void macerator() { - - GT_ModHandler.addPulverisationRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1)); - } - - private static void mixerRecipes() { - - GT_Values.RA.addMixerRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4), - ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1), - null, - null, - FluidUtils.getFluidStack("hydrofluoricacid", 5000), - FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(5000), - null, - 3000, - 500); - } - - private static void sifter() { - - // Zirconium - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIlmenite", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustWroughtIron", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1) }, - new int[] { 5000, 278, 1000, 1000, 300, 300 }, - 20 * 30, - 500); - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedTin", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZinc", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) }, - new int[] { 10000, 556, 1500, 1000, 500, 500 }, - 20 * 30, - 500); - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) }, - new int[] { 10000, 556, 1500, 1000, 500, 500 }, - 20 * 30, - 500); - - // Radium - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedThorium", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustThorium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustLead", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, - new int[] { 10000, 500, 300, 200, 100, 100 }, - 20 * 30, - 500); - - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUranium", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustLead", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, - new int[] { 10000, 556, 1000, 500, 500, 500 }, - 20 * 30, - 500); - - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUraninite", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUraninite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, - new int[] { 10000, 556, 500, 250, 250, 250 }, - 20 * 30, - 500); - - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPitchblende", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPitchblende", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustLead", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, - new int[] { 10000, 556, 500, 250, 250, 250 }, - 20 * 30, - 500); - } - - private static void fluidHeater() { - - CORE.RA.addFluidHeaterRecipe( - FLUORIDES.SODIUM_FLUORIDE.getDust(1), - null, - FLUORIDES.SODIUM_FLUORIDE.getFluidStack(144), - 20 * 30, - 500); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java deleted file mode 100644 index dec6fd426a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java +++ /dev/null @@ -1,258 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.recipe; - -import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; -import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; -import static gregtech.api.util.GT_RecipeBuilder.MINUTES; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.TierEU; -import gtPlusPlus.core.item.chemistry.NuclearChem; -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.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; - -public class RecipeLoader_NuclearFuelProcessing { - - public static void generate() { - - // Create Fuels - - final FluidStack aLithiumFluoride = FLUORIDES.LITHIUM_FLUORIDE.getFluidStack(100); - final FluidStack aBerylliumFluoride = FLUORIDES.BERYLLIUM_FLUORIDE.getFluidStack(100); - final FluidStack aThoriumFluoride = FLUORIDES.THORIUM_TETRAFLUORIDE.getFluidStack(100); - final FluidStack aZirconiumFluoride = FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(100); - final FluidStack aUraniumTetraFluoride = FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(100); - final FluidStack aUranium235 = ELEMENT.getInstance().URANIUM235.getFluidStack(1000); - final FluidStack aLiFBeF2ZrF4U235 = NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(100); - final FluidStack aLiFBeF2ZrF4UF4 = NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(100); - final FluidStack aLiFBeF2ThF4UF4 = NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(100); - - // 7LiF - BeF2 - ZrF4 - U235 - 590C - CORE.RA.addFissionFuel( - FluidUtils.getFluidStack(aLithiumFluoride, 550), - FluidUtils.getFluidStack(aBerylliumFluoride, 150), - FluidUtils.getFluidStack(aZirconiumFluoride, 60), - FluidUtils.getFluidStack(aUranium235, 240), - null, - null, - null, - null, - null, // Extra 5 inputs - FluidUtils.getFluidStack(aLiFBeF2ZrF4U235, 1000), - null, - 30 * 60 * 20, // Duration - MaterialUtils.getVoltageForTier(4)); - - // 7LiF - BeF2 - ZrF4 - UF4 - 650C - CORE.RA.addFissionFuel( - FluidUtils.getFluidStack(aLithiumFluoride, 600), - FluidUtils.getFluidStack(aBerylliumFluoride, 250), - FluidUtils.getFluidStack(aZirconiumFluoride, 80), - FluidUtils.getFluidStack(aUraniumTetraFluoride, 70), - null, - null, - null, - null, - null, // Extra 5 inputs - FluidUtils.getFluidStack(aLiFBeF2ZrF4UF4, 1000), - null, - 40 * 60 * 20, - MaterialUtils.getVoltageForTier(5)); - - // 7liF - BeF2 - ThF4 - UF4 - 566C - CORE.RA.addFissionFuel( - FluidUtils.getFluidStack(aLithiumFluoride, 580), - FluidUtils.getFluidStack(aBerylliumFluoride, 270), - FluidUtils.getFluidStack(aThoriumFluoride, 80), - FluidUtils.getFluidStack(aUraniumTetraFluoride, 70), - null, - null, - null, - null, - null, // Extra 5 inputs - FluidUtils.getFluidStack(aLiFBeF2ThF4UF4, 1000), - null, - 50 * 60 * 20, // Duration - MaterialUtils.getVoltageForTier(5)); - - // Reprocess Fuels - - // Reactor Blanket step 1 - Fluorination - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(17), - ELEMENT.getInstance().FLUORINE.getCell(6), - NUCLIDE.LiFThF4.getFluidStack(10000), - new ItemStack[] { CI.emptyCells(5), FLUORIDES.LITHIUM_FLUORIDE.getCell(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1) }, - new int[] { 10000, 10000, 500, 500, 500, 250, 250, 250 }, - NUCLIDE.UF6F2.getFluidStack(1500), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(5)); - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(18), - ELEMENT.getInstance().FLUORINE.getCell(6), - NUCLIDE.LiFBeF2ThF4.getFluidStack(10000), - new ItemStack[] { CI.emptyCells(4), FLUORIDES.LITHIUM_FLUORIDE.getCell(1), - FLUORIDES.BERYLLIUM_FLUORIDE.getCell(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1) }, - new int[] { 10000, 10000, 10000, 1000, 1000, 1000, 500, 500, 500 }, - NUCLIDE.UF6F2.getFluidStack(3000), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(5)); - - // Reactor Blanket step 1 - Fluorination - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(7), - ELEMENT.getInstance().FLUORINE.getCell(6), - NUCLIDE.Sparged_LiFThF4.getFluidStack(10000), - new ItemStack[] { CI.emptyCells(4), FLUORIDES.LITHIUM_FLUORIDE.getCell(2), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1) }, - new int[] { 10000, 10000, 1000, 1000, 1000, 1000, 1000, 1000 }, - NUCLIDE.UF6F2.getFluidStack(3000), - 20 * 60 * 5, - MaterialUtils.getVoltageForTier(5)); - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(8), - ELEMENT.getInstance().FLUORINE.getCell(6), - NUCLIDE.Sparged_LiFBeF2ThF4.getFluidStack(10000), - new ItemStack[] { CI.emptyCells(2), FLUORIDES.LITHIUM_FLUORIDE.getCell(2), - FLUORIDES.BERYLLIUM_FLUORIDE.getCell(2), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1) }, - new int[] { 10000, 10000, 10000, 2000, 2000, 2000, 2000, 2000, 2000 }, - NUCLIDE.UF6F2.getFluidStack(6000), - 20 * 60 * 5, - MaterialUtils.getVoltageForTier(5)); - - // Reactor Blanket step 2 - Sorption + Cold Trap - CORE.RA.addColdTrapRecipe( - 8, - FLUORIDES.SODIUM_FLUORIDE.getCell(4), - NUCLIDE.UF6F2.getFluidStack(3000), - new ItemStack[] { ELEMENT.getInstance().FLUORINE.getCell(2), FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2), - ELEMENT.getInstance().URANIUM233.getDust(1), ELEMENT.getInstance().URANIUM233.getDust(1), - ELEMENT.getInstance().URANIUM233.getDust(1) }, - new int[] { 10000, 10000, 3000, 2000, 1000 }, - FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(3)); - - // LiBeF2UF4FP + F2 = LiFBeF2 & UF6F2FP - // Reactor Core step 1 - Process Burnt Salt - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(1), - ELEMENT.getInstance().FLUORINE.getCell(1), - NUCLIDE.LiFBeF2UF4FP.getFluidStack(1000), - new ItemStack[] { NUCLIDE.UF6F2FP.getCell(1) }, - new int[] { 10000 }, - FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 1000), - 20 * 60 * 120, - MaterialUtils.getVoltageForTier(3)); - - // LiBeF2UF4FP + F2 = LiFBeF2 & UF6F2FP - // Reactor Core step 1 - Process Burnt Salt - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(1), - ELEMENT.getInstance().FLUORINE.getCell(3), - NUCLIDE.Sparged_LiFBeF2UF4FP.getFluidStack(1000), - new ItemStack[] { CI.emptyCells(1), NUCLIDE.UF6F2FP.getCell(2) }, - new int[] { 10000 }, - FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 2000), - 20 * 60 * 60, - MaterialUtils.getVoltageForTier(3)); - - // Reactor Core step 2A - Sorption + Cold Trap - CORE.RA.addColdTrapRecipe( - 8, - FLUORIDES.SODIUM_FLUORIDE.getCell(3), - NUCLIDE.UF6F2FP.getFluidStack(2000), - new ItemStack[] { ELEMENT.getInstance().FLUORINE.getCell(1), FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2), - ELEMENT.getInstance().PHOSPHORUS.getDust(1), ELEMENT.getInstance().PHOSPHORUS.getDust(1), - ELEMENT.getInstance().PHOSPHORUS.getDust(1), ELEMENT.getInstance().PHOSPHORUS.getDust(1), - ELEMENT.getInstance().PHOSPHORUS.getDust(1), ELEMENT.getInstance().PHOSPHORUS.getDust(1) }, - new int[] { 10000, 10000, 5000, 5000, 5000, 5000, 5000, 5000 }, - FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(4)); - - // Reactor Core step 2B - Distillation - GT_Values.RA.stdBuilder() - .fluidInputs(FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 1000)) - .fluidOutputs(NUCLIDE.LiFBeF2.getFluidStack(250)) - .duration(7 * MINUTES + 30 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(distillationTowerRecipes); - - // UF6 -> UF4 reduction - // UF6 + LiFBeF2 + H2 -> LiFBeF2UF4 + HF - GT_Values.RA.stdBuilder() - .itemInputs(FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(1), NUCLIDE.LiFBeF2.getCell(1)) - .fluidInputs(Materials.Hydrogen.getGas(2000L)) - .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2)) - .fluidOutputs(NUCLIDE.LiFBeF2UF4.getFluidStack(3000)) - .duration(2 * MINUTES + 30 * SECONDS) - .eut(TierEU.RECIPE_IV) - .metadata(COIL_HEAT, 5400) - .addTo(blastFurnaceRecipes); - // Alternative recipe to the above, for chemplant, to not use cells - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] {}, - new FluidStack[] { FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(1000), NUCLIDE.LiFBeF2.getFluidStack(1000), - ELEMENT.getInstance().HYDROGEN.getFluidStack(2000) }, - new ItemStack[] {}, - new FluidStack[] { NUCLIDE.LiFBeF2UF4.getFluidStack(3000), - FluidUtils.getFluidStack("hydrofluoricacid", 2000) }, - 300 * 10, - MaterialUtils.getVoltageForTier(5), - 4); - - CORE.RA.addFissionFuel( - FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(100), - NUCLIDE.LiFBeF2UF4.getFluidStack(900), - null, - null, - null, - null, - null, - null, - null, - NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(1000), - null, - 20 * 60 * 12, // Duration - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addFissionFuel( - FLUORIDES.THORIUM_TETRAFLUORIDE.getFluidStack(100), - NUCLIDE.LiFBeF2UF4.getFluidStack(900), - null, - null, - null, - null, - null, - null, - null, - NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(1000), - null, - 20 * 60 * 15, // Duration - MaterialUtils.getVoltageForTier(5)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_TreeFarm.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_TreeFarm.java deleted file mode 100644 index 28c8b2a337..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_TreeFarm.java +++ /dev/null @@ -1,719 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders.recipe; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import binnie.extratrees.genetics.ExtraTreeSpecies; -import forestry.api.arboriculture.EnumGermlingType; -import forestry.api.arboriculture.EnumWoodType; -import forestry.api.arboriculture.ITree; -import forestry.api.arboriculture.TreeManager; -import forestry.arboriculture.genetics.TreeDefinition; -import forestry.plugins.PluginArboriculture; -import gregtech.api.enums.Mods; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm; - -public class RecipeLoader_TreeFarm { - - public static void generateRecipes() { - generateVanillaTrees(); - - if (Mods.IndustrialCraft2.isModLoaded()) generateIC2Trees(); - if (Mods.TinkerConstruct.isModLoaded()) generateTinkersTrees(); - if (Mods.GTPlusPlus.isModLoaded()) generateGTPPTrees(); - - if (Mods.TwilightForest.isModLoaded()) generateTwilightForestTrees(); - if (Mods.GalaxySpace.isModLoaded()) generateGalaxySpaceTrees(); - if (Mods.GalacticraftAmunRa.isModLoaded()) generateAmunRaTrees(); - - if (Mods.Thaumcraft.isModLoaded()) generateThaumcraftTrees(); - if (Mods.ThaumicBases.isModLoaded()) generateThaumicBasesTrees(); - if (Mods.TaintedMagic.isModLoaded()) generateTaintedMagicTrees(); - if (Mods.ForbiddenMagic.isModLoaded()) generateForbiddenMagicTrees(); - if (Mods.Witchery.isModLoaded()) generateWitcheryTrees(); - - if (Mods.Natura.isModLoaded()) generateNaturaTrees(); - if (Mods.BiomesOPlenty.isModLoaded()) generateBOPTrees(); - if (Mods.PamsHarvestCraft.isModLoaded()) generatePamsTrees(); - if (Mods.PamsHarvestTheNether.isModLoaded()) generatePamsNetherTrees(); - - if (Mods.Forestry.isModLoaded()) generateForestryTrees(); - if (Mods.ExtraTrees.isModLoaded()) generateExtraTreesTrees(); - } - - private static void generateVanillaTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Oak - new ItemStack(Blocks.sapling, 1, 0), - new ItemStack(Blocks.log, 1, 0), - new ItemStack(Blocks.leaves, 1, 0), - new ItemStack(Items.apple, 1, 0)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Spruce - new ItemStack(Blocks.sapling, 1, 1), - new ItemStack(Blocks.log, 2, 1), - new ItemStack(Blocks.leaves, 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Birch - new ItemStack(Blocks.sapling, 1, 2), - new ItemStack(Blocks.log, 1, 2), - new ItemStack(Blocks.leaves, 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Jungle - new ItemStack(Blocks.sapling, 1, 3), - new ItemStack(Blocks.log, 2, 3), - new ItemStack(Blocks.leaves, 1, 3), - new ItemStack(Items.dye, 1, 3)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Acacia - new ItemStack(Blocks.sapling, 1, 4), - new ItemStack(Blocks.log2, 1, 0), - new ItemStack(Blocks.leaves2, 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Dark Oak - new ItemStack(Blocks.sapling, 1, 5), - new ItemStack(Blocks.log2, 1, 1), - new ItemStack(Blocks.leaves2, 1, 1), - new ItemStack(Items.apple, 1, 0)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Brown Mushroom - new ItemStack(Blocks.brown_mushroom, 1, 0), - new ItemStack(Blocks.brown_mushroom_block, 1, 0), - null, - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Red Mushroom - new ItemStack(Blocks.red_mushroom, 1, 0), - new ItemStack(Blocks.red_mushroom_block, 1, 0), - null, - null); - } - - private static void generateIC2Trees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Rubber Tree - GT_ModHandler.getModItem(Mods.IndustrialCraft2.ID, "blockRubSapling", 1, 0), - GT_ModHandler.getModItem(Mods.IndustrialCraft2.ID, "blockRubWood", 1, 0), - GT_ModHandler.getModItem(Mods.IndustrialCraft2.ID, "blockRubLeaves", 1, 0), - GT_ModHandler.getModItem(Mods.IndustrialCraft2.ID, "itemHarz", 1, 0)); - } - - private static void generateTinkersTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Slimy - GT_ModHandler.getModItem(Mods.TinkerConstruct.ID, "slime.sapling", 1, 0), - GT_ModHandler.getModItem(Mods.TinkerConstruct.ID, "slime.gel", 1, 1), - GT_ModHandler.getModItem(Mods.TinkerConstruct.ID, "slime.leaves", 1, 0), - GT_ModHandler.getModItem(Mods.TinkerConstruct.ID, "strangeFood", 1, 0)); - } - - private static void generateGTPPTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Rainforest Oak - GT_ModHandler.getModItem(Mods.GTPlusPlus.ID, "blockRainforestOakSapling", 1, 0), - GT_ModHandler.getModItem(Mods.GTPlusPlus.ID, "blockRainforestOakLog", 3, 0), - GT_ModHandler.getModItem(Mods.GTPlusPlus.ID, "blockRainforestOakLeaves", 1, 0), - new ItemStack(Items.apple, 1, 0)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Pine - GT_ModHandler.getModItem(Mods.GTPlusPlus.ID, "blockPineSapling", 1, 0), - GT_ModHandler.getModItem(Mods.GTPlusPlus.ID, "blockPineLogLog", 1, 0), - GT_ModHandler.getModItem(Mods.GTPlusPlus.ID, "blockPineLeaves", 1, 0), - GT_ModHandler.getModItem(Mods.GTPlusPlus.ID, "item.BasicAgrichemItem", 1, 24)); - } - - private static void generateTwilightForestTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Sickly Twilight Oak - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLog", 1, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLeaves", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Canopy Tree - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 1), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLog", 1, 1), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLeaves", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Twilight Mangrove - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 2), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLog", 1, 2), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLeaves", 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Darkwood - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 3), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLog", 1, 3), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.DarkLeaves", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Robust Twilight Oak - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 4), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLog", 4, 0), - // Does not drop more robust saplings normally: - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLeaves", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Tree of Time - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 5), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFMagicLog", 1, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFMagicLeaves", 1, 0), - // No I am not making this drop clocks. - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Tree of Transformation - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 6), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFMagicLog", 1, 1), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFMagicLeaves", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Sorting Tree - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 8), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFMagicLog", 1, 3), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFMagicLeaves", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Rainbow Oak - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFSapling", 1, 9), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLog", 1, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLeaves", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Thorns - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFThorns", 1, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFThorns", 1, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFThorns", 1, 1), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLeaves3", 1, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFThornRose", 1, 0)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Magic Beans - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "item.magicBeans", 1, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.HugeStalk", 5, 0), - GT_ModHandler.getModItem(Mods.TwilightForest.ID, "tile.TFLeaves3", 1, 1), - null); - } - - private static void generateGalaxySpaceTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Barnarda C - GT_ModHandler.getModItem(Mods.GalaxySpace.ID, "barnardaCsapling", 1, 1), - GT_ModHandler.getModItem(Mods.GalaxySpace.ID, "barnardaClog", 1, 0), - GT_ModHandler.getModItem(Mods.GalaxySpace.ID, "barnardaCleaves", 1, 0), - null); - } - - private static void generateAmunRaTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Virilig - GT_ModHandler.getModItem(Mods.GalacticraftAmunRa.ID, "tile.saplings", 1, 0), - GT_ModHandler.getModItem(Mods.GalacticraftAmunRa.ID, "tile.log1", 1, 0), - GT_ModHandler.getModItem(Mods.GalacticraftAmunRa.ID, "tile.null", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Lumipod - GT_ModHandler.getModItem(Mods.GalacticraftAmunRa.ID, "tile.saplings", 1, 1), - GT_ModHandler.getModItem(Mods.GalacticraftAmunRa.ID, "tile.wood1", 1, 0), - null, - GT_ModHandler.getModItem(Mods.GalacticraftAmunRa.ID, "tile.wood1", 1, 1)); - } - - private static void generateNaturaTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Redwood - GT_ModHandler.getModItem(Mods.Natura.ID, "florasapling", 1, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "redwood", 5, 1), - GT_ModHandler.getModItem(Mods.Natura.ID, "florasapling", 2, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "floraleaves", 2, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "redwood", 2, 0)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Eucalyptus - GT_ModHandler.getModItem(Mods.Natura.ID, "florasapling", 1, 1), - GT_ModHandler.getModItem(Mods.Natura.ID, "tree", 1, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "floraleaves", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Hopseed - GT_ModHandler.getModItem(Mods.Natura.ID, "florasapling", 1, 2), - GT_ModHandler.getModItem(Mods.Natura.ID, "tree", 1, 3), - GT_ModHandler.getModItem(Mods.Natura.ID, "floraleaves", 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Sakura - GT_ModHandler.getModItem(Mods.Natura.ID, "florasapling", 1, 3), - GT_ModHandler.getModItem(Mods.Natura.ID, "tree", 1, 1), - GT_ModHandler.getModItem(Mods.Natura.ID, "floraleavesnocolor", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Ghostwood - GT_ModHandler.getModItem(Mods.Natura.ID, "florasapling", 1, 4), - GT_ModHandler.getModItem(Mods.Natura.ID, "tree", 1, 2), - GT_ModHandler.getModItem(Mods.Natura.ID, "floraleavesnocolor", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Blood - GT_ModHandler.getModItem(Mods.Natura.ID, "florasapling", 1, 5), - GT_ModHandler.getModItem(Mods.Natura.ID, "bloodwood", 1, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "floraleavesnocolor", 1, 2), - new ItemStack(Items.redstone, 1, 0)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Darkwood - GT_ModHandler.getModItem(Mods.Natura.ID, "florasapling", 1, 6), - GT_ModHandler.getModItem(Mods.Natura.ID, "Dark Tree", 1, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "Dark Leaves", 1, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "Natura.netherfood", 1, 0)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Fusewood - GT_ModHandler.getModItem(Mods.Natura.ID, "florasapling", 1, 7), - GT_ModHandler.getModItem(Mods.Natura.ID, "Dark Tree", 1, 1), - GT_ModHandler.getModItem(Mods.Natura.ID, "Dark Leaves", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Maple - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Sapling", 1, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Tree", 1, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Leaves", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Silverbell - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Sapling", 1, 1), - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Tree", 1, 1), - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Leaves", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Amaranth - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Sapling", 1, 2), - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Tree", 1, 2), - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Leaves", 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Tigerwood - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Sapling", 1, 3), - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Tree", 1, 3), - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Leaves", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Willow - GT_ModHandler.getModItem(Mods.Natura.ID, "Rare Sapling", 1, 4), - GT_ModHandler.getModItem(Mods.Natura.ID, "willow", 1, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "floraleavesnocolor", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Green Glowshroom - GT_ModHandler.getModItem(Mods.Natura.ID, "Glowshroom", 1, 0), - GT_ModHandler.getModItem(Mods.Natura.ID, "greenGlowshroom", 1, 0), - null, - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Purple Glowshroom - GT_ModHandler.getModItem(Mods.Natura.ID, "Glowshroom", 1, 1), - GT_ModHandler.getModItem(Mods.Natura.ID, "purpleGlowshroom", 1, 0), - null, - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Blue Glowshroom - GT_ModHandler.getModItem(Mods.Natura.ID, "Glowshroom", 1, 2), - GT_ModHandler.getModItem(Mods.Natura.ID, "blueGlowshroom", 1, 0), - null, - null); - } - - private static void generateBOPTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Apple - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 0), - new ItemStack(Blocks.log, 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "appleLeaves", 1, 0), - new ItemStack(Items.apple, 2, 0)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Yellow Autumn - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 1), - new ItemStack(Blocks.log, 1, 2), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves1", 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "food", 1, 8)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Bamboo - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 2), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "bamboo", 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves1", 1, 9), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Magic - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 3), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs2", 1, 1), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves1", 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Dark - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 4), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs1", 1, 2), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves1", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Dying - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 5), - new ItemStack(Blocks.log, 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves2", 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "food", 1, 8)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Fir - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 6), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs1", 1, 3), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves2", 1, 1), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "misc", 1, 13)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Ethereal - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 7), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs2", 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves2", 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Orange Autumn - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 8), - new ItemStack(Blocks.log2, 1, 1), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves2", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Origin - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 9), - new ItemStack(Blocks.log, 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves3", 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "food", 1, 8)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Pink Cherry - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 10), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs1", 1, 1), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves3", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Maple - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 11), - new ItemStack(Blocks.log, 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves3", 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // White Cherry - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 12), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs1", 1, 1), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves3", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Hellbark - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 13), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs4", 1, 1), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves4", 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "food", 1, 8)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Jacaranda - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 14), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs4", 1, 2), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "leaves4", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Persimmon - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "saplings", 1, 15), - new ItemStack(Blocks.log, 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "persimmonLeaves", 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "food", 2, 8)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Sacred Oak - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedSaplings", 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs1", 4, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedSaplings", 2, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedLeaves1", 2, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Mangrove - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedSaplings", 1, 1), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs2", 1, 2), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedLeaves1", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Palm - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedSaplings", 1, 2), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs2", 1, 3), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedLeaves1", 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Redwood - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedSaplings", 1, 3), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs3", 2, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedLeaves1", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Willow - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedSaplings", 1, 4), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs3", 1, 1), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedLeaves2", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Pine - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedSaplings", 1, 5), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs4", 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedLeaves2", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Mahogany - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedSaplings", 1, 6), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs4", 1, 3), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedLeaves2", 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Flowering Oak - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedSaplings", 1, 7), - new ItemStack(Blocks.log, 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "colorizedLeaves2", 1, 3), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Red Flower Stem - new ItemStack(Blocks.red_flower, 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs3", 1, 3), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "petals", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Yellow Flower Stem - new ItemStack(Blocks.yellow_flower, 1, 0), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "logs3", 1, 3), - GT_ModHandler.getModItem(Mods.BiomesOPlenty.ID, "petals", 1, 1), - null); - } - - private static void addPamTree(String name, int meta) { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "pam" + name + "Sapling", 1, 0), - new ItemStack(Blocks.log, 1, meta), - new ItemStack(Blocks.leaves, 1, meta), - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, name + "Item", 2, 0)); - } - - private static void generatePamsTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Cinnamon - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "pamappleSapling", 1, 0), - new ItemStack(Blocks.log, 1, 0), - new ItemStack(Blocks.leaves, 1, 0), - new ItemStack(Items.apple, 2, 0)); - - addPamTree("almond", 3); - addPamTree("apricot", 3); - addPamTree("avocado", 0); - addPamTree("banana", 3); - addPamTree("cashew", 3); - addPamTree("cherry", 0); - addPamTree("chestnut", 0); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Cinnamon - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "pamcinnamonSapling", 1, 0), - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "pamCinnamon", 1, 0), - new ItemStack(Blocks.leaves, 1, 3), - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "cinnamonItem", 2, 0)); - - addPamTree("coconut", 3); - addPamTree("date", 3); - addPamTree("dragonfruit", 3); - addPamTree("durian", 3); - addPamTree("fig", 3); - addPamTree("grapefruit", 3); - addPamTree("lemon", 3); - addPamTree("lime", 3); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Maple - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "pammapleSapling", 1, 0), - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "pamMaple", 1, 0), - new ItemStack(Blocks.leaves, 1, 1), - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "maplesyrupItem", 2, 0)); - - addPamTree("mango", 3); - addPamTree("nutmeg", 0); - addPamTree("olive", 0); - addPamTree("orange", 3); - addPamTree("papaya", 3); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Paperbark - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "pampaperbarkSapling", 1, 0), - GT_ModHandler.getModItem(Mods.PamsHarvestCraft.ID, "pamPaperbark", 1, 0), - new ItemStack(Blocks.leaves, 1, 3), - new ItemStack(Items.paper, 1, 0)); - - addPamTree("peach", 3); - addPamTree("pear", 0); - addPamTree("pecan", 3); - addPamTree("peppercorn", 3); - addPamTree("persimmon", 3); - addPamTree("pistachio", 3); - addPamTree("plum", 0); - addPamTree("pomegranate", 3); - addPamTree("starfruit", 3); - addPamTree("vanillabean", 3); - addPamTree("walnut", 0); - addPamTree("gooseberry", 0); - } - - private static void generatePamsNetherTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Ignis Fruit - GT_ModHandler.getModItem(Mods.PamsHarvestTheNether.ID, "netherSapling", 1, 0), - GT_ModHandler.getModItem(Mods.PamsHarvestTheNether.ID, "netherLog", 1, 0), - GT_ModHandler.getModItem(Mods.PamsHarvestTheNether.ID, "netherLeaves", 1, 0), - GT_ModHandler.getModItem(Mods.PamsHarvestTheNether.ID, "ignisfruitItem", 2, 0)); - } - - private static void generateThaumcraftTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Greatwood - GT_ModHandler.getModItem(Mods.Thaumcraft.ID, "blockCustomPlant", 1, 0), - GT_ModHandler.getModItem(Mods.Thaumcraft.ID, "blockMagicalLog", 2, 0), - GT_ModHandler.getModItem(Mods.Thaumcraft.ID, "blockMagicalLeaves", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Silverwood - GT_ModHandler.getModItem(Mods.Thaumcraft.ID, "blockCustomPlant", 1, 1), - GT_ModHandler.getModItem(Mods.Thaumcraft.ID, "blockMagicalLog", 1, 1), - GT_ModHandler.getModItem(Mods.Thaumcraft.ID, "blockMagicalLeaves", 1, 1), - null); - } - - private static void generateThaumicBasesTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Golden Oak - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "goldenOakSapling", 1, 0), - new ItemStack(Blocks.log, 1, 0), - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "genLeaves", 1, 0), - GT_ModHandler.getModItem(Mods.Thaumcraft.ID, "blockMagicalLeaves", 1, 0), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Peaceful - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "goldenOakSapling", 1, 1), - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "genLogs", 1, 0), - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "genLeaves", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Nether - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "goldenOakSapling", 1, 2), - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "genLogs", 1, 1), - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "genLeaves", 1, 2), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Ender - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "goldenOakSapling", 1, 3), - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "genLogs", 1, 2), - GT_ModHandler.getModItem(Mods.ThaumicBases.ID, "genLeaves", 1, 3), - null); - } - - private static void generateTaintedMagicTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Warpwood - GT_ModHandler.getModItem(Mods.TaintedMagic.ID, "BlockWarpwoodSapling", 1, 0), - GT_ModHandler.getModItem(Mods.TaintedMagic.ID, "BlockWarpwoodLog", 1, 0), - GT_ModHandler.getModItem(Mods.TaintedMagic.ID, "BlockWarpwoodLeaves", 1, 0), - null); - } - - private static void generateForbiddenMagicTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Warpwood - GT_ModHandler.getModItem(Mods.ForbiddenMagic.ID, "TaintSapling", 1, 0), - GT_ModHandler.getModItem(Mods.ForbiddenMagic.ID, "TaintLog", 1, 0), - GT_ModHandler.getModItem(Mods.ForbiddenMagic.ID, "TaintLeaves", 1, 0), - GT_ModHandler.getModItem(Mods.ForbiddenMagic.ID, "TaintFruit", 1, 0)); - } - - private static void generateWitcheryTrees() { - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Rowan - GT_ModHandler.getModItem(Mods.Witchery.ID, "witchsapling", 1, 0), - GT_ModHandler.getModItem(Mods.Witchery.ID, "witchlog", 1, 0), - GT_ModHandler.getModItem(Mods.Witchery.ID, "witchleaves", 1, 0), - GT_ModHandler.getModItem(Mods.Witchery.ID, "ingredient", 1, 63)); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Alder - GT_ModHandler.getModItem(Mods.Witchery.ID, "witchsapling", 1, 1), - GT_ModHandler.getModItem(Mods.Witchery.ID, "witchlog", 1, 1), - GT_ModHandler.getModItem(Mods.Witchery.ID, "witchleaves", 1, 1), - null); - - GregtechMetaTileEntityTreeFarm.registerTreeProducts( // Hawthorn - GT_ModHandler.getModItem(Mods.Witchery.ID, "witchsapling", 1, 2), - GT_ModHandler.getModItem(Mods.Witchery.ID, "witchlog", 1, 2), - GT_ModHandler.getModItem(Mods.Witchery.ID, "witchleaves", 1, 2), - null); - } - - /* - * Abdiel Kavash: I do not claim the code in the following two methods to be ideal, or to even completely understand - * all the details. Much of it has been copied from the previous version, available at - * https://github.com/GTNewHorizons/GTplusplus/blob/dca836fee368878cf64ca59e4c7ffc5875a3f489/src/main/java/ - * gtPlusPlus/xmod/forestry/HANDLER_FR.java#L60. If anybody understands Forestry and/or Extra Trees internals better - * than I do, and knows a more straightforward way to retrieve the relevant ItemStacks here, please update this. - */ - - private static void generateForestryTrees() { - for (TreeDefinition tree : TreeDefinition.values()) { - String speciesUID = tree.getUID(); - - ItemStack sapling = tree.getMemberStack(EnumGermlingType.SAPLING); - - ItemStack log; - EnumWoodType woodType = ReflectionUtils.getField(tree, "woodType"); - if (woodType != null) { - log = TreeManager.woodItemAccess.getLog(woodType, false); - } else { - log = ReflectionUtils.getField(tree, "vanillaWood"); - } - - ItemStack leaves = new ItemStack(PluginArboriculture.blocks.leaves, 1, 0); - if (speciesUID != null) { - NBTTagCompound nbtTagCompound = new NBTTagCompound(); - nbtTagCompound.setString("species", speciesUID); - leaves.setTagCompound(nbtTagCompound); - } - - ItemStack fruit = null; - ITree individual = tree.getIndividual(); - if (individual.canBearFruit()) { - ItemStack[] produceList = individual.getProduceList(); - if (produceList != null && produceList.length > 0) { - fruit = individual.getProduceList()[0]; - } - } - - GregtechMetaTileEntityTreeFarm.registerForestryTree( - speciesUID, - sapling == null ? null : sapling.copy(), - log == null ? null : log.copy(), - leaves == null ? null : leaves.copy(), - fruit == null ? null : fruit.copy()); - } - } - - private static void generateExtraTreesTrees() { - for (ExtraTreeSpecies species : ExtraTreeSpecies.values()) { - - String speciesUID = species.getUID(); - - ITree individual = TreeManager.treeRoot.templateAsIndividual(species.getTemplate()); - ItemStack sapling = TreeManager.treeRoot.getMemberStack(individual, 0); - - ItemStack log = null; - if (species.getLog() != null) { - log = species.getLog() - .getItemStack(); - } - - ItemStack leaves = new ItemStack(PluginArboriculture.blocks.leaves, 1, 0); - if (speciesUID != null) { - NBTTagCompound nbtTagCompound = new NBTTagCompound(); - nbtTagCompound.setString("species", speciesUID); - leaves.setTagCompound(nbtTagCompound); - } - - ItemStack fruit = null; - if (individual.canBearFruit()) { - ItemStack[] produceList = individual.getProduceList(); - if (produceList != null && produceList.length > 0) { - fruit = individual.getProduceList()[0]; - } - } - - GregtechMetaTileEntityTreeFarm.registerForestryTree( - speciesUID, - sapling == null ? null : sapling.copy(), - log == null ? null : log.copy(), - leaves == null ? null : leaves.copy(), - fruit == null ? null : fruit.copy()); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java deleted file mode 100644 index 6b4a02e984..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ /dev/null @@ -1,1220 +0,0 @@ -package gtPlusPlus.xmod.gregtech.recipes; - -import static gregtech.api.enums.GT_Values.RA; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.SemiFluidFuelHandler; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.data.ArrayUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; -import gtPlusPlus.xmod.gregtech.common.helpers.FlotationRecipeHandler; - -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) { - if (aInput1 == null || (aOutput == null && aFluidOutput == null)) { - Logger.WARNING("Something was null, returning false"); - return false; - } - if (aOutput != null && (aDuration <= 0)) { - Logger.WARNING("Something was null, returning false"); - return false; - } - if (aFluidOutput != null && (aDuration <= 0)) { - Logger.WARNING("Something was null, returning false"); - return false; - } - - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput }, - null, - new int[] {}, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - Math.max(1, aEUt), - 0); - GTPPRecipeMaps.cokeOvenRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addCokeOvenRecipe(int aCircuit, ItemStack aInput2, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt) { - return addCokeOvenRecipe( - aInput2, - CI.getNumberedCircuit(aCircuit), - aFluidInputs, - aFluidOutputs, - aOutputs, - aDuration, - aEUt); - } - - @Override - public boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt) { - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - new ItemStack[] { aInput1, aInput2 }, - aOutputs, - null, - new int[] {}, - aFluidInputs, - aFluidOutputs, - Math.max(1, aDuration), - Math.max(1, aEUt), - 0); - GTPPRecipeMaps.cokeOvenRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addMatterFabricatorRecipe(final FluidStack aFluidInput, final FluidStack aFluidOutput, - final int aDuration, final int aEUt) { - if (aFluidOutput == null) { - Logger.WARNING("Something was null, returning false"); - return false; - } - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - aFluidInput == null ? new FluidStack[] {} : new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - GTPPRecipeMaps.multiblockMassFabricatorRecipes.addRecipe(aRecipe); - return true; - } - - @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 { - if (((aInput == null || aInput.length == 0) && (aFluidInput == null)) - || ((aOutputItems == null || aOutputItems.length == 0) && (aFluidOutput == null))) { - return false; - } - - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - aInput, - aOutputItems, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - Math.max(1, aDuration), - Math.max(1, aEUt), - 0); - GTPPRecipeMaps.chemicalDehydratorRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aOutput, final int aChance, int aDuration, - final int aEUt) { - return addBlastSmelterRecipe( - aInput, - (FluidStack) null, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - 3700); - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - final int aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - 3700); - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - final int aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - 3700); - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, final int[] aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe(aInput, aInputFluid, aOutput, aOutputStack, aChance, aDuration, aEUt, 3700); - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, final int[] aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe(aInput, aInputFluid, aOutput, aOutputStack, aChance, aDuration, aEUt, 3700); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt, int aSpecialValue) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - aSpecialValue); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt, int aSpecialValue) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - aSpecialValue); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - aOutputStack, - aChance, - aDuration, - aEUt, - aSpecialValue, - true); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - aOutputStack, - aChance, - aDuration, - aEUt, - aSpecialValue, - true); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue, boolean aOptimizeRecipe) { - return addBlastSmelterRecipe( - aInput, - new FluidStack[] { aInputFluid }, - aOutput, - aOutputStack, - aChance, - aDuration, - aEUt, - aSpecialValue, - aOptimizeRecipe); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue, boolean aOptimizeRecipe) { - 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); - } - if (aOutput.isFluidEqual(Materials.PhasedIron.getMolten(1))) { - aOutput = Materials.PulsatingIron.getMolten(aOutput.amount); - } - if (aDuration <= 0) { - Logger.WARNING("Recipe did not register."); - return false; - } - - aInput = ArrayUtils.removeNulls(aInput); - if (aInput.length <= 1) { - return false; - } - - GTPPRecipeMaps.alloyBlastSmelterRecipes.addRecipe( - aOptimizeRecipe, - aInput, - aOutputStack, - null, - aChance, - aInputFluid, - new FluidStack[] { aOutput }, - aDuration, - Math.max(1, aEUt), - aSpecialValue); - return true; - } - - @Override - public boolean addQuantumTransformerRecipe(ItemStack[] aInput, FluidStack[] aFluidInput, FluidStack[] aFluidOutput, - ItemStack[] aOutputStack, int[] aChances, int aDuration, int aEUt, int aSpecialValue) { - if (aInput == null) { - aInput = new ItemStack[0]; - } - if (aFluidInput == null) { - aFluidInput = new FluidStack[0]; - } - if (aOutputStack == null) { - aOutputStack = new ItemStack[0]; - } - if (aFluidOutput == null) { - aFluidOutput = new FluidStack[0]; - } - - GTPPRecipeMaps.quantumForceTransformerRecipes.add( - new GT_Recipe( - false, - aInput, - aOutputStack, - null, - aChances, - aFluidInput, - aFluidOutput, - aDuration, - aEUt, - aSpecialValue)); - 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, - final int aDuration, final int aEUt) { - return addFissionFuel( - false, - aInput1, - aInput2, - aInput3, - aInput4, - aInput5, - aInput6, - aInput7, - aInput8, - aInput9, - aOutput1, - aOutput2, - aDuration, - aEUt); - } - - @Override - public boolean addFissionFuel(final boolean aOptimise, 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) || (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 }; - - GTPPRecipeMaps.fissionFuelProcessingRecipes.addRecipe( - aOptimise, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - inputs, - outputs, - aDuration, - aEUt, - 0); - return true; - } - - @Override - 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, - 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 (aOutput == null || aOutput.length < 1 || !ItemUtils.checkForInvalidItems(aOutput)) { - Logger.INFO("Bad output for Cyclotron Recipe."); - return false; - } - - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - aInputs, - aOutput, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - Math.max(1, aDuration), - Math.max(1, aEUt), - aSpecialValue); - GTPPRecipeMaps.cyclotronRecipes.add(aSpecialRecipe); - return true; - } - - @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) { - if ((aInput1 == null && aFluidInput == null) || (aOutput1 == null && aFluidOutput == null)) { - return false; - } - - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - new ItemStack[] { aInput1, aInput2, aInput3, aInput4 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, - null, - new int[] {}, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - Math.max(1, aDuration), - Math.max(1, aEUt), - 0); - RecipeMaps.mixerRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addMultiblockCentrifugeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Large Centrifuge recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.centrifugeNonCellRecipes.addRecipe(aRecipe); - return true; - } - - @Override - public boolean addMultiblockElectrolyzerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Large Electrolyzer recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.electrolyzerNonCellRecipes.addRecipe(aRecipe); - return true; - } - - @Override - public boolean addAdvancedFreezerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Adv. Vac Freezer recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.advancedFreezerRecipes.addRecipe(aRecipe); - return false; - } - - public boolean addMultiblockMixerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Large Mixer recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.mixerNonCellRecipes.addRecipe(aRecipe); - return true; - } - - public boolean addMultiblockChemicalDehydratorRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Large Chemical Dehydrator recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.chemicalDehydratorNonCellRecipes.addRecipe(aRecipe); - return true; - } - - @Override - public boolean addSixSlotAssemblingRecipe(ItemStack[] aInputs, FluidStack aInputFluid, ItemStack aOutput1, - int aDuration, int aEUt) { - return RA.addAssemblerRecipe(aInputs, aInputFluid, aOutput1, aDuration, aEUt); - } - - @Override - public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { - return RA.addAssemblylineRecipe(aResearchItem, aResearchTime, aInputs, aFluidInputs, aOutput, aDuration, aEUt); - } - - @Override - public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, Object[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { - return RA.addAssemblylineRecipe(aResearchItem, aResearchTime, aInputs, aFluidInputs, aOutput, aDuration, aEUt); - } - - @Override - public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, int time, int eu) { - return addChemicalRecipe(input1, input2, inputFluid, outputFluid, output, null, time, eu); - } - - @Override - public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, Object object, int time, int eu) { - return RA.addChemicalRecipe(input1, input2, inputFluid, outputFluid, output, time, eu); - } - - @Override - public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, ItemStack output2, int time) { - return RA.addChemicalRecipe(input1, input2, inputFluid, outputFluid, output, output2, time); - } - - @Override - public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, int aCircuit, FluidStack inputFluid, - FluidStack outputFluid, ItemStack output, ItemStack output2, int time, int eu) { - if (aCircuit < 0 || aCircuit > 24) { - aCircuit = 22; - } - GT_Recipe aSpecialRecipe = new GT_Recipe( - false, - new ItemStack[] { input1, input2 }, - new ItemStack[] { output, output2 }, - CI.getNumberedCircuit(aCircuit), - new int[] {}, - new FluidStack[] { inputFluid }, - new FluidStack[] { outputFluid }, - time, - eu, - 0); - RecipeMaps.chemicalReactorRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addMultiblockChemicalRecipe(ItemStack[] itemStacks, FluidStack[] fluidStacks, - FluidStack[] fluidStacks2, ItemStack[] outputs, int time, int eu) { - return RA.addMultiblockChemicalRecipe(itemStacks, fluidStacks, fluidStacks2, outputs, time, eu); - } - - private boolean areItemsAndFluidsBothNull(final ItemStack[] items, final FluidStack[] fluids) { - boolean itemsNull = true; - if (items != null) { - for (final ItemStack itemStack : items) { - if (itemStack != null) { - itemsNull = false; - break; - } - } - } - boolean fluidsNull = true; - if (fluids != null) { - for (final FluidStack fluidStack : fluids) { - if (fluidStack != null) { - fluidsNull = false; - break; - } - } - } - return itemsNull && fluidsNull; - } - - @Override - public boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.compressorRecipes.addRecipe( - true, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - public boolean addBrewingRecipe(int aCircuit, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, - boolean aHidden) { - return addBrewingRecipe(CI.getNumberedCircuit(aCircuit), aInput, aOutput, aTime, aEu, aHidden); - } - - @Override - public boolean addBrewingRecipe(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, - boolean aHidden) { - if (aIngredient == null || aInput == null || aOutput == null) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.brewingRecipes.addRecipe( - false, - new ItemStack[] { aIngredient }, - null, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aTime, - aEu, - 0); - if (aHidden && tRecipe != null) { - tRecipe.mHidden = true; - } - return true; - } - - /** - * Lets me add recipes for GT 5.08 & 5.09, since someone broke the method headers. - */ - @Override - public boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aDust, ItemStack aOutput) { - return GT_ModHandler.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput, true); - } - - @Override - public boolean addFluidExtractionRecipe(ItemStack input, FluidStack output, int aTime, int aEu) { - return RA.addFluidSmelterRecipe(GT_Utility.copyAmount(1, input), null, output, 10000, aTime, aEu, false); - } - - @Override - public boolean addFluidExtractionRecipe(ItemStack aEmpty, ItemStack aRemains, FluidStack aFluid, int aDuration, - int aEU) { - return RA - .addFluidSmelterRecipe(GT_Utility.copyAmount(1, aEmpty), aRemains, aFluid, 10000, aDuration, aEU, false); - } - - @Override - public boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn) { - return MaterialGenerator.addFluidCannerRecipe(aContainer, aFullContainer, rFluidIn, null); - } - - @Override - public boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn, - FluidStack rFluidOut) { - return MaterialGenerator.addFluidCannerRecipe(aContainer, aFullContainer, rFluidIn, rFluidOut); - } - - @Override - public boolean addFluidCannerRecipe(ItemStack aFullContainer, ItemStack container, FluidStack rFluidIn, - FluidStack rFluidOut, int aTime, int aEu) { - return MaterialGenerator.addFluidCannerRecipe(container, aFullContainer, rFluidIn, rFluidOut, aTime, aEu); - } - - @Override - public boolean addSemifluidFuel(ItemStack aFuelItem, int aFuelValue) { - return SemiFluidFuelHandler.addSemiFluidFuel(aFuelItem, aFuelValue); - } - - @Override - public boolean addSemifluidFuel(FluidStack aFuelItem, int aFuelValue) { - return SemiFluidFuelHandler.addSemiFluidFuel(aFuelItem, aFuelValue); - } - - @Override - public boolean addVacuumFurnaceRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, int aLevel) { - if (aInput1 != null && aOutput1 != null) { - return addVacuumFurnaceRecipe( - new ItemStack[] { aInput1, aInput2 }, - new FluidStack[] { aFluidInput }, - new ItemStack[] { aOutput1, aOutput2 }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - aLevel); - } else { - return false; - } - } - - @Override - public boolean addVacuumFurnaceRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aLevel) { - if (aInputs != null && aOutputs != null) { - GTPPRecipeMaps.vacuumFurnaceRecipes.addRecipe( - false, - aInputs, - aOutputs, - null, - new int[] {}, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aLevel); - return true; - } else { - return false; - } - } - - @Override - public boolean addUvLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, long eu) { - // Generate Special Laser Recipe - GT_Recipe u = new GT_Recipe( - false, - new ItemStack[] { aInput1, GregtechItemList.Laser_Lens_WoodsGlass.get(0), }, - new ItemStack[] { aOutput }, - null, - new int[] { 10000 }, - new FluidStack[] {}, - new FluidStack[] {}, - time, - (int) eu, - 0); - RecipeMaps.laserEngraverRecipes.add(u); - return true; - } - - @Override - public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int time, long eu, int aTier) { - return addChemicalPlantRecipe(aInputs, aInputFluids, aOutputs, aFluidOutputs, new int[] {}, time, eu, aTier); - } - - @Override - public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int[] aChances, int time, long eu, int aTier) { - if (aInputs.length > 4 || aInputFluids.length > 4 || aOutputs.length > 6 || aFluidOutputs.length > 3) { - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aInputFluids)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - CORE.crash(); - } - - GTPPRecipeMaps.chemicalPlantRecipes - .addRecipe(false, aInputs, aOutputs, null, aChances, aInputFluids, aFluidOutputs, time, (int) eu, aTier); - return true; - } - - @Override - public boolean addBlastRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int time, long eu, int aHeat) { - GT_Recipe aSpecialRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - new int[] {}, - aInputFluids, - aFluidOutputs, - time, - (int) eu, - aHeat); - - RecipeMaps.blastFurnaceRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, - FluidStack aFluidOutput, int aDuration, int aEUt) { - return RA.addPyrolyseRecipe(aInput, aFluidInput, intCircuit, aOutput, aFluidOutput, aDuration, aEUt); - } - - @Override - public boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, - ItemStack aSolidOutput, int aDuration, int aEUt, boolean aHidden) { - if (aInput != null && aOutput != null) { - if (aDuration <= 0) { - return false; - } else { - GT_Recipe tRecipe = RecipeMaps.distilleryRecipes.addRecipe( - true, - new ItemStack[] { aCircuit }, - new ItemStack[] { aSolidOutput }, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - if (aHidden && tRecipe != null) { - tRecipe.mHidden = true; - } - return true; - } - } else { - return false; - } - } - - @Override - public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - return addExtractorRecipe(aInput, aOutput, 10000, aDuration, aEUt); - } - - @Override - public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aChance, int aDuration, int aEUt) { - if (aInput != null && aOutput != null) { - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput.copy() }, - new ItemStack[] { aOutput.copy() }, - null, - new int[] { aChance }, - null, - null, - aDuration, - aEUt, - 0); - RecipeMaps.extractorRecipes.add(aRecipe); - return true; - } else { - return false; - } - } - - @Override - public boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3) { - aOutput1 = GT_OreDictUnificator.get(true, aOutput1); - aOutput2 = GT_OreDictUnificator.get(true, aOutput2); - aOutput3 = GT_OreDictUnificator.get(true, aOutput3); - if (GT_Utility.isStackInvalid(aInput) || GT_Utility.isStackInvalid(aOutput1)) { - return false; - } - if (GT_Utility.getContainerItem(aInput, false) == null) { - - GT_Utility.addSimpleIC2MachineRecipe(aInput, GT_ModHandler.getMaceratorRecipeList(), null, aOutput1); - - GT_Values.RA.addPulveriserRecipe( - aInput, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - new int[] { 10000, 10000, 10000 }, - 400, - 2); - } - return true; - } - - @Override - public boolean addMillingRecipe(Materials aMat, int aEU) { - return addMillingRecipe(MaterialUtils.generateMaterialFromGtENUM(aMat), aEU); - } - - @Override - public boolean addMillingRecipe(Material aMat, int aEU) { - - ItemStack aOreStack = aMat.getOre(16); - ItemStack aCrushedStack = aMat.getCrushed(16); - - ItemStack aMilledStackOres1 = aMat.getMilled(64); - ItemStack aMilledStackCrushed1 = aMat.getMilled(32); - ItemStack aMilledStackOres2 = aMat.getMilled(48); - ItemStack aMilledStackCrushed2 = aMat.getMilled(16); - - ItemStack aMillingBall_Alumina = GregtechItemList.Milling_Ball_Alumina.get(0); - ItemStack aMillingBall_Soapstone = GregtechItemList.Milling_Ball_Soapstone.get(0); - - // Inputs - ItemStack[] aInputsOre1 = new ItemStack[] { CI.getNumberedCircuit(10), aOreStack, aMillingBall_Alumina }; - - ItemStack[] aInputsOre2 = new ItemStack[] { CI.getNumberedCircuit(11), aOreStack, aMillingBall_Soapstone }; - - ItemStack[] aInputsCrushed1 = new ItemStack[] { CI.getNumberedCircuit(10), aCrushedStack, - aMillingBall_Alumina }; - - ItemStack[] aInputsCrushed2 = new ItemStack[] { CI.getNumberedCircuit(11), aCrushedStack, - aMillingBall_Soapstone }; - - // Outputs - ItemStack[] aOutputsOre1 = new ItemStack[] { aMilledStackOres1 }; - - ItemStack[] aOutputsOre2 = new ItemStack[] { aMilledStackOres2 }; - - ItemStack[] aOutputsCrushed1 = new ItemStack[] { aMilledStackCrushed1 }; - - ItemStack[] aOutputsCrushed2 = new ItemStack[] { aMilledStackCrushed2 }; - - ItemStack[][] aInputArray = new ItemStack[][] { aInputsOre1, aInputsOre2, aInputsCrushed1, aInputsCrushed2 }; - ItemStack[][] aOutputArray = new ItemStack[][] { aOutputsOre1, aOutputsOre2, aOutputsCrushed1, - aOutputsCrushed2 }; - int[] aTime = new int[] { 2400, 3000, 1200, 1500 }; - - for (int i = 0; i < 4; i++) { - GT_Recipe aOreRecipe = new GT_Recipe( - false, - aInputArray[i], - aOutputArray[i], - null, - new int[] {}, - null, - null, - aTime[i], - aEU, - 0); - GTPPRecipeMaps.millingRecipes.add(aOreRecipe); - } - return true; - } - - @Override - public boolean addFlotationRecipe(Materials aMat, ItemStack aXanthate, FluidStack[] aInputFluids, - FluidStack[] aOutputFluids, int aTime, int aEU) { - return addFlotationRecipe( - MaterialUtils.generateMaterialFromGtENUM(aMat), - aXanthate, - aInputFluids, - aOutputFluids, - aTime, - aEU); - } - - @Override - public boolean addFlotationRecipe(Material aMat, ItemStack aXanthate, FluidStack[] aInputFluids, - FluidStack[] aOutputFluids, int aTime, int aEU) { - - FlotationRecipeHandler.registerOreType(aMat); - - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { ItemUtils.getSimpleStack(aXanthate, 32), aMat.getMilled(64), aMat.getMilled(64), - aMat.getMilled(64), aMat.getMilled(64), }, - new ItemStack[] {}, - null, - new int[] {}, - aInputFluids, - aOutputFluids, - aTime, - aEU, - 0); - GTPPRecipeMaps.flotationCellRecipes.add(aRecipe); - return true; - } - - @Override - public boolean addpackagerRecipe(ItemStack aRecipeType, ItemStack aSmallDust, ItemStack aTinyDust, - ItemStack aOutputStack1) { - AutoMap aResults = new AutoMap<>(); - // Dust 1 - aResults.put( - GT_Values.RA.addBoxingRecipe(GT_Utility.copyAmount(4L, aSmallDust), aRecipeType, aOutputStack1, 100, 4)); - // Dust 2 - aResults.put( - GT_Values.RA.addBoxingRecipe(GT_Utility.copyAmount(9L, aTinyDust), aRecipeType, aOutputStack1, 100, 4)); - for (boolean b : aResults) { - if (!b) { - return false; - } - } - return true; - } - - @Override - public boolean addFuelForRTG(ItemStack aFuelPellet, int aFuelDays, int aVoltage) { - GTPPRecipeMaps.rtgFuels.addRecipe( - true, - new ItemStack[] { aFuelPellet }, - new ItemStack[] {}, - null, - null, - null, - 0, - aVoltage, - aFuelDays); - return true; - } - - @Override - public boolean addColdTrapRecipe(int aCircuit, ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - int[] aChances, FluidStack aFluidOutput, int aTime, int aEU) { - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedAdvancedCircuit(aCircuit), aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aTime, - aEU, - 0); - - GTPPRecipeMaps.coldTrapRecipes.add(aRecipe); - return true; - } - - @Override - public boolean addReactorProcessingUnitRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - ItemStack[] aOutputs, int[] aChances, FluidStack aFluidOutput, int aTime, int aEU) { - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput1, aInput2 }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aTime, - aEU, - 0); - - GTPPRecipeMaps.reactorProcessingUnitRecipes.add(aRecipe); - return true; - } - - public boolean addNuclearSaltProcessingPlantRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Salt Plant recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.nuclearSaltProcessingPlantRecipes.addRecipe(aRecipe); - return true; - } - - @Override - public boolean addFluidHeaterRecipe(ItemStack aInput, FluidStack aFluidInput, FluidStack aOutput, int aDuration, - int aEUt) { - if ((aInput == null && aFluidInput == null) || aOutput == null) { - return false; - } - RecipeMaps.fluidHeaterRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Override - public boolean addVacuumFreezerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if (aInput == null || aOutput == null) { - return false; - } - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new int[] { 10000 }, - new FluidStack[] {}, - new FluidStack[] {}, - aDuration, - aEUt, - 0); - - RecipeMaps.vacuumFreezerRecipes.add(aRecipe); - return true; - } - - @Override - public boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if (aInput == null || aOutput == null) { - return false; - } - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new int[] { 10000 }, - new FluidStack[] {}, - new FluidStack[] {}, - aDuration, - aEUt, - 0); - - GTPPRecipeMaps.molecularTransformerRecipes.add(aRecipe); - return true; - } - - @Override - public boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt, - int aAmps) { - return addMolecularTransformerRecipe(aInput, aOutput, aDuration, aEUt); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java deleted file mode 100644 index d08b010e97..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java +++ /dev/null @@ -1,95 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gregtech.api.GregTech_API; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_ElectricAutoWorkbench; -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.basic.GT_MetaTileEntity_CropHarvestor; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GT4Entity_AutoCrafter; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GT4Entity_ThermalBoiler; - -public class Gregtech4Content { - - // ID Range 828, 829, 833 - 850 - - public static void run() { - Logger.INFO("Max MTE: " + GregTech_API.METATILEENTITIES.length + " | " + GregTech_API.MAXIMUM_METATILE_IDS); - thermalBoiler(); - multiCrafter(); - tesseracts(); - basic(); - automation(); - } - - private static void automation() { - Logger.INFO("Gregtech 4 Content | Registering Auto Workbenches."); - GregtechItemList.GT4_Electric_Auto_Workbench_LV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31091, 1, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_MV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31092, 2, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_HV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31093, 3, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_EV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31094, 4, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_IV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31095, 5, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_LuV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31096, 6, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_ZPM - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31097, 7, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_UV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31098, 8, "Automatic crafting machine").getStackForm(1L)); - - } - - private static void basic() { - Logger.INFO("Gregtech 4 Content | Registering Crop Managers."); - GregtechItemList.GT4_Crop_Harvester_LV.set( - new GT_MetaTileEntity_CropHarvestor(31111, 1, "Harvests the Cropsticks in front of it").getStackForm(1L)); - GregtechItemList.GT4_Crop_Harvester_MV.set( - new GT_MetaTileEntity_CropHarvestor(31112, 2, "Harvests the Cropsticks in front of it").getStackForm(1L)); - GregtechItemList.GT4_Crop_Harvester_HV.set( - new GT_MetaTileEntity_CropHarvestor(31113, 3, "Harvests the Cropsticks in front of it").getStackForm(1L)); - GregtechItemList.GT4_Crop_Harvester_EV.set( - new GT_MetaTileEntity_CropHarvestor(31114, 4, "Harvests the Cropsticks in front of it").getStackForm(1L)); - GregtechItemList.GT4_Crop_Harvester_IV.set( - new GT_MetaTileEntity_CropHarvestor(31115, 5, "Harvests the Cropsticks in front of it").getStackForm(1L)); - GregtechItemList.GT4_Crop_Harvester_LuV.set( - new GT_MetaTileEntity_CropHarvestor(31116, 6, "Harvests the Cropsticks in front of it").getStackForm(1L)); - GregtechItemList.GT4_Crop_Harvester_ZPM.set( - new GT_MetaTileEntity_CropHarvestor(31117, 7, "Harvests the Cropsticks in front of it").getStackForm(1L)); - GregtechItemList.GT4_Crop_Harvester_UV.set( - new GT_MetaTileEntity_CropHarvestor(31118, 8, "Harvests the Cropsticks in front of it").getStackForm(1L)); - } - - private static void tesseracts() { - // Gregtech 4 Tesseracts - Logger.INFO("Gregtech 4 Content | Registering Tesseracts."); - GregtechItemList.GT4_Tesseract_Generator.set( - new GT_MetaTileEntity_TesseractGenerator(833, "tesseract.generator", "Tesseract Generator", 4) - .getStackForm(1L)); - GregtechItemList.GT4_Tesseract_Terminal.set( - new GT_MetaTileEntity_TesseractTerminal(834, "tesseract.terminal", "Tesseract Terminal", 4) - .getStackForm(1L)); - } - - private static void thermalBoiler() { - // Gregtech 4 Thermal Boiler - if (CORE.ConfigSwitches.enableMultiblock_ThermalBoiler) { - Logger.INFO("Gregtech 4 Content | Registering Thermal Boiler."); - GregtechItemList.GT4_Thermal_Boiler - .set(new GT4Entity_ThermalBoiler(875, "gtplusplus.thermal.boiler", "Thermal Boiler").getStackForm(1L)); - } - } - - private static void multiCrafter() { - // Gregtech 4 Multiblock Auto-Crafter - Logger.INFO("Gregtech 4 Content | Registering Multiblock Crafter."); - GregtechItemList.GT4_Multi_Crafter.set( - new GT4Entity_AutoCrafter(876, "gtplusplus.autocrafter.multi", "Large Scale Auto-Assembler v1.01") - .getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java deleted file mode 100644 index e77e2b1c54..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java +++ /dev/null @@ -1,109 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -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.material.ALLOY; -import gtPlusPlus.core.recipe.RECIPES_MachineComponents; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -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 { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Advanced Boilers."); - run1(); - } - - private static void run1() { - // Boilers - GregtechItemList.Boiler_Advanced_LV - .set(new GT_MetaTileEntity_Boiler_LV(753, "Advanced Boiler [LV]", 1).getStackForm(1L)); - GregtechItemList.Boiler_Advanced_MV - .set(new GT_MetaTileEntity_Boiler_MV(754, "Advanced Boiler [MV]", 2).getStackForm(1L)); - GregtechItemList.Boiler_Advanced_HV - .set(new GT_MetaTileEntity_Boiler_HV(755, "Advanced Boiler [HV]", 3).getStackForm(1L)); - - ItemStack chassisT1 = ItemUtils - .getItemStackWithMeta(true, "miscutils:itemBoilerChassis", "Boiler_Chassis_T1", 0, 1); - ItemStack chassisT2 = ItemUtils - .getItemStackWithMeta(true, "miscutils:itemBoilerChassis", "Boiler_Chassis_T1", 1, 1); - ItemStack chassisT3 = ItemUtils - .getItemStackWithMeta(true, "miscutils:itemBoilerChassis", "Boiler_Chassis_T1", 2, 1); - - // Make the Coil in each following recipe a hammer and a Screwdriver. - - // Chassis Recipes - GT_ModHandler.addCraftingRecipe( - chassisT1, - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WCW", "GMG", "WPW", Character.valueOf('M'), ItemList.Hull_ULV, Character.valueOf('P'), - OrePrefixes.pipeLarge.get(Materials.Bronze), Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Primitive), Character.valueOf('W'), - OrePrefixes.plate.get(Materials.Lead), Character.valueOf('G'), - OrePrefixes.pipeSmall.get(Materials.Copper) }); - - GT_ModHandler.addCraftingRecipe( - chassisT2, - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WCW", "GMG", "WPW", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('P'), - OrePrefixes.pipeLarge.get(Materials.Steel), Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('W'), - OrePrefixes.plate.get(Materials.Steel), Character.valueOf('G'), - OrePrefixes.pipeSmall.get(Materials.Bronze) }); - - GT_ModHandler.addCraftingRecipe( - chassisT3, - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WCW", "GMG", "WPW", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('P'), - OrePrefixes.pipeLarge.get(Materials.StainlessSteel), Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'), - OrePrefixes.plate.get(Materials.Aluminium), Character.valueOf('G'), - OrePrefixes.pipeSmall.get(Materials.Steel) }); - - ItemStack pipeTier1 = ItemUtils.getItemStackOfAmountFromOreDict(RECIPES_MachineComponents.pipeTier7, 1); - ItemStack pipeTier2 = ItemUtils.getItemStackOfAmountFromOreDict(RECIPES_MachineComponents.pipeTier8, 1); - ItemStack pipeTier3 = ItemUtils.getItemStackOfAmountFromOreDict(RECIPES_MachineComponents.pipeTier9, 1); - - // Boiler Recipes - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Boiler_Advanced_LV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "dCw", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('P'), - pipeTier1, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('W'), - chassisT1, Character.valueOf('G'), OrePrefixes.gear.get(Materials.Steel) }); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Boiler_Advanced_MV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "dCw", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('P'), - pipeTier2, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'), - chassisT2, Character.valueOf('G'), ALLOY.SILICON_CARBIDE.getGear(1) }); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Boiler_Advanced_HV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "dCw", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('P'), - pipeTier3, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('W'), - chassisT3, Character.valueOf('G'), ALLOY.SILICON_CARBIDE.getGear(1) }); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java deleted file mode 100644 index 3c244739f6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java +++ /dev/null @@ -1,50 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gregtech.api.GregTech_API; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers.GT_MetaTileEntity_Hatch_Catalysts; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.algae.GregtechMTE_AlgaePondBase; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.chemplant.GregtechMTE_ChemicalPlant; - -public class GregtechAlgaeContent { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Algae Content."); - run1(); - } - - private static void run1() { - - // Algae Pond - GregtechItemList.AlgaeFarm_Controller - .set(new GregtechMTE_AlgaePondBase(997, "algaefarm.controller.tier.single", "Algae Farm").getStackForm(1L)); - - // Chemical Plant - GregtechItemList.ChemicalPlant_Controller.set( - new GregtechMTE_ChemicalPlant(998, "chemicalplant.controller.tier.single", "ExxonMobil Chemical Plant") - .getStackForm(1L)); - - GregtechItemList.Bus_Catalysts.set( - (new GT_MetaTileEntity_Hatch_Catalysts(31030, "hatch.catalysts", "Catalyst Housing")).getStackForm(1L)); - - int aTier = 0; - // Bronze - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 0, 10); - // Steel - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings2, 0, 16); - // Aluminium - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 1, 17); - // Stainless - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings4, 1, 49); - // Titanium - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings4, 2, 50); - // Tungsten - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings4, 0, 48); - // Laurenium - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 2, 84); - // Botmium - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 3, 11); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java deleted file mode 100644 index 8fc84177ca..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java +++ /dev/null @@ -1,20 +0,0 @@ -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.misc.GMTE_AmazonPackager; - -public class GregtechAmazonWarehouse { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Amazon Warehouse Multiblock."); - run1(); - } - - private static void run1() { - // Amazon packager multiblock - GregtechItemList.Amazon_Warehouse_Controller.set( - new GMTE_AmazonPackager(942, "amazonprime.controller.tier.single", "Amazon Warehousing Depot.") - .getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java deleted file mode 100644 index 20df726ebe..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java +++ /dev/null @@ -1,133 +0,0 @@ -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 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", - "UHV 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(Materials.SuperconductorUHV) }); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java deleted file mode 100644 index 22d3cd9608..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java +++ /dev/null @@ -1,1269 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import static gregtech.api.enums.Mods.EnderIO; -import static gregtech.api.enums.Mods.Thaumcraft; - -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -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.lib.CORE; -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.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GregtechMetaPipeEntityFluid; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GregtechMetaPipeEntity_Cable; - -public class GregtechConduits { - - // 30000-30999 - - private static int BaseWireID = 30600; - private static int BasePipeID = 30700; - private static int BasePipeHexadecupleID = 30100; - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Custom Cables/Wires/Pipes."); - if (CORE.ConfigSwitches.enableCustom_Cables) { - run1(); - } - if (CORE.ConfigSwitches.enableCustom_Pipes) { - run2(); - run3(); - } - } - - private static void run3() { - - try { - Class aPipeEntity = GT_MetaPipeEntity_Fluid.class; - Constructor constructor = aPipeEntity.getConstructor( - int.class, - String.class, - String.class, - float.class, - Materials.class, - int.class, - int.class, - boolean.class, - int.class); - if (constructor != null) { - Logger.INFO("Generating Hexadecuple pipes."); - generateFluidMultiPipes( - constructor, - Materials.Copper, - MaterialUtils.getMaterialName(Materials.Copper), - "Copper", - BasePipeHexadecupleID++, - 60, - 1000, - true); - generateFluidMultiPipes( - constructor, - Materials.Bronze, - MaterialUtils.getMaterialName(Materials.Bronze), - "Bronze", - BasePipeHexadecupleID++, - 120, - 2000, - true); - generateFluidMultiPipes( - constructor, - Materials.Steel, - MaterialUtils.getMaterialName(Materials.Steel), - "Steel", - BasePipeHexadecupleID++, - 240, - 2500, - true); - generateFluidMultiPipes( - constructor, - Materials.StainlessSteel, - MaterialUtils.getMaterialName(Materials.StainlessSteel), - "Stainless Steel", - BasePipeHexadecupleID++, - 360, - 3000, - true); - generateFluidMultiPipes( - constructor, - Materials.Titanium, - MaterialUtils.getMaterialName(Materials.Titanium), - "Titanium", - BasePipeHexadecupleID++, - 480, - 5000, - true); - generateFluidMultiPipes( - constructor, - Materials.TungstenSteel, - MaterialUtils.getMaterialName(Materials.TungstenSteel), - "Tungsten Steel", - BasePipeHexadecupleID++, - 600, - 7500, - true); - generateFluidMultiPipes( - constructor, - Materials.Plastic, - MaterialUtils.getMaterialName(Materials.Plastic), - "Plastic", - BasePipeHexadecupleID++, - 360, - 350, - true); - - Materials aPTFE = Materials.get("Polytetrafluoroethylene"); - if (aPTFE != null) { - generateFluidMultiPipes( - constructor, - aPTFE, - MaterialUtils.getMaterialName(aPTFE), - "PTFE", - BasePipeHexadecupleID++, - 480, - 600, - true); - } - } else { - Logger.INFO("Failed during Hexadecuple pipe generation."); - } - - } catch (NoSuchMethodException | SecurityException e) { - Logger.INFO("Failed during Hexadecuple pipe generation. [Ecx]"); - e.printStackTrace(); - } - - // Generate Heat Pipes - // GregtechItemList.HeatPipe_Tier_1.set(new GT_MetaPipeEntity_Heat(31021, "gtpp.pipe.heat.basic.01", "Lead Heat - // Pipe (500C)", Materials.Lead, 500).getStackForm(1L)); - // GregtechItemList.HeatPipe_Tier_2.set(new GT_MetaPipeEntity_Heat(31022, "gtpp.pipe.heat.basic.02", "Iron Heat - // Pipe (500C)", Materials.Iron, 500).getStackForm(1L)); - // GregtechItemList.HeatPipe_Tier_3.set(new GT_MetaPipeEntity_Heat(31023, "gtpp.pipe.heat.basic.03", "Silver - // Heat Pipe (1500C)", Materials.Silver, 1500).getStackForm(1L)); - - } - - private static void generateFluidMultiPipes(Constructor aClazz, Materials aMaterial, - String name, String displayName, int startID, int transferRatePerSec, int heatCapacity, boolean gasProof) { - GT_MetaPipeEntity_Fluid aPipe; - final int transferRatePerTick = transferRatePerSec / 20; - try { - aPipe = aClazz.newInstance( - startID, - "GT_Pipe_" + name + "_Hexadecuple", - "Hexadecuple " + displayName + " Fluid Pipe", - 1.0F, - aMaterial, - transferRatePerTick, - heatCapacity, - gasProof, - 16); - if (aPipe == null) { - Logger.INFO("Failed to Generate " + aMaterial + " Hexadecuple pipes."); - } else { - Logger.INFO("Generated " + aMaterial + " Hexadecuple pipes."); - GT_OreDictUnificator.registerOre("pipeHexadecuple" + aMaterial, aPipe.getStackForm(1L)); - } - } catch (InstantiationException | IllegalAccessException | IllegalArgumentException - | InvocationTargetException e) { - Logger.INFO("Failed to Generate " + aMaterial + " Hexadecuple pipes. [Ecx]"); - e.printStackTrace(); - } - } - - private static void run1() { - - wireFactory("RedstoneAlloy", 32, BaseWireID + 45, 0, 2, 1, new short[] { 178, 34, 34, 0 }); - - // need to go back id because fluid pipes already occupy - makeCustomWires(ELEMENT.STANDALONE.HYPOGEN, BaseWireID - 15, 0, 0, 8, GT_Values.V[11], false, true); - - } - - private static void run2() { - generateNonGTFluidPipes(GT_Materials.Staballoy, ALLOY.STABALLOY, BasePipeID, 12500, 7500, true); - generateNonGTFluidPipes(GT_Materials.Tantalloy60, ALLOY.TANTALLOY_60, BasePipeID + 5, 10000, 4250, true); - generateNonGTFluidPipes(GT_Materials.Tantalloy61, ALLOY.TANTALLOY_61, BasePipeID + 10, 12000, 5800, true); - if (Thaumcraft.isModLoaded()) { - generateNonGTFluidPipes(GT_Materials.Void, null, BasePipeID + 15, 1600, 25000, true); - } - generateGTFluidPipes(Materials.Europium, BasePipeID + 20, 12000, 7500, true); - generateNonGTFluidPipes(GT_Materials.Potin, ALLOY.POTIN, BasePipeID + 25, 500, 2000, true); - generateNonGTFluidPipes(GT_Materials.MaragingSteel300, ALLOY.MARAGING300, BasePipeID + 30, 14000, 2500, true); - generateNonGTFluidPipes(GT_Materials.MaragingSteel350, ALLOY.MARAGING350, BasePipeID + 35, 16000, 2500, true); - generateNonGTFluidPipes(GT_Materials.Inconel690, ALLOY.INCONEL_690, BasePipeID + 40, 15000, 4800, true); - generateNonGTFluidPipes(GT_Materials.Inconel792, ALLOY.INCONEL_792, BasePipeID + 45, 16000, 5500, true); - generateNonGTFluidPipes(GT_Materials.HastelloyX, ALLOY.HASTELLOY_X, BasePipeID + 50, 20000, 4200, true); - - generateGTFluidPipes(Materials.Tungsten, BasePipeID + 55, 4320, 7200, true); - if (EnderIO.isModLoaded()) { - generateGTFluidPipes(Materials.DarkSteel, BasePipeID + 60, 2320, 2750, true); - } - generateGTFluidPipes(Materials.Clay, BasePipeID + 65, 100, 500, false); - generateGTFluidPipes(Materials.Lead, BasePipeID + 70, 350, 1200, true); - - generateNonGTFluidPipes( - GT_Materials.TriniumNaquadahCarbonite, - ALLOY.TRINIUM_NAQUADAH_CARBON, - 30500, - 20, - 250000, - true); - } - - 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.get(Material); - 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."); - V = 0; - } - makeWires(T, ID, insulatedLoss, uninsulatedLoss, Amps, GT_Values.V[V], true, false, rgb); - } - - private static void makeWires(final Materials aMaterial, final int aStartID, final long aLossInsulated, - final long aLoss, final long aAmperage, final long aVoltage, final boolean aInsulatable, - final boolean aAutoInsulated, final short[] aRGB) { - Logger.WARNING("Gregtech5u Content | Registered " + aMaterial.mName + " as a new material for Wire & Cable."); - GT_OreDictUnificator.registerOre( - OrePrefixes.wireGt01, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 0, - "wire." + aMaterial.mName.toLowerCase() + ".01", - "1x " + aMaterial.mDefaultLocalName + " Wire", - 0.125F, - aMaterial, - aLoss, - 1L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.wireGt02, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 1, - "wire." + aMaterial.mName.toLowerCase() + ".02", - "2x " + aMaterial.mDefaultLocalName + " Wire", - 0.25F, - aMaterial, - aLoss, - 2L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.wireGt04, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 2, - "wire." + aMaterial.mName.toLowerCase() + ".04", - "4x " + aMaterial.mDefaultLocalName + " Wire", - 0.375F, - aMaterial, - aLoss, - 4L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.wireGt08, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 3, - "wire." + aMaterial.mName.toLowerCase() + ".08", - "8x " + aMaterial.mDefaultLocalName + " Wire", - 0.50F, - aMaterial, - aLoss, - 8L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.wireGt12, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 4, - "wire." + aMaterial.mName.toLowerCase() + ".12", - "12x " + aMaterial.mDefaultLocalName + " Wire", - 0.625F, - aMaterial, - aLoss, - 12L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.wireGt16, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 5, - "wire." + aMaterial.mName.toLowerCase() + ".16", - "16x " + aMaterial.mDefaultLocalName + " Wire", - 0.75F, - aMaterial, - aLoss, - 16L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aRGB).getStackForm(1L)); - if (aInsulatable) { - GT_OreDictUnificator.registerOre( - OrePrefixes.cableGt01, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 6, - "cable." + aMaterial.mName.toLowerCase() + ".01", - "1x " + aMaterial.mDefaultLocalName + " Cable", - 0.25F, - aMaterial, - aLossInsulated, - 1L * aAmperage, - aVoltage, - true, - false, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.cableGt02, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 7, - "cable." + aMaterial.mName.toLowerCase() + ".02", - "2x " + aMaterial.mDefaultLocalName + " Cable", - 0.375F, - aMaterial, - aLossInsulated, - 2L * aAmperage, - aVoltage, - true, - false, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.cableGt04, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 8, - "cable." + aMaterial.mName.toLowerCase() + ".04", - "4x " + aMaterial.mDefaultLocalName + " Cable", - 0.5F, - aMaterial, - aLossInsulated, - 4L * aAmperage, - aVoltage, - true, - false, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.cableGt08, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 9, - "cable." + aMaterial.mName.toLowerCase() + ".08", - "8x " + aMaterial.mDefaultLocalName + " Cable", - 0.625F, - aMaterial, - aLossInsulated, - 8L * aAmperage, - aVoltage, - true, - false, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.cableGt12, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 10, - "cable." + aMaterial.mName.toLowerCase() + ".12", - "12x " + aMaterial.mDefaultLocalName + " Cable", - 0.75F, - aMaterial, - aLossInsulated, - 12L * aAmperage, - aVoltage, - true, - false, - aRGB).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.cableGt16, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 11, - "cable." + aMaterial.mName.toLowerCase() + ".16", - "16x " + aMaterial.mDefaultLocalName + " Cable", - 0.875f, - aMaterial, - aLossInsulated, - 16L * aAmperage, - aVoltage, - true, - false, - aRGB).getStackForm(1L)); - } - } - - private static void customWireFactory(final Material Material, final int Voltage, final int ID, - final long insulatedLoss, final long uninsulatedLoss, final long Amps) { - 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."); - V = 0; - } - makeCustomWires(Material, ID, insulatedLoss, uninsulatedLoss, Amps, GT_Values.V[V], true, false); - } - - private static void makeCustomWires(final Material aMaterial, final int aStartID, final long aLossInsulated, - final long aLoss, final long aAmperage, final long aVoltage, final boolean aInsulatable, - final boolean aAutoInsulated) { - Logger.WARNING( - "Gregtech5u Content | Registered " + aMaterial.getLocalizedName() + " as a new material for Wire & Cable."); - registerOre( - OrePrefixes.wireGt01, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 0, - "wire." + aMaterial.getLocalizedName() - .toLowerCase() + ".01", - "1x " + aMaterial.getLocalizedName() + " Wire", - 0.125F, - aLoss, - 1L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.wireGt02, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 1, - "wire." + aMaterial.getLocalizedName() - .toLowerCase() + ".02", - "2x " + aMaterial.getLocalizedName() + " Wire", - 0.25F, - aLoss, - 2L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.wireGt04, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 2, - "wire." + aMaterial.getLocalizedName() - .toLowerCase() + ".04", - "4x " + aMaterial.getLocalizedName() + " Wire", - 0.375F, - aLoss, - 4L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.wireGt08, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 3, - "wire." + aMaterial.getLocalizedName() - .toLowerCase() + ".08", - "8x " + aMaterial.getLocalizedName() + " Wire", - 0.50F, - aLoss, - 8L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.wireGt12, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 4, - "wire." + aMaterial.getLocalizedName() - .toLowerCase() + ".12", - "12x " + aMaterial.getLocalizedName() + " Wire", - 0.625F, - aLoss, - 12L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.wireGt16, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 5, - "wire." + aMaterial.getLocalizedName() - .toLowerCase() + ".16", - "16x " + aMaterial.getLocalizedName() + " Wire", - 0.75F, - aLoss, - 16L * aAmperage, - aVoltage, - false, - !aAutoInsulated, - aMaterial.getRGBA()).getStackForm(1L)); - if (aInsulatable) { - registerOre( - OrePrefixes.cableGt01, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 6, - "cable." + aMaterial.getLocalizedName() - .toLowerCase() + ".01", - "1x " + aMaterial.getLocalizedName() + " Cable", - 0.25F, - aLossInsulated, - 1L * aAmperage, - aVoltage, - true, - false, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.cableGt02, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 7, - "cable." + aMaterial.getLocalizedName() - .toLowerCase() + ".02", - "2x " + aMaterial.getLocalizedName() + " Cable", - 0.375F, - aLossInsulated, - 2L * aAmperage, - aVoltage, - true, - false, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.cableGt04, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 8, - "cable." + aMaterial.getLocalizedName() - .toLowerCase() + ".04", - "4x " + aMaterial.getLocalizedName() + " Cable", - 0.5F, - aLossInsulated, - 4L * aAmperage, - aVoltage, - true, - false, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.cableGt08, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 9, - "cable." + aMaterial.getLocalizedName() - .toLowerCase() + ".08", - "8x " + aMaterial.getLocalizedName() + " Cable", - 0.625F, - aLossInsulated, - 8L * aAmperage, - aVoltage, - true, - false, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.cableGt12, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 10, - "cable." + aMaterial.getLocalizedName() - .toLowerCase() + ".12", - "12x " + aMaterial.getLocalizedName() + " Cable", - 0.75F, - aLossInsulated, - 12L * aAmperage, - aVoltage, - true, - false, - aMaterial.getRGBA()).getStackForm(1L)); - registerOre( - OrePrefixes.cableGt16, - aMaterial, - new GregtechMetaPipeEntity_Cable( - aStartID + 11, - "cable." + aMaterial.getLocalizedName() - .toLowerCase() + ".16", - "16x " + aMaterial.getLocalizedName() + " Cable", - 0.875f, - aLossInsulated, - 16L * aAmperage, - aVoltage, - true, - false, - aMaterial.getRGBA()).getStackForm(1L)); - } - } - - private static void superConductorFactory(final GT_Materials Material, final int Voltage, final int ID, - final long insulatedLoss, final long uninsulatedLoss, final long Amps) { - final GT_Materials T = Material; - int V = 0; - 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 { - Logger.ERROR("Failed to set voltage on " + Material.name() + ". Invalid voltage of " + Voltage + "V set."); - Logger.ERROR(Material.name() + " has defaulted to 8v."); - V = 0; - } - } - - private static void generateGTFluidPipes(final Materials material, final int startID, final int transferRatePerSec, - final int heatResistance, final boolean isGasProof) { - final int transferRatePerTick = transferRatePerSec / 20; - final long mass = material.getMass(); - final long voltage = material.mMeltingPoint >= 2800 ? 64 : 16; - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeTiny.get(material), - new GT_MetaPipeEntity_Fluid( - startID, - "GT_Pipe_" + material.mDefaultLocalName + "_Tiny", - "Tiny " + material.mDefaultLocalName + " Fluid Pipe", - 0.25F, - material, - transferRatePerTick * 2, - heatResistance, - isGasProof).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeSmall.get(material), - new GT_MetaPipeEntity_Fluid( - startID + 1, - "GT_Pipe_" + material.mDefaultLocalName + "_Small", - "Small " + material.mDefaultLocalName + " Fluid Pipe", - 0.375F, - material, - transferRatePerTick * 4, - heatResistance, - isGasProof).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeMedium.get(material), - new GT_MetaPipeEntity_Fluid( - startID + 2, - "GT_Pipe_" + material.mDefaultLocalName + "", - "" + material.mDefaultLocalName + " Fluid Pipe", - 0.5F, - material, - transferRatePerTick * 12, - heatResistance, - isGasProof).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeLarge.get(material), - new GT_MetaPipeEntity_Fluid( - startID + 3, - "GT_Pipe_" + material.mDefaultLocalName + "_Large", - "Large " + material.mDefaultLocalName + " Fluid Pipe", - 0.75F, - material, - transferRatePerTick * 24, - heatResistance, - isGasProof).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeHuge.get(material), - new GT_MetaPipeEntity_Fluid( - startID + 4, - "GT_Pipe_" + material.mDefaultLocalName + "_Huge", - "Huge " + material.mDefaultLocalName + " Fluid Pipe", - 0.875F, - material, - transferRatePerTick * 48, - heatResistance, - isGasProof).getStackForm(1L)); - // generatePipeRecipes(material.mDefaultLocalName, mass, voltage); - } - - private static void generateNonGTFluidPipes(final GT_Materials material, final Material myMaterial, - final int startID, final int transferRatePerSec, final int heatResistance, final boolean isGasProof) { - final int transferRatePerTick = transferRatePerSec / 20; - long mass; - if (myMaterial != null) { - mass = myMaterial.getMass(); - } else { - mass = ELEMENT.getInstance().IRON.getMass(); - } - - int tVoltageMultiplier = (material.mBlastFurnaceTemp >= 2800) ? 64 : 16; - - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeTiny.get(material), - new GregtechMetaPipeEntityFluid( - startID, - "GT_Pipe_" + material.mDefaultLocalName + "_Tiny", - "Tiny " + material.mDefaultLocalName + " Fluid Pipe", - 0.25F, - material, - transferRatePerTick * 2, - heatResistance, - isGasProof).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeSmall.get(material), - new GregtechMetaPipeEntityFluid( - startID + 1, - "GT_Pipe_" + material.mDefaultLocalName + "_Small", - "Small " + material.mDefaultLocalName + " Fluid Pipe", - 0.375F, - material, - transferRatePerTick * 4, - heatResistance, - isGasProof).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeMedium.get(material), - new GregtechMetaPipeEntityFluid( - startID + 2, - "GT_Pipe_" + material.mDefaultLocalName + "", - "" + material.mDefaultLocalName + " Fluid Pipe", - 0.5F, - material, - transferRatePerTick * 12, - heatResistance, - isGasProof).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeLarge.get(material), - new GregtechMetaPipeEntityFluid( - startID + 3, - "GT_Pipe_" + material.mDefaultLocalName + "_Large", - "Large " + material.mDefaultLocalName + " Fluid Pipe", - 0.75F, - material, - transferRatePerTick * 24, - heatResistance, - isGasProof).getStackForm(1L)); - GT_OreDictUnificator.registerOre( - OrePrefixes.pipeHuge.get(material), - new GregtechMetaPipeEntityFluid( - startID + 4, - "GT_Pipe_" + material.mDefaultLocalName + "_Huge", - "Huge " + material.mDefaultLocalName + " Fluid Pipe", - 0.875F, - material, - transferRatePerTick * 48, - heatResistance, - isGasProof).getStackForm(1L)); - // generatePipeRecipes(material.mDefaultLocalName, mass, tVoltageMultiplier); - - } - - public static void generatePipeRecipes(final String materialName, final long Mass, final long vMulti) { - - String output = materialName.substring(0, 1) - .toUpperCase() + materialName.substring(1); - output = Utils.sanitizeString(output); - - if (output.equals("VoidMetal")) { - output = "Void"; - } - - Logger.INFO("Generating " + output + " pipes & respective recipes."); - - ItemStack pipeIngot = ItemUtils.getItemStackOfAmountFromOreDict("ingot" + output, 1); - ItemStack pipePlate = ItemUtils.getItemStackOfAmountFromOreDict("plate" + output, 1); - - if (pipeIngot == null) { - if (pipePlate != null) { - pipeIngot = pipePlate; - } - } - - // Check all pipes are not null - Logger.WARNING( - "Generated pipeTiny from " + materialName - + "? " - + ((ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Tiny" + output, 1) != null) ? true : false)); - Logger.WARNING( - "Generated pipeSmall from " + materialName - + "? " - + ((ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Small" + output, 1) != null) ? true : false)); - Logger.WARNING( - "Generated pipeNormal from " + materialName - + "? " - + ((ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Medium" + output, 1) != null) ? true : false)); - Logger.WARNING( - "Generated pipeLarge from " + materialName - + "? " - + ((ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Large" + output, 1) != null) ? true : false)); - Logger.WARNING( - "Generated pipeHuge from " + materialName - + "? " - + ((ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Huge" + output, 1) != null) ? true : false)); - - int eut = 120; - eut = (int) (8 * vMulti); - - // Add the Three Shaped Recipes First - RecipeUtils.addShapedRecipe( - pipePlate, - "craftingToolWrench", - pipePlate, - pipePlate, - null, - pipePlate, - pipePlate, - "craftingToolHardHammer", - pipePlate, - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Small" + output, 6)); - - RecipeUtils.addShapedRecipe( - pipePlate, - pipePlate, - pipePlate, - "craftingToolWrench", - null, - "craftingToolHardHammer", - pipePlate, - pipePlate, - pipePlate, - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Medium" + output, 2)); - - RecipeUtils.addShapedRecipe( - pipePlate, - "craftingToolHardHammer", - pipePlate, - pipePlate, - null, - pipePlate, - pipePlate, - "craftingToolWrench", - pipePlate, - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Large" + output, 1)); - - if (pipeIngot != null && ItemUtils.checkForInvalidItems(pipeIngot)) { - // 1 Clay Plate = 1 Clay Dust = 2 Clay Ball - int inputMultiplier = materialName.equals("Clay") ? 2 : 1; - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 1 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Tiny.get(0), - ItemUtils.getItemStackOfAmountFromOreDictNoBroken("pipe" + "Tiny" + output, 2), - 5, - eut); - - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 1 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Small.get(0), - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Small" + output, 1), - 10, - eut); - - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 3 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Medium.get(0), - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Medium" + output, 1), - 1 * 20, - eut); - - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 6 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Large.get(0), - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Large" + output, 1), - 2 * 20, - eut); - - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 12 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Huge.get(0), - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Huge" + output, 1), - 4 * 20, - eut); - } - - if ((eut < 512) && !output.equals("Void")) { - try { - final ItemStack pipePlateDouble = ItemUtils.getItemStackOfAmountFromOreDict("plateDouble" + output, 1) - .copy(); - if (pipePlateDouble != null) { - RecipeUtils.addShapedRecipe( - pipePlateDouble, - "craftingToolHardHammer", - pipePlateDouble, - pipePlateDouble, - null, - pipePlateDouble, - pipePlateDouble, - "craftingToolWrench", - pipePlateDouble, - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Huge" + output, 1)); - } else { - Logger.INFO( - "Failed to add a recipe for " + materialName - + " Huge pipes. Double plates probably do not exist."); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - } - - public static boolean registerOre(OrePrefixes aPrefix, Material aMaterial, ItemStack aStack) { - return registerOre(aPrefix.get(Utils.sanitizeString(aMaterial.getLocalizedName())), aStack); - } - - public static boolean registerOre(Object aName, ItemStack aStack) { - if ((aName == null) || (GT_Utility.isStackInvalid(aStack))) return false; - String tName = aName.toString(); - if (GT_Utility.isStringInvalid(tName)) return false; - ArrayList tList = GT_OreDictUnificator.getOres(tName); - for (ItemStack itemStack : tList) - if (GT_Utility.areStacksEqual((ItemStack) itemStack, aStack, true)) return false; - OreDictionary.registerOre(tName, GT_Utility.copyAmount(1L, new Object[] { aStack })); - return true; - } - - public static boolean generateWireRecipes(Material aMaterial) { - - ItemStack aPlate = aMaterial.getPlate(1); - ItemStack aIngot = aMaterial.getIngot(1); - ItemStack aRod = aMaterial.getRod(1); - ItemStack aWire01 = aMaterial.getWire01(1); - ItemStack aWire02 = aMaterial.getWire02(1); - ItemStack aWire04 = aMaterial.getWire04(1); - ItemStack aWire08 = aMaterial.getWire08(1); - ItemStack aWire12 = aMaterial.getWire12(1); - ItemStack aWire16 = aMaterial.getWire16(1); - ItemStack aCable01 = aMaterial.getCable01(1); - ItemStack aCable02 = aMaterial.getCable02(1); - ItemStack aCable04 = aMaterial.getCable04(1); - ItemStack aCable08 = aMaterial.getCable08(1); - ItemStack aCable12 = aMaterial.getCable12(1); - ItemStack aCable16 = aMaterial.getCable16(1); - ItemStack aFineWire = aMaterial.getFineWire(1); - - // Adds manual crafting recipe - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aPlate, aWire01 })) { - RecipeUtils - .addShapedRecipe(aPlate, CI.craftingToolWireCutter, null, null, null, null, null, null, null, aWire01); - } - - // Wire mill - if (ItemUtils - .checkForInvalidItems(new ItemStack[] { aIngot, aWire01, aWire02, aWire04, aWire08, aWire12, aWire16 })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(1), - GT_Utility.getIntegratedCircuit(1), - aMaterial.getWire01(2), - 100, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(1), - GT_Utility.getIntegratedCircuit(2), - aMaterial.getWire02(1), - 150, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(2), - GT_Utility.getIntegratedCircuit(4), - aMaterial.getWire04(1), - 200, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(4), - GT_Utility.getIntegratedCircuit(8), - aMaterial.getWire08(1), - 250, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(6), - GT_Utility.getIntegratedCircuit(12), - aMaterial.getWire12(1), - 300, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(8), - GT_Utility.getIntegratedCircuit(16), - aMaterial.getWire16(1), - 350, - 4); - } - - if (ItemUtils - .checkForInvalidItems(new ItemStack[] { aRod, aWire01, aWire02, aWire04, aWire08, aWire12, aWire16 })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(1), - GT_Utility.getIntegratedCircuit(1), - aMaterial.getWire01(1), - 50, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(2), - GT_Utility.getIntegratedCircuit(2), - aMaterial.getWire02(1), - 100, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(4), - GT_Utility.getIntegratedCircuit(4), - aMaterial.getWire04(1), - 150, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(8), - GT_Utility.getIntegratedCircuit(8), - aMaterial.getWire08(1), - 200, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(12), - GT_Utility.getIntegratedCircuit(12), - aMaterial.getWire12(1), - 250, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(16), - GT_Utility.getIntegratedCircuit(16), - aMaterial.getWire16(1), - 300, - 4); - } - - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aIngot, aFineWire })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(1), - GT_Utility.getIntegratedCircuit(3), - aMaterial.getFineWire(8), - 100, - 4); - } - - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aRod, aFineWire })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(1), - GT_Utility.getIntegratedCircuit(3), - aMaterial.getFineWire(4), - 50, - 4); - } - - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aFineWire })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getWire01(1), - GT_Utility.getIntegratedCircuit(1), - aMaterial.getFineWire(4), - 200, - 8); - } - - // Extruder - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aIngot, aWire01 })) { - GT_Values.RA - .addExtruderRecipe(aIngot, ItemList.Shape_Extruder_Wire.get(0), aMaterial.getWire01(2), 196, 96); - } - - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aCable01, aWire01 })) { - GT_Values.RA.addUnboxingRecipe(aCable01, aWire01, null, 100, 8); - } - - // Shapeless Down-Crafting - // 2x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire02 }, aMaterial.getWire01(2)); - } - - // 4x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire04 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire04 }, aMaterial.getWire01(4)); - } - - // 8x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire08 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire08 }, aMaterial.getWire01(8)); - } - - // 12x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire12 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire12 }, aMaterial.getWire01(12)); - } - - // 16x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire16 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire16 }, aMaterial.getWire01(16)); - } - - // 1x -> 2x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire01, aWire01 }, aWire02); - } - - // 2x -> 4x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire02, aWire04 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire02, aWire02 }, aWire04); - } - - // 4x -> 8x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire04, aWire08 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire04, aWire04 }, aWire08); - } - - // 8x -> 12x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire04, aWire08, aWire12 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire04, aWire08 }, aWire12); - } - - // 12x -> 16x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire04, aWire12, aWire16 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire04, aWire12 }, aWire16); - } - - // 8x -> 16x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire08, aWire16 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire08, aWire08 }, aWire16); - } - - // 1x -> 4x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire04 })) { - RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] { aWire01, aWire01, aWire01, aWire01 }, aWire04); - } - - // 1x -> 8x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire08 })) { - RecipeUtils.addShapelessGregtechRecipe( - new ItemStack[] { aWire01, aWire01, aWire01, aWire01, aWire01, aWire01, aWire01, aWire01 }, - aWire08); - } - - // Wire to Cable - // 1x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aCable01 })) { - GT_Values.RA.addAssemblerRecipe( - aWire01, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 144), - aCable01, - 100, - 8); - } - - // 2x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire02, aCable02 })) { - GT_Values.RA.addAssemblerRecipe( - aWire02, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 144), - aCable02, - 100, - 8); - } - - // 4x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire04, aCable04 })) { - GT_Values.RA.addAssemblerRecipe( - aWire04, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 288), - aCable04, - 100, - 8); - } - - // 8x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire08, aCable08 })) { - GT_Values.RA.addAssemblerRecipe( - aWire08, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 432), - aCable08, - 100, - 8); - } - - // 12x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire12, aCable12 })) { - GT_Values.RA.addAssemblerRecipe( - aWire12, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 576), - aCable12, - 100, - 8); - } - - // 16x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire16, aCable16 })) { - GT_Values.RA.addAssemblerRecipe( - aWire16, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 720), - aCable16, - 100, - 8); - } - - // Assemble small wires into bigger wires - - // 2x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(2), CI.getNumberedCircuit(2), null, aWire02, 100, 8); - } - - // 4x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(4), CI.getNumberedCircuit(4), null, aWire04, 100, 8); - } - - // 8x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(8), CI.getNumberedCircuit(8), null, aWire08, 100, 8); - } - - // 12x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(12), CI.getNumberedCircuit(12), null, aWire12, 100, 8); - } - - // 16x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(16), CI.getNumberedCircuit(16), null, aWire16, 100, 8); - } - - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java deleted file mode 100644 index 148ea9bc68..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java +++ /dev/null @@ -1,278 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ChiselBus; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_AirIntake; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_AirIntake_Extreme; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler_Adv; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Naquadah; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Reservoir; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Solidifier; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_TurbineProvider; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_SuperBus_Input; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_SuperBus_Output; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GT_MetaTileEntity_Hatch_CustomFluidBase; - -public class GregtechCustomHatches { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Custom Fluid Hatches."); - run1(); - if (PollutionUtils.isPollutionEnabled()) { - run2(); - } - run3(); - run4(); // Chisel buses - run6(); // Solidifier hatches - } - - private static void run1() { - - GregtechItemList.Hatch_Input_Cryotheum.set( - new GT_MetaTileEntity_Hatch_CustomFluidBase( - FluidUtils.getFluidStack("cryotheum", 1) - .getFluid(), // Fluid - // to - // resitrct - // hatch - // to - 128000, // Capacity - 967, // ID - "hatch.cryotheum.input.tier.00", // unlocal name - "Cryotheum Cooling Hatch" // Local name - ).getStackForm(1L)); - - GregtechItemList.Hatch_Input_Pyrotheum.set( - new GT_MetaTileEntity_Hatch_CustomFluidBase( - FluidUtils.getFluidStack("pyrotheum", 1) - .getFluid(), // Fluid - // to - // resitrct - // hatch - // to - 128000, // Capacity - 968, // ID - "hatch.pyrotheum.input.tier.00", // unlocal name - "Pyrotheum Heating Vent" // Local name - ).getStackForm(1L)); - - GregtechItemList.Hatch_Input_Naquadah.set( - new GT_MetaTileEntity_Hatch_Naquadah( - 969, // ID - "hatch.naquadah.input.tier.00", // unlocal name - "Naquadah Reactor Input hatch" // Local name - ).getStackForm(1L)); - - GregtechItemList.Hatch_Input_TurbineHousing.set( - new GT_MetaTileEntity_Hatch_TurbineProvider( - 31025, // ID - "hatch.turbine.input.tier.00", // unlocal name - "Turbine Housing", // Local name - 8).getStackForm(1L)); - - // Multiblock Air Intake Hatch - GregtechItemList.Hatch_Air_Intake.set( - new GT_MetaTileEntity_Hatch_AirIntake(861, "hatch.air.intake.tier.00", "Air Intake Hatch", 5) - .getStackForm(1L)); - GregtechItemList.Hatch_Air_Intake_Extreme.set( - new GT_MetaTileEntity_Hatch_AirIntake_Extreme( - 31070, - "hatch.air.intake.tier.01", - "Extreme Air Intake Hatch", - 6).getStackForm(1L)); - - // Multiblock Reservoir Hatch - GregtechItemList.Hatch_Reservoir.set( - new GT_MetaTileEntity_Hatch_Reservoir(31071, "hatch.water.intake.tier.00", "Reservoir Hatch", 4) - .getStackForm(1L)); - - // Steam Hatch - GregtechItemList.Hatch_Input_Steam.set( - new GT_MetaTileEntity_Hatch_CustomFluidBase( - FluidUtils.getSteam(1) - .getFluid(), // Fluid - // to - // resitrct - // hatch - // to - 64000, // Capacity - 31040, // ID - "hatch.steam.input.tier.00", // unlocal name - "Steam Hatch" // Local name - ).getStackForm(1L)); - } - - private static void run2() { - GregtechItemList.Hatch_Muffler_Adv_LV.set( - (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30001, - "hatch.muffler.adv.tier.01", - "Advanced Muffler Hatch (LV)", - 1)).getStackForm(1L)); - GregtechItemList.Hatch_Muffler_Adv_MV.set( - (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30002, - "hatch.muffler.adv.tier.02", - "Advanced Muffler Hatch (MV)", - 2)).getStackForm(1L)); - GregtechItemList.Hatch_Muffler_Adv_HV.set( - (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30003, - "hatch.muffler.adv.tier.03", - "Advanced Muffler Hatch (HV)", - 3)).getStackForm(1L)); - GregtechItemList.Hatch_Muffler_Adv_EV.set( - (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30004, - "hatch.muffler.adv.tier.04", - "Advanced Muffler Hatch (EV)", - 4)).getStackForm(1L)); - GregtechItemList.Hatch_Muffler_Adv_IV.set( - (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30005, - "hatch.muffler.adv.tier.05", - "Advanced Muffler Hatch (IV)", - 5)).getStackForm(1L)); - GregtechItemList.Hatch_Muffler_Adv_LuV.set( - (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30006, - "hatch.muffler.adv.tier.06", - "Advanced Muffler Hatch (LuV)", - 6)).getStackForm(1L)); - GregtechItemList.Hatch_Muffler_Adv_ZPM.set( - (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30007, - "hatch.muffler.adv.tier.07", - "Advanced Muffler Hatch (ZPM)", - 7)).getStackForm(1L)); - GregtechItemList.Hatch_Muffler_Adv_UV.set( - (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30008, - "hatch.muffler.adv.tier.08", - "Advanced Muffler Hatch (UV)", - 8)).getStackForm(1L)); - GregtechItemList.Hatch_Muffler_Adv_MAX.set( - (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30009, - "hatch.muffler.adv.tier.09", - "Advanced Muffler Hatch (UHV)", - 9)).getStackForm(1L)); - } - - private static void run3() { - /* - * Super Input Busses - */ - - int aStartID = 30022; - - GregtechItemList.Hatch_SuperBus_Input_LV.set( - ((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.01", "Super Bus (I) (LV)", 1)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Input_MV.set( - ((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.02", "Super Bus (I) (MV)", 2)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Input_HV.set( - ((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.03", "Super Bus (I) (HV)", 3)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Input_EV.set( - ((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.04", "Super Bus (I) (EV)", 4)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Input_IV.set( - ((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.05", "Super Bus (I) (IV)", 5)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Input_LuV.set( - ((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.06", "Super Bus (I) (LuV)", 6)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Input_ZPM.set( - ((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.07", "Super Bus (I) (ZPM)", 7)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Input_UV.set( - ((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.08", "Super Bus (I) (UV)", 8)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Input_MAX.set( - ((IMetaTileEntity) makeInputBus(aStartID, "hatch.superbus.input.tier.09", "Super Bus (I) (UHV)", 9)) - .getStackForm(1L)); - - /* - * Super Output Busses - */ - aStartID = 30032; - GregtechItemList.Hatch_SuperBus_Output_LV.set( - ((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.01", "Super Bus (O) (LV)", 1)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Output_MV.set( - ((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.02", "Super Bus (O) (MV)", 2)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Output_HV.set( - ((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.03", "Super Bus (O) (HV)", 3)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Output_EV.set( - ((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.04", "Super Bus (O) (EV)", 4)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Output_IV.set( - ((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.05", "Super Bus (O) (IV)", 5)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Output_LuV.set( - ((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.06", "Super Bus (O) (LuV)", 6)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Output_ZPM.set( - ((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.07", "Super Bus (O) (ZPM)", 7)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Output_UV.set( - ((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.08", "Super Bus (O) (UV)", 8)) - .getStackForm(1L)); - GregtechItemList.Hatch_SuperBus_Output_MAX.set( - ((IMetaTileEntity) makeOutputBus(aStartID, "hatch.superbus.output.tier.09", "Super Bus (O) (UHV)", 9)) - .getStackForm(1L)); - } - - private static GT_MetaTileEntity_SuperBus_Input makeInputBus(int id, String unlocalizedName, String localizedName, - int tier) { - return new GT_MetaTileEntity_SuperBus_Input(id, unlocalizedName, localizedName, tier); - } - - private static GT_MetaTileEntity_SuperBus_Output makeOutputBus(int id, String unlocalizedName, String localizedName, - int tier) { - return new GT_MetaTileEntity_SuperBus_Output(id, unlocalizedName, localizedName, tier); - } - - private static GT_MetaTileEntity_ChiselBus makeChiselBus(int id, String unlocalizedName, String localizedName, - int tier) { - return new GT_MetaTileEntity_ChiselBus(id, unlocalizedName, localizedName, tier); - } - - private static void run4() { - int aID = 31778; // 31778 - 31780 - - GregtechItemList.GT_MetaTileEntity_ChiselBus_LV - .set((makeChiselBus(aID++, "hatch.chisel.tier.01", "Chisel Bus I", 1)).getStackForm(1L)); - GregtechItemList.GT_MetaTileEntity_ChiselBus_MV - .set((makeChiselBus(aID++, "hatch.chisel.tier.02", "Chisel Bus II", 2)).getStackForm(1L)); - GregtechItemList.GT_MetaTileEntity_ChiselBus_HV - .set((makeChiselBus(aID++, "hatch.chisel.tier.03", "Chisel Bus III", 3)).getStackForm(1L)); - - } - - private static void run6() { - int aID = 31781; // 31781-31784 - - GregtechItemList.GT_MetaTileEntity_Solidifier_I.set( - new GT_MetaTileEntity_Hatch_Solidifier(aID++, "hatch.solidifier.tier.05", "Solidifier Hatch I", 5) - .getStackForm(1L)); - GregtechItemList.GT_MetaTileEntity_Solidifier_II.set( - new GT_MetaTileEntity_Hatch_Solidifier(aID++, "hatch.solidifier.tier.06", "Solidifier Hatch II", 6) - .getStackForm(1L)); - GregtechItemList.GT_MetaTileEntity_Solidifier_III.set( - new GT_MetaTileEntity_Hatch_Solidifier(aID++, "hatch.solidifier.tier.07", "Solidifier Hatch III", 7) - .getStackForm(1L)); - GregtechItemList.GT_MetaTileEntity_Solidifier_IV.set( - new GT_MetaTileEntity_Hatch_Solidifier(aID, "hatch.solidifier.tier.08", "Solidifier Hatch IV", 8) - .getStackForm(1L)); - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java deleted file mode 100644 index 7a8c160feb..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java +++ /dev/null @@ -1,19 +0,0 @@ -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.production.GregtechMetaTileEntity_Cyclotron; - -public class GregtechCyclotron { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering COMET Cyclotron."); - run1(); - } - - private static void run1() { - GregtechItemList.COMET_Cyclotron.set( - new GregtechMetaTileEntity_Cyclotron(828, "cyclotron.tier.single", "COMET - Compact Cyclotron", 6) - .getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java deleted file mode 100644 index 4fccef139e..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java +++ /dev/null @@ -1,199 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT; -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL; -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM; -import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; - -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.SoundResource; -import gregtech.api.enums.TierEU; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.SpecialEffects; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialDehydrator; - -public class GregtechDehydrator { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Chemical Dehydrators."); - if (CORE.ConfigSwitches.enableMachine_Dehydrators) { - run1(); - } - } - - private static void run1() { - ItemStack coilT1 = new ItemStack(ModItems.itemDehydratorCoil, 1, 0); - ItemStack coilT2 = new ItemStack(ModItems.itemDehydratorCoil, 1, 1); - ItemStack coilT3 = new ItemStack(ModItems.itemDehydratorCoil, 1, 2); - ItemStack coilT4 = new ItemStack(ModItems.itemDehydratorCoil, 1, 3); - - // Make some coils by wrapping wire around a spool. - GT_Values.RA.stdBuilder() - .itemInputs( - new ItemStack(ModItems.itemDehydratorCoilWire, 4, 0), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Bronze, 1)) - .itemOutputs(coilT1) - .duration(8 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() - .itemInputs( - new ItemStack(ModItems.itemDehydratorCoilWire, 4, 1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Steel, 1)) - .itemOutputs(coilT2) - .duration(8 * SECONDS) - .eut(TierEU.RECIPE_HV / 2) - .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() - .itemInputs( - new ItemStack(ModItems.itemDehydratorCoilWire, 4, 2), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.StainlessSteel, 1)) - .itemOutputs(coilT3) - .duration(8 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() - .itemInputs( - new ItemStack(ModItems.itemDehydratorCoilWire, 4, 3), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Titanium, 1)) - .itemOutputs(coilT4) - .duration(8 * SECONDS) - .eut(TierEU.RECIPE_EV / 2) - .addTo(assemblerRecipes); - - // Basic - GregtechItemList.GT_Dehydrator_MV.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 911, - "machine.dehydrator.tier.00", - "Basic Dehydrator I", - 2, - new String[] { "This dehydrates your Grapes into Raisins.", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.chemicalDehydratorRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "DEHYDRATOR", - new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', - OrePrefixes.wireFine.get(Materials.RedAlloy), 'C', CIRCUIT, 'W', - OrePrefixes.cableGt04.get(Materials.Copper), 'G', OrePrefixes.gearGt.get(Materials.Steel) }) - .setRecipeCatalystPriority(6) - .getStackForm(1L)); - - GregtechItemList.GT_Dehydrator_HV.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 912, - "machine.dehydrator.tier.01", - "Basic Dehydrator II", - 3, - new String[] { "This dehydrates your Grapes into Raisins.", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.chemicalDehydratorRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "DEHYDRATOR", - new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', - OrePrefixes.wireFine.get(Materials.Electrum), 'C', CIRCUIT, 'W', - OrePrefixes.cableGt04.get(Materials.Silver), 'G', ALLOY.POTIN.getGear(1) }) - .setRecipeCatalystPriority(5) - .getStackForm(1L)); - - // Chemical - GregtechItemList.GT_Dehydrator_EV.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 813, - "advancedmachine.dehydrator.tier.01", - "Chemical Dehydrator I", - 4, - new String[] { "A hangover is the way your body reacts to dehydration.", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.chemicalDehydratorRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "DEHYDRATOR", - new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', coilT1, 'C', CIRCUIT, 'W', - OrePrefixes.cableGt04.get(Materials.Aluminium), 'G', ALLOY.TUMBAGA.getGear(1) }) - .setRecipeCatalystPriority(4) - .getStackForm(1L)); - - GregtechItemList.GT_Dehydrator_IV.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 814, - "advancedmachine.dehydrator.tier.02", - "Chemical Dehydrator II", - 5, - new String[] { "A hangover is the way your body reacts to dehydration.", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.chemicalDehydratorRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "DEHYDRATOR", - new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', coilT2, 'C', CIRCUIT, 'W', - OrePrefixes.cableGt04.get(Materials.Tungsten), 'G', ALLOY.INCONEL_690.getGear(1) }) - .setRecipeCatalystPriority(3) - .getStackForm(1L)); - - GregtechItemList.GT_Dehydrator_LuV.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 815, - "advancedmachine.dehydrator.tier.03", - "Chemical Dehydrator III", - 6, - new String[] { "You could probably make space icecream with this..", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.chemicalDehydratorRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "DEHYDRATOR", - new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', coilT3, 'C', CIRCUIT, 'W', - OrePrefixes.cableGt04.get(Materials.Naquadah), 'G', ALLOY.HASTELLOY_N.getGear(1) }) - .setRecipeCatalystPriority(2) - .getStackForm(1L)); - - GregtechItemList.GT_Dehydrator_ZPM.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 816, - "advancedmachine.dehydrator.tier.04", - "Chemical Dehydrator IV", - 7, - new String[] { "You can definitely make space icecream with this..", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.chemicalDehydratorRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "DEHYDRATOR", - new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', coilT4, 'C', CIRCUIT, 'W', - OrePrefixes.cableGt04.get(Materials.Osmium), 'G', ALLOY.ZERON_100.getGear(1) }) - .setRecipeCatalystPriority(1) - .getStackForm(1L)); - - // Advanced - GregtechItemList.Controller_Vacuum_Furnace.set( - new GregtechMetaTileEntity_IndustrialDehydrator(995, "multimachine.adv.vacuumfurnace", "Utupu-Tanuri") - .getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java deleted file mode 100644 index 4aebd8a7b5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java +++ /dev/null @@ -1,149 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -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.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOreDictNames; -import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GregtechMetaEnergyBuffer; - -public class GregtechEnergyBuffer { - - // Misc Items - // public static Item itemBufferCore; - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Energy Buffer Blocks."); - run1(); - } - - private static void run1() { - - // itemBufferCore = new - // Item().setUnlocalizedName("itemBufferCore").setCreativeTab(AddToCreativeTab.tabMisc).setTextureName(GTPlusPlus.ID - // + ":itemBufferCore"); - - // Registry - // GameRegistry.registerItem(itemBufferCore, "itemBufferCore"); - // LanguageRegistry.addName(itemBufferCore, "Buffer Core"); - // OreDictionary.registerOre("itemBufferCore", itemBufferCore); - - // Energy Buffers - GregtechItemList.Energy_Buffer_1by1_ULV.set( - new GregtechMetaEnergyBuffer(770, "energybuffer.tier.00", "Ultra Low Voltage Energy Buffer", 0, "", 1) - .getStackForm(1L)); - GregtechItemList.Energy_Buffer_1by1_LV.set( - new GregtechMetaEnergyBuffer(771, "energybuffer.tier.01", "Low Voltage Energy Buffer", 1, "", 1) - .getStackForm(1L)); - GregtechItemList.Energy_Buffer_1by1_MV.set( - new GregtechMetaEnergyBuffer(772, "energybuffer.tier.02", "Medium Voltage Energy Buffer", 2, "", 1) - .getStackForm(1L)); - GregtechItemList.Energy_Buffer_1by1_HV.set( - new GregtechMetaEnergyBuffer(773, "energybuffer.tier.03", "High Voltage Energy Buffer", 3, "", 1) - .getStackForm(1L)); - GregtechItemList.Energy_Buffer_1by1_EV.set( - new GregtechMetaEnergyBuffer(774, "energybuffer.tier.04", "Extreme Voltage Energy Buffer", 4, "", 1) - .getStackForm(1L)); - GregtechItemList.Energy_Buffer_1by1_IV.set( - new GregtechMetaEnergyBuffer(775, "energybuffer.tier.05", "Insane Voltage Energy Buffer", 5, "", 1) - .getStackForm(1L)); - GregtechItemList.Energy_Buffer_1by1_LuV.set( - new GregtechMetaEnergyBuffer(776, "energybuffer.tier.06", "Ludicrous Voltage Energy Buffer", 6, "", 1) - .getStackForm(1L)); - GregtechItemList.Energy_Buffer_1by1_ZPM.set( - new GregtechMetaEnergyBuffer(777, "energybuffer.tier.07", "ZPM Voltage Energy Buffer", 7, "", 1) - .getStackForm(1L)); - GregtechItemList.Energy_Buffer_1by1_UV.set( - new GregtechMetaEnergyBuffer(778, "energybuffer.tier.08", "Ultimate Voltage Energy Buffer", 8, "", 1) - .getStackForm(1L)); - GregtechItemList.Energy_Buffer_1by1_MAX.set( - new GregtechMetaEnergyBuffer(779, "energybuffer.tier.09", "MAX Voltage Energy Buffer", 9, "", 1) - .getStackForm(1L)); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_ULV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_ULV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Lead), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_LV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Tin), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_MV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.AnyCopper), Character.valueOf('T'), - GregtechOreDictNames.buffer_core }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_HV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Gold), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_EV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Aluminium), Character.valueOf('T'), - GregtechOreDictNames.buffer_core }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_IV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Tungsten), Character.valueOf('T'), - GregtechOreDictNames.buffer_core }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_LuV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Osmium), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_ZPM.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_ZPM, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Osmium), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_UV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_UV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Osmium), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Energy_Buffer_1by1_MAX.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_MAX, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.SuperconductorUHV), Character.valueOf('T'), - GregtechOreDictNames.buffer_core }); - /* - * GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_MAX.get(1L, new Object[0]), - * GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | - * GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "WTW", "WMW", - * Character.valueOf('M'), ItemList.Hull_MAX, Character.valueOf('W'), - * OrePrefixes.wireGt08.get(Materials.Superconductor), Character.valueOf('T'), GregtechOreDictNames.buffer_core - * }); - */ - - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java deleted file mode 100644 index 6117631244..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java +++ /dev/null @@ -1,44 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialVacuumFreezer; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_DistillationTower; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_EBF; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_Fusion_MK4; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_Fusion_MK5; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_Implosion; - -public class GregtechFactoryGradeReplacementMultis { - - public static void run() { - run1(); - } - - private static void run1() { - Logger.INFO("Gregtech 5 Content | Registering Advanced GT Multiblock replacements."); - GregtechItemList.Machine_Adv_BlastFurnace - .set(new GregtechMetaTileEntity_Adv_EBF(963, "multimachine.adv.blastfurnace", "Volcanus").getStackForm(1L)); - GregtechItemList.Machine_Adv_ImplosionCompressor.set( - new GregtechMetaTileEntity_Adv_Implosion(964, "multimachine.adv.implosioncompressor", "Density^2") - .getStackForm(1L)); - GregtechItemList.Industrial_Cryogenic_Freezer.set( - new GregtechMetaTileEntity_IndustrialVacuumFreezer( - 910, - "multimachine.adv.industrialfreezer", - "Cryogenic Freezer").getStackForm(1L)); - GregtechItemList.FusionComputer_UV2.set( - new GregtechMetaTileEntity_Adv_Fusion_MK4(965, "fusioncomputer.tier.09", "FusionTech MK IV") - .getStackForm(1L)); - GregtechItemList.FusionComputer_UV3.set( - new GregtechMetaTileEntity_Adv_Fusion_MK5(975, "fusioncomputer.tier.10", "FusionTech MK V") - .getStackForm(1L)); - - // 31021 - GregtechItemList.Machine_Adv_DistillationTower.set( - new GregtechMetaTileEntity_Adv_DistillationTower( - 31021, - "multimachine.adv.distillationtower", - "Dangote Distillus").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java deleted file mode 100644 index 2e012ee7f9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java +++ /dev/null @@ -1,78 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -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.material.ALLOY; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntityGeothermalGenerator; - -public class GregtechGeothermalThermalGenerator { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Geothermal Engines."); - if (CORE.ConfigSwitches.enableMachine_GeothermalEngines) { - run1(); - } - } - - private static void run1() { - GregtechItemList.Geothermal_Engine_EV.set( - new GregtechMetaTileEntityGeothermalGenerator( - 830, - "advancedgenerator.geothermalFuel.tier.01", - "Basic Geothermal Engine", - 4).getStackForm(1L)); - GregtechItemList.Geothermal_Engine_IV.set( - new GregtechMetaTileEntityGeothermalGenerator( - 831, - "advancedgenerator.geothermalFuel.tier.02", - "Turbo Geothermal Engine", - 5).getStackForm(1L)); - GregtechItemList.Geothermal_Engine_LuV.set( - new GregtechMetaTileEntityGeothermalGenerator( - 832, - "advancedgenerator.geothermalFuel.tier.03", - "Vulcan Geothermal Engine", - 6).getStackForm(1L)); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Geothermal_Engine_EV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "CEC", "GMG", "PWP", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'), - ItemList.Electric_Piston_EV, Character.valueOf('E'), ItemList.Electric_Motor_EV, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('W'), - OrePrefixes.cableGt04.get(Materials.Aluminium), Character.valueOf('G'), - ALLOY.TANTALLOY_61.getGear(1) }); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Geothermal_Engine_IV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "CEC", "GMG", "PWP", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('P'), - ItemList.Electric_Piston_IV, Character.valueOf('E'), ItemList.Electric_Motor_IV, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.SuperconductorUHV), Character.valueOf('W'), - OrePrefixes.cableGt04.get(Materials.Platinum), Character.valueOf('G'), ALLOY.STELLITE.getGear(1) }); - - final ItemStack INGREDIENT_1 = CI.electricPiston_LuV; - final ItemStack INGREDIENT_2 = CI.electricMotor_LuV; - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Geothermal_Engine_LuV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "CEC", "GMG", "PWP", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('P'), - INGREDIENT_1, Character.valueOf('E'), INGREDIENT_2, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Infinite), Character.valueOf('W'), - OrePrefixes.cableGt04.get(Materials.Tungsten), Character.valueOf('G'), ALLOY.ZERON_100.getGear(1) }); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java deleted file mode 100644 index 2587cb8524..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java +++ /dev/null @@ -1,163 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import net.minecraft.item.ItemStack; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTransformerHiAmp; - -public class GregtechHiAmpTransformer { - - public static void run() { - - long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED; - int mID = 877; - - String mHammerName = "Mallet"; - - GregtechItemList.Transformer_HA_LV_ULV.set( - new GregtechMetaTransformerHiAmp( - mID++, - "transformer.ha.tier.00", - "ULV Hi-Amp Transformer", - 0, - "LV -> ULV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); - GregtechItemList.Transformer_HA_MV_LV.set( - new GregtechMetaTransformerHiAmp( - mID++, - "transformer.ha.tier.01", - "LV Hi-Amp Transformer", - 1, - "MV -> LV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); - GregtechItemList.Transformer_HA_HV_MV.set( - new GregtechMetaTransformerHiAmp( - mID++, - "transformer.ha.tier.02", - "MV Hi-Amp Transformer", - 2, - "HV -> MV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); - GregtechItemList.Transformer_HA_EV_HV.set( - new GregtechMetaTransformerHiAmp( - mID++, - "transformer.ha.tier.03", - "HV Hi-Amp Transformer", - 3, - "EV -> HV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); - GregtechItemList.Transformer_HA_IV_EV.set( - new GregtechMetaTransformerHiAmp( - mID++, - "transformer.ha.tier.04", - "EV Hi-Amp Transformer", - 4, - "IV -> EV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); - GregtechItemList.Transformer_HA_LuV_IV.set( - new GregtechMetaTransformerHiAmp( - mID++, - "transformer.ha.tier.05", - "IV Hi-Amp Transformer", - 5, - "LuV -> IV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); - GregtechItemList.Transformer_HA_ZPM_LuV.set( - new GregtechMetaTransformerHiAmp( - mID++, - "transformer.ha.tier.06", - "LuV Hi-Amp Transformer", - 6, - "ZPM -> LuV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); - GregtechItemList.Transformer_HA_UV_ZPM.set( - new GregtechMetaTransformerHiAmp( - mID++, - "transformer.ha.tier.07", - "ZPM Hi-Amp Transformer", - 7, - "UV -> ZPM (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); - GregtechItemList.Transformer_HA_MAX_UV.set( - new GregtechMetaTransformerHiAmp( - mID++, - "transformer.ha.tier.08", - "UV Hi-Amp Transformer", - 8, - "UHV -> UV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); - ItemStack mItem_1; - ItemStack mItem_2; - ItemStack mItem_3; - - mItem_1 = ItemUtils.simpleMetaStack( - ItemUtils.getSimpleStack(GregTech_API.sBlockCasings5) - .getItem(), - 3, - 1); - mItem_2 = ItemUtils.simpleMetaStack( - ItemUtils.getSimpleStack(GregTech_API.sBlockCasings5) - .getItem(), - 4, - 1); - mItem_3 = ItemUtils.simpleMetaStack( - ItemUtils.getSimpleStack(GregTech_API.sBlockCasings5) - .getItem(), - 9, - 1); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_LV_ULV.get(1L, new Object[0]), - bitsd, - new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Transformer_LV_ULV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Tin), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Lead) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_MV_LV.get(1L, new Object[0]), - bitsd, - new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Transformer_MV_LV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.AnyCopper), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Tin) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_HV_MV.get(1L, new Object[0]), - bitsd, - new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Transformer_HV_MV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Gold), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.AnyCopper) }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_EV_HV.get(1L, new Object[0]), - bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_EV_HV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Aluminium), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Gold), Character.valueOf('K'), ItemList.Casing_Coil_Cupronickel }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_IV_EV.get(1L, new Object[0]), - bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_IV_EV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Tungsten), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Aluminium), Character.valueOf('K'), ItemList.Casing_Coil_Kanthal }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_LuV_IV.get(1L, new Object[0]), - bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_LuV_IV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.VanadiumGallium), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Tungsten), Character.valueOf('K'), ItemList.Casing_Coil_Nichrome }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_ZPM_LuV.get(1L, new Object[0]), - bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_ZPM_LuV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Naquadah), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.VanadiumGallium), Character.valueOf('K'), mItem_1 }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_UV_ZPM.get(1L, new Object[0]), - bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_UV_ZPM, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Naquadah), Character.valueOf('K'), mItem_2 }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_MAX_UV.get(1L, new Object[0]), - bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_MAX_UV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Bedrockium), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), Character.valueOf('K'), mItem_3 }); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java deleted file mode 100644 index dc176e7356..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java +++ /dev/null @@ -1,21 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialAlloySmelter; - -public class GregtechIndustrialAlloySmelter { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Alloy Smelter Multiblock."); - run1(); - } - - private static void run1() { - GregtechItemList.Industrial_AlloySmelter.set( - new GregtechMetaTileEntity_IndustrialAlloySmelter( - 31023, - "industrialalloysmelter.controller.tier.single", - "Zyngen").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java deleted file mode 100644 index 3de3da7f88..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java +++ /dev/null @@ -1,22 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialArcFurnace; - -public class GregtechIndustrialArcFurnace { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Arc Furnace Multiblock."); - run1(); - } - - private static void run1() { - // Industrial Arc Furnace Multiblock - GregtechItemList.Industrial_Arc_Furnace.set( - new GregtechMetaTileEntity_IndustrialArcFurnace( - 862, - "industrialarcfurnace.controller.tier.single", - "High Current Industrial Arc Furnace").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java deleted file mode 100644 index e457575391..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java +++ /dev/null @@ -1,31 +0,0 @@ -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.production.GregtechMetaTileEntity_AlloyBlastSmelter; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.mega.GregTechMetaTileEntity_MegaAlloyBlastSmelter; - -public class GregtechIndustrialBlastSmelter { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Alloy Blast Smelter Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_AlloyBlastSmelter) { - run1(); - } - } - - private static void run1() { - // Industrial Alloy Blast Smelter Multiblock - GregtechItemList.Industrial_AlloyBlastSmelter.set( - new GregtechMetaTileEntity_AlloyBlastSmelter( - 810, - "industrialsalloyamelter.controller.tier.single", - "Alloy Blast Smelter").getStackForm(1L)); - GregtechItemList.Mega_AlloyBlastSmelter.set( - new GregTechMetaTileEntity_MegaAlloyBlastSmelter( - 31150, - "industrialsalloyamelter.controller.tier.mega", - "Mega Alloy Blast Smelter").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java deleted file mode 100644 index bc51aaae51..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java +++ /dev/null @@ -1,25 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialCentrifuge; - -public class GregtechIndustrialCentrifuge { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Centrifuge Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialCentrifuge) { - run1(); - } - } - - private static void run1() { - // Industrial Centrifuge Multiblock - GregtechItemList.Industrial_Centrifuge.set( - new GregtechMetaTileEntity_IndustrialCentrifuge( - 790, - "industrialcentrifuge.controller.tier.single", - "Industrial Centrifuge").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialChisel.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialChisel.java deleted file mode 100644 index ae0e2483cf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialChisel.java +++ /dev/null @@ -1,24 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntity_AutoChisel; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialChisel; - -public class GregtechIndustrialChisel { - - public static void run() { - GregtechItemList.GT_Chisel_LV.set( - new GregtechMetaTileEntity_AutoChisel(31066, "chisel.tier.01", "Basic Auto-Chisel", 1).getStackForm(1L)); - GregtechItemList.GT_Chisel_MV.set( - new GregtechMetaTileEntity_AutoChisel(31067, "chisel.tier.02", "Advanced Auto-Chisel", 2).getStackForm(1L)); - GregtechItemList.GT_Chisel_HV.set( - new GregtechMetaTileEntity_AutoChisel(31068, "chisel.tier.03", "Precision Auto-Chisel", 3) - .getStackForm(1L)); - - GregtechItemList.Controller_IndustrialAutoChisel.set( - new GregtechMetaTileEntity_IndustrialChisel( - 31069, - "multimachine.adv.chisel", - "Industrial 3D Copying Machine").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java deleted file mode 100644 index af941e58db..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java +++ /dev/null @@ -1,25 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialCokeOven; - -public class GregtechIndustrialCokeOven { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Coke Oven Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven) { - run1(); - } - } - - private static void run1() { - // Industrial Centrifuge Multiblock - GregtechItemList.Industrial_CokeOven.set( - new GregtechMetaTileEntity_IndustrialCokeOven( - 791, - "industrialcokeoven.controller.tier.single", - "Industrial Coke Oven").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java deleted file mode 100644 index c5ff4a9928..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java +++ /dev/null @@ -1,25 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialCuttingMachine; - -public class GregtechIndustrialCuttingFactory { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Cutting Factory Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine) { - run1(); - } - } - - private static void run1() { - // Industrial Wire Factory Multiblock - GregtechItemList.Industrial_CuttingFactoryController.set( - new GregtechMetaTileEntity_IndustrialCuttingMachine( - 992, - "industrialcuttingmachine.controller.tier.01", - "Cutting Factory Controller").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java deleted file mode 100644 index a114aaf3cd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java +++ /dev/null @@ -1,25 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialElectrolyzer; - -public class GregtechIndustrialElectrolyzer { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Electrolyzer Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialElectrolyzer) { - run1(); - } - } - - private static void run1() { - // Industrial Electrolyzer Multiblock - GregtechItemList.Industrial_Electrolyzer.set( - new GregtechMetaTileEntity_IndustrialElectrolyzer( - 796, - "industrialelectrolyzer.controller.tier.single", - "Industrial Electrolyzer").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java deleted file mode 100644 index 222a3e7689..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java +++ /dev/null @@ -1,24 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_ElementalDataOrbHolder; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMTE_ElementalDuplicator; - -public class GregtechIndustrialElementDuplicator { - - public static void run() { - - Logger.INFO("Gregtech5u Content | Registering Elemental Duplicator Multiblock."); - - GregtechItemList.Controller_ElementalDuplicator.set( - new GregtechMTE_ElementalDuplicator(31050, "gtpp.multimachine.replicator", "Elemental Duplicator") - .getStackForm(1L)); - GregtechItemList.Hatch_Input_Elemental_Duplicator.set( - new GT_MetaTileEntity_Hatch_ElementalDataOrbHolder( - 31051, - "hatch.input_bus.elementalorbholder", - "Data Orb Repository", - 7).getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java deleted file mode 100644 index 817858a4a0..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java +++ /dev/null @@ -1,25 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialExtruder; - -public class GregtechIndustrialExtruder { - - public static void run() { - 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)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java deleted file mode 100644 index 182662bfbc..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java +++ /dev/null @@ -1,21 +0,0 @@ -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.production.GregtechMetaTileEntity_IndustrialFishingPond; - -public class GregtechIndustrialFishPond { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Fishing Pond Multiblock."); - run1(); - } - - private static void run1() { - GregtechItemList.Industrial_FishingPond.set( - new GregtechMetaTileEntity_IndustrialFishingPond( - 829, - "industrial.fishpond.controller.tier.single", - "Zhuhai - Fishing Port").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFluidHeater.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFluidHeater.java deleted file mode 100644 index e25ef2fcae..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFluidHeater.java +++ /dev/null @@ -1,21 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialFluidHeater; - -public class GregtechIndustrialFluidHeater { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Thermal Centrifuge Multiblock."); - run1(); - } - - private static void run1() { - GregtechItemList.Controller_IndustrialFluidHeater.set( - new GregtechMetaTileEntity_IndustrialFluidHeater( - 31077, - "industrialfluidheater.controller.tier.single", - "Thermic Heating Device").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialForgeHammer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialForgeHammer.java deleted file mode 100644 index a73b9fd873..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialForgeHammer.java +++ /dev/null @@ -1,21 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialForgeHammer; - -public class GregtechIndustrialForgeHammer { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Forge Hammer Multiblock."); - run1(); - } - - private static void run1() { - GregtechItemList.Controller_IndustrialForgeHammer.set( - new GregtechMetaTileEntity_IndustrialForgeHammer( - 31075, - "industrialhammer.controller.tier.single", - "Industrial Sledgehammer").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java deleted file mode 100644 index e45f593c7a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java +++ /dev/null @@ -1,25 +0,0 @@ -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.production.GregtechMetaTileEntity_Refinery; - -public class GregtechIndustrialFuelRefinery { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Fuel Processing and Refinery Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_NuclearFuelRefinery) { - run1(); - } - } - - private static void run1() { - // Industrial Maceration Stack Multiblock - GregtechItemList.Industrial_FuelRefinery.set( - new GregtechMetaTileEntity_Refinery( - 835, - "industrialrefinery.controller.tier.single", - "Reactor Fuel Processing Plant").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java deleted file mode 100644 index 0912660cc1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java +++ /dev/null @@ -1,25 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialMacerator; - -public class GregtechIndustrialMacerator { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Maceration Stack Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialMacerationStack) { - run1(); - } - } - - private static void run1() { - // Industrial Maceration Stack Multiblock - GregtechItemList.Industrial_MacerationStack.set( - new GregtechMetaTileEntity_IndustrialMacerator( - 797, - "industrialmacerator.controller.tier.single", - "Maceration Stack Controller").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java deleted file mode 100644 index 92b7182426..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java +++ /dev/null @@ -1,137 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_MassFabricator; - -public class GregtechIndustrialMassFabricator { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Matter Fabricator Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_MatterFabricator) { - generateRecipes(); - run1(); - } - } - - private static void run1() { - // Industrial Matter Fabricator Multiblock - GregtechItemList.Industrial_MassFab.set( - new GregtechMetaTileEntity_MassFabricator( - 799, - "industrialmassfab.controller.tier.single", - "Matter Fabrication CPU").getStackForm(1L)); - } - - private static void generateRecipes() { - - // Generate Scrap->UUA Recipes - - // Basic UUA1 - GT_Recipe UUA_From_Scrap = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(9), ItemUtils.getSimpleStack(getScrapPile(), 9) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { GT_Values.NF }, - new FluidStack[] { Materials.UUAmplifier.getFluid(1) }, - 9 * 20, - 32, - 0); - // Basic UUA2 - GT_Recipe UUA_From_ScrapBoxes = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(19), ItemUtils.getSimpleStack(getScrapBox(), 1) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { GT_Values.NF }, - new FluidStack[] { Materials.UUAmplifier.getFluid(1) }, - 9 * 20, - 32, - 0); - - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(UUA_From_Scrap); - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(UUA_From_ScrapBoxes); - - // Basic UUM - GT_Recipe generateUUM_LV = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(1) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { GT_Values.NF }, - new FluidStack[] { Materials.UUMatter.getFluid(16) }, - 160 * 20, - 4096, - 0); - - // Basic UUM - GT_Recipe generateUUMFromUUA_LV = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(2) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { Materials.UUAmplifier.getFluid(16) }, - new FluidStack[] { Materials.UUMatter.getFluid(16) }, - 40 * 20, - 4096, - 0); - - // Advanced UUM - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(3) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { GT_Values.NF }, - new FluidStack[] { Materials.UUMatter.getFluid(256) }, - 160 * 20, - 65536, - 0)); - - // Advanced UUM - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(4) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { Materials.UUAmplifier.getFluid(256) }, - new FluidStack[] { Materials.UUMatter.getFluid(256) }, - 40 * 20, - 65536, - 0)); - - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(generateUUM_LV); - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(generateUUMFromUUA_LV); - - Logger.INFO( - "Generated " + GTPPRecipeMaps.multiblockMassFabricatorRecipes.getAllRecipes() - .size() + " Matter Fabricator recipes."); - } - - public static ItemStack getScrapPile() { - return ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrap")); - } - - public static ItemStack getScrapBox() { - return ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrapbox")); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java deleted file mode 100644 index 07d0432213..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java +++ /dev/null @@ -1,25 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialMixer; - -public class GregtechIndustrialMixer { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Mixer Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialPlatePress) { - run1(); - } - } - - private static void run1() { - // Industrial Mixer Multiblock - GregtechItemList.Industrial_Mixer.set( - new GregtechMetaTileEntity_IndustrialMixer( - 811, - "industrialmixer.controller.tier.single", - "Industrial Mixing Machine").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java deleted file mode 100644 index 9ba8810c55..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java +++ /dev/null @@ -1,24 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialMultiMachine; - -public class GregtechIndustrialMultiMachine { - - public static void run() { - 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)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java deleted file mode 100644 index 60d93e4cb7..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java +++ /dev/null @@ -1,25 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialPlatePress; - -public class GregtechIndustrialPlatePress { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Press Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialPlatePress) { - run1(); - } - } - - private static void run1() { - // Industrial Presser Multiblock - GregtechItemList.Industrial_PlatePress.set( - new GregtechMetaTileEntity_IndustrialPlatePress( - 792, - "industrialbender.controller.tier.single", - "Industrial Material Press").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialRockBreaker.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialRockBreaker.java deleted file mode 100644 index 3e9efb38cf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialRockBreaker.java +++ /dev/null @@ -1,15 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_IndustrialRockBreaker; - -public class GregtechIndustrialRockBreaker { - - public static void run() { - GregtechItemList.Controller_IndustrialRockBreaker.set( - new GregtechMetaTileEntity_IndustrialRockBreaker( - 31065, - "industrialrockcrusher.controller.tier.single", - "Boldarnator").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java deleted file mode 100644 index 87f8cc5e44..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java +++ /dev/null @@ -1,24 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialSifter; - -public class GregtechIndustrialSifter { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Sifter Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialSifter) { - run1(); - } - } - - private static void run1() { - GregtechItemList.Industrial_Sifter.set( - new GregtechMetaTileEntity_IndustrialSifter( - 840, - "industrialsifter.controller.tier.single", - "Large Sifter Control Block").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java deleted file mode 100644 index cf8b585ae9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java +++ /dev/null @@ -1,24 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialThermalCentrifuge; - -public class GregtechIndustrialThermalCentrifuge { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Thermal Centrifuge Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialThermalCentrifuge) { - run1(); - } - } - - private static void run1() { - GregtechItemList.Industrial_ThermalCentrifuge.set( - new GregtechMetaTileEntity_IndustrialThermalCentrifuge( - 849, - "industrialthermalcentrifuge.controller.tier.single", - "Large Thermal Refinery").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java deleted file mode 100644 index 82a0369516..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java +++ /dev/null @@ -1,22 +0,0 @@ -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.production.GregtechMetaTileEntityTreeFarm; - -public class GregtechIndustrialTreeFarm { - - public static void run() { - if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer) { - Logger.INFO("Gregtech5u Content | Registering Tree Farm Multiblock."); - run1(); - } - } - - private static void run1() { - GregtechItemList.Industrial_TreeFarm.set( - new GregtechMetaTileEntityTreeFarm(836, "treefarm.controller.tier.single", "Tree Growth Simulator") - .getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java deleted file mode 100644 index 982695b02c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java +++ /dev/null @@ -1,24 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialWashPlant; - -public class GregtechIndustrialWashPlant { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Wash Plant Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialWashPlant) { - run1(); - } - } - - private static void run1() { - GregtechItemList.Industrial_WashPlant.set( - new GregtechMetaTileEntity_IndustrialWashPlant( - 850, - "industrialwashplant.controller.tier.single", - "Ore Washing Plant").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java deleted file mode 100644 index 853013834b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java +++ /dev/null @@ -1,25 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialWireMill; - -public class GregtechIndustrialWiremill { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Wire Factory Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_IndustrialWireMill) { - run1(); - } - } - - private static void run1() { - // Industrial Wire Factory Multiblock - GregtechItemList.Industrial_WireFactory.set( - new GregtechMetaTileEntity_IndustrialWireMill( - 798, - "industrialwiremill.controller.tier.single", - "Wire Factory Controller").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java deleted file mode 100644 index d1719d4b74..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java +++ /dev/null @@ -1,26 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers.GT_MetaTileEntity_Hatch_MillingBalls; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IsaMill; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMTE_FrothFlotationCell; - -public class GregtechIsaMill { - - public static void run() { - - Logger.INFO("Gregtech5u Content | Registering Milling Content."); - - GregtechItemList.Controller_IsaMill.set( - new GregtechMetaTileEntity_IsaMill(31027, "gtpp.multimachine.isamill", "IsaMill Grinding Machine") - .getStackForm(1L)); - GregtechItemList.Controller_Flotation_Cell.set( - new GregtechMTE_FrothFlotationCell(31028, "gtpp.multimachine.flotationcell", "Flotation Cell Regulator") - .getStackForm(1L)); - - // Milling Ball Bus - GregtechItemList.Bus_Milling_Balls - .set((new GT_MetaTileEntity_Hatch_MillingBalls(31029, "hatch.milling", "Ball Housing")).getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java deleted file mode 100644 index 3a77c3f569..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java +++ /dev/null @@ -1,93 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gregtech.api.enums.SoundResource; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.SpecialEffects; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_SpargeTower; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMTE_NuclearReactor; - -public class GregtechLFTR { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Liquid Fluorine Thorium Reactor [LFTR]."); - if (CORE.ConfigSwitches.enableMultiblock_LiquidFluorideThoriumReactor) { - run1(); - } - } - - private static void run1() { - // LFTR - GregtechItemList.ThoriumReactor.set( - new GregtechMTE_NuclearReactor(751, "lftr.controller.single", "Thorium Reactor [LFTR]").getStackForm(1L)); - // Reactor Processing Units - GregtechItemList.ReactorProcessingUnit_IV.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 31031, - "rpu.tier.01", - "Reactor Processing Unit I", - 5, - new String[] { "Processes Nuclear things", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.reactorProcessingUnitRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "REACTOR_PROCESSING_UNIT", - null).getStackForm(1L)); - GregtechItemList.ReactorProcessingUnit_ZPM.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 31032, - "rpu.tier.02", - "Reactor Processing Unit II", - 7, - new String[] { "Processes Nuclear things", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.reactorProcessingUnitRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "REACTOR_PROCESSING_UNIT", - null).getStackForm(1L)); - // Cold Traps - GregtechItemList.ColdTrap_IV.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 31033, - "coldtrap.tier.01", - "Cold Trap I", - 5, - new String[] { "Just like the Arctic", "Does not require ice cubes", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.coldTrapRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "COLD_TRAP", - null).getStackForm(1L)); - GregtechItemList.ColdTrap_ZPM.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 31034, - "coldtrap.tier.02", - "Cold Trap II", - 7, - new String[] { "Just like the Arctic", "Does not require ice cubes", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.coldTrapRecipes, - 2, - 9, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "COLD_TRAP", - null).getStackForm(1L)); - // Sparge Tower - GregtechItemList.Controller_Sparge_Tower.set( - new GregtechMetaTileEntity_SpargeTower(31035, "sparge.controller.single", "Sparge Tower Controller") - .getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java deleted file mode 100644 index b75573a9cf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java +++ /dev/null @@ -1,48 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import static gregtech.api.enums.Mods.GoodGenerator; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Turbine; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_HeatExchanger; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines.GT_MTE_LargeTurbine_Gas; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines.GT_MTE_LargeTurbine_Plasma; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines.GT_MTE_LargeTurbine_SCSteam; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines.GT_MTE_LargeTurbine_SHSteam; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines.GT_MTE_LargeTurbine_Steam; - -public class GregtechLargeTurbinesAndHeatExchanger { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Larger Turbines & Extra Large Heat Exchanger."); - run1(); - } - - private static void run1() { - GregtechItemList.Large_Steam_Turbine.set( - new GT_MTE_LargeTurbine_Steam(865, "multimachine.largerturbine", "XL Turbo Steam Turbine") - .getStackForm(1L)); - GregtechItemList.Large_HPSteam_Turbine.set( - new GT_MTE_LargeTurbine_SHSteam(866, "multimachine.largerhpturbine", "XL Turbo HP Steam Turbine") - .getStackForm(1L)); - GregtechItemList.Large_Gas_Turbine.set( - new GT_MTE_LargeTurbine_Gas(31073, "multimachine.largergasturbine", "XL Turbo Gas Turbine") - .getStackForm(1L)); - GregtechItemList.Large_Plasma_Turbine.set( - new GT_MTE_LargeTurbine_Plasma(31074, "multimachine.largerplasmaturbine", "XL Turbo Plasma Turbine") - .getStackForm(1L)); - if (GoodGenerator.isModLoaded()) { - GregtechItemList.Large_SCSteam_Turbine.set( - new GT_MTE_LargeTurbine_SCSteam(31076, "multimachine.largerscturbine", "XL Turbo SC Steam Turbine") - .getStackForm(1L)); - } - GregtechItemList.Hatch_Turbine_Rotor - .set(new GT_MetaTileEntity_Hatch_Turbine(30010, "hatch.turbine", "Rotor Assembly", 8).getStackForm(1L)); - GregtechItemList.XL_HeatExchanger.set( - new GregtechMetaTileEntity_Adv_HeatExchanger( - 31079, - "multimachine.reallybigheatexchanger", - "Whakawhiti Wera XL").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMolecularTransformer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMolecularTransformer.java deleted file mode 100644 index ebb0bde1cf..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMolecularTransformer.java +++ /dev/null @@ -1,21 +0,0 @@ -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.processing.GregtechMetaTileEntity_IndustrialMolecularTransformer; - -public class GregtechMolecularTransformer { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Molecular Transformer Multiblock."); - run1(); - } - - private static void run1() { - GregtechItemList.Controller_MolecularTransformer.set( - new GregtechMetaTileEntity_IndustrialMolecularTransformer( - 31072, - "moleculartransformer.controller.tier.single", - "Molecular Transformer").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNuclearSaltProcessingPlant.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNuclearSaltProcessingPlant.java deleted file mode 100644 index 0122f525c6..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNuclearSaltProcessingPlant.java +++ /dev/null @@ -1,21 +0,0 @@ -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.processing.GregtechMetaTileEntity_NuclearSaltProcessingPlant; - -public class GregtechNuclearSaltProcessingPlant { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Nuclear Salt Processing Plant Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_NuclearSaltProcessingPlant) { - // Nuclear Salt Processing Plant Multiblock - GregtechItemList.Nuclear_Salt_Processing_Plant.set( - new GregtechMetaTileEntity_NuclearSaltProcessingPlant( - 749, - "nuclearsaltprocessingplant.controller.tier.single", - "Nuclear Salt Processing Plant").getStackForm(1L)); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java deleted file mode 100644 index fc62698789..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java +++ /dev/null @@ -1,93 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -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 { - - public static void run() { - if (PollutionUtils.isPollutionEnabled()) { - Logger.INFO("Gregtech5u Content | Registering Anti-Pollution Devices."); - run1(); - } - } - - private static void run1() { - if (CORE.ConfigSwitches.enableMachine_Pollution) { - // 759 - GregtechItemList.Pollution_Detector.set( - new GregtechMetaPollutionDetector( - 756, - "pollutiondetector.01.tier.single", - "Pollution Detection Device", - 0, - "Tells you if you're living in Gwalior yet.", - 0).getStackForm(1L)); - GregtechItemList.Pollution_Creator.set( - new GregtechMetaPollutionCreator( - 951, - "pollutioncreator.01.tier.single", - "Smog Device", - 4, - "Polluting the skies.", - 0).getStackForm(1L)); - - GregtechItemList.Pollution_Cleaner_LV.set( - new GregtechMetaAtmosphericReconditioner( - 758, - "pollutioncleaner.02.tier.single", - "Upgraded Pollution Scrubber", - 1).getStackForm(1L)); - GregtechItemList.Pollution_Cleaner_MV.set( - new GregtechMetaAtmosphericReconditioner( - 759, - "pollutioncleaner.03.tier.single", - "Advanced Pollution Scrubber", - 2).getStackForm(1L)); - GregtechItemList.Pollution_Cleaner_HV.set( - new GregtechMetaAtmosphericReconditioner( - 760, - "pollutioncleaner.04.tier.single", - "Precision Pollution Scrubber", - 3).getStackForm(1L)); - GregtechItemList.Pollution_Cleaner_EV.set( - new GregtechMetaAtmosphericReconditioner(761, "pollutioncleaner.05.tier.single", "Air Recycler", 4) - .getStackForm(1L)); - GregtechItemList.Pollution_Cleaner_IV.set( - new GregtechMetaAtmosphericReconditioner( - 762, - "pollutioncleaner.06.tier.single", - "Upgraded Air Recycler", - 5).getStackForm(1L)); - GregtechItemList.Pollution_Cleaner_LuV.set( - new GregtechMetaAtmosphericReconditioner( - 763, - "pollutioncleaner.07.tier.single", - "Advanced Air Recycler", - 6).getStackForm(1L)); - GregtechItemList.Pollution_Cleaner_ZPM.set( - new GregtechMetaAtmosphericReconditioner( - 764, - "pollutioncleaner.08.tier.single", - "Precision Air Recycler", - 7).getStackForm(1L)); - GregtechItemList.Pollution_Cleaner_UV.set( - new GregtechMetaAtmosphericReconditioner( - 765, - "pollutioncleaner.09.tier.single", - "Atmospheric Cleaner", - 8).getStackForm(1L)); - GregtechItemList.Pollution_Cleaner_MAX.set( - new GregtechMetaAtmosphericReconditioner( - 766, - "pollutioncleaner.10.tier.single", - "Biosphere Cleanser", - 9).getStackForm(1L)); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java deleted file mode 100644 index 3fd906b261..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java +++ /dev/null @@ -1,61 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gregtech.api.enums.ItemList; -import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -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.common.tileentities.machines.multi.storage.GregtechMetaTileEntity_PowerSubStationController; - -public class GregtechPowerSubStation { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Power Substation Node."); - if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation) { - run1(); - } - } - - private static void run1() { - // Steam Condensors - GregtechItemList.PowerSubStation.set( - new GregtechMetaTileEntity_PowerSubStationController( - 812, - "substation.01.input.single", - "Power Station Control Node").getStackForm(1L)); - int tID = 886; - GregtechItemList.Hatch_Input_Battery_MV.set( - new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.00", "Charging Bus (MV)", 2) - .getStackForm(1L)); - GregtechItemList.Hatch_Input_Battery_EV.set( - new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.01", "Charging Bus (EV)", 4) - .getStackForm(1L)); - - GregtechItemList.Hatch_Output_Battery_MV.set( - new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.00", "Discharging Bus (MV)", 2) - .getStackForm(1L)); - GregtechItemList.Hatch_Output_Battery_EV.set( - new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.01", "Discharging Bus (EV)", 4) - .getStackForm(1L)); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Input_Battery_MV.get(1L, new Object[0]), - CI.bitsd, - new Object[] { "C", "M", 'M', ItemList.Hull_MV, 'C', ItemList.Battery_Buffer_2by2_MV }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Input_Battery_EV.get(1L, new Object[0]), - CI.bitsd, - new Object[] { "C", "M", 'M', ItemList.Hull_EV, 'C', ItemList.Battery_Buffer_4by4_EV }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Output_Battery_MV.get(1L, new Object[0]), - CI.bitsd, - new Object[] { "M", "C", 'M', ItemList.Hull_MV, 'C', ItemList.Battery_Buffer_2by2_MV }); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Output_Battery_EV.get(1L, new Object[0]), - CI.bitsd, - new Object[] { "M", "C", 'M', ItemList.Hull_EV, 'C', ItemList.Battery_Buffer_4by4_EV }); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java deleted file mode 100644 index 5943f3bd28..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java +++ /dev/null @@ -1,20 +0,0 @@ -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.production.GregtechMetaTileEntity_QuantumForceTransformer; - -public class GregtechQuantumForceTransformer { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Quantum Force Transformer Multiblock."); - if (CORE.ConfigSwitches.enableMultiblock_QuantumForceTransformer) { - GregtechItemList.QuantumForceTransformer.set( - new GregtechMetaTileEntity_QuantumForceTransformer( - 31151, - "quantumforcetransformer.controller.tier.single", - "Quantum Force Transformer").getStackForm(1L)); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java deleted file mode 100644 index 5eb148a287..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java +++ /dev/null @@ -1,22 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntity_RTG; - -public class GregtechRTG { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering RTG."); - run1(); - } - - private static void run1() { - GregtechItemList.RTG.set( - new GregtechMetaTileEntity_RTG( - 869, - "basicgenerator.rtg.tier.01", - "Radioisotope Thermoelectric Generator", - 3).getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java deleted file mode 100644 index b2f53d46ba..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java +++ /dev/null @@ -1,98 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -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.material.ALLOY; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntityRocketFuelGenerator; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_LargeRocketEngine; - -public class GregtechRocketFuelGenerator { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Industrial Rocket Engines."); - if (CORE.ConfigSwitches.enableMachine_RocketEngines) { - run1(); - } - } - - private static void run1() { - GregtechItemList.Controller_RocketEngine.set( - new GregtechMetaTileEntity_LargeRocketEngine( - 996, - "gtpp.multimachine.rocketengine", - "Rocketdyne F-1A Engine").getStackForm(1L)); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Controller_RocketEngine.get(1L), - CI.bitsd, - new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Machine_Multi_DieselEngine.get(1), 'P', - ItemList.Electric_Piston_IV, 'E', ItemList.Field_Generator_EV, 'C', - OrePrefixes.circuit.get(Materials.Master), 'W', OrePrefixes.cableGt08.get(Materials.Platinum), 'G', - ALLOY.MARAGING350.getGear(1) }); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Casing_RocketEngine.get(1L), - CI.bitsd, - new Object[] { "PhP", "RFR", "PWP", 'R', OrePrefixes.pipeMedium.get(Materials.TungstenSteel), 'F', - ItemList.Casing_RobustTungstenSteel, 'P', ALLOY.NITINOL_60.getGear(1), 'W', - OrePrefixes.stickLong.get(Materials.TungstenSteel) }); - - GregtechItemList.Rocket_Engine_EV.set( - new GregtechMetaTileEntityRocketFuelGenerator( - 793, - "advancedgenerator.rocketFuel.tier.01", - "Basic Rocket Engine", - 4).getStackForm(1L)); - GregtechItemList.Rocket_Engine_IV.set( - new GregtechMetaTileEntityRocketFuelGenerator( - 794, - "advancedgenerator.rocketFuel.tier.02", - "Advanced Rocket Engine", - 5).getStackForm(1L)); - GregtechItemList.Rocket_Engine_LuV.set( - new GregtechMetaTileEntityRocketFuelGenerator( - 795, - "advancedgenerator.rocketFuel.tier.03", - "Turbo Rocket Engine", - 6).getStackForm(1L)); - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Rocket_Engine_EV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'), - ItemList.Electric_Piston_EV, Character.valueOf('E'), ItemList.Electric_Motor_EV, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('W'), - OrePrefixes.cableGt02.get(Materials.Aluminium), Character.valueOf('G'), - ALLOY.TANTALLOY_61.getGear(1) }); - - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Rocket_Engine_IV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('P'), - ItemList.Electric_Piston_IV, Character.valueOf('E'), ItemList.Electric_Motor_IV, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), - OrePrefixes.cableGt02.get(Materials.Platinum), Character.valueOf('G'), ALLOY.STELLITE.getGear(1) }); - final ItemStack INGREDIENT_1 = CI.electricPiston_LuV; - final ItemStack INGREDIENT_2 = CI.electricMotor_LuV; - GT_ModHandler.addCraftingRecipe( - GregtechItemList.Rocket_Engine_LuV.get(1L, new Object[0]), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('P'), - INGREDIENT_1, Character.valueOf('E'), INGREDIENT_2, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('W'), - OrePrefixes.cableGt02.get(Materials.Tungsten), Character.valueOf('G'), ALLOY.ZERON_100.getGear(1) }); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java deleted file mode 100644 index be349d2a81..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java +++ /dev/null @@ -1,46 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_SemiFluidGenerator; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_LargeSemifluidGenerator; - -public class GregtechSemiFluidgenerators { - - public static void run() { - GregtechItemList.Generator_SemiFluid_LV.set( - new GT_MetaTileEntity_SemiFluidGenerator( - 837, - "basicgenerator.semifluid.tier.01", - "Basic Semi-Fluid Generator", - 1).getStackForm(1L)); - GregtechItemList.Generator_SemiFluid_MV.set( - new GT_MetaTileEntity_SemiFluidGenerator( - 838, - "basicgenerator.semifluid.tier.02", - "Advanced Semi-Fluid Generator", - 2).getStackForm(1L)); - GregtechItemList.Generator_SemiFluid_HV.set( - new GT_MetaTileEntity_SemiFluidGenerator( - 839, - "basicgenerator.semifluid.tier.03", - "Turbo Semi-Fluid Generator", - 3).getStackForm(1L)); - GregtechItemList.Generator_SemiFluid_EV.set( - new GT_MetaTileEntity_SemiFluidGenerator( - 993, - "basicgenerator.semifluid.tier.04", - "Turbo Semi-Fluid Generator II", - 4).getStackForm(1L)); - GregtechItemList.Generator_SemiFluid_IV.set( - new GT_MetaTileEntity_SemiFluidGenerator( - 994, - "basicgenerator.semifluid.tier.05", - "Turbo Semi-Fluid Generator III", - 5).getStackForm(1L)); - GregtechItemList.Controller_LargeSemifluidGenerator.set( - new GregtechMetaTileEntity_LargeSemifluidGenerator( - 31026, - "gtpp.multimachine.semifluidgenerator", - "Large Semifluid Burner").getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java deleted file mode 100644 index 15d54a7c6d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java +++ /dev/null @@ -1,166 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; -import com.google.common.collect.ImmutableList; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.SoundResource; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.SpecialEffects; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.objects.data.Quad; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class GregtechSimpleWasher { - - public static void run() { - if (CORE.ConfigSwitches.enableMachine_SimpleWasher) { - generateDirtyDustRecipes(); - generateDirtyCrushedRecipes(); - // Register the Simple Washer Entity. - - // The unlocalized names here have inconsistent numbering because there only used to be a simple washer - // every other tier, and they were numbered numerically. In order to maintain backwards compatibility, - // the tier numbers need to stay as they were. - List> washers = ImmutableList.of( - new Quad<>(GregtechItemList.SimpleDustWasher_LV, 31790, "simplewasher.01.tier.06", "Simple Washer I"), - new Quad<>(GregtechItemList.SimpleDustWasher_MV, 31017, "simplewasher.01.tier.02", "Simple Washer II"), - new Quad<>(GregtechItemList.SimpleDustWasher_HV, 31791, "simplewasher.01.tier.07", "Simple Washer III"), - new Quad<>(GregtechItemList.SimpleDustWasher_EV, 31018, "simplewasher.01.tier.03", "Simple Washer IV"), - new Quad<>(GregtechItemList.SimpleDustWasher_IV, 31792, "simplewasher.01.tier.08", "Simple Washer V"), - new Quad<>(GregtechItemList.SimpleDustWasher_LuV, 31019, "simplewasher.01.tier.04", "Simple Washer VI"), - new Quad<>( - GregtechItemList.SimpleDustWasher_ZPM, - 31793, - "simplewasher.01.tier.09", - "Simple Washer VII"), - new Quad<>( - GregtechItemList.SimpleDustWasher_UV, - 31020, - "simplewasher.01.tier.05", - "Simple Washer VIII")); - - GregtechItemList.SimpleDustWasher_ULV.set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 767, - "simplewasher.01.tier.01", - "Deprecated ULV Simple Washer", - 0, - new String[] { "It's like an automatic Cauldron for washing dusts.", - "§cDEPRECATED: No recipe.§r Make a Simple Washer I.", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.simpleWasherRecipes, - 1, - 1, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "SIMPLE_WASHER", - null).setRecipeCatalystPriority(-11) - .getStackForm(1L)); - - for (int i = 0; i < washers.size(); i++) { - Quad washer = washers.get(i); - int tier = i + 1; - washer.getKey() - .set( - new GT_MetaTileEntity_BasicMachine_GT_Recipe( - washer.getValue_1(), - washer.getValue_2(), - washer.getValue_3(), - tier, - new String[] { "It's like an automatic Cauldron for washing dusts.", - CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.simpleWasherRecipes, - 1, - 1, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "SIMPLE_WASHER", - null).setRecipeCatalystPriority(-tier) - .getStackForm(1L)); - } - } - } - - private static boolean generateDirtyDustRecipes() { - int mRecipeCount = 0; - // Generate Recipe Map for the Dust Washer. - ItemStack dustClean; - ItemStack dustDirty; - ItemStack dustPure; - for (Materials v : Materials.values()) { - if (v == Materials.Platinum || v == Materials.Osmium - || v == Materials.Iridium - || v == Materials.Palladium) { - continue; - } - - dustClean = GT_OreDictUnificator.get(OrePrefixes.dust, v, 1L); - dustDirty = GT_OreDictUnificator.get(OrePrefixes.dustImpure, v, 1L); - dustPure = GT_OreDictUnificator.get(OrePrefixes.dustPure, v, 1L); - addSimpleWashRecipe(dustDirty, dustClean); - addSimpleWashRecipe(dustPure, dustClean); - } - - for (Werkstoff v : Werkstoff.werkstoffHashSet) { - dustClean = v.hasItemType(OrePrefixes.dust) ? v.get(OrePrefixes.dust) : null; - dustDirty = v.hasItemType(OrePrefixes.dustImpure) ? v.get(OrePrefixes.dustImpure) : null; - dustPure = v.hasItemType(OrePrefixes.dustPure) ? v.get(OrePrefixes.dustPure) : null; - addSimpleWashRecipe(dustDirty, dustClean); - addSimpleWashRecipe(dustPure, dustClean); - } - - return GTPPRecipeMaps.simpleWasherRecipes.getAllRecipes() - .size() > mRecipeCount; - } - - private static boolean generateDirtyCrushedRecipes() { - int mRecipeCount = GTPPRecipeMaps.simpleWasherRecipes.getAllRecipes() - .size(); - // Generate Recipe Map for the Dust Washer. - ItemStack crushedClean; - ItemStack crushedDirty; - for (Materials v : Materials.values()) { - crushedClean = GT_OreDictUnificator.get(OrePrefixes.crushedPurified, v, 1L); - crushedDirty = GT_OreDictUnificator.get(OrePrefixes.crushed, v, 1L); - addSimpleWashRecipe(crushedDirty, crushedClean); - } - - for (Werkstoff v : Werkstoff.werkstoffHashSet) { - crushedClean = v.hasItemType(OrePrefixes.crushedPurified) ? v.get(OrePrefixes.crushedPurified) : null; - crushedDirty = v.hasItemType(OrePrefixes.crushed) ? v.get(OrePrefixes.crushed) : null; - addSimpleWashRecipe(crushedDirty, crushedClean); - } - - return GTPPRecipeMaps.simpleWasherRecipes.getAllRecipes() - .size() > mRecipeCount; - } - - private static void addSimpleWashRecipe(ItemStack aInput, ItemStack aOutput) { - if (aInput != null && aOutput != null) { - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new int[] {}, - new FluidStack[] { FluidUtils.getFluidStack("water", 100) }, - new FluidStack[] {}, - 5, - 8, - 0); - GTPPRecipeMaps.simpleWasherRecipes.addRecipe(aRecipe); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java deleted file mode 100644 index 466e56181b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java +++ /dev/null @@ -1,46 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import net.minecraftforge.fluids.FluidStack; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.material.MISC_MATERIALS; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_SolarTower; -import gtPlusPlus.xmod.gregtech.common.tileentities.misc.TileEntitySolarHeater; - -public class GregtechSolarTower { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Solar Tower."); - run1(); - } - - private static void run1() { - // Solar Tower - GregtechItemList.Industrial_Solar_Tower.set( - new GregtechMetaTileEntity_SolarTower(863, "solartower.controller.tier.single", "Solar Tower") - .getStackForm(1L)); - GregtechItemList.Solar_Tower_Reflector.set( - new TileEntitySolarHeater( - 864, - "solarreflector.simple.single", - "Solar Reflector", - 8, - "Part of the Clean Green energy movement", - 0).getStackForm(1L)); - - // NEI recipe - GTPPRecipeMaps.solarTowerRecipes.addRecipe( - false, - null, - null, - null, - null, - new FluidStack[] { MISC_MATERIALS.SOLAR_SALT_COLD.getFluidStack(1000) }, - new FluidStack[] { MISC_MATERIALS.SOLAR_SALT_HOT.getFluidStack(1000) }, - 0, - 0, - 0); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java deleted file mode 100644 index 9c3a73092b..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java +++ /dev/null @@ -1,30 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusInput; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusOutput; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.steam.GregtechMetaTileEntity_SteamCompressor; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.steam.GregtechMetaTileEntity_SteamMacerator; - -public class GregtechSteamMultis { - - public static void run() { - - Logger.INFO("Gregtech5u Content | Registering Steam Multiblocks."); - - GregtechItemList.Controller_SteamMaceratorMulti.set( - new GregtechMetaTileEntity_SteamMacerator(31041, "gtpp.multimachine.steam.macerator", "Steam Grinder") - .getStackForm(1L)); - GregtechItemList.Controller_SteamCompressorMulti.set( - new GregtechMetaTileEntity_SteamCompressor(31078, "gtpp.multimachine.steam.compressor", "Steam Squasher") - .getStackForm(1L)); - - GregtechItemList.Hatch_Input_Bus_Steam.set( - new GT_MetaTileEntity_Hatch_Steam_BusInput(31046, "hatch.input_bus.tier.steam", "Input Bus (Steam)", 0) - .getStackForm(1L)); - GregtechItemList.Hatch_Output_Bus_Steam.set( - new GT_MetaTileEntity_Hatch_Steam_BusOutput(31047, "hatch.output_bus.tier.steam", "Output Bus (Steam)", 0) - .getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java deleted file mode 100644 index 51ff8c879c..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java +++ /dev/null @@ -1,30 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GT_MetaTileEntity_TieredChest; - -public class GregtechSuperChests { - - public static void run() { - int mId = 946; - - String aSuffix = " [Disabled]"; - - GregtechItemList.Super_Chest_LV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.01", "Super Chest I" + aSuffix, 1)) - .getStackForm(1L)); - GregtechItemList.Super_Chest_MV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.02", "Super Chest II" + aSuffix, 2)) - .getStackForm(1L)); - GregtechItemList.Super_Chest_HV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.03", "Super Chest III" + aSuffix, 3)) - .getStackForm(1L)); - GregtechItemList.Super_Chest_EV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.04", "Super Chest IV" + aSuffix, 4)) - .getStackForm(1L)); - GregtechItemList.Super_Chest_IV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.05", "Super Chest V" + aSuffix, 5)) - .getStackForm(1L)); - - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java deleted file mode 100644 index a8c8a8fa6d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java +++ /dev/null @@ -1,29 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import static gregtech.api.enums.Mods.Thaumcraft; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaPollutionCreator; - -public class GregtechThaumcraftDevices { - - public static void run() { - if (Thaumcraft.isModLoaded()) { - Logger.INFO("Gregtech5u Content | Registering Thaumcraft content."); - run1(); - } - } - - private static void run1() { - // 956-960 - GregtechItemList.Thaumcraft_Researcher.set( - new GregtechMetaPollutionCreator( - 956, - "thaumcraft.gtpp.machine.01", - "Arcane Researcher", - 5, - "Thinking for you.", - 0).getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java deleted file mode 100644 index 695ae84b38..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java +++ /dev/null @@ -1,13 +0,0 @@ -package gtPlusPlus.xmod.gregtech.registration.gregtech; - -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.tileentities.storage.creative.GT_MetaTileEntity_InfiniteItemHolder; - -public class GregtechThreadedBuffers { - - public static void run() { - GregtechItemList.Infinite_Item_Chest.set( - (new GT_MetaTileEntity_InfiniteItemHolder(31010, "infinite.chest.tier.01", "Infinite Item Chest", 1)) - .getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java deleted file mode 100644 index b5db00d058..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java +++ /dev/null @@ -1,31 +0,0 @@ -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.storage.GT_MetaTileEntity_TieredTank; - -public class GregtechTieredFluidTanks { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Portable Fluid Tanks."); - if (CORE.ConfigSwitches.enableMachine_FluidTanks) { - run1(); - } - } - - private static void run1() { - int ID = 817; - Logger.INFO("Only loading ULV-IV tier tanks for New Horizons Modpack."); - GregtechItemList.GT_FluidTank_ULV.set( - new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.00", "Ultra Low Voltage Fluid Tank", 0) - .getStackForm(1L)); - GregtechItemList.GT_FluidTank_LV.set( - new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.01", "Low Voltage Fluid Tank", 1).getStackForm(1L)); - GregtechItemList.GT_FluidTank_MV.set( - new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.02", "Medium Voltage Fluid Tank", 2) - .getStackForm(1L)); - GregtechItemList.GT_FluidTank_HV.set( - new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.03", "High Voltage Fluid Tank", 3).getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java deleted file mode 100644 index 8b1d4be6ee..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java +++ /dev/null @@ -1,21 +0,0 @@ -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.api.metatileentity.implementations.GregtechMetaTreeFarmerStructural; - -public class GregtechTreeFarmerTE { - - public static void run() { - Logger.INFO("Gregtech5u Content | Registering Tree Farmer Structural Block."); - if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer) { - run1(); - } - } - - private static void run1() { - GregtechItemList.TreeFarmer_Structural - .set(new GregtechMetaTreeFarmerStructural(752, "treefarmer.structural", "Farm Keeper", 0).getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java b/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java deleted file mode 100644 index 452c9117ed..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java +++ /dev/null @@ -1,96 +0,0 @@ -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; -import gtPlusPlus.xmod.gregtech.common.helpers.ChargingHelper; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaWirelessCharger; - -public class GregtechWirelessChargers { - - public static void run() { - - Logger.INFO("Gregtech5u Content | Registering Wireless Chargers."); - - long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED; - int mID = 890; - - Utils.registerEvent(new ChargingHelper()); - - GregtechItemList.Charger_LV.set( - new GregtechMetaWirelessCharger( - mID++, - "wificharger.01.tier.single", - "Wireless Charger MK I", - 1, - "Hopefully won't give you cancer.", - 0).getStackForm(1L)); - GregtechItemList.Charger_MV.set( - new GregtechMetaWirelessCharger( - mID++, - "wificharger.02.tier.single", - "Wireless Charger MK II", - 2, - "Hopefully won't give you cancer.", - 0).getStackForm(1L)); - GregtechItemList.Charger_HV.set( - new GregtechMetaWirelessCharger( - mID++, - "wificharger.03.tier.single", - "Wireless Charger MK III", - 3, - "Hopefully won't give you cancer.", - 0).getStackForm(1L)); - GregtechItemList.Charger_EV.set( - new GregtechMetaWirelessCharger( - mID++, - "wificharger.04.tier.single", - "Wireless Charger MK IV", - 4, - "Hopefully won't give you cancer.", - 0).getStackForm(1L)); - GregtechItemList.Charger_IV.set( - new GregtechMetaWirelessCharger( - mID++, - "wificharger.05.tier.single", - "Wireless Charger MK V", - 5, - "Hopefully won't give you cancer.", - 0).getStackForm(1L)); - GregtechItemList.Charger_LuV.set( - new GregtechMetaWirelessCharger( - mID++, - "wificharger.06.tier.single", - "Wireless Charger MK VI", - 6, - "Hopefully won't give you cancer.", - 0).getStackForm(1L)); - GregtechItemList.Charger_ZPM.set( - new GregtechMetaWirelessCharger( - mID++, - "wificharger.07.tier.single", - "Wireless Charger MK VII", - 7, - "Hopefully won't give you cancer.", - 0).getStackForm(1L)); - GregtechItemList.Charger_UV.set( - new GregtechMetaWirelessCharger( - mID++, - "wificharger.08.tier.single", - "Wireless Charger MK VIII", - 8, - "Hopefully won't give you cancer.", - 0).getStackForm(1L)); - GregtechItemList.Charger_UHV.set( - new GregtechMetaWirelessCharger( - mID++, - "wificharger.09.tier.single", - "Wireless Charger MK IX", - 9, - "Hopefully won't give you cancer.", - 0).getStackForm(1L)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/CustomInternalName.java b/gtpp/src/main/java/gtPlusPlus/xmod/ic2/CustomInternalName.java deleted file mode 100644 index 4d7c19792f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/CustomInternalName.java +++ /dev/null @@ -1,23 +0,0 @@ -package gtPlusPlus.xmod.ic2; - -import net.minecraftforge.common.util.EnumHelper; - -import ic2.core.init.InternalName; - -public class CustomInternalName { - - public static InternalName aHazmatHelmetEx; - public static InternalName aHazmatChestEx; - public static InternalName aHazmatLegsEx; - public static InternalName aHazmatBootsEx; - - public static void init() { - aHazmatHelmetEx = EnumHelper - .addEnum(InternalName.class, "itemArmorHazmatHelmetEx", new Class[] {}, new Object[] {}); - aHazmatChestEx = EnumHelper - .addEnum(InternalName.class, "itemArmorHazmatChestplateEx", new Class[] {}, new Object[] {}); - aHazmatLegsEx = EnumHelper - .addEnum(InternalName.class, "itemArmorHazmatLeggingsEx", new Class[] {}, new Object[] {}); - aHazmatBootsEx = EnumHelper.addEnum(InternalName.class, "itemArmorRubBootsEx", new Class[] {}, new Object[] {}); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java b/gtpp/src/main/java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java deleted file mode 100644 index 475d8d5feb..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java +++ /dev/null @@ -1,15 +0,0 @@ -package gtPlusPlus.xmod.ic2; - -import gtPlusPlus.xmod.ic2.item.IC2_Items; -import gtPlusPlus.xmod.ic2.recipe.RECIPE_IC2; - -public class HANDLER_IC2 { - - public static void preInit() { - IC2_Items.register(); - } - - public static void postInit() { - RECIPE_IC2.initRecipes(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java b/gtpp/src/main/java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java deleted file mode 100644 index 82daf41c90..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java +++ /dev/null @@ -1,244 +0,0 @@ -package gtPlusPlus.xmod.ic2.item; - -import static gregtech.api.enums.Mods.EnderIO; - -import java.util.List; - -import net.minecraft.client.Minecraft; -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.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import ic2.api.item.IKineticRotor; -import ic2.core.IC2; -import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator; -import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator; - -public class CustomKineticRotor extends Item implements IKineticRotor { - - private final int mTier; - - @SideOnly(Side.CLIENT) - private IIcon[] mTextures; - - private static final String[] mRegistrationNames = new String[] { "itemwoodrotor", "itemironrotor", - "itemsteelrotor", "itemwcarbonrotor" }; - - private static final String[] mUnlocalNames = new String[] { "itemEnergeticRotor", "itemTungstenSteelRotor", - "itemVibrantRotor", "itemIridiumRotor", "itemMagnaliumRotor", "itemUltimetRotor", }; - private static final int[] mMaxDurability = new int[] { 512000, 809600, 1600000, 3200000 }; - private static final int[] mRadius = new int[] { 9, 11, 13, 15 }; - private static final float[] mEfficiency = new float[] { 0.9f, 1.0f, 1.2f, 1.5f }; - private static final int[] mMinWindStrength = new int[] { 12, 14, 16, 18 }; - private static final int[] mMaxWindStrength = new int[] { 80, 120, 160, 320 }; - - private static final ResourceLocation[] mResourceLocations = new ResourceLocation[] { - new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorEnergeticModel.png"), - new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorTungstenSteelModel.png"), - new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorVibrantModel.png"), - new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png"), - new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorMagnaliumModel.png"), - new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorUltimetModel.png"), }; - - private final int maxWindStrength; - private final int minWindStrength; - private final int radius; - private final float efficiency; - private final ResourceLocation renderTexture; - - public CustomKineticRotor(int aTier) { - mTier = aTier; - this.setMaxStackSize(1); - // Handle Differences if EIO is not loaded - if (!EnderIO.isModLoaded() && (aTier == 0 || aTier == 2)) { - this.renderTexture = mResourceLocations[(aTier == 0 ? 4 : 5)]; - this.setUnlocalizedName(mUnlocalNames[(aTier == 0 ? 4 : 5)]); - } else { - this.renderTexture = mResourceLocations[aTier]; - this.setUnlocalizedName(mUnlocalNames[aTier]); - } - this.setMaxDamage(mMaxDurability[aTier]); - this.radius = mRadius[aTier]; - this.efficiency = mEfficiency[aTier]; - this.minWindStrength = mMinWindStrength[aTier]; - this.maxWindStrength = mMaxWindStrength[aTier]; - this.setNoRepair(); - this.setCreativeTab(IC2.tabIC2); - GameRegistry.registerItem(this, mRegistrationNames[aTier]); - } - - @Override - public void setDamage(final ItemStack stack, final int damage) { - if (mTier < 3) { - super.setDamage(stack, damage); - } - } - - @Override - public void addInformation(final ItemStack itemStack, final EntityPlayer player, final List info, final boolean b) { - - info.add( - StatCollector.translateToLocalFormatted( - "ic2.itemrotor.wind.info", - new Object[] { this.minWindStrength, this.maxWindStrength })); - - GearboxType type = null; - if (Minecraft.getMinecraft().currentScreen != null - && Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator) { - type = GearboxType.WATER; - } else if (Minecraft.getMinecraft().currentScreen != null - && Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator) { - type = GearboxType.WIND; - } - - if (type != null) { - info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." + this.isAcceptedType(itemStack, type))); - } - } - - @Override - public int getDiameter(final ItemStack stack) { - return this.radius; - } - - @Override - public ResourceLocation getRotorRenderTexture(final ItemStack stack) { - return this.renderTexture; - } - - @Override - public float getEfficiency(final ItemStack stack) { - return this.efficiency; - } - - @Override - public int getMinWindStrength(final ItemStack stack) { - return this.minWindStrength; - } - - @Override - public int getMaxWindStrength(final ItemStack stack) { - return this.maxWindStrength; - } - - @Override - public boolean isAcceptedType(final ItemStack stack, final IKineticRotor.GearboxType type) { - return (type == IKineticRotor.GearboxType.WIND) || (type == IKineticRotor.GearboxType.WATER); - } - - @Override - public String getUnlocalizedName() { - return "ic2." + super.getUnlocalizedName().substring(5); - } - - @Override - public String getUnlocalizedName(ItemStack itemStack) { - return this.getUnlocalizedName(); - } - - @Override - public String getItemStackDisplayName(ItemStack itemStack) { - return StatCollector.translateToLocal(this.getUnlocalizedName(itemStack)); - } - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return mTier < 3; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int meta) { - if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) { - if (mTier == 0) { - return mTextures[4]; - } else { - return mTextures[5]; - } - } else { - return mTextures[mTier]; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconIndex(ItemStack aIndex) { - if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) { - if (mTier == 0) { - return mTextures[4]; - } else { - return mTextures[5]; - } - } else { - return mTextures[mTier]; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamageForRenderPass(int aDmg, int aPass) { - if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) { - if (mTier == 0) { - return mTextures[4]; - } else { - return mTextures[5]; - } - } else { - return mTextures[mTier]; - } - } - - @Override - protected String getIconString() { - return super.getIconString(); - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - return super.getDurabilityForDisplay(stack); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) { - if (mTier == 0) { - return mTextures[4]; - } else { - return mTextures[5]; - } - } else { - return mTextures[mTier]; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(ItemStack stack, int pass) { - if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) { - if (mTier == 0) { - return mTextures[4]; - } else { - return mTextures[5]; - } - } else { - return mTextures[mTier]; - } - } - - @Override - public void registerIcons(IIconRegister iconRegister) { - int aIndex = 0; - mTextures = new IIcon[6]; - for (String y : mUnlocalNames) { - mTextures[aIndex++] = iconRegister.registerIcon(IC2.textureDomain + ":" + "rotors/" + y); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_Items.java b/gtpp/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_Items.java deleted file mode 100644 index 3dacc657de..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_Items.java +++ /dev/null @@ -1,77 +0,0 @@ -package gtPlusPlus.xmod.ic2.item; - -import static gregtech.api.enums.Mods.EnderIO; - -import net.minecraft.item.ItemStack; - -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.base.CoreItem; -import gtPlusPlus.core.item.wearable.hazmat.ItemArmorHazmatEx; - -public class IC2_Items { - - public static ItemStack rotor_Material_1; // Energetic Alloy - public static ItemStack rotor_Material_2; // TungstenSteel - public static ItemStack rotor_Material_3; // Vibrant Alloy - public static ItemStack rotor_Material_4; // Iridium - - public static ItemStack rotor_Blade_Material_1; - public static ItemStack rotor_Blade_Material_2; - public static ItemStack rotor_Blade_Material_3; - public static ItemStack rotor_Blade_Material_4; - - public static ItemStack shaft_Material_1; // Energetic Alloy - public static ItemStack shaft_Material_2; // TungstenSteel - public static ItemStack shaft_Material_3; // Vibrant Alloy - public static ItemStack shaft_Material_4; // Iridium - - private static final String[] mData1 = new String[] { "itemEnergeticRotorBlade", "itemMagnaliumRotorBlade" }; - private static final String[] mData2 = new String[] { "itemEnergeticShaft", "itemMagnaliumShaft" }; - private static final String[] mData3 = new String[] { "itemVibrantRotorBlade", "itemUltimetRotorBlade" }; - private static final String[] mData4 = new String[] { "itemVibrantShaft", "itemUltimetShaft" }; - - public static void register() { - - int aIndexEIO = (EnderIO.isModLoaded() ? 0 : 1); - - // Rotor Blades - rotor_Blade_Material_1 = new ItemStack( - new CoreItem(mData1[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Blade_Material_2 = new ItemStack( - new CoreItem( - "itemTungstenSteelRotorBlade", - AddToCreativeTab.tabMachines, - 16, - "A part for an advanced Kinetic Rotor")); - rotor_Blade_Material_3 = new ItemStack( - new CoreItem(mData3[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Blade_Material_4 = new ItemStack( - new CoreItem( - "itemIridiumRotorBlade", - AddToCreativeTab.tabMachines, - 16, - "A part for an advanced Kinetic Rotor")); - - // Rotor Shafts - shaft_Material_1 = new ItemStack( - new CoreItem(mData2[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_2 = new ItemStack( - new CoreItem( - "itemTungstenSteelShaft", - AddToCreativeTab.tabMachines, - 16, - "A part for an advanced Kinetic Rotor")); - shaft_Material_3 = new ItemStack( - new CoreItem(mData4[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_4 = new ItemStack( - new CoreItem("itemIridiumShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - - // Rotors - rotor_Material_1 = new ItemStack(new CustomKineticRotor(0)); - rotor_Material_2 = new ItemStack(new CustomKineticRotor(1)); - rotor_Material_3 = new ItemStack(new CustomKineticRotor(2)); - rotor_Material_4 = new ItemStack(new CustomKineticRotor(3)); - - ItemArmorHazmatEx.init(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java b/gtpp/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java deleted file mode 100644 index 47ec1afe0f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java +++ /dev/null @@ -1,365 +0,0 @@ -package gtPlusPlus.xmod.ic2.recipe; - -import static gregtech.api.enums.Mods.EnderIO; -import static gtPlusPlus.core.recipe.RECIPES_Tools.craftingToolHardHammer; -import static gtPlusPlus.core.recipe.RECIPES_Tools.craftingToolWrench; - -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; - -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 gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.ic2.item.IC2_Items; -import ic2.core.Ic2Items; - -public class RECIPE_IC2 { - - public static String plate_T1 = "plateEnergeticAlloy"; - public static String plate_T2 = "plateTungstenSteel"; - public static String plate_T3 = "plateVibrantAlloy"; - public static String plate_T4 = "plateAlloyIridium"; - - public static ItemStack block_T1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.EnergeticAlloy, 1L); - public static ItemStack block_T2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 1L); - public static ItemStack block_T3 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.VibrantAlloy, 1L); - public static ItemStack block_T4 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 1L); - - public static ItemStack shaft_block_T1 = GT_OreDictUnificator.get(OrePrefixes.block, Materials.EnergeticAlloy, 1L); - public static ItemStack shaft_block_T2 = GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenSteel, 1L); - public static ItemStack shaft_block_T3 = GT_OreDictUnificator.get(OrePrefixes.block, Materials.VibrantAlloy, 1L); - public static ItemStack shaft_block_T4 = GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iridium, 1L); - - public static String ingot_T1 = "ingotEnergeticAlloy"; - public static String ingot_T2 = "ingotTungstenSteel"; - public static String ingot_T3 = "ingotVibrantAlloy"; - public static String ingot_T4 = "ingotIridium"; - - public static String ring_T1 = "ringStainlessSteel"; - public static String ring_T2 = "ringTungstenSteel"; - public static String ring_T3 = "ringChrome"; - public static String ring_T4 = "ringOsmiridium"; - - private static ItemStack rotor_blade_T1 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_1.getItem()); - private static ItemStack rotor_blade_T2 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_2.getItem()); - private static ItemStack rotor_blade_T3 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_3.getItem()); - private static ItemStack rotor_blade_T4 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_4.getItem()); - - private static ItemStack shaft_T1 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_1.getItem()); - private static ItemStack shaft_T2 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_2.getItem()); - private static ItemStack shaft_T3 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_3.getItem()); - private static ItemStack shaft_T4 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_4.getItem()); - - private static ItemStack rotor_T1 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_1.getItem()); - private static ItemStack rotor_T2 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_2.getItem()); - 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 boolean checkForEnderIO() { - if (!EnderIO.isModLoaded()) { - plate_T1 = "plateMagnalium"; - plate_T2 = "plateTungstenSteel"; - plate_T3 = "plateUltimet"; - plate_T4 = "plateAlloyIridium"; - - block_T1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Magnalium, 1L); - block_T2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 1L); - block_T3 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Ultimet, 1L); - block_T4 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 1L); - - ingot_T1 = "ingotMagnalium"; - ingot_T2 = "ingotTungstenSteel"; - ingot_T3 = "ingotUltimet"; - ingot_T4 = "ingotIridium"; - return true; - } - return false; - } - - public static void initRecipes() { - - checkForEnderIO(); - addAdvancedHazmat(); - - RecipeUtils.addShapedRecipe( - plate_T1, - plate_T1, - plate_T1, - plate_T1, - ring_T1, - plate_T1, - plate_T1, - plate_T1, - plate_T1, - rotor_blade_T1); - - RecipeUtils.addShapedRecipe( - plate_T2, - plate_T2, - plate_T2, - plate_T2, - ring_T2, - plate_T2, - plate_T2, - plate_T2, - plate_T2, - rotor_blade_T2); - - RecipeUtils.addShapedRecipe( - plate_T3, - plate_T3, - plate_T3, - plate_T3, - ring_T3, - plate_T3, - plate_T3, - plate_T3, - plate_T3, - rotor_blade_T3); - - RecipeUtils.addShapedRecipe( - plate_T4, - plate_T4, - plate_T4, - plate_T4, - ring_T4, - plate_T4, - plate_T4, - plate_T4, - plate_T4, - rotor_blade_T4); - - // 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.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); - Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [Energetic]"); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, block_T2), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T2, - 5120, - 500); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, shaft_block_T2), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T2, - 5120, - 500); - - Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [TungstenSteel]"); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, block_T3), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T3, - 10240, - 2000); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, shaft_block_T3), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T3, - 10240, - 2000); - Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [Vibrant]"); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, block_T4), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T4, - 20480, - 4000); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, shaft_block_T4), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T4, - 20480, - 4000); - Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [Iridium]"); - - RecipeUtils.addShapedRecipe( - shaft_T1, - rotor_blade_T1, - craftingToolHardHammer, - rotor_blade_T1, - ring_T1, - rotor_blade_T1, - craftingToolWrench, - rotor_blade_T1, - shaft_T1, - rotor_T1); - - RecipeUtils.addShapedRecipe( - shaft_T2, - rotor_blade_T2, - craftingToolHardHammer, - rotor_blade_T2, - ring_T2, - rotor_blade_T2, - craftingToolWrench, - rotor_blade_T2, - shaft_T2, - rotor_T2); - - RecipeUtils.addShapedRecipe( - shaft_T3, - rotor_blade_T3, - craftingToolHardHammer, - rotor_blade_T3, - ring_T3, - rotor_blade_T3, - craftingToolWrench, - rotor_blade_T3, - shaft_T3, - rotor_T3); - - RecipeUtils.addShapedRecipe( - shaft_T4, - rotor_blade_T4, - craftingToolHardHammer, - rotor_blade_T4, - ring_T4, - rotor_blade_T4, - craftingToolWrench, - rotor_blade_T4, - shaft_T4, - rotor_T4); - } - - private static void addAdvancedHazmat() { - - ItemStack[] aBasicHazmatPieces = new ItemStack[] { Ic2Items.hazmatHelmet.copy(), - Ic2Items.hazmatChestplate.copy(), Ic2Items.hazmatLeggings.copy(), Ic2Items.hazmatBoots.copy() }; - - Material aRubber = MaterialUtils.generateMaterialFromGtENUM(Materials.Rubber); - ItemStack aYellowWool = ItemUtils.getSimpleStack(Blocks.wool, 4, 1); - ItemStack aBlackWool = ItemUtils.getSimpleStack(Blocks.wool, 15, 1); - ItemStack aCoilIC2 = Ic2Items.coil; - ItemStack aPlateCobalt = CI.getTieredComponentOfMaterial(Materials.Cobalt, OrePrefixes.plate, 1); - ItemStack aGearSmallSteel = CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.gearGtSmall, 1); - ItemStack aGearSmallAluminium = CI - .getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.gearGtSmall, 1); - ItemStack aGearPotin = ALLOY.TUMBAGA.getGear(1); - ItemStack aGearSiliconCarbide = ALLOY.SILICON_CARBIDE.getGear(1); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[0], - ItemUtils.getSimpleStack(aYellowWool, 16), ItemUtils.getSimpleStack(aPlateCobalt, 4), - ItemUtils.getSimpleStack(aCoilIC2, 8), ItemUtils.getSimpleStack(aGearSmallAluminium, 4), }, - aRubber.getFluidStack(144 * 4), - GregtechItemList.Armour_Hazmat_Advanced_Helmet.get(1), - 30 * 20, - MaterialUtils.getVoltageForTier(2)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[1], - ItemUtils.getSimpleStack(aYellowWool, 64), ItemUtils.getSimpleStack(aCoilIC2, 32), - ItemUtils.getSimpleStack(aPlateCobalt, 16), ItemUtils.getSimpleStack(aGearSiliconCarbide, 8), }, - aRubber.getFluidStack(144 * 10), - GregtechItemList.Armour_Hazmat_Advanced_Chest.get(1), - 90 * 20, - MaterialUtils.getVoltageForTier(2)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[2], - ItemUtils.getSimpleStack(aYellowWool, 32), ItemUtils.getSimpleStack(aCoilIC2, 16), - ItemUtils.getSimpleStack(aPlateCobalt, 8), ItemUtils.getSimpleStack(aGearSiliconCarbide, 4), }, - aRubber.getFluidStack(144 * 8), - GregtechItemList.Armour_Hazmat_Advanced_Legs.get(1), - 75 * 20, - MaterialUtils.getVoltageForTier(2)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[3], - ItemUtils.getSimpleStack(aBlackWool, 16), ItemUtils.getSimpleStack(aCoilIC2, 6), - ItemUtils.getSimpleStack(aGearSmallSteel, 8), ItemUtils.getSimpleStack(aGearPotin, 4), }, - aRubber.getFluidStack(144 * 6), - GregtechItemList.Armour_Hazmat_Advanced_Boots.get(1), - 45 * 20, - MaterialUtils.getVoltageForTier(2)); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/pamsharvest/fishtrap/FishTrapHandler.java b/gtpp/src/main/java/gtPlusPlus/xmod/pamsharvest/fishtrap/FishTrapHandler.java deleted file mode 100644 index ee51f28eaa..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/pamsharvest/fishtrap/FishTrapHandler.java +++ /dev/null @@ -1,73 +0,0 @@ -package gtPlusPlus.xmod.pamsharvest.fishtrap; - -import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; -import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; - -import gregtech.api.enums.GT_Values; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class FishTrapHandler { - - static final String prefix = "food"; - static final String suffix = "raw"; - static final String greenheartFish = "foodGreenheartfish"; - private static final String[] harvestcraftFish = { "Anchovy", "Bass", "Calamari", "Carp", "Catfish", "Charr", - "Clam", "Crab", "Crayfish", "Eel", "Frog", "Grouper", "Herring", "Jellyfish", "Mudfish", "Octopus", "Perch", - "Scallop", "Shrimp", "Snail", "Snapper", "Tilapia", "Trout", "Tuna", "Turtle", "Walley" }; - - public static void pamsHarvestCraftCompat() { - for (String fish : harvestcraftFish) { - final String itemName = prefix + fish + suffix; - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken(itemName, 1) != null) { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(itemName, 1)) - .itemOutputs( - ItemUtils.getItemStackOfAmountFromOreDict("dustMeatRaw", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyBone", 1)) - .outputChances(10000, 1000) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(itemName, 1)) - .fluidOutputs(FluidUtils.getFluidStack("methane", 48)) - .duration(19 * SECONDS + 4 * TICKS) - .eut(5) - .addTo(centrifugeRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(itemName, 1)) - .fluidOutputs(FluidUtils.getFluidStack("fishoil", 50)) - .duration(16 * TICKS) - .eut(4) - .addTo(fluidExtractionRecipes); - } - } - if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken(greenheartFish, 1) != null) { - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(greenheartFish, 1)) - .itemOutputs( - ItemUtils.getItemStackOfAmountFromOreDict("dustMeatRaw", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyBone", 1)) - .outputChances(10000, 1000) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(greenheartFish, 1)) - .fluidOutputs(FluidUtils.getFluidStack("methane", 48)) - .duration(19 * SECONDS + 4 * TICKS) - .eut(5) - .addTo(centrifugeRecipes); - GT_Values.RA.stdBuilder() - .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(greenheartFish, 1)) - .fluidOutputs(FluidUtils.getFluidStack("fishoil", 50)) - .duration(16 * TICKS) - .eut(4) - .addTo(fluidExtractionRecipes); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java b/gtpp/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java deleted file mode 100644 index 4efa85992a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java +++ /dev/null @@ -1,217 +0,0 @@ -package gtPlusPlus.xmod.railcraft; - -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.NewHorizonsCoreMod; -import static gregtech.api.enums.Mods.Railcraft; -import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; -import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; -import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc; - -import net.minecraft.init.Blocks; -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_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.item.base.BaseItemBurnable; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.railcraft.utils.RailcraftUtils; - -public class HANDLER_Railcraft { - - public static void preInit() { - // Register Custom Coal Coke - ModItems.itemCoalCoke = new BaseItemBurnable( - "itemCoalCoke", - "Coking Coal", - tabMisc, - 64, - 0, - "Used for metallurgy.", - "fuelCoke", - 3200, - 0).setTextureName(GTPlusPlus.ID + ":burnables/itemCoalCoke"); - - // Add in things that once existed in 1.5.2 - ModItems.itemCactusCharcoal = new BaseItemBurnable( - "itemCactusCharcoal", - "Cactus Charcoal", - tabMisc, - 64, - 0, - "Used for smelting.", - "fuelCactusCharcoal", - 400, - 0).setTextureName(GTPlusPlus.ID + ":burnables/itemCactusCharcoal"); - ModItems.itemSugarCharcoal = new BaseItemBurnable( - "itemSugarCharcoal", - "Sugar Charcoal", - tabMisc, - 64, - 0, - "Used for smelting.", - "fuelSugarCharcoal", - 400, - 0).setTextureName(GTPlusPlus.ID + ":burnables/itemSugarCharcoal"); - ModItems.itemCactusCoke = new BaseItemBurnable( - "itemCactusCoke", - "Cactus Coke", - tabMisc, - 64, - 0, - "Used for smelting.", - "fuelCactusCoke", - 800, - 0).setTextureName(GTPlusPlus.ID + ":burnables/itemCactusCoke"); - ModItems.itemSugarCoke = new BaseItemBurnable( - "itemSugarCoke", - "Sugar Coke", - tabMisc, - 64, - 0, - "Used for smelting.", - "fuelSugarCoke", - 800, - 0).setTextureName(GTPlusPlus.ID + ":burnables/itemSugarCoke"); - - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(ModItems.itemCactusCharcoal), "itemCharcoalCactus"); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(ModItems.itemCactusCoke), "itemCokeCactus"); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(ModItems.itemSugarCharcoal), "itemCharcoalSugar"); - ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(ModItems.itemSugarCoke), "itemCokeSugar"); - } - - public static void postInit() { - generateCokeOvenRecipes(); - } - - private static void generateCokeOvenRecipes() { - ItemStack[] aInputs1 = new ItemStack[] { ItemUtils.getSimpleStack(Blocks.cactus), - ItemUtils.getSimpleStack(Items.reeds) }; - ItemStack[] aInputs2 = new ItemStack[] { ItemUtils.getSimpleStack(ModItems.itemCactusCharcoal), - ItemUtils.getSimpleStack(ModItems.itemSugarCharcoal) }; - ItemStack[] aOutputs = new ItemStack[] { ItemUtils.getSimpleStack(ModItems.itemCactusCoke), - ItemUtils.getSimpleStack(ModItems.itemSugarCoke) }; - for (int i = 0; i < aOutputs.length; i++) { - // Recipes for the Charcoals and Cokes, outputting either Creosote or Charcoal Byproducts depending on the - // fluid input - CORE.RA.addCokeOvenRecipe( - aInputs1[i], - CI.getNumberedCircuit(3), - null, - FluidUtils.getFluidStack("creosote", 100), - aInputs2[i], - 20, - 16); - CORE.RA.addCokeOvenRecipe( - aInputs1[i], - CI.getNumberedCircuit(4), - FluidUtils.getFluidStack("nitrogen", 100), - FluidUtils.getFluidStack("charcoal_byproducts", 200), - aInputs2[i], - 10, - 16); - CORE.RA.addCokeOvenRecipe( - aInputs2[i], - CI.getNumberedCircuit(3), - null, - FluidUtils.getFluidStack("creosote", 200), - aOutputs[i], - 40, - 16); - CORE.RA.addCokeOvenRecipe( - aInputs2[i], - CI.getNumberedCircuit(4), - FluidUtils.getFluidStack("nitrogen", 50), - FluidUtils.getFluidStack("charcoal_byproducts", 100), - aOutputs[i], - 20, - 16); - - // Generate Wood Tar and Wood Gas from these Cokes - CORE.RA.addCokeOvenRecipe( - aOutputs[i], - CI.getNumberedCircuit(5), - FluidUtils.getFluidStack("steam", 100), - Materials.WoodTar.getFluid(200), - Materials.Ash.getDustSmall(1), - 60, - 240); - CORE.RA.addCokeOvenRecipe( - aOutputs[i], - CI.getNumberedCircuit(6), - FluidUtils.getFluidStack("steam", 100), - Materials.WoodGas.getFluid(300), - Materials.Ash.getDustSmall(1), - 60, - 240); - - // Fluid Extracting the Charcoals for Wood Tar - GT_Values.RA.stdBuilder() - .itemInputs(aInputs2[i]) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 1L)) - .outputChances(1000) - .fluidOutputs(Materials.WoodTar.getFluid(50L)) - .duration(1 * SECONDS + 10 * TICKS) - .eut(16) - .addTo(fluidExtractionRecipes); - - // Processing the Charcoals with Oxygen to get CO and CO2 - // C + O = CO - GT_Values.RA.stdBuilder() - .itemInputs(aInputs2[i], GT_Utility.getIntegratedCircuit(1)) - .itemOutputs(Materials.Ash.getDustTiny(1)) - .fluidInputs(Materials.Oxygen.getGas(500)) - .fluidOutputs(Materials.CarbonMonoxide.getGas(500)) - .duration(4 * SECONDS) - .eut(8) - .addTo(UniversalChemical); - // C + 2O = CO2 - GT_Values.RA.stdBuilder() - .itemInputs(aInputs2[i], GT_Utility.getIntegratedCircuit(2)) - .itemOutputs(Materials.Ash.getDustTiny(1)) - .fluidInputs(Materials.Oxygen.getGas(2000)) - .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) - .duration(2 * SECONDS) - .eut(8) - .addTo(UniversalChemical); - } - if (Railcraft.isModLoaded()) { - for (int i = 0; i < aOutputs.length; i++) { - RailcraftUtils.addCokeOvenRecipe( - aInputs1[i], - true, - true, - aInputs2[i], - FluidUtils.getFluidStack("creosote", 30), - 500); - } - for (int i = 0; i < aOutputs.length; i++) { - RailcraftUtils.addCokeOvenRecipe( - aInputs2[i], - true, - true, - aOutputs[i], - FluidUtils.getFluidStack("creosote", 30), - 500); - } - - if (NewHorizonsCoreMod.isModLoaded()) { - for (int i = 0; i < aOutputs.length; i++) { - RailcraftUtils.addAdvancedCokeOvenRecipe(aInputs1[i], true, true, aInputs2[i], 20); - } - for (int i = 0; i < aOutputs.length; i++) { - RailcraftUtils.addAdvancedCokeOvenRecipe(aInputs2[i], true, true, aOutputs[i], 20); - } - } - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/railcraft/utils/RailcraftUtils.java b/gtpp/src/main/java/gtPlusPlus/xmod/railcraft/utils/RailcraftUtils.java deleted file mode 100644 index f2f538ab38..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/railcraft/utils/RailcraftUtils.java +++ /dev/null @@ -1,22 +0,0 @@ -package gtPlusPlus.xmod.railcraft.utils; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import mods.railcraft.common.util.crafting.BlastFurnaceCraftingManager; -import mods.railcraft.common.util.crafting.CokeOvenCraftingManager; - -public class RailcraftUtils { - - public static void addCokeOvenRecipe(ItemStack input, boolean matchDamage, boolean matchNBT, ItemStack output, - FluidStack fluidOutput, int cookTime) { - CokeOvenCraftingManager.getInstance() - .addRecipe(input, matchDamage, matchNBT, output, fluidOutput, cookTime); - } - - public static void addAdvancedCokeOvenRecipe(ItemStack input, boolean matchDamage, boolean matchNBT, - ItemStack output, int cookTime) { - BlastFurnaceCraftingManager.getInstance() - .addRecipe(input, matchDamage, matchNBT, cookTime, output); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thaumcraft/commands/CommandDumpAspects.java b/gtpp/src/main/java/gtPlusPlus/xmod/thaumcraft/commands/CommandDumpAspects.java deleted file mode 100644 index 5dcc27e592..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thaumcraft/commands/CommandDumpAspects.java +++ /dev/null @@ -1,92 +0,0 @@ -package gtPlusPlus.xmod.thaumcraft.commands; - -import static gtPlusPlus.core.util.minecraft.PlayerUtils.messagePlayer; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.command.ICommand; -import net.minecraft.command.ICommandSender; -import net.minecraft.entity.player.EntityPlayer; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.commands.CommandUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.xmod.thaumcraft.objects.ThreadAspectScanner; - -public class CommandDumpAspects implements ICommand { - - private final List aliases; - public static long mLastScanTime = System.currentTimeMillis(); - - public CommandDumpAspects() { - this.aliases = new ArrayList<>(); - this.aliases.add("DA"); - this.aliases.add("da"); - this.aliases.add("dumpaspects"); - this.aliases.add("dumptc"); - Logger.INFO("Registered Aspect Dump Command."); - } - - @Override - public int compareTo(final Object o) { - return 0; - } - - @Override - public String getCommandName() { - return "DumpAspects"; - } - - @Override - public String getCommandUsage(final ICommandSender var1) { - return "/DumpAspects"; - } - - @Override - public List getCommandAliases() { - return this.aliases; - } - - @Override - public void processCommand(final ICommandSender S, final String[] argString) { - final EntityPlayer P = CommandUtils.getPlayer(S); - final long T = System.currentTimeMillis(); - final long D = T - mLastScanTime; - final int Z = (int) (D / 1000); - if (Z >= 30) { - // Lets process this in the Background on a new Thread. - Thread t = createNewThread(); - messagePlayer(P, "Beginning to dump information about all items/blocks & their aspects to file."); - messagePlayer( - P, - "Please do not close your game during this process, you will be notified upon completion."); - t.start(); - } else { - messagePlayer( - P, - "Your last run of DA was less than 30 seconds ago, please wait " + (30 - Z) - + " seconds before trying again."); - } - } - - @Override - public boolean canCommandSenderUseCommand(final ICommandSender var1) { - final EntityPlayer P = CommandUtils.getPlayer(var1); - return P != null && PlayerUtils.isPlayerOP(P); - } - - @Override - public List addTabCompletionOptions(final ICommandSender var1, final String[] var2) { - return null; - } - - @Override - public boolean isUsernameIndex(final String[] var1, final int var2) { - return false; - } - - private static Thread createNewThread() { - return new ThreadAspectScanner(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thaumcraft/objects/ThreadAspectScanner.java b/gtpp/src/main/java/gtPlusPlus/xmod/thaumcraft/objects/ThreadAspectScanner.java deleted file mode 100644 index 1f053220ab..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thaumcraft/objects/ThreadAspectScanner.java +++ /dev/null @@ -1,165 +0,0 @@ -package gtPlusPlus.xmod.thaumcraft.objects; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.data.FileUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.thaumcraft.commands.CommandDumpAspects; - -public class ThreadAspectScanner extends Thread { - - public static boolean mDoWeScan = false; - private static final Map> mAllGameContent = new HashMap<>(); - public final File mAspectCacheFile; - - public ThreadAspectScanner() { - mAspectCacheFile = FileUtils.getFile("config/GTplusplus", "AspectInfo", "txt"); - mDoWeScan = true; - } - - private void tryCacheObject(ItemStack aStack) { - if (aStack == null) { - return; - } - String nameKey; - try { - nameKey = ItemUtils.getUnlocalizedItemName(aStack); - } catch (NullPointerException n) { - try { - nameKey = Utils.sanitizeString( - aStack.getDisplayName() - .toLowerCase()); - } catch (NullPointerException n2) { - try { - nameKey = aStack.getItem() - .getUnlocalizedName(); - } catch (NullPointerException n3) { - nameKey = "BadItemsGalore"; - } - } - } - AutoMap m = new AutoMap<>(); - if (mAllGameContent.containsKey(nameKey)) { - m = mAllGameContent.get(nameKey); - } - m.put(aStack); - mAllGameContent.put(nameKey, m); - } - - @SuppressWarnings({ "rawtypes" }) - @Override - public void run() { - if (mDoWeScan) { - Iterator iterator; - Logger.INFO("Finding Blocks and Items to scan for Aspect data."); - long mBlocksCounter = 0; - long mItemsCounter = 0; - - // First, find blocks - iterator = Block.blockRegistry.getKeys() - .iterator(); - while (iterator.hasNext()) { - String s = (String) iterator.next(); - Block block = (Block) Block.blockRegistry.getObject(s); - if (block != null) { - tryCacheObject(ItemUtils.getSimpleStack(block)); - mBlocksCounter++; - } - } - Logger.INFO("Completed Block Scan. Counted " + mBlocksCounter); - - // Second Find items, Skipping things that exist. - iterator = Item.itemRegistry.getKeys() - .iterator(); - while (iterator.hasNext()) { - String s = (String) iterator.next(); - Item item = (Item) Item.itemRegistry.getObject(s); - if (item != null) { - if (item.getHasSubtypes()) { - List q1 = new ArrayList(); - item.getSubItems(item, item.getCreativeTab(), q1); - if (q1 != null && q1.size() > 0) { - for (int e = 0; e < q1.size(); e++) { - ItemStack check = ItemUtils.simpleMetaStack(item, e, 1); - if (check != null) { - tryCacheObject(check); - mItemsCounter++; - } - } - } else { - tryCacheObject(ItemUtils.getSimpleStack(item)); - mItemsCounter++; - } - } else { - tryCacheObject(ItemUtils.getSimpleStack(item)); - mItemsCounter++; - } - } - } - Logger.INFO("Completed Item Scan. Counted " + mItemsCounter); - - Set y = mAllGameContent.keySet(); - Logger.INFO("Beginning iteration of " + y.size() + " itemstacks for aspect information."); - - for (String key : y) { - // Logger.INFO("Looking for key: "+key); - if (mAllGameContent.containsKey(key)) { - AutoMap group = mAllGameContent.get(key); - if (group == null || group.size() <= 0) { - continue; - } - for (ItemStack stack : group) { - thaumcraft.api.aspects.AspectList a = thaumcraft.common.lib.crafting.ThaumcraftCraftingManager - .getObjectTags(stack); - if (a == null) { - continue; - } else { - AutoMap> aspectPairs = new AutoMap<>(); - for (thaumcraft.api.aspects.Aspect c : a.getAspectsSortedAmount()) { - if (c != null) { - aspectPairs.put(new Pair<>(c.getName(), a.getAmount(c))); - } - } - try { - List mList = new ArrayList<>(); - mList.add( - stack.getDisplayName() + " | Meta: " - + stack.getItemDamage() - + " | Unlocal: " - + stack.getUnlocalizedName()); - for (Pair r : aspectPairs) { - if (r != null) { - mList.add(r.getKey() + " x" + r.getValue()); - } - } - mList.add(""); - if (mAspectCacheFile != null && mList.size() >= 3) { - FileUtils.appendListToFile(mAspectCacheFile, mList); - } - } catch (Throwable t) { - Logger.INFO("Error while iterating one item. " + t); - } - } - } - } - } - Logger.INFO( - "Completed Aspect Iteration. AspectInfo.txt is now available to process in the GTplusplus configuration folder."); - CommandDumpAspects.mLastScanTime = System.currentTimeMillis(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/HANDLER_TF.java b/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/HANDLER_TF.java deleted file mode 100644 index 460a5e9fbe..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/HANDLER_TF.java +++ /dev/null @@ -1,36 +0,0 @@ -package gtPlusPlus.xmod.thermalfoundation; - -import static gregtech.api.enums.Mods.COFHCore; - -import gtPlusPlus.xmod.thermalfoundation.block.TF_Blocks; -import gtPlusPlus.xmod.thermalfoundation.fluid.TF_Fluids; -import gtPlusPlus.xmod.thermalfoundation.item.TF_Items; -import gtPlusPlus.xmod.thermalfoundation.recipe.TF_Gregtech_Recipes; - -public class HANDLER_TF { - - public static void preInit() { - if (COFHCore.isModLoaded()) { - TF_Fluids.preInit(); - TF_Items.preInit(); - TF_Blocks.preInit(); - } - } - - public static void init() { - if (COFHCore.isModLoaded()) { - TF_Fluids.init(); - TF_Blocks.init(); - TF_Items.init(); - } - } - - public static void postInit() { - if (COFHCore.isModLoaded()) { - TF_Fluids.postInit(); - TF_Items.postInit(); - TF_Blocks.postInit(); - TF_Gregtech_Recipes.run(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java b/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java deleted file mode 100644 index b48be445e5..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java +++ /dev/null @@ -1,178 +0,0 @@ -package gtPlusPlus.xmod.thermalfoundation.block; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.Random; - -import net.minecraft.block.Block; -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.EntityBlaze; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntitySnowman; -import net.minecraft.entity.monster.EntityZombie; -import net.minecraft.init.Blocks; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -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.xmod.thermalfoundation.fluid.TF_Fluids; - -public class TF_Block_Fluid_Cryotheum extends BlockFluidInteractive { - - public static final Material materialFluidCryotheum = new MaterialLiquid(MapColor.iceColor); - private static boolean enableSourceFall = true; - private static boolean effect = true; - - public TF_Block_Fluid_Cryotheum() { - super(GTPlusPlus.ID, TF_Fluids.fluidCryotheum, materialFluidCryotheum, "cryotheum"); - this.setQuantaPerBlock(5); - this.setTickRate(15); - - this.setHardness(1000.0F); - this.setLightOpacity(1); - this.setParticleColor(0.15F, 0.7F, 1.0F); - } - - @Override - public boolean preInit() { - GameRegistry.registerBlock(this, "FluidCryotheum"); - - this.addInteraction(Blocks.grass, Blocks.dirt); - this.addInteraction(Blocks.water, 0, Blocks.ice); - this.addInteraction(Blocks.water, Blocks.snow); - this.addInteraction(Blocks.flowing_water, 0, Blocks.ice); - this.addInteraction(Blocks.flowing_water, Blocks.snow); - this.addInteraction(Blocks.lava, 0, Blocks.obsidian); - this.addInteraction(Blocks.lava, Blocks.stone); - this.addInteraction(Blocks.flowing_lava, 0, Blocks.obsidian); - this.addInteraction(Blocks.flowing_lava, Blocks.stone); - this.addInteraction(Blocks.leaves, Blocks.air); - this.addInteraction(Blocks.tallgrass, Blocks.air); - this.addInteraction(Blocks.fire, Blocks.air); - - effect = true; - enableSourceFall = true; - - return true; - } - - @Override - public void onEntityCollidedWithBlock(final World paramWorld, final int paramInt1, final int paramInt2, - final int paramInt3, final Entity paramEntity) { - paramEntity.extinguish(); - if (!effect) { - return; - } - if ((paramEntity.motionY < -0.05D) || (paramEntity.motionY > 0.05D)) { - paramEntity.motionY *= 0.05D; - } - if ((paramEntity.motionZ < -0.05D) || (paramEntity.motionZ > 0.05D)) { - paramEntity.motionZ *= 0.05D; - } - if ((paramEntity.motionX < -0.05D) || (paramEntity.motionX > 0.05D)) { - paramEntity.motionX *= 0.05D; - } - if (ServerHelper.isClientWorld(paramWorld)) { - return; - } - if ((paramWorld.getTotalWorldTime() % 8L) != 0L) { - return; - } - if (((paramEntity instanceof EntityZombie)) || ((paramEntity instanceof EntityCreeper))) { - final EntitySnowman localEntitySnowman = new EntitySnowman(paramWorld); - localEntitySnowman.setLocationAndAngles( - paramEntity.posX, - paramEntity.posY, - paramEntity.posZ, - paramEntity.rotationYaw, - paramEntity.rotationPitch); - paramWorld.spawnEntityInWorld(localEntitySnowman); - - paramEntity.setDead(); - } else if ( - /* ((paramEntity instanceof EntityBlizz)) || */ ((paramEntity instanceof EntitySnowman))) { - ((EntityLivingBase) paramEntity).addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 120, 0)); - ((EntityLivingBase) paramEntity).addPotionEffect(new PotionEffect(Potion.regeneration.id, 120, 0)); - } else if ((paramEntity instanceof EntityBlaze)) { - paramEntity.attackEntityFrom(DamageHelper.cryotheum, 10.0F); - } else { - final boolean bool = paramEntity.velocityChanged; - paramEntity.attackEntityFrom(DamageHelper.cryotheum, 2.0F); - paramEntity.velocityChanged = bool; - } - } - - @Override - public int getLightValue(final IBlockAccess paramIBlockAccess, final int paramInt1, final int paramInt2, - final int paramInt3) { - return TF_Fluids.fluidCryotheum.getLuminosity(); - } - - @Override - public void updateTick(final World paramWorld, final int paramInt1, final int paramInt2, final int paramInt3, - final Random paramRandom) { - if (effect) { - this.checkForInteraction(paramWorld, paramInt1, paramInt2, paramInt3); - } - if ((enableSourceFall) && (paramWorld.getBlockMetadata(paramInt1, paramInt2, paramInt3) == 0)) { - final Block localBlock = paramWorld.getBlock(paramInt1, paramInt2 + this.densityDir, paramInt3); - final int i = paramWorld.getBlockMetadata(paramInt1, paramInt2 + this.densityDir, paramInt3); - if ((localBlock == this) && (i != 0)) { - paramWorld.setBlock(paramInt1, paramInt2 + this.densityDir, paramInt3, this, 0, 3); - paramWorld.setBlockToAir(paramInt1, paramInt2, paramInt3); - return; - } - } - super.updateTick(paramWorld, paramInt1, paramInt2, paramInt3, paramRandom); - } - - protected void checkForInteraction(final World paramWorld, final int paramInt1, final int paramInt2, - final int paramInt3) { - if (paramWorld.getBlock(paramInt1, paramInt2, paramInt3) != this) { - return; - } - int i = paramInt1; - int j = paramInt2; - int k = paramInt3; - for (int m = 0; m < 6; m++) { - i = paramInt1 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][0]; - j = paramInt2 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][1]; - k = paramInt3 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][2]; - - this.interactWithBlock(paramWorld, i, j, k); - } - this.interactWithBlock(paramWorld, paramInt1 - 1, paramInt2, paramInt3 - 1); - this.interactWithBlock(paramWorld, paramInt1 - 1, paramInt2, paramInt3 + 1); - this.interactWithBlock(paramWorld, paramInt1 + 1, paramInt2, paramInt3 - 1); - this.interactWithBlock(paramWorld, paramInt1 + 1, paramInt2, paramInt3 + 1); - } - - protected void interactWithBlock(final World paramWorld, final int paramInt1, final int paramInt2, - final int paramInt3) { - final Block localBlock = paramWorld.getBlock(paramInt1, paramInt2, paramInt3); - if ((localBlock == Blocks.air) || (localBlock == this)) { - return; - } - final int i = paramWorld.getBlockMetadata(paramInt1, paramInt2, paramInt3); - if (this.hasInteraction(localBlock, i)) { - final BlockWrapper localBlockWrapper = this.getInteraction(localBlock, i); - paramWorld - .setBlock(paramInt1, paramInt2, paramInt3, localBlockWrapper.block, localBlockWrapper.metadata, 3); - } else if ((paramWorld.isSideSolid(paramInt1, paramInt2, paramInt3, ForgeDirection.UP)) - && (paramWorld.isAirBlock(paramInt1, paramInt2 + 1, paramInt3))) { - paramWorld.setBlock(paramInt1, paramInt2 + 1, paramInt3, Blocks.snow_layer, 0, 3); - } - } - -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Ender.java b/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Ender.java deleted file mode 100644 index 9f89d01250..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Ender.java +++ /dev/null @@ -1,61 +0,0 @@ -package gtPlusPlus.xmod.thermalfoundation.block; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -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 cpw.mods.fml.common.registry.GameRegistry; -import gtPlusPlus.xmod.thermalfoundation.fluid.TF_Fluids; - -public class TF_Block_Fluid_Ender extends BlockFluidCoFHBase { - - public static final Material materialFluidEnder = new MaterialLiquid(MapColor.greenColor); - private static boolean effect = true; - - public TF_Block_Fluid_Ender() { - super(GTPlusPlus.ID, TF_Fluids.fluidEnder, materialFluidEnder, "ender"); - setQuantaPerBlock(4); - setTickRate(20); - - setHardness(2000.0F); - setLightOpacity(7); - setParticleColor(0.05F, 0.2F, 0.2F); - } - - @Override - public boolean preInit() { - GameRegistry.registerBlock(this, "FluidEnder"); - - return true; - } - - @Override - public void onEntityCollidedWithBlock(World paramWorld, int paramInt1, int paramInt2, int paramInt3, - Entity paramEntity) { - if ((!effect) || (paramWorld.isRemote)) { - return; - } - if (paramWorld.getTotalWorldTime() % 8L == 0L) { - int i = paramInt1 - 8 + paramWorld.rand.nextInt(17); - int j = paramInt2 + paramWorld.rand.nextInt(8); - int k = paramInt3 - 8 + paramWorld.rand.nextInt(17); - if (!paramWorld.getBlock(i, j, k) - .getMaterial() - .isSolid()) { - CoreUtils.teleportEntityTo(paramEntity, i, j, k); - } - } - } - - @Override - public int getLightValue(IBlockAccess paramIBlockAccess, int paramInt1, int paramInt2, int paramInt3) { - return TF_Fluids.fluidEnder.getLuminosity(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java b/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java deleted file mode 100644 index 90c8be8bf7..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java +++ /dev/null @@ -1,192 +0,0 @@ -package gtPlusPlus.xmod.thermalfoundation.block; - -import static gregtech.api.enums.Mods.GTPlusPlus; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -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 net.minecraftforge.common.util.ForgeDirection; - -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.xmod.thermalfoundation.fluid.TF_Fluids; - -public class TF_Block_Fluid_Pyrotheum extends BlockFluidInteractive { - - Random random = new Random(); - private static boolean effect = true; - private static boolean enableSourceFall = true; - - public TF_Block_Fluid_Pyrotheum() { - super(GTPlusPlus.ID, TF_Fluids.fluidPyrotheum, Material.lava, "pyrotheum"); - this.setQuantaPerBlock(5); - this.setTickRate(10); - - this.setHardness(1000.0F); - this.setLightOpacity(1); - this.setParticleColor(1.0F, 0.7F, 0.15F); - } - - @Override - public boolean preInit() { - GameRegistry.registerBlock(this, "FluidPyrotheum"); - - this.addInteraction(Blocks.cobblestone, Blocks.stone); - this.addInteraction(Blocks.grass, Blocks.dirt); - this.addInteraction(Blocks.sand, Blocks.glass); - this.addInteraction(Blocks.water, Blocks.stone); - this.addInteraction(Blocks.flowing_water, Blocks.stone); - this.addInteraction(Blocks.clay, Blocks.hardened_clay); - this.addInteraction(Blocks.ice, Blocks.stone); - this.addInteraction(Blocks.snow, Blocks.air); - this.addInteraction(Blocks.snow_layer, Blocks.air); - for (int i = 0; i < 8; i++) { - this.addInteraction(Blocks.stone_stairs, i, Blocks.stone_brick_stairs, i); - } - final String str1 = "Fluid.Pyrotheum"; - String str2 = "Enable this for Fluid Pyrotheum to be worse than lava."; - effect = true; - - str2 = "Enable this for Fluid Pyrotheum Source blocks to gradually fall downwards."; - enableSourceFall = true; - - return true; - } - - @Override - public void onEntityCollidedWithBlock(final World paramWorld, final int paramInt1, final int paramInt2, - final int paramInt3, final Entity paramEntity) { - if (!effect) { - return; - } - if (ServerHelper.isClientWorld(paramWorld)) { - return; - } - if (!(paramEntity instanceof EntityPlayer)) { - if ((paramEntity instanceof EntityCreeper)) { - paramWorld.createExplosion( - paramEntity, - paramEntity.posX, - paramEntity.posY, - paramEntity.posZ, - 6.0F, - paramEntity.worldObj.getGameRules() - .getGameRuleBooleanValue("mobGriefing")); - paramEntity.setDead(); - } - } - } - - @Override - public int getLightValue(final IBlockAccess paramIBlockAccess, final int paramInt1, final int paramInt2, - final int paramInt3) { - return TF_Fluids.fluidPyrotheum.getLuminosity(); - } - - @Override - public int getFireSpreadSpeed(final IBlockAccess paramIBlockAccess, final int paramInt1, final int paramInt2, - final int paramInt3, final ForgeDirection paramForgeDirection) { - return effect ? 800 : 0; - } - - @Override - public int getFlammability(final IBlockAccess paramIBlockAccess, final int paramInt1, final int paramInt2, - final int paramInt3, final ForgeDirection paramForgeDirection) { - return 0; - } - - @Override - public boolean isFlammable(final IBlockAccess paramIBlockAccess, final int paramInt1, final int paramInt2, - final int paramInt3, final ForgeDirection paramForgeDirection) { - return (effect) && (paramForgeDirection.ordinal() > ForgeDirection.UP.ordinal()) - && (paramIBlockAccess.getBlock(paramInt1, paramInt2 - 1, paramInt3) != this); - } - - @Override - public boolean isFireSource(final World paramWorld, final int paramInt1, final int paramInt2, final int paramInt3, - final ForgeDirection paramForgeDirection) { - return effect; - } - - @Override - public void updateTick(final World paramWorld, final int paramInt1, final int paramInt2, final int paramInt3, - final Random paramRandom) { - if (effect) { - this.checkForInteraction(paramWorld, paramInt1, paramInt2, paramInt3); - } - if ((enableSourceFall) && (paramWorld.getBlockMetadata(paramInt1, paramInt2, paramInt3) == 0)) { - final Block localBlock = paramWorld.getBlock(paramInt1, paramInt2 + this.densityDir, paramInt3); - final int i = paramWorld.getBlockMetadata(paramInt1, paramInt2 + this.densityDir, paramInt3); - if (((localBlock == this) && (i != 0)) || (localBlock - .isFlammable(paramWorld, paramInt1, paramInt2 + this.densityDir, paramInt3, ForgeDirection.UP))) { - paramWorld.setBlock(paramInt1, paramInt2 + this.densityDir, paramInt3, this, 0, 3); - paramWorld.setBlockToAir(paramInt1, paramInt2, paramInt3); - return; - } - } - super.updateTick(paramWorld, paramInt1, paramInt2, paramInt3, paramRandom); - } - - protected void checkForInteraction(final World paramWorld, final int paramInt1, final int paramInt2, - final int paramInt3) { - if (paramWorld.getBlock(paramInt1, paramInt2, paramInt3) != this) { - return; - } - int i = paramInt1; - int j = paramInt2; - int k = paramInt3; - for (int m = 0; m < 6; m++) { - i = paramInt1 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][0]; - j = paramInt2 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][1]; - k = paramInt3 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][2]; - - this.interactWithBlock(paramWorld, i, j, k); - } - this.interactWithBlock(paramWorld, paramInt1 - 1, paramInt2, paramInt3 - 1); - this.interactWithBlock(paramWorld, paramInt1 - 1, paramInt2, paramInt3 + 1); - this.interactWithBlock(paramWorld, paramInt1 + 1, paramInt2, paramInt3 - 1); - this.interactWithBlock(paramWorld, paramInt1 + 1, paramInt2, paramInt3 + 1); - } - - protected void interactWithBlock(final World paramWorld, final int paramInt1, final int paramInt2, - final int paramInt3) { - final Block localBlock = paramWorld.getBlock(paramInt1, paramInt2, paramInt3); - if ((localBlock == Blocks.air) || (localBlock == this)) { - return; - } - final int i = paramWorld.getBlockMetadata(paramInt1, paramInt2, paramInt3); - if (this.hasInteraction(localBlock, i)) { - final BlockWrapper localBlockWrapper = this.getInteraction(localBlock, i); - paramWorld - .setBlock(paramInt1, paramInt2, paramInt3, localBlockWrapper.block, localBlockWrapper.metadata, 3); - this.triggerInteractionEffects(paramWorld, paramInt1, paramInt2, paramInt3); - } else if (localBlock.isFlammable(paramWorld, paramInt1, paramInt2, paramInt3, ForgeDirection.UP)) { - paramWorld.setBlock(paramInt1, paramInt2, paramInt3, Blocks.fire); - } else if ((paramWorld.isSideSolid(paramInt1, paramInt2, paramInt3, ForgeDirection.UP)) - && (paramWorld.isAirBlock(paramInt1, paramInt2 + 1, paramInt3))) { - paramWorld.setBlock(paramInt1, paramInt2 + 1, paramInt3, Blocks.fire, 0, 3); - } - } - - protected void triggerInteractionEffects(final World paramWorld, final int paramInt1, final int paramInt2, - final int paramInt3) { - if (this.random.nextInt(16) == 0) { - paramWorld.playSoundEffect( - paramInt1 + 0.5F, - paramInt2 + 0.5F, - paramInt3 + 0.5F, - "random.fizz", - 0.5F, - 2.2F + ((paramWorld.rand.nextFloat() - paramWorld.rand.nextFloat()) * 0.8F)); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Blocks.java b/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Blocks.java deleted file mode 100644 index 38fed4c137..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/block/TF_Blocks.java +++ /dev/null @@ -1,23 +0,0 @@ -package gtPlusPlus.xmod.thermalfoundation.block; - -import cofh.core.fluid.BlockFluidCoFHBase; - -public class TF_Blocks { - - public static BlockFluidCoFHBase blockFluidPyrotheum; - public static BlockFluidCoFHBase blockFluidCryotheum; - public static BlockFluidCoFHBase blockFluidEnder; - - public static void preInit() { - blockFluidPyrotheum = new TF_Block_Fluid_Pyrotheum(); - blockFluidCryotheum = new TF_Block_Fluid_Cryotheum(); - blockFluidEnder = new TF_Block_Fluid_Ender(); - blockFluidPyrotheum.preInit(); - blockFluidCryotheum.preInit(); - blockFluidEnder.preInit(); - } - - public static void init() {} - - public static void postInit() {} -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java b/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java deleted file mode 100644 index 27a0c8e080..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java +++ /dev/null @@ -1,69 +0,0 @@ -package gtPlusPlus.xmod.thermalfoundation.fluid; - -import net.minecraft.item.EnumRarity; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; - -import gtPlusPlus.api.objects.Logger; - -public class TF_Fluids { - - public static Fluid fluidPyrotheum; - public static Fluid fluidCryotheum; - public static Fluid fluidEnder; - - public static void preInit() { - Logger.INFO("Adding in our own versions of Thermal Foundation Fluids - Non-GT"); - final Fluid pyrotheum = FluidRegistry.getFluid("pyrotheum"); - final Fluid cryotheum = FluidRegistry.getFluid("cryotheum"); - final Fluid ender = FluidRegistry.getFluid("ender"); - - if (pyrotheum == null) { - Logger.INFO("Registering Blazing Pyrotheum as it does not exist."); - fluidPyrotheum = new Fluid("pyrotheum").setLuminosity(15) - .setDensity(2000) - .setViscosity(1200) - .setTemperature(4000) - .setRarity(EnumRarity.rare); - registerFluid(fluidPyrotheum, "pyrotheum"); - } else { - Logger.INFO("Registering Blazing Pyrotheum as it is an already existing Fluid."); - fluidPyrotheum = pyrotheum; - } - if (cryotheum == null) { - Logger.INFO("Registering Gelid Cryotheum as it does not exist."); - fluidCryotheum = new Fluid("cryotheum").setLuminosity(0) - .setDensity(4000) - .setViscosity(3000) - .setTemperature(50) - .setRarity(EnumRarity.rare); - registerFluid(fluidCryotheum, "cryotheum"); - } else { - Logger.INFO("Registering Gelid Cryotheum as it is an already existing Fluid."); - fluidCryotheum = cryotheum; - } - - if (ender == null) { - Logger.INFO("Registering Resonant Ender as it does not exist."); - fluidEnder = new Fluid("ender").setLuminosity(3) - .setDensity(4000) - .setViscosity(3000) - .setTemperature(300) - .setRarity(EnumRarity.uncommon); - registerFluid(fluidEnder, "ender"); - } else { - Logger.INFO("Registering Resonant Ender as it is an already existing Fluid."); - fluidEnder = ender; - } - } - - public static void init() {} - - public static void postInit() {} - - public static void registerFluid(final Fluid paramFluid, final String paramString) { - if (!FluidRegistry.isFluidRegistered(paramString)) { - FluidRegistry.registerFluid(paramFluid); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/item/TF_Items.java b/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/item/TF_Items.java deleted file mode 100644 index d2ea7ea2d1..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/item/TF_Items.java +++ /dev/null @@ -1,75 +0,0 @@ -package gtPlusPlus.xmod.thermalfoundation.item; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidContainerRegistry; - -import cofh.core.item.ItemBase; -import cofh.core.item.ItemBucket; -import cofh.core.util.energy.FurnaceFuelHandler; -import cofh.core.util.fluid.BucketHandler; -import gtPlusPlus.core.creative.AddToCreativeTab; -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; - -public class TF_Items { - - public static ItemBase itemMaterial; - public static ItemStack rodBlizz; - public static ItemStack dustBlizz; - public static ItemStack dustPyrotheum; - public static ItemStack dustCryotheum; - public static ItemBucket itemBucket; - public static ItemStack bucketPyrotheum; - public static ItemStack bucketCryotheum; - public static ItemStack bucketEnder; - - public static ItemStack itemDustBlizz; - public static ItemStack itemDustPyrotheum; - public static ItemStack itemDustCryotheum; - public static ItemStack itemRodBlizz; - - public static void preInit() { - - itemBucket = (ItemBucket) new ItemBucket("MiscUtils").setUnlocalizedName("bucket") - .setCreativeTab(AddToCreativeTab.tabMisc); - itemMaterial = (ItemBase) new ItemBase("MiscUtils").setUnlocalizedName("material") - .setCreativeTab(AddToCreativeTab.tabMisc); - - bucketPyrotheum = itemBucket.addOreDictItem(1, "bucketPyrotheum"); - bucketCryotheum = itemBucket.addOreDictItem(2, "bucketCryotheum"); - bucketEnder = itemBucket.addOreDictItem(3, "bucketEnder", 1); - rodBlizz = itemMaterial.addOreDictItem(1, "rodBlizz"); - dustBlizz = itemMaterial.addOreDictItem(2, "dustBlizz"); - dustPyrotheum = itemMaterial.addOreDictItem(3, "dustPyrotheum"); - dustCryotheum = itemMaterial.addOreDictItem(4, "dustCryotheum"); - - if (ReflectionUtils.doesClassExist("cofh.core.util.energy.FurnaceFuelHandler")) { - FurnaceFuelHandler.registerFuel(dustPyrotheum, 2400); // cofh.core.util.energy.FurnaceFuelHandler.registerFuel(ItemStack, - // int) - } - - ItemUtils.addItemToOreDictionary(rodBlizz, "stickBlizz"); - - itemRodBlizz = ItemUtils.simpleMetaStack(itemMaterial, 1, 1); - itemDustBlizz = ItemUtils.simpleMetaStack(itemMaterial, 2, 1); - itemDustPyrotheum = ItemUtils.simpleMetaStack(itemMaterial, 3, 1); - itemDustCryotheum = ItemUtils.simpleMetaStack(itemMaterial, 4, 1); - } - - public static void init() { - - BucketHandler.registerBucket(TF_Blocks.blockFluidPyrotheum, 0, bucketPyrotheum); - BucketHandler.registerBucket(TF_Blocks.blockFluidCryotheum, 0, bucketCryotheum); - BucketHandler.registerBucket(TF_Blocks.blockFluidEnder, 0, bucketEnder); - FluidContainerRegistry - .registerFluidContainer(TF_Fluids.fluidPyrotheum, bucketPyrotheum, FluidContainerRegistry.EMPTY_BUCKET); - FluidContainerRegistry - .registerFluidContainer(TF_Fluids.fluidCryotheum, bucketCryotheum, FluidContainerRegistry.EMPTY_BUCKET); - FluidContainerRegistry - .registerFluidContainer(TF_Fluids.fluidEnder, bucketEnder, FluidContainerRegistry.EMPTY_BUCKET); - } - - public static void postInit() {} -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java b/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java deleted file mode 100644 index cd48964d37..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java +++ /dev/null @@ -1,93 +0,0 @@ -package gtPlusPlus.xmod.thermalfoundation.recipe; - -import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; -import static gregtech.api.recipe.RecipeMaps.mixerRecipes; -import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; - -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TierEU; -import gregtech.api.util.GT_OreDictUnificator; -import gtPlusPlus.core.util.minecraft.FluidUtils; - -public class TF_Gregtech_Recipes { - - public static void run() { - start(); - } - - private static void start() { - - final FluidStack moltenBlaze = getFluidStack("molten.blaze", 1440); - - // Gelid Cryotheum - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ore, Materials.Cinnabar, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cinnabar, 3L)) - .fluidInputs(getFluidStack("cryotheum", 144)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_LV) - .addTo(chemicalBathRecipes); - - // Blizz Powder - GT_Values.RA.stdBuilder() - .itemInputs(new ItemStack(Items.snowball, 4)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blizz, 1L)) - .fluidInputs(moltenBlaze) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_HV / 2) - .addTo(chemicalBathRecipes); - - // Blizz Rod - GT_Values.RA.stdBuilder() - .itemInputs(new ItemStack(Items.blaze_rod)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Blizz, 1L)) - .duration(((int) Math.max((Materials.Blaze.getMass() * 4) * 3L, 1L)) * TICKS) - .eut(TierEU.RECIPE_MV) - .addTo(vacuumFreezerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Pyrotheum, 1L)) - .duration(8 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(mixerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Snow, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blizz, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cryotheum, 1L)) - .duration(8 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(mixerRecipes); - - GT_Values.RA.stdBuilder() - .itemInputs( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Niter, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Snow, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blizz, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cryotheum, 1L)) - .duration(8 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(mixerRecipes); - } - - private static FluidStack getFluidStack(final String fluidName, final int amount) { - return FluidUtils.getFluidStack(fluidName, amount); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/HANDLER_Tinkers.java b/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/HANDLER_Tinkers.java deleted file mode 100644 index 1023d0325f..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/HANDLER_Tinkers.java +++ /dev/null @@ -1,30 +0,0 @@ -package gtPlusPlus.xmod.tinkers; - -import static gregtech.api.enums.Mods.TinkerConstruct; - -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; - -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.xmod.tinkers.material.BaseTinkersMaterial; -import gtPlusPlus.xmod.tinkers.util.TinkersDryingRecipe; -import gtPlusPlus.xmod.tinkers.util.TinkersUtils; - -public class HANDLER_Tinkers { - - public static AutoMap mTinkerMaterials = new AutoMap<>(); - - public static void postInit() { - if (TinkerConstruct.isModLoaded()) { - - 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 - } - - // Generate Drying Rack recipes - TinkersDryingRecipe.generateAllDryingRecipes(); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/material/BaseTinkersMaterial.java b/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/material/BaseTinkersMaterial.java deleted file mode 100644 index f57aa64263..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/material/BaseTinkersMaterial.java +++ /dev/null @@ -1,200 +0,0 @@ -package gtPlusPlus.xmod.tinkers.material; - -import static gregtech.api.enums.Mods.TinkerConstruct; -import static gtPlusPlus.core.util.math.MathUtils.safeCast_LongToInt; - -import java.util.HashMap; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.fluids.Fluid; - -import cpw.mods.fml.common.event.FMLInterModComms; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.xmod.tinkers.HANDLER_Tinkers; -import gtPlusPlus.xmod.tinkers.util.TinkersUtils; - -public class BaseTinkersMaterial { - - private static HashMap aInternalMaterialIdMap = new HashMap<>(); - private static int aNextFreeID; - - public final String mLocalName; - - private final String mUnlocalName; - private final int mID; - private final Material mMaterial; - - static { - aNextFreeID = (Short.MAX_VALUE / 2) + 420; - } - - public BaseTinkersMaterial(Material aMaterial) { - mLocalName = aMaterial.getLocalizedName(); - mUnlocalName = "material.gtpp." + Utils.sanitizeString(mLocalName); - mMaterial = aMaterial; - mID = aNextFreeID++; - Logger.INFO("[TiCon] Assigning ID " + mID + " to " + mLocalName + "."); - aInternalMaterialIdMap.put(mUnlocalName, mID); - HANDLER_Tinkers.mTinkerMaterials.put(this); - } - - public String getUnlocalName() { - return mUnlocalName; - } - - private static int calcDurability(Material aMaterial) { - return safeCast_LongToInt(aMaterial.vDurability); - } - - private static int calcMiningSpeed(Material aMaterial) { - return (aMaterial.vHarvestLevel * 2) + aMaterial.vTier; - } - - private static int calcHarvestLevel(Material aMaterial) { - return aMaterial.vHarvestLevel; - } - - private static int calcAttack(Material aMaterial) { - return aMaterial.vHarvestLevel + aMaterial.vTier + aMaterial.vRadiationLevel; - } - - private static float calcHandleModifier(Material aMaterial) { - return 1f; - } - - private static int calcReinforced(Material aMaterial) { - return aMaterial.getMeltingPointC() / 3600; - } - - private static int calcBowProjectileSpeed(Material aMaterial) { - return aMaterial.vHarvestLevel + 2; - } - - private static int calcBowDrawSpeed(Material aMaterial) { - return aMaterial.vHarvestLevel + 8; - } - - private static float calcProjectileMass(Material aMaterial) { - return (aMaterial.getMeltingPointC() / 1800) * 0.1f; - } - - private static float calcProjectileFragility(Material aMaterial) { - return 0f; - } - - private static String calcStyle(Material aMaterial) { - String aReturn; - int aTemp = aMaterial.getMeltingPointC(); - if (aTemp < 3600) { - aReturn = "" + EnumChatFormatting.WHITE; - } else if (aTemp >= 3600) { - aReturn = "" + EnumChatFormatting.YELLOW; - } else if (aTemp >= (3600 * 2)) { - aReturn = "" + EnumChatFormatting.GREEN; - } else if (aTemp >= (3600 * 3)) { - aReturn = "" + EnumChatFormatting.RED; - } else if (aTemp >= (3600 * 4)) { - aReturn = "" + EnumChatFormatting.DARK_RED; - } else { - aReturn = "" + EnumChatFormatting.GOLD; - } - return aReturn; - } - - private static int calcColour(Material aMaterial) { - return aMaterial.getRgbAsHex(); - } - - public void generate() { - - Logger.INFO("[TiCon] Trying to generate Material: " + mLocalName); - int id = mID; - if (id > 0) { - - NBTTagCompound tag = new NBTTagCompound(); - tag.setInteger("Id", id); - tag.setString("Name", mUnlocalName); - tag.setString("localizationString", mLocalName); - tag.setInteger("Durability", calcDurability(mMaterial)); // 97 - tag.setInteger("MiningSpeed", calcMiningSpeed(mMaterial)); // 150 - tag.setInteger("HarvestLevel", calcHarvestLevel(mMaterial)); // 1 - tag.setInteger("Attack", calcAttack(mMaterial)); // 0 - tag.setFloat("HandleModifier", calcHandleModifier(mMaterial)); // 1.0f - tag.setInteger("Reinforced", calcReinforced(mMaterial)); // 0 - tag.setFloat("Bow_ProjectileSpeed", calcBowProjectileSpeed(mMaterial)); // 3.0f - tag.setInteger("Bow_DrawSpeed", calcBowDrawSpeed(mMaterial)); // 18 - tag.setFloat("Projectile_Mass", calcProjectileMass(mMaterial)); // 0.69f - tag.setFloat("Projectile_Fragility", calcProjectileFragility(mMaterial)); // 0.2f - tag.setString("Style", calcStyle(mMaterial)); - tag.setInteger("Color", calcColour(mMaterial)); - - boolean generate = generateRecipes(mMaterial, id); - - if (generate) { - Logger.INFO("[TiCon] Sending IMC: addMaterial - " + mLocalName + "."); - FMLInterModComms.sendMessage(TinkerConstruct.ID, "addMaterial", tag); - - ItemStack itemstack = mMaterial.getIngot(1); - tag = new NBTTagCompound(); - tag.setInteger("MaterialId", id); - NBTTagCompound item = new NBTTagCompound(); - itemstack.writeToNBT(item); - tag.setTag("Item", item); - tag.setInteger("Value", 2); // What is value for? - - Logger.INFO("[TiCon] Sending IMC: addPartBuilderMaterial - " + mLocalName + "."); - FMLInterModComms.sendMessage(TinkerConstruct.ID, "addPartBuilderMaterial", tag); - - tag = new NBTTagCompound(); - tag.setInteger("MaterialId", id); - tag.setInteger("Value", 2); // What is value for? - item = new NBTTagCompound(); - itemstack.writeToNBT(item); - tag.setTag("Item", item); - - Logger.INFO("[TiCon] Sending IMC: addMaterialItem - " + mLocalName + "."); - FMLInterModComms.sendMessage(TinkerConstruct.ID, "addMaterialItem", tag); - } - } - } - - private boolean generateRecipes(Material aMaterial, int aID) { - - Block aMatBlock; - Integer aMelt; - Fluid aFluid; - - try { - aMatBlock = aMaterial.getBlock(); - aMelt = aMaterial.getMeltingPointC(); - aFluid = aMaterial.getFluidStack(0) - .getFluid(); - } catch (Throwable t) { - return false; - } - - if (aMatBlock == null || aMelt == null || aFluid == null) { - return false; - } - - TinkersUtils.registerFluidType(mLocalName, aMatBlock, 0, aMelt, aFluid, true); - TinkersUtils.addMelting(aMaterial.getBlock(1), aMatBlock, 0, aMelt, aMaterial.getFluidStack(144 * 9)); - TinkersUtils.addMelting(aMaterial.getIngot(1), aMatBlock, 0, aMelt, aMaterial.getFluidStack(144)); - if (aMelt <= 3600) { - ItemStack ingotcast = TinkersUtils.getPattern(1); - TinkersUtils - .addBasinRecipe(aMaterial.getBlock(1), aMaterial.getFluidStack(144 * 9), (ItemStack) null, true, 100); - TinkersUtils - .addCastingTableRecipe(aMaterial.getIngot(1), aMaterial.getFluidStack(144), ingotcast, false, 50); - } - - TinkersUtils.generateCastingRecipes(aMaterial, aID); - - return true; - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersDryingRecipe.java b/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersDryingRecipe.java deleted file mode 100644 index 33dad51510..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersDryingRecipe.java +++ /dev/null @@ -1,129 +0,0 @@ -package gtPlusPlus.xmod.tinkers.util; - -import static gregtech.api.enums.Mods.TinkerConstruct; - -import java.lang.reflect.Field; -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import gregtech.api.enums.GT_Values; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class TinkersDryingRecipe { - - public static AutoMap recipes = new AutoMap<>(); - - public final int time; - public final ItemStack input; - public final ItemStack result; - - public static void generateAllDryingRecipes() { - List aRecipes = TinkersUtils.getDryingRecipes(); - if (aRecipes != null && aRecipes.size() > 0) { - for (Object o : aRecipes) { - Logger.INFO( - "Trying to generate recipe using object of type " + o.getClass() - .getSimpleName()); - generateFromTinkersRecipeObject(o); - } - } else { - Logger.INFO( - "Error generating Drying recipes, map was either null or empty. Null? " + (aRecipes != null) - + ", Size: " - + aRecipes.size()); - } - if (!recipes.isEmpty()) { - Logger.INFO("Adding " + recipes.size() + " drying rack recipes to the dehydrator."); - for (TinkersDryingRecipe r : recipes) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(16), r.input }, - GT_Values.NF, - GT_Values.NF, - new ItemStack[] { r.result }, - new int[] {}, - r.time / 10, - 30); - } - } - } - - public static TinkersDryingRecipe generateFromTinkersRecipeObject(Object o) { - Field aTime; - Field aInput; - Field aOutput; - Class aTinkerClass = ReflectionUtils.getClass("tconstruct.library.crafting.DryingRackRecipes.DryingRecipe"); // o.getClass(); - if (aTinkerClass == null || TinkerConstruct.isModLoaded()) { - Logger.INFO( - "Error generating Drying Recipe, could not find class. Exists? " - + ReflectionUtils.doesClassExist("tconstruct.library.crafting.DryingRackRecipes.DryingRecipe")); - Class clazz = ReflectionUtils.getClass("tconstruct.library.crafting.DryingRackRecipes"); - Class[] y = clazz.getDeclaredClasses(); - if (y == null || y.length <= 0) { - Logger.INFO("No hidden inner classes."); - return null; - } else { - boolean found = false; - for (Class h : y) { - Logger.INFO("Found hidden inner class: " + h.getCanonicalName()); - if (h.getSimpleName() - .toLowerCase() - .equals("dryingrecipe")) { - Logger.INFO("Found correct recipe. Caching at correct location."); - ReflectionUtils.mCachedClasses - .put("tconstruct.library.crafting.DryingRackRecipes.DryingRecipe", h); - aTinkerClass = h; - found = true; - break; - } - } - if (!found) { - return null; - } - } - } - aTime = ReflectionUtils.getField(aTinkerClass, "time"); - aInput = ReflectionUtils.getField(aTinkerClass, "input"); - aOutput = ReflectionUtils.getField(aTinkerClass, "result"); - try { - int time_internal = aTime.getInt(o); - ItemStack input_internal = (ItemStack) aInput.get(o); - ItemStack result_internal = (ItemStack) aOutput.get(o); - return new TinkersDryingRecipe(input_internal, time_internal, result_internal); - } catch (Throwable b) { - b.printStackTrace(); - } - return null; - } - - public TinkersDryingRecipe(final ItemStack input, final int time, final ItemStack result) { - this.time = time; - this.input = input; - this.result = result; - Logger.INFO( - "Generating Drying Recipe. Input: " + input.getDisplayName() + ", Output: " + result.getDisplayName()); - recipes.add(this); - } - - public boolean matches(ItemStack input) { - if (input.hasTagCompound()) { - input = input.copy(); - input.getTagCompound() - .removeTag("frypanKill"); - if (input.getTagCompound() - .hasNoTags()) { - input.setTagCompound((NBTTagCompound) null); - } - } - return ItemStack.areItemStacksEqual(this.input, input); - } - - public ItemStack getResult() { - return this.result.copy(); - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java b/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java deleted file mode 100644 index 8b173d5b62..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java +++ /dev/null @@ -1,377 +0,0 @@ -package gtPlusPlus.xmod.tinkers.util; - -import static gregtech.api.enums.Mods.TinkerConstruct; - -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.Iterator; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.Materials; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; - -public class TinkersUtils { - - private static final Class mClass_Smeltery; - private static final Class mClass_TConstructRegistry; - private static final Class mClass_ToolMaterial; - private static final Class mClass_IPattern; - private static final Class mClass_DynamicToolPart; - private static final Class mClass_FluidType; - private static final Class mClass_CastingRecipe; - private static final Class mClass_TinkerSmeltery; - - private static final Field mField_MoltenIronFluid; - - private static final Method mMethod_getFluidType; - private static final Method mMethod_getCastingRecipes; - - private static Object mSmelteryInstance; - private static Object mTinkersRegistryInstance; - - private static final HashMap mMethodCache = new LinkedHashMap<>(); - - static { - mClass_Smeltery = ReflectionUtils.getClass("tconstruct.library.crafting.Smeltery"); - mClass_TConstructRegistry = ReflectionUtils.getClass("tconstruct.library.TConstructRegistry"); - - mClass_ToolMaterial = ReflectionUtils.getClass("tconstruct.library.tools.ToolMaterial"); - mClass_IPattern = ReflectionUtils.getClass("tconstruct.library.util.IPattern"); - mClass_DynamicToolPart = ReflectionUtils.getClass("tconstruct.library.tools.DynamicToolPart"); - mClass_FluidType = ReflectionUtils.getClass("tconstruct.library.crafting.FluidType"); - mClass_CastingRecipe = ReflectionUtils.getClass("tconstruct.library.crafting.CastingRecipe"); - mClass_TinkerSmeltery = ReflectionUtils.getClass("tconstruct.smeltery.TinkerSmeltery"); - - mField_MoltenIronFluid = ReflectionUtils.getField(mClass_TinkerSmeltery, "moltenIronFluid"); - - mMethod_getFluidType = ReflectionUtils.getMethod(mClass_FluidType, "getFluidType", String.class); - mMethod_getCastingRecipes = ReflectionUtils - .getMethod(getCastingInstance(0), "getCastingRecipes", new Class[] {}); - } - - private static void setTiConDataInstance() { - if (!TinkerConstruct.isModLoaded()) { - return; - } - - if (mSmelteryInstance == null) { - if (mClass_Smeltery != null) { - try { - mSmelteryInstance = ReflectionUtils.getField(mClass_Smeltery, "instance") - .get(null); - } catch (IllegalArgumentException | IllegalAccessException ignored) {} - } - } - if (mTinkersRegistryInstance == null) { - if (mClass_TConstructRegistry != null) { - try { - mTinkersRegistryInstance = ReflectionUtils.getField(mClass_TConstructRegistry, "instance") - .get(null); - } catch (IllegalArgumentException | IllegalAccessException ignored) {} - } - } - } - - /** - * 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) { - setTiConDataInstance(); - ReflectionUtils.invokeVoid( - mSmelteryInstance, - "addSmelteryFuel", - new Class[] { Fluid.class, int.class, int.class }, - new Object[] { fluid, power, duration }); - } - - public static boolean registerFluidType(String name, Block block, int meta, int baseTemperature, Fluid fluid, - boolean isToolpart) { - if (mMethodCache.get("registerFluidType") == null) { - Method m = ReflectionUtils.getMethod( - ReflectionUtils.getClass("tconstruct.library.crafting.FluidType"), - "registerFluidType", - String.class, - Block.class, - int.class, - int.class, - Fluid.class, - boolean.class); - mMethodCache.put("registerFluidType", m); - } - try { - mMethodCache.get("registerFluidType") - .invoke(null, name, block, meta, baseTemperature, fluid, isToolpart); - return true; - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - return false; - } - } - - public static void addMelting(ItemStack input, Block block, int metadata, int temperature, FluidStack liquid) { - if (mMethodCache.get("addMelting") == null) { - Method m = ReflectionUtils.getMethod( - mClass_Smeltery, - "addMelting", - ItemStack.class, - Block.class, - int.class, - int.class, - FluidStack.class); - mMethodCache.put("addMelting", m); - } - try { - mMethodCache.get("addMelting") - .invoke(null, input, block, metadata, temperature, liquid); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ignored) {} - } - - public static void addMelting(Object type, ItemStack input, int temperatureDifference, int fluidAmount) { - if (mMethodCache.get("addMelting") == null) { - Method m = ReflectionUtils - .getMethod(mClass_Smeltery, "addMelting", mClass_FluidType, ItemStack.class, int.class, int.class); - mMethodCache.put("addMelting", m); - } - try { - mMethodCache.get("addMelting") - .invoke(null, type, input, temperatureDifference, fluidAmount); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ignored) {} - } - - public static void addBasinRecipe(ItemStack output, FluidStack metal, ItemStack cast, boolean consume, int delay) { - if (mMethodCache.get("addBasinRecipe") == null) { - Method m = ReflectionUtils.getMethod( - ReflectionUtils.getClass("tconstruct.library.crafting.LiquidCasting"), - "addCastingRecipe", - ItemStack.class, - FluidStack.class, - ItemStack.class, - boolean.class, - int.class); - mMethodCache.put("addBasinRecipe", m); - } - try { - mMethodCache.get("addBasinRecipe") - .invoke(getCastingInstance(0), output, metal, cast, consume, delay); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ignored) {} - } - - public static void addCastingTableRecipe(ItemStack output, FluidStack metal, ItemStack cast, boolean consume, - int delay) { - if (mMethodCache.get("addCastingTableRecipe") == null) { - Method m = ReflectionUtils.getMethod( - ReflectionUtils.getClass("tconstruct.library.crafting.LiquidCasting"), - "addCastingRecipe", - ItemStack.class, - FluidStack.class, - ItemStack.class, - boolean.class, - int.class); - mMethodCache.put("addCastingTableRecipe", m); - } - try { - mMethodCache.get("addCastingTableRecipe") - .invoke(getCastingInstance(1), output, metal, cast, consume, delay); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ignored) {} - } - - /** - * 0 For Table, 1 For Basin. - * - * @param aType - Casting Type - * @return - The casting instance. - */ - public static Object getCastingInstance(int aType) { - - setTiConDataInstance(); - - Method m = null; - if (aType == 0) { - m = ReflectionUtils.getMethod(mTinkersRegistryInstance, "getTableCasting", new Class[] {}); - } else if (aType == 1) { - m = ReflectionUtils.getMethod(mTinkersRegistryInstance, "getBasinCasting", new Class[] {}); - } // return null; - - if (m != null) { - try { - return m.invoke(mTinkersRegistryInstance, new Object[] {}); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - e.printStackTrace(); - } - } - return null; - } - - private static Item mTinkerMetalPattern; - - public static ItemStack getPattern(int aType) { - if (mTinkerMetalPattern == null) { - Field m = ReflectionUtils.getField(mClass_TinkerSmeltery, "metalPattern"); - if (m != null) { - try { - mTinkerMetalPattern = (Item) m.get(null); - } catch (IllegalArgumentException | IllegalAccessException ignored) {} - } - } - if (mTinkerMetalPattern != null) { - return new ItemStack(mTinkerMetalPattern, aType, 0); - } - return ItemUtils.getErrorStack(1, "Bad Tinkers Pattern"); - } - - private static AutoMap mDryingRackRecipes; - - public static List getDryingRecipes() { - if (mDryingRackRecipes != null) { - return mDryingRackRecipes; - } - AutoMap aData = new AutoMap<>(); - int aCount = 0; - try { - ArrayList recipes = (ArrayList) ReflectionUtils - .getField(ReflectionUtils.getClass("tconstruct.library.crafting.DryingRackRecipes"), "recipes") - .get(null); - if (recipes != null) { - for (Object o : recipes) { - aData.put(o); - aCount++; - } - Logger.INFO("Found " + aCount + " Tinkers drying rack recipes."); - } else { - Logger.INFO("Failed to find any Tinkers drying rack recipes."); - } - } catch (IllegalArgumentException | IllegalAccessException e) { - Logger.INFO("Failed to find any Tinkers drying rack recipes."); - } - mDryingRackRecipes = aData; - return aData; - } - - public static List getTableCastingRecipes() { - Object aCastingTableHandlerInstance = getCastingInstance(0); - List aTemp; - try { - aTemp = (List) mMethod_getCastingRecipes.invoke(aCastingTableHandlerInstance, new Object[] {}); - return aTemp; - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - e.printStackTrace(); - } - return new ArrayList<>(); - } - - public static void generateCastingRecipes(Material aMaterial, int aID) { - - List newRecipies = new LinkedList<>(); - - Iterator iterator1 = getTableCastingRecipes().iterator(); - Fluid aMoltenIron = null; - if (aMoltenIron == null) { - try { - aMoltenIron = (Fluid) mField_MoltenIronFluid.get(null); - } catch (IllegalArgumentException | IllegalAccessException e) { - e.printStackTrace(); - aMoltenIron = Materials.Iron.getMolten(0) - .getFluid(); - } - } - while (iterator1.hasNext()) { - CastingRecipeHandler recipe = new CastingRecipeHandler(iterator1.next()); - if (recipe == null || !recipe.valid) { - continue; - } - try { - if (recipe.castingMetal.getFluid() == aMoltenIron && recipe.cast != null - && mClass_IPattern.isInstance(recipe.cast.getItem()) - && mClass_DynamicToolPart.isInstance( - recipe.getResult() - .getItem())) { - newRecipies.add(recipe); - } - } catch (IllegalArgumentException e) { - e.printStackTrace(); - return; - } - } - - Object ft; - try { - ft = mMethod_getFluidType.invoke(null, aMaterial.getLocalizedName()); - for (CastingRecipeHandler newRecipy : newRecipies) { - CastingRecipeHandler recipe = new CastingRecipeHandler(newRecipy); - if (!recipe.valid) { - continue; - } - // CastingRecipe recipe = (CastingRecipe) i$.next(); - ItemStack output = recipe.getResult() - .copy(); - output.setItemDamage(aID); - FluidStack liquid2 = new FluidStack( - aMaterial.getFluidStack(0) - .getFluid(), - recipe.castingMetal.amount); - addCastingTableRecipe(output, liquid2, recipe.cast, recipe.consumeCast, recipe.coolTime); - addMelting(ft, output, 0, liquid2.amount / 2); - } - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - e.printStackTrace(); - } - - } - - private static class CastingRecipeHandler { - - public ItemStack output; - public FluidStack castingMetal; - public ItemStack cast; - public boolean consumeCast; - public int coolTime; - - public boolean valid; - - public CastingRecipeHandler(Object aCastingRecipe) { - if (mClass_CastingRecipe.isInstance(aCastingRecipe)) { - try { - Field aF_output = ReflectionUtils.getField(mClass_CastingRecipe, "output"); - Field aF_castingMetal = ReflectionUtils.getField(mClass_CastingRecipe, "castingMetal"); - Field aF_cast = ReflectionUtils.getField(mClass_CastingRecipe, "cast"); - Field aF_consumeCast = ReflectionUtils.getField(mClass_CastingRecipe, "consumeCast"); - Field aF_coolTime = ReflectionUtils.getField(mClass_CastingRecipe, "coolTime"); - - output = (ItemStack) aF_output.get(aCastingRecipe); - castingMetal = (FluidStack) aF_castingMetal.get(aCastingRecipe); - cast = (ItemStack) aF_cast.get(aCastingRecipe); - consumeCast = (boolean) aF_consumeCast.get(aCastingRecipe); - coolTime = (int) aF_coolTime.get(aCastingRecipe); - valid = true; - } catch (Throwable t) { - t.printStackTrace(); - valid = false; - } - } else { - valid = false; - } - } - - public ItemStack getResult() { - return this.output.copy(); - } - } -} diff --git a/gtpp/src/main/resources/assets/forestry/AlvearyFrame.png b/gtpp/src/main/resources/assets/forestry/AlvearyFrame.png deleted file mode 100644 index c69ead8dd0..0000000000 Binary files a/gtpp/src/main/resources/assets/forestry/AlvearyFrame.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/forestry/AlvearyMutator.png b/gtpp/src/main/resources/assets/forestry/AlvearyMutator.png deleted file mode 100644 index 2225f2748f..0000000000 Binary files a/gtpp/src/main/resources/assets/forestry/AlvearyMutator.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.off.png b/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.off.png deleted file mode 100644 index f21e59ec96..0000000000 Binary files a/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.off.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.on.png b/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.on.png deleted file mode 100644 index f21e59ec96..0000000000 Binary files a/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.on.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.off.png b/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.off.png deleted file mode 100644 index 51336c00b9..0000000000 Binary files a/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.off.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.on.png b/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.on.png deleted file mode 100644 index 51336c00b9..0000000000 Binary files a/gtpp/src/main/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.on.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/lang/en_US.lang b/gtpp/src/main/resources/assets/gregtech/lang/en_US.lang deleted file mode 100644 index bec1ad152c..0000000000 --- a/gtpp/src/main/resources/assets/gregtech/lang/en_US.lang +++ /dev/null @@ -1,283 +0,0 @@ - -//Shit I stole from GTNH~ - -GT5U.gui.text.no_water=§7Missing water -GT5U.gui.text.no_lava=§7Missing lava -GT5U.gui.text.no_air=§7Missing air -GT5U.gui.text.no_co2=§7Missing CO2 -GT5U.gui.text.no_li2bef4=§7Missing Li2BeF4 -GT5U.gui.text.no_saw=§7Missing saw -GT5U.gui.text.no_sapling=§7Missing sapling -GT5U.gui.text.no_oxygen=§7Missing oxygen -GT5U.gui.text.fuel_blacklisted=§7Fuel blacklisted -GT5U.gui.text.no_catalyst=§7No valid catalyst found -GT5U.gui.text.no_milling_ball=§7No milling ball found -GT5U.gui.text.growing_trees=§aGrowing trees -GT5U.gui.text.managing_power=§aManaging power -GT5U.gui.text.no_scrap=§aInput too low quality -GT5U.gui.text.warm_up=§aWarming up -GT5U.gui.text.machine_locked_to_different_recipe=§7Machine is already locked to a different recipe -GT5U.gui.text.no_output_for_sapling=§7This sapling yields no outputs -GT5U.gui.text.no_tools=§7Missing applicable tools - -GTPP.EBF.heat=Heat capacity - -GTPP.machines.tier=Tier -GTPP.machines.input=Input -GTPP.machines.output=Output - -GTPP.multiblock.pollutionreduced=Pollution reduced to -GTPP.multiblock.pollution=Pollution -GTPP.multiblock.energy=Stored Energy -GTPP.multiblock.progress=Progress -GTPP.multiblock.efficiency=Efficiency -GTPP.multiblock.problems=Problems -GTPP.multiblock.mei=Max Energy Income -GTPP.multiblock.usage=Probably uses -GTPP.multiblock.generation=Probably generates -GTPP.multiblock.specialvalue=Special Value -GTPP.multiblock.duration=Duration -GTPP.multiblock.multimachine.metal=Metal Mode. Does compressor (circuit 20), lathe (circuit 21) and electromagnetic polarizer (circuit 22). -GTPP.multiblock.multimachine.fluid=Fluid Mode. Does fermenter (circuit 20), fluid extractor (circuit 21) and extractor (circuit 22). -GTPP.multiblock.multimachine.misc=Misc. Mode. Does precision laser engraver (circuit 20), autoclave (circuit 21) and fluid solidifier (circuit 22). - - -GTPP.waila.steam.use=Probably uses: §e%s§r L/t Steam - -GTPP.CC.machinetier=Control Core Tier -GTPP.CC.discount=EU Discount -GTPP.CC.parallel=Maximum Parallel - -//Tooltips for the Charger Packs -GTPP.battpack.tooltip.1=Worn as a Belt within Baubles -GTPP.battpack.tooltip.2=Drains -GTPP.battpack.tooltip.3=to charge worn armour -GTPP.battpack.tooltip.4=Also charges items on the hotbar - -//Tooltips for the Personal Healing Bauble -GTPP.nanohealer.tooltip.1=Worn as a Necklace within Baubles -GTPP.nanohealer.tooltip.2=Drains -GTPP.nanohealer.tooltip.3= EU per operation. -GTPP.nanohealer.tooltip.4=Can restore HP, Hunger and Saturation. -GTPP.nanohealer.tooltip.5=Will not prevent death. -GTPP.nanohealer.tooltip.6=Shift+RMB to toggle notifications. -GTPP.nanohealer.hidden=Hiding Info? - -//10/4/19 -//Tooltips for the Mob Killing Baubles -GTPP.monsterkiller.tooltip.1=Worn as an Amulet within Baubles -GTPP.monsterkiller.tooltip.2=Drains -GTPP.monsterkiller.tooltip.3=per each kill -GTPP.monsterkiller.tooltip.4=Target Type: - -//17/08/19 -GTPP.container.decaychest.name=Decayables - - - - - - - - - - - - -//NEI INFORMATION -GTPP.nei.info=Information -GTPP.nei.eutick=Eu/t -GTPP.nei.timetaken=Time Taken -GTPP.nei.output=Output -GTPP.nei.input=Input -GTPP.nei.result=Result -GTPP.nei.radioation=Radiation Level - -//Some Generic Words -GTPP.info.eu=EU -GTPP.info.euInfo=EU Information -GTPP.info.inputLimit=Input Limit -GTPP.info.currentPower=Current Power -GTPP.info.hidden=Hidden - -//Some Time Words -GTPP.time.ticks=Ticks -GTPP.time.seconds=Seconds -GTPP.time.minutes=Minutes -GTPP.time.hours=Hours -GTPP.time.days=Days -GTPP.time.weeks=Weeks -GTPP.time.months=Months - -//Steam MultiBlock Tooltips -GTPP.MBTT.SteamHatch=Steam Hatch -GTPP.MBTT.SteamInputBus=Input Bus (Steam) -GTPP.MBTT.SteamOutputBus=Output Bus (Steam) - - - - - - - - -//Achievements - -//4/2/19 -achievement.gt.blockmachines.fusioncomputer.tier.09=Fusion Computer Mark IV -achievement.gtplusplus.blockcasings.3.12=Fusion Casing MK III -achievement.gtplusplus.blockcasings.3.13=Advanced Magnetic Containment! -achievement.gtplusplus.blockcasings.3.15=Quantum Containment! -achievement.gt.blockmachines.fusioncomputer.tier.09.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.3.12.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.3.13.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.3.15.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gt.blockmachines.gtplusplus.fusion.single=Alternative Fusion -achievement.gt.blockmachines.gtplusplus.tank.plasma=Plasma Storage -achievement.gt.blockmachines.gtplusplus.fusion.single.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gt.blockmachines.gtplusplus.tank.plasma.desc=[AL] Pickup this item to see the recipe in NEI - - -//5/2/19 -achievement.MU-metaitem.01.32106=Junior Physicist -achievement.MU-metaitem.01.32107=Graduate Physicist -achievement.MU-metaitem.01.32108=Scholarly Physicist -achievement.MU-metaitem.01.32109=Master Physicist -achievement.MU-metaitem.01.32106.desc=[AL] Pickup this item to see the recipe in NEI -achievement.MU-metaitem.01.32107.desc=[AL] Pickup this item to see the recipe in NEI -achievement.MU-metaitem.01.32108.desc=[AL] Pickup this item to see the recipe in NEI -achievement.MU-metaitem.01.32109.desc=[AL] Pickup this item to see the recipe in NEI -achievement.MU-metaitem.01.32066=Proton Containment -achievement.MU-metaitem.01.32068=Electron Containment -achievement.MU-metaitem.01.32070=Quark Containment -achievement.MU-metaitem.01.32110=Graviton Containment -achievement.MU-metaitem.01.32066.desc=[AL] Pickup this item to see the recipe in NEI -achievement.MU-metaitem.01.32068.desc=[AL] Pickup this item to see the recipe in NEI -achievement.MU-metaitem.01.32070.desc=[AL] Pickup this item to see the recipe in NEI -achievement.MU-metaitem.01.32110.desc=[AL] Pickup this item to see the recipe in NEI -achievement.item.personalHealingDevice=Food is for chumps -achievement.item.personalHealingDevice.desc=[AL] You have upgraded to the nano, the future is yours -achievement.item.GTPP.BattPack.06.name=Charge Pack Mk I -achievement.item.GTPP.BattPack.07.name=Charge Pack Mk II -achievement.item.GTPP.BattPack.08.name=Charge Pack Mk III -achievement.item.GTPP.BattPack.09.name=Charge Pack Mk IV -achievement.item.GTPP.BattPack.06.name.desc=[AL] Pickup this item to see the recipe in NEI -achievement.item.GTPP.BattPack.07.name.desc=[AL] Pickup this item to see the recipe in NEI -achievement.item.GTPP.BattPack.08.name.desc=[AL] Pickup this item to see the recipe in NEI -achievement.item.GTPP.BattPack.09.name.desc=[AL] Pickup this item to see the recipe in NEI - - - -//14/2/19 -achievement.gtpp.start=Gregtech++ -achievement.gtpp.start.desc=So, think you've got what it takes? -achievement.hatch.control=This is where you put the Control Core -achievement.hatch.control.desc=A special hatch required by all GT++ Multiblocks. -achievement.hatch.dynamo.buffered=Buffered Dynamo Hatch -achievement.hatch.dynamo.buffered.desc=More energy from the same multi! -achievement.multi.abs=Alloy Blast Smelter [ABS] -achievement.multi.abs.desc=Used to create most late game alloys. -achievement.dust.potin=Potin! -achievement.dust.potin.desc=Well, you gotta start somewhere... -achievement.dust.eglin=Eglin Steel! -achievement.dust.eglin.desc=Progress, albeit slow... -achievement.dust.staballoy=Staballoy! -achievement.dust.staballoy.desc=Now we're talking... -achievement.dust.quantum=Quantum! -achievement.dust.quantum.desc=Raw Matter. -achievement.dust.hypogen=Hypogen! -achievement.dust.hypogen.desc=What even is this material? -achievement.block.fishtrap=Free Fish -achievement.block.fishtrap.desc=Better than HarvestCraft. -achievement.block.withercage=Jail -achievement.block.withercage.desc=Trap a Wither/Dragon with this. -achievement.rtg=Radioisotope Thermoelectric Generation! -achievement.rtg.desc=Probably stolen from Russia, use with care. -achievement.dehydrate=Dehydration -achievement.dehydrate.desc=Drink some water. -achievement.semifluid=It's like a fluid, but it's not -achievement.semifluid.desc=Semifluids are confusing. -achievement.earlywasher=Simple Ore Washer -achievement.earlywasher.desc=Runs on ULV only. -achievement.advancedsteam=Alternative Steam options -achievement.advancedsteam.desc=Smart fuel consumption -achievement.pollutionremoval=Pollution, no more! -achievement.pollutionremoval.desc=POLLUTION IS BAD -achievement.hiampxform=High Amp Transformers -achievement.hiampxform.desc=Advanced power transformation -achievement.multi.pss=Power Sub-Station [PSS] -achievement.multi.pss.desc=Grid Power Storage. -achievement.multi.cyclo=Cyclotron -achievement.multi.cyclo.desc=Advanced Science -achievement.multi.sifter=Industrial Sifter -achievement.multi.sifter.desc=Faster than a turtle. -achievement.multi.cokeoven=Industrial Coke Oven [ICO] -achievement.multi.cokeoven.desc=Better than a Pyrolyse -achievement.multi.boiler.thermal=Thermal Boiler -achievement.multi.boiler.thermal.desc=Pahoehoe works too! -achievement.multi.zhuhai=Zhuhai, Fishing Port -achievement.multi.zhuhai.desc=Actually exists -achievement.casing.abs=Slow Progress -achievement.casing.abs.desc=Eventually, you will have your ABS. -achievement.casing.cyclotron.coil=Slower Progress -achievement.casing.cyclotron.coil.desc=Consider why you're even doing this.. -achievement.casing.multiuse=I'm going to make lots of these -achievement.casing.multiuse.desc=Don't start counting. -achievement.casing.containment=What's this for? -achievement.casing.containment.desc=I should probably try find out. -achievement.decay.neptunium238=Neptunium 238 -achievement.decay.neptunium238.desc=Cyclotron Product -achievement.decay.radium226=Radium 226 -achievement.decay.radium226.desc=Cyclotron Product -achievement.decay.molybdenum99=Molybdenum 99 -achievement.decay.molybdenum99.desc=Cyclotron Product -achievement.decay.technetium99m=Technetium 99M -achievement.decay.technetium99m.desc=Cyclotron Product -achievement.decay.technetium99=Technetium 99 -achievement.decay.technetium99.desc=Cyclotron Product - -//24/11/19 -achievement.gt.blockmachines.hatch.turbine.input.tier.00=Turbine Housing -achievement.gt.blockmachines.hatch.turbine.input.tier.00.desc=[AL] Pickup this item to see the recipe in NEI - -//Added 6/12/21 -achievement.gt.blockmachines.gtpp.multimachine.flotationcell=Flotation Cell -achievement.gt.blockmachines.gtpp.multimachine.flotationcell.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gt.blockmachines.gtpp.multimachine.isamill=IsaMill -achievement.gt.blockmachines.gtpp.multimachine.isamill.desc=[AL] Pickup this item to see the recipe in NEI - -//2023-1-13 -achievement.gt.blockmachines.industrialalloysmelter.controller.tier.mega=Fast Pikachu-Alloy at last - -//2023-4-8 -tooltip.flotationCell.lockedTo=Locked to: -tooltip.large_macerator.tier=Tier: §6%s -tooltip.large_distill_tower.upgraded=§6Upgraded - -//2023-7-12 -achievement.gtplusplus.blockcasings.5.3=Elemental Confinement Shell -achievement.gtplusplus.blockcasings.5.3.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.5.7=Neutron Pulse Manipulator -achievement.gtplusplus.blockcasings.5.7.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.5.8=Cosmic Fabric Manipulator -achievement.gtplusplus.blockcasings.5.8.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.5.9=Infinity Infused Manipulator -achievement.gtplusplus.blockcasings.5.9.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.5.10=SpaceTime Continuum Manipulator -achievement.gtplusplus.blockcasings.5.10.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.5.11=Neutron Shielding Core -achievement.gtplusplus.blockcasings.5.11.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.5.12=Cosmic Fabric Shielding Core -achievement.gtplusplus.blockcasings.5.12.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.5.13=Infinity Infused Shielding Core -achievement.gtplusplus.blockcasings.5.13.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gtplusplus.blockcasings.5.14=SpaceTime Bending Core -achievement.gtplusplus.blockcasings.5.14.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gt.blockmachines.sparge.controller.single=Sparge Tower -achievement.gt.blockmachines.sparge.controller.single.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gt.blockmachines.industrialsalloyamelter.controller.tier.mega=Mega Alloy Blast Smelter -achievement.gt.blockmachines.industrialsalloyamelter.controller.tier.mega.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gt.blockmachines.moleculartransformer.controller.tier.single=Molecular Transformer -achievement.gt.blockmachines.moleculartransformer.controller.tier.single.desc=[AL] Pickup this item to see the recipe in NEI -achievement.gt.blockmachines.gtpp.multimachine.replicator=Elemental Duplicator -achievement.gt.blockmachines.gtpp.multimachine.replicator.desc=[AL] Pickup this item to see the recipe in NEI diff --git a/gtpp/src/main/resources/assets/gregtech/lang/zh_CN.lang b/gtpp/src/main/resources/assets/gregtech/lang/zh_CN.lang deleted file mode 100644 index 652691fd25..0000000000 --- a/gtpp/src/main/resources/assets/gregtech/lang/zh_CN.lang +++ /dev/null @@ -1,223 +0,0 @@ - -//Shit I stole from GTNH~ - -GTPP.EBF.heat=热容 - -GTPP.machines.tier=等级 -GTPP.machines.input=输入 -GTPP.machines.output=输出 - -GTPP.multiblock.pollutionreduced=减少污染至 -GTPP.multiblock.pollution=污染 -GTPP.multiblock.energy=能量存储 -GTPP.multiblock.progress=进程 -GTPP.multiblock.efficiency=效率 -GTPP.multiblock.problems=维护问题 -GTPP.multiblock.mei=最大能量输入 -GTPP.multiblock.usage=NEI功率 -GTPP.multiblock.generation=可能生成 -GTPP.multiblock.specialvalue=特殊值 -GTPP.multiblock.duration=NEI时间 - - - -GTPP.CC.machinetier=控制核心等级 -GTPP.CC.discount=EU损耗 -GTPP.CC.parallel=最大并行 - -//Tooltips for the Charger Packs -GTPP.battpack.tooltip.1=在Baubles的腰带栏内使用 -GTPP.battpack.tooltip.2=消耗 -GTPP.battpack.tooltip.3=给穿着的盔甲充能 -GTPP.battpack.tooltip.4=同样给快捷栏内的物品充能 - -//Tooltips for the Personal Healing Bauble -GTPP.nanohealer.tooltip.1=在Baubles的项链栏内使用 -GTPP.nanohealer.tooltip.2=每次操作消耗1638400EU -GTPP.nanohealer.tooltip.3=可以恢复血量,饥饿和饱和度 -GTPP.nanohealer.tooltip.4=不会阻止死亡 -GTPP.nanohealer.tooltip.5=Shift+右键来切换信息 -GTPP.nanohealer.hidden=隐藏信息? - -//10/4/19 -//Tooltips for the Mob Killing Baubles -GTPP.monsterkiller.tooltip.1=在Baubles的护身符栏内使用 -GTPP.monsterkiller.tooltip.2=产生 -GTPP.monsterkiller.tooltip.3=每击杀一个指定怪物 -GTPP.monsterkiller.tooltip.4=目标类型: - -//17/08/19 -GTPP.container.decaychest.name=可衰变 - - - - - - - - - - - - -//NEI INFORMATION -GTPP.nei.info=信息 -GTPP.nei.eutick=Eu/t -GTPP.nei.timetaken=耗时 -GTPP.nei.output=输出 -GTPP.nei.input=输入 -GTPP.nei.result=产物 -GTPP.nei.radioation=辐射等级 - -//Some Generic Words -GTPP.info.eu=EU -GTPP.info.euInfo=EU信息 -GTPP.info.inputLimit=输入限制 -GTPP.info.currentPower=当前能量 -GTPP.info.hidden=隐藏 - -//Some Time Words -GTPP.time.ticks=t -GTPP.time.seconds=秒 -GTPP.time.minutes=分 -GTPP.time.hours=小时 -GTPP.time.days=天 -GTPP.time.weeks=周 -GTPP.time.months=月 - -//Steam MultiBlock Tooltips -GTPP.MBTT.SteamHatch=蒸汽仓 -GTPP.MBTT.SteamInputBus=输入总线(蒸汽) -GTPP.MBTT.SteamOutputBus=输出总线(蒸汽) - - - - - - - - -//Achievements - -//4/2/19 -achievement.gt.blockmachines.fusioncomputer.tier.09=聚变计算机MK IV -achievement.gtplusplus.blockcasings.3.12=聚变框架MK III -achievement.gtplusplus.blockcasings.3.13=进阶磁力遏制! -achievement.gtplusplus.blockcasings.3.15=量子遏制! -achievement.gt.blockmachines.fusioncomputer.tier.09.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.gtplusplus.blockcasings.3.12.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.gtplusplus.blockcasings.3.13.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.gtplusplus.blockcasings.3.15.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.gt.blockmachines.gtplusplus.fusion.single=可控聚变 -achievement.gt.blockmachines.gtplusplus.tank.plasma=等离子存储 -achievement.gt.blockmachines.gtplusplus.fusion.single.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.gt.blockmachines.gtplusplus.tank.plasma.desc=[AL]捡起此物品以在NEI内解锁该合成表 - - -//5/2/19 -achievement.MU-metaitem.01.32106=初级物理学家 -achievement.MU-metaitem.01.32107=研究生物理学家 -achievement.MU-metaitem.01.32108=学术物理学家 -achievement.MU-metaitem.01.32109=物理学硕士 -achievement.MU-metaitem.01.32106.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.MU-metaitem.01.32107.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.MU-metaitem.01.32108.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.MU-metaitem.01.32109.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.MU-metaitem.01.32066=质子遏制 -achievement.MU-metaitem.01.32068=电子遏制 -achievement.MU-metaitem.01.32070=夸克遏制 -achievement.MU-metaitem.01.32110=引力遏制 -achievement.MU-metaitem.01.32066.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.MU-metaitem.01.32068.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.MU-metaitem.01.32070.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.MU-metaitem.01.32110.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.item.personalHealingDevice=食物是为了笨蛋 -achievement.item.personalHealingDevice.desc=[AL]你已经升级到纳米,未来就是你的 -achievement.item.GTPP.BattPack.06.name=充电工具包Mk I -achievement.item.GTPP.BattPack.07.name=充电工具包Mk II -achievement.item.GTPP.BattPack.08.name=充电工具包Mk III -achievement.item.GTPP.BattPack.09.name=充电工具包Mk IV -achievement.item.GTPP.BattPack.06.name.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.item.GTPP.BattPack.07.name.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.item.GTPP.BattPack.08.name.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.item.GTPP.BattPack.09.name.desc=[AL]捡起此物品以在NEI内解锁该合成表 - - - -//14/2/19 -achievement.gtpp.start=Gregtech++ -achievement.gtpp.start.desc=所以,你认为你已经得到了它? -achievement.hatch.control=这是你放置控制核心的地方 -achievement.hatch.control.desc=所有GT++的多方块都需要特殊的填充. -achievement.hatch.dynamo.buffered=缓冲后的发电机动力仓 -achievement.hatch.dynamo.buffered.desc=可以在大型涡轮机上使用这些. -achievement.multi.abs=合金冶炼炉[ABS] -achievement.multi.abs.desc=用于制造大多数后期合金. -achievement.dust.potin=铜锌锡合金! -achievement.dust.potin.desc=好吧,你得从某个地方开始... -achievement.dust.eglin=埃格林钢铁! -achievement.dust.eglin.desc=进展虽然缓慢... -achievement.dust.staballoy=贫铀合金! -achievement.dust.staballoy.desc=现在我们正在讨论... -achievement.dust.quantum=量子! -achievement.dust.quantum.desc=原料. -achievement.dust.hypogen=海珀珍! -achievement.dust.hypogen.desc=这甚至是什么材料? -achievement.block.fishtrap=免费的鱼 -achievement.block.fishtrap.desc=比潘马斯农场好. -achievement.block.withercage=监狱 -achievement.block.withercage.desc=用此捕捉凋灵/末影龙. -achievement.rtg=放射性同位素热电发电! -achievement.rtg.desc=可能盗于俄罗斯,小心使用. -achievement.dehydrate=脱水 -achievement.dehydrate.desc=喝些水. -achievement.semifluid=它像是液体,但它不是 -achievement.semifluid.desc=半流体令人困惑. -achievement.earlywasher=简单的洗矿场 -achievement.earlywasher.desc=只在ULV下工作. -achievement.advancedsteam=替代蒸汽选项 -achievement.advancedsteam.desc=智能油耗 -achievement.pollutionremoval=污染,没了! -achievement.pollutionremoval.desc=污染不好 -achievement.hiampxform=高放大变压器 -achievement.hiampxform.desc=进阶电力转换 -achievement.multi.pss=能源站[PSS] -achievement.multi.pss.desc=电力网络存储. -achievement.multi.cyclo=回旋加速器 -achievement.multi.cyclo.desc=高级科学 -achievement.multi.sifter=工业筛选机 -achievement.multi.sifter.desc=比乌龟快. -achievement.multi.cokeoven=工业焦炉[ICO] -achievement.multi.cokeoven.desc=比热解炉更好 -achievement.multi.boiler.thermal=地热锅炉 -achievement.multi.boiler.thermal.desc=熔岩也有效! -achievement.multi.zhuhai=珠海,渔场 -achievement.multi.zhuhai.desc=实际存在 -achievement.casing.abs=进展缓慢 -achievement.casing.abs.desc=最终,你将拥有你的合金冶炼炉. -achievement.casing.cyclotron.coil=进展缓慢 -achievement.casing.cyclotron.coil.desc=考虑为什么你甚至这样做.. -achievement.casing.multiuse=我要做很多这些 -achievement.casing.multiuse.desc=不要开始计数. -achievement.casing.containment=这个是干什么的? -achievement.casing.containment.desc=我应该试着找出来. -achievement.decay.neptunium238=镎238 -achievement.decay.neptunium238.desc=回旋加速器产品 -achievement.decay.radium226=镭226 -achievement.decay.radium226.desc=回旋加速器产品 -achievement.decay.molybdenum99=钼99 -achievement.decay.molybdenum99.desc=回旋加速器产品 -achievement.decay.technetium99m=锝99M -achievement.decay.technetium99m.desc=回旋加速器产品 -achievement.decay.technetium99=锝99 -achievement.decay.technetium99.desc=回旋加速器产品 - -//24/11/19 -achievement.gt.blockmachines.hatch.turbine.input.tier.00=涡轮仓 -achievement.gt.blockmachines.hatch.turbine.input.tier.00.desc=[AL]捡起此物品以在NEI内解锁该合成表 - -//Added 6/12/21 -achievement.gt.blockmachines.gtpp.multimachine.flotationcell=工业浮选机 -achievement.gt.blockmachines.gtpp.multimachine.flotationcell.desc=[AL]捡起此物品以在NEI内解锁该合成表 -achievement.gt.blockmachines.gtpp.multimachine.isamill=艾萨研磨机 -achievement.gt.blockmachines.gtpp.multimachine.isamill.desc=[AL]捡起此物品以在NEI内解锁该合成表 \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM.png deleted file mode 100644 index e9b20bd486..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_ACTIVE.png deleted file mode 100644 index 4469a809e9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_BOTTOM_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT.png deleted file mode 100644 index 012c63a088..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_ACTIVE.png deleted file mode 100644 index 30856a6284..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_FRONT_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE.png deleted file mode 100644 index d577f0cbb3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE.png deleted file mode 100644 index e41790f90f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE.png.mcmeta b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE.png.mcmeta deleted file mode 100644 index f4cce85820..0000000000 --- a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":5, - "frames": [0, 1, 2, 3, 2, 1] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_SIDE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP.png deleted file mode 100644 index e9b20bd486..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_ACTIVE.png deleted file mode 100644 index 4469a809e9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/cold_trap/OVERLAY_TOP_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_ACTIVE.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_BOTTOM_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT.png deleted file mode 100644 index f090fc04ac..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_ACTIVE.png deleted file mode 100644 index b18cca86b6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_ACTIVE_GLOW.png deleted file mode 100644 index 590a0e1606..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_FRONT_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE.png deleted file mode 100644 index f9b78615ea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_ACTIVE.png deleted file mode 100644 index a87d309908..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_ACTIVE_GLOW.png deleted file mode 100644 index 11d8fffb7c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_SIDE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP.png deleted file mode 100644 index 9afeaf4395..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_ACTIVE.png deleted file mode 100644 index d997a986df..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/dehydrator/OVERLAY_TOP_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM.png deleted file mode 100644 index a9ab34e963..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_ACTIVE.png deleted file mode 100644 index 8a5c131623..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_BOTTOM_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT.png deleted file mode 100644 index b7a77be826..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE.png deleted file mode 100644 index 8a47157d2b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE.png.mcmeta b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE.png.mcmeta deleted file mode 100644 index 1367b80758..0000000000 --- a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 3, 2, 2, 1, 1, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_FRONT_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE.png deleted file mode 100644 index 671bbd7d97..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE.png deleted file mode 100644 index ae63da7746..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE.png.mcmeta b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE.png.mcmeta deleted file mode 100644 index 8447c98f9a..0000000000 --- a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_SIDE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP.png deleted file mode 100644 index a9ab34e963..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_ACTIVE.png deleted file mode 100644 index 8a5c131623..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/reactor_processing_unit/OVERLAY_TOP_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_ACTIVE.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_BOTTOM_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT.png deleted file mode 100644 index 72f22b8b00..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_ACTIVE.png deleted file mode 100644 index 99039b2493..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_FRONT_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE.png deleted file mode 100644 index 72f22b8b00..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_ACTIVE.png deleted file mode 100644 index 99039b2493..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_SIDE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_ACTIVE.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_ACTIVE.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_ACTIVE_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_ACTIVE_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_ACTIVE_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_GLOW.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_GLOW.png deleted file mode 100644 index a2fcfb9a21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/basicmachines/simple_washer/OVERLAY_TOP_GLOW.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.argon.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.argon.png deleted file mode 100644 index e29ce83f82..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.argon.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png deleted file mode 100644 index 4569cb8af3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png.mcmeta b/gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png.mcmeta deleted file mode 100644 index 0df7234a79..0000000000 --- a/gtpp/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block1.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block1.png deleted file mode 100644 index ad51b6f35f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block2.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block2.png deleted file mode 100644 index 9544681ea6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block3.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block3.png deleted file mode 100644 index 161d37faf8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block4.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block4.png deleted file mode 100644 index 7d3a6d1e29..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block5.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block5.png deleted file mode 100644 index a8a4b0e1f2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block6.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block6.png deleted file mode 100644 index ad51b6f35f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/foil.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/foil.png deleted file mode 100644 index 2edad5a448..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/foil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/frameGt.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/frameGt.png deleted file mode 100644 index 2041e4d562..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/frameGt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore.png deleted file mode 100644 index 6e4e79b4fa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/oreSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/oreSmall.png deleted file mode 100644 index 0a7e9d6e9e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/oreSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png deleted file mode 100644 index 0032fdd6e5..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png.mcmeta b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png.mcmeta deleted file mode 100644 index 676faf4fb4..0000000000 --- a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 5, 4, 3, 3, 2, 2, 1, 1] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeHuge.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeHuge.png deleted file mode 100644 index 7985626666..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeHuge.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeLarge.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeLarge.png deleted file mode 100644 index f1daedc2c9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeLarge.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeMedium.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeMedium.png deleted file mode 100644 index 9927fa293e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeMedium.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSide.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSide.png deleted file mode 100644 index aec8883d6a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSide.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSmall.png deleted file mode 100644 index 6c29b067f3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeTiny.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeTiny.png deleted file mode 100644 index c1ef295198..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeTiny.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/void.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/void.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/void.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/wire.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/wire.png deleted file mode 100644 index 455335e5c2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/wire.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block1.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block1.png deleted file mode 100644 index 161d37faf8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block2.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block2.png deleted file mode 100644 index 9544681ea6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block3.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block3.png deleted file mode 100644 index 161d37faf8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block4.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block4.png deleted file mode 100644 index 7d3a6d1e29..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block5.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block5.png deleted file mode 100644 index a8a4b0e1f2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block6.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block6.png deleted file mode 100644 index ad51b6f35f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/foil.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/foil.png deleted file mode 100644 index 2edad5a448..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/foil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/frameGt.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/frameGt.png deleted file mode 100644 index 2041e4d562..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/frameGt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/ore.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/ore.png deleted file mode 100644 index ed3f2f1581..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/ore.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/oreSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/oreSmall.png deleted file mode 100644 index 0a7e9d6e9e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/oreSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeHuge.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeHuge.png deleted file mode 100644 index 7985626666..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeHuge.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeLarge.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeLarge.png deleted file mode 100644 index f1daedc2c9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeLarge.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeMedium.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeMedium.png deleted file mode 100644 index 9927fa293e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeMedium.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSide.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSide.png deleted file mode 100644 index aec8883d6a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSide.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSmall.png deleted file mode 100644 index 6c29b067f3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeTiny.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeTiny.png deleted file mode 100644 index c1ef295198..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeTiny.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/void.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/void.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/void.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/wire.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/wire.png deleted file mode 100644 index 455335e5c2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/wire.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block1.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block1.png deleted file mode 100644 index ad51b6f35f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block2.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block2.png deleted file mode 100644 index 9544681ea6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block3.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block3.png deleted file mode 100644 index 161d37faf8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block4.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block4.png deleted file mode 100644 index 7d3a6d1e29..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block5.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block5.png deleted file mode 100644 index a8a4b0e1f2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block6.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block6.png deleted file mode 100644 index ad51b6f35f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/foil.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/foil.png deleted file mode 100644 index 2edad5a448..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/foil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/frameGt.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/frameGt.png deleted file mode 100644 index 2041e4d562..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/frameGt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png deleted file mode 100644 index 919d9bb70a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png.mcmeta b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png.mcmeta deleted file mode 100644 index d2c3416c73..0000000000 --- a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/oreSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/oreSmall.png deleted file mode 100644 index 0a7e9d6e9e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/oreSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeHuge.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeHuge.png deleted file mode 100644 index 7985626666..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeHuge.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeLarge.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeLarge.png deleted file mode 100644 index f1daedc2c9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeLarge.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeMedium.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeMedium.png deleted file mode 100644 index 9927fa293e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeMedium.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSide.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSide.png deleted file mode 100644 index aec8883d6a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSide.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSmall.png deleted file mode 100644 index 6c29b067f3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeTiny.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeTiny.png deleted file mode 100644 index c1ef295198..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeTiny.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/void.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/void.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/void.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/wire.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/wire.png deleted file mode 100644 index 455335e5c2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/wire.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block1.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block1.png deleted file mode 100644 index 3e33d0feec..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block2.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block2.png deleted file mode 100644 index 9544681ea6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block3.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block3.png deleted file mode 100644 index 161d37faf8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block4.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block4.png deleted file mode 100644 index 7d3a6d1e29..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block5.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block5.png deleted file mode 100644 index a8a4b0e1f2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block6.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block6.png deleted file mode 100644 index ad51b6f35f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/foil.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/foil.png deleted file mode 100644 index 2edad5a448..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/foil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/frameGt.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/frameGt.png deleted file mode 100644 index 2041e4d562..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/frameGt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/ore.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/ore.png deleted file mode 100644 index 9cb38f3f8e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/ore.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/oreSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/oreSmall.png deleted file mode 100644 index 0a7e9d6e9e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/oreSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeHuge.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeHuge.png deleted file mode 100644 index 4feeed528c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeHuge.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeLarge.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeLarge.png deleted file mode 100644 index 055c104f1c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeLarge.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeMedium.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeMedium.png deleted file mode 100644 index 0bb50256c5..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeMedium.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeSide.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeSide.png deleted file mode 100644 index d229926034..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeSide.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeSmall.png deleted file mode 100644 index 1684ec116b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeTiny.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeTiny.png deleted file mode 100644 index f9838c8829..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/pipeTiny.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/void.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/void.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/void.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/wire.png b/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/wire.png deleted file mode 100644 index 455335e5c2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/blocks/materialicons/REFINED/wire.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/gui/basicmachines/FissionFuel.png b/gtpp/src/main/resources/assets/gregtech/textures/gui/basicmachines/FissionFuel.png deleted file mode 100644 index e95be5c31a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/gui/basicmachines/FissionFuel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_32k.png b/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_32k.png deleted file mode 100644 index 13b37c999d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_32k.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_32k.window.png b/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_32k.window.png deleted file mode 100644 index 3fd5382926..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_32k.window.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_8k.png b/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_8k.png deleted file mode 100644 index ffd9d4893b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_8k.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_8k.window.png b/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_8k.window.png deleted file mode 100644 index a08018f561..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_8k.window.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE.png deleted file mode 100644 index 59611725f8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtPlastic.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtPlastic.png deleted file mode 100644 index 6b17748ece..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtPlastic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtPlastic_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtPlastic_OVERLAY.png deleted file mode 100644 index 7cb996d669..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtPlastic_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtWood.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtWood.png deleted file mode 100644 index 172506c26c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtWood.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtWood_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtWood_OVERLAY.png deleted file mode 100644 index f9f1162ce6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/arrowGtWood_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt.png deleted file mode 100644 index 8675564a9b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt_OVERLAY.png deleted file mode 100644 index 9c310b5b09..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/bolt_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cell.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cell.png deleted file mode 100644 index 27d4df7081..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cell.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cellPlasma.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cellPlasma.png deleted file mode 100644 index ce3c6377c7..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cellPlasma.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cellPlasma_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cellPlasma_OVERLAY.png deleted file mode 100644 index 1c93293744..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cellPlasma_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cell_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cell_OVERLAY.png deleted file mode 100644 index f02365b9ff..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/cell_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtDust.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtDust.png deleted file mode 100644 index fad582745d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtDust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtDust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtDust_OVERLAY.png deleted file mode 100644 index 64d56b48ea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtDust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtGem.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtGem.png deleted file mode 100644 index a4418db9e1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtGem.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtGem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtGem_OVERLAY.png deleted file mode 100644 index 9798a597e0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtGem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtIngot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtIngot.png deleted file mode 100644 index 85e42b0cd2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtIngot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtIngot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtIngot_OVERLAY.png deleted file mode 100644 index 2f0577d65f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtIngot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtPlate.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtPlate.png deleted file mode 100644 index 8b48da35d2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtPlate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtPlate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtPlate_OVERLAY.png deleted file mode 100644 index ae6d73b7a6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crateGtPlate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed.png deleted file mode 100644 index 8a240a574d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedCentrifuged.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedCentrifuged.png deleted file mode 100644 index f74931d42a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedCentrifuged.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedCentrifuged_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedCentrifuged_OVERLAY.png deleted file mode 100644 index 3741866149..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedCentrifuged_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified.png deleted file mode 100644 index 17859801da..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified_OVERLAY.png deleted file mode 100644 index 1918a7fa45..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed_OVERLAY.png deleted file mode 100644 index 7cdf09b174..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dust.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dust.png deleted file mode 100644 index d1282f4248..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustImpure.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustImpure.png deleted file mode 100644 index 8918e54459..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustImpure.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustImpure_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustImpure_OVERLAY.png deleted file mode 100644 index 0d8c321826..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustImpure_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustPure.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustPure.png deleted file mode 100644 index 8918e54459..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustPure.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustPure_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustPure_OVERLAY.png deleted file mode 100644 index 79216e0918..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustPure_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustSmall.png deleted file mode 100644 index f29479bf55..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustSmall_OVERLAY.png deleted file mode 100644 index a35dccba2b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustTiny.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustTiny.png deleted file mode 100644 index 859cd70116..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustTiny.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustTiny_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustTiny_OVERLAY.png deleted file mode 100644 index 03c07f2760..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dustTiny_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dust_OVERLAY.png deleted file mode 100644 index cbc30cc68e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/dust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/foil.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/foil.png deleted file mode 100644 index cdce151f9a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/foil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/foil_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/foil_OVERLAY.png deleted file mode 100644 index f6fa0b94cc..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/foil_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGt.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGt.png deleted file mode 100644 index a7bc0f90f1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGtSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGtSmall.png deleted file mode 100644 index 0fe97b84fd..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGtSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGtSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGtSmall_OVERLAY.png deleted file mode 100644 index dddb4764ce..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGtSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGt_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGt_OVERLAY.png deleted file mode 100644 index d8471aed5f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gearGt_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem.png deleted file mode 100644 index b63f9c3b35..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemChipped.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemChipped.png deleted file mode 100644 index 6b7fc73d7a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemChipped.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemChipped_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemChipped_OVERLAY.png deleted file mode 100644 index c5abe856a0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemChipped_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemExquisite.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemExquisite.png deleted file mode 100644 index fbbe56cb1c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemExquisite.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemExquisite_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemExquisite_OVERLAY.png deleted file mode 100644 index 50d407491e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemExquisite_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawed.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawed.png deleted file mode 100644 index 499bf464b3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawed.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawed_OVERLAY.png deleted file mode 100644 index 3561f91a07..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawless.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawless.png deleted file mode 100644 index 925e5f7eea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawless.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawless_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawless_OVERLAY.png deleted file mode 100644 index 82f557e199..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gemFlawless_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem_OVERLAY.png deleted file mode 100644 index 55468929e9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet.png deleted file mode 100644 index 85f543676f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingot.png deleted file mode 100644 index 92bc131a2f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble.png deleted file mode 100644 index 678c35518b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble_OVERLAY.png deleted file mode 100644 index c844854d37..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotHot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotHot.png deleted file mode 100644 index 6fc93f933b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotHot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotHot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotHot_OVERLAY.png deleted file mode 100644 index ebf9b80323..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotHot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple.png deleted file mode 100644 index b62d361f19..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 2a63953e92..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple.png deleted file mode 100644 index e3ab084563..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 896be7f08e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple.png deleted file mode 100644 index b8853a770e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple_OVERLAY.png deleted file mode 100644 index c086bca2bb..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingot_OVERLAY.png deleted file mode 100644 index c59ef7b1bb..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ingot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/lens.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/lens.png deleted file mode 100644 index 4b29fca4c1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/lens.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/lens_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/lens_OVERLAY.png deleted file mode 100644 index f3bcc922b2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/lens_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/nugget.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/nugget.png deleted file mode 100644 index b1636ee569..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/nugget.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/nugget_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/nugget_OVERLAY.png deleted file mode 100644 index 2af89ec304..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/nugget_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw.png deleted file mode 100644 index d62139a374..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw_OVERLAY.png deleted file mode 100644 index 1ebeb9fc43..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plate.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plate.png deleted file mode 100644 index d31178c3c6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDense.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDense.png deleted file mode 100644 index 4666dd5902..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDense.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDense_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDense_OVERLAY.png deleted file mode 100644 index 037d829395..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDense_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDouble.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDouble.png deleted file mode 100644 index edb7970730..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDouble.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDouble_OVERLAY.png deleted file mode 100644 index cd358f9d96..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuadruple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuadruple.png deleted file mode 100644 index 6840fd312a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuadruple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuadruple_OVERLAY.png deleted file mode 100644 index de8ae5af6f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuintuple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuintuple.png deleted file mode 100644 index 8a71537dee..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuintuple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuintuple_OVERLAY.png deleted file mode 100644 index 2d7a80f45e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateTriple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateTriple.png deleted file mode 100644 index 6e5d95061c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateTriple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateTriple_OVERLAY.png deleted file mode 100644 index f73c531239..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plateTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plate_OVERLAY.png deleted file mode 100644 index f52c654ee5..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/plate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ring.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ring.png deleted file mode 100644 index eb9dfd5e21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ring.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ring_OVERLAY.png deleted file mode 100644 index 5879963ad2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/ring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor.png deleted file mode 100644 index 4eefbcd6e3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor_OVERLAY.png deleted file mode 100644 index f0d87d27df..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/round.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/round.png deleted file mode 100644 index 98480bf685..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/round.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/round_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/round_OVERLAY.png deleted file mode 100644 index 0916369702..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/round_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/screw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/screw.png deleted file mode 100644 index faca2c6e3d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/screw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/screw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/screw_OVERLAY.png deleted file mode 100644 index c540788917..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/screw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/spring.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/spring.png deleted file mode 100644 index df442ed454..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/spring.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/springSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/springSmall.png deleted file mode 100644 index 54b3afb24e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/springSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/springSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/springSmall_OVERLAY.png deleted file mode 100644 index a8170f57d6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/springSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/spring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/spring_OVERLAY.png deleted file mode 100644 index fdb0756839..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/spring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stick.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stick.png deleted file mode 100644 index d999179b3c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stick.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stickLong.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stickLong.png deleted file mode 100644 index 1580b911f0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stickLong.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stickLong_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stickLong_OVERLAY.png deleted file mode 100644 index 54b47c2224..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stickLong_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stick_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stick_OVERLAY.png deleted file mode 100644 index 04634628ac..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/stick_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadArrow.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadArrow.png deleted file mode 100644 index 8cdc9f196f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadArrow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadArrow_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadArrow_OVERLAY.png deleted file mode 100644 index 09af435c20..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadArrow_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadAxe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadAxe.png deleted file mode 100644 index b09c2128da..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadAxe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadAxe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadAxe_OVERLAY.png deleted file mode 100644 index 7f05e61552..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadAxe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadBuzzSaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadBuzzSaw.png deleted file mode 100644 index 4a19f4c251..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadBuzzSaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadBuzzSaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadBuzzSaw_OVERLAY.png deleted file mode 100644 index 778916b614..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadBuzzSaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadChainsaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadChainsaw.png deleted file mode 100644 index 3ab90f5b05..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadChainsaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadChainsaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadChainsaw_OVERLAY.png deleted file mode 100644 index 318ea2af2d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadChainsaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadDrill.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadDrill.png deleted file mode 100644 index 0c5f99482c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadDrill.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadDrill_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadDrill_OVERLAY.png deleted file mode 100644 index 3dbeb7da6e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadDrill_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadFile.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadFile.png deleted file mode 100644 index e52d0a01fa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadFile.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadFile_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadFile_OVERLAY.png deleted file mode 100644 index 7890213e56..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadFile_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHammer.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHammer.png deleted file mode 100644 index 747f647e7e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHammer.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHammer_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHammer_OVERLAY.png deleted file mode 100644 index b36140bea2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHammer_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHoe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHoe.png deleted file mode 100644 index d0dcfd1e5d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHoe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHoe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHoe_OVERLAY.png deleted file mode 100644 index 225d5d1907..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadHoe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet.png deleted file mode 100644 index 28d51f02af..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPickaxe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPickaxe.png deleted file mode 100644 index d10fab88aa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPickaxe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPickaxe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPickaxe_OVERLAY.png deleted file mode 100644 index 9374970a7f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPickaxe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPlow.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPlow.png deleted file mode 100644 index c15a8cdbfa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPlow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPlow_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPlow_OVERLAY.png deleted file mode 100644 index 520f1bb48c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadPlow_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSaw.png deleted file mode 100644 index eede998107..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSaw_OVERLAY.png deleted file mode 100644 index 27b69fc23a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver.png deleted file mode 100644 index 6b0517b879..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver_OVERLAY.png deleted file mode 100644 index 2aea2f961d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadScrewdriver_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSense.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSense.png deleted file mode 100644 index 06a7479e5f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSense.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSense_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSense_OVERLAY.png deleted file mode 100644 index fe6d646dd8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSense_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadShovel.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadShovel.png deleted file mode 100644 index 89fa86a4ce..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadShovel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadShovel_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadShovel_OVERLAY.png deleted file mode 100644 index fa0da0ce2a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadShovel_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering.png deleted file mode 100644 index 5665e03aee..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSword.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSword.png deleted file mode 100644 index 36e515be25..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSword.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSword_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSword_OVERLAY.png deleted file mode 100644 index b9a16a484a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSword_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadUniversalSpade.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadUniversalSpade.png deleted file mode 100644 index 2f162be760..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadUniversalSpade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadUniversalSpade_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadUniversalSpade_OVERLAY.png deleted file mode 100644 index c95bf030b4..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadUniversalSpade_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadWrench.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadWrench.png deleted file mode 100644 index cde1376f59..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadWrench.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadWrench_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadWrench_OVERLAY.png deleted file mode 100644 index 9d0db6f7fb..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadWrench_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade.png deleted file mode 100644 index 59611725f8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/void.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/void.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/void.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/void_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/void_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/void_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/wireFine.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/wireFine.png deleted file mode 100644 index 06f24ab18b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/wireFine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/wireFine_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/wireFine_OVERLAY.png deleted file mode 100644 index d5ce76b80f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/wireFine_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE.png deleted file mode 100644 index c78a1d5570..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtPlastic.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtPlastic.png deleted file mode 100644 index d34a721d96..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtPlastic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtPlastic_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtPlastic_OVERLAY.png deleted file mode 100644 index 3ffb9e31e0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtPlastic_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtWood.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtWood.png deleted file mode 100644 index 20de92b986..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtWood.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtWood_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtWood_OVERLAY.png deleted file mode 100644 index 948953f827..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/arrowGtWood_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt.png deleted file mode 100644 index 8675564a9b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/bolt_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cell.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cell.png deleted file mode 100644 index 27d4df7081..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cell.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cellPlasma.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cellPlasma.png deleted file mode 100644 index ce3c6377c7..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cellPlasma.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cellPlasma_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cellPlasma_OVERLAY.png deleted file mode 100644 index 1c93293744..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cellPlasma_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cell_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cell_OVERLAY.png deleted file mode 100644 index f02365b9ff..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/cell_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtDust.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtDust.png deleted file mode 100644 index fad582745d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtDust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtDust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtDust_OVERLAY.png deleted file mode 100644 index 64d56b48ea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtDust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtGem.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtGem.png deleted file mode 100644 index a4418db9e1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtGem.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtGem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtGem_OVERLAY.png deleted file mode 100644 index 9798a597e0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtGem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtIngot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtIngot.png deleted file mode 100644 index 85e42b0cd2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtIngot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtIngot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtIngot_OVERLAY.png deleted file mode 100644 index 2f0577d65f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtIngot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtPlate.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtPlate.png deleted file mode 100644 index 8b48da35d2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtPlate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtPlate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtPlate_OVERLAY.png deleted file mode 100644 index ae6d73b7a6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crateGtPlate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed.png deleted file mode 100644 index 8a240a574d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedCentrifuged.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedCentrifuged.png deleted file mode 100644 index f74931d42a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedCentrifuged.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedCentrifuged_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedCentrifuged_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedCentrifuged_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified.png deleted file mode 100644 index 17859801da..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed_OVERLAY.png deleted file mode 100644 index b546c4eeec..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dust.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dust.png deleted file mode 100644 index d1282f4248..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustImpure.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustImpure.png deleted file mode 100644 index 8918e54459..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustImpure.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustImpure_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustImpure_OVERLAY.png deleted file mode 100644 index e60e7b6d18..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustImpure_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustPure.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustPure.png deleted file mode 100644 index 8918e54459..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustPure.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustPure_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustPure_OVERLAY.png deleted file mode 100644 index 496dd33d5b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustPure_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustSmall.png deleted file mode 100644 index f29479bf55..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustSmall_OVERLAY.png deleted file mode 100644 index ebaf1512a8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustTiny.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustTiny.png deleted file mode 100644 index 859cd70116..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustTiny.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustTiny_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustTiny_OVERLAY.png deleted file mode 100644 index 3fad40a7e4..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dustTiny_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dust_OVERLAY.png deleted file mode 100644 index 8529b87f57..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/dust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/foil.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/foil.png deleted file mode 100644 index cdce151f9a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/foil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/foil_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/foil_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/foil_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGt.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGt.png deleted file mode 100644 index a7bc0f90f1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGtSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGtSmall.png deleted file mode 100644 index 0fe97b84fd..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGtSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGtSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGtSmall_OVERLAY.png deleted file mode 100644 index 47ab97c308..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGtSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGt_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGt_OVERLAY.png deleted file mode 100644 index 97d42fe104..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gearGt_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gem.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gem.png deleted file mode 100644 index 235bdd740b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gem.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemChipped.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemChipped.png deleted file mode 100644 index 6b7fc73d7a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemChipped.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemChipped_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemChipped_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemChipped_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemExquisite.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemExquisite.png deleted file mode 100644 index fbbe56cb1c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemExquisite.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemExquisite_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemExquisite_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemExquisite_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawed.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawed.png deleted file mode 100644 index 499bf464b3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawed.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawed_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawless.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawless.png deleted file mode 100644 index 925e5f7eea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawless.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawless_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawless_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gemFlawless_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gem_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/gem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet.png deleted file mode 100644 index 9021949091..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingot.png deleted file mode 100644 index 92bc131a2f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble.png deleted file mode 100644 index 678c35518b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotHot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotHot.png deleted file mode 100644 index 6fc93f933b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotHot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotHot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotHot_OVERLAY.png deleted file mode 100644 index ebf9b80323..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotHot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple.png deleted file mode 100644 index b62d361f19..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple.png deleted file mode 100644 index e3ab084563..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple.png deleted file mode 100644 index b8853a770e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingot_OVERLAY.png deleted file mode 100644 index fdd7cd358a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ingot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens.png deleted file mode 100644 index 4b29fca4c1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens_OVERLAY.png deleted file mode 100644 index 20436f976e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/nugget.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/nugget.png deleted file mode 100644 index b1636ee569..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/nugget.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/nugget_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/nugget_OVERLAY.png deleted file mode 100644 index e8e1fef899..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/nugget_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw.png deleted file mode 100644 index 9934452754..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw_OVERLAY.png deleted file mode 100644 index a8a3153147..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plate.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plate.png deleted file mode 100644 index d31178c3c6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDense.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDense.png deleted file mode 100644 index 4666dd5902..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDense.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDense_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDense_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDense_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDouble.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDouble.png deleted file mode 100644 index edb7970730..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDouble.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDouble_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuadruple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuadruple.png deleted file mode 100644 index 6840fd312a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuadruple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuintuple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuintuple.png deleted file mode 100644 index 8a71537dee..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuintuple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateTriple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateTriple.png deleted file mode 100644 index 6e5d95061c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateTriple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateTriple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plateTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plate_OVERLAY.png deleted file mode 100644 index 4b5c1998f0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/plate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ring.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ring.png deleted file mode 100644 index eb9dfd5e21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ring.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ring_OVERLAY.png deleted file mode 100644 index d5a0c95c2e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/ring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor.png deleted file mode 100644 index 14b62252ae..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/round.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/round.png deleted file mode 100644 index 98480bf685..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/round.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/round_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/round_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/round_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/screw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/screw.png deleted file mode 100644 index faca2c6e3d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/screw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/screw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/screw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/screw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/spring.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/spring.png deleted file mode 100644 index df442ed454..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/spring.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/springSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/springSmall.png deleted file mode 100644 index 54b3afb24e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/springSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/springSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/springSmall_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/springSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/spring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/spring_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/spring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stick.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stick.png deleted file mode 100644 index d999179b3c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stick.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stickLong.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stickLong.png deleted file mode 100644 index 1580b911f0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stickLong.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stickLong_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stickLong_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stickLong_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stick_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stick_OVERLAY.png deleted file mode 100644 index f18ad52a73..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/stick_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadArrow.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadArrow.png deleted file mode 100644 index 0f220d5406..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadArrow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadArrow_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadArrow_OVERLAY.png deleted file mode 100644 index 244fde8251..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadArrow_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadAxe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadAxe.png deleted file mode 100644 index b09c2128da..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadAxe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadAxe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadAxe_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadAxe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadBuzzSaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadBuzzSaw.png deleted file mode 100644 index 4a19f4c251..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadBuzzSaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadBuzzSaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadBuzzSaw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadBuzzSaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadChainsaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadChainsaw.png deleted file mode 100644 index 3ab90f5b05..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadChainsaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadChainsaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadChainsaw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadChainsaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadDrill.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadDrill.png deleted file mode 100644 index 0c5f99482c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadDrill.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadDrill_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadDrill_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadDrill_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadFile.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadFile.png deleted file mode 100644 index e52d0a01fa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadFile.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadFile_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadFile_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadFile_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHammer.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHammer.png deleted file mode 100644 index 747f647e7e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHammer.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHammer_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHammer_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHammer_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHoe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHoe.png deleted file mode 100644 index d0dcfd1e5d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHoe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHoe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHoe_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadHoe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet.png deleted file mode 100644 index 5ca5a9b6ed..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPickaxe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPickaxe.png deleted file mode 100644 index d10fab88aa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPickaxe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPickaxe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPickaxe_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPickaxe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPlow.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPlow.png deleted file mode 100644 index c15a8cdbfa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPlow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPlow_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPlow_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadPlow_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSaw.png deleted file mode 100644 index eede998107..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSaw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver.png deleted file mode 100644 index 6b0517b879..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadScrewdriver_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSense.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSense.png deleted file mode 100644 index 06a7479e5f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSense.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSense_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSense_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSense_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadShovel.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadShovel.png deleted file mode 100644 index 89fa86a4ce..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadShovel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadShovel_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadShovel_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadShovel_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering.png deleted file mode 100644 index fa9e379c16..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSword.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSword.png deleted file mode 100644 index 36e515be25..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSword.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSword_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSword_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSword_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadUniversalSpade.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadUniversalSpade.png deleted file mode 100644 index 2f162be760..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadUniversalSpade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadUniversalSpade_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadUniversalSpade_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadUniversalSpade_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadWrench.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadWrench.png deleted file mode 100644 index cde1376f59..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadWrench.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadWrench_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadWrench_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadWrench_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade.png deleted file mode 100644 index c78a1d5570..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/void.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/void.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/void.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/void_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/void_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/void_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/wireFine.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/wireFine.png deleted file mode 100644 index 06f24ab18b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/wireFine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/wireFine_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/wireFine_OVERLAY.png deleted file mode 100644 index 5e9e05d5b0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/wireFine_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cell.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cell.png deleted file mode 100644 index 27d4df7081..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cell.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cellPlasma.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cellPlasma.png deleted file mode 100644 index ce3c6377c7..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cellPlasma.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cellPlasma_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cellPlasma_OVERLAY.png deleted file mode 100644 index 1c93293744..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cellPlasma_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cell_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cell_OVERLAY.png deleted file mode 100644 index f02365b9ff..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/cell_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtDust.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtDust.png deleted file mode 100644 index fad582745d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtDust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtDust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtDust_OVERLAY.png deleted file mode 100644 index 64d56b48ea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtDust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtGem.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtGem.png deleted file mode 100644 index a4418db9e1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtGem.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtGem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtGem_OVERLAY.png deleted file mode 100644 index 9798a597e0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtGem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtIngot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtIngot.png deleted file mode 100644 index 85e42b0cd2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtIngot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtIngot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtIngot_OVERLAY.png deleted file mode 100644 index 2f0577d65f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtIngot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtPlate.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtPlate.png deleted file mode 100644 index 8b48da35d2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtPlate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtPlate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtPlate_OVERLAY.png deleted file mode 100644 index ae6d73b7a6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crateGtPlate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushedCentrifuged_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushedCentrifuged_OVERLAY.png deleted file mode 100644 index 3741866149..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushedCentrifuged_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushedPurified_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushedPurified_OVERLAY.png deleted file mode 100644 index 1918a7fa45..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushedPurified_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushed_OVERLAY.png deleted file mode 100644 index 7cdf09b174..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/crushed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/dustTiny_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/dustTiny_OVERLAY.png deleted file mode 100644 index 03c07f2760..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/dustTiny_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/dust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/dust_OVERLAY.png deleted file mode 100644 index cbc30cc68e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/dust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/foil_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/foil_OVERLAY.png deleted file mode 100644 index f6fa0b94cc..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/foil_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gearGtSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gearGtSmall_OVERLAY.png deleted file mode 100644 index dddb4764ce..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gearGtSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gearGt_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gearGt_OVERLAY.png deleted file mode 100644 index d8471aed5f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gearGt_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemChipped_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemChipped_OVERLAY.png deleted file mode 100644 index c5abe856a0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemChipped_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemExquisite_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemExquisite_OVERLAY.png deleted file mode 100644 index 50d407491e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemExquisite_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemFlawed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemFlawed_OVERLAY.png deleted file mode 100644 index 3561f91a07..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemFlawed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemFlawless_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemFlawless_OVERLAY.png deleted file mode 100644 index 82f557e199..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gemFlawless_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gem_OVERLAY.png deleted file mode 100644 index 55468929e9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/gem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotDouble_OVERLAY.png deleted file mode 100644 index c844854d37..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotHot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotHot_OVERLAY.png deleted file mode 100644 index ebf9b80323..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotHot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuadruple_OVERLAY.png deleted file mode 100644 index 2a63953e92..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuintuple_OVERLAY.png deleted file mode 100644 index 896be7f08e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotTriple_OVERLAY.png deleted file mode 100644 index c086bca2bb..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingot_OVERLAY.png deleted file mode 100644 index c59ef7b1bb..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ingot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/lens.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/lens.png deleted file mode 100644 index 4b29fca4c1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/lens.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/lens_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/lens_OVERLAY.png deleted file mode 100644 index f3bcc922b2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/lens_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/nugget_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/nugget_OVERLAY.png deleted file mode 100644 index 2af89ec304..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/nugget_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateDense_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateDense_OVERLAY.png deleted file mode 100644 index 037d829395..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateDense_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateDouble_OVERLAY.png deleted file mode 100644 index cd358f9d96..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateQuadruple_OVERLAY.png deleted file mode 100644 index de8ae5af6f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateQuintuple_OVERLAY.png deleted file mode 100644 index 2d7a80f45e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateTriple_OVERLAY.png deleted file mode 100644 index f73c531239..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plateTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plate_OVERLAY.png deleted file mode 100644 index f52c654ee5..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/plate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ring_OVERLAY.png deleted file mode 100644 index 5879963ad2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/ring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/rotor_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/rotor_OVERLAY.png deleted file mode 100644 index f0d87d27df..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/rotor_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/round_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/round_OVERLAY.png deleted file mode 100644 index 0916369702..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/round_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/screw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/screw_OVERLAY.png deleted file mode 100644 index c540788917..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/screw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/springSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/springSmall_OVERLAY.png deleted file mode 100644 index a8170f57d6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/springSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/spring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/spring_OVERLAY.png deleted file mode 100644 index fdb0756839..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/spring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/stickLong_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/stickLong_OVERLAY.png deleted file mode 100644 index 54b47c2224..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/stickLong_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/stick_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/stick_OVERLAY.png deleted file mode 100644 index 04634628ac..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/stick_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/wireFine.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/wireFine.png deleted file mode 100644 index 06f24ab18b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/wireFine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/wireFine_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/wireFine_OVERLAY.png deleted file mode 100644 index d5ce76b80f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/Fiery/wireFine_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE.png deleted file mode 100644 index 4523be43b9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtPlastic.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtPlastic.png deleted file mode 100644 index d34a721d96..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtPlastic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtPlastic_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtPlastic_OVERLAY.png deleted file mode 100644 index 3ffb9e31e0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtPlastic_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtWood.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtWood.png deleted file mode 100644 index 20de92b986..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtWood.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtWood_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtWood_OVERLAY.png deleted file mode 100644 index 948953f827..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/arrowGtWood_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt.png deleted file mode 100644 index 8675564a9b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/bolt_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cell.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cell.png deleted file mode 100644 index 27d4df7081..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cell.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cellPlasma.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cellPlasma.png deleted file mode 100644 index ce3c6377c7..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cellPlasma.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cellPlasma_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cellPlasma_OVERLAY.png deleted file mode 100644 index 1c93293744..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cellPlasma_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cell_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cell_OVERLAY.png deleted file mode 100644 index f02365b9ff..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/cell_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtDust.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtDust.png deleted file mode 100644 index fad582745d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtDust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtDust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtDust_OVERLAY.png deleted file mode 100644 index 64d56b48ea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtDust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtGem.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtGem.png deleted file mode 100644 index a4418db9e1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtGem.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtGem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtGem_OVERLAY.png deleted file mode 100644 index 9798a597e0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtGem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtIngot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtIngot.png deleted file mode 100644 index 85e42b0cd2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtIngot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtIngot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtIngot_OVERLAY.png deleted file mode 100644 index 2f0577d65f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtIngot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtPlate.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtPlate.png deleted file mode 100644 index 8b48da35d2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtPlate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtPlate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtPlate_OVERLAY.png deleted file mode 100644 index ae6d73b7a6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crateGtPlate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushed.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushed.png deleted file mode 100644 index 7f49597676..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushed.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedCentrifuged.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedCentrifuged.png deleted file mode 100644 index f74931d42a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedCentrifuged.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedCentrifuged_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedCentrifuged_OVERLAY.png deleted file mode 100644 index 819f43c6f6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedCentrifuged_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified.png deleted file mode 100644 index e2edcad772..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified_OVERLAY.png deleted file mode 100644 index 75b134d3ef..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushed_OVERLAY.png deleted file mode 100644 index 9ee7575a02..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dust.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dust.png deleted file mode 100644 index d1282f4248..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustImpure.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustImpure.png deleted file mode 100644 index 8918e54459..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustImpure.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustImpure_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustImpure_OVERLAY.png deleted file mode 100644 index e60e7b6d18..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustImpure_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustPure.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustPure.png deleted file mode 100644 index 8918e54459..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustPure.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustPure_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustPure_OVERLAY.png deleted file mode 100644 index 496dd33d5b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustPure_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustSmall.png deleted file mode 100644 index f29479bf55..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustSmall_OVERLAY.png deleted file mode 100644 index 9758a35399..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustTiny.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustTiny.png deleted file mode 100644 index 859cd70116..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustTiny.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustTiny_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustTiny_OVERLAY.png deleted file mode 100644 index 9ab216d5d2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dustTiny_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dust_OVERLAY.png deleted file mode 100644 index 4d00229736..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/dust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/foil.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/foil.png deleted file mode 100644 index cdce151f9a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/foil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/foil_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/foil_OVERLAY.png deleted file mode 100644 index 5c94fdce69..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/foil_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGt.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGt.png deleted file mode 100644 index a7bc0f90f1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGtSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGtSmall.png deleted file mode 100644 index 0fe97b84fd..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGtSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGtSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGtSmall_OVERLAY.png deleted file mode 100644 index 47ab97c308..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGtSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGt_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGt_OVERLAY.png deleted file mode 100644 index 97d42fe104..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gearGt_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem.png deleted file mode 100644 index 13a798cdc3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemChipped.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemChipped.png deleted file mode 100644 index 6b7fc73d7a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemChipped.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemChipped_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemChipped_OVERLAY.png deleted file mode 100644 index 9608d2d182..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemChipped_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemExquisite.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemExquisite.png deleted file mode 100644 index fbbe56cb1c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemExquisite.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemExquisite_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemExquisite_OVERLAY.png deleted file mode 100644 index 10d9d54e65..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemExquisite_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawed.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawed.png deleted file mode 100644 index 499bf464b3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawed.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawed_OVERLAY.png deleted file mode 100644 index df8b7b9a75..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawless.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawless.png deleted file mode 100644 index 925e5f7eea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawless.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawless_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawless_OVERLAY.png deleted file mode 100644 index d5845995cc..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gemFlawless_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem_OVERLAY.png deleted file mode 100644 index e1fe9bed43..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet.png deleted file mode 100644 index 9021949091..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingot.png deleted file mode 100644 index 92bc131a2f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble.png deleted file mode 100644 index 678c35518b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotHot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotHot.png deleted file mode 100644 index 6fc93f933b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotHot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotHot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotHot_OVERLAY.png deleted file mode 100644 index ebf9b80323..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotHot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple.png deleted file mode 100644 index b62d361f19..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple.png deleted file mode 100644 index e3ab084563..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple.png deleted file mode 100644 index b8853a770e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingot_OVERLAY.png deleted file mode 100644 index e0a49831b5..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ingot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens.png deleted file mode 100644 index 4b29fca4c1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens_OVERLAY.png deleted file mode 100644 index 20436f976e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/nugget.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/nugget.png deleted file mode 100644 index b1636ee569..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/nugget.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/nugget_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/nugget_OVERLAY.png deleted file mode 100644 index 78caf2a7ee..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/nugget_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw.png deleted file mode 100644 index d62139a374..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw_OVERLAY.png deleted file mode 100644 index 88fa0ebcc5..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plate.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plate.png deleted file mode 100644 index d31178c3c6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDense.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDense.png deleted file mode 100644 index 4666dd5902..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDense.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDense_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDense_OVERLAY.png deleted file mode 100644 index b3441fbf19..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDense_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDouble.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDouble.png deleted file mode 100644 index edb7970730..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDouble.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDouble_OVERLAY.png deleted file mode 100644 index 4253929300..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuadruple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuadruple.png deleted file mode 100644 index 6840fd312a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuadruple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuintuple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuintuple.png deleted file mode 100644 index 8a71537dee..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuintuple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateTriple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateTriple.png deleted file mode 100644 index 6e5d95061c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateTriple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateTriple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plateTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plate_OVERLAY.png deleted file mode 100644 index 574c36552c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/plate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ring.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ring.png deleted file mode 100644 index eb9dfd5e21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ring.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ring_OVERLAY.png deleted file mode 100644 index d5a0c95c2e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/ring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor.png deleted file mode 100644 index 14b62252ae..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/round.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/round.png deleted file mode 100644 index 98480bf685..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/round.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/round_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/round_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/round_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/screw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/screw.png deleted file mode 100644 index faca2c6e3d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/screw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/screw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/screw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/screw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/spring.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/spring.png deleted file mode 100644 index df442ed454..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/spring.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/springSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/springSmall.png deleted file mode 100644 index 54b3afb24e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/springSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/springSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/springSmall_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/springSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/spring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/spring_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/spring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stick.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stick.png deleted file mode 100644 index d999179b3c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stick.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stickLong.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stickLong.png deleted file mode 100644 index 1580b911f0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stickLong.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stickLong_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stickLong_OVERLAY.png deleted file mode 100644 index 99a3fb2e2b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stickLong_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stick_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stick_OVERLAY.png deleted file mode 100644 index 3de14933fa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/stick_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadArrow.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadArrow.png deleted file mode 100644 index 0f220d5406..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadArrow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadArrow_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadArrow_OVERLAY.png deleted file mode 100644 index 244fde8251..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadArrow_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadAxe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadAxe.png deleted file mode 100644 index b09c2128da..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadAxe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadAxe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadAxe_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadAxe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadBuzzSaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadBuzzSaw.png deleted file mode 100644 index 4a19f4c251..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadBuzzSaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadBuzzSaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadBuzzSaw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadBuzzSaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadChainsaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadChainsaw.png deleted file mode 100644 index 3ab90f5b05..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadChainsaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadChainsaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadChainsaw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadChainsaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadDrill.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadDrill.png deleted file mode 100644 index 0c5f99482c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadDrill.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadDrill_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadDrill_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadDrill_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadFile.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadFile.png deleted file mode 100644 index e52d0a01fa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadFile.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadFile_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadFile_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadFile_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHammer.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHammer.png deleted file mode 100644 index 747f647e7e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHammer.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHammer_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHammer_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHammer_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHoe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHoe.png deleted file mode 100644 index d0dcfd1e5d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHoe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHoe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHoe_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadHoe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet.png deleted file mode 100644 index 5ca5a9b6ed..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPickaxe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPickaxe.png deleted file mode 100644 index d10fab88aa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPickaxe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPickaxe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPickaxe_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPickaxe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPlow.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPlow.png deleted file mode 100644 index c15a8cdbfa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPlow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPlow_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPlow_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadPlow_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSaw.png deleted file mode 100644 index eede998107..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSaw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver.png deleted file mode 100644 index 6b0517b879..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadScrewdriver_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSense.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSense.png deleted file mode 100644 index 06a7479e5f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSense.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSense_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSense_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSense_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadShovel.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadShovel.png deleted file mode 100644 index 89fa86a4ce..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadShovel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadShovel_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadShovel_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadShovel_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering.png deleted file mode 100644 index fa9e379c16..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSword.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSword.png deleted file mode 100644 index 36e515be25..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSword.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSword_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSword_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSword_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadUniversalSpade.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadUniversalSpade.png deleted file mode 100644 index 2f162be760..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadUniversalSpade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadUniversalSpade_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadUniversalSpade_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadUniversalSpade_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadWrench.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadWrench.png deleted file mode 100644 index cde1376f59..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadWrench.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadWrench_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadWrench_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadWrench_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade.png deleted file mode 100644 index 4523be43b9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/void.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/void.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/void.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/void_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/void_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/void_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/wireFine.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/wireFine.png deleted file mode 100644 index 06f24ab18b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/wireFine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/wireFine_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/wireFine_OVERLAY.png deleted file mode 100644 index 5e9e05d5b0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/wireFine_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE.png deleted file mode 100644 index 4523be43b9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtPlastic.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtPlastic.png deleted file mode 100644 index d34a721d96..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtPlastic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtPlastic_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtPlastic_OVERLAY.png deleted file mode 100644 index 3ffb9e31e0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtPlastic_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtWood.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtWood.png deleted file mode 100644 index 20de92b986..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtWood.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtWood_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtWood_OVERLAY.png deleted file mode 100644 index 948953f827..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/arrowGtWood_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt.png deleted file mode 100644 index 8675564a9b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/bolt_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cell.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cell.png deleted file mode 100644 index 27d4df7081..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cell.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cellPlasma.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cellPlasma.png deleted file mode 100644 index ce3c6377c7..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cellPlasma.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cellPlasma_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cellPlasma_OVERLAY.png deleted file mode 100644 index 1c93293744..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cellPlasma_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cell_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cell_OVERLAY.png deleted file mode 100644 index f02365b9ff..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/cell_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtDust.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtDust.png deleted file mode 100644 index fad582745d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtDust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtDust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtDust_OVERLAY.png deleted file mode 100644 index 64d56b48ea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtDust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtGem.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtGem.png deleted file mode 100644 index a4418db9e1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtGem.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtGem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtGem_OVERLAY.png deleted file mode 100644 index 9798a597e0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtGem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtIngot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtIngot.png deleted file mode 100644 index 85e42b0cd2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtIngot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtIngot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtIngot_OVERLAY.png deleted file mode 100644 index 2f0577d65f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtIngot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtPlate.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtPlate.png deleted file mode 100644 index 8b48da35d2..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtPlate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtPlate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtPlate_OVERLAY.png deleted file mode 100644 index ae6d73b7a6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crateGtPlate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed.png deleted file mode 100644 index 6f893e05b7..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedCentrifuged.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedCentrifuged.png deleted file mode 100644 index f74931d42a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedCentrifuged.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedCentrifuged_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedCentrifuged_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedCentrifuged_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified.png deleted file mode 100644 index 12a99bfde1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed_OVERLAY.png deleted file mode 100644 index 2a7b9e6d6c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dust.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dust.png deleted file mode 100644 index d1282f4248..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustImpure.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustImpure.png deleted file mode 100644 index 8918e54459..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustImpure.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustImpure_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustImpure_OVERLAY.png deleted file mode 100644 index e60e7b6d18..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustImpure_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustPure.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustPure.png deleted file mode 100644 index 8918e54459..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustPure.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustPure_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustPure_OVERLAY.png deleted file mode 100644 index 496dd33d5b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustPure_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustSmall.png deleted file mode 100644 index f29479bf55..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustSmall_OVERLAY.png deleted file mode 100644 index ebaf1512a8..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustTiny.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustTiny.png deleted file mode 100644 index 859cd70116..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustTiny.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustTiny_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustTiny_OVERLAY.png deleted file mode 100644 index 3fad40a7e4..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dustTiny_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dust_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dust_OVERLAY.png deleted file mode 100644 index 8529b87f57..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/dust_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/foil.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/foil.png deleted file mode 100644 index cdce151f9a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/foil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/foil_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/foil_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/foil_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGt.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGt.png deleted file mode 100644 index a7bc0f90f1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGtSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGtSmall.png deleted file mode 100644 index 0fe97b84fd..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGtSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGtSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGtSmall_OVERLAY.png deleted file mode 100644 index 47ab97c308..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGtSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGt_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGt_OVERLAY.png deleted file mode 100644 index 97d42fe104..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gearGt_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gem.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gem.png deleted file mode 100644 index 721d19529e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gem.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemChipped.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemChipped.png deleted file mode 100644 index 6b7fc73d7a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemChipped.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemChipped_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemChipped_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemChipped_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemExquisite.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemExquisite.png deleted file mode 100644 index fbbe56cb1c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemExquisite.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemExquisite_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemExquisite_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemExquisite_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawed.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawed.png deleted file mode 100644 index 499bf464b3..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawed.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawed_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawed_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawed_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawless.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawless.png deleted file mode 100644 index 925e5f7eea..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawless.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawless_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawless_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gemFlawless_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gem_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gem_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/gem_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet.png deleted file mode 100644 index 38a7fc65c9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingot.png deleted file mode 100644 index 92bc131a2f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble.png deleted file mode 100644 index 678c35518b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotHot.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotHot.png deleted file mode 100644 index 6fc93f933b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotHot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotHot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotHot_OVERLAY.png deleted file mode 100644 index ebf9b80323..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotHot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple.png deleted file mode 100644 index b62d361f19..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple.png deleted file mode 100644 index e3ab084563..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple.png deleted file mode 100644 index b8853a770e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingotTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingot_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingot_OVERLAY.png deleted file mode 100644 index fdd7cd358a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ingot_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/lens.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/lens.png deleted file mode 100644 index 4b29fca4c1..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/lens.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/lens_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/lens_OVERLAY.png deleted file mode 100644 index 23b3ac8f76..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/lens_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/nugget.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/nugget.png deleted file mode 100644 index b1636ee569..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/nugget.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/nugget_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/nugget_OVERLAY.png deleted file mode 100644 index e8e1fef899..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/nugget_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw.png deleted file mode 100644 index d62139a374..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw_OVERLAY.png deleted file mode 100644 index fbc3a6800e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plate.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plate.png deleted file mode 100644 index d31178c3c6..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDense.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDense.png deleted file mode 100644 index 4666dd5902..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDense.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDense_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDense_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDense_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDouble.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDouble.png deleted file mode 100644 index edb7970730..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDouble.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDouble_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDouble_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateDouble_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuadruple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuadruple.png deleted file mode 100644 index 6840fd312a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuadruple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuadruple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuadruple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuadruple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuintuple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuintuple.png deleted file mode 100644 index 8a71537dee..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuintuple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuintuple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuintuple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateQuintuple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateTriple.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateTriple.png deleted file mode 100644 index 6e5d95061c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateTriple.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateTriple_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateTriple_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plateTriple_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plate_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plate_OVERLAY.png deleted file mode 100644 index 4b5c1998f0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/plate_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ring.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ring.png deleted file mode 100644 index eb9dfd5e21..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ring.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ring_OVERLAY.png deleted file mode 100644 index d5a0c95c2e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/ring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor.png deleted file mode 100644 index 751111417a..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/round.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/round.png deleted file mode 100644 index 98480bf685..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/round.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/round_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/round_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/round_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/screw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/screw.png deleted file mode 100644 index faca2c6e3d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/screw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/screw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/screw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/screw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/spring.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/spring.png deleted file mode 100644 index df442ed454..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/spring.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/springSmall.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/springSmall.png deleted file mode 100644 index 54b3afb24e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/springSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/springSmall_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/springSmall_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/springSmall_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/spring_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/spring_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/spring_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stick.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stick.png deleted file mode 100644 index d999179b3c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stick.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stickLong.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stickLong.png deleted file mode 100644 index 1580b911f0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stickLong.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stickLong_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stickLong_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stickLong_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stick_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stick_OVERLAY.png deleted file mode 100644 index f18ad52a73..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/stick_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadArrow.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadArrow.png deleted file mode 100644 index 0f220d5406..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadArrow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadArrow_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadArrow_OVERLAY.png deleted file mode 100644 index 244fde8251..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadArrow_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadAxe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadAxe.png deleted file mode 100644 index b09c2128da..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadAxe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadAxe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadAxe_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadAxe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadBuzzSaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadBuzzSaw.png deleted file mode 100644 index 4a19f4c251..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadBuzzSaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadBuzzSaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadBuzzSaw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadBuzzSaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadChainsaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadChainsaw.png deleted file mode 100644 index 3ab90f5b05..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadChainsaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadChainsaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadChainsaw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadChainsaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadDrill.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadDrill.png deleted file mode 100644 index 0c5f99482c..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadDrill.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadDrill_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadDrill_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadDrill_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadFile.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadFile.png deleted file mode 100644 index e52d0a01fa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadFile.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadFile_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadFile_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadFile_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHammer.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHammer.png deleted file mode 100644 index 747f647e7e..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHammer.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHammer_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHammer_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHammer_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHoe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHoe.png deleted file mode 100644 index d0dcfd1e5d..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHoe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHoe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHoe_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadHoe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet.png deleted file mode 100644 index 29bd613285..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPickaxe.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPickaxe.png deleted file mode 100644 index d10fab88aa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPickaxe.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPickaxe_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPickaxe_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPickaxe_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPlow.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPlow.png deleted file mode 100644 index c15a8cdbfa..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPlow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPlow_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPlow_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadPlow_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSaw.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSaw.png deleted file mode 100644 index eede998107..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSaw.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSaw_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSaw_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSaw_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver.png deleted file mode 100644 index 6b0517b879..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadScrewdriver_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSense.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSense.png deleted file mode 100644 index 06a7479e5f..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSense.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSense_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSense_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSense_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadShovel.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadShovel.png deleted file mode 100644 index 89fa86a4ce..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadShovel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadShovel_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadShovel_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadShovel_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering.png deleted file mode 100644 index 242dbd14fc..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSword.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSword.png deleted file mode 100644 index 36e515be25..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSword.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSword_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSword_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSword_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadUniversalSpade.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadUniversalSpade.png deleted file mode 100644 index 2f162be760..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadUniversalSpade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadUniversalSpade_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadUniversalSpade_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadUniversalSpade_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadWrench.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadWrench.png deleted file mode 100644 index cde1376f59..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadWrench.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadWrench_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadWrench_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadWrench_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade.png deleted file mode 100644 index 4523be43b9..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/void.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/void.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/void.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/void_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/void_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/void_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/wireFine.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/wireFine.png deleted file mode 100644 index 06f24ab18b..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/wireFine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/wireFine_OVERLAY.png b/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/wireFine_OVERLAY.png deleted file mode 100644 index 5e9e05d5b0..0000000000 Binary files a/gtpp/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/wireFine_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/lang/de_DE.lang b/gtpp/src/main/resources/assets/ic2/lang/de_DE.lang deleted file mode 100644 index 2d562c59e7..0000000000 --- a/gtpp/src/main/resources/assets/ic2/lang/de_DE.lang +++ /dev/null @@ -1,29 +0,0 @@ -ic2.itemEnergeticRotor=Kinetischer Getriebe-Rotor (Energische Legierung) -ic2.itemTungstenSteelRotor=Kinetischer Getriebe-Rotor (Wolframstahl) -ic2.itemVibrantRotor=Kinetischer Getriebe-Rotor (Schwingende Legierung) -ic2.itemIridiumRotor=Kinetischer Getriebe-Rotor (Iridium) - -ic2.itemMagnaliumRotor=Kinetischer Getriebe-Rotor (Magnalium) -ic2.itemUltimetRotor=Kinetischer Getriebe-Rotor (Ultimet) - -ic2.blockGenerator=RTG ENERGIE -ic2.blockGenerator.0=RTG ENERGIE -ic2.blockGenerator.1=KINETISCHE ENERGIE -ic2.blockGenerator.2=FEHLER ENERGIE -ic2.blockGenerator.3=MEHR FEHLER ENERGIE - -ic2.blockRTGenerator2=RTG ENERGIE 2 -ic2.blockKineticGenerator2=KINETISCHE ENERGIE 2 - -ic2.HydrofluoricAcid=Zelle mit industriell verstärkter Flusssäure -ic2.SulfurDioxide=Zelle mit Schwefeldioxid -ic2.SulfuricApatite=Zelle mit schwefligem Apatit -ic2.SulfurousAcid=Zelle mit Schwefelsäure - -ic2.HydrogenChloride=Zelle mit industriell verstärkter Salzsäure -ic2.LithiumHydroxide=Zelle mit Lithiumhydroxid -ic2.SulfuricLithium=Zelle mit schwefeligem Lithium - -ic2.UraniumHexaFluoride=Zelle mit Uran-Hexafluorid -ic2.ThoriumTetraFluoride=Zelle mit Thorium-Tetrafluorid -ic2.UraniumTetraFluoride=Zelle mit Uran-Tetrafluorid diff --git a/gtpp/src/main/resources/assets/ic2/lang/en_US.lang b/gtpp/src/main/resources/assets/ic2/lang/en_US.lang deleted file mode 100644 index 9b44f2d14e..0000000000 --- a/gtpp/src/main/resources/assets/ic2/lang/en_US.lang +++ /dev/null @@ -1,35 +0,0 @@ -ic2.itemEnergeticRotor=Kinetic Gearbox Rotor (Energetic Alloy) -ic2.itemTungstenSteelRotor=Kinetic Gearbox Rotor (TungstenSteel) -ic2.itemVibrantRotor=Kinetic Gearbox Rotor (Vibrant Alloy) -ic2.itemIridiumRotor=Kinetic Gearbox Rotor (Iridium) - -ic2.itemMagnaliumRotor=Kinetic Gearbox Rotor (Magnalium) -ic2.itemUltimetRotor=Kinetic Gearbox Rotor (Ultimet) - -ic2.blockGenerator=RTG POWARZ -ic2.blockGenerator.0=RTG POWA -ic2.blockGenerator.1=KINETIC POWA -ic2.blockGenerator.2=ERROR POWA -ic2.blockGenerator.3=MOAR ERROR POWA - -ic2.blockRTGenerator2=RTG POWARZ 2 -ic2.blockKineticGenerator2=KINETIC POWA 2 - -ic2.HydrofluoricAcid=Industrial Strength Hydrofluoric Acid Cell -ic2.SulfurDioxide=Sulfur Dioxide Cell -ic2.SulfuricApatite=Sulfuric Apatite Cell -ic2.SulfurousAcid=Sulfurous Acid Cell - -ic2.HydrogenChloride=Industrial Strength Hydrogen Chloride Cell -ic2.LithiumHydroxide=Lithium Hydroxide Cell -ic2.SulfuricLithium=Sulfuric Lithium Cell - -ic2.UraniumHexaFluoride=Uranium Hexafluoride Cell -ic2.ThoriumTetraFluoride=Thorium Tetrafluoride Cell -ic2.UraniumTetraFluoride=Uranium Tetrafluoride Cell - - -ic2.itemArmorHazmatHelmetEx=Advanced Hazmat Helmet -ic2.itemArmorHazmatChestplateEx=Advanced Hazmat Suit -ic2.itemArmorHazmatLeggingsEx=Advanced Hazmat Leggings -ic2.itemArmorRubBootsEx=Advanced Hazmat Boots \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/ic2/lang/zh_CN.lang b/gtpp/src/main/resources/assets/ic2/lang/zh_CN.lang deleted file mode 100644 index 384e45f1ff..0000000000 --- a/gtpp/src/main/resources/assets/ic2/lang/zh_CN.lang +++ /dev/null @@ -1,35 +0,0 @@ -ic2.itemEnergeticRotor=动力齿轮转子(充能合金) -ic2.itemTungstenSteelRotor=动力齿轮转子(钨钢) -ic2.itemVibrantRotor=动力齿轮转子(脉冲合金) -ic2.itemIridiumRotor=动力齿轮转子(铱) - -ic2.itemMagnaliumRotor=动力齿轮转子(镁铝合金) -ic2.itemUltimetRotor=动力齿轮转子(哈氏合金) - -ic2.blockGenerator=RTG POWARZ -ic2.blockGenerator.0=RTG POWA -ic2.blockGenerator.1=KINETIC POWA -ic2.blockGenerator.2=ERROR POWA -ic2.blockGenerator.3=MOAR ERROR POWA - -ic2.blockRTGenerator2=RTG POWARZ 2 -ic2.blockKineticGenerator2=KINETIC POWA 2 - -ic2.HydrofluoricAcid=工业强化氢氟酸单元 -ic2.SulfurDioxide=二氧化硫单元 -ic2.SulfuricApatite=硫酸磷灰石单元 -ic2.SulfurousAcid=亚硫酸单元 - -ic2.HydrogenChloride=工业强化氯化氢单元 -ic2.LithiumHydroxide=氢氧化锂单元 -ic2.SulfuricLithium=硫酸锂单元 - -ic2.UraniumHexaFluoride=六氟化铀单元 -ic2.ThoriumTetraFluoride=四氟化钍单元 -ic2.UraniumTetraFluoride=四氟化铀单元 - - -ic2.itemArmorHazmatHelmetEx=高级防化头盔 -ic2.itemArmorHazmatChestplateEx=高级防化服 -ic2.itemArmorHazmatLeggingsEx=高级防化护腿 -ic2.itemArmorRubBootsEx=高级防化靴子 \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/ic2/textures/armor/hazmatEx_1.png b/gtpp/src/main/resources/assets/ic2/textures/armor/hazmatEx_1.png deleted file mode 100644 index 2275007fbe..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/armor/hazmatEx_1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/armor/hazmatEx_2.png b/gtpp/src/main/resources/assets/ic2/textures/armor/hazmatEx_2.png deleted file mode 100644 index 758adafdf2..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/armor/hazmatEx_2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png deleted file mode 100644 index ed907728d4..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/HydrogenChloride.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/HydrogenChloride.png deleted file mode 100644 index 135d293637..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/HydrogenChloride.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/LithiumHydroxide.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/LithiumHydroxide.png deleted file mode 100644 index 7fefe04c5e..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/LithiumHydroxide.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfurDioxide.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfurDioxide.png deleted file mode 100644 index f8bf8329b5..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfurDioxide.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfuricApatite.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfuricApatite.png deleted file mode 100644 index 5c62c379ab..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfuricApatite.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfuricLithium.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfuricLithium.png deleted file mode 100644 index b8d02729ba..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfuricLithium.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfurousAcid.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfurousAcid.png deleted file mode 100644 index 53f8604e13..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/SulfurousAcid.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png deleted file mode 100644 index 413179e396..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png deleted file mode 100644 index 2fe0c893fe..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png b/gtpp/src/main/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png deleted file mode 100644 index ba2d239308..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatChestplateEx.png b/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatChestplateEx.png deleted file mode 100644 index 742d1d7035..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatChestplateEx.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatHelmetEx.png b/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatHelmetEx.png deleted file mode 100644 index 5340375595..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatHelmetEx.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatLeggingsEx.png b/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatLeggingsEx.png deleted file mode 100644 index 80cdca9b23..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorHazmatLeggingsEx.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorRubBootsEx.png b/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorRubBootsEx.png deleted file mode 100644 index 901a8fbc35..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/itemArmorRubBootsEx.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png deleted file mode 100644 index 9fef2ec178..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png deleted file mode 100644 index 1f1770ff1c..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemMagnaliumRotor.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemMagnaliumRotor.png deleted file mode 100644 index d1e2970117..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemMagnaliumRotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png deleted file mode 100644 index aec47b7c6b..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemUltimetRotor.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemUltimetRotor.png deleted file mode 100644 index 03704d5d12..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemUltimetRotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png deleted file mode 100644 index 34949af9a6..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png deleted file mode 100644 index 045470a2b1..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png deleted file mode 100644 index b967b4f1dd..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png deleted file mode 100644 index a638c0389f..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png deleted file mode 100644 index 7dd2e69f7e..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png deleted file mode 100644 index b6c3f36716..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png b/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png deleted file mode 100644 index 321de66ff9..0000000000 Binary files a/gtpp/src/main/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/death.ogg b/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/death.ogg deleted file mode 100644 index 412fe5c591..0000000000 Binary files a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/death.ogg and /dev/null differ diff --git a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit1.ogg b/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit1.ogg deleted file mode 100644 index 91ec4976b9..0000000000 Binary files a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit1.ogg and /dev/null differ diff --git a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit2.ogg b/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit2.ogg deleted file mode 100644 index 0bdc21aa52..0000000000 Binary files a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit2.ogg and /dev/null differ diff --git a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit3.ogg b/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit3.ogg deleted file mode 100644 index b7d4429989..0000000000 Binary files a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit3.ogg and /dev/null differ diff --git a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit4.ogg b/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit4.ogg deleted file mode 100644 index c810364be4..0000000000 Binary files a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/hit4.ogg and /dev/null differ diff --git a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle1.ogg b/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle1.ogg deleted file mode 100644 index 4596d850c1..0000000000 Binary files a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle1.ogg and /dev/null differ diff --git a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle2.ogg b/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle2.ogg deleted file mode 100644 index 9d60d58843..0000000000 Binary files a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle2.ogg and /dev/null differ diff --git a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle3.ogg b/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle3.ogg deleted file mode 100644 index b5134e84d9..0000000000 Binary files a/gtpp/src/main/resources/assets/minecraft/sounds/mob/witch/idle3.ogg and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/lang/de_DE.lang b/gtpp/src/main/resources/assets/miscutils/lang/de_DE.lang deleted file mode 100644 index e9e5be9332..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/lang/de_DE.lang +++ /dev/null @@ -1,1899 +0,0 @@ -//GT++ Items - - -//Creative Tabs -itemGroup.MiscUtilBlockTab=[GT++] Blöcke -itemGroup.MiscUtilMiscTab=[GT++] Gegenstände -itemGroup.MiscUtilCombatTab=[GT++] Kampf -itemGroup.MiscUtilToolsTab=[GT++] Werkzeuge -itemGroup.MiscUtilMachineTab=[GT++] Maschinen -itemGroup.MiscUtilOtherTab=[GT++] Gegenstände II -itemGroup.MiscUtilBOP=[GT++] Biomes O'Plenty Gegenstände - -//Debug -item.AAA_Broken.name=[Nicht implementierter Gegenstand] Bitte melde dieses Rezept auf Github. -item.itemBedLocator_Base.name=Bett-Lokalisierer [NBT Test] -item.itemBaseItemWithCharge.name=Aufladbarer Basisgegenstand -item.miscutils_itemDebugShapeSpawner.name=[Debug] Formen - -//Fluids -tile.fluidSludge.name=Stehendes Abwasser -tile.fluidSludge.0.name=Stehendes Abwasser - -//Death Messages -death.attack.plasmabolt=%s wurde durch brennend heißes Plasma getötet. -death.attack.plasmabolt.player=%1$s wurde von %2$s mit Hilfe von Plasma getötet. - -//Alternative Materials -item.itemPlateBatteryAlloy.name=Platte aus Batterie-Legierung -item.itemIngotBatteryAlloy.name=Barren aus Batterie-Legierung -item.itemStickyRubber.name=Gumlet aus klebrigem Gummi - -//Unused Fuel rods -item.itemFuelRod_Empty.name=Leeres Brennelement -item.itemFuelRod_Thorium.name=Thorium-Brennelement -item.itemFuelRod_Uranium.name=Uran-Brennelement -item.itemFuelRod_Plutonium.name=Plutonium-Brennelement - -//Entities -entity.constructStaballoy.name=Stablegierungskonstrukt -entity.sickBlaze.name=Infizierter Fanatiker - -//Tile Entities -tile.blockToolBuilder.name=GregTech Werkzeug-Konstrukteur - -//Tools -item.itemBufferCore.name=Pufferkern -item.itemStaballoyPickaxe.name=Tunnelgräber -item.itemStaballoyAxe.name=Baumfäller -item.itemSandstoneHammer.name=Bruchsteinbrecher - -//Thermal Foundation Stuff -item.MiscUtils.bucket.bucketPyrotheum.name=Eimer mit flammendem Pyrotheum -item.MiscUtils.bucket.bucketCryotheum.name=Eimer mit gelenem Kryotheum -item.MiscUtils.bucket.bucketEnder.name=Eimer mit resonantem Ender -item.MiscUtils.material.dustPyrotheum.name=Pyrotheumstaub -item.MiscUtils.material.dustCryotheum.name=Kryotheumstaub -item.MiscUtils.material.rodBlizz.name=Blizzrute -item.MiscUtils.material.dustBlizz.name=Blizzstaub -tile.MiscUtils.fluid.pyrotheum.name=Flammendes Pyrotheum -tile.MiscUtils.fluid.cryotheum.name=Gelenes Kryotheum -tile.miscutils.fluid.ender.name=Resonantes Ender - -//Forestry Stuff -item.frameAccelerated.name=Beschleunigter Rahmen -item.frameVoid.name=Nichts-Rahmen -item.frameMutagenic.name=Erbgutverändernder Rahmen -item.frameBusy.name=Arbeitender Rahmen -item.frameChocolate.name=Schokoladiger Rahmen -item.frameRestraint.name=Zurückhaltender Rahmen -item.frameSoul.name=Seelen-Rahmen -item.frameHealing.name=Heilender Rahmen -item.frameNova.name=Nova-Rahmen -item.frameArborists.name=Försters Rahmen -item.frameDecaying.name=Zersetzender Rahmen -item.frameSlowing.name=Lähmender Rahmen -item.frameStabilizing.name=Stabilisierender Rahmen -item.frameUseless.name=Nutzloser Ramen - -//IC2 stuff -item.itemEnergeticRotorBlade.name=Rotorblatt aus energischer Legierung -item.itemTungstenSteelRotorBlade.name=Rotorblatt aus Wolframstahl -item.itemVibrantRotorBlade.name=Rotorblatt aus schwingender Legierung -item.itemIridiumRotorBlade.name=Rotorblatt aus Iridium -item.itemEnergeticShaft.name=Welle aus energischer Legierung -item.itemTungstenSteelShaft.name=Welle aus Wolframstahl -item.itemVibrantShaft.name=Welle aus schwingender Legierung -item.itemIridiumShaft.name=Welle aus Iridium -item.itemMagnaliumRotorBlade.name=Rotorblatt aus Magnalium -item.itemUltimetRotorBlade.name=Rotorblatt aus Ultimet -item.itemMagnaliumShaft.name=Welle aus Magnalium -item.itemUltimetShaft.name=Welle aus Ultimet - - -//Misc Items -item.itemPLACEHOLDER_Circuit.name=Quark-Manipulator (UV) -item.itemPlateEnrichedSoularium.name=Platte aus angereichertem Soularium -item.itemHeliumBlob.name=Geheimnisvolle Wasserstoffsubstanz -item.itemAlkalusDisk.name=Alkalus-Schallplatte - -//Misc Blocks -tile.blockCompressedObsidian.0.name=Komprimierter Obsidian (9) -tile.blockCompressedObsidian.1.name=Doppelt-Komprimierter Obsidian (81) -tile.blockCompressedObsidian.2.name=Dreifach-Komprimierter Obsidian (729) -tile.blockCompressedObsidian.3.name=Vierfach-Komprimierter Obsidian (6561) -tile.blockCompressedObsidian.4.name=Fünffach-Komprimierter Obsidian (59049) -tile.blockCompressedObsidian.5.name=Umgekehrter Obsidian -tile.blockNet.name=Netz - - - -//Meta Tool -MU-metaitem.01.0.name=MU-metaitem.01.0.name - -//Cells -item.SulfurDioxide.name=Hochwertige Schwefeldioxidzelle -item.Fertiliser.name=Düngemittelzelle -item.UN32Fertiliser.name=UN-32 Düngemittelzelle -item.UN18Fertiliser.name=UN-18 Düngemittelzelle -item.RaisinJuice.name=Rosinensaftzelle - -//Resources -item.itemStickyRubber.name=Gumlet aus klebrigem Gummi -item.itemCoalCoke.name=Verkokste Kohle -item.itemHydrogenBlob.name=Mysteriöses Wasserstofftröpfchen -item.itemHeliumBlob.name=Mysteriöse Wasserstoffsubstanz - -//Normal Items -item.itemAlkalusDisk.name=Alkalus-Schallplatte -item.itemSimpleFiremaker.name=Einfache Zündhilfe -item.itemFiber.name=Pflanzenfaser -item.itemRope.name=Tau -item.BackpackRed.name=Roter Rucksack -item.BackpackGreen.name=Grüner Rucksack -item.BackpackBlue.name=Blauer Rucksack -item.BackpackYellow.name=Gelber Rucksack -item.BackpackPurple.name=Lila Rucksack -item.BackpackCyan.name=Cyaner Rucksack -item.BackpackMaroon.name=Kastanienbrauner Rucksack -item.BackpackOlive.name=Olivengrüner Rucksack -item.BackpackDarkGreen.name=Dunkelgrüner Rucksack -item.BackpackDarkPurple.name=Dunkellila Rucksack -item.BackpackTeal.name=Blaugrüner Rucksack -item.BackpackNavy.name=Navy Rucksack -item.BackpackSilver.name=Silberner Rucksack -item.BackpackGray.name=Grauer Rucksack -item.BackpackBlack.name=Schwarzer Rucksack -item.BackpackWhite.name=Weißer Rucksack -item.itemBlueprint.name=Blaupause [Ich bin nutzlos] -item.itemGemShards.name=Diamantscherbe -item.itemHalfCompleteCasings.name=Halb-fertige Hülle I -item.itemSulfuricPotion.name=Werfbare Phiole mit Schwefelsäure -item.itemHydrofluoricPotion.name=Werfbare Phiole mit Flusssäure - - - -//Material Items -item.itemDustGadolinium.name=Gadolinium-Staub -item.itemDustSmallGadolinium.name=Kleines Häufchen Gadolinium-Staub -item.itemDustTinyGadolinium.name=Winziges Häufchen Gadolinium-Staub -item.itemDustYtterbium.name=Ytterbium-Staub -item.itemDustSmallYtterbium.name=Kleines Häufchen Ytterbium-Staub -item.itemDustTinyYtterbium.name=Winziges Häufchen Ytterbium-Staub -item.itemDustSamarium.name=Samarium-Staub -item.itemDustSmallSamarium.name=Kleines Häufchen Samarium-Staub -item.itemDustTinySamarium.name=Winziges Häufchen Samarium-Staub -item.itemDustLanthanum.name=Lanthan-Staub -item.itemDustSmallLanthanum.name=Kleines Häufchen Lanthan-Staub -item.itemDustTinyLanthanum.name=Winziges Häufchen Lanthan-Staub -item.itemCellNeon.name=Neon-Zelle -item.itemCellGermanium.name=Germanium-Zelle -item.itemCellSelenium.name=Selen-Zelle -item.itemCellBromine.name=Brom-Zelle -item.itemCellKrypton.name=Krypton-Zelle -item.itemCellZirconium.name=Zirkonium-Zelle -item.itemCellTechnetium.name=Technetium-Zelle -item.itemCellRuthenium.name=Ruthenium-Zelle -item.itemCellRhodium.name=Rhodium-Zelle -item.itemCellIodine.name=Iod-Zelle -item.itemCellXenon.name=Xenon-Zelle -item.itemCellHafnium.name=Hafnium-Zelle -item.itemCellRhenium.name=Rhenium-Zelle -item.itemCellThallium.name=Thallium-Zelle -item.itemCellPolonium.name=Polonium-Zelle -item.itemCellAstatine.name=Astat-Zelle -item.itemCellFrancium.name=Francium-Zelle -item.itemCellRadium.name=Radium-Zelle -item.itemCellActinium.name=Actinium-Zelle -item.itemCellProtactinium.name=Protactinium-Zelle -item.itemCellNeptunium.name=Neptunium-Zelle -item.itemCellCurium.name=Curium-Zelle -item.itemCellBerkelium.name=Berkelium-Zelle -item.itemCellCalifornium.name=Californium-Zelle -item.itemCellEinsteinium.name=Einsteinium-Zelle -item.itemCellFermium.name=Fermium-Zelle -item.itemCellRefinedTrinium.name=Raffinierte Trinium-Zelle -item.itemIngotSelenium.name=Selen-Barren -item.itemDustSelenium.name=Selen-Staub -item.itemDustTinySelenium.name=Winziges Häufchen Selen-Staub -item.itemDustSmallSelenium.name=Kleines Häufchen Selen-Staub -item.itemNuggetSelenium.name=Selen-Nugget -item.itemPlateSelenium.name=Selen-Platte -item.itemPlateDoubleSelenium.name=Doppelte Selen-Platte -item.itemBoltSelenium.name=Selen-Bolzen -item.itemRodSelenium.name=Selen-Stange -item.itemRodLongSelenium.name=Lange Selen-Stange -item.itemRingSelenium.name=Selen-Ring -item.itemScrewSelenium.name=Selen-Schraube -item.itemRotorSelenium.name=Selen-Rotor -item.itemGearSelenium.name=Selen-Zahnrad -item.itemCellUranium232.name=Uran-232-Zelle -item.itemCellUranium233.name=Uran-233-Zelle -item.itemCellThoriumTetrafluoride.name=Thorium-Tetrafluorid-Zelle -item.itemCellThoriumHexafluoride.name=Thorium-Hexafluorid-Zelle -item.itemCellUraniumTetrafluoride.name=Uran-Tetrafluorid-Zelle -item.itemCellUraniumHexafluoride.name=Uran-Hexafluorid-Zelle -item.itemCellZirconiumTetrafluoride.name=Zirkonium-Tetrafluorid-Zelle -item.itemCellBerylliumFluoride.name=Beryllium-Fluorid-Zelle -item.itemCellLithiumFluoride.name=Lithium-Fluorid-Zelle -item.itemCellHydroxide.name=Hydroxid-Zelle -item.itemCellAmmonium.name=Ammonium-Zelle -item.itemCellAmmoniumBifluoride.name=Ammonium-Bifluorid-Zelle -item.itemCellBerylliumHydroxide.name=Beryllium-Hydroxid-Zelle -item.itemCellAmmoniumTetrafluoroberyllate.name=Ammonium-Tetrafluoroberyllat-Zelle -item.itemCellNeptuniumHexafluoride.name=Neptunium-Hexafluorid-Zelle -item.itemCellTechnetiumHexafluoride.name=Technetium-Hexafluorid-Zelle -item.itemCellSeleniumHexafluoride.name=Selen-Hexafluorid-Zelle -item.itemCellEnergyCrystal.name=Energiekristall-Zelle -item.itemCellBloodSteel.name=Blutstahl-Zelle -item.itemCellStaballoy.name=Staballoy-Zelle -item.itemCellTantalloy60.name=Tantalloy-60-Zelle -item.itemCellTantalloy61.name=Tantalloy-61-Zelle -item.itemCellTumbaga.name=Tumbaga-Zelle -item.itemCellPotin.name=Potin-Zelle -item.itemCellInconel625.name=Inconel-625-Zelle -item.itemCellInconel690.name=Inconel-690-Zelle -item.itemCellInconel792.name=Inconel-792-Zelle -item.itemCellZeron100.name=Zeron-100-Zelle -item.itemCellMaragingSteel250.name=Maraging-Stahl-250-Zelle -item.itemCellMaragingSteel300.name=Maraging-Stahl-300-Zelle -item.itemCellMaragingSteel350.name=Maraging-Stahl-350-Zelle -item.itemCellStellite.name=Stellite-Zelle -item.itemCellTalonite.name=Talonite-Zelle -item.itemCellHastelloyW.name=Hastelloy-W-Zelle -item.itemCellHastelloyX.name=Hastelloy-X-Zelle -item.itemCellHastelloyN.name=Hastelloy-N-Zelle -item.itemCellHastelloyC276.name=Hastelloy-C276-Zelle -item.itemCellIncoloy020.name=Incoloy-020-Zelle -item.itemCellIncoloyDS.name=Incoloy-DS-Zelle -item.itemCellIncoloyMA956.name=Incoloy-MA956-Zelle -item.itemCellTungstenCarbide.name=Wolframcarbid-Zelle -item.itemCellSiliconCarbide.name=Siliziumcarbid-Zelle -item.itemCellTantalumCarbide.name=Tantalcarbid-Zelle -item.itemCellZirconiumCarbide.name=Zirkoniumcarbid-Zelle -item.itemCellNiobiumCarbide.name=Niobcarbid-Zelle -item.itemCellGrisium.name=Grisium-Zelle -item.itemCellEglinSteelBaseCompound.name=Eglin-Stahl Base Compound-Zelle -item.itemCellEglinSteel.name=Eglin-Stahl-Zelle -item.itemCellHG1223.name=HG-1223-Zelle -item.itemCellTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Zelle -item.itemCellTriniumNaquadahAlloy.name=Trinium-Naquadah-Legierung-Zelle -item.itemCellTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Zelle -item.itemCellQuantum.name=Quanten-Zelle -item.itemIngotBromine.name=Brom-Barren -item.itemDustBromine.name=Brom-Staub -item.itemDustTinyBromine.name=Winziges Häufchen Brom-Staub -item.itemDustSmallBromine.name=Kleines Häufchen Brom-Staub -item.itemNuggetBromine.name=Brom-Nugget -item.itemPlateBromine.name=Brom-Platte -item.itemPlateDoubleBromine.name=Doppelte Brom-Platte -item.itemIngotStrontium.name=Strontium-Barren -item.itemDustStrontium.name=Strontium-Staub -item.itemDustTinyStrontium.name=Winziges Häufchen Strontium-Staub -item.itemDustSmallStrontium.name=Kleines Häufchen Strontium-Staub -item.itemNuggetStrontium.name=Strontium-Nugget -item.itemPlateStrontium.name=Strontium-Platte -item.itemPlateDoubleStrontium.name=Doppelte Strontium-Platte -item.itemBoltStrontium.name=Strontium-Bolzen -item.itemRodStrontium.name=Strontium-Stange -item.itemRodLongStrontium.name=Lange Strontium-Stange -item.itemRingStrontium.name=Strontium-Ring -item.itemScrewStrontium.name=Strontium-Schraube -item.itemRotorStrontium.name=Strontium-Rotor -item.itemGearStrontium.name=Strontium-Zahnrad -item.itemIngotZirconium.name=Zirkonium-Barren -item.itemDustZirconium.name=Zirkonium-Staub -item.itemDustTinyZirconium.name=Winziges Häufchen Zirkonium-Staub -item.itemDustSmallZirconium.name=Kleines Häufchen Zirkonium-Staub -item.itemNuggetZirconium.name=Zirkonium-Nugget -item.itemPlateZirconium.name=Zirkonium-Platte -item.itemPlateDoubleZirconium.name=Doppelte Zirkonium-Platte -item.itemBoltZirconium.name=Zirkonium-Bolzen -item.itemRodZirconium.name=Zirkonium-Stange -item.itemRodLongZirconium.name=Lange Zirkonium-Stange -item.itemRingZirconium.name=Zirkonium-Ring -item.itemScrewZirconium.name=Zirkonium-Schraube -item.itemRotorZirconium.name=Zirkonium-Rotor -item.itemGearZirconium.name=Zirkonium-Zahnrad -item.itemIngotRuthenium.name=Ruthenium-Barren -item.itemDustRuthenium.name=Ruthenium-Staub -item.itemDustTinyRuthenium.name=Winziges Häufchen Ruthenium-Staub -item.itemDustSmallRuthenium.name=Kleines Häufchen Ruthenium-Staub -item.itemNuggetRuthenium.name=Ruthenium-Nugget -item.itemPlateRuthenium.name=Ruthenium-Platte -item.itemPlateDoubleRuthenium.name=Doppelte Ruthenium-Platte -item.itemBoltRuthenium.name=Ruthenium-Bolzen -item.itemRodRuthenium.name=Ruthenium-Stange -item.itemRodLongRuthenium.name=Lange Ruthenium-Stange -item.itemRingRuthenium.name=Ruthenium-Ring -item.itemScrewRuthenium.name=Ruthenium-Schraube -item.itemRotorRuthenium.name=Ruthenium-Rotor -item.itemGearRuthenium.name=Ruthenium-Zahnrad -item.itemIngotIodine.name=Iod-Barren -item.itemDustIodine.name=Iod-Staub -item.itemDustTinyIodine.name=Winziges Häufchen Iod-Staub -item.itemDustSmallIodine.name=Kleines Häufchen Iod-Staub -item.itemNuggetIodine.name=Iod-Nugget -item.itemPlateIodine.name=Iod-Platte -item.itemPlateDoubleIodine.name=Doppelte Iod-Platte -item.itemBoltIodine.name=Iod-Bolzen -item.itemRodIodine.name=Iod-Stange -item.itemRodLongIodine.name=Lange Iod-Stange -item.itemRingIodine.name=Iod-Ring -item.itemScrewIodine.name=Iod-Schraube -item.itemRotorIodine.name=Iod-Rotor -item.itemGearIodine.name=Iod-Zahnrad -item.itemIngotHafnium.name=Hafnium-Barren -item.itemDustHafnium.name=Hafnium-Staub -item.itemDustTinyHafnium.name=Winziges Häufchen Hafnium-Staub -item.itemDustSmallHafnium.name=Kleines Häufchen Hafnium-Staub -item.itemNuggetHafnium.name=Hafnium-Nugget -item.itemPlateHafnium.name=Hafnium-Platte -item.itemPlateDoubleHafnium.name=Doppelte Hafnium-Platte -item.itemBoltHafnium.name=Hafnium-Bolzen -item.itemRodHafnium.name=Hafnium-Stange -item.itemRodLongHafnium.name=Lange Hafnium-Stange -item.itemRingHafnium.name=Hafnium-Ring -item.itemScrewHafnium.name=Hafnium-Schraube -item.itemRotorHafnium.name=Hafnium-Rotor -item.itemGearHafnium.name=Hafnium-Zahnrad -item.itemIngotDysprosium.name=Dysprosium-Barren -item.itemDustDysprosium.name=Dysprosium-Staub -item.itemDustTinyDysprosium.name=Winziges Häufchen Dysprosium-Staub -item.itemDustSmallDysprosium.name=Kleines Häufchen Dysprosium-Staub -item.itemNuggetDysprosium.name=Dysprosium-Nugget -item.itemPlateDysprosium.name=Dysprosium-Platte -item.itemPlateDoubleDysprosium.name=Doppelte Dysprosium-Platte -item.itemBoltDysprosium.name=Dysprosium-Bolzen -item.itemRodDysprosium.name=Dysprosium-Stange -item.itemRodLongDysprosium.name=Lange Dysprosium-Stange -item.itemRingDysprosium.name=Dysprosium-Ring -item.itemScrewDysprosium.name=Dysprosium-Schraube -item.itemRotorDysprosium.name=Dysprosium-Rotor -item.itemGearDysprosium.name=Dysprosium-Zahnrad -item.itemIngotTellurium.name=Tellurium-Barren -item.itemDustTellurium.name=Tellurium-Staub -item.itemDustTinyTellurium.name=Winziges Häufchen Tellurium-Staub -item.itemDustSmallTellurium.name=Kleines Häufchen Tellurium-Staub -item.itemNuggetTellurium.name=Tellurium-Nugget -item.itemPlateTellurium.name=Tellurium-Platte -item.itemPlateDoubleTellurium.name=Doppelte Tellurium-Platte -item.itemBoltTellurium.name=Tellurium-Bolzen -item.itemRodTellurium.name=Tellurium-Stange -item.itemRodLongTellurium.name=Lange Tellurium-Stange -item.itemRingTellurium.name=Tellurium-Ring -item.itemScrewTellurium.name=Tellurium-Schraube -item.itemRotorTellurium.name=Tellurium-Rotor -item.itemGearTellurium.name=Tellurium-Zahnrad -item.itemIngotRhodium.name=Rhodium-Barren -item.itemDustRhodium.name=Rhodium-Staub -item.itemDustTinyRhodium.name=Winziges Häufchen Rhodium-Staub -item.itemDustSmallRhodium.name=Kleines Häufchen Rhodium-Staub -item.itemNuggetRhodium.name=Rhodium-Nugget -item.itemPlateRhodium.name=Rhodium-Platte -item.itemPlateDoubleRhodium.name=Doppelte Rhodium-Platte -item.itemBoltRhodium.name=Rhodium-Bolzen -item.itemRodRhodium.name=Rhodium-Stange -item.itemRodLongRhodium.name=Lange Rhodium-Stange -item.itemRingRhodium.name=Rhodium-Ring -item.itemScrewRhodium.name=Rhodium-Schraube -item.itemRotorRhodium.name=Rhodium-Rotor -item.itemGearRhodium.name=Rhodium-Zahnrad -item.itemIngotRhenium.name=Rhenium-Barren -item.itemDustRhenium.name=Rhenium-Staub -item.itemDustTinyRhenium.name=Winziges Häufchen Rhenium-Staub -item.itemDustSmallRhenium.name=Kleines Häufchen Rhenium-Staub -item.itemNuggetRhenium.name=Rhenium-Nugget -item.itemPlateRhenium.name=Rhenium-Platte -item.itemPlateDoubleRhenium.name=Doppelte Rhenium-Platte -item.itemBoltRhenium.name=Rhenium-Bolzen -item.itemRodRhenium.name=Rhenium-Stange -item.itemRodLongRhenium.name=Lange Rhenium-Stange -item.itemRingRhenium.name=Rhenium-Ring -item.itemScrewRhenium.name=Rhenium-Schraube -item.itemRotorRhenium.name=Rhenium-Rotor -item.itemGearRhenium.name=Rhenium-Zahnrad -item.itemIngotThallium.name=Thallium-Barren -item.itemDustThallium.name=Thallium-Staub -item.itemDustTinyThallium.name=Winziges Häufchen Thallium-Staub -item.itemDustSmallThallium.name=Kleines Häufchen Thallium-Staub -item.itemNuggetThallium.name=Thallium-Nugget -item.itemPlateThallium.name=Thallium-Platte -item.itemPlateDoubleThallium.name=Doppelte Thallium-Platte -item.itemBoltThallium.name=Thallium-Bolzen -item.itemRodThallium.name=Thallium-Stange -item.itemRodLongThallium.name=Lange Thallium-Stange -item.itemRingThallium.name=Thallium-Ring -item.itemScrewThallium.name=Thallium-Schraube -item.itemRotorThallium.name=Thallium-Rotor -item.itemGearThallium.name=Thallium-Zahnrad -item.itemIngotTechnetium.name=Technetium-Barren -item.itemDustTechnetium.name=Technetium-Staub -item.itemDustTinyTechnetium.name=Winziges Häufchen Technetium-Staub -item.itemDustSmallTechnetium.name=Kleines Häufchen Technetium-Staub -item.itemNuggetTechnetium.name=Technetium-Nugget -item.itemPlateTechnetium.name=Technetium-Platte -item.itemPlateDoubleTechnetium.name=Doppelte Technetium-Platte -item.itemIngotPolonium.name=Polonium-Barren -item.itemDustPolonium.name=Polonium-Staub -item.itemDustTinyPolonium.name=Winziges Häufchen Polonium-Staub -item.itemDustSmallPolonium.name=Kleines Häufchen Polonium-Staub -item.itemNuggetPolonium.name=Polonium-Nugget -item.itemPlatePolonium.name=Polonium-Platte -item.itemPlateDoublePolonium.name=Doppelte Polonium-Platte -item.itemIngotAstatine.name=Astat-Barren -item.itemDustAstatine.name=Astat-Staub -item.itemDustTinyAstatine.name=Winziges Häufchen Astat-Staub -item.itemDustSmallAstatine.name=Kleines Häufchen Astat-Staub -item.itemNuggetAstatine.name=Astat-Nugget -item.itemPlateAstatine.name=Astat-Platte -item.itemPlateDoubleAstatine.name=Doppelte Astat-Platte -item.itemIngotFrancium.name=Francium-Barren -item.itemDustFrancium.name=Francium-Staub -item.itemDustTinyFrancium.name=Winziges Häufchen Francium-Staub -item.itemDustSmallFrancium.name=Kleines Häufchen Francium-Staub -item.itemNuggetFrancium.name=Francium-Nugget -item.itemPlateFrancium.name=Francium-Platte -item.itemPlateDoubleFrancium.name=Doppelte Francium-Platte -item.itemIngotRadium.name=Radium-Barren -item.itemDustRadium.name=Radium-Staub -item.itemDustTinyRadium.name=Winziges Häufchen Radium-Staub -item.itemDustSmallRadium.name=Kleines Häufchen Radium-Staub -item.itemNuggetRadium.name=Radium-Nugget -item.itemPlateRadium.name=Radium-Platte -item.itemPlateDoubleRadium.name=Doppelte Radium-Platte -item.itemIngotActinium.name=Actinium-Barren -item.itemDustActinium.name=Actinium-Staub -item.itemDustTinyActinium.name=Winziges Häufchen Actinium-Staub -item.itemDustSmallActinium.name=Kleines Häufchen Actinium-Staub -item.itemNuggetActinium.name=Actinium-Nugget -item.itemPlateActinium.name=Actinium-Platte -item.itemPlateDoubleActinium.name=Doppelte Actinium-Platte -item.itemIngotProtactinium.name=Protactinium-Barren -item.itemDustProtactinium.name=Protactinium-Staub -item.itemDustTinyProtactinium.name=Winziges Häufchen Protactinium-Staub -item.itemDustSmallProtactinium.name=Kleines Häufchen Protactinium-Staub -item.itemNuggetProtactinium.name=Protactinium-Nugget -item.itemPlateProtactinium.name=Protactinium-Platte -item.itemPlateDoubleProtactinium.name=Doppelte Protactinium-Platte -item.itemIngotNeptunium.name=Neptunium-Barren -item.itemDustNeptunium.name=Neptunium-Staub -item.itemDustTinyNeptunium.name=Winziges Häufchen Neptunium-Staub -item.itemDustSmallNeptunium.name=Kleines Häufchen Neptunium-Staub -item.itemNuggetNeptunium.name=Neptunium-Nugget -item.itemPlateNeptunium.name=Neptunium-Platte -item.itemPlateDoubleNeptunium.name=Doppelte Neptunium-Platte -item.itemIngotCurium.name=Curium-Barren -item.itemDustCurium.name=Curium-Staub -item.itemDustTinyCurium.name=Winziges Häufchen Curium-Staub -item.itemDustSmallCurium.name=Kleines Häufchen Curium-Staub -item.itemNuggetCurium.name=Curium-Nugget -item.itemPlateCurium.name=Curium-Platte -item.itemPlateDoubleCurium.name=Doppelte Curium-Platte -item.itemIngotBerkelium.name=Berkelium-Barren -item.itemDustBerkelium.name=Berkelium-Staub -item.itemDustTinyBerkelium.name=Winziges Häufchen Berkelium-Staub -item.itemDustSmallBerkelium.name=Kleines Häufchen Berkelium-Staub -item.itemNuggetBerkelium.name=Berkelium-Nugget -item.itemPlateBerkelium.name=Berkelium-Platte -item.itemPlateDoubleBerkelium.name=Doppelte Berkelium-Platte -item.itemIngotCalifornium.name=Californium-Barren -item.itemDustCalifornium.name=Californium-Staub -item.itemDustTinyCalifornium.name=Winziges Häufchen Californium-Staub -item.itemDustSmallCalifornium.name=Kleines Häufchen Californium-Staub -item.itemNuggetCalifornium.name=Californium-Nugget -item.itemPlateCalifornium.name=Californium-Platte -item.itemPlateDoubleCalifornium.name=Doppelte Californium-Platte -item.itemIngotEinsteinium.name=Einsteinium-Barren -item.itemDustEinsteinium.name=Einsteinium-Staub -item.itemDustTinyEinsteinium.name=Winziges Häufchen Einsteinium-Staub -item.itemDustSmallEinsteinium.name=Kleines Häufchen Einsteinium-Staub -item.itemNuggetEinsteinium.name=Einsteinium-Nugget -item.itemPlateEinsteinium.name=Einsteinium-Platte -item.itemPlateDoubleEinsteinium.name=Doppelte Einsteinium-Platte -item.itemIngotFermium.name=Fermium-Barren -item.itemDustFermium.name=Fermium-Staub -item.itemDustTinyFermium.name=Winziges Häufchen Fermium-Staub -item.itemDustSmallFermium.name=Kleines Häufchen Fermium-Staub -item.itemNuggetFermium.name=Fermium-Nugget -item.itemPlateFermium.name=Fermium-Platte -item.itemPlateDoubleFermium.name=Doppelte Fermium-Platte -item.itemIngotLithium7.name=Lithium-7-Barren -item.itemDustLithium7.name=Lithium-7-Staub -item.itemDustTinyLithium7.name=Winziges Häufchen Lithium-7-Staub -item.itemDustSmallLithium7.name=Kleines Häufchen Lithium-7-Staub -item.itemNuggetLithium7.name=Lithium-7-Nugget -item.itemPlateLithium7.name=Lithium-7-Platte -item.itemPlateDoubleLithium7.name=Doppelte Lithium-7-Platte -item.itemIngotThorium232.name=Thorium-232-Barren -item.itemDustThorium232.name=Thorium-232-Staub -item.itemDustTinyThorium232.name=Winziges Häufchen Thorium-232-Staub -item.itemDustSmallThorium232.name=Kleines Häufchen Thorium-232-Staub -item.itemNuggetThorium232.name=Thorium-232-Nugget -item.itemPlateThorium232.name=Thorium-232-Platte -item.itemPlateDoubleThorium232.name=Doppelte Thorium-232-Platte -item.itemIngotUranium232.name=Uran-232-Barren -item.itemDustUranium232.name=Uran-232-Staub -item.itemDustTinyUranium232.name=Winziges Häufchen Uran-232-Staub -item.itemDustSmallUranium232.name=Kleines Häufchen Uran-232-Staub -item.itemNuggetUranium232.name=Uran-232-Nugget -item.itemPlateUranium232.name=Uran-232-Platte -item.itemRodUranium232.name=Uran-232-Stange -item.itemRodLongUranium232.name=Lange Uran-232-Stange -item.itemIngotUranium233.name=Uran-233-Barren -item.itemDustUranium233.name=Uran-233-Staub -item.itemDustTinyUranium233.name=Winziges Häufchen Uran-233-Staub -item.itemDustSmallUranium233.name=Kleines Häufchen Uran-233-Staub -item.itemNuggetUranium233.name=Uran-233-Nugget -item.itemPlateUranium233.name=Uran-233-Platte -item.itemRodUranium233.name=Uran-233-Stange -item.itemRodLongUranium233.name=Lange Uran-233-Stange -item.itemIngotPlutonium238.name=Plutonium-238-Barren -item.itemDustPlutonium238.name=Plutonium-238-Staub -item.itemDustTinyPlutonium238.name=Winziges Häufchen Plutonium-238-Staub -item.itemDustSmallPlutonium238.name=Kleines Häufchen Plutonium-238-Staub -item.itemNuggetPlutonium238.name=Plutonium-238-Nugget -item.itemPlatePlutonium238.name=Plutonium-238-Platte -item.itemPlateDoublePlutonium238.name=Doppelte Plutonium-238-Platte -item.itemIngotStrontium90.name=Strontium-90-Barren -item.itemDustStrontium90.name=Strontium-90-Staub -item.itemDustTinyStrontium90.name=Winziges Häufchen Strontium-90-Staub -item.itemDustSmallStrontium90.name=Kleines Häufchen Strontium-90-Staub -item.itemNuggetStrontium90.name=Strontium-90-Nugget -item.itemPlateStrontium90.name=Strontium-90-Platte -item.itemPlateDoubleStrontium90.name=Doppelte Strontium-90-Platte -item.itemIngotPolonium210.name=Polonium-210-Barren -item.itemDustPolonium210.name=Polonium-210-Staub -item.itemDustTinyPolonium210.name=Winziges Häufchen Polonium-210-Staub -item.itemDustSmallPolonium210.name=Kleines Häufchen Polonium-210-Staub -item.itemNuggetPolonium210.name=Polonium-210-Nugget -item.itemPlatePolonium210.name=Polonium-210-Platte -item.itemPlateDoublePolonium210.name=Doppelte Polonium-210-Platte -item.itemIngotAmericium241.name=Americium-241-Barren -item.itemDustAmericium241.name=Americium-241-Staub -item.itemDustTinyAmericium241.name=Winziges Häufchen Americium-241-Staub -item.itemDustSmallAmericium241.name=Kleines Häufchen Americium-241-Staub -item.itemNuggetAmericium241.name=Americium-241-Nugget -item.itemPlateAmericium241.name=Americium-241-Platte -item.itemPlateDoubleAmericium241.name=Doppelte Americium-241-Platte -item.itemIngotSiliconCarbide.name=Siliziumcarbid-Barren -item.itemDustSiliconCarbide.name=Siliziumcarbid-Staub -item.itemDustTinySiliconCarbide.name=Winziges Häufchen Siliziumcarbid-Staub -item.itemDustSmallSiliconCarbide.name=Kleines Häufchen Siliziumcarbid-Staub -item.itemNuggetSiliconCarbide.name=Siliziumcarbid-Nugget -item.itemPlateSiliconCarbide.name=Siliziumcarbid-Platte -item.itemPlateDoubleSiliconCarbide.name=Doppelte Siliziumcarbid-Platte -item.itemBoltSiliconCarbide.name=Siliziumcarbid-Bolzen -item.itemRodSiliconCarbide.name=Siliziumcarbid-Stange -item.itemRodLongSiliconCarbide.name=Lange Siliziumcarbid-Stange -item.itemRingSiliconCarbide.name=Siliziumcarbid-Ring -item.itemScrewSiliconCarbide.name=Siliziumcarbid-Schraube -item.itemRotorSiliconCarbide.name=Siliziumcarbid-Rotor -item.itemGearSiliconCarbide.name=Siliziumcarbid-Zahnrad -item.itemIngotZirconiumCarbide.name=Zirkoniumcarbid-Barren -item.itemHotIngotZirconiumCarbide.name=Hot Zirkoniumcarbid-Barren -item.itemDustZirconiumCarbide.name=Zirkoniumcarbid-Staub -item.itemDustTinyZirconiumCarbide.name=Winziges Häufchen Zirkoniumcarbid-Staub -item.itemDustSmallZirconiumCarbide.name=Kleines Häufchen Zirkoniumcarbid-Staub -item.itemNuggetZirconiumCarbide.name=Zirkoniumcarbid-Nugget -item.itemPlateZirconiumCarbide.name=Zirkoniumcarbid-Platte -item.itemPlateDoubleZirconiumCarbide.name=Doppelte Zirkoniumcarbid-Platte -item.itemBoltZirconiumCarbide.name=Zirkoniumcarbid-Bolzen -item.itemRodZirconiumCarbide.name=Zirkoniumcarbid-Stange -item.itemRodLongZirconiumCarbide.name=Lange Zirkoniumcarbid-Stange -item.itemRingZirconiumCarbide.name=Zirkoniumcarbid-Ring -item.itemScrewZirconiumCarbide.name=Zirkoniumcarbid-Schraube -item.itemRotorZirconiumCarbide.name=Zirkoniumcarbid-Rotor -item.itemGearZirconiumCarbide.name=Zirkoniumcarbid-Zahnrad -item.itemIngotTantalumCarbide.name=Tantalcarbid-Barren -item.itemHotIngotTantalumCarbide.name=Hot Tantalcarbid-Barren -item.itemDustTantalumCarbide.name=Tantalcarbid-Staub -item.itemDustTinyTantalumCarbide.name=Winziges Häufchen Tantalcarbid-Staub -item.itemDustSmallTantalumCarbide.name=Kleines Häufchen Tantalcarbid-Staub -item.itemNuggetTantalumCarbide.name=Tantalcarbid-Nugget -item.itemPlateTantalumCarbide.name=Tantalcarbid-Platte -item.itemPlateDoubleTantalumCarbide.name=Doppelte Tantalcarbid-Platte -item.itemBoltTantalumCarbide.name=Tantalcarbid-Bolzen -item.itemRodTantalumCarbide.name=Tantalcarbid-Stange -item.itemRodLongTantalumCarbide.name=Lange Tantalcarbid-Stange -item.itemRingTantalumCarbide.name=Tantalcarbid-Ring -item.itemScrewTantalumCarbide.name=Tantalcarbid-Schraube -item.itemRotorTantalumCarbide.name=Tantalcarbid-Rotor -item.itemGearTantalumCarbide.name=Tantalcarbid-Zahnrad -item.itemIngotNiobiumCarbide.name=Niobcarbid-Barren -item.itemHotIngotNiobiumCarbide.name=Hot Niobcarbid-Barren -item.itemDustNiobiumCarbide.name=Niobcarbid-Staub -item.itemDustTinyNiobiumCarbide.name=Winziges Häufchen Niobcarbid-Staub -item.itemDustSmallNiobiumCarbide.name=Kleines Häufchen Niobcarbid-Staub -item.itemNuggetNiobiumCarbide.name=Niobcarbid-Nugget -item.itemPlateNiobiumCarbide.name=Niobcarbid-Platte -item.itemPlateDoubleNiobiumCarbide.name=Doppelte Niobcarbid-Platte -item.itemBoltNiobiumCarbide.name=Niobcarbid-Bolzen -item.itemRodNiobiumCarbide.name=Niobcarbid-Stange -item.itemRodLongNiobiumCarbide.name=Lange Niobcarbid-Stange -item.itemRingNiobiumCarbide.name=Niobcarbid-Ring -item.itemScrewNiobiumCarbide.name=Niobcarbid-Schraube -item.itemRotorNiobiumCarbide.name=Niobcarbid-Rotor -item.itemGearNiobiumCarbide.name=Niobcarbid-Zahnrad -item.itemIngotBerylliumFluoride.name=Beryllium-Fluorid-Barren -item.itemDustBerylliumFluoride.name=Beryllium-Fluorid-Staub -item.itemDustTinyBerylliumFluoride.name=Winziges Häufchen Beryllium-Fluorid-Staub -item.itemDustSmallBerylliumFluoride.name=Kleines Häufchen Beryllium-Fluorid-Staub -item.itemNuggetBerylliumFluoride.name=Beryllium-Fluorid-Nugget -item.itemPlateBerylliumFluoride.name=Beryllium-Fluorid-Platte -item.itemPlateDoubleBerylliumFluoride.name=Doppelte Beryllium-Fluorid-Platte -item.itemIngotLithiumFluoride.name=Lithium-Fluorid-Barren -item.itemDustLithiumFluoride.name=Lithium-Fluorid-Staub -item.itemDustTinyLithiumFluoride.name=Winziges Häufchen Lithium-Fluorid-Staub -item.itemDustSmallLithiumFluoride.name=Kleines Häufchen Lithium-Fluorid-Staub -item.itemNuggetLithiumFluoride.name=Lithium-Fluorid-Nugget -item.itemPlateLithiumFluoride.name=Lithium-Fluorid-Platte -item.itemPlateDoubleLithiumFluoride.name=Doppelte Lithium-Fluorid-Platte -item.itemIngotThoriumTetrafluoride.name=Thorium-Tetrafluorid-Barren -item.itemDustThoriumTetrafluoride.name=Thorium-Tetrafluorid-Staub -item.itemDustTinyThoriumTetrafluoride.name=Winziges Häufchen Thorium-Tetrafluorid-Staub -item.itemDustSmallThoriumTetrafluoride.name=Kleines Häufchen Thorium-Tetrafluorid-Staub -item.itemNuggetThoriumTetrafluoride.name=Thorium-Tetrafluorid-Nugget -item.itemPlateThoriumTetrafluoride.name=Thorium-Tetrafluorid-Platte -item.itemPlateDoubleThoriumTetrafluoride.name=Doppelte Thorium-Tetrafluorid-Platte -item.itemIngotThoriumHexafluoride.name=Thorium-Hexafluorid-Barren -item.itemDustThoriumHexafluoride.name=Thorium-Hexafluorid-Staub -item.itemDustTinyThoriumHexafluoride.name=Winziges Häufchen Thorium-Hexafluorid-Staub -item.itemDustSmallThoriumHexafluoride.name=Kleines Häufchen Thorium-Hexafluorid-Staub -item.itemNuggetThoriumHexafluoride.name=Thorium-Hexafluorid-Nugget -item.itemPlateThoriumHexafluoride.name=Thorium-Hexafluorid-Platte -item.itemPlateDoubleThoriumHexafluoride.name=Doppelte Thorium-Hexafluorid-Platte -item.itemIngotUraniumTetrafluoride.name=Uran-Tetrafluorid-Barren -item.itemDustUraniumTetrafluoride.name=Uran-Tetrafluorid-Staub -item.itemDustTinyUraniumTetrafluoride.name=Winziges Häufchen Uran-Tetrafluorid-Staub -item.itemDustSmallUraniumTetrafluoride.name=Kleines Häufchen Uran-Tetrafluorid-Staub -item.itemNuggetUraniumTetrafluoride.name=Uran-Tetrafluorid-Nugget -item.itemPlateUraniumTetrafluoride.name=Uran-Tetrafluorid-Platte -item.itemPlateDoubleUraniumTetrafluoride.name=Doppelte Uran-Tetrafluorid-Platte -item.itemIngotUraniumHexafluoride.name=Uran-Hexafluorid-Barren -item.itemDustUraniumHexafluoride.name=Uran-Hexafluorid-Staub -item.itemDustTinyUraniumHexafluoride.name=Winziges Häufchen Uran-Hexafluorid-Staub -item.itemDustSmallUraniumHexafluoride.name=Kleines Häufchen Uran-Hexafluorid-Staub -item.itemNuggetUraniumHexafluoride.name=Uran-Hexafluorid-Nugget -item.itemPlateUraniumHexafluoride.name=Uran-Hexafluorid-Platte -item.itemPlateDoubleUraniumHexafluoride.name=Doppelte Uran-Hexafluorid-Platte -item.itemIngotZirconiumTetrafluoride.name=Zirkonium-Tetrafluorid-Barren -item.itemDustZirconiumTetrafluoride.name=Zirkonium-Tetrafluorid-Staub -item.itemDustTinyZirconiumTetrafluoride.name=Winziges Häufchen Zirkonium-Tetrafluorid-Staub -item.itemDustSmallZirconiumTetrafluoride.name=Kleines Häufchen Zirkonium-Tetrafluorid-Staub -item.itemNuggetZirconiumTetrafluoride.name=Zirkonium-Tetrafluorid-Nugget -item.itemPlateZirconiumTetrafluoride.name=Zirkonium-Tetrafluorid-Platte -item.itemPlateDoubleZirconiumTetrafluoride.name=Doppelte Zirkonium-Tetrafluorid-Platte -item.itemIngotNeptuniumHexafluoride.name=Neptunium-Hexafluorid-Barren -item.itemDustNeptuniumHexafluoride.name=Neptunium-Hexafluorid-Staub -item.itemDustTinyNeptuniumHexafluoride.name=Winziges Häufchen Neptunium-Hexafluorid-Staub -item.itemDustSmallNeptuniumHexafluoride.name=Kleines Häufchen Neptunium-Hexafluorid-Staub -item.itemNuggetNeptuniumHexafluoride.name=Neptunium-Hexafluorid-Nugget -item.itemPlateNeptuniumHexafluoride.name=Neptunium-Hexafluorid-Platte -item.itemPlateDoubleNeptuniumHexafluoride.name=Doppelte Neptunium-Hexafluorid-Platte -item.itemIngotTechnetiumHexafluoride.name=Technetium-Hexafluorid-Barren -item.itemDustTechnetiumHexafluoride.name=Technetium-Hexafluorid-Staub -item.itemDustTinyTechnetiumHexafluoride.name=Winziges Häufchen Technetium-Hexafluorid-Staub -item.itemDustSmallTechnetiumHexafluoride.name=Kleines Häufchen Technetium-Hexafluorid-Staub -item.itemNuggetTechnetiumHexafluoride.name=Technetium-Hexafluorid-Nugget -item.itemPlateTechnetiumHexafluoride.name=Technetium-Hexafluorid-Platte -item.itemPlateDoubleTechnetiumHexafluoride.name=Doppelte Technetium-Hexafluorid-Platte -item.itemIngotSeleniumHexafluoride.name=Selen-Hexafluorid-Barren -item.itemDustSeleniumHexafluoride.name=Selen-Hexafluorid-Staub -item.itemDustTinySeleniumHexafluoride.name=Winziges Häufchen Selen-Hexafluorid-Staub -item.itemDustSmallSeleniumHexafluoride.name=Kleines Häufchen Selen-Hexafluorid-Staub -item.itemNuggetSeleniumHexafluoride.name=Selen-Hexafluorid-Nugget -item.itemPlateSeleniumHexafluoride.name=Selen-Hexafluorid-Platte -item.itemPlateDoubleSeleniumHexafluoride.name=Doppelte Selen-Hexafluorid-Platte -item.itemIngotLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235-Barren -item.itemDustLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235-Staub -item.itemDustTinyLiFBeF2ZrF4U235.name=Winziges Häufchen LiFBeF2ZrF4U235-Staub -item.itemDustSmallLiFBeF2ZrF4U235.name=Kleines Häufchen LiFBeF2ZrF4U235-Staub -item.itemNuggetLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235-Nugget -item.itemPlateLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235-Platte -item.itemPlateDoubleLiFBeF2ZrF4U235.name=Doppelte LiFBeF2ZrF4U235-Platte -item.itemIngotLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4-Barren -item.itemDustLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4-Staub -item.itemDustTinyLiFBeF2ZrF4UF4.name=Winziges Häufchen LiFBeF2ZrF4UF4-Staub -item.itemDustSmallLiFBeF2ZrF4UF4.name=Kleines Häufchen LiFBeF2ZrF4UF4-Staub -item.itemNuggetLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4-Nugget -item.itemPlateLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4-Platte -item.itemPlateDoubleLiFBeF2ZrF4UF4.name=Doppelte LiFBeF2ZrF4UF4-Platte -item.itemIngotLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4-Barren -item.itemDustLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4-Staub -item.itemDustTinyLiFBeF2ThF4UF4.name=Winziges Häufchen LiFBeF2ThF4UF4-Staub -item.itemDustSmallLiFBeF2ThF4UF4.name=Kleines Häufchen LiFBeF2ThF4UF4-Staub -item.itemNuggetLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4-Nugget -item.itemPlateLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4-Platte -item.itemPlateDoubleLiFBeF2ThF4UF4.name=Doppelte LiFBeF2ThF4UF4-Platte -item.itemIngotEnergyCrystal.name=Energy Crystal-Barren -item.itemHotIngotEnergyCrystal.name=Hot Energy Crystal-Barren -item.itemDustEnergyCrystal.name=Energy Crystal-Staub -item.itemDustTinyEnergyCrystal.name=Winziges Häufchen Energy Crystal-Staub -item.itemDustSmallEnergyCrystal.name=Kleines Häufchen Energy Crystal-Staub -item.itemNuggetEnergyCrystal.name=Energy Crystal-Nugget -item.itemPlateEnergyCrystal.name=Energy Crystal-Platte -item.itemPlateDoubleEnergyCrystal.name=Doppelte Energy Crystal-Platte -item.itemBoltEnergyCrystal.name=Energy Crystal-Bolzen -item.itemRodEnergyCrystal.name=Energy Crystal-Stange -item.itemRodLongEnergyCrystal.name=Lange Energy Crystal-Stange -item.itemRingEnergyCrystal.name=Energy Crystal-Ring -item.itemScrewEnergyCrystal.name=Energy Crystal-Schraube -item.itemRotorEnergyCrystal.name=Energy Crystal-Rotor -item.itemGearEnergyCrystal.name=Energy Crystal-Zahnrad -item.itemIngotBloodSteel.name=Blutstahl-Barren -item.itemDustBloodSteel.name=Blutstahl-Staub -item.itemDustTinyBloodSteel.name=Winziges Häufchen Blutstahl-Staub -item.itemDustSmallBloodSteel.name=Kleines Häufchen Blutstahl-Staub -item.itemNuggetBloodSteel.name=Blutstahl-Nugget -item.itemPlateBloodSteel.name=Blutstahl-Platte -item.itemPlateDoubleBloodSteel.name=Doppelte Blutstahl-Platte -item.itemBoltBloodSteel.name=Blutstahl-Bolzen -item.itemRodBloodSteel.name=Blutstahl-Stange -item.itemRodLongBloodSteel.name=Lange Blutstahl-Stange -item.itemRingBloodSteel.name=Blutstahl-Ring -item.itemScrewBloodSteel.name=Blutstahl-Schraube -item.itemRotorBloodSteel.name=Blutstahl-Rotor -item.itemGearBloodSteel.name=Blutstahl-Zahnrad -item.itemIngotZeron100.name=Zeron-100-Barren -item.itemHotIngotZeron100.name=Hot Zeron-100-Barren -item.itemDustZeron100.name=Zeron-100-Staub -item.itemDustTinyZeron100.name=Winziges Häufchen Zeron-100-Staub -item.itemDustSmallZeron100.name=Kleines Häufchen Zeron-100-Staub -item.itemNuggetZeron100.name=Zeron-100-Nugget -item.itemPlateZeron100.name=Zeron-100-Platte -item.itemPlateDoubleZeron100.name=Doppelte Zeron-100-Platte -item.itemBoltZeron100.name=Zeron-100-Bolzen -item.itemRodZeron100.name=Zeron-100-Stange -item.itemRodLongZeron100.name=Lange Zeron-100-Stange -item.itemRingZeron100.name=Zeron-100-Ring -item.itemScrewZeron100.name=Zeron-100-Schraube -item.itemRotorZeron100.name=Zeron-100-Rotor -item.itemGearZeron100.name=Zeron-100-Zahnrad -item.itemIngotTumbaga.name=Tumbaga-Barren -item.itemDustTumbaga.name=Tumbaga-Staub -item.itemDustTinyTumbaga.name=Winziges Häufchen Tumbaga-Staub -item.itemDustSmallTumbaga.name=Kleines Häufchen Tumbaga-Staub -item.itemNuggetTumbaga.name=Tumbaga-Nugget -item.itemPlateTumbaga.name=Tumbaga-Platte -item.itemPlateDoubleTumbaga.name=Doppelte Tumbaga-Platte -item.itemBoltTumbaga.name=Tumbaga-Bolzen -item.itemRodTumbaga.name=Tumbaga-Stange -item.itemRodLongTumbaga.name=Lange Tumbaga-Stange -item.itemRingTumbaga.name=Tumbaga-Ring -item.itemScrewTumbaga.name=Tumbaga-Schraube -item.itemRotorTumbaga.name=Tumbaga-Rotor -item.itemGearTumbaga.name=Tumbaga-Zahnrad -item.itemIngotPotin.name=Potin-Barren -item.itemDustPotin.name=Potin-Staub -item.itemDustTinyPotin.name=Winziges Häufchen Potin-Staub -item.itemDustSmallPotin.name=Kleines Häufchen Potin-Staub -item.itemNuggetPotin.name=Potin-Nugget -item.itemPlatePotin.name=Potin-Platte -item.itemPlateDoublePotin.name=Doppelte Potin-Platte -item.itemBoltPotin.name=Potin-Bolzen -item.itemRodPotin.name=Potin-Stange -item.itemRodLongPotin.name=Lange Potin-Stange -item.itemRingPotin.name=Potin-Ring -item.itemScrewPotin.name=Potin-Schraube -item.itemRotorPotin.name=Potin-Rotor -item.itemGearPotin.name=Potin-Zahnrad -item.itemIngotStaballoy.name=Staballoy-Barren -item.itemHotIngotStaballoy.name=Hot Staballoy-Barren -item.itemDustStaballoy.name=Staballoy-Staub -item.itemDustTinyStaballoy.name=Winziges Häufchen Staballoy-Staub -item.itemDustSmallStaballoy.name=Kleines Häufchen Staballoy-Staub -item.itemNuggetStaballoy.name=Staballoy-Nugget -item.itemPlateStaballoy.name=Staballoy-Platte -item.itemPlateDoubleStaballoy.name=Doppelte Staballoy-Platte -item.itemBoltStaballoy.name=Staballoy-Bolzen -item.itemRodStaballoy.name=Staballoy-Stange -item.itemRodLongStaballoy.name=Lange Staballoy-Stange -item.itemRingStaballoy.name=Staballoy-Ring -item.itemScrewStaballoy.name=Staballoy-Schraube -item.itemRotorStaballoy.name=Staballoy-Rotor -item.itemGearStaballoy.name=Staballoy-Zahnrad -item.itemIngotTantalloy60.name=Tantalloy-60-Barren -item.itemHotIngotTantalloy60.name=Hot Tantalloy-60-Barren -item.itemDustTantalloy60.name=Tantalloy-60-Staub -item.itemDustTinyTantalloy60.name=Winziges Häufchen Tantalloy-60-Staub -item.itemDustSmallTantalloy60.name=Kleines Häufchen Tantalloy-60-Staub -item.itemNuggetTantalloy60.name=Tantalloy-60-Nugget -item.itemPlateTantalloy60.name=Tantalloy-60-Platte -item.itemPlateDoubleTantalloy60.name=Doppelte Tantalloy-60-Platte -item.itemBoltTantalloy60.name=Tantalloy-60-Bolzen -item.itemRodTantalloy60.name=Tantalloy-60-Stange -item.itemRodLongTantalloy60.name=Lange Tantalloy-60-Stange -item.itemRingTantalloy60.name=Tantalloy-60-Ring -item.itemScrewTantalloy60.name=Tantalloy-60-Schraube -item.itemRotorTantalloy60.name=Tantalloy-60-Rotor -item.itemGearTantalloy60.name=Tantalloy-60-Zahnrad -item.itemIngotTantalloy61.name=Tantalloy-61-Barren -item.itemHotIngotTantalloy61.name=Hot Tantalloy-61-Barren -item.itemDustTantalloy61.name=Tantalloy-61-Staub -item.itemDustTinyTantalloy61.name=Winziges Häufchen Tantalloy-61-Staub -item.itemDustSmallTantalloy61.name=Kleines Häufchen Tantalloy-61-Staub -item.itemNuggetTantalloy61.name=Tantalloy-61-Nugget -item.itemPlateTantalloy61.name=Tantalloy-61-Platte -item.itemPlateDoubleTantalloy61.name=Doppelte Tantalloy-61-Platte -item.itemBoltTantalloy61.name=Tantalloy-61-Bolzen -item.itemRodTantalloy61.name=Tantalloy-61-Stange -item.itemRodLongTantalloy61.name=Lange Tantalloy-61-Stange -item.itemRingTantalloy61.name=Tantalloy-61-Ring -item.itemScrewTantalloy61.name=Tantalloy-61-Schraube -item.itemRotorTantalloy61.name=Tantalloy-61-Rotor -item.itemGearTantalloy61.name=Tantalloy-61-Zahnrad -item.itemIngotInconel625.name=Inconel-625-Barren -item.itemHotIngotInconel625.name=Hot Inconel-625-Barren -item.itemDustInconel625.name=Inconel-625-Staub -item.itemDustTinyInconel625.name=Winziges Häufchen Inconel-625-Staub -item.itemDustSmallInconel625.name=Kleines Häufchen Inconel-625-Staub -item.itemNuggetInconel625.name=Inconel-625-Nugget -item.itemPlateInconel625.name=Inconel-625-Platte -item.itemPlateDoubleInconel625.name=Doppelte Inconel-625-Platte -item.itemBoltInconel625.name=Inconel-625-Bolzen -item.itemRodInconel625.name=Inconel-625-Stange -item.itemRodLongInconel625.name=Lange Inconel-625-Stange -item.itemRingInconel625.name=Inconel-625-Ring -item.itemScrewInconel625.name=Inconel-625-Schraube -item.itemRotorInconel625.name=Inconel-625-Rotor -item.itemGearInconel625.name=Inconel-625-Zahnrad -item.itemIngotInconel690.name=Inconel-690-Barren -item.itemHotIngotInconel690.name=Hot Inconel-690-Barren -item.itemDustInconel690.name=Inconel-690-Staub -item.itemDustTinyInconel690.name=Winziges Häufchen Inconel-690-Staub -item.itemDustSmallInconel690.name=Kleines Häufchen Inconel-690-Staub -item.itemNuggetInconel690.name=Inconel-690-Nugget -item.itemPlateInconel690.name=Inconel-690-Platte -item.itemPlateDoubleInconel690.name=Doppelte Inconel-690-Platte -item.itemBoltInconel690.name=Inconel-690-Bolzen -item.itemRodInconel690.name=Inconel-690-Stange -item.itemRodLongInconel690.name=Lange Inconel-690-Stange -item.itemRingInconel690.name=Inconel-690-Ring -item.itemScrewInconel690.name=Inconel-690-Schraube -item.itemRotorInconel690.name=Inconel-690-Rotor -item.itemGearInconel690.name=Inconel-690-Zahnrad -item.itemIngotInconel792.name=Inconel-792-Barren -item.itemHotIngotInconel792.name=Hot Inconel-792-Barren -item.itemDustInconel792.name=Inconel-792-Staub -item.itemDustTinyInconel792.name=Winziges Häufchen Inconel-792-Staub -item.itemDustSmallInconel792.name=Kleines Häufchen Inconel-792-Staub -item.itemNuggetInconel792.name=Inconel-792-Nugget -item.itemPlateInconel792.name=Inconel-792-Platte -item.itemPlateDoubleInconel792.name=Doppelte Inconel-792-Platte -item.itemBoltInconel792.name=Inconel-792-Bolzen -item.itemRodInconel792.name=Inconel-792-Stange -item.itemRodLongInconel792.name=Lange Inconel-792-Stange -item.itemRingInconel792.name=Inconel-792-Ring -item.itemScrewInconel792.name=Inconel-792-Schraube -item.itemRotorInconel792.name=Inconel-792-Rotor -item.itemGearInconel792.name=Inconel-792-Zahnrad -item.itemDustEglinSteelBaseCompound.name=Eglin-Stahl Base Compound-Staub -item.itemDustTinyEglinSteelBaseCompound.name=Winziges Häufchen Eglin-Stahl Base Compound-Staub -item.itemDustSmallEglinSteelBaseCompound.name=Kleines Häufchen Eglin-Stahl Base Compound-Staub -item.itemIngotEglinSteel.name=Eglin-Stahl-Barren -item.itemDustEglinSteel.name=Eglin-Stahl-Staub -item.itemDustTinyEglinSteel.name=Winziges Häufchen Eglin-Stahl-Staub -item.itemDustSmallEglinSteel.name=Kleines Häufchen Eglin-Stahl-Staub -item.itemNuggetEglinSteel.name=Eglin-Stahl-Nugget -item.itemPlateEglinSteel.name=Eglin-Stahl-Platte -item.itemPlateDoubleEglinSteel.name=Doppelte Eglin-Stahl-Platte -item.itemBoltEglinSteel.name=Eglin-Stahl-Bolzen -item.itemRodEglinSteel.name=Eglin-Stahl-Stange -item.itemRodLongEglinSteel.name=Lange Eglin-Stahl-Stange -item.itemRingEglinSteel.name=Eglin-Stahl-Ring -item.itemScrewEglinSteel.name=Eglin-Stahl-Schraube -item.itemRotorEglinSteel.name=Eglin-Stahl-Rotor -item.itemGearEglinSteel.name=Eglin-Stahl-Zahnrad -item.itemIngotMaragingSteel250.name=Maraging-Stahl-250-Barren -item.itemHotIngotMaragingSteel250.name=Hot Maraging-Stahl-250-Barren -item.itemDustMaragingSteel250.name=Maraging-Stahl-250-Staub -item.itemDustTinyMaragingSteel250.name=Winziges Häufchen Maraging-Stahl-250-Staub -item.itemDustSmallMaragingSteel250.name=Kleines Häufchen Maraging-Stahl-250-Staub -item.itemNuggetMaragingSteel250.name=Maraging-Stahl-250-Nugget -item.itemPlateMaragingSteel250.name=Maraging-Stahl-250-Platte -item.itemPlateDoubleMaragingSteel250.name=Doppelte Maraging-Stahl-250-Platte -item.itemBoltMaragingSteel250.name=Maraging-Stahl-250-Bolzen -item.itemRodMaragingSteel250.name=Maraging-Stahl-250-Stange -item.itemRodLongMaragingSteel250.name=Lange Maraging-Stahl-250-Stange -item.itemRingMaragingSteel250.name=Maraging-Stahl-250-Ring -item.itemScrewMaragingSteel250.name=Maraging-Stahl-250-Schraube -item.itemRotorMaragingSteel250.name=Maraging-Stahl-250-Rotor -item.itemGearMaragingSteel250.name=Maraging-Stahl-250-Zahnrad -item.itemIngotMaragingSteel300.name=Maraging-Stahl-300-Barren -item.itemHotIngotMaragingSteel300.name=Hot Maraging-Stahl-300-Barren -item.itemDustMaragingSteel300.name=Maraging-Stahl-300-Staub -item.itemDustTinyMaragingSteel300.name=Winziges Häufchen Maraging-Stahl-300-Staub -item.itemDustSmallMaragingSteel300.name=Kleines Häufchen Maraging-Stahl-300-Staub -item.itemNuggetMaragingSteel300.name=Maraging-Stahl-300-Nugget -item.itemPlateMaragingSteel300.name=Maraging-Stahl-300-Platte -item.itemPlateDoubleMaragingSteel300.name=Doppelte Maraging-Stahl-300-Platte -item.itemBoltMaragingSteel300.name=Maraging-Stahl-300-Bolzen -item.itemRodMaragingSteel300.name=Maraging-Stahl-300-Stange -item.itemRodLongMaragingSteel300.name=Lange Maraging-Stahl-300-Stange -item.itemRingMaragingSteel300.name=Maraging-Stahl-300-Ring -item.itemScrewMaragingSteel300.name=Maraging-Stahl-300-Schraube -item.itemRotorMaragingSteel300.name=Maraging-Stahl-300-Rotor -item.itemGearMaragingSteel300.name=Maraging-Stahl-300-Zahnrad -item.itemIngotMaragingSteel350.name=Maraging-Stahl-350-Barren -item.itemHotIngotMaragingSteel350.name=Hot Maraging-Stahl-350-Barren -item.itemDustMaragingSteel350.name=Maraging-Stahl-350-Staub -item.itemDustTinyMaragingSteel350.name=Winziges Häufchen Maraging-Stahl-350-Staub -item.itemDustSmallMaragingSteel350.name=Kleines Häufchen Maraging-Stahl-350-Staub -item.itemNuggetMaragingSteel350.name=Maraging-Stahl-350-Nugget -item.itemPlateMaragingSteel350.name=Maraging-Stahl-350-Platte -item.itemPlateDoubleMaragingSteel350.name=Doppelte Maraging-Stahl-350-Platte -item.itemBoltMaragingSteel350.name=Maraging-Stahl-350-Bolzen -item.itemRodMaragingSteel350.name=Maraging-Stahl-350-Stange -item.itemRodLongMaragingSteel350.name=Lange Maraging-Stahl-350-Stange -item.itemRingMaragingSteel350.name=Maraging-Stahl-350-Ring -item.itemScrewMaragingSteel350.name=Maraging-Stahl-350-Schraube -item.itemRotorMaragingSteel350.name=Maraging-Stahl-350-Rotor -item.itemGearMaragingSteel350.name=Maraging-Stahl-350-Zahnrad -item.itemIngotStellite.name=Stellite-Barren -item.itemHotIngotStellite.name=Hot Stellite-Barren -item.itemDustStellite.name=Stellite-Staub -item.itemDustTinyStellite.name=Winziges Häufchen Stellite-Staub -item.itemDustSmallStellite.name=Kleines Häufchen Stellite-Staub -item.itemNuggetStellite.name=Stellite-Nugget -item.itemPlateStellite.name=Stellite-Platte -item.itemPlateDoubleStellite.name=Doppelte Stellite-Platte -item.itemBoltStellite.name=Stellite-Bolzen -item.itemRodStellite.name=Stellite-Stange -item.itemRodLongStellite.name=Lange Stellite-Stange -item.itemRingStellite.name=Stellite-Ring -item.itemScrewStellite.name=Stellite-Schraube -item.itemRotorStellite.name=Stellite-Rotor -item.itemGearStellite.name=Stellite-Zahnrad -item.itemIngotTalonite.name=Talonite-Barren -item.itemDustTalonite.name=Talonite-Staub -item.itemDustTinyTalonite.name=Winziges Häufchen Talonite-Staub -item.itemDustSmallTalonite.name=Kleines Häufchen Talonite-Staub -item.itemNuggetTalonite.name=Talonite-Nugget -item.itemPlateTalonite.name=Talonite-Platte -item.itemPlateDoubleTalonite.name=Doppelte Talonite-Platte -item.itemBoltTalonite.name=Talonite-Bolzen -item.itemRodTalonite.name=Talonite-Stange -item.itemRodLongTalonite.name=Lange Talonite-Stange -item.itemRingTalonite.name=Talonite-Ring -item.itemScrewTalonite.name=Talonite-Schraube -item.itemRotorTalonite.name=Talonite-Rotor -item.itemGearTalonite.name=Talonite-Zahnrad -item.itemIngotHastelloyW.name=Hastelloy-W-Barren -item.itemDustHastelloyW.name=Hastelloy-W-Staub -item.itemDustTinyHastelloyW.name=Winziges Häufchen Hastelloy-W-Staub -item.itemDustSmallHastelloyW.name=Kleines Häufchen Hastelloy-W-Staub -item.itemNuggetHastelloyW.name=Hastelloy-W-Nugget -item.itemPlateHastelloyW.name=Hastelloy-W-Platte -item.itemPlateDoubleHastelloyW.name=Doppelte Hastelloy-W-Platte -item.itemBoltHastelloyW.name=Hastelloy-W-Bolzen -item.itemRodHastelloyW.name=Hastelloy-W-Stange -item.itemRodLongHastelloyW.name=Lange Hastelloy-W-Stange -item.itemRingHastelloyW.name=Hastelloy-W-Ring -item.itemScrewHastelloyW.name=Hastelloy-W-Schraube -item.itemRotorHastelloyW.name=Hastelloy-W-Rotor -item.itemGearHastelloyW.name=Hastelloy-W-Zahnrad -item.itemIngotHastelloyX.name=Hastelloy-X-Barren -item.itemDustHastelloyX.name=Hastelloy-X-Staub -item.itemDustTinyHastelloyX.name=Winziges Häufchen Hastelloy-X-Staub -item.itemDustSmallHastelloyX.name=Kleines Häufchen Hastelloy-X-Staub -item.itemNuggetHastelloyX.name=Hastelloy-X-Nugget -item.itemPlateHastelloyX.name=Hastelloy-X-Platte -item.itemPlateDoubleHastelloyX.name=Doppelte Hastelloy-X-Platte -item.itemBoltHastelloyX.name=Hastelloy-X-Bolzen -item.itemRodHastelloyX.name=Hastelloy-X-Stange -item.itemRodLongHastelloyX.name=Lange Hastelloy-X-Stange -item.itemRingHastelloyX.name=Hastelloy-X-Ring -item.itemScrewHastelloyX.name=Hastelloy-X-Schraube -item.itemRotorHastelloyX.name=Hastelloy-X-Rotor -item.itemGearHastelloyX.name=Hastelloy-X-Zahnrad -item.itemIngotHastelloyC276.name=Hastelloy-C276-Barren -item.itemHotIngotHastelloyC276.name=Hot Hastelloy-C276-Barren -item.itemDustHastelloyC276.name=Hastelloy-C276-Staub -item.itemDustTinyHastelloyC276.name=Winziges Häufchen Hastelloy-C276-Staub -item.itemDustSmallHastelloyC276.name=Kleines Häufchen Hastelloy-C276-Staub -item.itemNuggetHastelloyC276.name=Hastelloy-C276-Nugget -item.itemPlateHastelloyC276.name=Hastelloy-C276-Platte -item.itemPlateDoubleHastelloyC276.name=Doppelte Hastelloy-C276-Platte -item.itemBoltHastelloyC276.name=Hastelloy-C276-Bolzen -item.itemRodHastelloyC276.name=Hastelloy-C276-Stange -item.itemRodLongHastelloyC276.name=Lange Hastelloy-C276-Stange -item.itemRingHastelloyC276.name=Hastelloy-C276-Ring -item.itemScrewHastelloyC276.name=Hastelloy-C276-Schraube -item.itemRotorHastelloyC276.name=Hastelloy-C276-Rotor -item.itemGearHastelloyC276.name=Hastelloy-C276-Zahnrad -item.itemIngotHastelloyN.name=Hastelloy-N-Barren -item.itemHotIngotHastelloyN.name=Hot Hastelloy-N-Barren -item.itemDustHastelloyN.name=Hastelloy-N-Staub -item.itemDustTinyHastelloyN.name=Winziges Häufchen Hastelloy-N-Staub -item.itemDustSmallHastelloyN.name=Kleines Häufchen Hastelloy-N-Staub -item.itemNuggetHastelloyN.name=Hastelloy-N-Nugget -item.itemPlateHastelloyN.name=Hastelloy-N-Platte -item.itemPlateDoubleHastelloyN.name=Doppelte Hastelloy-N-Platte -item.itemBoltHastelloyN.name=Hastelloy-N-Bolzen -item.itemRodHastelloyN.name=Hastelloy-N-Stange -item.itemRodLongHastelloyN.name=Lange Hastelloy-N-Stange -item.itemRingHastelloyN.name=Hastelloy-N-Ring -item.itemScrewHastelloyN.name=Hastelloy-N-Schraube -item.itemRotorHastelloyN.name=Hastelloy-N-Rotor -item.itemGearHastelloyN.name=Hastelloy-N-Zahnrad -item.itemIngotIncoloy020.name=Incoloy-020-Barren -item.itemDustIncoloy020.name=Incoloy-020-Staub -item.itemDustTinyIncoloy020.name=Winziges Häufchen Incoloy-020-Staub -item.itemDustSmallIncoloy020.name=Kleines Häufchen Incoloy-020-Staub -item.itemNuggetIncoloy020.name=Incoloy-020-Nugget -item.itemPlateIncoloy020.name=Incoloy-020-Platte -item.itemPlateDoubleIncoloy020.name=Doppelte Incoloy-020-Platte -item.itemBoltIncoloy020.name=Incoloy-020-Bolzen -item.itemRodIncoloy020.name=Incoloy-020-Stange -item.itemRodLongIncoloy020.name=Lange Incoloy-020-Stange -item.itemRingIncoloy020.name=Incoloy-020-Ring -item.itemScrewIncoloy020.name=Incoloy-020-Schraube -item.itemRotorIncoloy020.name=Incoloy-020-Rotor -item.itemGearIncoloy020.name=Incoloy-020-Zahnrad -item.itemIngotIncoloyDS.name=Incoloy-DS-Barren -item.itemDustIncoloyDS.name=Incoloy-DS-Staub -item.itemDustTinyIncoloyDS.name=Winziges Häufchen Incoloy-DS-Staub -item.itemDustSmallIncoloyDS.name=Kleines Häufchen Incoloy-DS-Staub -item.itemNuggetIncoloyDS.name=Incoloy-DS-Nugget -item.itemPlateIncoloyDS.name=Incoloy-DS-Platte -item.itemPlateDoubleIncoloyDS.name=Doppelte Incoloy-DS-Platte -item.itemBoltIncoloyDS.name=Incoloy-DS-Bolzen -item.itemRodIncoloyDS.name=Incoloy-DS-Stange -item.itemRodLongIncoloyDS.name=Lange Incoloy-DS-Stange -item.itemRingIncoloyDS.name=Incoloy-DS-Ring -item.itemScrewIncoloyDS.name=Incoloy-DS-Schraube -item.itemRotorIncoloyDS.name=Incoloy-DS-Rotor -item.itemGearIncoloyDS.name=Incoloy-DS-Zahnrad -item.itemIngotIncoloyMA956.name=Incoloy-MA956-Barren -item.itemHotIngotIncoloyMA956.name=Hot Incoloy-MA956-Barren -item.itemDustIncoloyMA956.name=Incoloy-MA956-Staub -item.itemDustTinyIncoloyMA956.name=Winziges Häufchen Incoloy-MA956-Staub -item.itemDustSmallIncoloyMA956.name=Kleines Häufchen Incoloy-MA956-Staub -item.itemNuggetIncoloyMA956.name=Incoloy-MA956-Nugget -item.itemPlateIncoloyMA956.name=Incoloy-MA956-Platte -item.itemPlateDoubleIncoloyMA956.name=Doppelte Incoloy-MA956-Platte -item.itemBoltIncoloyMA956.name=Incoloy-MA956-Bolzen -item.itemRodIncoloyMA956.name=Incoloy-MA956-Stange -item.itemRodLongIncoloyMA956.name=Lange Incoloy-MA956-Stange -item.itemRingIncoloyMA956.name=Incoloy-MA956-Ring -item.itemScrewIncoloyMA956.name=Incoloy-MA956-Schraube -item.itemRotorIncoloyMA956.name=Incoloy-MA956-Rotor -item.itemGearIncoloyMA956.name=Incoloy-MA956-Zahnrad -item.itemIngotGrisium.name=Grisium-Barren -item.itemHotIngotGrisium.name=Hot Grisium-Barren -item.itemDustGrisium.name=Grisium-Staub -item.itemDustTinyGrisium.name=Winziges Häufchen Grisium-Staub -item.itemDustSmallGrisium.name=Kleines Häufchen Grisium-Staub -item.itemNuggetGrisium.name=Grisium-Nugget -item.itemPlateGrisium.name=Grisium-Platte -item.itemPlateDoubleGrisium.name=Doppelte Grisium-Platte -item.itemBoltGrisium.name=Grisium-Bolzen -item.itemRodGrisium.name=Grisium-Stange -item.itemRodLongGrisium.name=Lange Grisium-Stange -item.itemRingGrisium.name=Grisium-Ring -item.itemScrewGrisium.name=Grisium-Schraube -item.itemRotorGrisium.name=Grisium-Rotor -item.itemGearGrisium.name=Grisium-Zahnrad -item.itemIngotHG1223.name=HG-1223-Barren -item.itemDustHG1223.name=HG-1223-Staub -item.itemDustTinyHG1223.name=Winziges Häufchen HG-1223-Staub -item.itemDustSmallHG1223.name=Kleines Häufchen HG-1223-Staub -item.itemNuggetHG1223.name=HG-1223-Nugget -item.itemPlateHG1223.name=HG-1223-Platte -item.itemPlateDoubleHG1223.name=Doppelte HG-1223-Platte -item.itemIngotTrinium.name=Trinium-Barren -item.itemDustTrinium.name=Trinium-Staub -item.itemDustTinyTrinium.name=Winziges Häufchen Trinium-Staub -item.itemDustSmallTrinium.name=Kleines Häufchen Trinium-Staub -item.itemNuggetTrinium.name=Trinium-Nugget -item.itemPlateTrinium.name=Trinium-Platte -item.itemPlateDoubleTrinium.name=Doppelte Trinium-Platte -item.itemIngotRefinedTrinium.name=Raffinierter Trinium-Barren -item.itemDustRefinedTrinium.name=Raffinierter Trinium-Staub -item.itemDustTinyRefinedTrinium.name=Winziges Häufchen raffinierter Trinium-Staub -item.itemDustSmallRefinedTrinium.name=Kleines Häufchen raffinierter Trinium-Staub -item.itemNuggetRefinedTrinium.name=Raffinierter Trinium-Nugget -item.itemPlateRefinedTrinium.name=Raffinierte Trinium-Platte -item.itemPlateDoubleRefinedTrinium.name=Doppelte raffinierte Trinium-Platte -item.itemIngotTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Barren -item.itemHotIngotTriniumTitaniumAlloy.name=Hot Trinium-Titanium-Legierung-Barren -item.itemDustTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Staub -item.itemDustTinyTriniumTitaniumAlloy.name=Winziges Häufchen Trinium-Titanium-Legierung-Staub -item.itemDustSmallTriniumTitaniumAlloy.name=Kleines Häufchen Trinium-Titanium-Legierung-Staub -item.itemNuggetTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Nugget -item.itemPlateTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Platte -item.itemPlateDoubleTriniumTitaniumAlloy.name=Doppelte Trinium-Titanium-Legierung-Platte -item.itemBoltTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Bolzen -item.itemRodTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Stange -item.itemRodLongTriniumTitaniumAlloy.name=Lange Trinium-Titanium-Legierung-Stange -item.itemRingTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Ring -item.itemScrewTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Schraube -item.itemRotorTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Rotor -item.itemGearTriniumTitaniumAlloy.name=Trinium-Titanium-Legierung-Zahnrad -item.itemIngotTriniumNaquadahAlloy.name=Trinium-Naquadah-Legierung-Barren -item.itemDustTriniumNaquadahAlloy.name=Trinium-Naquadah-Legierung-Staub -item.itemDustTinyTriniumNaquadahAlloy.name=Winziges Häufchen Trinium-Naquadah-Legierung-Staub -item.itemDustSmallTriniumNaquadahAlloy.name=Kleines Häufchen Trinium-Naquadah-Legierung-Staub -item.itemNuggetTriniumNaquadahAlloy.name=Trinium-Naquadah-Legierung-Nugget -item.itemPlateTriniumNaquadahAlloy.name=Trinium-Naquadah-Legierung-Platte -item.itemPlateDoubleTriniumNaquadahAlloy.name=Doppelte Trinium-Naquadah-Legierung-Platte -item.itemIngotTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Barren -item.itemHotIngotTriniumNaquadahCarbonite.name=Hot Trinium-Naquadah-Carbonit-Barren -item.itemDustTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Staub -item.itemDustTinyTriniumNaquadahCarbonite.name=Winziges Häufchen Trinium-Naquadah-Carbonit-Staub -item.itemDustSmallTriniumNaquadahCarbonite.name=Kleines Häufchen Trinium-Naquadah-Carbonit-Staub -item.itemNuggetTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Nugget -item.itemPlateTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Platte -item.itemPlateDoubleTriniumNaquadahCarbonite.name=Doppelte Trinium-Naquadah-Carbonit-Platte -item.itemBoltTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Bolzen -item.itemRodTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Stange -item.itemRodLongTriniumNaquadahCarbonite.name=Lange Trinium-Naquadah-Carbonit-Stange -item.itemRingTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Ring -item.itemScrewTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Schraube -item.itemRotorTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Rotor -item.itemGearTriniumNaquadahCarbonite.name=Trinium-Naquadah-Carbonit-Zahnrad -item.itemIngotQuantum.name=Quanten-Barren -item.itemHotIngotQuantum.name=Hot Quanten-Barren -item.itemDustQuantum.name=Quanten-Staub -item.itemDustTinyQuantum.name=Winziges Häufchen Quanten-Staub -item.itemDustSmallQuantum.name=Kleines Häufchen Quanten-Staub -item.itemNuggetQuantum.name=Quanten-Nugget -item.itemPlateQuantum.name=Quanten-Platte -item.itemPlateDoubleQuantum.name=Doppelte Quanten-Platte -item.itemBoltQuantum.name=Quanten-Bolzen -item.itemRodQuantum.name=Quanten-Stange -item.itemRodLongQuantum.name=Lange Quanten-Stange -item.itemRingQuantum.name=Quanten-Ring -item.itemScrewQuantum.name=Quanten-Schraube -item.itemRotorQuantum.name=Quanten-Rotor -item.itemGearQuantum.name=Quanten-Zahnrad -item.itemDustFluorite.name=Fluorit-Staub -item.itemDustTinyFluorite.name=Winziges Häufchen Fluorit-Staub -item.itemDustSmallFluorite.name=Kleines Häufchen Fluorit-Staub -item.crushedFluorite.name=Zerkleinertes Fluorit-Erz -item.crushedCentrifugedFluorite.name=Zentrifugiertes zerkleinertes Fluorit-Erz -item.crushedPurifiedFluorite.name=Gereinigtes zerkleinertes Fluorit-Erz -item.dustImpureFluorite.name=Ungereinigtes Fluorit-Staub -item.dustPureFluorite.name=Gereinigtes Fluorit-Staub -item.itemDustCrocoite.name=Crocoit-Staub -item.itemDustTinyCrocoite.name=Winziges Häufchen Crocoit-Staub -item.itemDustSmallCrocoite.name=Kleines Häufchen Crocoit-Staub -item.crushedCrocoite.name=Zerkleinertes Crocoit-Erz -item.crushedCentrifugedCrocoite.name=Zentrifugiertes zerkleinertes Crocoit-Erz -item.crushedPurifiedCrocoite.name=Gereinigtes zerkleinertes Crocoit-Erz -item.dustImpureCrocoite.name=Ungereinigtes Crocoit-Staub -item.dustPureCrocoite.name=Gereinigtes Crocoit-Staub -item.itemDustGeikielite.name=Geikielite-Staub -item.itemDustTinyGeikielite.name=Winziges Häufchen Geikielite-Staub -item.itemDustSmallGeikielite.name=Kleines Häufchen Geikielite-Staub -item.crushedGeikielite.name=Zerkleinertes Geikielite-Erz -item.crushedCentrifugedGeikielite.name=Zentrifugiertes zerkleinertes Geikielite-Erz -item.crushedPurifiedGeikielite.name=Gereinigtes zerkleinertes Geikielite-Erz -item.dustImpureGeikielite.name=Ungereinigtes Geikielite-Staub -item.dustPureGeikielite.name=Gereinigtes Geikielite-Staub -item.itemDustNichromite.name=Nichromit-Staub -item.itemDustTinyNichromite.name=Winziges Häufchen Nichromit-Staub -item.itemDustSmallNichromite.name=Kleines Häufchen Nichromit-Staub -item.crushedNichromite.name=Zerkleinertes Nichromit-Erz -item.crushedCentrifugedNichromite.name=Zentrifugiertes zerkleinertes Nichromit-Erz -item.crushedPurifiedNichromite.name=Gereinigtes zerkleinertes Nichromit-Erz -item.dustImpureNichromite.name=Ungereinigtes Nichromit-Staub -item.dustPureNichromite.name=Gereinigtes Nichromit-Staub -item.itemDustTitanite.name=Titanit-Staub -item.itemDustTinyTitanite.name=Winziges Häufchen Titanit-Staub -item.itemDustSmallTitanite.name=Kleines Häufchen Titanit-Staub -item.crushedTitanite.name=Zerkleinertes Titanit-Erz -item.crushedCentrifugedTitanite.name=Zentrifugiertes zerkleinertes Titanit-Erz -item.crushedPurifiedTitanite.name=Gereinigtes zerkleinertes Titanit-Erz -item.dustImpureTitanite.name=Ungereinigtes Titanit-Staub -item.dustPureTitanite.name=Gereinigtes Titanit-Staub -item.itemDustZimbabweite.name=Zimbabweit-Staub -item.itemDustTinyZimbabweite.name=Winziges Häufchen Zimbabweit-Staub -item.itemDustSmallZimbabweite.name=Kleines Häufchen Zimbabweit-Staub -item.crushedZimbabweite.name=Zerkleinertes Zimbabweit-Erz -item.crushedCentrifugedZimbabweite.name=Zentrifugiertes zerkleinertes Zimbabweit-Erz -item.crushedPurifiedZimbabweite.name=Gereinigtes zerkleinertes Zimbabweit-Erz -item.dustImpureZimbabweite.name=Ungereinigtes Zimbabweit-Staub -item.dustPureZimbabweite.name=Gereinigtes Zimbabweit-Staub -item.itemDustZirconolite.name=Zirkonolit-Staub -item.itemDustTinyZirconolite.name=Winziges Häufchen Zirkonolit-Staub -item.itemDustSmallZirconolite.name=Kleines Häufchen Zirkonolit-Staub -item.crushedZirconolite.name=Zerkleinertes Zirkonolit-Erz -item.crushedCentrifugedZirconolite.name=Zentrifugiertes zerkleinertes Zirkonolit-Erz -item.crushedPurifiedZirconolite.name=Gereinigtes zerkleinertes Zirkonolit-Erz -item.dustImpureZirconolite.name=Ungereinigter Zirkonolit-Staub -item.dustPureZirconolite.name=Gereinigter Zirkonolit-Staub -item.itemDustGadoliniteCe.name=Gadolinit(Ce)-Staub -item.itemDustTinyGadoliniteCe.name=Winziges Häufchen Gadolinit(Ce)-Staub -item.itemDustSmallGadoliniteCe.name=Kleines Häufchen Gadolinit(Ce)-Staub -item.crushedGadoliniteCe.name=Zerkleinertes Gadolinit(Ce)-Erz -item.crushedCentrifugedGadoliniteCe.name=Zentrifugiertes zerkleinertes Gadolinit(Ce)-Erz -item.crushedPurifiedGadoliniteCe.name=Gereinigtes zerkleinertes Gadolinit(Ce)-Erz -item.dustImpureGadoliniteCe.name=Ungereinigter Gadolinit(Ce)-Staub -item.dustPureGadoliniteCe.name=Gereinigter Gadolinit(Ce)-Staub -item.itemDustGadoliniteY.name=Gadolinit(Y)-Staub -item.itemDustTinyGadoliniteY.name=Winziges Häufchen Gadolinit(Y)-Staub -item.itemDustSmallGadoliniteY.name=Kleines Häufchen Gadolinit(Y)-Staub -item.crushedGadoliniteY.name=Zerkleinertes Gadolinit(Y)-Erz -item.crushedCentrifugedGadoliniteY.name=Zentrifugiertes zerkleinertes Gadolinit(Y)-Erz -item.crushedPurifiedGadoliniteY.name=Gereinigtes zerkleinertes Gadolinit(Y)-Erz -item.dustImpureGadoliniteY.name=Ungereinigter Gadolinit(Y)-Staub -item.dustPureGadoliniteY.name=Gereinigter Gadolinit(Y)-Staub -item.itemDustLepersonnite.name=Lepersonnit-Staub -item.itemDustTinyLepersonnite.name=Winziges Häufchen Lepersonnite-Staub -item.itemDustSmallLepersonnite.name=Kleines Häufchen Lepersonnite-Staub -item.crushedLepersonnite.name=Zerkleinertes Lepersonnite-Erz -item.crushedCentrifugedLepersonnite.name=Zentrifugiertes zerkleinertes Lepersonnite-Erz -item.crushedPurifiedLepersonnite.name=Gereinigtes zerkleinertes Lepersonnite-Erz -item.dustImpureLepersonnite.name=Ungereinigter Lepersonnite-Staub -item.dustPureLepersonnite.name=Gereinigter Lepersonnite-Staub -item.itemDustSamarskiteY.name=Samarsikt(Y)-Staub -item.itemDustTinySamarskiteY.name=Winziges Häufchen Samarsikt(Y)-Staub -item.itemDustSmallSamarskiteY.name=Kleines Häufchen Samarsikt(Y)-Staub -item.crushedSamarskiteY.name=Zerkleinertes Samarsikt(Y)-Erz -item.crushedCentrifugedSamarskiteY.name=Zentrifugiertes zerkleinertes Samarsikt(Y)-Erz -item.crushedPurifiedSamarskiteY.name=Gereinigtes zerkleinertes Samarsikt(Y)-Erz -item.dustImpureSamarskiteY.name=Ungereinigter Samarsikt(Y)-Staub -item.dustPureSamarskiteY.name=Gereinigter Samarsikt(Y)-Staub -item.itemDustSamarskiteYb.name=Samarsikt(Yb)-Staub -item.itemDustTinySamarskiteYb.name=Winziges Häufchen Samarsikt(Yb)-Staub -item.itemDustSmallSamarskiteYb.name=Kleines Häufchen Samarsikt(Yb)-Staub -item.crushedSamarskiteYb.name=Zerkleinertes Samarsikt(Yb)-Erz -item.crushedCentrifugedSamarskiteYb.name=Zentrifugiertes zerkleinertes Samarsikt(Yb)-Erz -item.crushedPurifiedSamarskiteYb.name=Gereinigtes zerkleinertes Samarsikt(Yb)-Erz -item.dustImpureSamarskiteYb.name=Ungereinigter Samarsikt(Yb)-Staub -item.dustPureSamarskiteYb.name=Gereinigter Samarsikt(Yb)-Staub -item.itemDustXenotime.name=Xenotime-Staub -item.itemDustTinyXenotime.name=Winziges Häufchen Xenotime-Staub -item.itemDustSmallXenotime.name=Kleines Häufchen Xenotime-Staub -item.crushedXenotime.name=Zerkleinertes Xenotime-Erz -item.crushedCentrifugedXenotime.name=Zentrifugiertes zerkleinertes Xenotime-Erz -item.crushedPurifiedXenotime.name=Gereinigtes zerkleinertes Xenotime-Erz -item.dustImpureXenotime.name=Ungereinigter Xenotime-Staub -item.dustPureXenotime.name=Gereinigter Xenotime-Staub -item.itemDustYttriaite.name=Yttriait-Staub -item.itemDustTinyYttriaite.name=Winziges Häufchen Yttriait-Staub -item.itemDustSmallYttriaite.name=Kleines Häufchen Yttriait-Staub -item.crushedYttriaite.name=Zerkleinertes Yttriait-Erz -item.crushedCentrifugedYttriaite.name=Zentrifugiertes zerkleinertes Yttriait-Erz -item.crushedPurifiedYttriaite.name=Gereinigtes zerkleinertes Yttriait-Erz -item.dustImpureYttriaite.name=Ungereinigter Yttriait-Staub -item.dustPureYttriaite.name=Gereinigter Yttriait-Staub -item.itemDustYttrialite.name=Yttrialit-Staub -item.itemDustTinyYttrialite.name=Winziges Häufchen Yttrialit-Staub -item.itemDustSmallYttrialite.name=Kleines Häufchen Yttrialit-Staub -item.crushedYttrialite.name=Zerkleinertes Yttrialit-Erz -item.crushedCentrifugedYttrialite.name=Zentrifugiertes zerkleinertes Yttrialit-Erz -item.crushedPurifiedYttrialite.name=Gereinigtes zerkleinertes Yttrialit-Erz -item.dustImpureYttrialite.name=Ungereinigter Yttrialit-Staub -item.dustPureYttrialite.name=Gereinigter Yttrialit-Staub -item.itemDustYttrocerite.name=Yttrocerite-Staub -item.itemDustTinyYttrocerite.name=Winziges Häufchen Yttrocerite-Staub -item.itemDustSmallYttrocerite.name=Kleines Häufchen Yttrocerite-Staub -item.crushedYttrocerite.name=Zerkleinertes Yttrocerite-Erz -item.crushedCentrifugedYttrocerite.name=Zentrifugiertes zerkleinertes Yttrocerite-Erz -item.crushedPurifiedYttrocerite.name=Gereinigtes zerkleinertes Yttrocerite-Erz -item.dustImpureYttrocerite.name=Ungereinigter Yttrocerite-Staub -item.dustPureYttrocerite.name=Gereinigter Yttrocerite-Staub -item.itemDustZircon.name=Zirkon-Staub -item.itemDustTinyZircon.name=Winziges Häufchen Zirkon-Staub -item.itemDustSmallZircon.name=Kleines Häufchen Zirkon-Staub -item.crushedZircon.name=Zerkleinertes Zirkon-Erz -item.crushedCentrifugedZircon.name=Zentrifugiertes zerkleinertes Zirkon-Erz -item.crushedPurifiedZircon.name=Gereinigtes zerkleinertes Zirkon-Erz -item.dustImpureZircon.name=Ungereinigter Zirkon-Staub -item.dustPureZircon.name=Gereinigter Zirkon-Staub -item.itemDustPolycrase.name=Polycrase-Staub -item.itemDustTinyPolycrase.name=Winziges Häufchen Polycrase-Staub -item.itemDustSmallPolycrase.name=Kleines Häufchen Polycrase-Staub -item.crushedPolycrase.name=Zerkleinertes Polycrase-Erz -item.crushedCentrifugedPolycrase.name=Zentrifugiertes zerkleinertes Polycrase-Erz -item.crushedPurifiedPolycrase.name=Gereinigtes zerkleinertes Polycrase-Erz -item.dustImpurePolycrase.name=Ungereinigter Polycrase-Staub -item.dustPurePolycrase.name=Gereinigter Polycrase-Staub -item.itemDustZircophyllite.name=Zirkophyllit-Staub -item.itemDustTinyZircophyllite.name=Winziges Häufchen Zirkophyllit-Staub -item.itemDustSmallZircophyllite.name=Kleines Häufchen Zirkophyllit-Staub -item.crushedZircophyllite.name=Zerkleinertes Zirkophyllit-Erz -item.crushedCentrifugedZircophyllite.name=Zentrifugiertes zerkleinertes Zirkophyllit-Erz -item.crushedPurifiedZircophyllite.name=Gereinigtes zerkleinertes Zirkophyllit-Erz -item.dustImpureZircophyllite.name=Ungereinigter Zirkophyllit-Staub -item.dustPureZircophyllite.name=Gereinigter Zirkophyllit-Staub -item.itemDustZirkelite.name=Zirkelit-Staub -item.itemDustTinyZirkelite.name=Winziges Häufchen Zirkelit-Staub -item.itemDustSmallZirkelite.name=Kleines Häufchen Zirkelit-Staub -item.crushedZirkelite.name=Zerkleinertes Zirkelit-Erz -item.crushedCentrifugedZirkelite.name=Zentrifugiertes zerkleinertes Zirkelit-Erz -item.crushedPurifiedZirkelite.name=Gereinigtes zerkleinertes Zirkelit-Erz -item.dustImpureZirkelite.name=Ungereinigter Zirkelit-Staub -item.dustPureZirkelite.name=Gereinigter Zirkelit-Staub -item.itemDustLanthaniteLa.name=Lanthanit(La)-Staub -item.itemDustTinyLanthaniteLa.name=Winziges Häufchen Lanthanit(La)-Staub -item.itemDustSmallLanthaniteLa.name=Kleines Häufchen Lanthanit(La)-Staub -item.crushedLanthaniteLa.name=Zerkleinertes Lanthanit(La)-Erz -item.crushedCentrifugedLanthaniteLa.name=Zentrifugiertes zerkleinertes Lanthanit(La)-Erz -item.crushedPurifiedLanthaniteLa.name=Gereinigtes zerkleinertes Lanthanit(La)-Erz -item.dustImpureLanthaniteLa.name=Ungereinigter Lanthanit(La)-Staub -item.dustPureLanthaniteLa.name=Gereinigter Lanthanit(La)-Staub -item.itemDustLanthaniteCe.name=Lanthanit(Ce)-Staub -item.itemDustTinyLanthaniteCe.name=Winziges Häufchen Lanthanit(Ce)-Staub -item.itemDustSmallLanthaniteCe.name=Kleines Häufchen Lanthanit(Ce)-Staub -item.crushedLanthaniteCe.name=Zerkleinertes Lanthanit(Ce)-Erz -item.crushedCentrifugedLanthaniteCe.name=Zentrifugiertes zerkleinertes Lanthanit(Ce)-Erz -item.crushedPurifiedLanthaniteCe.name=Gereinigtes zerkleinertes Lanthanit(Ce)-Erz -item.dustImpureLanthaniteCe.name=Ungereinigter Lanthanit(Ce)-Staub -item.dustPureLanthaniteCe.name=Gereinigter Lanthanit(Ce)-Staub -item.itemDustLanthaniteNd.name=Lanthanit(Nd)-Staub -item.itemDustTinyLanthaniteNd.name=Winziges Häufchen Lanthanit(Nd)-Staub -item.itemDustSmallLanthaniteNd.name=Kleines Häufchen Lanthanit(Nd)-Staub -item.crushedLanthaniteNd.name=Zerkleinertes Lanthanit(Nd)-Erz -item.crushedCentrifugedLanthaniteNd.name=Zentrifugiertes zerkleinertes Lanthanit(Nd)-Erz -item.crushedPurifiedLanthaniteNd.name=Gereinigtes zerkleinertes Lanthanit(Nd)-Erz -item.dustImpureLanthaniteNd.name=Ungereinigter Lanthanit(Nd)-Staub -item.dustPureLanthaniteNd.name=Gereinigter Lanthanit(Nd)-Staub -item.itemDustAgarditeY.name=Agardit(Y)-Staub -item.itemDustTinyAgarditeY.name=Winziges Häufchen Agardit(Y)-Staub -item.itemDustSmallAgarditeY.name=Kleines Häufchen Agardit(Y)-Staub -item.crushedAgarditeY.name=Zerkleinertes Agardit(Y)-Erz -item.crushedCentrifugedAgarditeY.name=Zentrifugiertes zerkleinertes Agardit(Y)-Erz -item.crushedPurifiedAgarditeY.name=Gereinigtes zerkleinertes Agardit(Y)-Erz -item.dustImpureAgarditeY.name=Ungereinigter Agardit(Y)-Staub -item.dustPureAgarditeY.name=Gereinigter Agardit(Y)-Staub -item.itemDustAgarditeCd.name=Agardit(Cd)-Staub -item.itemDustTinyAgarditeCd.name=Winziges Häufchen Agardit(Cd)-Staub -item.itemDustSmallAgarditeCd.name=Kleines Häufchen Agardit(Cd)-Staub -item.crushedAgarditeCd.name=Zerkleinertes Agardit(Cd)-Erz -item.crushedCentrifugedAgarditeCd.name=Zentrifugiertes zerkleinertes Agardit(Cd)-Erz -item.crushedPurifiedAgarditeCd.name=Gereinigtes zerkleinertes Agardit(Cd)-Erz -item.dustImpureAgarditeCd.name=Ungereinigter Agardit(Cd)-Staub -item.dustPureAgarditeCd.name=Gereinigter Agardit(Cd)-Staub -item.itemDustAgarditeLa.name=Agardit(La)-Staub -item.itemDustTinyAgarditeLa.name=Winziges Häufchen Agardit(La)-Staub -item.itemDustSmallAgarditeLa.name=Kleines Häufchen Agardit(La)-Staub -item.crushedAgarditeLa.name=Zerkleinertes Agardit(La)-Erz -item.crushedCentrifugedAgarditeLa.name=Zentrifugiertes zerkleinertes Agardit(La)-Erz -item.crushedPurifiedAgarditeLa.name=Gereinigtes zerkleinertes Agardit(La)-Erz -item.dustImpureAgarditeLa.name=Ungereinigter Agardit(La)-Staub -item.dustPureAgarditeLa.name=Gereinigter Agardit(La)-Staub -item.itemDustAgarditeNd.name=Agardit(Nd)-Staub -item.itemDustTinyAgarditeNd.name=Winziges Häufchen Agardit(Nd)-Staub -item.itemDustSmallAgarditeNd.name=Kleines Häufchen Agardit(Nd)-Staub -item.crushedAgarditeNd.name=Zerkleinertes Agardit(Nd)-Erz -item.crushedCentrifugedAgarditeNd.name=Zentrifugiertes zerkleinertes Agardit(Nd)-Erz -item.crushedPurifiedAgarditeNd.name=Gereinigtes zerkleinertes Agardit(Nd)-Erz -item.dustImpureAgarditeNd.name=Ungereinigter Agardit(Nd)-Staub -item.dustPureAgarditeNd.name=Gereinigter Agardit(Nd)-Staub -item.itemDustHibonite.name=Hibonit-Staub -item.itemDustTinyHibonite.name=Winziges Häufchen Hibonit-Staub -item.itemDustSmallHibonite.name=Kleines Häufchen Hibonit-Staub -item.crushedHibonite.name=Zerkleinertes Hibonit-Erz -item.crushedCentrifugedHibonite.name=Zentrifugiertes zerkleinertes Hibonit-Erz -item.crushedPurifiedHibonite.name=Gereinigtes zerkleinertes Hibonit-Erz -item.dustImpureHibonite.name=Ungereinigter Hibonit-Staub -item.dustPureHibonite.name=Gereinigter Hibonit-Staub -item.itemDustCerite.name=Cerit-Staub -item.itemDustTinyCerite.name=Winziges Häufchen Cerit-Staub -item.itemDustSmallCerite.name=Kleines Häufchen Cerit-Staub -item.crushedCerite.name=Zerkleinertes Cerit-Erz -item.crushedCentrifugedCerite.name=Zentrifugiertes zerkleinertes Cerit-Erz -item.crushedPurifiedCerite.name=Gereinigtes zerkleinertes Cerit-Erz -item.dustImpureCerite.name=Ungereinigter Cerit-Staub -item.dustPureCerite.name=Gereinigter Cerit-Staub -item.itemDustFluorcaphite.name=Fluorcaphit-Staub -item.itemDustTinyFluorcaphite.name=Winziges Häufchen Fluorcaphit-Staub -item.itemDustSmallFluorcaphite.name=Kleines Häufchen Fluorcaphit-Staub -item.crushedFluorcaphite.name=Zerkleinertes Fluorcaphit-Erz -item.crushedCentrifugedFluorcaphite.name=Zentrifugiertes zerkleinertes Fluorcaphit-Erz -item.crushedPurifiedFluorcaphite.name=Gereinigtes zerkleinertes Fluorcaphit-Erz -item.dustImpureFluorcaphite.name=Ungereinigter Fluorcaphit-Staub -item.dustPureFluorcaphite.name=Gereinigter Fluorcaphit-Staub -item.itemDustFlorencite.name=Florencit-Staub -item.itemDustTinyFlorencite.name=Winziges Häufchen Florencit-Staub -item.itemDustSmallFlorencite.name=Kleines Häufchen Florencit-Staub -item.crushedFlorencite.name=Zerkleinertes Florencit-Erz -item.crushedCentrifugedFlorencite.name=Zentrifugiertes zerkleinertes Florencit-Erz -item.crushedPurifiedFlorencite.name=Gereinigtes zerkleinertes Florencit-Erz -item.dustImpureFlorencite.name=Ungereinigter Florencit-Staub -item.dustPureFlorencite.name=Gereinigter Florencit-Staub -item.itemDustCryolite.name=Cryolit-Staub -item.itemDustTinyCryolite.name=Winziges Häufchen Cryolit-Staub -item.itemDustSmallCryolite.name=Kleines Häufchen Cryolit-Staub -item.crushedCryolite.name=Zerkleinertes Cryolit-Erz -item.crushedCentrifugedCryolite.name=Zentrifugiertes zerkleinertes Cryolit-Erz -item.crushedPurifiedCryolite.name=Gereinigtes zerkleinertes Cryolit-Erz -item.dustImpureCryolite.name=Ungereinigter Cryolit-Staub -item.dustPureCryolite.name=Gereinigter Cryolit-Staub - -//Shards -item.itemDrained.name=Erschöpfte Scherbe -item.itemDustInfusedAir.name=Infundierter Luftstaub -item.itemDustInfusedFire.name=Infundierter Feuerstaub -item.itemDustInfusedEarth.name=Infundierter Erdstaub -item.itemDustInfusedWater.name=Infundierter Wasserstaub - - -//Misc Material Items -item.itemDustLithiumCarbonate.name=Lithium-Karbonat-Staub -item.itemDustSmallLithiumCarbonate.name=Kleines Häufchen Lithium-Karbonat-Staub -item.itemDustTinyLithiumCarbonate.name=Winziges Häufchen Lithium-Karbonat-Staub -item.itemDustLithiumPeroxide.name=Lithium-Peroxid-Staub -item.itemDustSmallLithiumPeroxide.name=Kleines Häufchen Lithium-Peroxid-Staub -item.itemDustTinyLithiumPeroxide.name=Winziges Häufchen Lithium-Peroxid-Staub -item.itemDustLithiumHydroxide.name=Lithium-Hydroxid-Staub -item.itemDustSmallLithiumHydroxide.name=Kleines Häufchen Lithium-Hydroxid-Staub -item.itemDustTinyLithiumHydroxide.name=Winziges Häufchen Lithium-Hydroxid-Staub -item.itemDustCalciumHydroxide.name=Kalkhydrat-Staub -item.itemDustSmallCalciumHydroxide.name=Kleines Häufchen Kalkhydrat-Staub -item.itemDustTinyCalciumHydroxide.name=Winziges Häufchen Kalkhydrat-Staub -item.itemDustCalciumCarbonate.name=Calcium-Karbonat-Staub -item.itemDustSmallCalciumCarbonate.name=Kleines Häufchen Calcium-Karbonat-Staub -item.itemDustTinyCalciumCarbonate.name=Winziges Häufchen Calcium-Karbonat-Staub -item.itemDustGypsum.name=Calcium-Sulfat(Gypsum)-Staub -item.itemDustSmallGypsum.name=Kleines Häufchen Calcium-Sulfat(Gypsum)-Staub -item.itemDustTinyGypsum.name=Winziges Häufchen Calcium-Sulfat(Gypsum)-Staub -item.itemDustLi2CO3CaOH2.name=Li2CO3 + Ca(OH)2 Komposit-Staub -item.itemDustSmallLi2CO3CaOH2.name=Kleines Häufchen Li2CO3 + Ca(OH)2 Komposit-Staub -item.itemDustTinyLi2CO3CaOH2.name=Winziges Häufchen Li2CO3 + Ca(OH)2 Komposit-Staub -item.itemDustLi2BeF4.name=Li2BeF4 Treibstoff-Komposit-Staub -item.itemDustSmallLi2BeF4.name=Kleines Häufchen Li2BeF4 Treibstoff-Komposit-Staub -item.itemDustTinyLi2BeF4.name=Winziges Häufchen Li2BeF4 Treibstoff-Komposit-Staub -item.Li2BeF4.name=Li2BeF4-Zelle -item.itemCircuitLFTR.name=§aThorium Reaktorkontrollschaltung -item.itemZirconiumPellet.name=Zirkonium-Pellet [ZrCl₄] -item.itemDustZrCl4.name=ZrCl4-Staub -item.itemDustSmallZrCl4.name=Kleines Häufchen ZrCl4-Staub -item.itemDustTinyZrCl4.name=Winziges Häufchen ZrCl4-Staub -item.itemDustCookedZrCl4.name=gebrannter ZrCl4-Staub -item.itemDustSmallCookedZrCl4.name=Kleines Häufchen gebrannter ZrCl4-Staub -item.itemDustTinyCookedZrCl4.name=Winziges Häufchen gebrannter ZrCl4-Staub -item.itemDustUN18Fertiliser.name=UN-18 Dünger-Staub -item.itemDustSmallUN18Fertiliser.name=Kleines Häufchen UN-18 Dünger-Staub -item.itemDustTinyUN18Fertiliser.name=Winziges Häufchen UN-18 Dünger-Staub -item.itemDustUN32Fertiliser.name=UN-32 Dünger-Staub -item.itemDustSmallUN32Fertiliser.name=Kleines Häufchen UN-32 Dünger-Staub -item.itemDustTinyUN32Fertiliser.name=Winziges Häufchen UN-32 Dünger-Staub - -//Multitools -item.AluminiumMultipick.name=Aluminium-Multi-Spitzhacke -item.AluminiumMultispade.name=Aluminium-Multi-Schaufel -item.BerylliumMultispade.name=Beryllium-Multi-Schaufel -item.BismuthMultispade.name=Bismuth-Multi-Schaufel -item.CarbonMultispade.name=Karbon-Multi-Schaufel -item.ChromeMultipick.name=Chrom-Multi-Spitzhacke -item.ChromeMultispade.name=Chrom-Multi-Schaufel -item.CobaltMultipick.name=Kobalt-Multi-Spitzhacke -item.CobaltMultispade.name=Kobalt-Multi-Schaufel -item.GoldMultispade.name=Gold-Multi-Schaufel -item.IridiumMultipick.name=Iridium-Multi-Spitzhacke -item.IridiumMultispade.name=Iridium-Multi-Schaufel -item.IronMultipick.name=Eisen-Multi-Spitzhacke -item.IronMultispade.name=Eisen-Multi-Schaufel -item.LeadMultispade.name=Blei-Multi-Schaufel -item.ManganeseMultipick.name=Mangan-Multi-Spitzhacke -item.ManganeseMultispade.name=Mangan-Multi-Schaufel -item.MolybdenumMultipick.name=Molybdän-Multi-Spitzhacke -item.MolybdenumMultispade.name=Molybdän-Multi-Schaufel -item.NeodymiumMultipick.name=Neodym-Multi-Spitzhacke -item.NeodymiumMultispade.name=Neodym-Multi-Schaufel -item.NeutroniumMultipick.name=Neutronium-Multi-Spitzhacke -item.NeutroniumMultispade.name=Neutronium-Multi-Schaufel -item.NickelMultispade.name=Nickel-Multi-Schaufel -item.OsmiumMultipick.name=Osmium-Multi-Spitzhacke -item.OsmiumMultispade.name=Osmium-Multi-Schaufel -item.PalladiumMultipick.name=Palladium-Multi-Spitzhacke -item.PalladiumMultispade.name=Palladium-Multi-Schaufel -item.PlatinumMultispade.name=Platin-Multi-Schaufel -item.Plutonium241Multipick.name=Plutonium-241-Multi-Spitzhacke -item.Plutonium241Multispade.name=Plutonium-241-Multi-Schaufel -item.SilverMultispade.name=Silber-Multi-Schaufel -item.ThoriumMultipick.name=Thorium-Multi-Spitzhacke -item.ThoriumMultispade.name=Thorium-Multi-Schaufel -item.TitaniumMultipick.name=Titan-Multi-Spitzhacke -item.TitaniumMultispade.name=Titan-Multi-Schaufel -item.TungstenMultipick.name=Wolfram-Multi-Spitzhacke -item.TungstenMultispade.name=Wolfram-Multi-Schaufel -item.Uranium235Multipick.name=Uran-235-Multi-Spitzhacke -item.Uranium235Multispade.name=Uran-235-Multi-Schaufel -item.DarkSteelMultipick.name=Dunkelstahl-Multi-Spitzhacke -item.DarkSteelMultispade.name=Dunkelstahl-Multi-Schaufel -item.DuraniumMultipick.name=Duranium-Multi-Spitzhacke -item.DuraniumMultispade.name=Duranium-Multi-Schaufel -item.InfusedGoldMultispade.name=Infundiertes-Gold-Multi-Schaufel -item.NaquadahMultipick.name=Naquadah-Multi-Spitzhacke -item.NaquadahMultispade.name=Naquadah-Multi-Schaufel -item.NaquadahAlloyMultipick.name=Naquadah-Legierung-Multi-Spitzhacke -item.NaquadahAlloyMultispade.name=Naquadah-Legierung-Multi-Schaufel -item.NaquadriaMultipick.name=Naquadria-Multi-Spitzhacke -item.NaquadriaMultispade.name=Naquadria-Multi-Schaufel -item.TritaniumMultipick.name=Tritanium-Multi-Spitzhacke -item.TritaniumMultispade.name=Tritanium-Multi-Schaufel -item.OsmiridiumMultipick.name=Osmiridium-Multi-Spitzhacke -item.OsmiridiumMultispade.name=Osmiridium-Multi-Schaufel -item.BrassMultispade.name=Messing-Multi-Schaufel -item.BronzeMultipick.name=Bronze-Multi-Spitzhacke -item.BronzeMultispade.name=Bronze-Multi-Schaufel -item.CupronickelMultispade.name=Cupronickel-Multi-Schaufel -item.ElectrumMultispade.name=Electrum-Multi-Schaufel -item.InvarMultipick.name=Invar-Multi-Spitzhacke -item.InvarMultispade.name=Invar-Multi-Schaufel -item.KanthalMultispade.name=Kanthal-Multi-Schaufel -item.MagnaliumMultipick.name=Magnalium-Multi-Spitzhacke -item.MagnaliumMultispade.name=Magnalium-Multi-Schaufel -item.NichromeMultispade.name=Nichrom-Multi-Schaufel -item.PigIronMultipick.name=Schweineisen-Multi-Spitzhacke -item.PigIronMultispade.name=Schweineisen-Multi-Schaufel -item.PolycaprolactamMultispade.name=Polycaprolactam-Multi-Schaufel -item.PolytetrafluoroethyleneMultispade.name=Polytetrafluoroethylene-Multi-Schaufel -item.NickelZincFerriteMultispade.name=Nickel-Zink-Ferrit-Multi-Schaufel -item.PolyphenyleneSulfideMultispade.name=Polyphenylene-Sulfit-Multi-Schaufel -item.StainlessSteelMultipick.name=Edelstahl-Multi-Spitzhacke -item.StainlessSteelMultispade.name=Edelstahl-Multi-Schaufel -item.SteelMultipick.name=Stahl-Multi-Spitzhacke -item.SteelMultispade.name=Stahl-Multi-Schaufel -item.TinAlloyMultispade.name=Zinnlegierung-Multi-Schaufel -item.UltimetMultipick.name=Ultimet-Multi-Spitzhacke -item.UltimetMultispade.name=Ultimet-Multi-Schaufel -item.WroughtIronMultipick.name=Schmiedeisen-Multi-Spitzhacke -item.WroughtIronMultispade.name=Schmiedeisen-Multi-Schaufel -item.SterlingSilverMultipick.name=Sterlingsilber-Multi-Spitzhacke -item.SterlingSilverMultispade.name=Sterlingsilber-Multi-Schaufel -item.RoseGoldMultipick.name=Rosegold-Multi-Spitzhacke -item.RoseGoldMultispade.name=Rosegold-Multi-Schaufel -item.BlackBronzeMultipick.name=Schwarzbronze-Multi-Spitzhacke -item.BlackBronzeMultispade.name=Schwarzbronze-Multi-Schaufel -item.BismuthBronzeMultipick.name=Bismuth-Bronze-Multi-Spitzhacke -item.BismuthBronzeMultispade.name=Bismuth-Bronze-Multi-Schaufel -item.BlackSteelMultipick.name=Schwarzstahl-Multi-Spitzhacke -item.BlackSteelMultispade.name=Schwarzstahl-Multi-Schaufel -item.RedSteelMultipick.name=Rotstahl-Multi-Spitzhacke -item.RedSteelMultispade.name=Rotstahl-Multi-Schaufel -item.BlueSteelMultipick.name=Blaustahl-Multi-Spitzhacke -item.BlueSteelMultispade.name=Blaustahl-Multi-Schaufel -item.DamascusSteelMultipick.name=Damaskusstahl-Multi-Spitzhacke -item.DamascusSteelMultispade.name=Damaskusstahl-Multi-Schaufel -item.MithrilMultispade.name=Mithril-Multi-Schaufel -item.CobaltBrassMultipick.name=Kobaltmessing-Multi-Spitzhacke -item.CobaltBrassMultispade.name=Kobaltmessing-Multi-Schaufel -item.ThaumiumMultipick.name=Thaumium-Multi-Spitzhacke -item.ThaumiumMultispade.name=Thaumium-Multi-Schaufel -item.HSSGMultipick.name=HSS-G-Multi-Spitzhacke -item.HSSGMultispade.name=HSS-G-Multi-Schaufel -item.HSSEMultipick.name=HSS-E-Multi-Spitzhacke -item.HSSEMultispade.name=HSS-E-Multi-Schaufel -item.HSSSMultipick.name=HSS-S-Multi-Spitzhacke -item.HSSSMultispade.name=HSS-S-Multi-Schaufel -item.HastelloyC276Multipick.name=Hastelloy-C276-Multi-Spitzhacke -item.HastelloyC276Multispade.name=Hastelloy-C276-Multi-Schaufel -item.HastelloyNMultipick.name=Hastelloy-N-Multi-Spitzhacke -item.HastelloyNMultispade.name=Hastelloy-N-Multi-Schaufel -item.HastelloyWMultipick.name=Hastelloy-W-Multi-Spitzhacke -item.HastelloyWMultispade.name=Hastelloy-W-Multi-Schaufel -item.HastelloyXMultipick.name=Hastelloy-X-Multi-Spitzhacke -item.HastelloyXMultispade.name=Hastelloy-X-Multi-Schaufel -item.Incoloy020Multipick.name=Incoloy-020-Multi-Spitzhacke -item.Incoloy020Multispade.name=Incoloy-020-Multi-Schaufel -item.IncoloyDSMultipick.name=Incoloy-DS-Multi-Spitzhacke -item.IncoloyDSMultispade.name=Incoloy-DS-Multi-Schaufel -item.IncoloyMA956Multipick.name=Incoloy-MA956-Multi-Spitzhacke -item.IncoloyMA956Multispade.name=Incoloy-MA956-Multi-Schaufel -item.Inconel625Multipick.name=Inconel-625-Multi-Spitzhacke -item.Inconel625Multispade.name=Inconel-625-Multi-Schaufel -item.Inconel690Multipick.name=Inconel-690-Multi-Spitzhacke -item.Inconel690Multispade.name=Inconel-690-Multi-Schaufel -item.Inconel792Multipick.name=Inconel-792-Multi-Spitzhacke -item.Inconel792Multispade.name=Inconel-792-Multi-Schaufel -item.GrisiumMultipick.name=Grisium-Multi-Spitzhacke -item.GrisiumMultispade.name=Grisium-Multi-Schaufel -item.Tantalloy60Multipick.name=Tantalloy-60-Multi-Spitzhacke -item.Tantalloy60Multispade.name=Tantalloy-60-Multi-Schaufel -item.Tantalloy61Multipick.name=Tantalloy-61-Multi-Spitzhacke -item.Tantalloy61Multispade.name=Tantalloy-61-Multi-Schaufel -item.StaballoyMultipick.name=Staballoy-Multi-Spitzhacke -item.StaballoyMultispade.name=Staballoy-Multi-Schaufel -item.QuantumMultipick.name=Quanten-Multi-Spitzhacke -item.QuantumMultispade.name=Quanten-Multi-Schaufel -item.PotinMultipick.name=Potin-Multi-Spitzhacke -item.PotinMultispade.name=Potin-Multi-Schaufel -item.TumbagaMultipick.name=Tumbaga-Multi-Spitzhacke -item.TumbagaMultispade.name=Tumbaga-Multi-Schaufel -item.TaloniteMultipick.name=Talonite-Multi-Spitzhacke -item.TaloniteMultispade.name=Talonite-Multi-Schaufel -item.StelliteMultipick.name=Stellite-Multi-Spitzhacke -item.StelliteMultispade.name=Stellite-Multi-Schaufel -item.TungstenCarbideMultipick.name=Wolframcarbid-Multi-Spitzhacke -item.TungstenCarbideMultispade.name=Wolframcarbid-Multi-Schaufel -item.TantalumCarbideMultipick.name=Tantalcarbid-Multi-Spitzhacke -item.TantalumCarbideMultispade.name=Tantalcarbid-Multi-Schaufel - -item.mobessence.name=Mobessenz-Zell -item.itemPlateClay.name=Lehm-Platte -item.itemPlateDoubleClay.name=Doppelte Lehm-Platte -item.itemSmallGearWroughtIron.name=Kleines Schmiedeisen-Zahnrad -item.itemPlateLithium.name=Lithium-Platte -item.itemPlateDoubleEuropium.name=Doppelte Europium-Platte -item.itemBoilerChassis_0.name=Fortgeschrittenes Boiler-Chassis [Stufe 1] -item.itemDehydratorCoilWire_0.name=Spulendraht [EV] -item.itemDehydratorCoil_0.name=Dehydratorspule [EV] -item.itemAirFilter_0.name=Luftfilter [Stufe 1] -item.itemLavaFilter.name=Lavafilter -item.itemGrindleTablet.name=Git -item.itemDragonJar.name=Drachenfangbehälter -item.CoalGas.name=Kohlegas-Zelle -item.Ethylbenzene.name=Ethylbenzin-Zelle -item.Anthracene.name=Anthracen-Zelle -item.Toluene.name=Toluol-Zelle -item.CoalTar.name=Kohl-Teer-Zelle -item.CoalTarOil.name=Kohl-Teeröl-Zelle -item.SulfuricCoalTarOil.name=Schweflige Kohl-Teeröl-Zelle -item.Naphthalene.name=Naphthalin-Zelle -item.itemDustPhthalicAnhydride.name=Phthalsäureanhydrid-Staub -item.itemDustSmallPhthalicAnhydride.name=Kleines Häufchen Phthalsäureanhydrid-Staub -item.itemDustTinyPhthalicAnhydride.name=Winziges Häufchen Phthalsäureanhydrid-Staub -item.2Ethylanthraquinone.name=2-Ethylanthrachinon-Zelle -item.2Ethylanthrahydroquinone.name=2-Ethylanthrachinon-Zelle -item.HydrogenPeroxide.name=Wasserstoffperoxid-Zelle -item.itemDustLithiumHydroperoxide.name=Lithium-Wasserstoffperoxid-Staub -item.itemDustSmallLithiumHydroperoxide.name=Kleines Häufchen Lithium-Wasserstoffperoxid-Staub -item.itemDustTinyLithiumHydroperoxide.name=Winziges Häufchen Lithium-Wasserstoffperoxid-Staub -item.LithiumPeroxide.name=Lithium-Peroxid-Zelle -item.itemPotionChilly.name=Frostiger Trank -item.itemKeyBig4000DC's.name=4000DC's großer Schlüssel -item.itemGemDull.name=Stumpfer Edelstein -item.itemMushroomForest.name=Waldpilz -item.itemPlateVanadium.name=Vanadium-Platte -item.thekeytothecity.name=Der Schlüssel zur Stadt -item.modularbauble.name=Modular Bauble -item.itemDustSoularium.name=Soularium-Staub -item.itemDustSmallSoularium.name=Kleines Häufchen Soularium-Staub -item.itemDustTinySoularium.name=Winziges Häufchen Soularium-Staub -item.itemDustRedstoneAlloy.name=Redstone-Legierung-Staub -item.itemDustSmallRedstoneAlloy.name=Kleines Häufchen Redstone-Legierung-Staub -item.itemDustTinyRedstoneAlloy.name=Winziges Häufchen Redstone-Legierung-Staub -item.itemDustElectricalSteel.name=Elektrisches-Stahl-Staub -item.itemDustSmallElectricalSteel.name=Kleines Häufchen Elektrisches-Stahl-Staub -item.itemDustTinyElectricalSteel.name=Winziges Häufchen Elektrisches-Stahl-Staub -item.itemDustPulsatingIron.name=Pulsierendes-Eisen-Staub -item.itemDustSmallPulsatingIron.name=Kleines Häufchen Pulsierendes-Eisen-Staub -item.itemDustTinyPulsatingIron.name=Winziges Häufchen Pulsierendes-Eisen-Staub -item.itemDustEnergeticAlloy.name=Energetische-Legierung-Staub -item.itemDustSmallEnergeticAlloy.name=Kleines Häufchen Energetische-Legierung-Staub -item.itemDustTinyEnergeticAlloy.name=Winziges Häufchen Energetische-Legierung-Staub -item.itemDustVibrantAlloy.name=Dynamische-Legierung-Staub -item.itemDustSmallVibrantAlloy.name=Kleines Häufchen Dynamische-Legierung-Staub -item.itemDustTinyVibrantAlloy.name=Winziges Häufchen Dynamische-Legierung-Staub -item.itemDustConductiveIron.name=Leitendes-Iron-Staub -item.itemDustSmallConductiveIron.name=Kleines Häufchen Leitendes-Iron-Staub -item.itemDustTinyConductiveIron.name=Winziges Häufchen Leitendes-Iron-Staub -item.itemPlateSoularium.name=Soularium-Plate -item.itemPlateRedstoneAlloy.name=Redstone-Legierung-Platte -item.itemPlateElectricalSteel.name=Elektrisches-Stahl-Platte -item.itemPlatePhasedIron.name=Pulsierende-Eisen-Platte -item.itemPlateEnergeticAlloy.name=Energetische-Legierung-Platte -item.itemPlateVibrantAlloy.name=Vibrant Alloy plate -item.itemPlateConductiveIron.name=Conductive Iron plate -item.itemPlateBlutonium.name=Blutonium-Platte -item.itemPlateCyanite.name=Cyanit-Platte -item.itemPlateLudicrite.name=Ludikrit-Platte -item.itemPlateVoid.name="Nichts"-Platte -item.itemPlateDimensionShard.name=Dimensionsscherben-Platte -item.rfEUBattery.name=Universelle Ladbare Batterie -item.personalCloakingDevice.name=§9Persönliches Drapiergerät§7 -item.personalHealingDevice.name=§9Persönliche Helungsnanobooster§r -item.SlowBuildingRing.name=§eLangsamer Bau-Ring§7 -item.itemStaballoyPickaxe.name=Tunnelgräber -item.itemStaballoyAxe.name=Baumfäller -item.itemSandstoneHammer.name=Bruchsteinbrecher -item.itemBufferCore.name=Pufferkern [ULV]. -item.itemBufferCore.name=Pufferkern [LV]. -item.itemBufferCore.name=Pufferkern [MV]. -item.itemBufferCore.name=Pufferkern [HV]. -item.itemBufferCore.name=Pufferkern [EV]. -item.itemBufferCore.name=Pufferkern [IV]. -item.itemBufferCore.name=Pufferkern [LuV]. -item.itemBufferCore.name=Pufferkern [ZPM]. -item.itemBufferCore.name=Pufferkern [UV]. -item.itemBufferCore.name=Pufferkern [MAX]. -item.itemPLACEHOLDER_Circuit.name=Quarks Manipulator (UV) -item.itembookgt.name=§oThermal-Boiler-Anleitung - -// Everglade Items -item.everglades.trigger.name=§6Alkalus Schallplatte [§cAktiviert§6] - - - - - - - -//Blocks -tile.blockRainforestOakLog.name=Regenwaldeiche -tile.blockRainforestOakLeaves.name=Eichenblatt -tile.blockRainforestOakSapling.name=Regenwaldeichensetzling - -//TC Stuff -tile.blockFastAlchemyFurnace.0.name=Kaputt -tile.blockFastArcaneAlembic.1.name=Kaputt - -//Frame Boxes -tile.Block of Selenium.name=Block aus Selen -tile.Selenium Frame Box.name=Selen-Rahmen-Box -tile.Block of Bromine.name=Block aus Bromine -tile.Block of Strontium.name=Block aus Strontium -tile.Strontium Frame Box.name=Strontium-Rahmen-Box -tile.Block of Zirconium.name=Block aus Zirconium -tile.Zirconium Frame Box.name=Zirkonium-Rahmen-Box -tile.Block of Ruthenium.name=Block aus Ruthenium -tile.Ruthenium Frame Box.name=Ruthenium-Rahmen-Box -tile.Block of Iodine.name=Block aus Iod -tile.Iodine Frame Box.name=Iod-Rahmen-Box -tile.Block of Hafnium.name=Block aus Hafnium -tile.Hafnium Frame Box.name=Hafnium-Rahmen-Box -tile.Block of Dysprosium.name=Block aus Dysprosium -tile.Dysprosium Frame Box.name=Dysprosium-Rahmen-Box -tile.Block of Tellurium.name=Block aus Tellur -tile.Tellurium Frame Box.name=Tellur-Rahmen-Box -tile.Block of Rhodium.name=Block aus Rhodium -tile.Rhodium Frame Box.name=Rhodium-Rahmen-Box -tile.Block of Rhenium.name=Block aus Rhenium -tile.Rhenium Frame Box.name=Rhenium-Rahmen-Box -tile.Block of Thallium.name=Block aus Thallium -tile.Thallium Frame Box.name=Thallium-Rahmen-Box -tile.Block of Technetium.name=Block aus Technetium -tile.Block of Polonium.name=Block aus Polonium -tile.Block of Astatine.name=Block aus Astata -tile.Block of Francium.name=Block aus Francium -tile.Block of Radium.name=Block aus Radium -tile.Block of Actinium.name=Block aus Actinium -tile.Block of Protactinium.name=Block aus Protactinium -tile.Block of Neptunium.name=Block aus Neptunium -tile.Block of Curium.name=Block aus Curium -tile.Block of Berkelium.name=Block aus Berkelium -tile.Block of Californium.name=Block aus Californium -tile.Block of Einsteinium.name=Block aus Einsteinium -tile.Block of Fermium.name=Block aus Fermium -tile.Block of Thorium 232.name=Block aus Thorium-232 -tile.Block of Uranium 232.name=Block aus Uran-232 -tile.Block of Uranium 233.name=Block aus Uran-233 -tile.Block of Plutonium-238.name=Block aus Plutonium-238 -tile.Block of Strontium-90.name=Block aus Strontium-90 -tile.Block of Polonium-210.name=Block aus Polonium-210 -tile.Block of Americium-241.name=Block aus Americium-241 -tile.Block of Silicon Carbide.name=Block aus Siliconcarbid -tile.Silicon Carbide Frame Box.name=Siliconcarbid-Rahmen-Box -tile.Block of Zirconium Carbide.name=Block aus Zirkoniumcarbid -tile.Zirconium Carbide Frame Box.name=Zirkoniumcarbide-Rahmen-Box -tile.Block of Tantalum Carbide.name=Block aus Tantalcarbid -tile.Tantalum Carbide Frame Box.name=Tantalcarbide-Rahmen-Box -tile.Block of Niobium Carbide.name=Block aus Niobcarbid -tile.Niobium Carbide Frame Box.name=Niobium Carbide-Rahmen-Box -tile.Block of Beryllium Fluoride.name=Block aus Beryllium-Fluorid -tile.Block of Lithium Fluoride.name=Block aus Lithium-Fluorid -tile.Block of Thorium Tetrafluoride.name=Block aus Thorium-Tetrafluorid -tile.Block of Thorium Hexafluoride.name=Block aus Thorium-Hexafluorid -tile.Block of Uranium Tetrafluoride.name=Block aus Uran-Tetrafluorid -tile.Block of Uranium Hexafluoride.name=Block aus Uran-Hexafluorid -tile.Block of Zirconium Tetrafluoride.name=Block aus Zirkonium-Tetrafluorid -tile.Block of Neptunium Hexafluoride.name=Block aus Neptunium-Hexafluorid -tile.Block of Technetium Hexafluoride.name=Block aus Technetium-Hexafluorid -tile.Block of Selenium Hexafluoride.name=Block aus Selen-Hexafluorid -tile.Block of LiFBeF2ZrF4U235.name=Block aus LiFBeF2ZrF4U235 -tile.Block of LiFBeF2ZrF4UF4.name=Block aus LiFBeF2ZrF4UF4 -tile.Block of LiFBeF2ThF4UF4.name=Block aus LiFBeF2ThF4UF4 -tile.Block of Energy Crystal.name=Block aus Energiekristall -tile.Energy Crystal Frame Box.name=Energiekristall-Rahmen-Box -tile.Block of Blood Steel.name=Block aus Blutstahl -tile.Blutstahl Frame Box.name=Blutstahl-Rahmen-Box -tile.Block of Zeron-100.name=Block aus Zeron-100 -tile.Zeron-100 Frame Box.name=Zeron-100-Rahmen-Box -tile.Block of Tumbaga.name=Block aus Tumbaga -tile.Tumbaga Frame Box.name=Tumbaga-Rahmen-Box -tile.Block of Potin.name=Block aus Potin -tile.Potin Frame Box.name=Potin-Rahmen-Box -tile.Block of Staballoy.name=Block aus Staballoy -tile.Staballoy Frame Box.name=Staballoy-Rahmen-Box -tile.Block of Tantalloy-60.name=Block aus Tantalloy-60 -tile.Tantalloy-60 Frame Box.name=Tantalloy-60-Rahmen-Box -tile.Block of Tantalloy-61.name=Block aus Tantalloy-61 -tile.Tantalloy-61 Frame Box.name=Tantalloy-61-Rahmen-Box -tile.Block of Inconel-625.name=Block aus Inconel-625 -tile.Inconel-625 Frame Box.name=Inconel-625-Rahmen-Box -tile.Block of Inconel-690.name=Block aus Inconel-690 -tile.Inconel-690 Frame Box.name=Inconel-690-Rahmen-Box -tile.Block of Inconel-792.name=Block aus Inconel-792 -tile.Inconel-792 Frame Box.name=Inconel-792-Rahmen-Box -tile.Block of Eglin Steel.name=Block aus Eglin Steel -tile.Eglin Steel Frame Box.name=Eglin Steel-Rahmen-Box -tile.Block of Maraging Steel 250.name=Block aus Maraging-Stahl 250 -tile.Maraging Steel 250 Frame Box.name=Maraging-Stahl 250-Rahmen-Box -tile.Block of Maraging Steel 300.name=Block aus Maraging-Stahl 300 -tile.Maraging Steel 300 Frame Box.name=Maraging-Stahl 300-Rahmen-Box -tile.Block of Maraging Steel 350.name=Block aus Maraging-Stahl 350 -tile.Maraging Steel 350 Frame Box.name=Maraging-Stahl 350-Rahmen-Box -tile.Block of Stellite.name=Block aus Stellite -tile.Stellite Frame Box.name=Stellite-Rahmen-Box -tile.Block of Talonite.name=Block aus Talonite -tile.Talonite Frame Box.name=Talonite-Rahmen-Box -tile.Block of Hastelloy-W.name=Block aus Hastelloy-W -tile.Hastelloy-W Frame Box.name=Hastelloy-W-Rahmen-Box -tile.Block of Hastelloy-X.name=Block aus Hastelloy-X -tile.Hastelloy-X Frame Box.name=Hastelloy-X-Rahmen-Box -tile.Block of Hastelloy-C276.name=Block aus Hastelloy-C276 -tile.Hastelloy-C276 Frame Box.name=Hastelloy-C276-Rahmen-Box -tile.Block of Hastelloy-N.name=Block aus Hastelloy-N -tile.Hastelloy-N Frame Box.name=Hastelloy-N-Rahmen-Box -tile.Block of Incoloy-020.name=Block aus Incoloy-020 -tile.Incoloy-020 Frame Box.name=Incoloy-020-Rahmen-Box -tile.Block of Incoloy-DS.name=Block aus Incoloy-DS -tile.Incoloy-DS Frame Box.name=Incoloy-DS-Rahmen-Box -tile.Block of Incoloy-MA956.name=Block aus Incoloy-MA956 -tile.Incoloy-MA956 Frame Box.name=Incoloy-MA956-Rahmen-Box -tile.Block of Grisium.name=Block aus Grisium -tile.Grisium Frame Box.name=Grisium-Rahmen-Box -tile.Block of Trinium.name=Block aus Trinium -tile.Block of Refined Trinium.name=Block aus raffiniertem Trinium -tile.Block of Trinium Titanium Alloy.name=Block aus Trinium-Titanium-Legierung -tile.Trinium Titanium Alloy Frame Box.name=Trinium-Titanium-Legierung-Rahmen-Box -tile.Block of Trinium Naquadah Alloy.name=Block aus Trinium-Naquadah-Legierung -tile.Block of Trinium Naquadah Carbonite.name=Block aus Trinium-Naquadah-Carbonit -tile.Trinium Naquadah Carbonite Frame Box.name=Trinium-Naquadah-Carbonit-Rahmen-Box -tile.Block of Quantum.name=Block aus Quanten -tile.Quantum Frame Box.name=Quanten-Rahmenbox - -//Ores -tile.OreFluorite.name=Fluoriterz -tile.OreCrocoite.name=Crocoiterz -tile.OreGeikielite.name=Geikielieerz -tile.OreNichromite.name=Nichromiterz -tile.OreTitanite.name=Titaniterz -tile.OreZimbabweite.name=Zimbabweiterz -tile.OreZirconolite.name=Zirconoliterz -tile.OreGadoliniteCe.name=Gadoliniterz(Ce) -tile.OreGadoliniteY.name=Gadoliniterz(Y) -tile.OreLepersonnite.name=Lepersonniterz -tile.OreSamarskiteY.name=Samarskiterz(Y) -tile.OreSamarskiteYb.name=Samarskiterz(Yb) -tile.OreXenotime.name=Xenotimerz -tile.OreYttriaite.name=Yttriaiterz -tile.OreYttrialite.name=Yttrialiterz -tile.OreYttrocerite.name=Yttroceriterz -tile.OreZircon.name=Zirconerz -tile.OrePolycrase.name=Polycraserz -tile.OreZircophyllite.name=Zircophylliterz -tile.OreZirkelite.name=Zirkeliterz -tile.OreLanthaniteLa.name=Lanthaniterz(La) -tile.OreLanthaniteCe.name=Lanthaniterz(Ce) -tile.OreLanthaniteNd.name=Lanthaniterz(Nd) -tile.OreAgarditeY.name=Agarditerz(Y) -tile.OreAgarditeCd.name=Agarditerz(Cd) -tile.OreAgarditeLa.name=Agarditerz(La) -tile.OreAgarditeNd.name=Agarditerz(Nd) -tile.OreHibonite.name=Hiboniterz -tile.OreCerite.name=Ceriterz -tile.OreFluorcaphite.name=Fluorcaphiterz -tile.OreFlerzncite.name=Flerznciterz -tile.OreCryolite.name=Cryoliterz - -//Misc -tile.blockMFEffect.name=Spezial -tile.fluidBlockSludge.name=Brühe -tile.blockWorkbenchGT.name=Werkbank -tile.blockWorkbenchGTAdvanced.name=Fortgeschrittene Werkbank -tile.blockHeliumGenerator.name=Helium Generator -tile.blockFirePit.name=Feuerstelle -tile.blockFishTrap.name=Fischfalle -tile.blockInfiniteFluidTank.name=Unendlicher Tank -tile.blockMiningExplosives.name=Minensprengstoff -tile.blockHellFire.name=Höllenfeuer -tile.blockProjectBench.name=Projektplanungstisch -tile.blockTradeBench.name=Handelstisch -tile.blockModularity.name=Modulare Werkbank -tile.blockBlackGate.name=Witherkäfig -tile.blockTankXpConverter.name=Erfahrungswandler(XP) - -//Everglades Blocks -tile.fluidSludge.0.name=Stehendes Abwasser -tile.blockDarkWorldPortal.name=Portalstein für die Dunkle Welt -tile.blockDarkWorldGround.name=Grundstein der Dunklen Welt -tile.blockDarkWorldGround2.name=Grundstein der Dunklen Welt -tile.blockDarkWorldPortalFrame.name=Portalrahmen für die Dunkle Welt diff --git a/gtpp/src/main/resources/assets/miscutils/lang/en_US.lang b/gtpp/src/main/resources/assets/miscutils/lang/en_US.lang deleted file mode 100644 index 6fe80a2360..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/lang/en_US.lang +++ /dev/null @@ -1,3572 +0,0 @@ -//Creative Tabs -itemGroup.MiscUtilBlockTab=[GT++] Blocks -itemGroup.MiscUtilMiscTab=[GT++] Items -itemGroup.MiscUtilCombatTab=[GT++] Combat -itemGroup.MiscUtilToolsTab=[GT++] Tools -itemGroup.MiscUtilMachineTab=[GT++] Machines -itemGroup.MiscUtilOtherTab=[GT++] Items II -itemGroup.MiscUtilBOP=[GT++] Biomes O'Plenty Additions - -//Debug -item.AAA_Broken.name=[Non-existent Item] Report This Recipe On Github, Please. -item.itemBedLocator_Base.name=Bed Locator [NBT Test] -item.itemBaseItemWithCharge.name=Base Chargeable Item -item.miscutils_itemDebugShapeSpawner.name=[Debug] Shapes - -//Fluids -tile.fluidSludge.name=Stagnant Waste Water -tile.fluidSludge.0.name=Stagnant Waste Water - -//Death Messages -death.attack.plasmabolt=%s died by burning hot plasma. -death.attack.plasmabolt.player=%1$s was killed by %2$s using plasma. -death.attack.gtpp.grinder=%s was ground into nothingness by an IsaMill. - -//Batch mode chat message -misc.BatchModeTextOn=Batch recipes (ME output bus recommended, will void excess outputs!) -misc.BatchModeTextOff=Don't batch recipes - -//Alternative Materials -item.itemPlateBatteryAlloy.name=Plate of Battery Alloy -item.itemIngotBatteryAlloy.name=Ingot of Battery Alloy -item.itemStickyRubber.name=Gumlet of Sticky Rubber - -//Unused Fuel rods -item.itemFuelRod_Empty.name=Empty Fuel Rod -item.itemFuelRod_Thorium.name=Thorium Fuel Rod -item.itemFuelRod_Uranium.name=Uranium Fuel Rod -item.itemFuelRod_Plutonium.name=Plutonium Fuel Rod - -//Entities -entity.constructStaballoy.name=Staballoy Construct -entity.sickBlaze.name=Infected Zealot - -//Tile Entities -tile.blockToolBuilder.name=GregTech Tool Constructor -tile.blockEggBox.name=Egg Box -tile.blockCircuitProgrammer.name=Circuit Programmer -tile.blockDecayablesChest.name=Lead Lined Box -tile.blockVolumetricFlaskSetter.name=Volumetric Flask Configurator -tile.blockSuperLight.name=Shining Star -tile.blockPestKiller.name=Pest Killer -tile.blockSuperJukebox.name=Sir Mixalot [Jukebox] - -//Tools -item.itemBufferCore.name=Energy Core -item.itemStaballoyPickaxe.name=Tunnel Digger -item.itemStaballoyAxe.name=Tree Feller -item.itemSandstoneHammer.name=Cobblestone Breaker - -# Tooltips -GTPP.machines.chisel_slot.tooltip=Target Slot -GTPP.machines.chisel_slot.tooltip.1=§7Put chiseled item to specify output -GTPP.core.GT_Tooltip=Added by: §2Alkalus §7- §c[GT++] -GTPP.core.GT_Tooltip_Builder=§2Alkalus §7- §c[GT++] -GTPP.core.GT_Tooltip_Radioactive=§7Warning: §aRadioactive! §6 Avoid direct handling without hazmat protection. - -# RecipeMaps -gtpp.recipe.cokeoven=Coke Oven -gtpp.recipe.matterfab2=Matter Fabricator -gtpp.recipe.rocketenginefuel=Rocket Engine Fuel -gtpp.recipe.quantumforcesmelter=Quantum Force Transformer -gtpp.recipe.chemicaldehydrator=Dehydrator -gtpp.recipe.vacfurnace=Vacuum Furnace -gtpp.recipe.alloyblastsmelter=Alloy Blast Smelter -gtpp.recipe.lftr=Liquid Fluoride Thorium Reactor -gtpp.recipe.nuclearsaltprocessingplant=Nuclear Salt Processing Plant -gtpp.recipe.oremill=Milling -gtpp.recipe.fissionfuel=Nuclear Fuel Processing -gtpp.recipe.coldtrap=Cold Trap -gtpp.recipe.reactorprocessingunit=Reactor Processing Unit -gtpp.recipe.simplewasher=Simple Dust Washer -gtpp.recipe.moleculartransformer=Molecular Transformer -gtpp.recipe.fluidchemicaleactor=Chemical Plant -gtpp.recipe.RTGgenerators=RTG -gtpp.recipe.thermalgeneratorfuel=Thermal Boiler -gtpp.recipe.solartower=Solar Tower -gtpp.recipe.cyclotron=COMET - Compact Cyclotron -gtpp.recipe.fishpond=Zhuhai - Fishing Port -gtpp.recipe.cryogenicfreezer=Cryogenic Freezer -gtpp.recipe.multicentrifuge=Multiblock Centrifuge -gtpp.recipe.multielectro=Multiblock Electrolyzer -gtpp.recipe.multimixer=Multiblock Mixer -gtpp.recipe.multidehydrator=Multiblock Dehydrator -gtpp.recipe.semifluidgeneratorfuels=Semifluid Generator Fuels -gtpp.recipe.flotationcell=Flotation Cell -gtpp.recipe.treefarm=Tree Growth Simulator - -# Recipe categories -gtpp.recipe.category.abs_non_alloy_recipes=ABS Non-Alloy Recipes - -# NEI -gtpp.nei.lftr.power=Power: %s EU/t per Dynamo -gtpp.nei.lftr.dynamo=Dynamo: %s EU -gtpp.nei.lftr.total=Total: %s EU -gtpp.nei.milling.not_consumed=Does not always get consumed in the process -gtpp.nei.chemplant.tier.1=Bronze -gtpp.nei.chemplant.tier.2=Steel -gtpp.nei.chemplant.tier.3=Aluminium -gtpp.nei.chemplant.tier.4=Stainless Steel -gtpp.nei.chemplant.tier.5=Titanium -gtpp.nei.chemplant.tier.6=Tungsten Steel -gtpp.nei.chemplant.tier.7=Laurenium -gtpp.nei.chemplant.tier.8=Botmium -gtpp.nei.rtg.days=Fuel Value: %s Minecraft Days -gtpp.nei.solar_tower.1=Solar Heater rings boost tier -gtpp.nei.solar_tower.2=R1:T1, R2:T2, R3:T4, R4:T8, R5:T16 -gtpp.nei.solar_tower.3=Input Amount = 1000 x T -gtpp.nei.tgs.1=The sapling is not consumed. -gtpp.nei.tgs.2=If %s is provided, -gtpp.nei.tgs.3=Saplings are made instead. -gtpp.nei.tgs.sapling=Outputted if %s is provided - -gtpp.nei.tgs.tooltip.sapling=Place in machine controller slot -gtpp.nei.tgs.tooltip.saw=Place in an input bus to harvest logs -gtpp.nei.tgs.tooltip.needsSaw=Requires a Saw to harvest -gtpp.nei.tgs.tooltip.cutter=Place in an input bus to harvest saplings -gtpp.nei.tgs.tooltip.needsCutter=Requires a Branch Cutter to harvest -gtpp.nei.tgs.tooltip.shears=Place in an input bus to harvest leaves -gtpp.nei.tgs.tooltip.needsShears=Requires Shears to harvest -gtpp.nei.tgs.tooltip.knife=Place in an input bus to harvest fruit -gtpp.nei.tgs.tooltip.needsKnife=Requires a Knife to harvest -gtpp.nei.tgs.tooltip.multiplier=Output multiplier: -gtpp.nei.tgs.info-1=Output is further boosted -gtpp.nei.tgs.info-2=by machine energy tier -gtpp.nei.tgs.info-3=and tool type - - -//Thermal Foundation Stuff -item.MiscUtils.bucket.bucketPyrotheum.name=Blazing Pyrotheum Bucket -item.MiscUtils.bucket.bucketCryotheum.name=Gelid Cryotheum Bucket -item.MiscUtils.bucket.bucketEnder.name=Resonant Ender Bucket -item.MiscUtils.material.dustPyrotheum.name=Pyrotheum Dust -item.MiscUtils.material.dustCryotheum.name=Cryotheum Dust -item.MiscUtils.material.rodBlizz.name=Blizz Rod -item.MiscUtils.material.dustBlizz.name=Blizz Powder - -//------------- 'miscutils' is Case Sensitive Here, unsure why -tile.miscutils.fluid.pyrotheum.name=Blazing Pyrotheum -tile.miscutils.fluid.cryotheum.name=Gelid Cryotheum -tile.miscutils.fluid.ender.name=Resonant Ender -//-------------- - -//Forestry Stuff -item.frameAccelerated.name=Accelerated Frame -item.frameVoid.name=Void Frame -item.frameMutagenic.name=Mutagenic Frame -item.frameBusy.name=Working Frame -item.frameChocolate.name=Chocolate Frame -item.frameRestraint.name=Restraining Frame -item.frameSoul.name=Soul Frame -item.frameHealing.name=Healing Frame -item.frameNova.name=Nova Frame -item.frameArborists.name=Arborist Frame -item.frameDecaying.name=Decaying Frame -item.frameSlowing.name=Slowing Frame -item.frameStabilizing.name=Stabilizing Frame -item.frameUseless.name=Useless Frame - -//IC2 stuff -item.itemEnergeticRotorBlade.name=Energetic Alloy Rotor Blade -item.itemTungstenSteelRotorBlade.name=TungstenSteel Rotor Blade -item.itemVibrantRotorBlade.name=Vibrant Alloy Rotor Blade -item.itemIridiumRotorBlade.name=Iridium Rotor Blade -item.itemEnergeticShaft.name=Energetic Alloy Shaft -item.itemTungstenSteelShaft.name=TungstenSteel Shaft -item.itemVibrantShaft.name=Vibrant Alloy Shaft -item.itemIridiumShaft.name=Iridium Shaft -item.itemMagnaliumRotorBlade.name=Magnalium Rotor Blade -item.itemUltimetRotorBlade.name=Ultimet Blade -item.itemMagnaliumShaft.name=Magnalium Shaft -item.itemUltimetShaft.name=Ultimet Shaft - - -//Misc Items -item.itemPLACEHOLDER_Circuit.name=Quark Manipulator (UV) -item.itemPlateEnrichedSoularium.name=Enriched Soularium Plate -item.itemHeliumBlob.name=Mysterious Hydrogen Substance -item.itemAlkalusDisk.name=Alkalus Disk - -//Misc Blocks -tile.blockCompressedObsidian.0.name=Compressed Obsidian (9) -tile.blockCompressedObsidian.1.name=Double Compressed Obsidian (81) -tile.blockCompressedObsidian.2.name=Triple Compressed Obsidian (729) -tile.blockCompressedObsidian.3.name=Quadruple Compressed Obsidian (6561) -tile.blockCompressedObsidian.4.name=Quintuple Compressed Obsidian (59049) -tile.blockCompressedObsidian.5.name=Inverted Obsidian -tile.blockCompressedObsidian.6.name=Compressed Glowstone (9) -tile.blockCompressedObsidian.7.name=Double Compressed Glowstone (81) -tile.blockCompressedObsidian.8.name=Triple Compressed Glowstone (729) -tile.blockCompressedObsidian.9.name=Quadruple Compressed Glowstone (6561) -tile.blockCompressedObsidian.10.name=Quintuple Compressed Glowstone (59049) -tile.blockNet.name=Net - - -//GT++ Items - -//Meta Tool -MU-metaitem.01.0.name=MU-metaitem.01.0.name - -//Cells -item.SulfurDioxide.name=High Quality Sulfur Dioxide Cell -item.mobessence.name=Mob Essence Cell -item.Fertiliser.name=Fertiliser Cell -item.UN32Fertiliser.name=UN-32 Fertiliser Cell -item.UN18Fertiliser.name=UN-18 Fertiliser Cell -item.RaisinJuice.name=Raisin Juice Cell -item.BerylliumHydroxide.name=Beryllium Hydroxide Cell -item.AmmoniumBifluoride.name=Ammonium Bifluoride Cell -item.Hydroxide.name=Hydroxide Cell -item.Ammonium.name=Ammonium Cell -item.AmmoniumTetrafluoroberyllate.name=Ammonium Tetrafluoroberyllate Cell - -//Resources -item.itemCoalCoke.name=Coking Coal -item.itemHydrogenBlob.name=Mysterious Hydrogen Blob - -//Normal Items -item.itemSimpleFiremaker.name=Basic Firemaker -item.itemFiber.name=Plant Fiber -item.itemRope.name=Rope -item.backpackRed.name=Red Backpack -item.backpackGreen.name=Green Backpack -item.backpackBlue.name=Blue Backpack -item.backpackYellow.name=Yellow Backpack -item.backpackPurple.name=Purple Backpack -item.backpackCyan.name=Cyan Backpack -item.backpackMaroon.name=Maroon Backpack -item.backpackOlive.name=Olive Backpack -item.backpackDarkGreen.name=Dark Green Backpack -item.backpackDarkPurple.name=Dark Purple Backpack -item.backpackTeal.name=Teal Backpack -item.backpackNavy.name=Navy Backpack -item.backpackSilver.name=Silver Backpack -item.backpackGray.name=Gray Backpack -item.backpackBlack.name=Black Backpack -item.backpackWhite.name=White Backpack -item.itemBlueprint.name=Blueprint [I am useless] -item.itemBlueprint.tooltip.0=Technical Document No. %d -item.itemBlueprint.tooltip.1=Currently holding a blueprint for %s -item.itemBlueprint.tooltip.2=Currently not holding a blueprint for anything. -item.itemGemShards.0.name=Diamond Shards -item.itemGemShards.1.name=Emerald Shards -item.itemGemShards.2.name=Ruby Shards -item.itemGemShards.3.name=Sapphire Shards -item.itemGemShards.tooltip=Diamond Shards -item.itemHalfCompleteCasings.name=Half Complete Casing -item.itemSulfuricPotion.name=Throwable Vial of Sulfuric Acid -item.itemHydrofluoricPotion.name=Throwable Vial of Hydrofluoric Acid -item.itemBaseItemHotFood.tooltip.0=§7Warning: §cVery hot!§7 Avoid direct handling.. -item.itemBaseItemHotFood.tooltip.1=This food has %d seconds left, until it is cool. -item.itemBoilerChassis.name=Advanced Boiler Chassis [Tier %d] -item.itemDehydratorCoilWire.name=Coil Wire [%s] -item.itemDehydratorCoil.name=Dehydrator Coil [%s] -item.itemLavaFilter.name=Lava Filter -item.itemLavaFilter.tooltip=Filters Lava within a Thermal Boiler. -item.itemGrindleTablet.name=Grindle -item.itemGrindleTablet.tooltip=Used to read data from DataSticks & DataOrbs. -item.itemDragonJar.0.name=Dragon Capture Jar -item.itemDragonJar.0.tooltip=Does not contain anything. -item.itemDragonJar.1.name=Captured Dragon Jar -item.itemDragonJar.1.tooltip=Contains a %s. -item.itemControlCore.name=Control Core [%s] -item.itemControlCore.tooltip.0=Allows a Multiblock to function upto %s -item.itemControlCore.tooltip.1=Required Tier is determined by the sum of the eu/t of all Energy Inputs -item.itemControlCore.tooltip.2=Lower tiers may be used to underclock, which is useful in some situations -item.thekeytothecity.tooltip.0=You feel like you're on top of the world. -item.thekeytothecity.tooltip.1=Wear it around your neck like an amulet. - -//Conversion Dusts -item.dustNeptunium238.name=Neptunium 238 Dust -item.dustRadium226.name=Radium 226 Dust -item.itemDustDecayedRadium226.name=Decayed Radium 226 Dust -item.itemDustSmallDecayedRadium226.name=Small Decayed Radium 226 Dust -item.itemDustTinyDecayedRadium226.name=Tiny Decayed Radium 226 Dust - -//Material Items -item.itemDustGadolinium.name=Gadolinium Dust -item.itemDustSmallGadolinium.name=Small Pile of Gadolinium Dust -item.itemDustTinyGadolinium.name=Tiny Pile of Gadolinium Dust -item.itemDustYtterbium.name=Ytterbium Dust -item.itemDustSmallYtterbium.name=Small Pile of Ytterbium Dust -item.itemDustTinyYtterbium.name=Tiny Pile of Ytterbium Dust -item.itemDustSamarium.name=Samarium Dust -item.itemDustSmallSamarium.name=Small Pile of Samarium Dust -item.itemDustTinySamarium.name=Tiny Pile of Samarium Dust -item.itemDustLanthanum.name=Lanthanum Dust -item.itemDustSmallLanthanum.name=Small Pile of Lanthanum Dust -item.itemDustTinyLanthanum.name=Tiny Pile of Lanthanum Dust -item.itemCellNeon.name=Neon Cell -item.itemCellGermanium.name=Germanium Cell -item.itemCellSelenium.name=Selenium Cell -item.itemCellBromine.name=Bromine Cell -item.itemCellKrypton.name=Krypton Cell -item.itemCellZirconium.name=Zirconium Cell -item.itemCellTechnetium.name=Technetium Cell -item.itemCellRuthenium.name=Ruthenium Cell -item.itemCellRhodium.name=Rhodium Cell -item.itemCellIodine.name=Iodine Cell -item.itemCellXenon.name=Xenon Cell -item.itemCellHafnium.name=Hafnium Cell -item.itemCellRhenium.name=Rhenium Cell -item.itemCellThallium.name=Thallium Cell -item.itemCellPolonium.name=Polonium Cell -item.itemCellAstatine.name=Astatine Cell -item.itemCellFrancium.name=Francium Cell -item.itemCellRadium.name=Radium Cell -item.itemCellActinium.name=Actinium Cell -item.itemCellProtactinium.name=Protactinium Cell -item.itemCellNeptunium.name=Neptunium Cell -item.itemCellCurium.name=Curium Cell -item.itemCellBerkelium.name=Berkelium Cell -item.itemCellCalifornium.name=Californium Cell -item.itemCellEinsteinium.name=Einsteinium Cell -item.itemCellFermium.name=Fermium Cell -item.itemCellRefinedTrinium.name=Refined Trinium Cell -item.itemIngotSelenium.name=Selenium Ingot -item.itemDustSelenium.name=Selenium Dust -item.itemDustTinySelenium.name=Tiny Pile of Selenium Dust -item.itemDustSmallSelenium.name=Small Pile of Selenium Dust -item.itemNuggetSelenium.name=Selenium Nugget -item.itemPlateSelenium.name=Selenium Plate -item.itemPlateDoubleSelenium.name=Double Selenium Plate -item.itemBoltSelenium.name=Selenium Bolt -item.itemRodSelenium.name=Selenium Rod -item.itemRodLongSelenium.name=Long Selenium Rod -item.itemRingSelenium.name=Selenium Ring -item.itemScrewSelenium.name=Selenium Screw -item.itemRotorSelenium.name=Selenium Rotor -item.itemGearSelenium.name=Selenium Gear -item.itemCellUranium232.name=Uranium 232 Cell -item.itemCellUranium233.name=Uranium 233 Cell -item.itemCellThoriumTetrafluoride.name=Thorium Tetrafluoride Cell -item.itemCellThoriumHexafluoride.name=Thorium Hexafluoride Cell -item.itemCellUraniumTetrafluoride.name=Uranium Tetrafluoride Cell -item.itemCellUraniumHexafluoride.name=Uranium Hexafluoride Cell -item.itemCellZirconiumTetrafluoride.name=Zirconium Tetrafluoride Cell -item.itemCellBerylliumFluoride.name=Beryllium Fluoride Cell -item.itemCellLithiumFluoride.name=Lithium Fluoride Cell -item.itemCellHydroxide.name=Hydroxide Cell -item.itemCellAmmonium.name=Ammonium Cell -item.itemCellAmmoniumBifluoride.name=Ammonium Bifluoride Cell -item.itemCellBerylliumHydroxide.name=Beryllium Hydroxide Cell -item.itemCellAmmoniumTetrafluoroberyllate.name=Ammonium Tetrafluoroberyllate Cell -item.itemCellNeptuniumHexafluoride.name=Neptunium Hexafluoride Cell -item.itemCellTechnetiumHexafluoride.name=Technetium Hexafluoride Cell -item.itemCellSeleniumHexafluoride.name=Selenium Hexafluoride Cell -item.itemCellEnergyCrystal.name=Energy Crystal Cell -item.itemCellBloodSteel.name=Blood Steel Cell -item.itemCellStaballoy.name=Staballoy Cell -item.itemCellTantalloy60.name=Tantalloy-60 Cell -item.itemCellTantalloy61.name=Tantalloy-61 Cell -item.itemCellTumbaga.name=Tumbaga Cell -item.itemCellPotin.name=Potin Cell -item.itemCellInconel625.name=Inconel-625 Cell -item.itemCellInconel690.name=Inconel-690 Cell -item.itemCellInconel792.name=Inconel-792 Cell -item.itemCellZeron100.name=Zeron-100 Cell -item.itemCellMaragingSteel250.name=Maraging Steel 250 Cell -item.itemCellMaragingSteel300.name=Maraging Steel 300 Cell -item.itemCellMaragingSteel350.name=Maraging Steel 350 Cell -item.itemCellStellite.name=Stellite Cell -item.itemCellTalonite.name=Talonite Cell -item.itemCellHastelloyW.name=Hastelloy-W Cell -item.itemCellHastelloyX.name=Hastelloy-X Cell -item.itemCellHastelloyN.name=Hastelloy-N Cell -item.itemCellHastelloyC276.name=Hastelloy-C276 Cell -item.itemCellIncoloy020.name=Incoloy-020 Cell -item.itemCellIncoloyDS.name=Incoloy-DS Cell -item.itemCellIncoloyMA956.name=Incoloy-MA956 Cell -item.itemCellTungstenCarbide.name=Tungsten Carbide Cell -item.itemCellSiliconCarbide.name=Silicon Carbide Cell -item.itemCellTantalumCarbide.name=Tantalum Carbide Cell -item.itemCellZirconiumCarbide.name=Zirconium Carbide Cell -item.itemCellNiobiumCarbide.name=Niobium Carbide Cell -item.itemCellGrisium.name=Grisium Cell -item.itemCellEglinSteelBaseCompound.name=Eglin Steel Base Compound Cell -item.itemCellEglinSteel.name=Eglin Steel Cell -item.itemCellHG1223.name=HG-1223 Cell -item.itemCellTriniumTitaniumAlloy.name=Trinium Titanium Alloy Cell -item.itemCellTriniumNaquadahAlloy.name=Trinium Naquadah Alloy Cell -item.itemCellTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Cell -item.itemCellQuantum.name=Quantum Cell -item.itemIngotBromine.name=Bromine Ingot -item.itemDustBromine.name=Bromine Dust -item.itemDustTinyBromine.name=Tiny Pile of Bromine Dust -item.itemDustSmallBromine.name=Small Pile of Bromine Dust -item.itemNuggetBromine.name=Bromine Nugget -item.itemPlateBromine.name=Bromine Plate -item.itemPlateDoubleBromine.name=Double Bromine Plate -item.itemIngotStrontium.name=Strontium Ingot -item.itemDustStrontium.name=Strontium Dust -item.itemDustTinyStrontium.name=Tiny Pile of Strontium Dust -item.itemDustSmallStrontium.name=Small Pile of Strontium Dust -item.itemNuggetStrontium.name=Strontium Nugget -item.itemPlateStrontium.name=Strontium Plate -item.itemPlateDoubleStrontium.name=Double Strontium Plate -item.itemBoltStrontium.name=Strontium Bolt -item.itemRodStrontium.name=Strontium Rod -item.itemRodLongStrontium.name=Long Strontium Rod -item.itemRingStrontium.name=Strontium Ring -item.itemScrewStrontium.name=Strontium Screw -item.itemRotorStrontium.name=Strontium Rotor -item.itemGearStrontium.name=Strontium Gear -item.itemIngotZirconium.name=Zirconium Ingot -item.itemDustZirconium.name=Zirconium Dust -item.itemDustTinyZirconium.name=Tiny Pile of Zirconium Dust -item.itemDustSmallZirconium.name=Small Pile of Zirconium Dust -item.itemNuggetZirconium.name=Zirconium Nugget -item.itemPlateZirconium.name=Zirconium Plate -item.itemPlateDoubleZirconium.name=Double Zirconium Plate -item.itemBoltZirconium.name=Zirconium Bolt -item.itemRodZirconium.name=Zirconium Rod -item.itemRodLongZirconium.name=Long Zirconium Rod -item.itemRingZirconium.name=Zirconium Ring -item.itemScrewZirconium.name=Zirconium Screw -item.itemRotorZirconium.name=Zirconium Rotor -item.itemGearZirconium.name=Zirconium Gear -item.itemIngotRuthenium.name=Ruthenium Ingot -item.itemDustRuthenium.name=Ruthenium Dust -item.itemDustTinyRuthenium.name=Tiny Pile of Ruthenium Dust -item.itemDustSmallRuthenium.name=Small Pile of Ruthenium Dust -item.itemNuggetRuthenium.name=Ruthenium Nugget -item.itemPlateRuthenium.name=Ruthenium Plate -item.itemPlateDoubleRuthenium.name=Double Ruthenium Plate -item.itemBoltRuthenium.name=Ruthenium Bolt -item.itemRodRuthenium.name=Ruthenium Rod -item.itemRodLongRuthenium.name=Long Ruthenium Rod -item.itemRingRuthenium.name=Ruthenium Ring -item.itemScrewRuthenium.name=Ruthenium Screw -item.itemRotorRuthenium.name=Ruthenium Rotor -item.itemGearRuthenium.name=Ruthenium Gear -item.itemIngotIodine.name=Iodine Ingot -item.itemDustIodine.name=Iodine Dust -item.itemDustTinyIodine.name=Tiny Pile of Iodine Dust -item.itemDustSmallIodine.name=Small Pile of Iodine Dust -item.itemNuggetIodine.name=Iodine Nugget -item.itemPlateIodine.name=Iodine Plate -item.itemPlateDoubleIodine.name=Double Iodine Plate -item.itemBoltIodine.name=Iodine Bolt -item.itemRodIodine.name=Iodine Rod -item.itemRodLongIodine.name=Long Iodine Rod -item.itemRingIodine.name=Iodine Ring -item.itemScrewIodine.name=Iodine Screw -item.itemRotorIodine.name=Iodine Rotor -item.itemGearIodine.name=Iodine Gear -item.itemIngotHafnium.name=Hafnium Ingot -item.itemDustHafnium.name=Hafnium Dust -item.itemDustTinyHafnium.name=Tiny Pile of Hafnium Dust -item.itemDustSmallHafnium.name=Small Pile of Hafnium Dust -item.itemNuggetHafnium.name=Hafnium Nugget -item.itemPlateHafnium.name=Hafnium Plate -item.itemPlateDoubleHafnium.name=Double Hafnium Plate -item.itemBoltHafnium.name=Hafnium Bolt -item.itemRodHafnium.name=Hafnium Rod -item.itemRodLongHafnium.name=Long Hafnium Rod -item.itemRingHafnium.name=Hafnium Ring -item.itemScrewHafnium.name=Hafnium Screw -item.itemRotorHafnium.name=Hafnium Rotor -item.itemGearHafnium.name=Hafnium Gear -item.itemIngotDysprosium.name=Dysprosium Ingot -item.itemDustDysprosium.name=Dysprosium Dust -item.itemDustTinyDysprosium.name=Tiny Pile of Dysprosium Dust -item.itemDustSmallDysprosium.name=Small Pile of Dysprosium Dust -item.itemNuggetDysprosium.name=Dysprosium Nugget -item.itemPlateDysprosium.name=Dysprosium Plate -item.itemPlateDoubleDysprosium.name=Double Dysprosium Plate -item.itemBoltDysprosium.name=Dysprosium Bolt -item.itemRodDysprosium.name=Dysprosium Rod -item.itemRodLongDysprosium.name=Long Dysprosium Rod -item.itemRingDysprosium.name=Dysprosium Ring -item.itemScrewDysprosium.name=Dysprosium Screw -item.itemRotorDysprosium.name=Dysprosium Rotor -item.itemGearDysprosium.name=Dysprosium Gear -item.itemIngotTellurium.name=Tellurium Ingot -item.itemDustTellurium.name=Tellurium Dust -item.itemDustTinyTellurium.name=Tiny Pile of Tellurium Dust -item.itemDustSmallTellurium.name=Small Pile of Tellurium Dust -item.itemNuggetTellurium.name=Tellurium Nugget -item.itemPlateTellurium.name=Tellurium Plate -item.itemPlateDoubleTellurium.name=Double Tellurium Plate -item.itemBoltTellurium.name=Tellurium Bolt -item.itemRodTellurium.name=Tellurium Rod -item.itemRodLongTellurium.name=Long Tellurium Rod -item.itemRingTellurium.name=Tellurium Ring -item.itemScrewTellurium.name=Tellurium Screw -item.itemRotorTellurium.name=Tellurium Rotor -item.itemGearTellurium.name=Tellurium Gear -item.itemIngotRhodium.name=Rhodium Ingot -item.itemDustRhodium.name=Rhodium Dust -item.itemDustTinyRhodium.name=Tiny Pile of Rhodium Dust -item.itemDustSmallRhodium.name=Small Pile of Rhodium Dust -item.itemNuggetRhodium.name=Rhodium Nugget -item.itemPlateRhodium.name=Rhodium Plate -item.itemPlateDoubleRhodium.name=Double Rhodium Plate -item.itemBoltRhodium.name=Rhodium Bolt -item.itemRodRhodium.name=Rhodium Rod -item.itemRodLongRhodium.name=Long Rhodium Rod -item.itemRingRhodium.name=Rhodium Ring -item.itemScrewRhodium.name=Rhodium Screw -item.itemRotorRhodium.name=Rhodium Rotor -item.itemGearRhodium.name=Rhodium Gear -item.itemIngotRhenium.name=Rhenium Ingot -item.itemDustRhenium.name=Rhenium Dust -item.itemDustTinyRhenium.name=Tiny Pile of Rhenium Dust -item.itemDustSmallRhenium.name=Small Pile of Rhenium Dust -item.itemNuggetRhenium.name=Rhenium Nugget -item.itemPlateRhenium.name=Rhenium Plate -item.itemPlateDoubleRhenium.name=Double Rhenium Plate -item.itemBoltRhenium.name=Rhenium Bolt -item.itemRodRhenium.name=Rhenium Rod -item.itemRodLongRhenium.name=Long Rhenium Rod -item.itemRingRhenium.name=Rhenium Ring -item.itemScrewRhenium.name=Rhenium Screw -item.itemRotorRhenium.name=Rhenium Rotor -item.itemGearRhenium.name=Rhenium Gear -item.itemIngotThallium.name=Thallium Ingot -item.itemDustThallium.name=Thallium Dust -item.itemDustTinyThallium.name=Tiny Pile of Thallium Dust -item.itemDustSmallThallium.name=Small Pile of Thallium Dust -item.itemNuggetThallium.name=Thallium Nugget -item.itemPlateThallium.name=Thallium Plate -item.itemPlateDoubleThallium.name=Double Thallium Plate -item.itemBoltThallium.name=Thallium Bolt -item.itemRodThallium.name=Thallium Rod -item.itemRodLongThallium.name=Long Thallium Rod -item.itemRingThallium.name=Thallium Ring -item.itemScrewThallium.name=Thallium Screw -item.itemRotorThallium.name=Thallium Rotor -item.itemGearThallium.name=Thallium Gear -item.itemIngotTechnetium.name=Technetium Ingot -item.itemDustTechnetium.name=Technetium Dust -item.itemDustTinyTechnetium.name=Tiny Pile of Technetium Dust -item.itemDustSmallTechnetium.name=Small Pile of Technetium Dust -item.itemNuggetTechnetium.name=Technetium Nugget -item.itemPlateTechnetium.name=Technetium Plate -item.itemPlateDoubleTechnetium.name=Double Technetium Plate -item.itemIngotPolonium.name=Polonium Ingot -item.itemDustPolonium.name=Polonium Dust -item.itemDustTinyPolonium.name=Tiny Pile of Polonium Dust -item.itemDustSmallPolonium.name=Small Pile of Polonium Dust -item.itemNuggetPolonium.name=Polonium Nugget -item.itemPlatePolonium.name=Polonium Plate -item.itemPlateDoublePolonium.name=Double Polonium Plate -item.itemIngotAstatine.name=Astatine Ingot -item.itemDustAstatine.name=Astatine Dust -item.itemDustTinyAstatine.name=Tiny Pile of Astatine Dust -item.itemDustSmallAstatine.name=Small Pile of Astatine Dust -item.itemNuggetAstatine.name=Astatine Nugget -item.itemPlateAstatine.name=Astatine Plate -item.itemPlateDoubleAstatine.name=Double Astatine Plate -item.itemIngotFrancium.name=Francium Ingot -item.itemDustFrancium.name=Francium Dust -item.itemDustTinyFrancium.name=Tiny Pile of Francium Dust -item.itemDustSmallFrancium.name=Small Pile of Francium Dust -item.itemNuggetFrancium.name=Francium Nugget -item.itemPlateFrancium.name=Francium Plate -item.itemPlateDoubleFrancium.name=Double Francium Plate -item.itemIngotRadium.name=Radium Ingot -item.itemDustRadium.name=Radium Dust -item.itemDustTinyRadium.name=Tiny Pile of Radium Dust -item.itemDustSmallRadium.name=Small Pile of Radium Dust -item.itemNuggetRadium.name=Radium Nugget -item.itemPlateRadium.name=Radium Plate -item.itemPlateDoubleRadium.name=Double Radium Plate -item.itemIngotActinium.name=Actinium Ingot -item.itemDustActinium.name=Actinium Dust -item.itemDustTinyActinium.name=Tiny Pile of Actinium Dust -item.itemDustSmallActinium.name=Small Pile of Actinium Dust -item.itemNuggetActinium.name=Actinium Nugget -item.itemPlateActinium.name=Actinium Plate -item.itemPlateDoubleActinium.name=Double Actinium Plate -item.itemIngotProtactinium.name=Protactinium Ingot -item.itemDustProtactinium.name=Protactinium Dust -item.itemDustTinyProtactinium.name=Tiny Pile of Protactinium Dust -item.itemDustSmallProtactinium.name=Small Pile of Protactinium Dust -item.itemNuggetProtactinium.name=Protactinium Nugget -item.itemPlateProtactinium.name=Protactinium Plate -item.itemPlateDoubleProtactinium.name=Double Protactinium Plate -item.itemIngotNeptunium.name=Neptunium Ingot -item.itemDustNeptunium.name=Neptunium Dust -item.itemDustTinyNeptunium.name=Tiny Pile of Neptunium Dust -item.itemDustSmallNeptunium.name=Small Pile of Neptunium Dust -item.itemNuggetNeptunium.name=Neptunium Nugget -item.itemPlateNeptunium.name=Neptunium Plate -item.itemPlateDoubleNeptunium.name=Double Neptunium Plate -item.itemIngotCurium.name=Curium Ingot -item.itemDustCurium.name=Curium Dust -item.itemDustTinyCurium.name=Tiny Pile of Curium Dust -item.itemDustSmallCurium.name=Small Pile of Curium Dust -item.itemNuggetCurium.name=Curium Nugget -item.itemPlateCurium.name=Curium Plate -item.itemPlateDoubleCurium.name=Double Curium Plate -item.itemIngotBerkelium.name=Berkelium Ingot -item.itemDustBerkelium.name=Berkelium Dust -item.itemDustTinyBerkelium.name=Tiny Pile of Berkelium Dust -item.itemDustSmallBerkelium.name=Small Pile of Berkelium Dust -item.itemNuggetBerkelium.name=Berkelium Nugget -item.itemPlateBerkelium.name=Berkelium Plate -item.itemPlateDoubleBerkelium.name=Double Berkelium Plate -item.itemIngotCalifornium.name=Californium Ingot -item.itemDustCalifornium.name=Californium Dust -item.itemDustTinyCalifornium.name=Tiny Pile of Californium Dust -item.itemDustSmallCalifornium.name=Small Pile of Californium Dust -item.itemNuggetCalifornium.name=Californium Nugget -item.itemPlateCalifornium.name=Californium Plate -item.itemPlateDoubleCalifornium.name=Double Californium Plate -item.itemDustEinsteinium.name=Einsteinium Dust -item.itemDustTinyEinsteinium.name=Tiny Pile of Einsteinium Dust -item.itemDustSmallEinsteinium.name=Small Pile of Einsteinium Dust -item.itemNuggetEinsteinium.name=Einsteinium Nugget -item.itemPlateEinsteinium.name=Einsteinium Plate -item.itemPlateDoubleEinsteinium.name=Double Einsteinium Plate -item.itemIngotFermium.name=Fermium Ingot -item.itemDustFermium.name=Fermium Dust -item.itemDustTinyFermium.name=Tiny Pile of Fermium Dust -item.itemDustSmallFermium.name=Small Pile of Fermium Dust -item.itemNuggetFermium.name=Fermium Nugget -item.itemPlateFermium.name=Fermium Plate -item.itemPlateDoubleFermium.name=Double Fermium Plate -item.itemIngotLithium7.name=Lithium 7 Ingot -item.itemDustLithium7.name=Lithium 7 Dust -item.itemDustTinyLithium7.name=Tiny Pile of Lithium 7 Dust -item.itemDustSmallLithium7.name=Small Pile of Lithium 7 Dust -item.itemNuggetLithium7.name=Lithium 7 Nugget -item.itemPlateLithium7.name=Lithium 7 Plate -item.itemPlateDoubleLithium7.name=Double Lithium 7 Plate -item.itemIngotThorium232.name=Thorium 232 Ingot -item.itemDustThorium232.name=Thorium 232 Dust -item.itemDustTinyThorium232.name=Tiny Pile of Thorium 232 Dust -item.itemDustSmallThorium232.name=Small Pile of Thorium 232 Dust -item.itemNuggetThorium232.name=Thorium 232 Nugget -item.itemPlateThorium232.name=Thorium 232 Plate -item.itemPlateDoubleThorium232.name=Double Thorium 232 Plate -item.itemIngotUranium232.name=Uranium 232 Ingot -item.itemDustUranium232.name=Uranium 232 Dust -item.itemDustTinyUranium232.name=Tiny Pile of Uranium 232 Dust -item.itemDustSmallUranium232.name=Small Pile of Uranium 232 Dust -item.itemNuggetUranium232.name=Uranium 232 Nugget -item.itemPlateUranium232.name=Uranium 232 Plate -item.itemRodUranium232.name=Uranium 232 Rod -item.itemRodLongUranium232.name=Long Uranium 232 Rod -item.itemIngotUranium233.name=Uranium 233 Ingot -item.itemDustUranium233.name=Uranium 233 Dust -item.itemDustTinyUranium233.name=Tiny Pile of Uranium 233 Dust -item.itemDustSmallUranium233.name=Small Pile of Uranium 233 Dust -item.itemNuggetUranium233.name=Uranium 233 Nugget -item.itemPlateUranium233.name=Uranium 233 Plate -item.itemRodUranium233.name=Uranium 233 Rod -item.itemRodLongUranium233.name=Long Uranium 233 Rod -item.itemIngotPlutonium238.name=Plutonium 238 Ingot -item.itemDustPlutonium238.name=Plutonium 238 Dust -item.itemDustTinyPlutonium238.name=Tiny Pile of Plutonium 238 Dust -item.itemDustSmallPlutonium238.name=Small Pile of Plutonium 238 Dust -item.itemNuggetPlutonium238.name=Plutonium 238 Nugget -item.itemPlatePlutonium238.name=Plutonium 238 Plate -item.itemPlateDoublePlutonium238.name=Double Plutonium 238 Plate -item.itemIngotStrontium90.name=Strontium 90 Ingot -item.itemDustStrontium90.name=Strontium 90 Dust -item.itemDustTinyStrontium90.name=Tiny Pile of Strontium 90 Dust -item.itemDustSmallStrontium90.name=Small Pile of Strontium 90 Dust -item.itemNuggetStrontium90.name=Strontium 90 Nugget -item.itemPlateStrontium90.name=Strontium 90 Plate -item.itemPlateDoubleStrontium90.name=Double Strontium 90 Plate -item.itemIngotPolonium210.name=Polonium 210 Ingot -item.itemDustPolonium210.name=Polonium 210 Dust -item.itemDustTinyPolonium210.name=Tiny Pile of Polonium 210 Dust -item.itemDustSmallPolonium210.name=Small Pile of Polonium 210 Dust -item.itemNuggetPolonium210.name=Polonium 210 Nugget -item.itemPlatePolonium210.name=Polonium 210 Plate -item.itemPlateDoublePolonium210.name=Double Polonium 210 Plate -item.itemIngotAmericium241.name=Americium 241 Ingot -item.itemDustAmericium241.name=Americium 241 Dust -item.itemDustTinyAmericium241.name=Tiny Pile of Americium 241 Dust -item.itemDustSmallAmericium241.name=Small Pile of Americium 241 Dust -item.itemNuggetAmericium241.name=Americium 241 Nugget -item.itemPlateAmericium241.name=Americium 241 Plate -item.itemPlateDoubleAmericium241.name=Double Americium 241 Plate -item.itemIngotSiliconCarbide.name=Silicon Carbide Ingot -item.itemDustSiliconCarbide.name=Silicon Carbide Dust -item.itemDustTinySiliconCarbide.name=Tiny Pile of Silicon Carbide Dust -item.itemDustSmallSiliconCarbide.name=Small Pile of Silicon Carbide Dust -item.itemNuggetSiliconCarbide.name=Silicon Carbide Nugget -item.itemPlateSiliconCarbide.name=Silicon Carbide Plate -item.itemPlateDoubleSiliconCarbide.name=Double Silicon Carbide Plate -item.itemBoltSiliconCarbide.name=Silicon Carbide Bolt -item.itemRodSiliconCarbide.name=Silicon Carbide Rod -item.itemRodLongSiliconCarbide.name=Long Silicon Carbide Rod -item.itemRingSiliconCarbide.name=Silicon Carbide Ring -item.itemScrewSiliconCarbide.name=Silicon Carbide Screw -item.itemRotorSiliconCarbide.name=Silicon Carbide Rotor -item.itemGearSiliconCarbide.name=Silicon Carbide Gear -item.itemIngotZirconiumCarbide.name=Zirconium Carbide Ingot -item.itemHotIngotZirconiumCarbide.name=Hot Zirconium Carbide Ingot -item.itemDustZirconiumCarbide.name=Zirconium Carbide Dust -item.itemDustTinyZirconiumCarbide.name=Tiny Pile of Zirconium Carbide Dust -item.itemDustSmallZirconiumCarbide.name=Small Pile of Zirconium Carbide Dust -item.itemNuggetZirconiumCarbide.name=Zirconium Carbide Nugget -item.itemPlateZirconiumCarbide.name=Zirconium Carbide Plate -item.itemPlateDoubleZirconiumCarbide.name=Double Zirconium Carbide Plate -item.itemBoltZirconiumCarbide.name=Zirconium Carbide Bolt -item.itemRodZirconiumCarbide.name=Zirconium Carbide Rod -item.itemRodLongZirconiumCarbide.name=Long Zirconium Carbide Rod -item.itemRingZirconiumCarbide.name=Zirconium Carbide Ring -item.itemScrewZirconiumCarbide.name=Zirconium Carbide Screw -item.itemRotorZirconiumCarbide.name=Zirconium Carbide Rotor -item.itemGearZirconiumCarbide.name=Zirconium Carbide Gear -item.itemIngotTantalumCarbide.name=Tantalum Carbide Ingot -item.itemHotIngotTantalumCarbide.name=Hot Tantalum Carbide Ingot -item.itemDustTantalumCarbide.name=Tantalum Carbide Dust -item.itemDustTinyTantalumCarbide.name=Tiny Pile of Tantalum Carbide Dust -item.itemDustSmallTantalumCarbide.name=Small Pile of Tantalum Carbide Dust -item.itemNuggetTantalumCarbide.name=Tantalum Carbide Nugget -item.itemPlateTantalumCarbide.name=Tantalum Carbide Plate -item.itemPlateDoubleTantalumCarbide.name=Double Tantalum Carbide Plate -item.itemBoltTantalumCarbide.name=Tantalum Carbide Bolt -item.itemRodTantalumCarbide.name=Tantalum Carbide Rod -item.itemRodLongTantalumCarbide.name=Long Tantalum Carbide Rod -item.itemRingTantalumCarbide.name=Tantalum Carbide Ring -item.itemScrewTantalumCarbide.name=Tantalum Carbide Screw -item.itemRotorTantalumCarbide.name=Tantalum Carbide Rotor -item.itemGearTantalumCarbide.name=Tantalum Carbide Gear -item.itemIngotNiobiumCarbide.name=Niobium Carbide Ingot -item.itemHotIngotNiobiumCarbide.name=Hot Niobium Carbide Ingot -item.itemDustNiobiumCarbide.name=Niobium Carbide Dust -item.itemDustTinyNiobiumCarbide.name=Tiny Pile of Niobium Carbide Dust -item.itemDustSmallNiobiumCarbide.name=Small Pile of Niobium Carbide Dust -item.itemNuggetNiobiumCarbide.name=Niobium Carbide Nugget -item.itemPlateNiobiumCarbide.name=Niobium Carbide Plate -item.itemPlateDoubleNiobiumCarbide.name=Double Niobium Carbide Plate -item.itemBoltNiobiumCarbide.name=Niobium Carbide Bolt -item.itemRodNiobiumCarbide.name=Niobium Carbide Rod -item.itemRodLongNiobiumCarbide.name=Long Niobium Carbide Rod -item.itemRingNiobiumCarbide.name=Niobium Carbide Ring -item.itemScrewNiobiumCarbide.name=Niobium Carbide Screw -item.itemRotorNiobiumCarbide.name=Niobium Carbide Rotor -item.itemGearNiobiumCarbide.name=Niobium Carbide Gear -item.itemIngotBerylliumFluoride.name=Beryllium Fluoride Ingot -item.itemDustBerylliumFluoride.name=Beryllium Fluoride Dust -item.itemDustTinyBerylliumFluoride.name=Tiny Pile of Beryllium Fluoride Dust -item.itemDustSmallBerylliumFluoride.name=Small Pile of Beryllium Fluoride Dust -item.itemNuggetBerylliumFluoride.name=Beryllium Fluoride Nugget -item.itemPlateBerylliumFluoride.name=Beryllium Fluoride Plate -item.itemPlateDoubleBerylliumFluoride.name=Double Beryllium Fluoride Plate -item.itemIngotLithiumFluoride.name=Lithium Fluoride Ingot -item.itemDustLithiumFluoride.name=Lithium Fluoride Dust -item.itemDustTinyLithiumFluoride.name=Tiny Pile of Lithium Fluoride Dust -item.itemDustSmallLithiumFluoride.name=Small Pile of Lithium Fluoride Dust -item.itemNuggetLithiumFluoride.name=Lithium Fluoride Nugget -item.itemPlateLithiumFluoride.name=Lithium Fluoride Plate -item.itemPlateDoubleLithiumFluoride.name=Double Lithium Fluoride Plate -item.itemIngotThoriumTetrafluoride.name=Thorium Tetrafluoride Ingot -item.itemDustThoriumTetrafluoride.name=Thorium Tetrafluoride Dust -item.itemDustTinyThoriumTetrafluoride.name=Tiny Pile of Thorium Tetrafluoride Dust -item.itemDustSmallThoriumTetrafluoride.name=Small Pile of Thorium Tetrafluoride Dust -item.itemNuggetThoriumTetrafluoride.name=Thorium Tetrafluoride Nugget -item.itemPlateThoriumTetrafluoride.name=Thorium Tetrafluoride Plate -item.itemPlateDoubleThoriumTetrafluoride.name=Double Thorium Tetrafluoride Plate -item.itemIngotThoriumHexafluoride.name=Thorium Hexafluoride Ingot -item.itemDustThoriumHexafluoride.name=Thorium Hexafluoride Dust -item.itemDustTinyThoriumHexafluoride.name=Tiny Pile of Thorium Hexafluoride Dust -item.itemDustSmallThoriumHexafluoride.name=Small Pile of Thorium Hexafluoride Dust -item.itemNuggetThoriumHexafluoride.name=Thorium Hexafluoride Nugget -item.itemPlateThoriumHexafluoride.name=Thorium Hexafluoride Plate -item.itemPlateDoubleThoriumHexafluoride.name=Double Thorium Hexafluoride Plate -item.itemIngotUraniumTetrafluoride.name=Uranium Tetrafluoride Ingot -item.itemDustUraniumTetrafluoride.name=Uranium Tetrafluoride Dust -item.itemDustTinyUraniumTetrafluoride.name=Tiny Pile of Uranium Tetrafluoride Dust -item.itemDustSmallUraniumTetrafluoride.name=Small Pile of Uranium Tetrafluoride Dust -item.itemNuggetUraniumTetrafluoride.name=Uranium Tetrafluoride Nugget -item.itemPlateUraniumTetrafluoride.name=Uranium Tetrafluoride Plate -item.itemPlateDoubleUraniumTetrafluoride.name=Double Uranium Tetrafluoride Plate -item.itemIngotUraniumHexafluoride.name=Uranium Hexafluoride Ingot -item.itemDustUraniumHexafluoride.name=Uranium Hexafluoride Dust -item.itemDustTinyUraniumHexafluoride.name=Tiny Pile of Uranium Hexafluoride Dust -item.itemDustSmallUraniumHexafluoride.name=Small Pile of Uranium Hexafluoride Dust -item.itemNuggetUraniumHexafluoride.name=Uranium Hexafluoride Nugget -item.itemPlateUraniumHexafluoride.name=Uranium Hexafluoride Plate -item.itemPlateDoubleUraniumHexafluoride.name=Double Uranium Hexafluoride Plate -item.itemIngotZirconiumTetrafluoride.name=Zirconium Tetrafluoride Ingot -item.itemDustZirconiumTetrafluoride.name=Zirconium Tetrafluoride Dust -item.itemDustTinyZirconiumTetrafluoride.name=Tiny Pile of Zirconium Tetrafluoride Dust -item.itemDustSmallZirconiumTetrafluoride.name=Small Pile of Zirconium Tetrafluoride Dust -item.itemNuggetZirconiumTetrafluoride.name=Zirconium Tetrafluoride Nugget -item.itemPlateZirconiumTetrafluoride.name=Zirconium Tetrafluoride Plate -item.itemPlateDoubleZirconiumTetrafluoride.name=Double Zirconium Tetrafluoride Plate -item.itemIngotNeptuniumHexafluoride.name=Neptunium Hexafluoride Ingot -item.itemDustNeptuniumHexafluoride.name=Neptunium Hexafluoride Dust -item.itemDustTinyNeptuniumHexafluoride.name=Tiny Pile of Neptunium Hexafluoride Dust -item.itemDustSmallNeptuniumHexafluoride.name=Small Pile of Neptunium Hexafluoride Dust -item.itemNuggetNeptuniumHexafluoride.name=Neptunium Hexafluoride Nugget -item.itemPlateNeptuniumHexafluoride.name=Neptunium Hexafluoride Plate -item.itemPlateDoubleNeptuniumHexafluoride.name=Double Neptunium Hexafluoride Plate -item.itemIngotTechnetiumHexafluoride.name=Technetium Hexafluoride Ingot -item.itemDustTechnetiumHexafluoride.name=Technetium Hexafluoride Dust -item.itemDustTinyTechnetiumHexafluoride.name=Tiny Pile of Technetium Hexafluoride Dust -item.itemDustSmallTechnetiumHexafluoride.name=Small Pile of Technetium Hexafluoride Dust -item.itemNuggetTechnetiumHexafluoride.name=Technetium Hexafluoride Nugget -item.itemPlateTechnetiumHexafluoride.name=Technetium Hexafluoride Plate -item.itemPlateDoubleTechnetiumHexafluoride.name=Double Technetium Hexafluoride Plate -item.itemIngotSeleniumHexafluoride.name=Selenium Hexafluoride Ingot -item.itemDustSeleniumHexafluoride.name=Selenium Hexafluoride Dust -item.itemDustTinySeleniumHexafluoride.name=Tiny Pile of Selenium Hexafluoride Dust -item.itemDustSmallSeleniumHexafluoride.name=Small Pile of Selenium Hexafluoride Dust -item.itemNuggetSeleniumHexafluoride.name=Selenium Hexafluoride Nugget -item.itemPlateSeleniumHexafluoride.name=Selenium Hexafluoride Plate -item.itemPlateDoubleSeleniumHexafluoride.name=Double Selenium Hexafluoride Plate -item.itemIngotLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235 Ingot -item.itemDustLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235 Dust -item.itemDustTinyLiFBeF2ZrF4U235.name=Tiny Pile of LiFBeF2ZrF4U235 Dust -item.itemDustSmallLiFBeF2ZrF4U235.name=Small Pile of LiFBeF2ZrF4U235 Dust -item.itemNuggetLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235 Nugget -item.itemPlateLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235 Plate -item.itemPlateDoubleLiFBeF2ZrF4U235.name=Double LiFBeF2ZrF4U235 Plate -item.itemIngotLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4 Ingot -item.itemDustLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4 Dust -item.itemDustTinyLiFBeF2ZrF4UF4.name=Tiny Pile of LiFBeF2ZrF4UF4 Dust -item.itemDustSmallLiFBeF2ZrF4UF4.name=Small Pile of LiFBeF2ZrF4UF4 Dust -item.itemNuggetLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4 Nugget -item.itemPlateLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4 Plate -item.itemPlateDoubleLiFBeF2ZrF4UF4.name=Double LiFBeF2ZrF4UF4 Plate -item.itemIngotLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4 Ingot -item.itemDustLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4 Dust -item.itemDustTinyLiFBeF2ThF4UF4.name=Tiny Pile of LiFBeF2ThF4UF4 Dust -item.itemDustSmallLiFBeF2ThF4UF4.name=Small Pile of LiFBeF2ThF4UF4 Dust -item.itemNuggetLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4 Nugget -item.itemPlateLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4 Plate -item.itemPlateDoubleLiFBeF2ThF4UF4.name=Double LiFBeF2ThF4UF4 Plate -item.itemIngotEnergyCrystal.name=Energy Crystal Ingot -item.itemHotIngotEnergyCrystal.name=Hot Energy Crystal Ingot -item.itemDustEnergyCrystal.name=Energy Crystal Dust -item.itemDustTinyEnergyCrystal.name=Tiny Pile of Energy Crystal Dust -item.itemDustSmallEnergyCrystal.name=Small Pile of Energy Crystal Dust -item.itemNuggetEnergyCrystal.name=Energy Crystal Nugget -item.itemPlateEnergyCrystal.name=Energy Crystal Plate -item.itemPlateDoubleEnergyCrystal.name=Double Energy Crystal Plate -item.itemBoltEnergyCrystal.name=Energy Crystal Bolt -item.itemRodEnergyCrystal.name=Energy Crystal Rod -item.itemRodLongEnergyCrystal.name=Long Energy Crystal Rod -item.itemRingEnergyCrystal.name=Energy Crystal Ring -item.itemScrewEnergyCrystal.name=Energy Crystal Screw -item.itemRotorEnergyCrystal.name=Energy Crystal Rotor -item.itemGearEnergyCrystal.name=Energy Crystal Gear -item.itemIngotBloodSteel.name=Blood Steel Ingot -item.itemDustBloodSteel.name=Blood Steel Dust -item.itemDustTinyBloodSteel.name=Tiny Pile of Blood Steel Dust -item.itemDustSmallBloodSteel.name=Small Pile of Blood Steel Dust -item.itemNuggetBloodSteel.name=Blood Steel Nugget -item.itemPlateBloodSteel.name=Blood Steel Plate -item.itemPlateDoubleBloodSteel.name=Double Blood Steel Plate -item.itemBoltBloodSteel.name=Blood Steel Bolt -item.itemRodBloodSteel.name=Blood Steel Rod -item.itemRodLongBloodSteel.name=Long Blood Steel Rod -item.itemRingBloodSteel.name=Blood Steel Ring -item.itemScrewBloodSteel.name=Blood Steel Screw -item.itemRotorBloodSteel.name=Blood Steel Rotor -item.itemGearBloodSteel.name=Blood Steel Gear -item.itemIngotZeron100.name=Zeron-100 Ingot -item.itemHotIngotZeron100.name=Hot Zeron-100 Ingot -item.itemDustZeron100.name=Zeron-100 Dust -item.itemDustTinyZeron100.name=Tiny Pile of Zeron-100 Dust -item.itemDustSmallZeron100.name=Small Pile of Zeron-100 Dust -item.itemNuggetZeron100.name=Zeron-100 Nugget -item.itemPlateZeron100.name=Zeron-100 Plate -item.itemPlateDoubleZeron100.name=Double Zeron-100 Plate -item.itemBoltZeron100.name=Zeron-100 Bolt -item.itemRodZeron100.name=Zeron-100 Rod -item.itemRodLongZeron100.name=Long Zeron-100 Rod -item.itemRingZeron100.name=Zeron-100 Ring -item.itemScrewZeron100.name=Zeron-100 Screw -item.itemRotorZeron100.name=Zeron-100 Rotor -item.itemGearZeron100.name=Zeron-100 Gear -item.itemIngotTumbaga.name=Tumbaga Ingot -item.itemDustTumbaga.name=Tumbaga Dust -item.itemDustTinyTumbaga.name=Tiny Pile of Tumbaga Dust -item.itemDustSmallTumbaga.name=Small Pile of Tumbaga Dust -item.itemNuggetTumbaga.name=Tumbaga Nugget -item.itemPlateTumbaga.name=Tumbaga Plate -item.itemPlateDoubleTumbaga.name=Double Tumbaga Plate -item.itemBoltTumbaga.name=Tumbaga Bolt -item.itemRodTumbaga.name=Tumbaga Rod -item.itemRodLongTumbaga.name=Long Tumbaga Rod -item.itemRingTumbaga.name=Tumbaga Ring -item.itemScrewTumbaga.name=Tumbaga Screw -item.itemRotorTumbaga.name=Tumbaga Rotor -item.itemGearTumbaga.name=Tumbaga Gear -item.itemIngotPotin.name=Potin Ingot -item.itemDustPotin.name=Potin Dust -item.itemDustTinyPotin.name=Tiny Pile of Potin Dust -item.itemDustSmallPotin.name=Small Pile of Potin Dust -item.itemNuggetPotin.name=Potin Nugget -item.itemPlatePotin.name=Potin Plate -item.itemPlateDoublePotin.name=Double Potin Plate -item.itemBoltPotin.name=Potin Bolt -item.itemRodPotin.name=Potin Rod -item.itemRodLongPotin.name=Long Potin Rod -item.itemRingPotin.name=Potin Ring -item.itemScrewPotin.name=Potin Screw -item.itemRotorPotin.name=Potin Rotor -item.itemGearPotin.name=Potin Gear -item.itemIngotStaballoy.name=Staballoy Ingot -item.itemHotIngotStaballoy.name=Hot Staballoy Ingot -item.itemDustStaballoy.name=Staballoy Dust -item.itemDustTinyStaballoy.name=Tiny Pile of Staballoy Dust -item.itemDustSmallStaballoy.name=Small Pile of Staballoy Dust -item.itemNuggetStaballoy.name=Staballoy Nugget -item.itemPlateStaballoy.name=Staballoy Plate -item.itemPlateDoubleStaballoy.name=Double Staballoy Plate -item.itemBoltStaballoy.name=Staballoy Bolt -item.itemRodStaballoy.name=Staballoy Rod -item.itemRodLongStaballoy.name=Long Staballoy Rod -item.itemRingStaballoy.name=Staballoy Ring -item.itemScrewStaballoy.name=Staballoy Screw -item.itemRotorStaballoy.name=Staballoy Rotor -item.itemGearStaballoy.name=Staballoy Gear -item.itemIngotTantalloy60.name=Tantalloy-60 Ingot -item.itemHotIngotTantalloy60.name=Hot Tantalloy-60 Ingot -item.itemDustTantalloy60.name=Tantalloy-60 Dust -item.itemDustTinyTantalloy60.name=Tiny Pile of Tantalloy-60 Dust -item.itemDustSmallTantalloy60.name=Small Pile of Tantalloy-60 Dust -item.itemNuggetTantalloy60.name=Tantalloy-60 Nugget -item.itemPlateTantalloy60.name=Tantalloy-60 Plate -item.itemPlateDoubleTantalloy60.name=Double Tantalloy-60 Plate -item.itemBoltTantalloy60.name=Tantalloy-60 Bolt -item.itemRodTantalloy60.name=Tantalloy-60 Rod -item.itemRodLongTantalloy60.name=Long Tantalloy-60 Rod -item.itemRingTantalloy60.name=Tantalloy-60 Ring -item.itemScrewTantalloy60.name=Tantalloy-60 Screw -item.itemRotorTantalloy60.name=Tantalloy-60 Rotor -item.itemGearTantalloy60.name=Tantalloy-60 Gear -item.itemIngotTantalloy61.name=Tantalloy-61 Ingot -item.itemHotIngotTantalloy61.name=Hot Tantalloy-61 Ingot -item.itemDustTantalloy61.name=Tantalloy-61 Dust -item.itemDustTinyTantalloy61.name=Tiny Pile of Tantalloy-61 Dust -item.itemDustSmallTantalloy61.name=Small Pile of Tantalloy-61 Dust -item.itemNuggetTantalloy61.name=Tantalloy-61 Nugget -item.itemPlateTantalloy61.name=Tantalloy-61 Plate -item.itemPlateDoubleTantalloy61.name=Double Tantalloy-61 Plate -item.itemBoltTantalloy61.name=Tantalloy-61 Bolt -item.itemRodTantalloy61.name=Tantalloy-61 Rod -item.itemRodLongTantalloy61.name=Long Tantalloy-61 Rod -item.itemRingTantalloy61.name=Tantalloy-61 Ring -item.itemScrewTantalloy61.name=Tantalloy-61 Screw -item.itemRotorTantalloy61.name=Tantalloy-61 Rotor -item.itemGearTantalloy61.name=Tantalloy-61 Gear -item.itemIngotInconel625.name=Inconel-625 Ingot -item.itemHotIngotInconel625.name=Hot Inconel-625 Ingot -item.itemDustInconel625.name=Inconel-625 Dust -item.itemDustTinyInconel625.name=Tiny Pile of Inconel-625 Dust -item.itemDustSmallInconel625.name=Small Pile of Inconel-625 Dust -item.itemNuggetInconel625.name=Inconel-625 Nugget -item.itemPlateInconel625.name=Inconel-625 Plate -item.itemPlateDoubleInconel625.name=Double Inconel-625 Plate -item.itemBoltInconel625.name=Inconel-625 Bolt -item.itemRodInconel625.name=Inconel-625 Rod -item.itemRodLongInconel625.name=Long Inconel-625 Rod -item.itemRingInconel625.name=Inconel-625 Ring -item.itemScrewInconel625.name=Inconel-625 Screw -item.itemRotorInconel625.name=Inconel-625 Rotor -item.itemGearInconel625.name=Inconel-625 Gear -item.itemIngotInconel690.name=Inconel-690 Ingot -item.itemHotIngotInconel690.name=Hot Inconel-690 Ingot -item.itemDustInconel690.name=Inconel-690 Dust -item.itemDustTinyInconel690.name=Tiny Pile of Inconel-690 Dust -item.itemDustSmallInconel690.name=Small Pile of Inconel-690 Dust -item.itemNuggetInconel690.name=Inconel-690 Nugget -item.itemPlateInconel690.name=Inconel-690 Plate -item.itemPlateDoubleInconel690.name=Double Inconel-690 Plate -item.itemBoltInconel690.name=Inconel-690 Bolt -item.itemRodInconel690.name=Inconel-690 Rod -item.itemRodLongInconel690.name=Long Inconel-690 Rod -item.itemRingInconel690.name=Inconel-690 Ring -item.itemScrewInconel690.name=Inconel-690 Screw -item.itemRotorInconel690.name=Inconel-690 Rotor -item.itemGearInconel690.name=Inconel-690 Gear -item.itemIngotInconel792.name=Inconel-792 Ingot -item.itemHotIngotInconel792.name=Hot Inconel-792 Ingot -item.itemDustInconel792.name=Inconel-792 Dust -item.itemDustTinyInconel792.name=Tiny Pile of Inconel-792 Dust -item.itemDustSmallInconel792.name=Small Pile of Inconel-792 Dust -item.itemNuggetInconel792.name=Inconel-792 Nugget -item.itemPlateInconel792.name=Inconel-792 Plate -item.itemPlateDoubleInconel792.name=Double Inconel-792 Plate -item.itemBoltInconel792.name=Inconel-792 Bolt -item.itemRodInconel792.name=Inconel-792 Rod -item.itemRodLongInconel792.name=Long Inconel-792 Rod -item.itemRingInconel792.name=Inconel-792 Ring -item.itemScrewInconel792.name=Inconel-792 Screw -item.itemRotorInconel792.name=Inconel-792 Rotor -item.itemGearInconel792.name=Inconel-792 Gear -item.itemDustEglinSteelBaseCompound.name=Eglin Steel Base Compound Dust -item.itemDustTinyEglinSteelBaseCompound.name=Tiny Pile of Eglin Steel Base Compound Dust -item.itemDustSmallEglinSteelBaseCompound.name=Small Pile of Eglin Steel Base Compound Dust -item.itemIngotEglinSteel.name=Eglin Steel Ingot -item.itemDustEglinSteel.name=Eglin Steel Dust -item.itemDustTinyEglinSteel.name=Tiny Pile of Eglin Steel Dust -item.itemDustSmallEglinSteel.name=Small Pile of Eglin Steel Dust -item.itemNuggetEglinSteel.name=Eglin Steel Nugget -item.itemPlateEglinSteel.name=Eglin Steel Plate -item.itemPlateDoubleEglinSteel.name=Double Eglin Steel Plate -item.itemBoltEglinSteel.name=Eglin Steel Bolt -item.itemRodEglinSteel.name=Eglin Steel Rod -item.itemRodLongEglinSteel.name=Long Eglin Steel Rod -item.itemRingEglinSteel.name=Eglin Steel Ring -item.itemScrewEglinSteel.name=Eglin Steel Screw -item.itemRotorEglinSteel.name=Eglin Steel Rotor -item.itemGearEglinSteel.name=Eglin Steel Gear -item.itemIngotMaragingSteel250.name=Maraging Steel 250 Ingot -item.itemHotIngotMaragingSteel250.name=Hot Maraging Steel 250 Ingot -item.itemDustMaragingSteel250.name=Maraging Steel 250 Dust -item.itemDustTinyMaragingSteel250.name=Tiny Pile of Maraging Steel 250 Dust -item.itemDustSmallMaragingSteel250.name=Small Pile of Maraging Steel 250 Dust -item.itemNuggetMaragingSteel250.name=Maraging Steel 250 Nugget -item.itemPlateMaragingSteel250.name=Maraging Steel 250 Plate -item.itemPlateDoubleMaragingSteel250.name=Double Maraging Steel 250 Plate -item.itemBoltMaragingSteel250.name=Maraging Steel 250 Bolt -item.itemRodMaragingSteel250.name=Maraging Steel 250 Rod -item.itemRodLongMaragingSteel250.name=Long Maraging Steel 250 Rod -item.itemRingMaragingSteel250.name=Maraging Steel 250 Ring -item.itemScrewMaragingSteel250.name=Maraging Steel 250 Screw -item.itemRotorMaragingSteel250.name=Maraging Steel 250 Rotor -item.itemGearMaragingSteel250.name=Maraging Steel 250 Gear -item.itemIngotMaragingSteel300.name=Maraging Steel 300 Ingot -item.itemHotIngotMaragingSteel300.name=Hot Maraging Steel 300 Ingot -item.itemDustMaragingSteel300.name=Maraging Steel 300 Dust -item.itemDustTinyMaragingSteel300.name=Tiny Pile of Maraging Steel 300 Dust -item.itemDustSmallMaragingSteel300.name=Small Pile of Maraging Steel 300 Dust -item.itemNuggetMaragingSteel300.name=Maraging Steel 300 Nugget -item.itemPlateMaragingSteel300.name=Maraging Steel 300 Plate -item.itemPlateDoubleMaragingSteel300.name=Double Maraging Steel 300 Plate -item.itemBoltMaragingSteel300.name=Maraging Steel 300 Bolt -item.itemRodMaragingSteel300.name=Maraging Steel 300 Rod -item.itemRodLongMaragingSteel300.name=Long Maraging Steel 300 Rod -item.itemRingMaragingSteel300.name=Maraging Steel 300 Ring -item.itemScrewMaragingSteel300.name=Maraging Steel 300 Screw -item.itemRotorMaragingSteel300.name=Maraging Steel 300 Rotor -item.itemGearMaragingSteel300.name=Maraging Steel 300 Gear -item.itemIngotMaragingSteel350.name=Maraging Steel 350 Ingot -item.itemHotIngotMaragingSteel350.name=Hot Maraging Steel 350 Ingot -item.itemDustMaragingSteel350.name=Maraging Steel 350 Dust -item.itemDustTinyMaragingSteel350.name=Tiny Pile of Maraging Steel 350 Dust -item.itemDustSmallMaragingSteel350.name=Small Pile of Maraging Steel 350 Dust -item.itemNuggetMaragingSteel350.name=Maraging Steel 350 Nugget -item.itemPlateMaragingSteel350.name=Maraging Steel 350 Plate -item.itemPlateDoubleMaragingSteel350.name=Double Maraging Steel 350 Plate -item.itemBoltMaragingSteel350.name=Maraging Steel 350 Bolt -item.itemRodMaragingSteel350.name=Maraging Steel 350 Rod -item.itemRodLongMaragingSteel350.name=Long Maraging Steel 350 Rod -item.itemRingMaragingSteel350.name=Maraging Steel 350 Ring -item.itemScrewMaragingSteel350.name=Maraging Steel 350 Screw -item.itemRotorMaragingSteel350.name=Maraging Steel 350 Rotor -item.itemGearMaragingSteel350.name=Maraging Steel 350 Gear -item.itemIngotStellite.name=Stellite Ingot -item.itemHotIngotStellite.name=Hot Stellite Ingot -item.itemDustStellite.name=Stellite Dust -item.itemDustTinyStellite.name=Tiny Pile of Stellite Dust -item.itemDustSmallStellite.name=Small Pile of Stellite Dust -item.itemNuggetStellite.name=Stellite Nugget -item.itemPlateStellite.name=Stellite Plate -item.itemPlateDoubleStellite.name=Double Stellite Plate -item.itemBoltStellite.name=Stellite Bolt -item.itemRodStellite.name=Stellite Rod -item.itemRodLongStellite.name=Long Stellite Rod -item.itemRingStellite.name=Stellite Ring -item.itemScrewStellite.name=Stellite Screw -item.itemRotorStellite.name=Stellite Rotor -item.itemGearStellite.name=Stellite Gear -item.itemIngotTalonite.name=Talonite Ingot -item.itemDustTalonite.name=Talonite Dust -item.itemDustTinyTalonite.name=Tiny Pile of Talonite Dust -item.itemDustSmallTalonite.name=Small Pile of Talonite Dust -item.itemNuggetTalonite.name=Talonite Nugget -item.itemPlateTalonite.name=Talonite Plate -item.itemPlateDoubleTalonite.name=Double Talonite Plate -item.itemBoltTalonite.name=Talonite Bolt -item.itemRodTalonite.name=Talonite Rod -item.itemRodLongTalonite.name=Long Talonite Rod -item.itemRingTalonite.name=Talonite Ring -item.itemScrewTalonite.name=Talonite Screw -item.itemRotorTalonite.name=Talonite Rotor -item.itemGearTalonite.name=Talonite Gear -item.itemIngotHastelloyW.name=Hastelloy-W Ingot -item.itemDustHastelloyW.name=Hastelloy-W Dust -item.itemDustTinyHastelloyW.name=Tiny Pile of Hastelloy-W Dust -item.itemDustSmallHastelloyW.name=Small Pile of Hastelloy-W Dust -item.itemNuggetHastelloyW.name=Hastelloy-W Nugget -item.itemPlateHastelloyW.name=Hastelloy-W Plate -item.itemPlateDoubleHastelloyW.name=Double Hastelloy-W Plate -item.itemBoltHastelloyW.name=Hastelloy-W Bolt -item.itemRodHastelloyW.name=Hastelloy-W Rod -item.itemRodLongHastelloyW.name=Long Hastelloy-W Rod -item.itemRingHastelloyW.name=Hastelloy-W Ring -item.itemScrewHastelloyW.name=Hastelloy-W Screw -item.itemRotorHastelloyW.name=Hastelloy-W Rotor -item.itemGearHastelloyW.name=Hastelloy-W Gear -item.itemIngotHastelloyX.name=Hastelloy-X Ingot -item.itemDustHastelloyX.name=Hastelloy-X Dust -item.itemDustTinyHastelloyX.name=Tiny Pile of Hastelloy-X Dust -item.itemDustSmallHastelloyX.name=Small Pile of Hastelloy-X Dust -item.itemNuggetHastelloyX.name=Hastelloy-X Nugget -item.itemPlateHastelloyX.name=Hastelloy-X Plate -item.itemPlateDoubleHastelloyX.name=Double Hastelloy-X Plate -item.itemBoltHastelloyX.name=Hastelloy-X Bolt -item.itemRodHastelloyX.name=Hastelloy-X Rod -item.itemRodLongHastelloyX.name=Long Hastelloy-X Rod -item.itemRingHastelloyX.name=Hastelloy-X Ring -item.itemScrewHastelloyX.name=Hastelloy-X Screw -item.itemRotorHastelloyX.name=Hastelloy-X Rotor -item.itemGearHastelloyX.name=Hastelloy-X Gear -item.itemIngotHastelloyC276.name=Hastelloy-C276 Ingot -item.itemHotIngotHastelloyC276.name=Hot Hastelloy-C276 Ingot -item.itemDustHastelloyC276.name=Hastelloy-C276 Dust -item.itemDustTinyHastelloyC276.name=Tiny Pile of Hastelloy-C276 Dust -item.itemDustSmallHastelloyC276.name=Small Pile of Hastelloy-C276 Dust -item.itemNuggetHastelloyC276.name=Hastelloy-C276 Nugget -item.itemPlateHastelloyC276.name=Hastelloy-C276 Plate -item.itemPlateDoubleHastelloyC276.name=Double Hastelloy-C276 Plate -item.itemBoltHastelloyC276.name=Hastelloy-C276 Bolt -item.itemRodHastelloyC276.name=Hastelloy-C276 Rod -item.itemRodLongHastelloyC276.name=Long Hastelloy-C276 Rod -item.itemRingHastelloyC276.name=Hastelloy-C276 Ring -item.itemScrewHastelloyC276.name=Hastelloy-C276 Screw -item.itemRotorHastelloyC276.name=Hastelloy-C276 Rotor -item.itemGearHastelloyC276.name=Hastelloy-C276 Gear -item.itemIngotHastelloyN.name=Hastelloy-N Ingot -item.itemHotIngotHastelloyN.name=Hot Hastelloy-N Ingot -item.itemDustHastelloyN.name=Hastelloy-N Dust -item.itemDustTinyHastelloyN.name=Tiny Pile of Hastelloy-N Dust -item.itemDustSmallHastelloyN.name=Small Pile of Hastelloy-N Dust -item.itemNuggetHastelloyN.name=Hastelloy-N Nugget -item.itemPlateHastelloyN.name=Hastelloy-N Plate -item.itemPlateDoubleHastelloyN.name=Double Hastelloy-N Plate -item.itemBoltHastelloyN.name=Hastelloy-N Bolt -item.itemRodHastelloyN.name=Hastelloy-N Rod -item.itemRodLongHastelloyN.name=Long Hastelloy-N Rod -item.itemRingHastelloyN.name=Hastelloy-N Ring -item.itemScrewHastelloyN.name=Hastelloy-N Screw -item.itemRotorHastelloyN.name=Hastelloy-N Rotor -item.itemGearHastelloyN.name=Hastelloy-N Gear -item.itemIngotIncoloy020.name=Incoloy-020 Ingot -item.itemDustIncoloy020.name=Incoloy-020 Dust -item.itemDustTinyIncoloy020.name=Tiny Pile of Incoloy-020 Dust -item.itemDustSmallIncoloy020.name=Small Pile of Incoloy-020 Dust -item.itemNuggetIncoloy020.name=Incoloy-020 Nugget -item.itemPlateIncoloy020.name=Incoloy-020 Plate -item.itemPlateDoubleIncoloy020.name=Double Incoloy-020 Plate -item.itemBoltIncoloy020.name=Incoloy-020 Bolt -item.itemRodIncoloy020.name=Incoloy-020 Rod -item.itemRodLongIncoloy020.name=Long Incoloy-020 Rod -item.itemRingIncoloy020.name=Incoloy-020 Ring -item.itemScrewIncoloy020.name=Incoloy-020 Screw -item.itemRotorIncoloy020.name=Incoloy-020 Rotor -item.itemGearIncoloy020.name=Incoloy-020 Gear -item.itemIngotIncoloyDS.name=Incoloy-DS Ingot -item.itemDustIncoloyDS.name=Incoloy-DS Dust -item.itemDustTinyIncoloyDS.name=Tiny Pile of Incoloy-DS Dust -item.itemDustSmallIncoloyDS.name=Small Pile of Incoloy-DS Dust -item.itemNuggetIncoloyDS.name=Incoloy-DS Nugget -item.itemPlateIncoloyDS.name=Incoloy-DS Plate -item.itemPlateDoubleIncoloyDS.name=Double Incoloy-DS Plate -item.itemBoltIncoloyDS.name=Incoloy-DS Bolt -item.itemRodIncoloyDS.name=Incoloy-DS Rod -item.itemRodLongIncoloyDS.name=Long Incoloy-DS Rod -item.itemRingIncoloyDS.name=Incoloy-DS Ring -item.itemScrewIncoloyDS.name=Incoloy-DS Screw -item.itemRotorIncoloyDS.name=Incoloy-DS Rotor -item.itemGearIncoloyDS.name=Incoloy-DS Gear -item.itemIngotIncoloyMA956.name=Incoloy-MA956 Ingot -item.itemHotIngotIncoloyMA956.name=Hot Incoloy-MA956 Ingot -item.itemDustIncoloyMA956.name=Incoloy-MA956 Dust -item.itemDustTinyIncoloyMA956.name=Tiny Pile of Incoloy-MA956 Dust -item.itemDustSmallIncoloyMA956.name=Small Pile of Incoloy-MA956 Dust -item.itemNuggetIncoloyMA956.name=Incoloy-MA956 Nugget -item.itemPlateIncoloyMA956.name=Incoloy-MA956 Plate -item.itemPlateDoubleIncoloyMA956.name=Double Incoloy-MA956 Plate -item.itemBoltIncoloyMA956.name=Incoloy-MA956 Bolt -item.itemRodIncoloyMA956.name=Incoloy-MA956 Rod -item.itemRodLongIncoloyMA956.name=Long Incoloy-MA956 Rod -item.itemRingIncoloyMA956.name=Incoloy-MA956 Ring -item.itemScrewIncoloyMA956.name=Incoloy-MA956 Screw -item.itemRotorIncoloyMA956.name=Incoloy-MA956 Rotor -item.itemGearIncoloyMA956.name=Incoloy-MA956 Gear -item.itemIngotGrisium.name=Grisium Ingot -item.itemHotIngotGrisium.name=Hot Grisium Ingot -item.itemDustGrisium.name=Grisium Dust -item.itemDustTinyGrisium.name=Tiny Pile of Grisium Dust -item.itemDustSmallGrisium.name=Small Pile of Grisium Dust -item.itemNuggetGrisium.name=Grisium Nugget -item.itemPlateGrisium.name=Grisium Plate -item.itemPlateDoubleGrisium.name=Double Grisium Plate -item.itemBoltGrisium.name=Grisium Bolt -item.itemRodGrisium.name=Grisium Rod -item.itemRodLongGrisium.name=Long Grisium Rod -item.itemRingGrisium.name=Grisium Ring -item.itemScrewGrisium.name=Grisium Screw -item.itemRotorGrisium.name=Grisium Rotor -item.itemGearGrisium.name=Grisium Gear -item.itemIngotHG1223.name=HG-1223 Ingot -item.itemDustHG1223.name=HG-1223 Dust -item.itemDustTinyHG1223.name=Tiny Pile of HG-1223 Dust -item.itemDustSmallHG1223.name=Small Pile of HG-1223 Dust -item.itemNuggetHG1223.name=HG-1223 Nugget -item.itemPlateHG1223.name=HG-1223 Plate -item.itemPlateDoubleHG1223.name=Double HG-1223 Plate -item.itemIngotTrinium.name=Trinium Ingot -item.itemDustTrinium.name=Trinium Dust -item.itemDustTinyTrinium.name=Tiny Pile of Trinium Dust -item.itemDustSmallTrinium.name=Small Pile of Trinium Dust -item.itemNuggetTrinium.name=Trinium Nugget -item.itemPlateTrinium.name=Trinium Plate -item.itemPlateDoubleTrinium.name=Double Trinium Plate -item.itemIngotRefinedTrinium.name=Refined Trinium Ingot -item.itemDustRefinedTrinium.name=Refined Trinium Dust -item.itemDustTinyRefinedTrinium.name=Tiny Pile of Refined Trinium Dust -item.itemDustSmallRefinedTrinium.name=Small Pile of Refined Trinium Dust -item.itemNuggetRefinedTrinium.name=Refined Trinium Nugget -item.itemPlateRefinedTrinium.name=Refined Trinium Plate -item.itemPlateDoubleRefinedTrinium.name=Double Refined Trinium Plate -item.itemIngotTriniumTitaniumAlloy.name=Trinium Titanium Alloy Ingot -item.itemHotIngotTriniumTitaniumAlloy.name=Hot Trinium Titanium Alloy Ingot -item.itemDustTriniumTitaniumAlloy.name=Trinium Titanium Alloy Dust -item.itemDustTinyTriniumTitaniumAlloy.name=Tiny Pile of Trinium Titanium Alloy Dust -item.itemDustSmallTriniumTitaniumAlloy.name=Small Pile of Trinium Titanium Alloy Dust -item.itemNuggetTriniumTitaniumAlloy.name=Trinium Titanium Alloy Nugget -item.itemPlateTriniumTitaniumAlloy.name=Trinium Titanium Alloy Plate -item.itemPlateDoubleTriniumTitaniumAlloy.name=Double Trinium Titanium Alloy Plate -item.itemBoltTriniumTitaniumAlloy.name=Trinium Titanium Alloy Bolt -item.itemRodTriniumTitaniumAlloy.name=Trinium Titanium Alloy Rod -item.itemRodLongTriniumTitaniumAlloy.name=Long Trinium Titanium Alloy Rod -item.itemRingTriniumTitaniumAlloy.name=Trinium Titanium Alloy Ring -item.itemScrewTriniumTitaniumAlloy.name=Trinium Titanium Alloy Screw -item.itemRotorTriniumTitaniumAlloy.name=Trinium Titanium Alloy Rotor -item.itemGearTriniumTitaniumAlloy.name=Trinium Titanium Alloy Gear -item.itemIngotTriniumNaquadahAlloy.name=Trinium Naquadah Alloy Ingot -item.itemDustTriniumNaquadahAlloy.name=Trinium Naquadah Alloy Dust -item.itemDustTinyTriniumNaquadahAlloy.name=Tiny Pile of Trinium Naquadah Alloy Dust -item.itemDustSmallTriniumNaquadahAlloy.name=Small Pile of Trinium Naquadah Alloy Dust -item.itemNuggetTriniumNaquadahAlloy.name=Trinium Naquadah Alloy Nugget -item.itemPlateTriniumNaquadahAlloy.name=Trinium Naquadah Alloy Plate -item.itemPlateDoubleTriniumNaquadahAlloy.name=Double Trinium Naquadah Alloy Plate -item.itemIngotTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Ingot -item.itemHotIngotTriniumNaquadahCarbonite.name=Hot Trinium Naquadah Carbonite Ingot -item.itemDustTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Dust -item.itemDustTinyTriniumNaquadahCarbonite.name=Tiny Pile of Trinium Naquadah Carbonite Dust -item.itemDustSmallTriniumNaquadahCarbonite.name=Small Pile of Trinium Naquadah Carbonite Dust -item.itemNuggetTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Nugget -item.itemPlateTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Plate -item.itemPlateDoubleTriniumNaquadahCarbonite.name=Double Trinium Naquadah Carbonite Plate -item.itemBoltTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Bolt -item.itemRodTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Rod -item.itemRodLongTriniumNaquadahCarbonite.name=Long Trinium Naquadah Carbonite Rod -item.itemRingTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Ring -item.itemScrewTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Screw -item.itemRotorTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Rotor -item.itemGearTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Gear -item.itemIngotQuantum.name=Quantum Ingot -item.itemHotIngotQuantum.name=Hot Quantum Ingot -item.itemDustQuantum.name=Quantum Dust -item.itemDustTinyQuantum.name=Tiny Pile of Quantum Dust -item.itemDustSmallQuantum.name=Small Pile of Quantum Dust -item.itemNuggetQuantum.name=Quantum Nugget -item.itemPlateQuantum.name=Quantum Plate -item.itemPlateDoubleQuantum.name=Double Quantum Plate -item.itemBoltQuantum.name=Quantum Bolt -item.itemRodQuantum.name=Quantum Rod -item.itemRodLongQuantum.name=Long Quantum Rod -item.itemRingQuantum.name=Quantum Ring -item.itemScrewQuantum.name=Quantum Screw -item.itemRotorQuantum.name=Quantum Rotor -item.itemGearQuantum.name=Quantum Gear -item.itemDustFluoriteF.name=Fluorite (F) Dust -item.itemDustTinyFluoriteF.name=Tiny Pile of Fluorite (F) Dust -item.itemDustSmallFluoriteF.name=Small Pile of Fluorite (F) Dust -item.crushedFluoriteF.name=Crushed Fluorite (F) Ore -item.oreRawFluoriteF.name=Raw Fluorite (F) Ore -item.crushedCentrifugedFluoriteF.name=Centrifuged Crushed Fluorite (F) Ore -item.crushedPurifiedFluoriteF.name=Purified Crushed Fluorite (F) Ore -item.dustImpureFluoriteF.name=Impure Fluorite (F) Dust -item.dustPureFluoriteF.name=Purified Fluorite (F) Dust -item.itemDustCrocoite.name=Crocoite Dust -item.itemDustTinyCrocoite.name=Tiny Pile of Crocoite Dust -item.itemDustSmallCrocoite.name=Small Pile of Crocoite Dust -item.crushedCrocoite.name=Crushed Crocoite Ore -item.oreRawCrocoite.name=Raw Crocoite Ore -item.crushedCentrifugedCrocoite.name=Centrifuged Crushed Crocoite Ore -item.crushedPurifiedCrocoite.name=Purified Crushed Crocoite Ore -item.dustImpureCrocoite.name=Impure Crocoite Dust -item.dustPureCrocoite.name=Purified Crocoite Dust -item.itemDustGeikielite.name=Geikielite Dust -item.itemDustTinyGeikielite.name=Tiny Pile of Geikielite Dust -item.itemDustSmallGeikielite.name=Small Pile of Geikielite Dust -item.crushedGeikielite.name=Crushed Geikielite Ore -item.oreRawGeikielite.name=Raw Geikielite Ore -item.crushedCentrifugedGeikielite.name=Centrifuged Crushed Geikielite Ore -item.crushedPurifiedGeikielite.name=Purified Crushed Geikielite Ore -item.dustImpureGeikielite.name=Impure Geikielite Dust -item.dustPureGeikielite.name=Purified Geikielite Dust -item.itemDustNichromite.name=Nichromite Dust -item.itemDustTinyNichromite.name=Tiny Pile of Nichromite Dust -item.itemDustSmallNichromite.name=Small Pile of Nichromite Dust -item.crushedNichromite.name=Crushed Nichromite Ore -item.oreRawNichromite.name=Raw Nichromite Ore -item.crushedCentrifugedNichromite.name=Centrifuged Crushed Nichromite Ore -item.crushedPurifiedNichromite.name=Purified Crushed Nichromite Ore -item.dustImpureNichromite.name=Impure Nichromite Dust -item.dustPureNichromite.name=Purified Nichromite Dust -item.itemDustTitanite.name=Titanite Dust -item.itemDustTinyTitanite.name=Tiny Pile of Titanite Dust -item.itemDustSmallTitanite.name=Small Pile of Titanite Dust -item.crushedTitanite.name=Crushed Titanite Ore -item.oreRawTitanite.name=Raw Titanite Ore -item.crushedCentrifugedTitanite.name=Centrifuged Crushed Titanite Ore -item.crushedPurifiedTitanite.name=Purified Crushed Titanite Ore -item.dustImpureTitanite.name=Impure Titanite Dust -item.dustPureTitanite.name=Purified Titanite Dust -item.itemDustZimbabweite.name=Zimbabweite Dust -item.itemDustTinyZimbabweite.name=Tiny Pile of Zimbabweite Dust -item.itemDustSmallZimbabweite.name=Small Pile of Zimbabweite Dust -item.crushedZimbabweite.name=Crushed Zimbabweite Ore -item.oreRawZimbabweite.name=Raw Zimbabweite Ore -item.crushedCentrifugedZimbabweite.name=Centrifuged Crushed Zimbabweite Ore -item.crushedPurifiedZimbabweite.name=Purified Crushed Zimbabweite Ore -item.dustImpureZimbabweite.name=Impure Zimbabweite Dust -item.dustPureZimbabweite.name=Purified Zimbabweite Dust -item.itemDustZirconolite.name=Zirconolite Dust -item.itemDustTinyZirconolite.name=Tiny Pile of Zirconolite Dust -item.itemDustSmallZirconolite.name=Small Pile of Zirconolite Dust -item.crushedZirconolite.name=Crushed Zirconolite Ore -item.oreRawZirconolite.name=Raw Zirconolite Ore -item.crushedCentrifugedZirconolite.name=Centrifuged Crushed Zirconolite Ore -item.crushedPurifiedZirconolite.name=Purified Crushed Zirconolite Ore -item.dustImpureZirconolite.name=Impure Zirconolite Dust -item.dustPureZirconolite.name=Purified Zirconolite Dust -item.itemDustGadoliniteCe.name=Gadolinite (Ce) Dust -item.itemDustTinyGadoliniteCe.name=Tiny Pile of Gadolinite (Ce) Dust -item.itemDustSmallGadoliniteCe.name=Small Pile of Gadolinite (Ce) Dust -item.crushedGadoliniteCe.name=Crushed Gadolinite (Ce) Ore -item.oreRawGadoliniteCe.name=Raw Gadolinite (Ce) Ore -item.crushedCentrifugedGadoliniteCe.name=Centrifuged Crushed Gadolinite (Ce) Ore -item.crushedPurifiedGadoliniteCe.name=Purified Crushed Gadolinite (Ce) Ore -item.dustImpureGadoliniteCe.name=Impure Gadolinite (Ce) Dust -item.dustPureGadoliniteCe.name=Purified Gadolinite (Ce) Dust -item.itemDustGadoliniteY.name=Gadolinite (Y) Dust -item.itemDustTinyGadoliniteY.name=Tiny Pile of Gadolinite (Y) Dust -item.itemDustSmallGadoliniteY.name=Small Pile of Gadolinite (Y) Dust -item.crushedGadoliniteY.name=Crushed Gadolinite (Y) Ore -item.oreRawGadoliniteY.name=Raw Gadolinite (Y) Ore -item.crushedCentrifugedGadoliniteY.name=Centrifuged Crushed Gadolinite (Y) Ore -item.crushedPurifiedGadoliniteY.name=Purified Crushed Gadolinite (Y) Ore -item.dustImpureGadoliniteY.name=Impure Gadolinite (Y) Dust -item.dustPureGadoliniteY.name=Purified Gadolinite (Y) Dust -item.itemDustLepersonnite.name=Lepersonnite Dust -item.itemDustTinyLepersonnite.name=Tiny Pile of Lepersonnite Dust -item.itemDustSmallLepersonnite.name=Small Pile of Lepersonnite Dust -item.crushedLepersonnite.name=Crushed Lepersonnite Ore -item.oreRawLepersonnite.name=Raw Lepersonnite Ore -item.crushedCentrifugedLepersonnite.name=Centrifuged Crushed Lepersonnite Ore -item.crushedPurifiedLepersonnite.name=Purified Crushed Lepersonnite Ore -item.dustImpureLepersonnite.name=Impure Lepersonnite Dust -item.dustPureLepersonnite.name=Purified Lepersonnite Dust -item.itemDustSamarskiteY.name=Samarskite (Y) Dust -item.itemDustTinySamarskiteY.name=Tiny Pile of Samarskite (Y) Dust -item.itemDustSmallSamarskiteY.name=Small Pile of Samarskite (Y) Dust -item.crushedSamarskiteY.name=Crushed Samarskite (Y) Ore -item.oreRawSamarskiteY.name=Raw Samarskite (Y) Ore -item.crushedCentrifugedSamarskiteY.name=Centrifuged Crushed Samarskite (Y) Ore -item.crushedPurifiedSamarskiteY.name=Purified Crushed Samarskite (Y) Ore -item.dustImpureSamarskiteY.name=Impure Samarskite (Y) Dust -item.dustPureSamarskiteY.name=Purified Samarskite (Y) Dust -item.itemDustSamarskiteYb.name=Samarskite (Yb) Dust -item.itemDustTinySamarskiteYb.name=Tiny Pile of Samarskite (Yb) Dust -item.itemDustSmallSamarskiteYb.name=Small Pile of Samarskite (Yb) Dust -item.crushedSamarskiteYb.name=Crushed Samarskite (Yb) Ore -item.oreRawSamarskiteYb.name=Raw Samarskite (Yb) Ore -item.crushedCentrifugedSamarskiteYb.name=Centrifuged Crushed Samarskite (Yb) Ore -item.crushedPurifiedSamarskiteYb.name=Purified Crushed Samarskite (Yb) Ore -item.dustImpureSamarskiteYb.name=Impure Samarskite (Yb) Dust -item.dustPureSamarskiteYb.name=Purified Samarskite (Yb) Dust -item.itemDustXenotime.name=Xenotime Dust -item.itemDustTinyXenotime.name=Tiny Pile of Xenotime Dust -item.itemDustSmallXenotime.name=Small Pile of Xenotime Dust -item.crushedXenotime.name=Crushed Xenotime Ore -item.oreRawXenotime.name=Raw Xenotime Ore -item.crushedCentrifugedXenotime.name=Centrifuged Crushed Xenotime Ore -item.crushedPurifiedXenotime.name=Purified Crushed Xenotime Ore -item.dustImpureXenotime.name=Impure Xenotime Dust -item.dustPureXenotime.name=Purified Xenotime Dust -item.itemDustYttriaite.name=Yttriaite Dust -item.itemDustTinyYttriaite.name=Tiny Pile of Yttriaite Dust -item.itemDustSmallYttriaite.name=Small Pile of Yttriaite Dust -item.crushedYttriaite.name=Crushed Yttriaite Ore -item.oreRawYttriaite.name=Raw Yttriaite Ore -item.crushedCentrifugedYttriaite.name=Centrifuged Crushed Yttriaite Ore -item.crushedPurifiedYttriaite.name=Purified Crushed Yttriaite Ore -item.dustImpureYttriaite.name=Impure Yttriaite Dust -item.dustPureYttriaite.name=Purified Yttriaite Dust -item.itemDustYttrialite.name=Yttrialite Dust -item.itemDustTinyYttrialite.name=Tiny Pile of Yttrialite Dust -item.itemDustSmallYttrialite.name=Small Pile of Yttrialite Dust -item.crushedYttrialite.name=Crushed Yttrialite Ore -item.oreRawYttrialite.name=Raw Yttrialite Ore -item.crushedCentrifugedYttrialite.name=Centrifuged Crushed Yttrialite Ore -item.crushedPurifiedYttrialite.name=Purified Crushed Yttrialite Ore -item.dustImpureYttrialite.name=Impure Yttrialite Dust -item.dustPureYttrialite.name=Purified Yttrialite Dust -item.itemDustYttrocerite.name=Yttrocerite Dust -item.itemDustTinyYttrocerite.name=Tiny Pile of Yttrocerite Dust -item.itemDustSmallYttrocerite.name=Small Pile of Yttrocerite Dust -item.crushedYttrocerite.name=Crushed Yttrocerite Ore -item.oreRawYttrocerite.name=Raw Yttrocerite Ore -item.crushedCentrifugedYttrocerite.name=Centrifuged Crushed Yttrocerite Ore -item.crushedPurifiedYttrocerite.name=Purified Crushed Yttrocerite Ore -item.dustImpureYttrocerite.name=Impure Yttrocerite Dust -item.dustPureYttrocerite.name=Purified Yttrocerite Dust -item.itemDustZircon.name=Zircon Dust -item.itemDustTinyZircon.name=Tiny Pile of Zircon Dust -item.itemDustSmallZircon.name=Small Pile of Zircon Dust -item.crushedZircon.name=Crushed Zircon Ore -item.oreRawZircon.name=Raw Zircon Ore -item.crushedCentrifugedZircon.name=Centrifuged Crushed Zircon Ore -item.crushedPurifiedZircon.name=Purified Crushed Zircon Ore -item.dustImpureZircon.name=Impure Zircon Dust -item.dustPureZircon.name=Purified Zircon Dust -item.itemDustPolycrase.name=Polycrase Dust -item.itemDustTinyPolycrase.name=Tiny Pile of Polycrase Dust -item.itemDustSmallPolycrase.name=Small Pile of Polycrase Dust -item.crushedPolycrase.name=Crushed Polycrase Ore -item.oreRawPolycrase.name=Raw Polycrase Ore -item.crushedCentrifugedPolycrase.name=Centrifuged Crushed Polycrase Ore -item.crushedPurifiedPolycrase.name=Purified Crushed Polycrase Ore -item.dustImpurePolycrase.name=Impure Polycrase Dust -item.dustPurePolycrase.name=Purified Polycrase Dust -item.itemDustZircophyllite.name=Zircophyllite Dust -item.itemDustTinyZircophyllite.name=Tiny Pile of Zircophyllite Dust -item.itemDustSmallZircophyllite.name=Small Pile of Zircophyllite Dust -item.crushedZircophyllite.name=Crushed Zircophyllite Ore -item.oreRawZircophyllite.name=Raw Zircophyllite Ore -item.crushedCentrifugedZircophyllite.name=Centrifuged Crushed Zircophyllite Ore -item.crushedPurifiedZircophyllite.name=Purified Crushed Zircophyllite Ore -item.dustImpureZircophyllite.name=Impure Zircophyllite Dust -item.dustPureZircophyllite.name=Purified Zircophyllite Dust -item.itemDustZirkelite.name=Zirkelite Dust -item.itemDustTinyZirkelite.name=Tiny Pile of Zirkelite Dust -item.itemDustSmallZirkelite.name=Small Pile of Zirkelite Dust -item.crushedZirkelite.name=Crushed Zirkelite Ore -item.oreRawZirkelite.name=Raw Zirkelite Ore -item.crushedCentrifugedZirkelite.name=Centrifuged Crushed Zirkelite Ore -item.crushedPurifiedZirkelite.name=Purified Crushed Zirkelite Ore -item.dustImpureZirkelite.name=Impure Zirkelite Dust -item.dustPureZirkelite.name=Purified Zirkelite Dust -item.itemDustLanthaniteLa.name=Lanthanite (La) Dust -item.itemDustTinyLanthaniteLa.name=Tiny Pile of Lanthanite (La) Dust -item.itemDustSmallLanthaniteLa.name=Small Pile of Lanthanite (La) Dust -item.crushedLanthaniteLa.name=Crushed Lanthanite (La) Ore -item.oreRawLanthaniteLa.name=Raw Lanthanite (La) Ore -item.crushedCentrifugedLanthaniteLa.name=Centrifuged Crushed Lanthanite (La) Ore -item.crushedPurifiedLanthaniteLa.name=Purified Crushed Lanthanite (La) Ore -item.dustImpureLanthaniteLa.name=Impure Lanthanite (La) Dust -item.dustPureLanthaniteLa.name=Purified Lanthanite (La) Dust -item.itemDustLanthaniteCe.name=Lanthanite (Ce) Dust -item.itemDustTinyLanthaniteCe.name=Tiny Pile of Lanthanite (Ce) Dust -item.itemDustSmallLanthaniteCe.name=Small Pile of Lanthanite (Ce) Dust -item.crushedLanthaniteCe.name=Crushed Lanthanite (Ce) Ore -item.oreRawLanthaniteCe.name=Raw Lanthanite (Ce) Ore -item.crushedCentrifugedLanthaniteCe.name=Centrifuged Crushed Lanthanite (Ce) Ore -item.crushedPurifiedLanthaniteCe.name=Purified Crushed Lanthanite (Ce) Ore -item.dustImpureLanthaniteCe.name=Impure Lanthanite (Ce) Dust -item.dustPureLanthaniteCe.name=Purified Lanthanite (Ce) Dust -item.itemDustLanthaniteNd.name=Lanthanite (Nd) Dust -item.itemDustTinyLanthaniteNd.name=Tiny Pile of Lanthanite (Nd) Dust -item.itemDustSmallLanthaniteNd.name=Small Pile of Lanthanite (Nd) Dust -item.crushedLanthaniteNd.name=Crushed Lanthanite (Nd) Ore -item.oreRawLanthaniteNd.name=Raw Lanthanite (Nd) Ore -item.crushedCentrifugedLanthaniteNd.name=Centrifuged Crushed Lanthanite (Nd) Ore -item.crushedPurifiedLanthaniteNd.name=Purified Crushed Lanthanite (Nd) Ore -item.dustImpureLanthaniteNd.name=Impure Lanthanite (Nd) Dust -item.dustPureLanthaniteNd.name=Purified Lanthanite (Nd) Dust -item.itemDustAgarditeY.name=Agardite (Y) Dust -item.itemDustTinyAgarditeY.name=Tiny Pile of Agardite (Y) Dust -item.itemDustSmallAgarditeY.name=Small Pile of Agardite (Y) Dust -item.crushedAgarditeY.name=Crushed Agardite (Y) Ore -item.oreRawAgarditeY.name=Raw Agardite (Y) Ore -item.crushedCentrifugedAgarditeY.name=Centrifuged Crushed Agardite (Y) Ore -item.crushedPurifiedAgarditeY.name=Purified Crushed Agardite (Y) Ore -item.dustImpureAgarditeY.name=Impure Agardite (Y) Dust -item.dustPureAgarditeY.name=Purified Agardite (Y) Dust -item.itemDustAgarditeCd.name=Agardite (Cd) Dust -item.itemDustTinyAgarditeCd.name=Tiny Pile of Agardite (Cd) Dust -item.itemDustSmallAgarditeCd.name=Small Pile of Agardite (Cd) Dust -item.crushedAgarditeCd.name=Crushed Agardite (Cd) Ore -item.oreRawAgarditeCd.name=Raw Agardite (Cd) Ore -item.crushedCentrifugedAgarditeCd.name=Centrifuged Crushed Agardite (Cd) Ore -item.crushedPurifiedAgarditeCd.name=Purified Crushed Agardite (Cd) Ore -item.dustImpureAgarditeCd.name=Impure Agardite (Cd) Dust -item.dustPureAgarditeCd.name=Purified Agardite (Cd) Dust -item.itemDustAgarditeLa.name=Agardite (La) Dust -item.itemDustTinyAgarditeLa.name=Tiny Pile of Agardite (La) Dust -item.itemDustSmallAgarditeLa.name=Small Pile of Agardite (La) Dust -item.crushedAgarditeLa.name=Crushed Agardite (La) Ore -item.oreRawAgarditeLa.name=Raw Agardite (La) Ore -item.crushedCentrifugedAgarditeLa.name=Centrifuged Crushed Agardite (La) Ore -item.crushedPurifiedAgarditeLa.name=Purified Crushed Agardite (La) Ore -item.dustImpureAgarditeLa.name=Impure Agardite (La) Dust -item.dustPureAgarditeLa.name=Purified Agardite (La) Dust -item.itemDustAgarditeNd.name=Agardite (Nd) Dust -item.itemDustTinyAgarditeNd.name=Tiny Pile of Agardite (Nd) Dust -item.itemDustSmallAgarditeNd.name=Small Pile of Agardite (Nd) Dust -item.crushedAgarditeNd.name=Crushed Agardite (Nd) Ore -item.oreRawAgarditeNd.name=Raw Agardite (Nd) Ore -item.crushedCentrifugedAgarditeNd.name=Centrifuged Crushed Agardite (Nd) Ore -item.crushedPurifiedAgarditeNd.name=Purified Crushed Agardite (Nd) Ore -item.dustImpureAgarditeNd.name=Impure Agardite (Nd) Dust -item.dustPureAgarditeNd.name=Purified Agardite (Nd) Dust -item.itemDustHibonite.name=Hibonite Dust -item.itemDustTinyHibonite.name=Tiny Pile of Hibonite Dust -item.itemDustSmallHibonite.name=Small Pile of Hibonite Dust -item.crushedHibonite.name=Crushed Hibonite Ore -item.oreRawHibonite.name=Raw Hibonite Ore -item.crushedCentrifugedHibonite.name=Centrifuged Crushed Hibonite Ore -item.crushedPurifiedHibonite.name=Purified Crushed Hibonite Ore -item.dustImpureHibonite.name=Impure Hibonite Dust -item.dustPureHibonite.name=Purified Hibonite Dust -item.itemDustCerite.name=Cerite Dust -item.itemDustTinyCerite.name=Tiny Pile of Cerite Dust -item.itemDustSmallCerite.name=Small Pile of Cerite Dust -item.crushedCerite.name=Crushed Cerite Ore -item.oreRawCerite.name=Raw Cerite Ore -item.crushedCentrifugedCerite.name=Centrifuged Crushed Cerite Ore -item.crushedPurifiedCerite.name=Purified Crushed Cerite Ore -item.dustImpureCerite.name=Impure Cerite Dust -item.dustPureCerite.name=Purified Cerite Dust -item.itemDustFluorcaphite.name=Fluorcaphite Dust -item.itemDustTinyFluorcaphite.name=Tiny Pile of Fluorcaphite Dust -item.itemDustSmallFluorcaphite.name=Small Pile of Fluorcaphite Dust -item.crushedFluorcaphite.name=Crushed Fluorcaphite Ore -item.oreRawFluorcaphite.name=Raw Fluorcaphite Ore -item.crushedCentrifugedFluorcaphite.name=Centrifuged Crushed Fluorcaphite Ore -item.crushedPurifiedFluorcaphite.name=Purified Crushed Fluorcaphite Ore -item.dustImpureFluorcaphite.name=Impure Fluorcaphite Dust -item.dustPureFluorcaphite.name=Purified Fluorcaphite Dust -item.itemDustFlorencite.name=Florencite Dust -item.itemDustTinyFlorencite.name=Tiny Pile of Florencite Dust -item.itemDustSmallFlorencite.name=Small Pile of Florencite Dust -item.crushedFlorencite.name=Crushed Florencite Ore -item.oreRawFlorencite.name=Raw Florencite Ore -item.crushedCentrifugedFlorencite.name=Centrifuged Crushed Florencite Ore -item.crushedPurifiedFlorencite.name=Purified Crushed Florencite Ore -item.dustImpureFlorencite.name=Impure Florencite Dust -item.dustPureFlorencite.name=Purified Florencite Dust -item.itemDustCryoliteF.name=Cryolite (F) Dust -item.itemDustTinyCryoliteF.name=Tiny Pile of Cryolite (F) Dust -item.itemDustSmallCryoliteF.name=Small Pile of Cryolite (F) Dust -item.crushedCryoliteF.name=Crushed Cryolite (F) Ore -item.oreRawCryoliteF.name=Raw Cryolite (F) Ore -item.crushedCentrifugedCryoliteF.name=Centrifuged Crushed Cryolite (F) Ore -item.crushedPurifiedCryoliteF.name=Purified Crushed Cryolite (F) Ore -item.dustImpureCryoliteF.name=Impure Cryolite (F) Dust -item.dustPureCryoliteF.name=Purified Cryolite (F) Dust -item.itemDustTinyYellorium.name=Tiny Pile of Yellorium Dust -item.itemDustSmallYellorium.name=Small Pile of Yellorium Dust -item.crushedYellorium.name=Crushed Yellorium Ore -item.oreRawYellorium.name=Raw Yellorium Ore -item.crushedCentrifugedYellorium.name=Centrifuged Crushed Yellorium Ore -item.crushedPurifiedYellorium.name=Purified Crushed Yellorium Ore -item.dustImpureYellorium.name=Impure Yellorium Dust -item.dustPureYellorium.name=Purified Yellorium Dust - -//Shards -item.itemDrained.name=Drained Shard -item.itemAer.name=Aer Shard -item.itemIgnis.name=Ignis Shard -item.itemTerra.name=Terra Shard -item.itemAqua.name=Aqua Shard -item.itemDustInfusedAir.name=Infused Air Dust -item.itemDustInfusedFire.name=Infused Fire Dust -item.itemDustInfusedEarth.name=Infused Earth Dust -item.itemDustInfusedWater.name=Infused Water Dust - - -//Misc Material Items -item.itemDustLithiumCarbonate.name=Lithium Carbonate Dust -item.itemDustSmallLithiumCarbonate.name=Small Pile of Lithium Carbonate Dust -item.itemDustTinyLithiumCarbonate.name=Tiny Pile of Lithium Carbonate Dust -item.itemDustLithiumPeroxide.name=Lithium Peroxide Dust -item.itemDustSmallLithiumPeroxide.name=Small Pile of Lithium Peroxide Dust -item.itemDustTinyLithiumPeroxide.name=Tiny Pile of Lithium Peroxide Dust -item.itemDustLithiumHydroxide.name=Lithium Hydroxide Dust -item.itemDustSmallLithiumHydroxide.name=Small Pile of Lithium Hydroxide Dust -item.itemDustTinyLithiumHydroxide.name=Tiny Pile of Lithium Hydroxide Dust -item.itemDustCalciumHydroxide.name=Hydrated Lime Dust -item.itemDustSmallCalciumHydroxide.name=Small Pile of Hydrated Lime Dust -item.itemDustTinyCalciumHydroxide.name=Tiny Pile of Hydrated Lime Dust -item.itemDustCalciumCarbonate.name=Calcium Carbonate Dust -item.itemDustSmallCalciumCarbonate.name=Small Pile of Calcium Carbonate Dust -item.itemDustTinyCalciumCarbonate.name=Tiny Pile of Calcium Carbonate Dust -item.itemDustGypsum.name=Calcium Sulfate (Gypsum) Dust -item.itemDustSmallGypsum.name=Small Pile of Calcium Sulfate (Gypsum) Dust -item.itemDustTinyGypsum.name=Tiny Pile of Calcium Sulfate (Gypsum) Dust -item.itemDustLi2CO3CaOH2.name=Li2CO3 + Ca(OH)2 Compound Dust -item.itemDustSmallLi2CO3CaOH2.name=Small Pile of Li2CO3 + Ca(OH)2 Compound Dust -item.itemDustTinyLi2CO3CaOH2.name=Tiny Pile of Li2CO3 + Ca(OH)2 Compound Dust -item.itemDustLi2BeF4.name=Li2BeF4 Fuel Compound Dust -item.itemDustSmallLi2BeF4.name=Small Pile of Li2BeF4 Fuel Compound Dust -item.itemDustTinyLi2BeF4.name=Tiny Pile of Li2BeF4 Fuel Compound Dust -item.Li2BeF4.name=Li2BeF4 Cell -item.itemCircuitLFTR.name=§aControl Circuit -item.itemZirconiumPellet.name=Zirconium Pellet [ZrCl₄] -item.itemDustZrCl4.name=ZrCl4 Dust -item.itemDustSmallZrCl4.name=Small Pile of ZrCl4 Dust -item.itemDustTinyZrCl4.name=Tiny Pile of ZrCl4 Dust -item.itemDustCookedZrCl4.name=Cooked ZrCl4 Dust -item.itemDustSmallCookedZrCl4.name=Small Pile of Cooked ZrCl4 Dust -item.itemDustTinyCookedZrCl4.name=Tiny Pile of Cooked ZrCl4 Dust -item.itemDustUN18Fertiliser.name=UN-18 Fertiliser Dust -item.itemDustSmallUN18Fertiliser.name=Small Pile of UN-18 Fertiliser Dust -item.itemDustTinyUN18Fertiliser.name=Tiny Pile of UN-18 Fertiliser Dust -item.itemDustUN32Fertiliser.name=UN-32 Fertiliser Dust -item.itemDustSmallUN32Fertiliser.name=Small Pile of UN-32 Fertiliser Dust -item.itemDustTinyUN32Fertiliser.name=Tiny Pile of UN-32 Fertiliser Dust -item.itemCustomMetaCover.miscutils.GtMachineCasings=%s Machine Plate Cover -item.itemGregtechPump.tooltip.0=Cannot drain any other standard fluid container block -item.itemGregtechPump.tooltip.1=Cannot be emptied via RMB, use inside a tank with GUI -item.itemGregtechPump.tooltip.2=This is technically just a fancy fluid cell -item.itemGregtechPump.tooltip.3=No Fluids Contained -item.itemBaseEuItem.tooltip.0=§eElectric -item.itemBaseEuItem.tooltip.1=Contains %d EU Tier: %d -item.itemBaseEuItem.tooltip.2=Empty. You should recycle it properly. -item.itemBaseEuItem.tooltip.3=%d / %d EU - Voltage: %d -item.itemDebugClearing.name=Debug Square [%d] -item.itemDebugClearing.0.tooltip=Mode: Clear -item.itemDebugClearing.1.tooltip=Mode: Fill - -//Multitools -item.AluminiumMultipick.name=Aluminium Multipick -item.AluminiumMultispade.name=Aluminium Multispade -item.BerylliumMultispade.name=Beryllium Multispade -item.BismuthMultispade.name=Bismuth Multispade -item.CarbonMultispade.name=Carbon Multispade -item.ChromeMultipick.name=Chrome Multipick -item.ChromeMultispade.name=Chrome Multispade -item.CobaltMultipick.name=Cobalt Multipick -item.CobaltMultispade.name=Cobalt Multispade -item.GoldMultispade.name=Gold Multispade -item.IridiumMultipick.name=Iridium Multipick -item.IridiumMultispade.name=Iridium Multispade -item.IronMultipick.name=Iron Multipick -item.IronMultispade.name=Iron Multispade -item.LeadMultispade.name=Lead Multispade -item.ManganeseMultipick.name=Manganese Multipick -item.ManganeseMultispade.name=Manganese Multispade -item.MolybdenumMultipick.name=Molybdenum Multipick -item.MolybdenumMultispade.name=Molybdenum Multispade -item.NeodymiumMultipick.name=Neodymium Multipick -item.NeodymiumMultispade.name=Neodymium Multispade -item.NeutroniumMultipick.name=Neutronium Multipick -item.NeutroniumMultispade.name=Neutronium Multispade -item.NickelMultispade.name=Nickel Multispade -item.OsmiumMultipick.name=Osmium Multipick -item.OsmiumMultispade.name=Osmium Multispade -item.PalladiumMultipick.name=Palladium Multipick -item.PalladiumMultispade.name=Palladium Multispade -item.PlatinumMultispade.name=Platinum Multispade -item.Plutonium241Multipick.name=Plutonium 241 Multipick -item.Plutonium241Multispade.name=Plutonium 241 Multispade -item.SilverMultispade.name=Silver Multispade -item.ThoriumMultipick.name=Thorium Multipick -item.ThoriumMultispade.name=Thorium Multispade -item.TitaniumMultipick.name=Titanium Multipick -item.TitaniumMultispade.name=Titanium Multispade -item.TungstenMultipick.name=Tungsten Multipick -item.TungstenMultispade.name=Tungsten Multispade -item.Uranium235Multipick.name=Uranium 235 Multipick -item.Uranium235Multispade.name=Uranium 235 Multispade -item.DarkSteelMultipick.name=Dark Steel Multipick -item.DarkSteelMultispade.name=Dark Steel Multispade -item.DuraniumMultipick.name=Duranium Multipick -item.DuraniumMultispade.name=Duranium Multispade -item.InfusedGoldMultispade.name=Infused Gold Multispade -item.NaquadahMultipick.name=Naquadah Multipick -item.NaquadahMultispade.name=Naquadah Multispade -item.NaquadahAlloyMultipick.name=Naquadah Alloy Multipick -item.NaquadahAlloyMultispade.name=Naquadah Alloy Multispade -item.NaquadriaMultipick.name=Naquadria Multipick -item.NaquadriaMultispade.name=Naquadria Multispade -item.TritaniumMultipick.name=Tritanium Multipick -item.TritaniumMultispade.name=Tritanium Multispade -item.OsmiridiumMultipick.name=Osmiridium Multipick -item.OsmiridiumMultispade.name=Osmiridium Multispade -item.BrassMultispade.name=Brass Multispade -item.BronzeMultipick.name=Bronze Multipick -item.BronzeMultispade.name=Bronze Multispade -item.CupronickelMultispade.name=Cupronickel Multispade -item.ElectrumMultispade.name=Electrum Multispade -item.InvarMultipick.name=Invar Multipick -item.InvarMultispade.name=Invar Multispade -item.KanthalMultispade.name=Kanthal Multispade -item.MagnaliumMultipick.name=Magnalium Multipick -item.MagnaliumMultispade.name=Magnalium Multispade -item.NichromeMultispade.name=Nichrome Multispade -item.PigIronMultipick.name=Pig Iron Multipick -item.PigIronMultispade.name=Pig Iron Multispade -item.PolycaprolactamMultispade.name=Polycaprolactam Multispade -item.PolytetrafluoroethyleneMultispade.name=Polytetrafluoroethylene Multispade -item.NickelZincFerriteMultispade.name=Nickel-Zinc Ferrite Multispade -item.PolyphenyleneSulfideMultispade.name=Polyphenylene Sulfide Multispade -item.StainlessSteelMultipick.name=Stainless Steel Multipick -item.StainlessSteelMultispade.name=Stainless Steel Multispade -item.SteelMultipick.name=Steel Multipick -item.SteelMultispade.name=Steel Multispade -item.TinAlloyMultispade.name=Tin Alloy Multispade -item.UltimetMultipick.name=Ultimet Multipick -item.UltimetMultispade.name=Ultimet Multispade -item.WroughtIronMultipick.name=Wrought Iron Multipick -item.WroughtIronMultispade.name=Wrought Iron Multispade -item.SterlingSilverMultipick.name=Sterling Silver Multipick -item.SterlingSilverMultispade.name=Sterling Silver Multispade -item.RoseGoldMultipick.name=Rose Gold Multipick -item.RoseGoldMultispade.name=Rose Gold Multispade -item.BlackBronzeMultipick.name=Black Bronze Multipick -item.BlackBronzeMultispade.name=Black Bronze Multispade -item.BismuthBronzeMultipick.name=Bismuth Bronze Multipick -item.BismuthBronzeMultispade.name=Bismuth Bronze Multispade -item.BlackSteelMultipick.name=Black Steel Multipick -item.BlackSteelMultispade.name=Black Steel Multispade -item.RedSteelMultipick.name=Red Steel Multipick -item.RedSteelMultispade.name=Red Steel Multispade -item.BlueSteelMultipick.name=Blue Steel Multipick -item.BlueSteelMultispade.name=Blue Steel Multispade -item.DamascusSteelMultipick.name=Damascus Steel Multipick -item.DamascusSteelMultispade.name=Damascus Steel Multispade -item.MithrilMultispade.name=Mithril Multispade -item.CobaltBrassMultipick.name=Cobalt Brass Multipick -item.CobaltBrassMultispade.name=Cobalt Brass Multispade -item.ThaumiumMultipick.name=Thaumium Multipick -item.ThaumiumMultispade.name=Thaumium Multispade -item.HSSGMultipick.name=HSS-G Multipick -item.HSSGMultispade.name=HSS-G Multispade -item.HSSEMultipick.name=HSS-E Multipick -item.HSSEMultispade.name=HSS-E Multispade -item.HSSSMultipick.name=HSS-S Multipick -item.HSSSMultispade.name=HSS-S Multispade -item.HastelloyC276Multipick.name=Hastelloy-C276 Multipick -item.HastelloyC276Multispade.name=Hastelloy-C276 Multispade -item.HastelloyNMultipick.name=Hastelloy-N Multipick -item.HastelloyNMultispade.name=Hastelloy-N Multispade -item.HastelloyWMultipick.name=Hastelloy-W Multipick -item.HastelloyWMultispade.name=Hastelloy-W Multispade -item.HastelloyXMultipick.name=Hastelloy-X Multipick -item.HastelloyXMultispade.name=Hastelloy-X Multispade -item.Incoloy020Multipick.name=Incoloy-020 Multipick -item.Incoloy020Multispade.name=Incoloy-020 Multispade -item.IncoloyDSMultipick.name=Incoloy-DS Multipick -item.IncoloyDSMultispade.name=Incoloy-DS Multispade -item.IncoloyMA956Multipick.name=Incoloy-MA956 Multipick -item.IncoloyMA956Multispade.name=Incoloy-MA956 Multispade -item.Inconel625Multipick.name=Inconel-625 Multipick -item.Inconel625Multispade.name=Inconel-625 Multispade -item.Inconel690Multipick.name=Inconel-690 Multipick -item.Inconel690Multispade.name=Inconel-690 Multispade -item.Inconel792Multipick.name=Inconel-792 Multipick -item.Inconel792Multispade.name=Inconel-792 Multispade -item.GrisiumMultipick.name=Grisium Multipick -item.GrisiumMultispade.name=Grisium Multispade -item.Tantalloy60Multipick.name=Tantalloy-60 Multipick -item.Tantalloy60Multispade.name=Tantalloy-60 Multispade -item.Tantalloy61Multipick.name=Tantalloy-61 Multipick -item.Tantalloy61Multispade.name=Tantalloy-61 Multispade -item.StaballoyMultipick.name=Staballoy Multipick -item.StaballoyMultispade.name=Staballoy Multispade -item.QuantumMultipick.name=Quantum Multipick -item.QuantumMultispade.name=Quantum Multispade -item.PotinMultipick.name=Potin Multipick -item.PotinMultispade.name=Potin Multispade -item.TumbagaMultipick.name=Tumbaga Multipick -item.TumbagaMultispade.name=Tumbaga Multispade -item.TaloniteMultipick.name=Talonite Multipick -item.TaloniteMultispade.name=Talonite Multispade -item.StelliteMultipick.name=Stellite Multipick -item.StelliteMultispade.name=Stellite Multispade -item.TungstenCarbideMultipick.name=Tungsten Carbide Multipick -item.TungstenCarbideMultispade.name=Tungsten Carbide Multispade -item.TantalumCarbideMultipick.name=Tantalum Carbide Multipick -item.TantalumCarbideMultispade.name=Tantalum Carbide Multispade - - -//Items that Don't fit into another category - -//Plates -item.itemPlateClay.name=Clay Plate -item.itemPlateDoubleClay.name=Double Clay Plate -item.itemPlateLithium.name=Lithium Plate -item.itemPlateDoubleEuropium.name=Double Europium Plate - -//Gears -item.itemSmallGearWroughtIron.name=Small Wrought Iron Gear - -//Misc -item.itemFoilUranium235.name=Uranium 235 Foil - -item.itemBoilerChassis_0.name=Advanced Boiler Chassis [Tier 1] -item.itemDehydratorCoilWire_0.name=Coil Wire [EV] -item.itemDehydratorCoil_0.name=Dehydrator Coil [EV] -item.itemAirFilter_0.name=Air Filter -item.itemAirFilter_1.name=Air Filter -item.itemDragonJar.name=Dragon Capture Jar -item.CoalGas.name=Coal Gas Cell -item.Ethylbenzene.name=Ethylbenzene Cell -item.Anthracene.name=Anthracene Cell -item.Toluene.name=Toluene Cell -item.CoalTar.name=Coal Tar Cell -item.CoalTarOil.name=Coal Tar Oil Cell -item.SulfuricCoalTarOil.name=Sulfuric Coal Tar Oil Cell -item.Naphthalene.name=Naphthalene Cell -item.itemDustPhthalicAnhydride.name=Phthalic Anhydride Dust -item.itemDustSmallPhthalicAnhydride.name=Small Pile of Phthalic Anhydride Dust -item.itemDustTinyPhthalicAnhydride.name=Tiny Pile of Phthalic Anhydride Dust -item.2Ethylanthraquinone.name=2-Ethylanthraquinone Cell -item.2Ethylanthrahydroquinone.name=2-Ethylanthrahydroquinone Cell -item.HydrogenPeroxide.name=Hydrogen Peroxide Cell -item.itemDustLithiumHydroperoxide.name=Lithium Hydroperoxide Dust -item.itemDustSmallLithiumHydroperoxide.name=Small Pile of Lithium Hydroperoxide Dust -item.itemDustTinyLithiumHydroperoxide.name=Tiny Pile of Lithium Hydroperoxide Dust -item.LithiumPeroxide.name=Lithium Peroxide Cell -item.itemPotionChilly.name=Chilly Potion -item.itemKeyBig4000DC's.name=4000DC's Big Key -item.itemGemDull.name=Dull Gemstone -item.itemMushroomForest.name=Forest Mushroom -item.itemPlateVanadium.name=Vanadium Plate -item.thekeytothecity.name=The Key to the City -item.modularbauble.name=Modular Bauble -item.itemDustSoularium.name=Soularium Dust -item.itemDustSmallSoularium.name=Small Pile of Soularium Dust -item.itemDustTinySoularium.name=Tiny Pile of Soularium Dust -item.itemDustRedstoneAlloy.name=Redstone Alloy Dust -item.itemDustSmallRedstoneAlloy.name=Small Pile of Redstone Alloy Dust -item.itemDustTinyRedstoneAlloy.name=Tiny Pile of Redstone Alloy Dust -item.itemDustElectricalSteel.name=Electrical Steel Dust -item.itemDustSmallElectricalSteel.name=Small Pile of Electrical Steel Dust -item.itemDustTinyElectricalSteel.name=Tiny Pile of Electrical Steel Dust -item.itemDustPulsatingIron.name=Pulsating Iron Dust -item.itemDustSmallPulsatingIron.name=Small Pile of Pulsating Iron Dust -item.itemDustTinyPulsatingIron.name=Tiny Pile of Pulsating Iron Dust -item.itemDustEnergeticAlloy.name=Energetic Alloy Dust -item.itemDustSmallEnergeticAlloy.name=Small Pile of Energetic Alloy Dust -item.itemDustTinyEnergeticAlloy.name=Tiny Pile of Energetic Alloy Dust -item.itemDustVibrantAlloy.name=Vibrant Alloy Dust -item.itemDustSmallVibrantAlloy.name=Small Pile of Vibrant Alloy Dust -item.itemDustTinyVibrantAlloy.name=Tiny Pile of Vibrant Alloy Dust -item.itemDustConductiveIron.name=Conductive Iron Dust -item.itemDustSmallConductiveIron.name=Small Pile of Conductive Iron Dust -item.itemDustTinyConductiveIron.name=Tiny Pile of Conductive Iron Dust -item.itemPlateSoularium.name=Soularium plate -item.itemPlateRedstoneAlloy.name=Redstone Alloy plate -item.itemPlateElectricalSteel.name=Electrical Steel plate -item.itemPlatePhasedIron.name=Phased Iron plate -item.itemPlateEnergeticAlloy.name=Energetic Alloy plate -item.itemPlateVibrantAlloy.name=Vibrant Alloy plate -item.itemPlateConductiveIron.name=Conductive Iron plate -item.itemPlateBlutonium.name=Blutonium plate -item.itemPlateCyanite.name=Cyanite plate -item.itemPlateLudicrite.name=Ludicrite plate -item.itemPlateVoid.name=Void plate -item.itemPlateDimensionShard.name=Dimensional Shard plate -item.rfEUBattery.name=Universally Chargeable Battery -item.rfEUBattery.tooltip.0=§eIC2/EU Information§7); -item.rfEUBattery.tooltip.1=§7Tier: [§e%d§7] Current Power: [§e%d§7/EU] -item.rfEUBattery.tooltip.2=§7Transfer Limit: [§e%d§7Eu/t] Burn Time: [§e%d§7s] -item.rfEUBattery.tooltip.3=§cRF Information§7 -item.rfEUBattery.tooltip.4=§7Extraction Rate: [§%d§7Rf/t] Insert Rate: [§c%d§7Rf/t] -item.rfEUBattery.tooltip.5=§7Current Charge: [§c%d§7Rf / %dRf] §c%.2f%%§7 -item.personalCloakingDevice.name=§9Personal Cloaking Device§7 -item.personalCloakingDevice.tooltip.0=§aWorn as a Belt within Baubles.§7 -item.personalCloakingDevice.tooltip.1=§aDrains 10,000EU/t to provide invisibility.§7 -item.personalCloakingDevice.tooltip.2=§6IC2/EU Information§7 -item.personalCloakingDevice.tooltip.3=§7Tier: [§e%d§7] Input Limit: [§e%d§7EU/t] -item.personalCloakingDevice.tooltip.4=§7Current Power: [§e%d§7EU] [§e%.2f%%§7] -item.personalCloakingDevice.tooltip.5=§7Time Remaining: [§e%d§7 seconds] -item.personalHealingDevice.name=§9Personal Healing NanoBooster§r -item.SlowBuildingRing.name=§eSlow Building Ring§7 -item.SlowBuildingRing.tooltip.0=§aWorn as a Ring within Baubles. Prevents you from sprinting.§7 -item.SlowBuildingRing.tooltip.1=§aMovement speed reduced to crouch speed.§7 -item.SlowBuildingRing.tooltip.2=§aPress shift while worn to toggle crouch on/off.§7 -item.itemBufferCore1.name=Energy Core [ULV]. -item.itemBufferCore2.name=Energy Core [LV]. -item.itemBufferCore3.name=Energy Core [MV]. -item.itemBufferCore4.name=Energy Core [HV]. -item.itemBufferCore5.name=Energy Core [EV]. -item.itemBufferCore6.name=Energy Core [IV]. -item.itemBufferCore7.name=Energy Core [LuV]. -item.itemBufferCore8.name=Energy Core [ZPM]. -item.itemBufferCore9.name=Energy Core [UV]. -item.itemBufferCore10.name=Energy Core [MAX]. -item.itembookgt.name=§oThermal Boiler Manual - -// Everglade Items -item.everglades.trigger.name=§6Alkalus Disk [§cActivated§6] - - - - - - - -//Blocks -tile.blockRainforestOakLog.name=Rainforest Oak -tile.blockRainforestOakLeaves.name=Oak Leaves -tile.blockRainforestOakSapling.name=Rainforest Oak Sapling -tile.blockPineLogLog.name=Pine Log -tile.blockPineLeaves.name=Pine Leaves -tile.blockPineSapling.name=Pine Sapling - -//TC Stuff -tile.blockFastAlchemyFurnace.0.name=Broken -tile.blockFastArcaneAlembic.1.name=Broken - -//Frame Boxes -tile.Block of Selenium.name=Block of Selenium -tile.Selenium Frame Box.name=Selenium Frame Box -tile.Block of Bromine.name=Block of Bromine -tile.Block of Strontium.name=Block of Strontium -tile.Strontium Frame Box.name=Strontium Frame Box -tile.Block of Zirconium.name=Block of Zirconium -tile.Zirconium Frame Box.name=Zirconium Frame Box -tile.Block of Ruthenium.name=Block of Ruthenium -tile.Ruthenium Frame Box.name=Ruthenium Frame Box -tile.Block of Iodine.name=Block of Iodine -tile.Iodine Frame Box.name=Iodine Frame Box -tile.Block of Hafnium.name=Block of Hafnium -tile.Hafnium Frame Box.name=Hafnium Frame Box -tile.Block of Dysprosium.name=Block of Dysprosium -tile.Dysprosium Frame Box.name=Dysprosium Frame Box -tile.Block of Tellurium.name=Block of Tellurium -tile.Tellurium Frame Box.name=Tellurium Frame Box -tile.Block of Rhodium.name=Block of Rhodium -tile.Rhodium Frame Box.name=Rhodium Frame Box -tile.Block of Rhenium.name=Block of Rhenium -tile.Rhenium Frame Box.name=Rhenium Frame Box -tile.Block of Thallium.name=Block of Thallium -tile.Thallium Frame Box.name=Thallium Frame Box -tile.Block of Technetium.name=Block of Technetium -tile.Block of Polonium.name=Block of Polonium -tile.Block of Astatine.name=Block of Astatine -tile.Block of Francium.name=Block of Francium -tile.Block of Radium.name=Block of Radium -tile.Block of Actinium.name=Block of Actinium -tile.Block of Protactinium.name=Block of Protactinium -tile.Block of Neptunium.name=Block of Neptunium -tile.Block of Curium.name=Block of Curium -tile.Block of Berkelium.name=Block of Berkelium -tile.Block of Californium.name=Block of Californium -tile.Block of Einsteinium.name=Block of Einsteinium -tile.Block of Fermium.name=Block of Fermium -tile.Block of Thorium 232.name=Block of Thorium 232 -tile.Block of Uranium 232.name=Block of Uranium 232 -tile.Block of Uranium 233.name=Block of Uranium 233 -tile.Block of Plutonium-238.name=Block of Plutonium 238 -tile.Block of Strontium-90.name=Block of Strontium 90 -tile.Block of Polonium-210.name=Block of Polonium 210 -tile.Block of Americium-241.name=Block of Americium 241 -tile.Block of Silicon Carbide.name=Block of Silicon Carbide -tile.Silicon Carbide Frame Box.name=Silicon Carbide Frame Box -tile.Block of Zirconium Carbide.name=Block of Zirconium Carbide -tile.Zirconium Carbide Frame Box.name=Zirconium Carbide Frame Box -tile.Block of Tantalum Carbide.name=Block of Tantalum Carbide -tile.Tantalum Carbide Frame Box.name=Tantalum Carbide Frame Box -tile.Block of Niobium Carbide.name=Block of Niobium Carbide -tile.Niobium Carbide Frame Box.name=Niobium Carbide Frame Box -tile.Block of Beryllium Fluoride.name=Block of Beryllium Fluoride -tile.Block of Lithium Fluoride.name=Block of Lithium Fluoride -tile.Block of Thorium Tetrafluoride.name=Block of Thorium Tetrafluoride -tile.Block of Thorium Hexafluoride.name=Block of Thorium Hexafluoride -tile.Block of Uranium Tetrafluoride.name=Block of Uranium Tetrafluoride -tile.Block of Uranium Hexafluoride.name=Block of Uranium Hexafluoride -tile.Block of Zirconium Tetrafluoride.name=Block of Zirconium Tetrafluoride -tile.Block of Neptunium Hexafluoride.name=Block of Neptunium Hexafluoride -tile.Block of Technetium Hexafluoride.name=Block of Technetium Hexafluoride -tile.Block of Selenium Hexafluoride.name=Block of Selenium Hexafluoride -tile.Block of LiFBeF2ZrF4U235.name=Block of LiFBeF2ZrF4U235 -tile.Block of LiFBeF2ZrF4UF4.name=Block of LiFBeF2ZrF4UF4 -tile.Block of LiFBeF2ThF4UF4.name=Block of LiFBeF2ThF4UF4 -tile.Block of Energy Crystal.name=Block of Energy Crystal -tile.Energy Crystal Frame Box.name=Energy Crystal Frame Box -tile.Block of Blood Steel.name=Block of Blood Steel -tile.Blood Steel Frame Box.name=Blood Steel Frame Box -tile.Block of Zeron-100.name=Block of Zeron-100 -tile.Zeron-100 Frame Box.name=Zeron-100 Frame Box -tile.Block of Tumbaga.name=Block of Tumbaga -tile.Tumbaga Frame Box.name=Tumbaga Frame Box -tile.Block of Potin.name=Block of Potin -tile.Potin Frame Box.name=Potin Frame Box -tile.Block of Staballoy.name=Block of Staballoy -tile.Staballoy Frame Box.name=Staballoy Frame Box -tile.Block of Tantalloy-60.name=Block of Tantalloy-60 -tile.Tantalloy-60 Frame Box.name=Tantalloy-60 Frame Box -tile.Block of Tantalloy-61.name=Block of Tantalloy-61 -tile.Tantalloy-61 Frame Box.name=Tantalloy-61 Frame Box -tile.Block of Inconel-625.name=Block of Inconel-625 -tile.Inconel-625 Frame Box.name=Inconel-625 Frame Box -tile.Block of Inconel-690.name=Block of Inconel-690 -tile.Inconel-690 Frame Box.name=Inconel-690 Frame Box -tile.Block of Inconel-792.name=Block of Inconel-792 -tile.Inconel-792 Frame Box.name=Inconel-792 Frame Box -tile.Block of Eglin Steel.name=Block of Eglin Steel -tile.Eglin Steel Frame Box.name=Eglin Steel Frame Box -tile.Block of Maraging Steel 250.name=Block of Maraging Steel 250 -tile.Maraging Steel 250 Frame Box.name=Maraging Steel 250 Frame Box -tile.Block of Maraging Steel 300.name=Block of Maraging Steel 300 -tile.Maraging Steel 300 Frame Box.name=Maraging Steel 300 Frame Box -tile.Block of Maraging Steel 350.name=Block of Maraging Steel 350 -tile.Maraging Steel 350 Frame Box.name=Maraging Steel 350 Frame Box -tile.Block of Stellite.name=Block of Stellite -tile.Stellite Frame Box.name=Stellite Frame Box -tile.Block of Talonite.name=Block of Talonite -tile.Talonite Frame Box.name=Talonite Frame Box -tile.Block of Hastelloy-W.name=Block of Hastelloy-W -tile.Hastelloy-W Frame Box.name=Hastelloy-W Frame Box -tile.Block of Hastelloy-X.name=Block of Hastelloy-X -tile.Hastelloy-X Frame Box.name=Hastelloy-X Frame Box -tile.Block of Hastelloy-C276.name=Block of Hastelloy-C276 -tile.Hastelloy-C276 Frame Box.name=Hastelloy-C276 Frame Box -tile.Block of Hastelloy-N.name=Block of Hastelloy-N -tile.Hastelloy-N Frame Box.name=Hastelloy-N Frame Box -tile.Block of Incoloy-020.name=Block of Incoloy-020 -tile.Incoloy-020 Frame Box.name=Incoloy-020 Frame Box -tile.Block of Incoloy-DS.name=Block of Incoloy-DS -tile.Incoloy-DS Frame Box.name=Incoloy-DS Frame Box -tile.Block of Incoloy-MA956.name=Block of Incoloy-MA956 -tile.Incoloy-MA956 Frame Box.name=Incoloy-MA956 Frame Box -tile.Block of Grisium.name=Block of Grisium -tile.Grisium Frame Box.name=Grisium Frame Box -tile.Block of Trinium.name=Block of Trinium -tile.Block of Refined Trinium.name=Block of Refined Trinium -tile.Block of Trinium Titanium Alloy.name=Block of Trinium Titanium Alloy -tile.Trinium Titanium Alloy Frame Box.name=Trinium Titanium Alloy Frame Box -tile.Block of Trinium Naquadah Alloy.name=Block of Trinium Naquadah Alloy -tile.Block of Trinium Naquadah Carbonite.name=Block of Trinium Naquadah Carbonite -tile.Trinium Naquadah Carbonite Frame Box.name=Trinium Naquadah Carbonite Frame Box -tile.Block of Quantum.name=Block of Quantum -tile.Quantum Frame Box.name=Quantum Frame Box - -//Ores -tile.OreFluoriteF.name=Fluorite (F) Ore -tile.OreCrocoite.name=Crocoite Ore -tile.OreGeikielite.name=Geikielite Ore -tile.OreNichromite.name=Nichromite Ore -tile.OreTitanite.name=Titanite Ore -tile.OreZimbabweite.name=Zimbabweite Ore -tile.OreZirconolite.name=Zirconolite Ore -tile.OreGadoliniteCe.name=Gadolinite (Ce) Ore -tile.OreGadoliniteY.name=Gadolinite (Y) Ore -tile.OreLepersonnite.name=Lepersonnite Ore -tile.OreSamarskiteY.name=Samarskite (Y) Ore -tile.OreSamarskiteYb.name=Samarskite (Yb) Ore -tile.OreXenotime.name=Xenotime Ore -tile.OreYttriaite.name=Yttriaite Ore -tile.OreYttrialite.name=Yttrialite Ore -tile.OreYttrocerite.name=Yttrocerite Ore -tile.OreZircon.name=Zircon Ore -tile.OrePolycrase.name=Polycrase Ore -tile.OreZircophyllite.name=Zircophyllite Ore -tile.OreZirkelite.name=Zirkelite Ore -tile.OreLanthaniteLa.name=Lanthanite (La) Ore -tile.OreLanthaniteCe.name=Lanthanite (Ce) Ore -tile.OreLanthaniteNd.name=Lanthanite (Nd) Ore -tile.OreAgarditeY.name=Agardite (Y) Ore -tile.OreAgarditeCd.name=Agardite (Cd) Ore -tile.OreAgarditeLa.name=Agardite (La) Ore -tile.OreAgarditeNd.name=Agardite (Nd) Ore -tile.OreHibonite.name=Hibonite Ore -tile.OreCerite.name=Cerite Ore -tile.OreFluorcaphite.name=Fluorcaphite Ore -tile.OreFlorencite.name=Florencite Ore -tile.OreCryoliteF.name=Cryolite (F) Ore - -//Misc -tile.blockMFEffect.name=Special -tile.fluidBlockSludge.name=Sludge -tile.blockWorkbenchGT.name=Workbench -tile.blockWorkbenchGTAdvanced.name=Advanced Workbench -tile.blockHeliumGenerator.name=Helium Generator -tile.blockFirePit.name=Fire Pit -tile.blockFishTrap.name=Fish Catcher -tile.blockInfiniteFluidTank.name=Infinite Fluid Tank -tile.blockMiningExplosives.name=Mining Explosives -tile.blockHellFire.name=Hellish Fire -tile.blockProjectBench.name=Project Table -tile.blockTradeBench.name=Trade Bench -tile.blockModularity.name=Modularity Bench -tile.blockBlackGate.name=Wither Cage -tile.blockTankXpConverter.name=Experience Converter - -//Everglades Blocks -tile.blockDarkWorldPortal.name=A Glimpse of the Future -tile.blockDarkWorldGround.name=Unstable Earth -tile.blockDarkWorldGround2.name=Polluted Soil -tile.blockDarkWorldGround2.2.name=Highly Polluted Soil -tile.blockDarkWorldPortalFrame.name=Containment Frame - - -//Added 1/4/18 -tile.blockMiningPipeFake.name=Strengthened Mining Pipe -tile.blockMiningHeadFake.name=Bedrock Drill -item.itemPlateMeatRaw.name=Fleshy Panel -tile.Block of MeatRaw.name=Block of Raw Meat - -//Added 26/5/18 -item.BurntLiFBeF2ThF4UF4.name=Cell of Used Reactor Fuel [LiFBeF2ThF4UF4] -item.BurntLiFBeF2ZrF4UF4.name=Cell of Used Reactor Fuel [LiFBeF2ZrF4UF4] -item.BurntLiFBeF2ZrF4U235.name=Cell of Used Reactor Fuel [LiFBeF2ZrF4U235] -item.itemBigEgg.name= ounce Chicken Egg -item.itemPlateSodium.name=Sodium Plate - -item.itemNuggetPromethium.name=Promethium Nugget -item.itemIngotPromethium.name=Promethium Ingot -item.itemDustSmallPromethium.name=Small Pile of Promethium -item.itemDustTinyPromethium.name=Tiny Pile of Promethium -item.itemDustPromethium.name=Promethium Dust -tile.Block of Promethium.name=Block of Promethium - -item.itemCellAmericium241.name=Americium 241 Cell -item.itemCellPolonium210.name=Polonium 210 Cell -item.itemCellStrontium90.name=Strontium 90 Cell -item.itemCellPlutonium238.name=Plutonium 238 Cell - -entity.MiningCharge.name=Mining Charge -entity.throwablePotionSulfuric.name=Flask of Sulfuric Acid -entity.throwablePotionHydrofluoric.name=Flask of Hydrofluoric Acid -entity.toxinBall.name=Toxin globule -entity.plasmaBolt.name=Plasma -entity.bigChickenFriendly.name=Giant Chicken - -//Added 26/6/18 -tile.OreTrinium.name=Trinium Ore -item.crushedTrinium.name=Crushed Trinium Ore -item.crushedCentrifugedTrinium.name=Centrifuged Crushed Trinium Ore -item.crushedPurifiedTrinium.name=Purified Crushed Trinium Ore -item.dustImpureTrinium.name=Impure Trinium Dust -item.dustPureTrinium.name=Purified Trinium Dust - -//Added 1/7/18 -entity.WiseVillager.name=Wise Villager -tile.blockMobSpawnerEx.0.name=Monster Spawner -tile.blockMobSpawnerEx.1.name=Monster Spawner -tile.blockMobSpawnerEx.2.name=Monster Spawner -tile.blockMobSpawnerEx.3.name=Monster Spawner -tile.blockMobSpawnerEx.4.name=Monster Spawner -tile.blockMobSpawnerEx.5.name=Monster Spawner -tile.blockMobSpawnerEx.6.name=Monster Spawner -tile.blockMobSpawnerEx.7.name=Monster Spawner -tile.blockMobSpawnerEx.8.name=Monster Spawner -tile.blockMobSpawnerEx.9.name=Monster Spawner -tile.blockMobSpawnerEx.10.name=Monster Spawner -tile.blockMobSpawnerEx.11.name=Monster Spawner -tile.blockMobSpawnerEx.12.name=Monster Spawner -tile.blockMobSpawnerEx.13.name=Monster Spawner -tile.blockMobSpawnerEx.14.name=Monster Spawner -tile.blockMobSpawnerEx.15.name=Monster Spawner -description.villager.profession.miscutils.banker=Banker -description.villager.profession.miscutils.technician=GT Technician -description.villager.profession.miscutils.trader=Ore Trader -description.villager.profession.miscutils.aboriginal=Native Australian - -//Added 23/8/18 -item.itemHatTinFoil.name=Tin Foil Hat - -//Added 13/9/18 -entity.Aboriginal.name=Native -entity.miscutils.constructStaballoy.name=Staballoy Construct -entity.miscutils.sickBlaze.name=Infected Zealot - -//Added 15/9/18 -item.ZirconiumTetrafluoride.name=Zirconium Tetrafluoride Cell -item.Formaldehyde.name=Formaldehyde Cell -item.RocketFuelMixA.name=H8N4C2O4 Rocket Fuel Cell -item.RocketFuelMixB.name=RP-1 Rocket Fuel Cell -item.RocketFuelMixC.name=CN3H7O3 Rocket Fuel Cell -item.RocketFuelMixD.name=Dense Hydrazine Rocket Fuel Cell -item.RP1Fuel.name=RP-1 Fuel Cell -item.Monomethylhydrazine.name=Monomethylhydrazine Cell -item.Hydrazine.name=Hydrazine Cell -item.NitrogenTetroxide.name=Nitrogen Tetroxide Cell -item.NitrousOxide.name=Nitrous Oxide Cell -item.AmmoniumNitrateSlurry.name=Ammonium Nitrate Slurry Cell -item.Kerosene.name=Kerosene Cell -item.LiquidOxygen.name=Liquid Oxygen Cell [LOX] - -//Added 8/1/19 - -//Ores - -tile.OreIrarsite.name=Irarsite Ore -item.crushedIrarsite.name=Crushed Irarsite Ore -item.oreRawIrarsite.name=Raw Irarsite Ore -item.crushedCentrifugedIrarsite.name=Centrifuged Crushed Irarsite Ore -item.crushedPurifiedIrarsite.name=Purified Crushed Irarsite Ore -item.dustImpureIrarsite.name=Impure Irarsite Dust -item.dustPureIrarsite.name=Purified Irarsite Dust -item.itemDustIrarsite.name=Irarsite Dust -item.itemDustTinyIrarsite.name=Tiny Pile of Irarsite Dust -item.itemDustSmallIrarsite.name=Small Pile of Irarsite Dust - -tile.OreMiessiite.name=Miessiite Ore -item.crushedMiessiite.name=Crushed Miessiite Ore -item.oreRawMiessiite.name=Raw Miessiite Ore -item.crushedCentrifugedMiessiite.name=Centrifuged Crushed Miessiite Ore -item.crushedPurifiedMiessiite.name=Purified Crushed Miessiite Ore -item.dustImpureMiessiite.name=Impure Miessiite Dust -item.dustPureMiessiite.name=Purified Miessiite Dust -item.itemDustMiessiite.name=Miessiite Dust -item.itemDustTinyMiessiite.name=Tiny Pile of Miessiite Dust -item.itemDustSmallMiessiite.name=Small Pile of Miessiite Dust - -tile.OreComancheite.name=Comancheite Ore -item.crushedComancheite.name=Crushed Comancheite Ore -item.oreRawComancheite.name=Raw Comancheite Ore -item.crushedCentrifugedComancheite.name=Centrifuged Crushed Comancheite Ore -item.crushedPurifiedComancheite.name=Purified Crushed Comancheite Ore -item.dustImpureComancheite.name=Impure Comancheite Dust -item.dustPureComancheite.name=Purified Comancheite Dust -item.itemDustComancheite.name=Comancheite Dust -item.itemDustTinyComancheite.name=Tiny Pile of Comancheite Dust -item.itemDustSmallComancheite.name=Small Pile of Comancheite Dust - -tile.OreKoboldite.name=Koboldite Ore -item.crushedKoboldite.name=Crushed Koboldite Ore -item.oreRawKoboldite.name=Raw Koboldite Ore -item.crushedCentrifugedKoboldite.name=Centrifuged Crushed Koboldite Ore -item.crushedPurifiedKoboldite.name=Purified Crushed Koboldite Ore -item.dustImpureKoboldite.name=Impure Koboldite Dust -item.dustPureKoboldite.name=Purified Koboldite Dust -item.itemDustKoboldite.name=Koboldite Dust -item.itemDustTinyKoboldite.name=Tiny Pile of Koboldite Dust -item.itemDustSmallKoboldite.name=Small Pile of Koboldite Dust - -tile.OrePerroudite.name=Perroudite Ore -item.crushedPerroudite.name=Crushed Perroudite Ore -item.oreRawPerroudite.name=Raw Perroudite Ore -item.crushedCentrifugedPerroudite.name=Centrifuged Crushed Perroudite Ore -item.crushedPurifiedPerroudite.name=Purified Crushed Perroudite Ore -item.dustImpurePerroudite.name=Impure Perroudite Dust -item.dustPurePerroudite.name=Purified Perroudite Dust -item.itemDustPerroudite.name=Perroudite Dust -item.itemDustTinyPerroudite.name=Tiny Pile of Perroudite Dust -item.itemDustSmallPerroudite.name=Small Pile of Perroudite Dust - -tile.OreDemicheleite.name=Demicheleite Ore -item.crushedDemicheleite.name=Crushed Demicheleite Ore -item.oreRawDemicheleite.name=Raw Demicheleite Ore -item.crushedCentrifugedDemicheleite.name=Centrifuged Crushed Demicheleite Ore -item.crushedPurifiedDemicheleite.name=Purified Crushed Demicheleite Ore -item.dustImpureDemicheleite.name=Impure Demicheleite Dust -item.dustPureDemicheleite.name=Purified Demicheleite Dust -item.itemDustDemicheleite.name=Demicheleite Dust -item.itemDustTinyDemicheleite.name=Tiny Pile of Demicheleite Dust -item.itemDustSmallDemicheleite.name=Small Pile of Demicheleite Dust - -tile.OreAlburnite.name=Alburnite Ore -item.crushedAlburnite.name=Crushed Alburnite Ore -item.oreRawAlburnite.name=Raw Alburnite Ore -item.crushedCentrifugedAlburnite.name=Centrifuged Crushed Alburnite Ore -item.crushedPurifiedAlburnite.name=Purified Crushed Alburnite Ore -item.dustImpureAlburnite.name=Impure Alburnite Dust -item.dustPureAlburnite.name=Purified Alburnite Dust -item.itemDustAlburnite.name=Alburnite Dust -item.itemDustTinyAlburnite.name=Tiny Pile of Alburnite Dust -item.itemDustSmallAlburnite.name=Small Pile of Alburnite Dust - -tile.OreLautarite.name=Lautarite Ore -item.crushedLautarite.name=Crushed Lautarite Ore -item.oreRawLautarite.name=Raw Lautarite Ore -item.crushedCentrifugedLautarite.name=Centrifuged Crushed Lautarite Ore -item.crushedPurifiedLautarite.name=Purified Crushed Lautarite Ore -item.dustImpureLautarite.name=Impure Lautarite Dust -item.dustPureLautarite.name=Purified Lautarite Dust -item.itemDustLautarite.name=Lautarite Dust -item.itemDustTinyLautarite.name=Tiny Pile of Lautarite Dust -item.itemDustSmallLautarite.name=Small Pile of Lautarite Dust - -tile.OreBariteRd.name=Barite (Rd) Ore -item.crushedBariteRd.name=Crushed Barite (Rd) Ore -item.oreRawBariteRd.name=Raw Barite (Rd) Ore -item.crushedCentrifugedBariteRd.name=Centrifuged Crushed Barite (Rd) Ore -item.crushedPurifiedBariteRd.name=Purified Crushed Barite (Rd) Ore -item.dustImpureBariteRd.name=Impure Barite (Rd) Dust -item.dustPureBariteRd.name=Purified Barite (Rd) Dust -item.itemDustBariteRd.name=Barite (Rd) Dust -item.itemDustTinyBariteRd.name=Tiny Pile of Barite (Rd) Dust -item.itemDustSmallBariteRd.name=Small Pile of Barite (Rd) Dust - -tile.OreHoneaite.name=Honeaite Ore -item.crushedHoneaite.name=Crushed Honeaite Ore -item.oreRawHoneaite.name=Raw Honeaite Ore -item.crushedCentrifugedHoneaite.name=Centrifuged Crushed Honeaite Ore -item.crushedPurifiedHoneaite.name=Purified Crushed Honeaite Ore -item.dustImpureHoneaite.name=Impure Honeaite Dust -item.dustPureHoneaite.name=Purified Honeaite Dust -item.itemDustHoneaite.name=Honeaite Dust -item.itemDustTinyHoneaite.name=Tiny Pile of Honeaite Dust -item.itemDustSmallHoneaite.name=Small Pile of Honeaite Dust - -tile.OreLafossaite.name=Lafossaite Ore -item.crushedLafossaite.name=Crushed Lafossaite Ore -item.oreRawLafossaite.name=Raw Lafossaite Ore -item.crushedCentrifugedLafossaite.name=Centrifuged Crushed Lafossaite Ore -item.crushedPurifiedLafossaite.name=Purified Crushed Lafossaite Ore -item.dustImpureLafossaite.name=Impure Lafossaite Dust -item.dustPureLafossaite.name=Purified Lafossaite Dust -item.itemDustLafossaite.name=Lafossaite Dust -item.itemDustTinyLafossaite.name=Tiny Pile of Lafossaite Dust -item.itemDustSmallLafossaite.name=Small Pile of Lafossaite Dust - -tile.OreKashinite.name=Kashinite Ore -item.crushedKashinite.name=Crushed Kashinite Ore -item.oreRawKashinite.name=Raw Kashinite Ore -item.crushedCentrifugedKashinite.name=Centrifuged Crushed Kashinite Ore -item.crushedPurifiedKashinite.name=Purified Crushed Kashinite Ore -item.dustImpureKashinite.name=Impure Kashinite Dust -item.dustPureKashinite.name=Purified Kashinite Dust -item.itemDustKashinite.name=Kashinite Dust -item.itemDustTinyKashinite.name=Tiny Pile of Kashinite Dust -item.itemDustSmallKashinite.name=Small Pile of Kashinite Dust - -tile.OreRadioactiveMineralMix.name=Strange Ore -item.crushedRadioactiveMineralMix.name=Crushed Strange Ore -item.oreRawRadioactiveMineralMix.name=Raw Strange Ore -item.crushedCentrifugedRadioactiveMineralMix.name=Centrifuged Crushed Strange Ore -item.crushedPurifiedRadioactiveMineralMix.name=Purified Crushed Strange Ore -item.dustImpureRadioactiveMineralMix.name=Impure Strange Dust -item.dustPureRadioactiveMineralMix.name=Purified Strange Dust -item.itemDustRadioactiveMineralMix.name=Strange Dust -item.itemDustTinyRadioactiveMineralMix.name=Tiny Pile of Strange Dust -item.itemDustSmallRadioactiveMineralMix.name=Small Pile of Strange Dust - -tile.OreDemicheleiteBr.name=Demicheleite (Br) Ore -item.crushedDemicheleiteBr.name=Crushed Demicheleite (Br) Ore -item.oreRawDemicheleiteBr.name=Raw Demicheleite (Br) Ore -item.crushedCentrifugedDemicheleiteBr.name=Centrifuged Crushed Demicheleite (Br) Ore -item.crushedPurifiedDemicheleiteBr.name=Purified Crushed Demicheleite (Br) Ore -item.dustImpureDemicheleiteBr.name=Impure Demicheleite (Br) Dust -item.dustPureDemicheleiteBr.name=Purified Demicheleite (Br) Dust -item.itemDustDemicheleiteBr.name=Demicheleite (Br) Dust - - -//Materials - -item.itemIngotTitansteel.name=Titansteel Ingot -item.itemHotIngotTitansteel.name=Hot Titansteel Ingot -item.itemDustTitansteel.name=Titansteel Dust -item.itemDustTinyTitansteel.name=Tiny Pile of Titansteel Dust -item.itemDustSmallTitansteel.name=Small Pile of Titansteel Dust -item.itemNuggetTitansteel.name=Titansteel Nugget -item.itemPlateTitansteel.name=Titansteel Plate -item.itemPlateDoubleTitansteel.name=Double Titansteel Plate -item.itemBoltTitansteel.name=Titansteel Bolt -item.itemRodTitansteel.name=Titansteel Rod -item.itemRodLongTitansteel.name=Long Titansteel Rod -item.itemRingTitansteel.name=Titansteel Ring -item.itemScrewTitansteel.name=Titansteel Screw -item.itemRotorTitansteel.name=Titansteel Rotor -item.itemGearTitansteel.name=Titansteel Gear -item.itemCellTitansteel.name=Titansteel Cell -tile.Block of Titansteel.name=Block of Titansteel -tile.Titansteel Frame Box.name=Titansteel Frame Box - -item.itemIngotOctiron.name=Octiron Ingot -item.itemHotIngotOctiron.name=Hot Octiron Ingot -item.itemDustOctiron.name=Octiron Dust -item.itemDustTinyOctiron.name=Tiny Pile of Octiron Dust -item.itemDustSmallOctiron.name=Small Pile of Octiron Dust -item.itemNuggetOctiron.name=Octiron Nugget -item.itemPlateOctiron.name=Octiron Plate -item.itemPlateDoubleOctiron.name=Double Octiron Plate -item.itemBoltOctiron.name=Octiron Bolt -item.itemRodOctiron.name=Octiron Rod -item.itemRodLongOctiron.name=Long Octiron Rod -item.itemRingOctiron.name=Octiron Ring -item.itemScrewOctiron.name=Octiron Screw -item.itemRotorOctiron.name=Octiron Rotor -item.itemGearOctiron.name=Octiron Gear -item.itemCellOctiron.name=Octiron Cell -tile.Block of Octiron.name=Block of Octiron -tile.Octiron Frame Box.name=Octiron Frame Box - -item.itemIngotWatertightSteel.name=Watertight Steel Ingot -item.itemHotIngotWatertightSteel.name=Hot Watertight Steel Ingot -item.itemDustWatertightSteel.name=Watertight Steel Dust -item.itemDustTinyWatertightSteel.name=Tiny Pile of Watertight Steel Dust -item.itemDustSmallWatertightSteel.name=Small Pile of Watertight Steel Dust -item.itemNuggetWatertightSteel.name=Watertight Steel Nugget -item.itemPlateWatertightSteel.name=Watertight Steel Plate -item.itemPlateDoubleWatertightSteel.name=Double Watertight Steel Plate -item.itemBoltWatertightSteel.name=Watertight Steel Bolt -item.itemRodWatertightSteel.name=Watertight Steel Rod -item.itemRodLongWatertightSteel.name=Long Watertight Steel Rod -item.itemRingWatertightSteel.name=Watertight Steel Ring -item.itemScrewWatertightSteel.name=Watertight Steel Screw -item.itemRotorWatertightSteel.name=Watertight Steel Rotor -item.itemGearWatertightSteel.name=Watertight Steel Gear -item.itemCellWatertightSteel.name=Watertight Steel Cell -tile.Block of Watertight Steel.name=Block of Watertight Steel -tile.Watertight Steel Frame Box.name=Watertight Steel Frame Box - -item.itemIngotCelestialTungsten.name=Celestial Tungsten Ingot -item.itemHotIngotCelestialTungsten.name=Hot Celestial Tungsten Ingot -item.itemDustCelestialTungsten.name=Celestial Tungsten Dust -item.itemDustTinyCelestialTungsten.name=Tiny Pile of Celestial Tungsten Dust -item.itemDustSmallCelestialTungsten.name=Small Pile of Celestial Tungsten Dust -item.itemNuggetCelestialTungsten.name=Celestial Tungsten Nugget -item.itemPlateCelestialTungsten.name=Celestial Tungsten Plate -item.itemPlateDoubleCelestialTungsten.name=Double Celestial Tungsten Plate -item.itemBoltCelestialTungsten.name=Celestial Tungsten Bolt -item.itemRodCelestialTungsten.name=Celestial Tungsten Rod -item.itemRodLongCelestialTungsten.name=Long Celestial Tungsten Rod -item.itemRingCelestialTungsten.name=Celestial Tungsten Ring -item.itemScrewCelestialTungsten.name=Celestial Tungsten Screw -item.itemRotorCelestialTungsten.name=Celestial Tungsten Rotor -item.itemGearCelestialTungsten.name=Celestial Tungsten Gear -item.itemCellCelestialTungsten.name=Celestial Tungsten Cell -tile.Block of Celestial Tungsten.name=Block of Celestial Tungsten -tile.Celestial Tungsten Frame Box.name=Celestial Tungsten Frame Box - -item.itemIngotHypogen.name=Hypogen Ingot -item.itemHotIngotHypogen.name=Hot Hypogen Ingot -item.itemDustHypogen.name=Hypogen Dust -item.itemDustTinyHypogen.name=Tiny Pile of Hypogen Dust -item.itemDustSmallHypogen.name=Small Pile of Hypogen Dust -item.itemNuggetHypogen.name=Hypogen Nugget -item.itemPlateHypogen.name=Hypogen Plate -item.itemPlateDoubleHypogen.name=Double Hypogen Plate -item.itemBoltHypogen.name=Hypogen Bolt -item.itemRodHypogen.name=Hypogen Rod -item.itemRodLongHypogen.name=Long Hypogen Rod -item.itemRingHypogen.name=Hypogen Ring -item.itemScrewHypogen.name=Hypogen Screw -item.itemRotorHypogen.name=Hypogen Rotor -item.itemGearHypogen.name=Hypogen Gear -item.itemCellHypogen.name=Hypogen Cell -tile.Block of Hypogen.name=Block of Hypogen -tile.Hypogen Frame Box.name=Hypogen Frame Box - -item.itemIngotArceusAlloy2B.name=Arceus Alloy 2B Ingot -item.itemHotIngotArceusAlloy2B.name=Hot Arceus Alloy 2B Ingot -item.itemDustArceusAlloy2B.name=Arceus Alloy 2B Dust -item.itemDustTinyArceusAlloy2B.name=Tiny Pile of Arceus Alloy 2B Dust -item.itemDustSmallArceusAlloy2B.name=Small Pile of Arceus Alloy 2B Dust -item.itemNuggetArceusAlloy2B.name=Arceus Alloy 2B Nugget -item.itemPlateArceusAlloy2B.name=Arceus Alloy 2B Plate -item.itemPlateDoubleArceusAlloy2B.name=Double Arceus Alloy 2B Plate -item.itemBoltArceusAlloy2B.name=Arceus Alloy 2B Bolt -item.itemRodArceusAlloy2B.name=Arceus Alloy 2B Rod -item.itemRodLongArceusAlloy2B.name=Long Arceus Alloy 2B Rod -item.itemRingArceusAlloy2B.name=Arceus Alloy 2B Ring -item.itemScrewArceusAlloy2B.name=Arceus Alloy 2B Screw -item.itemRotorArceusAlloy2B.name=Arceus Alloy 2B Rotor -item.itemGearArceusAlloy2B.name=Arceus Alloy 2B Gear -item.itemCellArceusAlloy2B.name=Arceus Alloy 2B Cell -tile.Block of Arceus Alloy 2B.name=Block of Arceus Alloy 2B -tile.Arceus Alloy 2B Frame Box.name=Arceus Alloy 2B Frame Box - -item.itemIngotChromaticGlass.name=Chromatic Glass Ingot -item.itemHotIngotChromaticGlass.name=Hot Chromatic Glass Ingot -item.itemDustChromaticGlass.name=Chromatic Glass Dust -item.itemDustTinyChromaticGlass.name=Tiny Pile of Chromatic Glass Dust -item.itemDustSmallChromaticGlass.name=Small Pile of Chromatic Glass Dust -item.itemNuggetChromaticGlass.name=Chromatic Glass Nugget -item.itemPlateChromaticGlass.name=Chromatic Glass Plate -item.itemPlateDoubleChromaticGlass.name=Double Chromatic Glass Plate -item.itemBoltChromaticGlass.name=Chromatic Glass Bolt -item.itemRodChromaticGlass.name=Chromatic Glass Rod -item.itemRodLongChromaticGlass.name=Long Chromatic Glass Rod -item.itemRingChromaticGlass.name=Chromatic Glass Ring -item.itemScrewChromaticGlass.name=Chromatic Glass Screw -item.itemRotorChromaticGlass.name=Chromatic Glass Rotor -item.itemGearChromaticGlass.name=Chromatic Glass Gear -item.itemCellChromaticGlass.name=Chromatic Glass Cell -tile.Block of Chromatic Glass.name=Block of Chromatic Glass -tile.Chromatic Glass Frame Box.name=Chromatic Glass Frame Box - -item.itemIngotAstralTitanium.name=Astral Titanium Ingot -item.itemHotIngotAstralTitanium.name=Hot Astral Titanium Ingot -item.itemDustAstralTitanium.name=Astral Titanium Dust -item.itemDustTinyAstralTitanium.name=Tiny Pile of Astral Titanium Dust -item.itemDustSmallAstralTitanium.name=Small Pile of Astral Titanium Dust -item.itemNuggetAstralTitanium.name=Astral Titanium Nugget -item.itemPlateAstralTitanium.name=Astral Titanium Plate -item.itemPlateDoubleAstralTitanium.name=Double Astral Titanium Plate -item.itemBoltAstralTitanium.name=Astral Titanium Bolt -item.itemRodAstralTitanium.name=Astral Titanium Rod -item.itemRodLongAstralTitanium.name=Long Astral Titanium Rod -item.itemRingAstralTitanium.name=Astral Titanium Ring -item.itemScrewAstralTitanium.name=Astral Titanium Screw -item.itemRotorAstralTitanium.name=Astral Titanium Rotor -item.itemGearAstralTitanium.name=Astral Titanium Gear -item.itemCellAstralTitanium.name=Astral Titanium Cell -tile.Block of Astral Titanium.name=Block of Astral Titanium -tile.Astral Titanium Frame Box.name=Astral Titanium Frame Box - -item.itemIngotTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Ingot -item.itemHotIngotTungstenTitaniumCarbide.name=Hot Tungsten Titanium Carbide Ingot -item.itemDustTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Dust -item.itemDustTinyTungstenTitaniumCarbide.name=Tiny Pile of Tungsten Titanium Carbide Dust -item.itemDustSmallTungstenTitaniumCarbide.name=Small Pile of Tungsten Titanium Carbide Dust -item.itemNuggetTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Nugget -item.itemPlateTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Plate -item.itemPlateDoubleTungstenTitaniumCarbide.name=Double Tungsten Titanium Carbide Plate -item.itemBoltTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Bolt -item.itemRodTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Rod -item.itemRodLongTungstenTitaniumCarbide.name=Long Tungsten Titanium Carbide Rod -item.itemRingTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Ring -item.itemScrewTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Screw -item.itemRotorTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Rotor -item.itemGearTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Gear -item.itemCellTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Cell -tile.Block of Tungsten Titanium Carbide.name=Block of Tungsten Titanium Carbide -tile.Tungsten Titanium Carbide Frame Box.name=Tungsten Titanium Carbide Frame Box - -item.itemIngotNitinol60.name=Nitinol 60 Ingot -item.itemHotIngotNitinol60.name=Hot Nitinol 60 Ingot -item.itemDustNitinol60.name=Nitinol 60 Dust -item.itemDustTinyNitinol60.name=Tiny Pile of Nitinol 60 Dust -item.itemDustSmallNitinol60.name=Small Pile of Nitinol 60 Dust -item.itemNuggetNitinol60.name=Nitinol 60 Nugget -item.itemPlateNitinol60.name=Nitinol 60 Plate -item.itemPlateDoubleNitinol60.name=Double Nitinol 60 Plate -item.itemBoltNitinol60.name=Nitinol 60 Bolt -item.itemRodNitinol60.name=Nitinol 60 Rod -item.itemRodLongNitinol60.name=Long Nitinol 60 Rod -item.itemRingNitinol60.name=Nitinol 60 Ring -item.itemScrewNitinol60.name=Nitinol 60 Screw -item.itemRotorNitinol60.name=Nitinol 60 Rotor -item.itemGearNitinol60.name=Nitinol 60 Gear -item.itemCellNitinol60.name=Nitinol 60 Cell -tile.Block of Nitinol 60.name=Block of Nitinol 60 -tile.Nitinol 60 Frame Box.name=Nitinol 60 Frame Box - -item.itemIngotAdvancedNitinol.name=Advanced Nitinol Ingot -item.itemHotIngotAdvancedNitinol.name=Hot Advanced Nitinol Ingot -item.itemDustAdvancedNitinol.name=Advanced Nitinol Dust -item.itemDustTinyAdvancedNitinol.name=Tiny Pile of Advanced Nitinol Dust -item.itemDustSmallAdvancedNitinol.name=Small Pile of Advanced Nitinol Dust -item.itemNuggetAdvancedNitinol.name=Advanced Nitinol Nugget -item.itemPlateAdvancedNitinol.name=Advanced Nitinol Plate -item.itemPlateDoubleAdvancedNitinol.name=Double Advanced Nitinol Plate -item.itemBoltAdvancedNitinol.name=Advanced Nitinol Bolt -item.itemRodAdvancedNitinol.name=Advanced Nitinol Rod -item.itemRodLongAdvancedNitinol.name=Long Advanced Nitinol Rod -item.itemRingAdvancedNitinol.name=Advanced Nitinol Ring -item.itemScrewAdvancedNitinol.name=Advanced Nitinol Screw -item.itemRotorAdvancedNitinol.name=Advanced Nitinol Rotor -item.itemGearAdvancedNitinol.name=Advanced Nitinol Gear -item.itemCellAdvancedNitinol.name=Advanced Nitinol Cell -tile.Block of Advanced Nitinol.name=Block of Advanced Nitinol -tile.Advanced Nitinol Frame Box.name=Advanced Nitinol Frame Box - -item.itemIngotArcanite.name=Arcanite Ingot -item.itemHotIngotArcanite.name=Hot Arcanite Ingot -item.itemDustArcanite.name=Arcanite Dust -item.itemDustTinyArcanite.name=Tiny Pile of Arcanite Dust -item.itemDustSmallArcanite.name=Small Pile of Arcanite Dust -item.itemNuggetArcanite.name=Arcanite Nugget -item.itemPlateArcanite.name=Arcanite Plate -item.itemPlateDoubleArcanite.name=Double Arcanite Plate -item.itemBoltArcanite.name=Arcanite Bolt -item.itemRodArcanite.name=Arcanite Rod -item.itemRodLongArcanite.name=Long Arcanite Rod -item.itemRingArcanite.name=Arcanite Ring -item.itemScrewArcanite.name=Arcanite Screw -item.itemRotorArcanite.name=Arcanite Rotor -item.itemGearArcanite.name=Arcanite Gear -item.itemCellArcanite.name=Arcanite Cell -tile.Block of Arcanite.name=Block of Arcanite -tile.Arcanite Frame Box.name=Arcanite Frame Box - -item.itemIngotPikyonium64B.name=Pikyonium 64B Ingot -item.itemHotIngotPikyonium64B.name=Hot Pikyonium 64B Ingot -item.itemDustPikyonium64B.name=Pikyonium 64B Dust -item.itemDustTinyPikyonium64B.name=Tiny Pile of Pikyonium 64B Dust -item.itemDustSmallPikyonium64B.name=Small Pile of Pikyonium 64B Dust -item.itemNuggetPikyonium64B.name=Pikyonium 64B Nugget -item.itemPlatePikyonium64B.name=Pikyonium 64B Plate -item.itemPlateDoublePikyonium64B.name=Double Pikyonium 64B Plate -item.itemBoltPikyonium64B.name=Pikyonium 64B Bolt -item.itemRodPikyonium64B.name=Pikyonium 64B Rod -item.itemRodLongPikyonium64B.name=Long Pikyonium 64B Rod -item.itemRingPikyonium64B.name=Pikyonium 64B Ring -item.itemScrewPikyonium64B.name=Pikyonium 64B Screw -item.itemRotorPikyonium64B.name=Pikyonium 64B Rotor -item.itemGearPikyonium64B.name=Pikyonium 64B Gear -item.itemCellPikyonium64B.name=Pikyonium 64B Cell -tile.Block of Pikyonium 64B.name=Block of Pikyonium 64B -tile.Pikyonium 64B Frame Box.name=Pikyonium 64B Frame Box - -item.itemIngotCinobiteA243.name=Cinobite A243 Ingot -item.itemHotIngotCinobiteA243.name=Hot Cinobite A243 Ingot -item.itemDustCinobiteA243.name=Cinobite A243 Dust -item.itemDustTinyCinobiteA243.name=Tiny Pile of Cinobite A243 Dust -item.itemDustSmallCinobiteA243.name=Small Pile of Cinobite A243 Dust -item.itemNuggetCinobiteA243.name=Cinobite A243 Nugget -item.itemPlateCinobiteA243.name=Cinobite A243 Plate -item.itemPlateDoubleCinobiteA243.name=Double Cinobite A243 Plate -item.itemBoltCinobiteA243.name=Cinobite A243 Bolt -item.itemRodCinobiteA243.name=Cinobite A243 Rod -item.itemRodLongCinobiteA243.name=Long Cinobite A243 Rod -item.itemRingCinobiteA243.name=Cinobite A243 Ring -item.itemScrewCinobiteA243.name=Cinobite A243 Screw -item.itemRotorCinobiteA243.name=Cinobite A243 Rotor -item.itemGearCinobiteA243.name=Cinobite A243 Gear -item.itemCellCinobiteA243.name=Cinobite A243 Cell -tile.Block of Cinobite A243.name=Block of Cinobite A243 -tile.Cinobite A243 Frame Box.name=Cinobite A243 Frame Box - -item.itemIngotLafiumCompound.name=Lafium Compound Ingot -item.itemHotIngotLafiumCompound.name=Hot Lafium Compound Ingot -item.itemDustLafiumCompound.name=Lafium Compound Dust -item.itemDustTinyLafiumCompound.name=Tiny Pile of Lafium Compound Dust -item.itemDustSmallLafiumCompound.name=Small Pile of Lafium Compound Dust -item.itemNuggetLafiumCompound.name=Lafium Compound Nugget -item.itemPlateLafiumCompound.name=Lafium Compound Plate -item.itemPlateDoubleLafiumCompound.name=Double Lafium Compound Plate -item.itemBoltLafiumCompound.name=Lafium Compound Bolt -item.itemRodLafiumCompound.name=Lafium Compound Rod -item.itemRodLongLafiumCompound.name=Long Lafium Compound Rod -item.itemRingLafiumCompound.name=Lafium Compound Ring -item.itemScrewLafiumCompound.name=Lafium Compound Screw -item.itemRotorLafiumCompound.name=Lafium Compound Rotor -item.itemGearLafiumCompound.name=Lafium Compound Gear -item.itemCellLafiumCompound.name=Lafium Compound Cell -tile.Block of Lafium Compound.name=Block of Lafium Compound -tile.Lafium Compound Frame Box.name=Lafium Compound Frame Box - -item.itemIngotKoboldite.name=Koboldite Ingot -item.itemHotIngotKoboldite.name=Hot Koboldite Ingot -item.itemNuggetKoboldite.name=Koboldite Nugget -item.itemPlateKoboldite.name=Koboldite Plate -item.itemPlateDoubleKoboldite.name=Double Koboldite Plate -item.itemBoltKoboldite.name=Koboldite Bolt -item.itemRodKoboldite.name=Koboldite Rod -item.itemRodLongKoboldite.name=Long Koboldite Rod -item.itemRingKoboldite.name=Koboldite Ring -item.itemScrewKoboldite.name=Koboldite Screw -item.itemRotorKoboldite.name=Koboldite Rotor -item.itemGearKoboldite.name=Koboldite Gear -item.itemCellKoboldite.name=Koboldite Cell -tile.Block of Koboldite.name=Block of Koboldite -tile.Koboldite Frame Box.name=Koboldite Frame Box - -item.itemIngotAbyssalAlloy.name=Abyssal Alloy Ingot -item.itemHotIngotAbyssalAlloy.name=Hot Abyssal Alloy Ingot -item.itemDustAbyssalAlloy.name=Abyssal Alloy Dust -item.itemDustTinyAbyssalAlloy.name=Tiny Pile of Abyssal Alloy Dust -item.itemDustSmallAbyssalAlloy.name=Small Pile of Abyssal Alloy Dust -item.itemNuggetAbyssalAlloy.name=Abyssal Alloy Nugget -item.itemPlateAbyssalAlloy.name=Abyssal Alloy Plate -item.itemPlateDoubleAbyssalAlloy.name=Double Abyssal Alloy Plate -item.itemBoltAbyssalAlloy.name=Abyssal Alloy Bolt -item.itemRodAbyssalAlloy.name=Abyssal Alloy Rod -item.itemRodLongAbyssalAlloy.name=Long Abyssal Alloy Rod -item.itemRingAbyssalAlloy.name=Abyssal Alloy Ring -item.itemScrewAbyssalAlloy.name=Abyssal Alloy Screw -item.itemRotorAbyssalAlloy.name=Abyssal Alloy Rotor -item.itemGearAbyssalAlloy.name=Abyssal Alloy Gear -item.itemCellAbyssalAlloy.name=Abyssal Alloy Cell -tile.Block of Abyssal Alloy.name=Block of Abyssal Alloy -tile.Abyssal Alloy Frame Box.name=Abyssal Alloy Frame Box - - - - - - - - - - - - - - - - - - - -//Radioactive -item.dustTechnetium99M.name=Technetium 99M Dust -item.dustTechnetium99.name=Technetium 99 Dust -item.dustMolybdenum99.name=Molybdenum 99 Dust - -//Bags -item.item.MysticBag.name=Mystic Pouch -item.item.Eatotron9000.name=Eatotronic 9000 -item.item.ToolBox.name=Workers Toolbox - -//Cells -item.Bromine.name=Bromine Cell -item.Krypton.name=Krypton Cell -item.cryotheum.name=Cryotheum Cell -item.pyrotheum.name=Pyrotheum Cell -item.GeneticMutagen.name=Mutagen Cell - -//Ingots -item.itemHotIngotIncoloy020.name=Hot Incoloy-020 Ingot -item.itemHotIngotIncoloyDS.name=Hot Incoloy-DS Ingot -item.itemHotIngotTalonite.name=Hot Talonite Ingot -item.itemHotIngotHastelloyX.name=Hot Hastelloy-X Ingot -item.itemHotIngotHastelloyW.name=Hot Hastelloy-W Carbide Ingot - -//Railcraft Fix -item.railcraft.part.plate.lead.name=Lead Plate - -//Ions -item.particle.ion.Hydrogen.name=Hydrogen Ion -item.particle.ion.Helium.name=Helium Ion -item.particle.ion.Lithium.name=Lithium Ion -item.particle.ion.Beryllium.name=Beryllium Ion -item.particle.ion.Boron.name=Boron Ion -item.particle.ion.Carbon.name=Carbon Ion -item.particle.ion.Nitrogen.name=Nitrogen Ion -item.particle.ion.Oxygen.name=Oxygen Ion -item.particle.ion.Fluorine.name=Fluorine Ion -item.particle.ion.Neon.name=Neon Ion -item.particle.ion.Sodium.name=Sodium Ion -item.particle.ion.Magnesium.name=Magnesium Ion -item.particle.ion.Aluminum.name=Aluminum Ion -item.particle.ion.Silicon.name=Silicon Ion -item.particle.ion.Phosphorus.name=Phosphorus Ion -item.particle.ion.Sulfur.name=Sulfur Ion -item.particle.ion.Chlorine.name=Chlorine Ion -item.particle.ion.Argon.name=Argon Ion -item.particle.ion.Potassium.name=Potassium Ion -item.particle.ion.Calcium.name=Calcium Ion -item.particle.ion.Scandium.name=Scandium Ion -item.particle.ion.Titanium.name=Titanium Ion -item.particle.ion.Vanadium.name=Vanadium Ion -item.particle.ion.Chromium.name=Chromium Ion -item.particle.ion.Manganese.name=Manganese Ion -item.particle.ion.Iron.name=Iron Ion -item.particle.ion.Cobalt.name=Cobalt Ion -item.particle.ion.Nickel.name=Nickel Ion -item.particle.ion.Copper.name=Copper Ion -item.particle.ion.Zinc.name=Zinc Ion -item.particle.ion.Gallium.name=Gallium Ion -item.particle.ion.Germanium.name=Germanium Ion -item.particle.ion.Arsenic.name=Arsenic Ion -item.particle.ion.Selenium.name=Selenium Ion -item.particle.ion.Bromine.name=Bromine Ion -item.particle.ion.Krypton.name=Krypton Ion -item.particle.ion.Rubidium.name=Rubidium Ion -item.particle.ion.Strontium.name=Strontium Ion -item.particle.ion.Yttrium.name=Yttrium Ion -item.particle.ion.Zirconium.name=Zirconium Ion -item.particle.ion.Niobium.name=Niobium Ion -item.particle.ion.Molybdenum.name=Molybdenum Ion -item.particle.ion.Technetium.name=Technetium Ion -item.particle.ion.Ruthenium.name=Ruthenium Ion -item.particle.ion.Rhodium.name=Rhodium Ion -item.particle.ion.Palladium.name=Palladium Ion -item.particle.ion.Silver.name=Silver Ion -item.particle.ion.Cadmium.name=Cadmium Ion -item.particle.ion.Indium.name=Indium Ion -item.particle.ion.Tin.name=Tin Ion -item.particle.ion.Antimony.name=Antimony Ion -item.particle.ion.Tellurium.name=Tellurium Ion -item.particle.ion.Iodine.name=Iodine Ion -item.particle.ion.Xenon.name=Xenon Ion -item.particle.ion.Cesium.name=Caesium Ion -item.particle.ion.Barium.name=Barium Ion -item.particle.ion.Lanthanum.name=Lanthanum Ion -item.particle.ion.Cerium.name=Cerium Ion -item.particle.ion.Praseodymium.name=Praseodymium Ion -item.particle.ion.Neodymium.name=Neodymium Ion -item.particle.ion.Promethium.name=Promethium Ion -item.particle.ion.Samarium.name=Samarium Ion -item.particle.ion.Europium.name=Europium Ion -item.particle.ion.Gadolinium.name=Gadolinium Ion -item.particle.ion.Terbium.name=Terbium Ion -item.particle.ion.Dysprosium.name=Dysprosium Ion -item.particle.ion.Holmium.name=Holmium Ion -item.particle.ion.Erbium.name=Erbium Ion -item.particle.ion.Thulium.name=Thulium Ion -item.particle.ion.Ytterbium.name=Ytterbium Ion -item.particle.ion.Lutetium.name=Lutetium Ion -item.particle.ion.Hafnium.name=Hafnium Ion -item.particle.ion.Tantalum.name=Tantalum Ion -item.particle.ion.Tungsten.name=Tungsten Ion -item.particle.ion.Rhenium.name=Rhenium Ion -item.particle.ion.Osmium.name=Osmium Ion -item.particle.ion.Iridium.name=Iridium Ion -item.particle.ion.Platinum.name=Platinum Ion -item.particle.ion.Gold.name=Gold Ion -item.particle.ion.Mercury.name=Mercury Ion -item.particle.ion.Thallium.name=Thallium Ion -item.particle.ion.Lead.name=Lead Ion -item.particle.ion.Bismuth.name=Bismuth Ion -item.particle.ion.Polonium.name=Polonium Ion -item.particle.ion.Astatine.name=Astatine Ion -item.particle.ion.Radon.name=Radon Ion -item.particle.ion.Francium.name=Francium Ion -item.particle.ion.Radium.name=Radium Ion -item.particle.ion.Actinium.name=Actinium Ion -item.particle.ion.Thorium.name=Thorium Ion -item.particle.ion.Protactinium.name=Protactinium Ion -item.particle.ion.Uranium.name=Uranium Ion -item.particle.ion.Neptunium.name=Neptunium Ion -item.particle.ion.Plutonium.name=Plutonium Ion -item.particle.ion.Americium.name=Americium Ion -item.particle.ion.Curium.name=Curium Ion -item.particle.ion.Berkelium.name=Berkelium Ion -item.particle.ion.Californium.name=Californium Ion -item.particle.ion.Einsteinium.name=Einsteinium Ion -item.particle.ion.Fermium.name=Fermium Ion -item.particle.ion.Mendelevium.name=Mendelevium Ion -item.particle.ion.Nobelium.name=Nobelium Ion -item.particle.ion.Lawrencium.name=Lawrencium Ion -item.particle.ion.Rutherfordium.name=Rutherfordium Ion -item.particle.ion.Dubnium.name=Dubnium Ion -item.particle.ion.Seaborgium.name=Seaborgium Ion -item.particle.ion.Bohrium.name=Bohrium Ion -item.particle.ion.Hassium.name=Hassium Ion -item.particle.ion.Meitnerium.name=Meitnerium Ion -item.particle.ion.Darmstadtium.name=Darmstadtium Ion -item.particle.ion.Roentgenium.name=Roentgenium Ion -item.particle.ion.Copernicium.name=Copernicium Ion -item.particle.ion.Nihonium.name=Nihonium Ion -item.particle.ion.Flerovium.name=Flerovium Ion -item.particle.ion.Moscovium.name=Moscovium Ion -item.particle.ion.Livermorium.name=Livermorium Ion -item.particle.ion.Tennessine.name=Tennessine Ion -item.particle.ion.Oganesson.name=Oganesson Ion - - -item.particle.base.Graviton.name=Graviton -item.particle.base.Up.name=Up Quark -item.particle.base.Down.name=Down Quark -item.particle.base.Charm.name=Charm Quark -item.particle.base.Strange.name=Strange Quark -item.particle.base.Top.name=Top Quark -item.particle.base.Bottom.name=Bottom Quark -item.particle.base.Electron.name=Electron -item.particle.base.Electron Neutrino.name=Electron Neutrino -item.particle.base.Muon.name=Muon -item.particle.base.Muon Neutrino.name=Muon Neutrino -item.particle.base.Tau.name=Tau -item.particle.base.Tau Neutrino.name=Tau Neutrino -item.particle.base.Gluon.name=Gluon -item.particle.base.Photon.name=Photon -item.particle.base.Z Boson.name=Z Boson -item.particle.base.W Boson.name=W Boson -item.particle.base.Higgs Boson.name=Higgs Boson -item.particle.base.Proton.name=Proton -item.particle.base.Neutron.name=Neutron -item.particle.base.Lambda.name=Lambda -item.particle.base.Omega.name=Omega -item.particle.base.Pion.name=Pion -item.particle.base.ETA Meson.name=ETA Meson -item.particle.base.Unknown.name=Unknown Particle - -//Added 12/1/19 - -tile.playerDoorGlass.name=Glass Auto-Door -tile.playerDoorCactus.name=Cactus Auto-Door -tile.playerDoorIce.name=Ice Auto-Door -tile.playerDoorIron.name=Iron Auto-Door -tile.playerDoorWood.name=Wooden Auto-Door - -//Added 4/2/19 - -item.GTPP.BattPack.06.name=Charge Pack [LuV] -item.GTPP.BattPack.07.name=Charge Pack [ZPM] -item.GTPP.BattPack.08.name=Charge Pack [UV] -item.GTPP.BattPack.09.name=Charge Pack [MAX] - - -//Added 13/3/19 -item.gtpp.debug.scanner.name=GT++ Debug Scanner -item.RawWaste.name=Cell of Animal Waste -item.ManureSlurry.name=Cell of Manure Slurry -item.FertileManureSlurry.name=Cell of Fertile Slurry -item.itemDustTinyDemicheleiteBr.name=Tiny Pile of Demicheleite (Br) -item.itemDustSmallDemicheleiteBr.name=Small Pile of Demicheleite (Br) -tile.blockPooCollector.name=Agricultural Sewer -tile.Block of Lithium 7.name=Block of Lithium 7 - -//Added 14/3/19 -item.blood.name=Cell of Blood -item.aniline.name=Aniline Cell -item.cadaverine.name=Cadaverine Cell -item.polyurethane.name=Polyurethane Cell -item.putrescine.name=Putrescine Cell -item.cyclohexane.name=Cyclohexane Cell -item.cyclohexanone.name=Cyclohexanone Cell -item.nitrobenzene.name=Nitrobenzene Cell -item.ender.name=Cell of Liquid Ender -item.xpjuice.name=Cell of Liquid Xp -item.itemBombUnf.name=Throwable Bomb (unf) -item.itemBombCasing.name=Bomb Casing -item.gtpp.throwable.bomb.name=Throwable Bomb -item.itemDetCable.name=Bomb Fuse -tile.blockPooCollector.0.name=Agricultural Sewer -tile.blockPooCollector.8.name=Biocomposite Collector -item.itemIngotBakelite.name=Bakelite Ingot -item.itemDustBakelite.name=Bakelite Dust -item.itemDustTinyBakelite.name=Tiny Pile of Bakelite Dust -item.itemDustSmallBakelite.name=Small Pile of Bakelite Dust -item.itemNuggetBakelite.name=Bakelite Nugget -item.itemPlateBakelite.name=Bakelite Plate -item.itemPlateDoubleBakelite.name=Double Bakelite Plate -item.itemCellBakelite.name=Bakelite Cell -tile.Block of Bakelite.name=Block of Bakelite -item.itemIngotNylon.name=Nylon Ingot -item.itemDustNylon.name=Nylon Dust -item.itemDustTinyNylon.name=Tiny Pile of Nylon Dust -item.itemDustSmallNylon.name=Small Pile of Nylon Dust -item.itemNuggetNylon.name=Nylon Nugget -item.itemPlateNylon.name=Nylon Plate -item.itemPlateDoubleNylon.name=Double Nylon Plate -item.itemCellNylon.name=Nylon Cell -tile.Block of Nylon.name=Block of Nylon -item.itemIngotTeflon.name=Teflon Ingot -item.itemDustTeflon.name=Teflon Dust -item.itemDustTinyTeflon.name=Tiny Pile of Teflon Dust -item.itemDustSmallTeflon.name=Small Pile of Teflon Dust -item.itemNuggetTeflon.name=Teflon Nugget -item.itemPlateTeflon.name=Teflon Plate -item.itemPlateDoubleTeflon.name=Double Teflon Plate -item.itemCellTeflon.name=Teflon Cell -tile.Block of Teflon.name=Block of Teflon - -//Added 17/4/19 -//Spelling Corrections -item.particle.ion.Aluminium.name=Aluminium Ion -item.particle.ion.Caesium.name=Caesium Ion - -item.GTPP.MonsterKiller.Enderman.name=Enderman Killer -item.GTPP.MonsterKiller.Spider.name=Spider Killer -item.GTPP.MonsterKiller.Skeleton.name=Skeleton Killer -item.GTPP.MonsterKiller.Creeper.name=Creeper Killer -item.GTPP.MonsterKiller.Zombie.name=Zombie Killer -item.GTPP.MonsterKiller.Hellish.name=Nether Mob Killer - -item.itemIngotRunite.name=Runite Ingot -item.itemDustRunite.name=Runite Dust -item.itemDustTinyRunite.name=Tiny Pile of Runite Dust -item.itemDustSmallRunite.name=Small Pile of Runite Dust -item.itemNuggetRunite.name=Runite Nugget -item.itemPlateRunite.name=Runite Plate -item.itemPlateDoubleRunite.name=Double Runite Plate -item.itemCellRunite.name=Runite Cell -tile.Block of Runite.name=Block of Runite - -item.itemIngotDragonblood.name=Dragon Metal Ingot -item.itemDustDragonblood.name=Dragon Metal Dust -item.itemDustTinyDragonblood.name=Tiny Pile of Dragon Metal Dust -item.itemDustSmallDragonblood.name=Small Pile of Dragon Metal Dust -item.itemNuggetDragonblood.name=Shard of Dragonblood -item.itemPlateDragonblood.name=Dragon Metal Plate -item.itemPlateDoubleDragonblood.name=Double Dragon Metal Plate -item.itemCellDragonblood.name=Dragonblood Cell -tile.Block of Dragonblood.name=Block of Dragon Metal - -item.itemIngotBlackTitanium.name=Black Titanium Ingot -item.itemDustBlackTitanium.name=Black Titanium Dust -item.itemDustTinyBlackTitanium.name=Tiny Pile of Black Titanium Dust -item.itemDustSmallBlackTitanium.name=Small Pile of Black Titanium Dust -item.itemNuggetBlackTitanium.name=Black Titanium Nugget -item.itemPlateBlackTitanium.name=Black Titanium Plate -item.itemPlateDoubleBlackTitanium.name=Double Black Titanium Plate -item.itemCellBlackTitanium.name=Black Titanium Cell -tile.Block of Black Titanium.name=Block of Black Titanium - -item.itemIngotAncientGranite.name=Ancient Granite Ingot -item.itemHotIngotAncientGranite.name=Hot Ancient Granite Ingot -item.itemDustAncientGranite.name=Ancient Granite Dust -item.itemDustTinyAncientGranite.name=Tiny Pile of Ancient Granite Dust -item.itemDustSmallAncientGranite.name=Small Pile of Ancient Granite Dust -item.itemNuggetAncientGranite.name=Ancient Granite Nugget -item.itemPlateAncientGranite.name=Ancient Granite Plate -item.itemPlateDoubleAncientGranite.name=Double Ancient Granite Plate -tile.Block of Ancient Granite.name=Block of Ancient Granite - -item.itemIngotBabbitAlloy.name=Babbit Alloy Ingot -item.itemHotIngotBabbitAlloy.name=Hot Babbit Alloy Ingot -item.itemDustBabbitAlloy.name=Babbit Alloy Dust -item.itemDustTinyBabbitAlloy.name=Tiny Pile of Babbit Alloy Dust -item.itemDustSmallBabbitAlloy.name=Small Pile of Babbit Alloy Dust -item.itemNuggetBabbitAlloy.name=Babbit Alloy Nugget -item.itemPlateBabbitAlloy.name=Babbit Alloy Plate -item.itemPlateDoubleBabbitAlloy.name=Double Babbit Alloy Plate -item.itemCellBabbitAlloy.name=Babbit Alloy Cell -tile.Block of Babbit Alloy.name=Block of Babbit Alloy - -item.itemIngotBlackMetal.name=Black Metal Ingot -item.itemHotIngotBlackMetal.name=Hot Black Metal Ingot -item.itemDustBlackMetal.name=Black Metal Dust -item.itemDustTinyBlackMetal.name=Tiny Pile of Black Metal Dust -item.itemDustSmallBlackMetal.name=Small Pile of Black Metal Dust -item.itemNuggetBlackMetal.name=Black Metal Nugget -item.itemPlateBlackMetal.name=Black Metal Plate -item.itemPlateDoubleBlackMetal.name=Double Black Metal Plate -item.itemBoltBlackMetal.name=Black Metal Bolt -item.itemRodBlackMetal.name=Black Metal Rod -item.itemRodLongBlackMetal.name=Long Black Metal Rod -item.itemRingBlackMetal.name=Black Metal Ring -item.itemScrewBlackMetal.name=Black Metal Screw -item.itemRotorBlackMetal.name=Black Metal Rotor -item.itemGearBlackMetal.name=Black Metal Gear -item.itemCellBlackMetal.name=Black Metal Cell -tile.Block of Black Metal.name=Block of Black Metal -tile.Black Metal Frame Box.name=Black Metal Frame Box - -item.itemIngotWhiteMetal.name=White Metal Ingot -item.itemHotIngotWhiteMetal.name=Hot White Metal Ingot -item.itemDustWhiteMetal.name=White Metal Dust -item.itemDustTinyWhiteMetal.name=Tiny Pile of White Metal Dust -item.itemDustSmallWhiteMetal.name=Small Pile of White Metal Dust -item.itemNuggetWhiteMetal.name=White Metal Nugget -item.itemPlateWhiteMetal.name=White Metal Plate -item.itemPlateDoubleWhiteMetal.name=Double White Metal Plate -item.itemBoltWhiteMetal.name=White Metal Bolt -item.itemRodWhiteMetal.name=White Metal Rod -item.itemRodLongWhiteMetal.name=Long White Metal Rod -item.itemRingWhiteMetal.name=White Metal Ring -item.itemScrewWhiteMetal.name=White Metal Screw -item.itemRotorWhiteMetal.name=White Metal Rotor -item.itemGearWhiteMetal.name=White Metal Gear -item.itemCellWhiteMetal.name=White Metal Cell -tile.Block of White Metal.name=Block of White Metal -tile.White Metal Frame Box.name=White Metal Frame Box - -//Added 29/04/2019 -tile.OreRunite.name=Runite Ore -item.crushedRunite.name=Crushed Runite Ore -item.oreRawRunite.name=Raw Runite Ore -item.crushedCentrifugedRunite.name=Centrifuged Crushed Runite Ore -item.crushedPurifiedRunite.name=Purified Crushed Runite Ore -item.dustImpureRunite.name=Impure Runite Dust -item.dustPureRunite.name=Purified Runite Dust - -tile.OreAncientGranite.name=Ancient Granite Ore -item.crushedAncientGranite.name=Crushed Ancient Granite Ore -item.oreRawAncientGranite.name=Raw Ancient Granite Ore -item.crushedCentrifugedAncientGranite.name=Centrifuged Crushed Ancient Granite Ore -item.crushedPurifiedAncientGranite.name=Purified Crushed Ancient Granite Ore -item.dustImpureAncientGranite.name=Impure Ancient Granite Dust -item.dustPureAncientGranite.name=Purified Ancient Granite Dust - -item.itemIngotRhugnor.name=Rhugnor Ingot -item.itemDustRhugnor.name=Rhugnor Dust -item.itemDustTinyRhugnor.name=Tiny Pile of Rhugnor Dust -item.itemDustSmallRhugnor.name=Small Pile of Rhugnor Dust -item.itemNuggetRhugnor.name=Rhugnor Nugget -item.itemPlateRhugnor.name=Rhugnor Plate -item.itemPlateDoubleRhugnor.name=Double Rhugnor Plate -item.itemCellRhugnor.name=Rhugnor Cell -tile.Block of Rhugnor.name=Block of Rhugnor - - - - -//Added 13/5/19 - -item.GTPP.BattPack.01.name=Charge Pack [LV] -item.GTPP.BattPack.02.name=Charge Pack [MV] -item.GTPP.BattPack.03.name=Charge Pack [HV] -item.GTPP.BattPack.04.name=Charge Pack [EV] -item.GTPP.BattPack.05.name=Charge Pack [IV] -item.IndustrialDiamondExquisite.name=Exquisite Industrial Diamond - -item.itemSpringCelestialTungsten.name=Celestial Tungsten Spring -item.itemSpringWhiteMetal.name=White Metal Spring -item.itemSpringNitinol60.name=Nitinol 60 Spring -item.itemSpringWatertightSteel.name=Watertight Steel Spring -item.itemSpringEglinSteel.name=Eglin Steel Spring - -item.itemSmallSpringMaragingSteel250.name=Small Maraging Steel 250 Spring -item.itemSmallSpringNichrome.name=Small Nichrome Spring -item.itemSmallSpringStaballoy.name=Small Staballoy Spring -item.itemSmallSpringBlackSteel.name=Small Black Steel Spring -item.itemSmallSpringBlackTitanium.name=Small Black Titanium Spring - -item.itemFineWireWhiteMetal.name=Fine White Metal Wire -item.itemFineWirePalladium.name=Fine Palladium Wire -item.itemFineWireZirconium.name=Fine Zirconium Wire -item.itemFineWireGrisium.name=Fine Grisium Wire -item.itemFineWireBabbitAlloy.name=Fine Babbit Alloy Wire -item.itemFineWireKoboldite.name=Fine Koboldite Wire -item.itemFineWireHG1223.name=Fine HG-1223 Wire -item.itemFineWireQuantum.name=Fine Quantum Wire - -item.itemHeavyPlatePotin.name=Heavy Potin Plate -item.itemHeavyPlateWatertightSteel.name=Heavy Watertight Steel Plate -item.itemHeavyPlateBronze.name=Heavy Bronze Plate -item.itemHeavyPlateOsmiridium.name=Heavy Osmiridium Plate -item.itemHeavyPlateQuantum.name=Heavy Quantum Plate -item.itemHeavyPlateBlackSteel.name=Heavy Black Steel Plate -item.itemHeavyPlateStainlessSteel.name=Heavy Stainless Steel Plate -item.itemHeavyPlateEglinSteel.name=Heavy Eglin Steel Plate -item.itemHeavyPlateMaragingSteel300.name=Heavy Maraging Steel 300 Plate -item.itemHeavyPlateTalonite.name=Heavy Talonite Plate -item.itemHeavyPlateHypogen.name=Heavy Hypogen Plate -item.itemHeavyPlateRhugnor.name=Heavy Rhugnor Plate -item.itemHeavyPlateAdvancedNitinol.name=Heavy Advanced Nitinol Plate -item.itemHeavyPlateAstralTitanium.name=Heavy Astral Titanium Plate -item.itemHeavyPlateCelestialTungsten.name=Heavy Celestial Tungsten Plate -item.itemHeavyPlateWhiteMetal.name=Heavy White Metal Plate -item.itemHeavyPlateBlackMetal.name=Heavy Black Metal Plate -item.itemHeavyPlateAncientGranite.name=Heavy Ancient Granite Plate - -item.GTPP.bauble.fireprotection.0.name=Supreme Pizza Gloves - - -//Added 16/5/19 -item.itemCellSeleniumDioxide.name=Selenium Dioxide Cell -item.itemCellSeleniousAcid.name=Selenious Acid Cell - -//Added 25/7/19 -container.pestkiller=Pest Killer - -//Added 15/8/19 -gtpp.nei.decayables=Decayables Chest -entity.batKing.name=Bat King -item.itemCellCarbyne.name=Carbyne Cell -item.itemCellHydrogenCyanide.name=Cell of Hydrogen Cyanide -item.itemCactusCharcoal.name=Cactus Charcoal -item.itemCactusCoke.name=Cactus Coke -item.itemSugarCharcoal.name=Sugar Charcoal -item.itemSugarCoke.name=Sugar Coke -item.LiquidHydrogen.name=Liquid Hydrogen Cell [LOH] - - - -//Added 24/8/19 -//Debug Labels -tile.blockDoorAlloy.name=Reinforced Door -tile.blockInhibitorObelisk.name=Inhibitor Obelisk -tile.Battlesign.name=Battlesign -tile.blockMagicBox.name=Magic Box -tile.blockManaPod.name=Mana Pod Stem -tile.buildToolBlock.name=Tool Block -tile.blockRedPlasma.name=Red Plasma Block -tile.pipeBlock.name=Pipe -item.null.name=Null Item report it on github - - -//Added 24/8/19 -tile.OreGreenockite.name=Greenockite Ore -item.crushedGreenockite.name=Crushed Greenockite Ore -item.oreRawGreenockite.name=Raw Greenockite Ore -item.crushedCentrifugedGreenockite.name=Centrifuged Crushed Greenockite Ore -item.crushedPurifiedGreenockite.name=Purified Crushed Greenockite Ore -item.dustImpureGreenockite.name=Impure Greenockite Dust -item.dustPureGreenockite.name=Purified Greenockite Dust -item.itemDustGreenockite.name=Greenockite Dust -item.itemDustTinyGreenockite.name=Tiny Pile of Greenockite Dust -item.itemDustSmallGreenockite.name=Small Pile of Greenockite Dust - -tile.OreRareEarthI.name=Rare Earth (I) Ore -item.crushedRareEarthI.name=Crushed Rare Earth (I) Ore -item.oreRawRareEarthI.name=Raw Rare Earth (I) Ore -item.crushedCentrifugedRareEarthI.name=Centrifuged Crushed Rare Earth (I) Ore -item.crushedPurifiedRareEarthI.name=Purified Crushed Rare Earth (I) Ore -item.dustImpureRareEarthI.name=Impure Rare Earth (I) Dust -item.dustPureRareEarthI.name=Purified Rare Earth (I) Dust -item.itemDustRareEarthI.name=Rare Earth (I) Dust -item.itemDustTinyRareEarthI.name=Tiny Pile of Rare Earth (I) Dust -item.itemDustSmallRareEarthI.name=Small Pile of Rare Earth (I) Dust - -tile.OreRareEarthII.name=Rare Earth (II) Ore -item.crushedRareEarthII.name=Crushed Rare Earth (II) Ore -item.oreRawRareEarthII.name=Raw Rare Earth (II) Ore -item.crushedCentrifugedRareEarthII.name=Centrifuged Crushed Rare Earth (II) Ore -item.crushedPurifiedRareEarthII.name=Purified Crushed Rare Earth (II) Ore -item.dustImpureRareEarthII.name=Impure Rare Earth (II) Dust -item.dustPureRareEarthII.name=Purified Rare Earth (II) Dust -item.itemDustRareEarthII.name=Rare Earth (II) Dust -item.itemDustTinyRareEarthII.name=Tiny Pile of Rare Earth (II) Dust -item.itemDustSmallRareEarthII.name=Small Pile of Rare Earth (II) Dust - -tile.OreRareEarthIII.name=Rare Earth (III) Ore -item.crushedRareEarthIII.name=Crushed Rare Earth (III) Ore -item.oreRawRareEarthIII.name=Raw Rare Earth (III) Ore -item.crushedCentrifugedRareEarthIII.name=Centrifuged Crushed Rare Earth (III) Ore -item.crushedPurifiedRareEarthIII.name=Purified Crushed Rare Earth (III) Ore -item.dustImpureRareEarthIII.name=Impure Rare Earth (III) Dust -item.dustPureRareEarthIII.name=Purified Rare Earth (III) Dust -item.itemDustRareEarthIII.name=Rare Earth (III) Dust -item.itemDustTinyRareEarthIII.name=Tiny Pile of Rare Earth (III) Dust -item.itemDustSmallRareEarthIII.name=Small Pile of Rare Earth (III) Dust - -//Added 16/10/19 -item.BioRecipeSelector.name=Programmed Bio Circuit -item.FermentationBase.name=Cell of Fermentation Base -item.ureamix.name=Cell of Urea Mix -item.liquidresin.name=Cell of Liquid Resin -item.propionicacid.name=Propionic Acid Cell -item.aceticacid.name=Acetic Acid Cell -item.BasicAgrichemItem.0.name=Algae Biomass -item.BasicAgrichemItem.1.name=Green Algae Biomass -item.BasicAgrichemItem.2.name=Brown Algae Biomass -item.BasicAgrichemItem.3.name=Golden-Brown Algae Biomass -item.BasicAgrichemItem.4.name=Red Algae Biomass -item.BasicAgrichemItem.5.name=Cellulose Fiber -item.BasicAgrichemItem.6.name=Golden-Brown Cellulose Fiber -item.BasicAgrichemItem.7.name=Red Cellulose Fiber -item.BasicAgrichemItem.8.name=Compost -item.BasicAgrichemItem.9.name=Wood Pellet -item.BasicAgrichemItem.10.name=Wood Brick -item.BasicAgrichemItem.11.name=Cellulose Pulp -item.BasicAgrichemItem.12.name=Raw Bio Resin -item.BasicAgrichemItem.13.name=Catalyst Carrier -item.BasicAgrichemItem.14.name=Green Metal Catalyst -item.BasicAgrichemItem.15.name=Alginic Acid -item.BasicAgrichemItem.16.name=Alumina -item.BasicAgrichemItem.17.name=Aluminium Pellet -item.BasicAgrichemItem.18.name=Sodium Aluminate -item.BasicAgrichemItem.19.name=Sodium Hydroxide -item.BasicAgrichemItem.20.name=Sodium Carbonate -item.BasicAgrichemItem.21.name=Lithium Chloride - -//Added 24/10/19 -item.butanol.name=Butanol Cell - -//Try Fix IC2 Garbage vv -fluidHotWater=Heated Water -fluidHotWater.name=Heated Water -//Try Fix IC2 Garbage ^^ - - -//Added 11/12/19 -item.itemHotIngotTitanium.name=Hot Titanium Ingot -item.OilHeavy.name=Heavy Oil Cell -item.UnsymmetricalDimethylhydrazine.name=Unsymmetrical Dimethylhydrazine Cell -item.benzene.name=Benzene Cell -item.Benzene.name=Benzene Cell -item.phenol.name=Phenol Cell -item.CarbonDioxide.name=Carbon Dioxide Cell -item.itemCellCarbonDioxide.name=Carbon Dioxide Cell -item.CarbonMonoxide.name=Carbon Monoxide Cell -item.itemCellCarbonMonoxide.name=Carbon Monoxide Cell -item.acetone.name=Acetone Cell -item.saltwater.name=Salt Water Cell -item.BasicAgrichemItem.22.name=Mold (Pellet) -item.BasicAgrichemItem.23.name=Clean Aluminium Mix - -//Added 12/12/19 - -item.BasicGenericChemItem.0.name=Red Metal Catalyst -item.BasicGenericChemItem.1.name=Yellow Metal Catalyst -item.BasicGenericChemItem.2.name=Blue Metal Catalyst -item.BasicGenericChemItem.3.name=Orange Metal Catalyst -item.BasicGenericChemItem.4.name=Purple Metal Catalyst -item.BasicGenericChemItem.5.name=Brown Metal Catalyst -item.MudRedSlurry.name=Cell of Red Mud Slurry -item.liquid_toluene.name=Toluene Cell - -//Added 17/01/20 -item.BasicGenericChemItem.6.name=Pink Metal Catalyst - -//Added 23/03/20 -item.BasicMetaFood.0.name=Raw Human Meat -item.BasicMetaFood.1.name=Cooked Human Meat -item.BasicMetaFood.2.name=Raw Horse Meat -item.BasicMetaFood.3.name=Cooked Horse Meat -item.BasicMetaFood.4.name=Raw Wolf Meat -item.BasicMetaFood.5.name=Cooked Wolf Meat -item.BasicMetaFood.6.name=Raw Ocelot Meat -item.BasicMetaFood.7.name=Cooked Ocelot Meat -item.BasicMetaFood.8.name=Blaze Flesh - -item.itemCellNaquadahFuel.name=Naquadah Fuel Cell -item.itemCellEnrichedNaquadahFuel.name=Enriched Naquadah Fuel Cell -item.itemCellNaquadriaFuel.name=Naquadria Fuel Cell -item.boricacid.name=Boric Acid Cell -item.hydrochloricacid.name=Hydrochloric Acid Cell - -item.BasicAlgaeItem.name=Breedable Algae -item.BasicAlgaeItem.0.name=Breedable Algae -item.BasicAlgaeItem.1.name=Breedable Algae -item.BasicAlgaeItem.2.name=Breedable Algae -item.BasicAlgaeItem.3.name=Breedable Algae -item.BasicAlgaeItem.4.name=Breedable Algae -item.BasicAlgaeItem.5.name=Breedable Algae -item.BasicAlgaeItem.6.name=Breedable Algae - -//Added 30/03/20 -item.milledChalcopyrite.name=Milled Chalcopyrite -item.milledSphalerite.name=Milled Sphalerite -item.milledNickel.name=Milled Nickel -item.milledPlatinum.name=Milled Platinum -item.milledPentlandite.name=Milled Pentlandite -item.FrothZincflotation.name=Sphalerite Flotation Froth Cell -item.FrothCopperflotation.name=Chalcopyrite Flotation Froth Cell -item.FrothNickelflotation.name=Nickel Flotation Froth Cell -item.FrothPlatinumflotation.name=Platinum Flotation Froth Cell -item.FrothPentlanditeflotation.name=Pentlandite Flotation Froth Cell -item.BasicGenericChemItem.7.name=Alumina Milling Ball -item.BasicGenericChemItem.8.name=Soapstone Milling Ball - -//Added 31/03/20 -item.BasicGenericChemItem.9.name=Sodium Ethoxide Dust -item.BasicGenericChemItem.10.name=Sodium Ethyl Xanthate Dust -item.BasicGenericChemItem.11.name=Potassium Ethyl Xanthate Dust -item.BasicGenericChemItem.12.name=Potassium Hydroxide Dust -item.CarbonDisulfide.name=Carbon Disulfide Cell -item.HydrogenSulfide.name=Hydrogen Sulfide Cell -item.BasicAgrichemItem.24.name=Pinecone -item.BasicAgrichemItem.25.name=Crushed Pine Materials -item.pineoil.name=Pine Oil Cell - -//Added 11/4/20 -item.milledRedstone.name=Milled Redstone -item.milledSpessartine.name=Milled Spessartine -item.milledGrossular.name=Milled Grossular -item.milledAlmandine.name=Milled Almandine -item.milledPyrope.name=Milled Pyrope -item.FrothRedstoneflotation.name=Redstone Flotation Froth Cell -item.FrothSpessartineflotation.name=Spessartine Flotation Froth Cell -item.FrothGrossularflotation.name=Grossular Flotation Froth Cell -item.FrothAlmandineflotation.name=Almandine Flotation Froth Cell -item.FrothPyropeflotation.name=Pyrope Flotation Froth Cell - -//Added 13/04/20 -item.T3RecipeSelector.name=Programmed Breakthrough Circuit - -//Added 03/05/20 -entity.miscutils.batKing.name=Spectral Bat -entity.miscutils.bigChickenFriendly.name=Giant Chicken -entity.miscutils.AusDingo.name=Dingo -entity.miscutils.AusBoar.name=Wild Boar -entity.miscutils.AusSpider.name=Forest Spider -entity.miscutils.AusOctopus.name=Octopus -container.EggBox=Egg Hatching Box - -//Added 24/05/20 -container.VolumetricFlaskSetter=Volumetric Flask Configurator - -//Added 26/05/20 -item.itemIngotLaurenium.name=Laurenium Ingot -item.itemHotIngotLaurenium.name=Hot Laurenium Ingot -item.itemDustLaurenium.name=Laurenium Dust -item.itemDustTinyLaurenium.name=Tiny Pile of Laurenium Dust -item.itemDustSmallLaurenium.name=Small Pile of Laurenium Dust -item.itemNuggetLaurenium.name=Laurenium Nugget -item.itemPlateLaurenium.name=Laurenium Plate -item.itemPlateDoubleLaurenium.name=Double Laurenium Plate -item.itemBoltLaurenium.name=Laurenium Bolt -item.itemRodLaurenium.name=Laurenium Rod -item.itemRodLongLaurenium.name=Long Laurenium Rod -item.itemRingLaurenium.name=Laurenium Ring -item.itemScrewLaurenium.name=Laurenium Screw -item.itemRotorLaurenium.name=Laurenium Rotor -item.itemGearLaurenium.name=Laurenium Gear -item.itemCellLaurenium.name=Laurenium Cell -tile.Block of Laurenium.name=Block of Laurenium -tile.Laurenium Frame Box.name=Laurenium Frame Box -item.itemIngotBotmium.name=Botmium Ingot -item.itemHotIngotBotmium.name=Hot Botmium Ingot -item.itemDustBotmium.name=Botmium Dust -item.itemDustTinyBotmium.name=Tiny Pile of Botmium Dust -item.itemDustSmallBotmium.name=Small Pile of Botmium Dust -item.itemNuggetBotmium.name=Botmium Nugget -item.itemPlateBotmium.name=Botmium Plate -item.itemPlateDoubleBotmium.name=Double Botmium Plate -item.itemBoltBotmium.name=Botmium Bolt -item.itemRodBotmium.name=Botmium Rod -item.itemRodLongBotmium.name=Long Botmium Rod -item.itemRingBotmium.name=Botmium Ring -item.itemScrewBotmium.name=Botmium Screw -item.itemRotorBotmium.name=Botmium Rotor -item.itemGearBotmium.name=Botmium Gear -item.itemCellBotmium.name=Botmium Cell -tile.Block of Botmium.name=Block of Botmium -tile.Botmium Frame Box.name=Botmium Frame Box - -//Added 29/05/20 -item.itemBasicTurbine.name=Basic Turbine -item.itemBasicTurbine_0.name=Basic Iron Turbine -item.itemBasicTurbine_1.name=Basic Bronze Turbine -item.itemBasicTurbine_2.name=Basic Steel Turbine - -interaction.voidexcess.enabled=Void Excess Enabled -interaction.voidexcess.disabled=Void Excess Disabled - -interaction.separateBusses.enabled=Input busses are separated -interaction.separateBusses.disabled=Input busses are not separated - -//Added 29/11/21 - -item.BasicNuclearChemItem.0.name=Uranium Residue Mix -item.BasicNuclearChemItem.1.name=Plutonium Residue Mix -item.BasicNuclearChemItem.2.name=Fluoride Residue Mix -item.BasicNuclearChemItem.3.name=Noble Residue Mix -item.BasicNuclearChemItem.4.name=Red Algae Biomass -item.BasicNuclearChemItem.5.name=Cellulose Fiber -item.BasicNuclearChemItem.6.name=Golden-Brown Cellulose Fiber -item.BasicNuclearChemItem.7.name=Red Cellulose Fiber - -item.itemCellLiFBeF2ZrF4U235.name=LFTR Fuel I Cell -item.itemCellLiFBeF2ZrF4UF4.name=LFTR Fuel II Cell -item.itemCellLiFBeF2ThF4UF4.name=LFTR Fuel III Cell -item.Li2BeF2UF4.name=Burnt Li2BeF2UF4 Cell - -//Added 6/12/21 -item.itemCellLiFBeF2UF4FP.name=LiFBeF2UF4FP Cell -item.itemCellUF6F2.name=UF6F2 Cell -item.itemCellLiFBeF2ThF4.name=LiFBeF2ThF4 Cell -item.itemCellUF6F2FP.name=UF6F2FP Cell -item.dustProtactinium233.name=Protactinium-233 Dust -item.itemCellLiFThF4.name=LiFThF4 Cell -item.NuclearWaste.name=Nuclear Waste Cell -item.itemCellLiFBeF2UF4.name=LiFBeF2UF4 Cell -item.itemCellSodiumFluoride.name=Sodium Fluoride Cell -item.itemCellLiFBeF2.name=LiFBeF2 Cell - -//Added 7/12/21 -item.itemCellDysprosium.name=Dysprosium Cell -item.itemCellThorium.name=Thorium Cell -item.itemCellTellurium.name=Tellurium Cell -item.itemCellThorium232.name=Thorium-232 Cell -item.itemCellLithiumTetrafluoroberyllate.name=Lithium Tetrafluoroberyllate Cell -item.itemCellBurntReactorFuelI.name=Spent LFTR Fuel I Cell -item.itemCellBurntReactorFuelII.name=Spent LFTR Fuel II Cell -item.itemDustTinyIndium.name=Tiny Indium Dust -item.itemDustSmallIndium.name=Small Indium Dust -item.itemDustIndium.name=Indium Dust -item.itemDustTinyBerylliumHydroxide.name=Tiny Beryllium Hydroxide Dust -item.itemDustSmallBerylliumHydroxide.name=Small Beryllium Hydroxide Dust -item.itemDustBerylliumHydroxide.name=Beryllium Hydroxide Dust -item.itemDustTinyAmmoniumBifluoride.name=Tiny Ammonium Bifluoride Dust -item.itemDustSmallAmmoniumBifluoride.name=Small Ammonium Bifluoride Dust -item.itemDustAmmoniumBifluoride.name=Ammonium Bifluoride Dust -item.itemDustTinyAmmoniumTetrafluoroberyllate.name=Tiny Ammonium Tetrafluoroberyllate Dust -item.itemDustSmallAmmoniumTetrafluoroberyllate.name=Small Ammonium Tetrafluoroberyllate Dust -item.itemDustAmmoniumTetrafluoroberyllate.name=Ammonium Tetrafluoroberyllate Dust - -//Added 10/12/21 -item.ImpureLiFBeF2.name=Impure LiFBeF2 Cell -item.itemCellHeliumSpargedLiFBeF2UF4FP.name=Helium Sparged LiFBeF2UF4FP Cell -item.itemCellFluorineSpargedLiFThF4.name=Fluorine Sparged LiFThF4 Cell -item.itemCellFluorineSpargedLiFBeF2ThF4.name=Fluorine Sparged LiFBeF2ThF4 Cell -item.itemIngotHS188A.name=HS-188A Ingot -item.itemHotIngotHS188A.name=Hot HS-188A Ingot -item.itemDustHS188A.name=HS-188A Dust -item.itemDustTinyHS188A.name=Tiny Pile of HS-188A Dust -item.itemDustSmallHS188A.name=Small Pile of HS-188A Dust -item.itemNuggetHS188A.name=HS-188A Nugget -item.itemPlateHS188A.name=HS-188A Plate -item.itemPlateDoubleHS188A.name=Double HS-188A Plate -item.itemBoltHS188A.name=HS-188A Bolt -item.itemRodHS188A.name=HS-188A Rod -item.itemRodLongHS188A.name=Long HS-188A Rod -item.itemRingHS188A.name=HS-188A Ring -item.itemScrewHS188A.name=HS-188A Screw -item.itemRotorHS188A.name=HS-188A Rotor -item.itemGearHS188A.name=HS-188A Gear -item.itemCellHS188A.name=HS-188A Cell - -//Added 12/12/21 -item.itemIngotErbium.name=Erbium Ingot -item.itemHotIngotErbium.name=Hot Erbium Ingot -item.itemDustErbium.name=Erbium Dust -item.itemDustTinyErbium.name=Tiny Pile of Erbium Dust -item.itemDustSmallErbium.name=Small Pile of Erbium Dust -item.itemNuggetErbium.name=Erbium Nugget -item.itemPlateErbium.name=Erbium Plate -item.itemPlateDoubleErbium.name=Double Erbium Plate -item.itemBoltErbium.name=Erbium Bolt -item.itemRodErbium.name=Erbium Rod -item.itemRodLongErbium.name=Long Erbium Rod -item.itemRingErbium.name=Erbium Ring -item.itemScrewErbium.name=Erbium Screw -item.itemRotorErbium.name=Erbium Rotor -item.itemGearErbium.name=Erbium Gear -item.itemCellErbium.name=Erbium Cell -item.itemIngotHeLiCoPtEr.name=HeLiCoPtEr Ingot -item.itemHotIngotHeLiCoPtEr.name=Hot HeLiCoPtEr Ingot -item.itemDustHeLiCoPtEr.name=HeLiCoPtEr Dust -item.itemDustTinyHeLiCoPtEr.name=Tiny Pile of HeLiCoPtEr Dust -item.itemDustSmallHeLiCoPtEr.name=Small Pile of HeLiCoPtEr Dust -item.itemNuggetHeLiCoPtEr.name=HeLiCoPtEr Nugget -item.itemPlateHeLiCoPtEr.name=HeLiCoPtEr Plate -item.itemPlateDoubleHeLiCoPtEr.name=Double HeLiCoPtEr Plate -item.itemBoltHeLiCoPtEr.name=HeLiCoPtEr Bolt -item.itemRodHeLiCoPtEr.name=HeLiCoPtEr Rod -item.itemRodLongHeLiCoPtEr.name=Long HeLiCoPtEr Rod -item.itemRingHeLiCoPtEr.name=HeLiCoPtEr Ring -item.itemScrewHeLiCoPtEr.name=HeLiCoPtEr Screw -item.itemRotorHeLiCoPtEr.name=HeLiCoPtEr Rotor -item.itemGearHeLiCoPtEr.name=HeLiCoPtEr Gear -item.itemCellHeLiCoPtEr.name=HeLiCoPtEr Cell -item.itemIngotPraseodymium.name=Praseodymium Ingot -item.itemHotIngotPraseodymium.name=Hot Praseodymium Ingot -item.itemDustPraseodymium.name=Praseodymium Dust -item.itemDustTinyPraseodymium.name=Tiny Pile of Praseodymium Dust -item.itemDustSmallPraseodymium.name=Small Pile of Praseodymium Dust -item.itemNuggetPraseodymium.name=Praseodymium Nugget -item.itemPlatePraseodymium.name=Praseodymium Plate -item.itemPlateDoublePraseodymium.name=Double Praseodymium Plate -item.itemBoltPraseodymium.name=Praseodymium Bolt -item.itemRodPraseodymium.name=Praseodymium Rod -item.itemRodLongPraseodymium.name=Long Praseodymium Rod -item.itemRingPraseodymium.name=Praseodymium Ring -item.itemScrewPraseodymium.name=Praseodymium Screw -item.itemRotorPraseodymium.name=Praseodymium Rotor -item.itemGearPraseodymium.name=Praseodymium Gear -item.itemCellPraseodymium.name=Praseodymium Cell -item.milledMonazite.name=Milled Monazite -item.FrothMonaziteflotation.name=Monazite Flotation Froth Cell - -//Added 18/12/21 -item.BasicGenericChemItem.13.name=Formaldehyde Catalyst -item.hydrogenchloridemix.name=Hydrogen Chlorine Mix - -//Added 19/01/22 -item.SunnariumBit.name=Sunnarium Bit - -//Added 29/01/22 -sleep.event.okay=You slept well and now feel a little better. -sleep.event.good=You slept well and now feel much better. -sleep.event.wellrested=You feel really well rested. -sleep.event.downsides=The downsides of life no longer effect you. -item.miscutils:magicfeather.name=Magical Feather - -//Added 10/02/22 -item.BasicGenericChemItem.14.name=Solid-Acid Catalyst - -//Added 30/05/22 -item.BasicGenericChemItem.15.name=Infinite Mutation Catalyst - -//Added 23/10/22 -miscutils.machines.QFTFluidMode=Quantum Force Transformer Fluid Output Mode - -//Added 16/11/22 -item.BasicGenericChemItem.16.name=Platinum Group Catalyst -item.BasicGenericChemItem.17.name=Plastic Polymer Catalyst -item.BasicGenericChemItem.18.name=Rubber Polymer Catalyst -item.BasicGenericChemItem.19.name=Adhesion Promoter Catalyst -item.BasicGenericChemItem.20.name=Tita-Tungsten Indium Catalyst -item.BasicGenericChemItem.21.name=Radioactivity Catalyst -item.BasicGenericChemItem.22.name=Rare-Earth Group Catalyst -item.BasicGenericChemItem.23.name=Simple Naquadah Catalyst -item.BasicGenericChemItem.24.name=Advanced Naquadah Catalyst -item.BasicGenericChemItem.25.name=Raw Intelligence Catalyst -item.BasicGenericChemItem.26.name=Ultimate Plasticizer Catalyst -item.BasicGenericChemItem.27.name=Biological Intelligence Catalyst -item.BasicGenericChemItem.28.name=Temporal Harmonizer Catalyst - -item.ItemCustomSpawnEgg.name=Spawn %s -item.itemSimpleFiremaker.message.0=You light the fire pit. -item.itemSimpleFiremaker.message.1=You somehow managed to set yourself on fire... -item.itemSimpleFiremaker.message.2=You created a fire! -item.itemSimpleFiremaker.message.3=Your attemp does nothing. - -//Added 17/07/23 -item.BasicGenericChemItem.29.name=Limpid Water Catalyst -item.BasicGenericChemItem.30.name=Flawless Water Catalyst - -//Added 18/07/23 -item.BasicGenericChemItem.31.name=Particle Acceleration Catalyst -item.BasicGenericChemItem.32.name=Synchrotron-Capable Catalyst - -//Added 19/09/23 -item.BasicGenericChemItem.33.name=Algagenic Growth Promoter Catalyst diff --git a/gtpp/src/main/resources/assets/miscutils/lang/ru_RU.lang b/gtpp/src/main/resources/assets/miscutils/lang/ru_RU.lang deleted file mode 100644 index 807de0ef72..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/lang/ru_RU.lang +++ /dev/null @@ -1,3351 +0,0 @@ -//Creative Tabs -itemGroup.MiscUtilBlockTab=[GT++] Блоки -itemGroup.MiscUtilMiscTab=[GT++] Предметы -itemGroup.MiscUtilCombatTab=[GT++] Бой -itemGroup.MiscUtilToolsTab=[GT++] Инструменты -itemGroup.MiscUtilMachineTab=[GT++] Машины -itemGroup.MiscUtilOtherTab=[GT++] Предметы II -itemGroup.MiscUtilBOP=[GT++] Biomes O'Plenty Additions - -//Debug -item.AAA_Broken.name=[Несуществующий элемент] Сообщите об этом рецепте на Github, пожалуйста. -item.itemBedLocator_Base.name=Локатор кровати [NBT Test] -item.itemBaseItemWithCharge.name=Base Chargeable Item -item.miscutils_itemDebugShapeSpawner.name=[Debug] Shapes - -//Fluids -tile.fluidSludge.name=Застоявшиеся сточные воды -tile.fluidSludge.0.name=Застоявшиеся сточные воды - -//Death Messages -death.attack.plasmabolt=%s died by burning hot plasma. -death.attack.plasmabolt.player=%1$s was killed by %2$s using plasma. -death.attack.gtpp.grinder=%s was ground into nothingness by an IsaMill. - -//Alternative Materials -item.itemPlateBatteryAlloy.name=Plate of Battery Alloy -item.itemIngotBatteryAlloy.name=Ingot of Battery Alloy -item.itemStickyRubber.name=Gumlet of Sticky Rubber - -//Unused Fuel rods -item.itemFuelRod_Empty.name=Empty Fuel Rod -item.itemFuelRod_Thorium.name=Thorium Fuel Rod -item.itemFuelRod_Uranium.name=Uranium Fuel Rod -item.itemFuelRod_Plutonium.name=Plutonium Fuel Rod - -//Entities -entity.constructStaballoy.name=Staballoy Construct -entity.sickBlaze.name=Infected Zealot - -//Tile Entities -tile.blockToolBuilder.name=GregTech Tool Constructor - -//Tools -item.itemBufferCore.name=Энергетическое ядро -item.itemStaballoyPickaxe.name=Туннелекопатель -item.itemStaballoyAxe.name=Лесоруб -item.itemSandstoneHammer.name=Дробилка булыжников - -//Thermal Foundation Stuff -item.MiscUtils.bucket.bucketPyrotheum.name=Blazing Pyrotheum Bucket -item.MiscUtils.bucket.bucketCryotheum.name=Gelid Cryotheum Bucket -item.MiscUtils.bucket.bucketEnder.name=Resonant Ender Bucket -item.MiscUtils.material.dustPyrotheum.name=Pyrotheum Dust -item.MiscUtils.material.dustCryotheum.name=Cryotheum Dust -item.MiscUtils.material.rodBlizz.name=Blizz Rod -item.MiscUtils.material.dustBlizz.name=Blizz Powder - -//------------- 'miscutils' is Case Sensitive Here, unsure why -tile.miscutils.fluid.pyrotheum.name=Жидкий Пиротеум -tile.miscutils.fluid.cryotheum.name=Жидкий Криотеум -tile.miscutils.fluid.ender.name=Жидкий Эндер -//-------------- - -//Forestry Stuff -item.frameAccelerated.name=Accelerated Frame -item.frameVoid.name=Void Frame -item.frameMutagenic.name=Mutagenic Frame -item.frameBusy.name=Working Frame -item.frameChocolate.name=Chocolate Frame -item.frameRestraint.name=Restraining Frame -item.frameSoul.name=Soul Frame -item.frameHealing.name=Healing Frame -item.frameNova.name=Nova Frame -item.frameArborists.name=Arborist Frame -item.frameDecaying.name=Decaying Frame -item.frameSlowing.name=Slowing Frame -item.frameStabilizing.name=Stabilizing Frame -item.frameUseless.name=Useless Frame - -//IC2 stuff -item.itemEnergeticRotorBlade.name=Energetic Alloy Rotor Blade -item.itemTungstenSteelRotorBlade.name=TungstenSteel Rotor Blade -item.itemVibrantRotorBlade.name=Vibrant Alloy Rotor Blade -item.itemIridiumRotorBlade.name=Iridium Rotor Blade -item.itemEnergeticShaft.name=Energetic Alloy Shaft -item.itemTungstenSteelShaft.name=TungstenSteel Shaft -item.itemVibrantShaft.name=Vibrant Alloy Shaft -item.itemIridiumShaft.name=Iridium Shaft -item.itemMagnaliumRotorBlade.name=Magnalium Rotor Blade -item.itemUltimetRotorBlade.name=Ultimet Blade -item.itemMagnaliumShaft.name=Magnalium Shaft -item.itemUltimetShaft.name=Ultimet Shaft - - -//Misc Items -item.itemPLACEHOLDER_Circuit.name=Quark Manipulator (UV) -item.itemPlateEnrichedSoularium.name=Enriched Soularium Plate -item.itemHeliumBlob.name=Mysterious Hydrogen Substance -item.itemAlkalusDisk.name=Alkalus Disk - -//Misc Blocks -tile.blockCompressedObsidian.0.name=Компрессированный Обсидиан (9) -tile.blockCompressedObsidian.1.name=Double Compressed Obsidian (81) -tile.blockCompressedObsidian.2.name=Triple Compressed Obsidian (729) -tile.blockCompressedObsidian.3.name=Quadruple Compressed Obsidian (6561) -tile.blockCompressedObsidian.4.name=Quintuple Compressed Obsidian (59049) -tile.blockCompressedObsidian.5.name=Inverted Obsidian -tile.blockCompressedObsidian.6.name=Compressed Glowstone (9) -tile.blockCompressedObsidian.7.name=Double Compressed Glowstone (81) -tile.blockCompressedObsidian.8.name=Triple Compressed Glowstone (729) -tile.blockCompressedObsidian.9.name=Quadruple Compressed Glowstone (6561) -tile.blockCompressedObsidian.10.name=Quintuple Compressed Glowstone (59049) -tile.blockNet.name=сети - - -//GT++ Items - -//Meta Tool -MU-metaitem.01.0.name=MU-metaitem.01.0.name - -//Cells -item.SulfurDioxide.name=High Quality Sulfur Dioxide Cell -item.mobessence.name=Mob Essence Cell -item.Fertiliser.name=Fertiliser Cell -item.UN32Fertiliser.name=UN-32 Fertiliser Cell -item.UN18Fertiliser.name=UN-18 Fertiliser Cell -item.RaisinJuice.name=Raisin Juice Cell -item.BerylliumHydroxide.name=Beryllium Hydroxide Cell -item.AmmoniumBifluoride.name=Ammonium Bifluoride Cell -item.Hydroxide.name=Hydroxide Cell -item.Ammonium.name=Ammonium Cell -item.AmmoniumTetrafluoroberyllate.name=Ammonium Tetrafluoroberyllate Cell - -//Resources -item.itemStickyRubber.name=Gumlet of Sticky Rubber -item.itemCoalCoke.name=Coking Coal -item.itemHydrogenBlob.name=Mysterious Hydrogen Blob -item.itemHeliumBlob.name=Mysterious Hydrogen Substance - -//Normal Items -item.itemAlkalusDisk.name=Alkalus Disk -item.itemSimpleFiremaker.name=Basic Firemaker -item.itemFiber.name=Plant Fiber -item.itemRope.name=Rope -item.backpackRed.name=Red Backpack -item.backpackGreen.name=Green Backpack -item.backpackBlue.name=Blue Backpack -item.backpackYellow.name=Yellow Backpack -item.backpackPurple.name=Purple Backpack -item.backpackCyan.name=Cyan Backpack -item.backpackMaroon.name=Maroon Backpack -item.backpackOlive.name=Olive Backpack -item.backpackDarkGreen.name=Dark Green Backpack -item.backpackDarkPurple.name=Dark Purple Backpack -item.backpackTeal.name=Teal Backpack -item.backpackNavy.name=Navy Backpack -item.backpackSilver.name=Silver Backpack -item.backpackGray.name=Gray Backpack -item.backpackBlack.name=Black Backpack -item.backpackWhite.name=White Backpack -item.itemBlueprint.name=Blueprint [I am useless] -item.itemGemShards.name=Diamond Shards -item.itemHalfCompleteCasings.name=Half Complete Casing -item.itemSulfuricPotion.name=Throwable Vial of Sulfuric Acid -item.itemHydrofluoricPotion.name=Throwable Vial of Hydrofluoric Acid - - -//Conversion Dusts -item.dustNeptunium238.name=Neptunium 238 Dust -item.dustRadium226.name=Radium 226 Dust -item.itemDustDecayedRadium226.name=Decayed Radium 226 Dust -item.itemDustSmallDecayedRadium226.name=Small Decayed Radium 226 Dust -item.itemDustTinyDecayedRadium226.name=Tiny Decayed Radium 226 Dust - -//Material Items -item.itemDustGadolinium.name=Gadolinium Dust -item.itemDustSmallGadolinium.name=Small Pile of Gadolinium Dust -item.itemDustTinyGadolinium.name=Tiny Pile of Gadolinium Dust -item.itemDustYtterbium.name=Ytterbium Dust -item.itemDustSmallYtterbium.name=Small Pile of Ytterbium Dust -item.itemDustTinyYtterbium.name=Tiny Pile of Ytterbium Dust -item.itemDustSamarium.name=Samarium Dust -item.itemDustSmallSamarium.name=Small Pile of Samarium Dust -item.itemDustTinySamarium.name=Tiny Pile of Samarium Dust -item.itemDustLanthanum.name=Lanthanum Dust -item.itemDustSmallLanthanum.name=Small Pile of Lanthanum Dust -item.itemDustTinyLanthanum.name=Tiny Pile of Lanthanum Dust -item.itemCellNeon.name=Neon Cell -item.itemCellGermanium.name=Germanium Cell -item.itemCellSelenium.name=Selenium Cell -item.itemCellBromine.name=Bromine Cell -item.itemCellKrypton.name=Krypton Cell -item.itemCellZirconium.name=Zirconium Cell -item.itemCellTechnetium.name=Technetium Cell -item.itemCellRuthenium.name=Ruthenium Cell -item.itemCellRhodium.name=Rhodium Cell -item.itemCellIodine.name=Iodine Cell -item.itemCellXenon.name=Xenon Cell -item.itemCellHafnium.name=Hafnium Cell -item.itemCellRhenium.name=Rhenium Cell -item.itemCellThallium.name=Thallium Cell -item.itemCellPolonium.name=Polonium Cell -item.itemCellAstatine.name=Astatine Cell -item.itemCellFrancium.name=Francium Cell -item.itemCellRadium.name=Radium Cell -item.itemCellActinium.name=Actinium Cell -item.itemCellProtactinium.name=Protactinium Cell -item.itemCellNeptunium.name=Neptunium Cell -item.itemCellCurium.name=Curium Cell -item.itemCellBerkelium.name=Berkelium Cell -item.itemCellCalifornium.name=Californium Cell -item.itemCellEinsteinium.name=Einsteinium Cell -item.itemCellFermium.name=Fermium Cell -item.itemCellRefinedTrinium.name=Refined Trinium Cell -item.itemIngotSelenium.name=Selenium Ingot -item.itemDustSelenium.name=Пыль Селена -item.itemDustTinySelenium.name=Tiny Pile of Selenium Dust -item.itemDustSmallSelenium.name=Small Pile of Selenium Dust -item.itemNuggetSelenium.name=Selenium Nugget -item.itemPlateSelenium.name=Selenium Plate -item.itemPlateDoubleSelenium.name=Double Selenium Plate -item.itemBoltSelenium.name=Selenium Bolt -item.itemRodSelenium.name=Selenium Rod -item.itemRodLongSelenium.name=Long Selenium Rod -item.itemRingSelenium.name=Selenium Ring -item.itemScrewSelenium.name=Selenium Screw -item.itemRotorSelenium.name=Selenium Rotor -item.itemGearSelenium.name=Selenium Gear -item.itemCellUranium232.name=Uranium 232 Cell -item.itemCellUranium233.name=Uranium 233 Cell -item.itemCellThoriumTetrafluoride.name=Thorium Tetrafluoride Cell -item.itemCellThoriumHexafluoride.name=Thorium Hexafluoride Cell -item.itemCellUraniumTetrafluoride.name=Uranium Tetrafluoride Cell -item.itemCellUraniumHexafluoride.name=Uranium Hexafluoride Cell -item.itemCellZirconiumTetrafluoride.name=Zirconium Tetrafluoride Cell -item.itemCellBerylliumFluoride.name=Beryllium Fluoride Cell -item.itemCellLithiumFluoride.name=Lithium Fluoride Cell -item.itemCellHydroxide.name=Hydroxide Cell -item.itemCellAmmonium.name=Ammonium Cell -item.itemCellAmmoniumBifluoride.name=Ammonium Bifluoride Cell -item.itemCellBerylliumHydroxide.name=Beryllium Hydroxide Cell -item.itemCellAmmoniumTetrafluoroberyllate.name=Ammonium Tetrafluoroberyllate Cell -item.itemCellNeptuniumHexafluoride.name=Neptunium Hexafluoride Cell -item.itemCellTechnetiumHexafluoride.name=Technetium Hexafluoride Cell -item.itemCellSeleniumHexafluoride.name=Selenium Hexafluoride Cell -item.itemCellEnergyCrystal.name=Energy Crystal Cell -item.itemCellBloodSteel.name=Blood Steel Cell -item.itemCellStaballoy.name=Staballoy Cell -item.itemCellTantalloy60.name=Tantalloy-60 Cell -item.itemCellTantalloy61.name=Tantalloy-61 Cell -item.itemCellTumbaga.name=Tumbaga Cell -item.itemCellPotin.name=Potin Cell -item.itemCellInconel625.name=Inconel-625 Cell -item.itemCellInconel690.name=Inconel-690 Cell -item.itemCellInconel792.name=Inconel-792 Cell -item.itemCellZeron100.name=Zeron-100 Cell -item.itemCellMaragingSteel250.name=Maraging Steel 250 Cell -item.itemCellMaragingSteel300.name=Maraging Steel 300 Cell -item.itemCellMaragingSteel350.name=Maraging Steel 350 Cell -item.itemCellStellite.name=Stellite Cell -item.itemCellTalonite.name=Talonite Cell -item.itemCellHastelloyW.name=Hastelloy-W Cell -item.itemCellHastelloyX.name=Hastelloy-X Cell -item.itemCellHastelloyN.name=Hastelloy-N Cell -item.itemCellHastelloyC276.name=Hastelloy-C276 Cell -item.itemCellIncoloy020.name=Incoloy-020 Cell -item.itemCellIncoloyDS.name=Incoloy-DS Cell -item.itemCellIncoloyMA956.name=Incoloy-MA956 Cell -item.itemCellTungstenCarbide.name=Tungsten Carbide Cell -item.itemCellSiliconCarbide.name=Silicon Carbide Cell -item.itemCellTantalumCarbide.name=Tantalum Carbide Cell -item.itemCellZirconiumCarbide.name=Zirconium Carbide Cell -item.itemCellNiobiumCarbide.name=Niobium Carbide Cell -item.itemCellGrisium.name=Grisium Cell -item.itemCellEglinSteelBaseCompound.name=Eglin Steel Base Compound Cell -item.itemCellEglinSteel.name=Eglin Steel Cell -item.itemCellHG1223.name=HG-1223 Cell -item.itemCellTriniumTitaniumAlloy.name=Trinium Titanium Alloy Cell -item.itemCellTriniumNaquadahAlloy.name=Trinium Naquadah Alloy Cell -item.itemCellTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Cell -item.itemCellQuantum.name=Quantum Cell -item.itemIngotBromine.name=Bromine Ingot -item.itemDustBromine.name=Пыль Брома -item.itemDustTinyBromine.name=Tiny Pile of Bromine Dust -item.itemDustSmallBromine.name=Small Pile of Bromine Dust -item.itemNuggetBromine.name=Bromine Nugget -item.itemPlateBromine.name=Bromine Plate -item.itemPlateDoubleBromine.name=Double Bromine Plate -item.itemIngotStrontium.name=Strontium Ingot -item.itemDustStrontium.name=Пыль Стронция -item.itemDustTinyStrontium.name=Tiny Pile of Strontium Dust -item.itemDustSmallStrontium.name=Small Pile of Strontium Dust -item.itemNuggetStrontium.name=Strontium Nugget -item.itemPlateStrontium.name=Strontium Plate -item.itemPlateDoubleStrontium.name=Double Strontium Plate -item.itemBoltStrontium.name=Strontium Bolt -item.itemRodStrontium.name=Strontium Rod -item.itemRodLongStrontium.name=Long Strontium Rod -item.itemRingStrontium.name=Strontium Ring -item.itemScrewStrontium.name=Strontium Screw -item.itemRotorStrontium.name=Strontium Rotor -item.itemGearStrontium.name=Strontium Gear -item.itemIngotZirconium.name=Zirconium Ingot -item.itemDustZirconium.name=Пыль Циркония -item.itemDustTinyZirconium.name=Tiny Pile of Zirconium Dust -item.itemDustSmallZirconium.name=Small Pile of Zirconium Dust -item.itemNuggetZirconium.name=Zirconium Nugget -item.itemPlateZirconium.name=Zirconium Plate -item.itemPlateDoubleZirconium.name=Double Zirconium Plate -item.itemBoltZirconium.name=Zirconium Bolt -item.itemRodZirconium.name=Zirconium Rod -item.itemRodLongZirconium.name=Long Zirconium Rod -item.itemRingZirconium.name=Zirconium Ring -item.itemScrewZirconium.name=Zirconium Screw -item.itemRotorZirconium.name=Zirconium Rotor -item.itemGearZirconium.name=Zirconium Gear -item.itemIngotRuthenium.name=Ruthenium Ingot -item.itemDustRuthenium.name=Пыль Рутения -item.itemDustTinyRuthenium.name=Tiny Pile of Ruthenium Dust -item.itemDustSmallRuthenium.name=Small Pile of Ruthenium Dust -item.itemNuggetRuthenium.name=Ruthenium Nugget -item.itemPlateRuthenium.name=Ruthenium Plate -item.itemPlateDoubleRuthenium.name=Double Ruthenium Plate -item.itemBoltRuthenium.name=Ruthenium Bolt -item.itemRodRuthenium.name=Ruthenium Rod -item.itemRodLongRuthenium.name=Long Ruthenium Rod -item.itemRingRuthenium.name=Ruthenium Ring -item.itemScrewRuthenium.name=Ruthenium Screw -item.itemRotorRuthenium.name=Ruthenium Rotor -item.itemGearRuthenium.name=Ruthenium Gear -item.itemIngotIodine.name=Iodine Ingot -item.itemDustIodine.name=Пыль Йода -item.itemDustTinyIodine.name=Tiny Pile of Iodine Dust -item.itemDustSmallIodine.name=Small Pile of Iodine Dust -item.itemNuggetIodine.name=Iodine Nugget -item.itemPlateIodine.name=Iodine Plate -item.itemPlateDoubleIodine.name=Double Iodine Plate -item.itemBoltIodine.name=Iodine Bolt -item.itemRodIodine.name=Iodine Rod -item.itemRodLongIodine.name=Long Iodine Rod -item.itemRingIodine.name=Iodine Ring -item.itemScrewIodine.name=Iodine Screw -item.itemRotorIodine.name=Iodine Rotor -item.itemGearIodine.name=Iodine Gear -item.itemIngotHafnium.name=Hafnium Ingot -item.itemDustHafnium.name=Пыль Гафния -item.itemDustTinyHafnium.name=Tiny Pile of Hafnium Dust -item.itemDustSmallHafnium.name=Small Pile of Hafnium Dust -item.itemNuggetHafnium.name=Hafnium Nugget -item.itemPlateHafnium.name=Hafnium Plate -item.itemPlateDoubleHafnium.name=Double Hafnium Plate -item.itemBoltHafnium.name=Hafnium Bolt -item.itemRodHafnium.name=Hafnium Rod -item.itemRodLongHafnium.name=Long Hafnium Rod -item.itemRingHafnium.name=Hafnium Ring -item.itemScrewHafnium.name=Hafnium Screw -item.itemRotorHafnium.name=Hafnium Rotor -item.itemGearHafnium.name=Hafnium Gear -item.itemIngotDysprosium.name=Dysprosium Ingot -item.itemDustDysprosium.name=Dysprosium Dust -item.itemDustTinyDysprosium.name=Tiny Pile of Dysprosium Dust -item.itemDustSmallDysprosium.name=Small Pile of Dysprosium Dust -item.itemNuggetDysprosium.name=Dysprosium Nugget -item.itemPlateDysprosium.name=Dysprosium Plate -item.itemPlateDoubleDysprosium.name=Double Dysprosium Plate -item.itemBoltDysprosium.name=Dysprosium Bolt -item.itemRodDysprosium.name=Dysprosium Rod -item.itemRodLongDysprosium.name=Long Dysprosium Rod -item.itemRingDysprosium.name=Dysprosium Ring -item.itemScrewDysprosium.name=Dysprosium Screw -item.itemRotorDysprosium.name=Dysprosium Rotor -item.itemGearDysprosium.name=Dysprosium Gear -item.itemIngotTellurium.name=Tellurium Ingot -item.itemDustTellurium.name=Tellurium Dust -item.itemDustTinyTellurium.name=Tiny Pile of Tellurium Dust -item.itemDustSmallTellurium.name=Small Pile of Tellurium Dust -item.itemNuggetTellurium.name=Tellurium Nugget -item.itemPlateTellurium.name=Tellurium Plate -item.itemPlateDoubleTellurium.name=Double Tellurium Plate -item.itemBoltTellurium.name=Tellurium Bolt -item.itemRodTellurium.name=Tellurium Rod -item.itemRodLongTellurium.name=Long Tellurium Rod -item.itemRingTellurium.name=Tellurium Ring -item.itemScrewTellurium.name=Tellurium Screw -item.itemRotorTellurium.name=Tellurium Rotor -item.itemGearTellurium.name=Tellurium Gear -item.itemIngotRhodium.name=Rhodium Ingot -item.itemDustRhodium.name=Пыль Родия -item.itemDustTinyRhodium.name=Tiny Pile of Rhodium Dust -item.itemDustSmallRhodium.name=Small Pile of Rhodium Dust -item.itemNuggetRhodium.name=Rhodium Nugget -item.itemPlateRhodium.name=Rhodium Plate -item.itemPlateDoubleRhodium.name=Double Rhodium Plate -item.itemBoltRhodium.name=Rhodium Bolt -item.itemRodRhodium.name=Rhodium Rod -item.itemRodLongRhodium.name=Long Rhodium Rod -item.itemRingRhodium.name=Rhodium Ring -item.itemScrewRhodium.name=Rhodium Screw -item.itemRotorRhodium.name=Rhodium Rotor -item.itemGearRhodium.name=Rhodium Gear -item.itemIngotRhenium.name=Rhenium Ingot -item.itemDustRhenium.name=Пыль Рения -item.itemDustTinyRhenium.name=Tiny Pile of Rhenium Dust -item.itemDustSmallRhenium.name=Small Pile of Rhenium Dust -item.itemNuggetRhenium.name=Rhenium Nugget -item.itemPlateRhenium.name=Rhenium Plate -item.itemPlateDoubleRhenium.name=Double Rhenium Plate -item.itemBoltRhenium.name=Rhenium Bolt -item.itemRodRhenium.name=Rhenium Rod -item.itemRodLongRhenium.name=Long Rhenium Rod -item.itemRingRhenium.name=Rhenium Ring -item.itemScrewRhenium.name=Rhenium Screw -item.itemRotorRhenium.name=Rhenium Rotor -item.itemGearRhenium.name=Rhenium Gear -item.itemIngotThallium.name=Thallium Ingot -item.itemDustThallium.name=Пыль Таллия -item.itemDustTinyThallium.name=Tiny Pile of Thallium Dust -item.itemDustSmallThallium.name=Small Pile of Thallium Dust -item.itemNuggetThallium.name=Thallium Nugget -item.itemPlateThallium.name=Thallium Plate -item.itemPlateDoubleThallium.name=Double Thallium Plate -item.itemBoltThallium.name=Thallium Bolt -item.itemRodThallium.name=Thallium Rod -item.itemRodLongThallium.name=Long Thallium Rod -item.itemRingThallium.name=Thallium Ring -item.itemScrewThallium.name=Thallium Screw -item.itemRotorThallium.name=Thallium Rotor -item.itemGearThallium.name=Thallium Gear -item.itemIngotTechnetium.name=Technetium Ingot -item.itemDustTechnetium.name=Пыль Технеция -item.itemDustTinyTechnetium.name=Tiny Pile of Technetium Dust -item.itemDustSmallTechnetium.name=Small Pile of Technetium Dust -item.itemNuggetTechnetium.name=Technetium Nugget -item.itemPlateTechnetium.name=Technetium Plate -item.itemPlateDoubleTechnetium.name=Double Technetium Plate -item.itemIngotPolonium.name=Polonium Ingot -item.itemDustPolonium.name=Пыль Полония -item.itemDustTinyPolonium.name=Tiny Pile of Polonium Dust -item.itemDustSmallPolonium.name=Small Pile of Polonium Dust -item.itemNuggetPolonium.name=Polonium Nugget -item.itemPlatePolonium.name=Polonium Plate -item.itemPlateDoublePolonium.name=Double Polonium Plate -item.itemIngotAstatine.name=Astatine Ingot -item.itemDustAstatine.name=Пыль Астатина -item.itemDustTinyAstatine.name=Tiny Pile of Astatine Dust -item.itemDustSmallAstatine.name=Small Pile of Astatine Dust -item.itemNuggetAstatine.name=Astatine Nugget -item.itemPlateAstatine.name=Astatine Plate -item.itemPlateDoubleAstatine.name=Double Astatine Plate -item.itemIngotFrancium.name=Francium Ingot -item.itemDustFrancium.name=Пыль Франция -item.itemDustTinyFrancium.name=Tiny Pile of Francium Dust -item.itemDustSmallFrancium.name=Small Pile of Francium Dust -item.itemNuggetFrancium.name=Francium Nugget -item.itemPlateFrancium.name=Francium Plate -item.itemPlateDoubleFrancium.name=Double Francium Plate -item.itemIngotRadium.name=Radium Ingot -item.itemDustRadium.name=Пыль Радия -item.itemDustTinyRadium.name=Tiny Pile of Radium Dust -item.itemDustSmallRadium.name=Small Pile of Radium Dust -item.itemNuggetRadium.name=Radium Nugget -item.itemPlateRadium.name=Radium Plate -item.itemPlateDoubleRadium.name=Double Radium Plate -item.itemIngotActinium.name=Actinium Ingot -item.itemDustActinium.name=Пыль Актиния -item.itemDustTinyActinium.name=Tiny Pile of Actinium Dust -item.itemDustSmallActinium.name=Small Pile of Actinium Dust -item.itemNuggetActinium.name=Actinium Nugget -item.itemPlateActinium.name=Actinium Plate -item.itemPlateDoubleActinium.name=Double Actinium Plate -item.itemIngotProtactinium.name=Protactinium Ingot -item.itemDustProtactinium.name=Пыль Протактиния -item.itemDustTinyProtactinium.name=Tiny Pile of Protactinium Dust -item.itemDustSmallProtactinium.name=Small Pile of Protactinium Dust -item.itemNuggetProtactinium.name=Protactinium Nugget -item.itemPlateProtactinium.name=Protactinium Plate -item.itemPlateDoubleProtactinium.name=Double Protactinium Plate -item.itemIngotNeptunium.name=Neptunium Ingot -item.itemDustNeptunium.name=Пыль Нептуния -item.itemDustTinyNeptunium.name=Tiny Pile of Neptunium Dust -item.itemDustSmallNeptunium.name=Small Pile of Neptunium Dust -item.itemNuggetNeptunium.name=Neptunium Nugget -item.itemPlateNeptunium.name=Neptunium Plate -item.itemPlateDoubleNeptunium.name=Double Neptunium Plate -item.itemIngotCurium.name=Curium Ingot -item.itemDustCurium.name=Пыль Кюрия -item.itemDustTinyCurium.name=Tiny Pile of Curium Dust -item.itemDustSmallCurium.name=Small Pile of Curium Dust -item.itemNuggetCurium.name=Curium Nugget -item.itemPlateCurium.name=Curium Plate -item.itemPlateDoubleCurium.name=Double Curium Plate -item.itemIngotBerkelium.name=Berkelium Ingot -item.itemDustBerkelium.name=Пыль Беркелия -item.itemDustTinyBerkelium.name=Tiny Pile of Berkelium Dust -item.itemDustSmallBerkelium.name=Small Pile of Berkelium Dust -item.itemNuggetBerkelium.name=Berkelium Nugget -item.itemPlateBerkelium.name=Berkelium Plate -item.itemPlateDoubleBerkelium.name=Double Berkelium Plate -item.itemIngotCalifornium.name=Californium Ingot -item.itemDustCalifornium.name=Пыль Калифорния -item.itemDustTinyCalifornium.name=Tiny Pile of Californium Dust -item.itemDustSmallCalifornium.name=Small Pile of Californium Dust -item.itemNuggetCalifornium.name=Californium Nugget -item.itemPlateCalifornium.name=Californium Plate -item.itemPlateDoubleCalifornium.name=Double Californium Plate -item.itemDustEinsteinium.name=Пыль Эйнштейния -item.itemDustTinyEinsteinium.name=Tiny Pile of Einsteinium Dust -item.itemDustSmallEinsteinium.name=Small Pile of Einsteinium Dust -item.itemNuggetEinsteinium.name=Einsteinium Nugget -item.itemPlateEinsteinium.name=Einsteinium Plate -item.itemPlateDoubleEinsteinium.name=Double Einsteinium Plate -item.itemIngotFermium.name=Fermium Ingot -item.itemDustFermium.name=Пыль Фермия -item.itemDustTinyFermium.name=Tiny Pile of Fermium Dust -item.itemDustSmallFermium.name=Small Pile of Fermium Dust -item.itemNuggetFermium.name=Fermium Nugget -item.itemPlateFermium.name=Fermium Plate -item.itemPlateDoubleFermium.name=Double Fermium Plate -item.itemIngotLithium7.name=Lithium 7 Ingot -item.itemDustLithium7.name=Пыль Лития 7 -item.itemDustTinyLithium7.name=Tiny Pile of Lithium 7 Dust -item.itemDustSmallLithium7.name=Small Pile of Lithium 7 Dust -item.itemNuggetLithium7.name=Lithium 7 Nugget -item.itemPlateLithium7.name=Lithium 7 Plate -item.itemPlateDoubleLithium7.name=Double Lithium 7 Plate -item.itemIngotThorium232.name=Thorium 232 Ingot -item.itemDustThorium232.name=Пыль Тория 232 -item.itemDustTinyThorium232.name=Tiny Pile of Thorium 232 Dust -item.itemDustSmallThorium232.name=Small Pile of Thorium 232 Dust -item.itemNuggetThorium232.name=Thorium 232 Nugget -item.itemPlateThorium232.name=Thorium 232 Plate -item.itemPlateDoubleThorium232.name=Double Thorium 232 Plate -item.itemIngotUranium232.name=Uranium 232 Ingot -item.itemDustUranium232.name=Пыль Урана 232 -item.itemDustTinyUranium232.name=Tiny Pile of Uranium 232 Dust -item.itemDustSmallUranium232.name=Small Pile of Uranium 232 Dust -item.itemNuggetUranium232.name=Uranium 232 Nugget -item.itemPlateUranium232.name=Uranium 232 Plate -item.itemRodUranium232.name=Uranium 232 Rod -item.itemRodLongUranium232.name=Long Uranium 232 Rod -item.itemIngotUranium233.name=Uranium 233 Ingot -item.itemDustUranium233.name=Пыль Урана 233 -item.itemDustTinyUranium233.name=Tiny Pile of Uranium 233 Dust -item.itemDustSmallUranium233.name=Small Pile of Uranium 233 Dust -item.itemNuggetUranium233.name=Uranium 233 Nugget -item.itemPlateUranium233.name=Uranium 233 Plate -item.itemRodUranium233.name=Uranium 233 Rod -item.itemRodLongUranium233.name=Long Uranium 233 Rod -item.itemIngotPlutonium238.name=Plutonium 238 Ingot -item.itemDustPlutonium238.name=Пыль Плутония 238 -item.itemDustTinyPlutonium238.name=Tiny Pile of Plutonium 238 Dust -item.itemDustSmallPlutonium238.name=Small Pile of Plutonium 238 Dust -item.itemNuggetPlutonium238.name=Plutonium 238 Nugget -item.itemPlatePlutonium238.name=Plutonium 238 Plate -item.itemPlateDoublePlutonium238.name=Double Plutonium 238 Plate -item.itemIngotStrontium90.name=Strontium 90 Ingot -item.itemDustStrontium90.name=Пыль Стронция 90 -item.itemDustTinyStrontium90.name=Tiny Pile of Strontium 90 Dust -item.itemDustSmallStrontium90.name=Small Pile of Strontium 90 Dust -item.itemNuggetStrontium90.name=Strontium 90 Nugget -item.itemPlateStrontium90.name=Strontium 90 Plate -item.itemPlateDoubleStrontium90.name=Double Strontium 90 Plate -item.itemIngotPolonium210.name=Polonium 210 Ingot -item.itemDustPolonium210.name=Пыль Полония 210 -item.itemDustTinyPolonium210.name=Tiny Pile of Polonium 210 Dust -item.itemDustSmallPolonium210.name=Small Pile of Polonium 210 Dust -item.itemNuggetPolonium210.name=Polonium 210 Nugget -item.itemPlatePolonium210.name=Polonium 210 Plate -item.itemPlateDoublePolonium210.name=Double Polonium 210 Plate -item.itemIngotAmericium241.name=Americium 241 Ingot -item.itemDustAmericium241.name=Пыль Америция 241 -item.itemDustTinyAmericium241.name=Tiny Pile of Americium 241 Dust -item.itemDustSmallAmericium241.name=Small Pile of Americium 241 Dust -item.itemNuggetAmericium241.name=Americium 241 Nugget -item.itemPlateAmericium241.name=Americium 241 Plate -item.itemPlateDoubleAmericium241.name=Double Americium 241 Plate -item.itemIngotSiliconCarbide.name=Silicon Carbide Ingot -item.itemDustSiliconCarbide.name=Пыль Силиконового Карбида -item.itemDustTinySiliconCarbide.name=Tiny Pile of Silicon Carbide Dust -item.itemDustSmallSiliconCarbide.name=Small Pile of Silicon Carbide Dust -item.itemNuggetSiliconCarbide.name=Silicon Carbide Nugget -item.itemPlateSiliconCarbide.name=Silicon Carbide Plate -item.itemPlateDoubleSiliconCarbide.name=Double Silicon Carbide Plate -item.itemBoltSiliconCarbide.name=Silicon Carbide Bolt -item.itemRodSiliconCarbide.name=Silicon Carbide Rod -item.itemRodLongSiliconCarbide.name=Long Silicon Carbide Rod -item.itemRingSiliconCarbide.name=Silicon Carbide Ring -item.itemScrewSiliconCarbide.name=Silicon Carbide Screw -item.itemRotorSiliconCarbide.name=Silicon Carbide Rotor -item.itemGearSiliconCarbide.name=Silicon Carbide Gear -item.itemIngotZirconiumCarbide.name=Zirconium Carbide Ingot -item.itemHotIngotZirconiumCarbide.name=Hot Zirconium Carbide Ingot -item.itemDustZirconiumCarbide.name=Пыль Циркониевого Карбида -item.itemDustTinyZirconiumCarbide.name=Tiny Pile of Zirconium Carbide Dust -item.itemDustSmallZirconiumCarbide.name=Small Pile of Zirconium Carbide Dust -item.itemNuggetZirconiumCarbide.name=Zirconium Carbide Nugget -item.itemPlateZirconiumCarbide.name=Zirconium Carbide Plate -item.itemPlateDoubleZirconiumCarbide.name=Double Zirconium Carbide Plate -item.itemBoltZirconiumCarbide.name=Zirconium Carbide Bolt -item.itemRodZirconiumCarbide.name=Zirconium Carbide Rod -item.itemRodLongZirconiumCarbide.name=Long Zirconium Carbide Rod -item.itemRingZirconiumCarbide.name=Zirconium Carbide Ring -item.itemScrewZirconiumCarbide.name=Zirconium Carbide Screw -item.itemRotorZirconiumCarbide.name=Zirconium Carbide Rotor -item.itemGearZirconiumCarbide.name=Zirconium Carbide Gear -item.itemIngotTantalumCarbide.name=Tantalum Carbide Ingot -item.itemHotIngotTantalumCarbide.name=Hot Tantalum Carbide Ingot -item.itemDustTantalumCarbide.name=Пыль Танталового Карбида -item.itemDustTinyTantalumCarbide.name=Tiny Pile of Tantalum Carbide Dust -item.itemDustSmallTantalumCarbide.name=Small Pile of Tantalum Carbide Dust -item.itemNuggetTantalumCarbide.name=Tantalum Carbide Nugget -item.itemPlateTantalumCarbide.name=Tantalum Carbide Plate -item.itemPlateDoubleTantalumCarbide.name=Double Tantalum Carbide Plate -item.itemBoltTantalumCarbide.name=Tantalum Carbide Bolt -item.itemRodTantalumCarbide.name=Tantalum Carbide Rod -item.itemRodLongTantalumCarbide.name=Long Tantalum Carbide Rod -item.itemRingTantalumCarbide.name=Tantalum Carbide Ring -item.itemScrewTantalumCarbide.name=Tantalum Carbide Screw -item.itemRotorTantalumCarbide.name=Tantalum Carbide Rotor -item.itemGearTantalumCarbide.name=Tantalum Carbide Gear -item.itemIngotNiobiumCarbide.name=Niobium Carbide Ingot -item.itemHotIngotNiobiumCarbide.name=Hot Niobium Carbide Ingot -item.itemDustNiobiumCarbide.name=Пыль Ниобиевого Карбида -item.itemDustTinyNiobiumCarbide.name=Tiny Pile of Niobium Carbide Dust -item.itemDustSmallNiobiumCarbide.name=Small Pile of Niobium Carbide Dust -item.itemNuggetNiobiumCarbide.name=Niobium Carbide Nugget -item.itemPlateNiobiumCarbide.name=Niobium Carbide Plate -item.itemPlateDoubleNiobiumCarbide.name=Double Niobium Carbide Plate -item.itemBoltNiobiumCarbide.name=Niobium Carbide Bolt -item.itemRodNiobiumCarbide.name=Niobium Carbide Rod -item.itemRodLongNiobiumCarbide.name=Long Niobium Carbide Rod -item.itemRingNiobiumCarbide.name=Niobium Carbide Ring -item.itemScrewNiobiumCarbide.name=Niobium Carbide Screw -item.itemRotorNiobiumCarbide.name=Niobium Carbide Rotor -item.itemGearNiobiumCarbide.name=Niobium Carbide Gear -item.itemIngotBerylliumFluoride.name=Beryllium Fluoride Ingot -item.itemDustBerylliumFluoride.name=Пыль Бериллиевого Фторида -item.itemDustTinyBerylliumFluoride.name=Tiny Pile of Beryllium Fluoride Dust -item.itemDustSmallBerylliumFluoride.name=Small Pile of Beryllium Fluoride Dust -item.itemNuggetBerylliumFluoride.name=Beryllium Fluoride Nugget -item.itemPlateBerylliumFluoride.name=Beryllium Fluoride Plate -item.itemPlateDoubleBerylliumFluoride.name=Double Beryllium Fluoride Plate -item.itemIngotLithiumFluoride.name=Lithium Fluoride Ingot -item.itemDustLithiumFluoride.name=Пыль Литиевого Фторида -item.itemDustTinyLithiumFluoride.name=Tiny Pile of Lithium Fluoride Dust -item.itemDustSmallLithiumFluoride.name=Small Pile of Lithium Fluoride Dust -item.itemNuggetLithiumFluoride.name=Lithium Fluoride Nugget -item.itemPlateLithiumFluoride.name=Lithium Fluoride Plate -item.itemPlateDoubleLithiumFluoride.name=Double Lithium Fluoride Plate -item.itemIngotThoriumTetrafluoride.name=Thorium Tetrafluoride Ingot -item.itemDustThoriumTetrafluoride.name=Пыль Ториевого Тетрафторида -item.itemDustTinyThoriumTetrafluoride.name=Tiny Pile of Thorium Tetrafluoride Dust -item.itemDustSmallThoriumTetrafluoride.name=Small Pile of Thorium Tetrafluoride Dust -item.itemNuggetThoriumTetrafluoride.name=Thorium Tetrafluoride Nugget -item.itemPlateThoriumTetrafluoride.name=Thorium Tetrafluoride Plate -item.itemPlateDoubleThoriumTetrafluoride.name=Double Thorium Tetrafluoride Plate -item.itemIngotThoriumHexafluoride.name=Thorium Hexafluoride Ingot -item.itemDustThoriumHexafluoride.name=Пыль Ториевого Гексафторида -item.itemDustTinyThoriumHexafluoride.name=Tiny Pile of Thorium Hexafluoride Dust -item.itemDustSmallThoriumHexafluoride.name=Small Pile of Thorium Hexafluoride Dust -item.itemNuggetThoriumHexafluoride.name=Thorium Hexafluoride Nugget -item.itemPlateThoriumHexafluoride.name=Thorium Hexafluoride Plate -item.itemPlateDoubleThoriumHexafluoride.name=Double Thorium Hexafluoride Plate -item.itemIngotUraniumTetrafluoride.name=Uranium Tetrafluoride Ingot -item.itemDustUraniumTetrafluoride.name=Пыль Ураниевого Тетрафторида -item.itemDustTinyUraniumTetrafluoride.name=Tiny Pile of Uranium Tetrafluoride Dust -item.itemDustSmallUraniumTetrafluoride.name=Small Pile of Uranium Tetrafluoride Dust -item.itemNuggetUraniumTetrafluoride.name=Uranium Tetrafluoride Nugget -item.itemPlateUraniumTetrafluoride.name=Uranium Tetrafluoride Plate -item.itemPlateDoubleUraniumTetrafluoride.name=Double Uranium Tetrafluoride Plate -item.itemIngotUraniumHexafluoride.name=Uranium Hexafluoride Ingot -item.itemDustUraniumHexafluoride.name=Пыль Ураниевого Гексафторида -item.itemDustTinyUraniumHexafluoride.name=Tiny Pile of Uranium Hexafluoride Dust -item.itemDustSmallUraniumHexafluoride.name=Small Pile of Uranium Hexafluoride Dust -item.itemNuggetUraniumHexafluoride.name=Uranium Hexafluoride Nugget -item.itemPlateUraniumHexafluoride.name=Uranium Hexafluoride Plate -item.itemPlateDoubleUraniumHexafluoride.name=Double Uranium Hexafluoride Plate -item.itemIngotZirconiumTetrafluoride.name=Zirconium Tetrafluoride Ingot -item.itemDustZirconiumTetrafluoride.name=Пыль Циркониевого Тетрафторида -item.itemDustTinyZirconiumTetrafluoride.name=Tiny Pile of Zirconium Tetrafluoride Dust -item.itemDustSmallZirconiumTetrafluoride.name=Small Pile of Zirconium Tetrafluoride Dust -item.itemNuggetZirconiumTetrafluoride.name=Zirconium Tetrafluoride Nugget -item.itemPlateZirconiumTetrafluoride.name=Zirconium Tetrafluoride Plate -item.itemPlateDoubleZirconiumTetrafluoride.name=Double Zirconium Tetrafluoride Plate -item.itemIngotNeptuniumHexafluoride.name=Neptunium Hexafluoride Ingot -item.itemDustNeptuniumHexafluoride.name=Пыль Нептуниевого Гексафторида -item.itemDustTinyNeptuniumHexafluoride.name=Tiny Pile of Neptunium Hexafluoride Dust -item.itemDustSmallNeptuniumHexafluoride.name=Small Pile of Neptunium Hexafluoride Dust -item.itemNuggetNeptuniumHexafluoride.name=Neptunium Hexafluoride Nugget -item.itemPlateNeptuniumHexafluoride.name=Neptunium Hexafluoride Plate -item.itemPlateDoubleNeptuniumHexafluoride.name=Double Neptunium Hexafluoride Plate -item.itemIngotTechnetiumHexafluoride.name=Technetium Hexafluoride Ingot -item.itemDustTechnetiumHexafluoride.name=Пыль Технециевого Гексафторида -item.itemDustTinyTechnetiumHexafluoride.name=Tiny Pile of Technetium Hexafluoride Dust -item.itemDustSmallTechnetiumHexafluoride.name=Small Pile of Technetium Hexafluoride Dust -item.itemNuggetTechnetiumHexafluoride.name=Technetium Hexafluoride Nugget -item.itemPlateTechnetiumHexafluoride.name=Technetium Hexafluoride Plate -item.itemPlateDoubleTechnetiumHexafluoride.name=Double Technetium Hexafluoride Plate -item.itemIngotSeleniumHexafluoride.name=Selenium Hexafluoride Ingot -item.itemDustSeleniumHexafluoride.name=Пыль Гексафторида Селена -item.itemDustTinySeleniumHexafluoride.name=Tiny Pile of Selenium Hexafluoride Dust -item.itemDustSmallSeleniumHexafluoride.name=Small Pile of Selenium Hexafluoride Dust -item.itemNuggetSeleniumHexafluoride.name=Selenium Hexafluoride Nugget -item.itemPlateSeleniumHexafluoride.name=Selenium Hexafluoride Plate -item.itemPlateDoubleSeleniumHexafluoride.name=Double Selenium Hexafluoride Plate -item.itemIngotLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235 Ingot -item.itemDustLiFBeF2ZrF4U235.name=Пыль Железорана 235 -item.itemDustTinyLiFBeF2ZrF4U235.name=Tiny Pile of LiFBeF2ZrF4U235 Dust -item.itemDustSmallLiFBeF2ZrF4U235.name=Small Pile of LiFBeF2ZrF4U235 Dust -item.itemNuggetLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235 Nugget -item.itemPlateLiFBeF2ZrF4U235.name=LiFBeF2ZrF4U235 Plate -item.itemPlateDoubleLiFBeF2ZrF4U235.name=Double LiFBeF2ZrF4U235 Plate -item.itemIngotLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4 Ingot -item.itemDustLiFBeF2ZrF4UF4.name=Пыль Циркониевого Железорана -item.itemDustTinyLiFBeF2ZrF4UF4.name=Tiny Pile of LiFBeF2ZrF4UF4 Dust -item.itemDustSmallLiFBeF2ZrF4UF4.name=Small Pile of LiFBeF2ZrF4UF4 Dust -item.itemNuggetLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4 Nugget -item.itemPlateLiFBeF2ZrF4UF4.name=LiFBeF2ZrF4UF4 Plate -item.itemPlateDoubleLiFBeF2ZrF4UF4.name=Double LiFBeF2ZrF4UF4 Plate -item.itemIngotLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4 Ingot -item.itemDustLiFBeF2ThF4UF4.name=Пыль Ториевого Железорана -item.itemDustTinyLiFBeF2ThF4UF4.name=Tiny Pile of LiFBeF2ThF4UF4 Dust -item.itemDustSmallLiFBeF2ThF4UF4.name=Small Pile of LiFBeF2ThF4UF4 Dust -item.itemNuggetLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4 Nugget -item.itemPlateLiFBeF2ThF4UF4.name=LiFBeF2ThF4UF4 Plate -item.itemPlateDoubleLiFBeF2ThF4UF4.name=Double LiFBeF2ThF4UF4 Plate -item.itemIngotEnergyCrystal.name=Energy Crystal Ingot -item.itemHotIngotEnergyCrystal.name=Hot Energy Crystal Ingot -item.itemDustEnergyCrystal.name=Пыль Энергетического Кристалла -item.itemDustTinyEnergyCrystal.name=Tiny Pile of Energy Crystal Dust -item.itemDustSmallEnergyCrystal.name=Small Pile of Energy Crystal Dust -item.itemNuggetEnergyCrystal.name=Energy Crystal Nugget -item.itemPlateEnergyCrystal.name=Energy Crystal Plate -item.itemPlateDoubleEnergyCrystal.name=Double Energy Crystal Plate -item.itemBoltEnergyCrystal.name=Energy Crystal Bolt -item.itemRodEnergyCrystal.name=Energy Crystal Rod -item.itemRodLongEnergyCrystal.name=Long Energy Crystal Rod -item.itemRingEnergyCrystal.name=Energy Crystal Ring -item.itemScrewEnergyCrystal.name=Energy Crystal Screw -item.itemRotorEnergyCrystal.name=Energy Crystal Rotor -item.itemGearEnergyCrystal.name=Energy Crystal Gear -item.itemIngotBloodSteel.name=Blood Steel Ingot -item.itemDustBloodSteel.name=Пыль Кровавой Стали -item.itemDustTinyBloodSteel.name=Tiny Pile of Blood Steel Dust -item.itemDustSmallBloodSteel.name=Small Pile of Blood Steel Dust -item.itemNuggetBloodSteel.name=Blood Steel Nugget -item.itemPlateBloodSteel.name=Blood Steel Plate -item.itemPlateDoubleBloodSteel.name=Double Blood Steel Plate -item.itemBoltBloodSteel.name=Blood Steel Bolt -item.itemRodBloodSteel.name=Blood Steel Rod -item.itemRodLongBloodSteel.name=Long Blood Steel Rod -item.itemRingBloodSteel.name=Blood Steel Ring -item.itemScrewBloodSteel.name=Blood Steel Screw -item.itemRotorBloodSteel.name=Blood Steel Rotor -item.itemGearBloodSteel.name=Blood Steel Gear -item.itemIngotZeron100.name=Zeron-100 Ingot -item.itemHotIngotZeron100.name=Hot Zeron-100 Ingot -item.itemDustZeron100.name=Пыль Церона 100 -item.itemDustTinyZeron100.name=Tiny Pile of Zeron-100 Dust -item.itemDustSmallZeron100.name=Small Pile of Zeron-100 Dust -item.itemNuggetZeron100.name=Zeron-100 Nugget -item.itemPlateZeron100.name=Zeron-100 Plate -item.itemPlateDoubleZeron100.name=Double Zeron-100 Plate -item.itemBoltZeron100.name=Zeron-100 Bolt -item.itemRodZeron100.name=Zeron-100 Rod -item.itemRodLongZeron100.name=Long Zeron-100 Rod -item.itemRingZeron100.name=Zeron-100 Ring -item.itemScrewZeron100.name=Zeron-100 Screw -item.itemRotorZeron100.name=Zeron-100 Rotor -item.itemGearZeron100.name=Zeron-100 Gear -item.itemIngotTumbaga.name=Tumbaga Ingot -item.itemDustTumbaga.name=Пыль Тумбага -item.itemDustTinyTumbaga.name=Tiny Pile of Tumbaga Dust -item.itemDustSmallTumbaga.name=Small Pile of Tumbaga Dust -item.itemNuggetTumbaga.name=Tumbaga Nugget -item.itemPlateTumbaga.name=Tumbaga Plate -item.itemPlateDoubleTumbaga.name=Double Tumbaga Plate -item.itemBoltTumbaga.name=Tumbaga Bolt -item.itemRodTumbaga.name=Tumbaga Rod -item.itemRodLongTumbaga.name=Long Tumbaga Rod -item.itemRingTumbaga.name=Tumbaga Ring -item.itemScrewTumbaga.name=Tumbaga Screw -item.itemRotorTumbaga.name=Tumbaga Rotor -item.itemGearTumbaga.name=Tumbaga Gear -item.itemIngotPotin.name=Potin Ingot -item.itemDustPotin.name=Пыль Потина -item.itemDustTinyPotin.name=Tiny Pile of Potin Dust -item.itemDustSmallPotin.name=Small Pile of Potin Dust -item.itemNuggetPotin.name=Potin Nugget -item.itemPlatePotin.name=Potin Plate -item.itemPlateDoublePotin.name=Double Potin Plate -item.itemBoltPotin.name=Potin Bolt -item.itemRodPotin.name=Potin Rod -item.itemRodLongPotin.name=Long Potin Rod -item.itemRingPotin.name=Potin Ring -item.itemScrewPotin.name=Potin Screw -item.itemRotorPotin.name=Potin Rotor -item.itemGearPotin.name=Potin Gear -item.itemIngotStaballoy.name=Staballoy Ingot -item.itemHotIngotStaballoy.name=Hot Staballoy Ingot -item.itemDustStaballoy.name=Пыль Стального Сплава -item.itemDustTinyStaballoy.name=Tiny Pile of Staballoy Dust -item.itemDustSmallStaballoy.name=Small Pile of Staballoy Dust -item.itemNuggetStaballoy.name=Staballoy Nugget -item.itemPlateStaballoy.name=Staballoy Plate -item.itemPlateDoubleStaballoy.name=Double Staballoy Plate -item.itemBoltStaballoy.name=Staballoy Bolt -item.itemRodStaballoy.name=Staballoy Rod -item.itemRodLongStaballoy.name=Long Staballoy Rod -item.itemRingStaballoy.name=Staballoy Ring -item.itemScrewStaballoy.name=Staballoy Screw -item.itemRotorStaballoy.name=Staballoy Rotor -item.itemGearStaballoy.name=Staballoy Gear -item.itemIngotTantalloy60.name=Tantalloy-60 Ingot -item.itemHotIngotTantalloy60.name=Hot Tantalloy-60 Ingot -item.itemDustTantalloy60.name=Пыль Сплава Тантала 60 -item.itemDustTinyTantalloy60.name=Tiny Pile of Tantalloy-60 Dust -item.itemDustSmallTantalloy60.name=Small Pile of Tantalloy-60 Dust -item.itemNuggetTantalloy60.name=Tantalloy-60 Nugget -item.itemPlateTantalloy60.name=Tantalloy-60 Plate -item.itemPlateDoubleTantalloy60.name=Double Tantalloy-60 Plate -item.itemBoltTantalloy60.name=Tantalloy-60 Bolt -item.itemRodTantalloy60.name=Tantalloy-60 Rod -item.itemRodLongTantalloy60.name=Long Tantalloy-60 Rod -item.itemRingTantalloy60.name=Tantalloy-60 Ring -item.itemScrewTantalloy60.name=Tantalloy-60 Screw -item.itemRotorTantalloy60.name=Tantalloy-60 Rotor -item.itemGearTantalloy60.name=Tantalloy-60 Gear -item.itemIngotTantalloy61.name=Tantalloy-61 Ingot -item.itemHotIngotTantalloy61.name=Hot Tantalloy-61 Ingot -item.itemDustTantalloy61.name=Пыль Сплава Тантала 61 -item.itemDustTinyTantalloy61.name=Tiny Pile of Tantalloy-61 Dust -item.itemDustSmallTantalloy61.name=Small Pile of Tantalloy-61 Dust -item.itemNuggetTantalloy61.name=Tantalloy-61 Nugget -item.itemPlateTantalloy61.name=Tantalloy-61 Plate -item.itemPlateDoubleTantalloy61.name=Double Tantalloy-61 Plate -item.itemBoltTantalloy61.name=Tantalloy-61 Bolt -item.itemRodTantalloy61.name=Tantalloy-61 Rod -item.itemRodLongTantalloy61.name=Long Tantalloy-61 Rod -item.itemRingTantalloy61.name=Tantalloy-61 Ring -item.itemScrewTantalloy61.name=Tantalloy-61 Screw -item.itemRotorTantalloy61.name=Tantalloy-61 Rotor -item.itemGearTantalloy61.name=Tantalloy-61 Gear -item.itemIngotInconel625.name=Inconel-625 Ingot -item.itemHotIngotInconel625.name=Hot Inconel-625 Ingot -item.itemDustInconel625.name=Пыль Инконеля 625 -item.itemDustTinyInconel625.name=Tiny Pile of Inconel-625 Dust -item.itemDustSmallInconel625.name=Small Pile of Inconel-625 Dust -item.itemNuggetInconel625.name=Inconel-625 Nugget -item.itemPlateInconel625.name=Inconel-625 Plate -item.itemPlateDoubleInconel625.name=Double Inconel-625 Plate -item.itemBoltInconel625.name=Inconel-625 Bolt -item.itemRodInconel625.name=Inconel-625 Rod -item.itemRodLongInconel625.name=Long Inconel-625 Rod -item.itemRingInconel625.name=Inconel-625 Ring -item.itemScrewInconel625.name=Inconel-625 Screw -item.itemRotorInconel625.name=Inconel-625 Rotor -item.itemGearInconel625.name=Inconel-625 Gear -item.itemIngotInconel690.name=Inconel-690 Ingot -item.itemHotIngotInconel690.name=Hot Inconel-690 Ingot -item.itemDustInconel690.name=Пыль Инконеля 690 -item.itemDustTinyInconel690.name=Tiny Pile of Inconel-690 Dust -item.itemDustSmallInconel690.name=Small Pile of Inconel-690 Dust -item.itemNuggetInconel690.name=Inconel-690 Nugget -item.itemPlateInconel690.name=Inconel-690 Plate -item.itemPlateDoubleInconel690.name=Double Inconel-690 Plate -item.itemBoltInconel690.name=Inconel-690 Bolt -item.itemRodInconel690.name=Inconel-690 Rod -item.itemRodLongInconel690.name=Long Inconel-690 Rod -item.itemRingInconel690.name=Inconel-690 Ring -item.itemScrewInconel690.name=Inconel-690 Screw -item.itemRotorInconel690.name=Inconel-690 Rotor -item.itemGearInconel690.name=Inconel-690 Gear -item.itemIngotInconel792.name=Inconel-792 Ingot -item.itemHotIngotInconel792.name=Hot Inconel-792 Ingot -item.itemDustInconel792.name=Пыль Инконеля 792 -item.itemDustTinyInconel792.name=Tiny Pile of Inconel-792 Dust -item.itemDustSmallInconel792.name=Small Pile of Inconel-792 Dust -item.itemNuggetInconel792.name=Inconel-792 Nugget -item.itemPlateInconel792.name=Inconel-792 Plate -item.itemPlateDoubleInconel792.name=Double Inconel-792 Plate -item.itemBoltInconel792.name=Inconel-792 Bolt -item.itemRodInconel792.name=Inconel-792 Rod -item.itemRodLongInconel792.name=Long Inconel-792 Rod -item.itemRingInconel792.name=Inconel-792 Ring -item.itemScrewInconel792.name=Inconel-792 Screw -item.itemRotorInconel792.name=Inconel-792 Rotor -item.itemGearInconel792.name=Inconel-792 Gear -item.itemDustEglinSteelBaseCompound.name=Пыль Эглинового Стального Базового Соединения -item.itemDustTinyEglinSteelBaseCompound.name=Tiny Pile of Eglin Steel Base Compound Dust -item.itemDustSmallEglinSteelBaseCompound.name=Small Pile of Eglin Steel Base Compound Dust -item.itemIngotEglinSteel.name=Eglin Steel Ingot -item.itemDustEglinSteel.name=Пыль Эглиновой Стали -item.itemDustTinyEglinSteel.name=Tiny Pile of Eglin Steel Dust -item.itemDustSmallEglinSteel.name=Small Pile of Eglin Steel Dust -item.itemNuggetEglinSteel.name=Eglin Steel Nugget -item.itemPlateEglinSteel.name=Eglin Steel Plate -item.itemPlateDoubleEglinSteel.name=Double Eglin Steel Plate -item.itemBoltEglinSteel.name=Eglin Steel Bolt -item.itemRodEglinSteel.name=Eglin Steel Rod -item.itemRodLongEglinSteel.name=Long Eglin Steel Rod -item.itemRingEglinSteel.name=Eglin Steel Ring -item.itemScrewEglinSteel.name=Eglin Steel Screw -item.itemRotorEglinSteel.name=Eglin Steel Rotor -item.itemGearEglinSteel.name=Eglin Steel Gear -item.itemIngotMaragingSteel250.name=Maraging Steel 250 Ingot -item.itemHotIngotMaragingSteel250.name=Hot Maraging Steel 250 Ingot -item.itemDustMaragingSteel250.name=Пыль Марагинской Стали 250 -item.itemDustTinyMaragingSteel250.name=Tiny Pile of Maraging Steel 250 Dust -item.itemDustSmallMaragingSteel250.name=Small Pile of Maraging Steel 250 Dust -item.itemNuggetMaragingSteel250.name=Maraging Steel 250 Nugget -item.itemPlateMaragingSteel250.name=Maraging Steel 250 Plate -item.itemPlateDoubleMaragingSteel250.name=Double Maraging Steel 250 Plate -item.itemBoltMaragingSteel250.name=Maraging Steel 250 Bolt -item.itemRodMaragingSteel250.name=Maraging Steel 250 Rod -item.itemRodLongMaragingSteel250.name=Long Maraging Steel 250 Rod -item.itemRingMaragingSteel250.name=Maraging Steel 250 Ring -item.itemScrewMaragingSteel250.name=Maraging Steel 250 Screw -item.itemRotorMaragingSteel250.name=Maraging Steel 250 Rotor -item.itemGearMaragingSteel250.name=Maraging Steel 250 Gear -item.itemIngotMaragingSteel300.name=Maraging Steel 300 Ingot -item.itemHotIngotMaragingSteel300.name=Hot Maraging Steel 300 Ingot -item.itemDustMaragingSteel300.name=Пыль Марагинской Стали 300 -item.itemDustTinyMaragingSteel300.name=Tiny Pile of Maraging Steel 300 Dust -item.itemDustSmallMaragingSteel300.name=Small Pile of Maraging Steel 300 Dust -item.itemNuggetMaragingSteel300.name=Maraging Steel 300 Nugget -item.itemPlateMaragingSteel300.name=Maraging Steel 300 Plate -item.itemPlateDoubleMaragingSteel300.name=Double Maraging Steel 300 Plate -item.itemBoltMaragingSteel300.name=Maraging Steel 300 Bolt -item.itemRodMaragingSteel300.name=Maraging Steel 300 Rod -item.itemRodLongMaragingSteel300.name=Long Maraging Steel 300 Rod -item.itemRingMaragingSteel300.name=Maraging Steel 300 Ring -item.itemScrewMaragingSteel300.name=Maraging Steel 300 Screw -item.itemRotorMaragingSteel300.name=Maraging Steel 300 Rotor -item.itemGearMaragingSteel300.name=Maraging Steel 300 Gear -item.itemIngotMaragingSteel350.name=Maraging Steel 350 Ingot -item.itemHotIngotMaragingSteel350.name=Hot Maraging Steel 350 Ingot -item.itemDustMaragingSteel350.name=Пыль Марагинской Стали 350 -item.itemDustTinyMaragingSteel350.name=Tiny Pile of Maraging Steel 350 Dust -item.itemDustSmallMaragingSteel350.name=Small Pile of Maraging Steel 350 Dust -item.itemNuggetMaragingSteel350.name=Maraging Steel 350 Nugget -item.itemPlateMaragingSteel350.name=Maraging Steel 350 Plate -item.itemPlateDoubleMaragingSteel350.name=Double Maraging Steel 350 Plate -item.itemBoltMaragingSteel350.name=Maraging Steel 350 Bolt -item.itemRodMaragingSteel350.name=Maraging Steel 350 Rod -item.itemRodLongMaragingSteel350.name=Long Maraging Steel 350 Rod -item.itemRingMaragingSteel350.name=Maraging Steel 350 Ring -item.itemScrewMaragingSteel350.name=Maraging Steel 350 Screw -item.itemRotorMaragingSteel350.name=Maraging Steel 350 Rotor -item.itemGearMaragingSteel350.name=Maraging Steel 350 Gear -item.itemIngotStellite.name=Stellite Ingot -item.itemHotIngotStellite.name=Hot Stellite Ingot -item.itemDustStellite.name=Пыль Стеллита -item.itemDustTinyStellite.name=Tiny Pile of Stellite Dust -item.itemDustSmallStellite.name=Small Pile of Stellite Dust -item.itemNuggetStellite.name=Stellite Nugget -item.itemPlateStellite.name=Stellite Plate -item.itemPlateDoubleStellite.name=Double Stellite Plate -item.itemBoltStellite.name=Stellite Bolt -item.itemRodStellite.name=Stellite Rod -item.itemRodLongStellite.name=Long Stellite Rod -item.itemRingStellite.name=Stellite Ring -item.itemScrewStellite.name=Stellite Screw -item.itemRotorStellite.name=Stellite Rotor -item.itemGearStellite.name=Stellite Gear -item.itemIngotTalonite.name=Talonite Ingot -item.itemDustTalonite.name=пыль Талонита -item.itemDustTinyTalonite.name=Tiny Pile of Talonite Dust -item.itemDustSmallTalonite.name=Small Pile of Talonite Dust -item.itemNuggetTalonite.name=Talonite Nugget -item.itemPlateTalonite.name=Talonite Plate -item.itemPlateDoubleTalonite.name=Double Talonite Plate -item.itemBoltTalonite.name=Talonite Bolt -item.itemRodTalonite.name=Talonite Rod -item.itemRodLongTalonite.name=Long Talonite Rod -item.itemRingTalonite.name=Talonite Ring -item.itemScrewTalonite.name=Talonite Screw -item.itemRotorTalonite.name=Talonite Rotor -item.itemGearTalonite.name=Talonite Gear -item.itemIngotHastelloyW.name=Hastelloy-W Ingot -item.itemDustHastelloyW.name=Пыль Хастеллоя W -item.itemDustTinyHastelloyW.name=Tiny Pile of Hastelloy-W Dust -item.itemDustSmallHastelloyW.name=Small Pile of Hastelloy-W Dust -item.itemNuggetHastelloyW.name=Hastelloy-W Nugget -item.itemPlateHastelloyW.name=Hastelloy-W Plate -item.itemPlateDoubleHastelloyW.name=Double Hastelloy-W Plate -item.itemBoltHastelloyW.name=Hastelloy-W Bolt -item.itemRodHastelloyW.name=Hastelloy-W Rod -item.itemRodLongHastelloyW.name=Long Hastelloy-W Rod -item.itemRingHastelloyW.name=Hastelloy-W Ring -item.itemScrewHastelloyW.name=Hastelloy-W Screw -item.itemRotorHastelloyW.name=Hastelloy-W Rotor -item.itemGearHastelloyW.name=Hastelloy-W Gear -item.itemIngotHastelloyX.name=Hastelloy-X Ingot -item.itemDustHastelloyX.name=Пыль Хастеллоя X -item.itemDustTinyHastelloyX.name=Tiny Pile of Hastelloy-X Dust -item.itemDustSmallHastelloyX.name=Small Pile of Hastelloy-X Dust -item.itemNuggetHastelloyX.name=Hastelloy-X Nugget -item.itemPlateHastelloyX.name=Hastelloy-X Plate -item.itemPlateDoubleHastelloyX.name=Double Hastelloy-X Plate -item.itemBoltHastelloyX.name=Hastelloy-X Bolt -item.itemRodHastelloyX.name=Hastelloy-X Rod -item.itemRodLongHastelloyX.name=Long Hastelloy-X Rod -item.itemRingHastelloyX.name=Hastelloy-X Ring -item.itemScrewHastelloyX.name=Hastelloy-X Screw -item.itemRotorHastelloyX.name=Hastelloy-X Rotor -item.itemGearHastelloyX.name=Hastelloy-X Gear -item.itemIngotHastelloyC276.name=Hastelloy-C276 Ingot -item.itemHotIngotHastelloyC276.name=Hot Hastelloy-C276 Ingot -item.itemDustHastelloyC276.name=Пыль Хастеллоя C276 -item.itemDustTinyHastelloyC276.name=Tiny Pile of Hastelloy-C276 Dust -item.itemDustSmallHastelloyC276.name=Small Pile of Hastelloy-C276 Dust -item.itemNuggetHastelloyC276.name=Hastelloy-C276 Nugget -item.itemPlateHastelloyC276.name=Hastelloy-C276 Plate -item.itemPlateDoubleHastelloyC276.name=Double Hastelloy-C276 Plate -item.itemBoltHastelloyC276.name=Hastelloy-C276 Bolt -item.itemRodHastelloyC276.name=Hastelloy-C276 Rod -item.itemRodLongHastelloyC276.name=Long Hastelloy-C276 Rod -item.itemRingHastelloyC276.name=Hastelloy-C276 Ring -item.itemScrewHastelloyC276.name=Hastelloy-C276 Screw -item.itemRotorHastelloyC276.name=Hastelloy-C276 Rotor -item.itemGearHastelloyC276.name=Hastelloy-C276 Gear -item.itemIngotHastelloyN.name=Hastelloy-N Ingot -item.itemHotIngotHastelloyN.name=Hot Hastelloy-N Ingot -item.itemDustHastelloyN.name=Пыль Хастеллоя N -item.itemDustTinyHastelloyN.name=Tiny Pile of Hastelloy-N Dust -item.itemDustSmallHastelloyN.name=Small Pile of Hastelloy-N Dust -item.itemNuggetHastelloyN.name=Hastelloy-N Nugget -item.itemPlateHastelloyN.name=Hastelloy-N Plate -item.itemPlateDoubleHastelloyN.name=Double Hastelloy-N Plate -item.itemBoltHastelloyN.name=Hastelloy-N Bolt -item.itemRodHastelloyN.name=Hastelloy-N Rod -item.itemRodLongHastelloyN.name=Long Hastelloy-N Rod -item.itemRingHastelloyN.name=Hastelloy-N Ring -item.itemScrewHastelloyN.name=Hastelloy-N Screw -item.itemRotorHastelloyN.name=Hastelloy-N Rotor -item.itemGearHastelloyN.name=Hastelloy-N Gear -item.itemIngotIncoloy020.name=Incoloy-020 Ingot -item.itemDustIncoloy020.name=Пыль Инколоя 020 -item.itemDustTinyIncoloy020.name=Tiny Pile of Incoloy-020 Dust -item.itemDustSmallIncoloy020.name=Small Pile of Incoloy-020 Dust -item.itemNuggetIncoloy020.name=Incoloy-020 Nugget -item.itemPlateIncoloy020.name=Incoloy-020 Plate -item.itemPlateDoubleIncoloy020.name=Double Incoloy-020 Plate -item.itemBoltIncoloy020.name=Incoloy-020 Bolt -item.itemRodIncoloy020.name=Incoloy-020 Rod -item.itemRodLongIncoloy020.name=Long Incoloy-020 Rod -item.itemRingIncoloy020.name=Incoloy-020 Ring -item.itemScrewIncoloy020.name=Incoloy-020 Screw -item.itemRotorIncoloy020.name=Incoloy-020 Rotor -item.itemGearIncoloy020.name=Incoloy-020 Gear -item.itemIngotIncoloyDS.name=Incoloy-DS Ingot -item.itemDustIncoloyDS.name=Пыль Инколоя DS -item.itemDustTinyIncoloyDS.name=Tiny Pile of Incoloy-DS Dust -item.itemDustSmallIncoloyDS.name=Small Pile of Incoloy-DS Dust -item.itemNuggetIncoloyDS.name=Incoloy-DS Nugget -item.itemPlateIncoloyDS.name=Incoloy-DS Plate -item.itemPlateDoubleIncoloyDS.name=Double Incoloy-DS Plate -item.itemBoltIncoloyDS.name=Incoloy-DS Bolt -item.itemRodIncoloyDS.name=Incoloy-DS Rod -item.itemRodLongIncoloyDS.name=Long Incoloy-DS Rod -item.itemRingIncoloyDS.name=Incoloy-DS Ring -item.itemScrewIncoloyDS.name=Incoloy-DS Screw -item.itemRotorIncoloyDS.name=Incoloy-DS Rotor -item.itemGearIncoloyDS.name=Incoloy-DS Gear -item.itemIngotIncoloyMA956.name=Incoloy-MA956 Ingot -item.itemHotIngotIncoloyMA956.name=Hot Incoloy-MA956 Ingot -item.itemDustIncoloyMA956.name=Пыль Инколоя MA956 -item.itemDustTinyIncoloyMA956.name=Tiny Pile of Incoloy-MA956 Dust -item.itemDustSmallIncoloyMA956.name=Small Pile of Incoloy-MA956 Dust -item.itemNuggetIncoloyMA956.name=Incoloy-MA956 Nugget -item.itemPlateIncoloyMA956.name=Incoloy-MA956 Plate -item.itemPlateDoubleIncoloyMA956.name=Double Incoloy-MA956 Plate -item.itemBoltIncoloyMA956.name=Incoloy-MA956 Bolt -item.itemRodIncoloyMA956.name=Incoloy-MA956 Rod -item.itemRodLongIncoloyMA956.name=Long Incoloy-MA956 Rod -item.itemRingIncoloyMA956.name=Incoloy-MA956 Ring -item.itemScrewIncoloyMA956.name=Incoloy-MA956 Screw -item.itemRotorIncoloyMA956.name=Incoloy-MA956 Rotor -item.itemGearIncoloyMA956.name=Incoloy-MA956 Gear -item.itemIngotGrisium.name=Grisium Ingot -item.itemHotIngotGrisium.name=Hot Grisium Ingot -item.itemDustGrisium.name=Пыль Грисиума -item.itemDustTinyGrisium.name=Tiny Pile of Grisium Dust -item.itemDustSmallGrisium.name=Small Pile of Grisium Dust -item.itemNuggetGrisium.name=Grisium Nugget -item.itemPlateGrisium.name=Grisium Plate -item.itemPlateDoubleGrisium.name=Double Grisium Plate -item.itemBoltGrisium.name=Grisium Bolt -item.itemRodGrisium.name=Grisium Rod -item.itemRodLongGrisium.name=Long Grisium Rod -item.itemRingGrisium.name=Grisium Ring -item.itemScrewGrisium.name=Grisium Screw -item.itemRotorGrisium.name=Grisium Rotor -item.itemGearGrisium.name=Grisium Gear -item.itemIngotHG1223.name=HG-1223 Ingot -item.itemDustHG1223.name=Пыль HG1223 -item.itemDustTinyHG1223.name=Tiny Pile of HG-1223 Dust -item.itemDustSmallHG1223.name=Small Pile of HG-1223 Dust -item.itemNuggetHG1223.name=HG-1223 Nugget -item.itemPlateHG1223.name=HG-1223 Plate -item.itemPlateDoubleHG1223.name=Double HG-1223 Plate -item.itemIngotTrinium.name=Trinium Ingot -item.itemDustTrinium.name=Trinium Dust -item.itemDustTinyTrinium.name=Tiny Pile of Trinium Dust -item.itemDustSmallTrinium.name=Small Pile of Trinium Dust -item.itemNuggetTrinium.name=Trinium Nugget -item.itemPlateTrinium.name=Trinium Plate -item.itemPlateDoubleTrinium.name=Double Trinium Plate -item.itemIngotRefinedTrinium.name=Refined Trinium Ingot -item.itemDustRefinedTrinium.name=Refined Trinium Dust -item.itemDustTinyRefinedTrinium.name=Tiny Pile of Refined Trinium Dust -item.itemDustSmallRefinedTrinium.name=Small Pile of Refined Trinium Dust -item.itemNuggetRefinedTrinium.name=Refined Trinium Nugget -item.itemPlateRefinedTrinium.name=Refined Trinium Plate -item.itemPlateDoubleRefinedTrinium.name=Double Refined Trinium Plate -item.itemIngotTriniumTitaniumAlloy.name=Trinium Titanium Alloy Ingot -item.itemHotIngotTriniumTitaniumAlloy.name=Hot Trinium Titanium Alloy Ingot -item.itemDustTriniumTitaniumAlloy.name=Пыль Сплава Тритий Титана -item.itemDustTinyTriniumTitaniumAlloy.name=Tiny Pile of Trinium Titanium Alloy Dust -item.itemDustSmallTriniumTitaniumAlloy.name=Small Pile of Trinium Titanium Alloy Dust -item.itemNuggetTriniumTitaniumAlloy.name=Trinium Titanium Alloy Nugget -item.itemPlateTriniumTitaniumAlloy.name=Trinium Titanium Alloy Plate -item.itemPlateDoubleTriniumTitaniumAlloy.name=Double Trinium Titanium Alloy Plate -item.itemBoltTriniumTitaniumAlloy.name=Trinium Titanium Alloy Bolt -item.itemRodTriniumTitaniumAlloy.name=Trinium Titanium Alloy Rod -item.itemRodLongTriniumTitaniumAlloy.name=Long Trinium Titanium Alloy Rod -item.itemRingTriniumTitaniumAlloy.name=Trinium Titanium Alloy Ring -item.itemScrewTriniumTitaniumAlloy.name=Trinium Titanium Alloy Screw -item.itemRotorTriniumTitaniumAlloy.name=Trinium Titanium Alloy Rotor -item.itemGearTriniumTitaniumAlloy.name=Trinium Titanium Alloy Gear -item.itemIngotTriniumNaquadahAlloy.name=Trinium Naquadah Alloy Ingot -item.itemDustTriniumNaquadahAlloy.name=Пыль Сплава Тритий Наквадаха -item.itemDustTinyTriniumNaquadahAlloy.name=Tiny Pile of Trinium Naquadah Alloy Dust -item.itemDustSmallTriniumNaquadahAlloy.name=Small Pile of Trinium Naquadah Alloy Dust -item.itemNuggetTriniumNaquadahAlloy.name=Trinium Naquadah Alloy Nugget -item.itemPlateTriniumNaquadahAlloy.name=Trinium Naquadah Alloy Plate -item.itemPlateDoubleTriniumNaquadahAlloy.name=Double Trinium Naquadah Alloy Plate -item.itemIngotTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Ingot -item.itemHotIngotTriniumNaquadahCarbonite.name=Hot Trinium Naquadah Carbonite Ingot -item.itemDustTriniumNaquadahCarbonite.name=Пыль Карбонита Тритий Наквадаха -item.itemDustTinyTriniumNaquadahCarbonite.name=Tiny Pile of Trinium Naquadah Carbonite Dust -item.itemDustSmallTriniumNaquadahCarbonite.name=Small Pile of Trinium Naquadah Carbonite Dust -item.itemNuggetTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Nugget -item.itemPlateTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Plate -item.itemPlateDoubleTriniumNaquadahCarbonite.name=Double Trinium Naquadah Carbonite Plate -item.itemBoltTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Bolt -item.itemRodTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Rod -item.itemRodLongTriniumNaquadahCarbonite.name=Long Trinium Naquadah Carbonite Rod -item.itemRingTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Ring -item.itemScrewTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Screw -item.itemRotorTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Rotor -item.itemGearTriniumNaquadahCarbonite.name=Trinium Naquadah Carbonite Gear -item.itemIngotQuantum.name=Quantum Ingot -item.itemHotIngotQuantum.name=Hot Quantum Ingot -item.itemDustQuantum.name=Пыль Кванта -item.itemDustTinyQuantum.name=Tiny Pile of Quantum Dust -item.itemDustSmallQuantum.name=Small Pile of Quantum Dust -item.itemNuggetQuantum.name=Quantum Nugget -item.itemPlateQuantum.name=Quantum Plate -item.itemPlateDoubleQuantum.name=Double Quantum Plate -item.itemBoltQuantum.name=Quantum Bolt -item.itemRodQuantum.name=Quantum Rod -item.itemRodLongQuantum.name=Long Quantum Rod -item.itemRingQuantum.name=Quantum Ring -item.itemScrewQuantum.name=Quantum Screw -item.itemRotorQuantum.name=Quantum Rotor -item.itemGearQuantum.name=Quantum Gear -item.itemDustFluoriteF.name=Fluorite (F) Dust -item.itemDustTinyFluoriteF.name=Tiny Pile of Fluorite (F) Dust -item.itemDustSmallFluoriteF.name=Small Pile of Fluorite (F) Dust -item.crushedFluoriteF.name=Crushed Fluorite (F) Ore -item.crushedCentrifugedFluoriteF.name=Centrifuged Crushed Fluorite (F) Ore -item.crushedPurifiedFluoriteF.name=Purified Crushed Fluorite (F) Ore -item.dustImpureFluoriteF.name=Impure Fluorite (F) Dust -item.dustPureFluoriteF.name=Purified Fluorite (F) Dust -item.itemDustCrocoite.name=Пыль Крокоита -item.itemDustTinyCrocoite.name=Tiny Pile of Crocoite Dust -item.itemDustSmallCrocoite.name=Small Pile of Crocoite Dust -item.crushedCrocoite.name=Crushed Crocoite Ore -item.crushedCentrifugedCrocoite.name=Centrifuged Crushed Crocoite Ore -item.crushedPurifiedCrocoite.name=Purified Crushed Crocoite Ore -item.dustImpureCrocoite.name=Impure Crocoite Dust -item.dustPureCrocoite.name=Purified Crocoite Dust -item.itemDustGeikielite.name=Пыль Гейкелита -item.itemDustTinyGeikielite.name=Tiny Pile of Geikielite Dust -item.itemDustSmallGeikielite.name=Small Pile of Geikielite Dust -item.crushedGeikielite.name=Crushed Geikielite Ore -item.crushedCentrifugedGeikielite.name=Centrifuged Crushed Geikielite Ore -item.crushedPurifiedGeikielite.name=Purified Crushed Geikielite Ore -item.dustImpureGeikielite.name=Impure Geikielite Dust -item.dustPureGeikielite.name=Purified Geikielite Dust -item.itemDustNichromite.name=Пыль Нихромата -item.itemDustTinyNichromite.name=Tiny Pile of Nichromite Dust -item.itemDustSmallNichromite.name=Small Pile of Nichromite Dust -item.crushedNichromite.name=Crushed Nichromite Ore -item.crushedCentrifugedNichromite.name=Centrifuged Crushed Nichromite Ore -item.crushedPurifiedNichromite.name=Purified Crushed Nichromite Ore -item.dustImpureNichromite.name=Impure Nichromite Dust -item.dustPureNichromite.name=Purified Nichromite Dust -item.itemDustTitanite.name=Пыль Титанита -item.itemDustTinyTitanite.name=Tiny Pile of Titanite Dust -item.itemDustSmallTitanite.name=Small Pile of Titanite Dust -item.crushedTitanite.name=Crushed Titanite Ore -item.crushedCentrifugedTitanite.name=Centrifuged Crushed Titanite Ore -item.crushedPurifiedTitanite.name=Purified Crushed Titanite Ore -item.dustImpureTitanite.name=Impure Titanite Dust -item.dustPureTitanite.name=Purified Titanite Dust -item.itemDustZimbabweite.name=Пыль Зимбабвайта -item.itemDustTinyZimbabweite.name=Tiny Pile of Zimbabweite Dust -item.itemDustSmallZimbabweite.name=Small Pile of Zimbabweite Dust -item.crushedZimbabweite.name=Crushed Zimbabweite Ore -item.crushedCentrifugedZimbabweite.name=Centrifuged Crushed Zimbabweite Ore -item.crushedPurifiedZimbabweite.name=Purified Crushed Zimbabweite Ore -item.dustImpureZimbabweite.name=Impure Zimbabweite Dust -item.dustPureZimbabweite.name=Purified Zimbabweite Dust -item.itemDustZirconolite.name=Пыль Цирконолита -item.itemDustTinyZirconolite.name=Tiny Pile of Zirconolite Dust -item.itemDustSmallZirconolite.name=Small Pile of Zirconolite Dust -item.crushedZirconolite.name=Crushed Zirconolite Ore -item.crushedCentrifugedZirconolite.name=Centrifuged Crushed Zirconolite Ore -item.crushedPurifiedZirconolite.name=Purified Crushed Zirconolite Ore -item.dustImpureZirconolite.name=Impure Zirconolite Dust -item.dustPureZirconolite.name=Purified Zirconolite Dust -item.itemDustGadoliniteCe.name=Пыль Пыль Гадолинита Ce -item.itemDustTinyGadoliniteCe.name=Tiny Pile of Gadolinite (Ce) Dust -item.itemDustSmallGadoliniteCe.name=Small Pile of Gadolinite (Ce) Dust -item.crushedGadoliniteCe.name=Crushed Gadolinite (Ce) Ore -item.crushedCentrifugedGadoliniteCe.name=Centrifuged Crushed Gadolinite (Ce) Ore -item.crushedPurifiedGadoliniteCe.name=Purified Crushed Gadolinite (Ce) Ore -item.dustImpureGadoliniteCe.name=Impure Gadolinite (Ce) Dust -item.dustPureGadoliniteCe.name=Purified Gadolinite (Ce) Dust -item.itemDustGadoliniteY.name=Пыль Гадолинита Y -item.itemDustTinyGadoliniteY.name=Tiny Pile of Gadolinite (Y) Dust -item.itemDustSmallGadoliniteY.name=Small Pile of Gadolinite (Y) Dust -item.crushedGadoliniteY.name=Crushed Gadolinite (Y) Ore -item.crushedCentrifugedGadoliniteY.name=Centrifuged Crushed Gadolinite (Y) Ore -item.crushedPurifiedGadoliniteY.name=Purified Crushed Gadolinite (Y) Ore -item.dustImpureGadoliniteY.name=Impure Gadolinite (Y) Dust -item.dustPureGadoliniteY.name=Purified Gadolinite (Y) Dust -item.itemDustLepersonnite.name=Пыль Леперсоннита -item.itemDustTinyLepersonnite.name=Tiny Pile of Lepersonnite Dust -item.itemDustSmallLepersonnite.name=Small Pile of Lepersonnite Dust -item.crushedLepersonnite.name=Crushed Lepersonnite Ore -item.crushedCentrifugedLepersonnite.name=Centrifuged Crushed Lepersonnite Ore -item.crushedPurifiedLepersonnite.name=Purified Crushed Lepersonnite Ore -item.dustImpureLepersonnite.name=Impure Lepersonnite Dust -item.dustPureLepersonnite.name=Purified Lepersonnite Dust -item.itemDustSamarskiteY.name=Пыль Самарскита Y -item.itemDustTinySamarskiteY.name=Tiny Pile of Samarskite (Y) Dust -item.itemDustSmallSamarskiteY.name=Small Pile of Samarskite (Y) Dust -item.crushedSamarskiteY.name=Crushed Samarskite (Y) Ore -item.crushedCentrifugedSamarskiteY.name=Centrifuged Crushed Samarskite (Y) Ore -item.crushedPurifiedSamarskiteY.name=Purified Crushed Samarskite (Y) Ore -item.dustImpureSamarskiteY.name=Impure Samarskite (Y) Dust -item.dustPureSamarskiteY.name=Purified Samarskite (Y) Dust -item.itemDustSamarskiteYb.name=Пыль Самарскита Yb -item.itemDustTinySamarskiteYb.name=Tiny Pile of Samarskite (Yb) Dust -item.itemDustSmallSamarskiteYb.name=Small Pile of Samarskite (Yb) Dust -item.crushedSamarskiteYb.name=Crushed Samarskite (Yb) Ore -item.crushedCentrifugedSamarskiteYb.name=Centrifuged Crushed Samarskite (Yb) Ore -item.crushedPurifiedSamarskiteYb.name=Purified Crushed Samarskite (Yb) Ore -item.dustImpureSamarskiteYb.name=Impure Samarskite (Yb) Dust -item.dustPureSamarskiteYb.name=Purified Samarskite (Yb) Dust -item.itemDustXenotime.name=Пыль Ксенотима -item.itemDustTinyXenotime.name=Tiny Pile of Xenotime Dust -item.itemDustSmallXenotime.name=Small Pile of Xenotime Dust -item.crushedXenotime.name=Crushed Xenotime Ore -item.crushedCentrifugedXenotime.name=Centrifuged Crushed Xenotime Ore -item.crushedPurifiedXenotime.name=Purified Crushed Xenotime Ore -item.dustImpureXenotime.name=Impure Xenotime Dust -item.dustPureXenotime.name=Purified Xenotime Dust -item.itemDustYttriaite.name=Yttriaite Dust -item.itemDustTinyYttriaite.name=Tiny Pile of Yttriaite Dust -item.itemDustSmallYttriaite.name=Small Pile of Yttriaite Dust -item.crushedYttriaite.name=Crushed Yttriaite Ore -item.crushedCentrifugedYttriaite.name=Centrifuged Crushed Yttriaite Ore -item.crushedPurifiedYttriaite.name=Purified Crushed Yttriaite Ore -item.dustImpureYttriaite.name=Impure Yttriaite Dust -item.dustPureYttriaite.name=Purified Yttriaite Dust -item.itemDustYttrialite.name=Пыль Иттриалита -item.itemDustTinyYttrialite.name=Tiny Pile of Yttrialite Dust -item.itemDustSmallYttrialite.name=Small Pile of Yttrialite Dust -item.crushedYttrialite.name=Crushed Yttrialite Ore -item.crushedCentrifugedYttrialite.name=Centrifuged Crushed Yttrialite Ore -item.crushedPurifiedYttrialite.name=Purified Crushed Yttrialite Ore -item.dustImpureYttrialite.name=Impure Yttrialite Dust -item.dustPureYttrialite.name=Purified Yttrialite Dust -item.itemDustYttrocerite.name=Пыль Иттроцерита -item.itemDustTinyYttrocerite.name=Tiny Pile of Yttrocerite Dust -item.itemDustSmallYttrocerite.name=Small Pile of Yttrocerite Dust -item.crushedYttrocerite.name=Crushed Yttrocerite Ore -item.crushedCentrifugedYttrocerite.name=Centrifuged Crushed Yttrocerite Ore -item.crushedPurifiedYttrocerite.name=Purified Crushed Yttrocerite Ore -item.dustImpureYttrocerite.name=Impure Yttrocerite Dust -item.dustPureYttrocerite.name=Purified Yttrocerite Dust -item.itemDustZircon.name=Пыль Циркона -item.itemDustTinyZircon.name=Tiny Pile of Zircon Dust -item.itemDustSmallZircon.name=Small Pile of Zircon Dust -item.crushedZircon.name=Crushed Zircon Ore -item.crushedCentrifugedZircon.name=Centrifuged Crushed Zircon Ore -item.crushedPurifiedZircon.name=Purified Crushed Zircon Ore -item.dustImpureZircon.name=Impure Zircon Dust -item.dustPureZircon.name=Purified Zircon Dust -item.itemDustPolycrase.name=Пыль Поликраса -item.itemDustTinyPolycrase.name=Tiny Pile of Polycrase Dust -item.itemDustSmallPolycrase.name=Small Pile of Polycrase Dust -item.crushedPolycrase.name=Crushed Polycrase Ore -item.crushedCentrifugedPolycrase.name=Centrifuged Crushed Polycrase Ore -item.crushedPurifiedPolycrase.name=Purified Crushed Polycrase Ore -item.dustImpurePolycrase.name=Impure Polycrase Dust -item.dustPurePolycrase.name=Purified Polycrase Dust -item.itemDustZircophyllite.name=Пыль Циркофиллита -item.itemDustTinyZircophyllite.name=Tiny Pile of Zircophyllite Dust -item.itemDustSmallZircophyllite.name=Small Pile of Zircophyllite Dust -item.crushedZircophyllite.name=Crushed Zircophyllite Ore -item.crushedCentrifugedZircophyllite.name=Centrifuged Crushed Zircophyllite Ore -item.crushedPurifiedZircophyllite.name=Purified Crushed Zircophyllite Ore -item.dustImpureZircophyllite.name=Impure Zircophyllite Dust -item.dustPureZircophyllite.name=Purified Zircophyllite Dust -item.itemDustZirkelite.name=Пыль Циркелита -item.itemDustTinyZirkelite.name=Tiny Pile of Zirkelite Dust -item.itemDustSmallZirkelite.name=Small Pile of Zirkelite Dust -item.crushedZirkelite.name=Crushed Zirkelite Ore -item.crushedCentrifugedZirkelite.name=Centrifuged Crushed Zirkelite Ore -item.crushedPurifiedZirkelite.name=Purified Crushed Zirkelite Ore -item.dustImpureZirkelite.name=Impure Zirkelite Dust -item.dustPureZirkelite.name=Purified Zirkelite Dust -item.itemDustLanthaniteLa.name=Пыль Лантанита La -item.itemDustTinyLanthaniteLa.name=Tiny Pile of Lanthanite (La) Dust -item.itemDustSmallLanthaniteLa.name=Small Pile of Lanthanite (La) Dust -item.crushedLanthaniteLa.name=Crushed Lanthanite (La) Ore -item.crushedCentrifugedLanthaniteLa.name=Centrifuged Crushed Lanthanite (La) Ore -item.crushedPurifiedLanthaniteLa.name=Purified Crushed Lanthanite (La) Ore -item.dustImpureLanthaniteLa.name=Impure Lanthanite (La) Dust -item.dustPureLanthaniteLa.name=Purified Lanthanite (La) Dust -item.itemDustLanthaniteCe.name=Пыль Лантанита Ce -item.itemDustTinyLanthaniteCe.name=Tiny Pile of Lanthanite (Ce) Dust -item.itemDustSmallLanthaniteCe.name=Small Pile of Lanthanite (Ce) Dust -item.crushedLanthaniteCe.name=Crushed Lanthanite (Ce) Ore -item.crushedCentrifugedLanthaniteCe.name=Centrifuged Crushed Lanthanite (Ce) Ore -item.crushedPurifiedLanthaniteCe.name=Purified Crushed Lanthanite (Ce) Ore -item.dustImpureLanthaniteCe.name=Impure Lanthanite (Ce) Dust -item.dustPureLanthaniteCe.name=Purified Lanthanite (Ce) Dust -item.itemDustLanthaniteNd.name=Пыль Лантанита Nd -item.itemDustTinyLanthaniteNd.name=Tiny Pile of Lanthanite (Nd) Dust -item.itemDustSmallLanthaniteNd.name=Small Pile of Lanthanite (Nd) Dust -item.crushedLanthaniteNd.name=Crushed Lanthanite (Nd) Ore -item.crushedCentrifugedLanthaniteNd.name=Centrifuged Crushed Lanthanite (Nd) Ore -item.crushedPurifiedLanthaniteNd.name=Purified Crushed Lanthanite (Nd) Ore -item.dustImpureLanthaniteNd.name=Impure Lanthanite (Nd) Dust -item.dustPureLanthaniteNd.name=Purified Lanthanite (Nd) Dust -item.itemDustAgarditeY.name=Пыль Агардита Y -item.itemDustTinyAgarditeY.name=Tiny Pile of Agardite (Y) Dust -item.itemDustSmallAgarditeY.name=Small Pile of Agardite (Y) Dust -item.crushedAgarditeY.name=Crushed Agardite (Y) Ore -item.crushedCentrifugedAgarditeY.name=Centrifuged Crushed Agardite (Y) Ore -item.crushedPurifiedAgarditeY.name=Purified Crushed Agardite (Y) Ore -item.dustImpureAgarditeY.name=Impure Agardite (Y) Dust -item.dustPureAgarditeY.name=Purified Agardite (Y) Dust -item.itemDustAgarditeCd.name=Пыль Агардита Cd -item.itemDustTinyAgarditeCd.name=Tiny Pile of Agardite (Cd) Dust -item.itemDustSmallAgarditeCd.name=Small Pile of Agardite (Cd) Dust -item.crushedAgarditeCd.name=Crushed Agardite (Cd) Ore -item.crushedCentrifugedAgarditeCd.name=Centrifuged Crushed Agardite (Cd) Ore -item.crushedPurifiedAgarditeCd.name=Purified Crushed Agardite (Cd) Ore -item.dustImpureAgarditeCd.name=Impure Agardite (Cd) Dust -item.dustPureAgarditeCd.name=Purified Agardite (Cd) Dust -item.itemDustAgarditeLa.name=Пыль Агардита La -item.itemDustTinyAgarditeLa.name=Tiny Pile of Agardite (La) Dust -item.itemDustSmallAgarditeLa.name=Small Pile of Agardite (La) Dust -item.crushedAgarditeLa.name=Crushed Agardite (La) Ore -item.crushedCentrifugedAgarditeLa.name=Centrifuged Crushed Agardite (La) Ore -item.crushedPurifiedAgarditeLa.name=Purified Crushed Agardite (La) Ore -item.dustImpureAgarditeLa.name=Impure Agardite (La) Dust -item.dustPureAgarditeLa.name=Purified Agardite (La) Dust -item.itemDustAgarditeNd.name=Пыль Агардита Nd -item.itemDustTinyAgarditeNd.name=Tiny Pile of Agardite (Nd) Dust -item.itemDustSmallAgarditeNd.name=Small Pile of Agardite (Nd) Dust -item.crushedAgarditeNd.name=Crushed Agardite (Nd) Ore -item.crushedCentrifugedAgarditeNd.name=Centrifuged Crushed Agardite (Nd) Ore -item.crushedPurifiedAgarditeNd.name=Purified Crushed Agardite (Nd) Ore -item.dustImpureAgarditeNd.name=Impure Agardite (Nd) Dust -item.dustPureAgarditeNd.name=Purified Agardite (Nd) Dust -item.itemDustHibonite.name=Пыль Гибонита -item.itemDustTinyHibonite.name=Tiny Pile of Hibonite Dust -item.itemDustSmallHibonite.name=Small Pile of Hibonite Dust -item.crushedHibonite.name=Crushed Hibonite Ore -item.crushedCentrifugedHibonite.name=Centrifuged Crushed Hibonite Ore -item.crushedPurifiedHibonite.name=Purified Crushed Hibonite Ore -item.dustImpureHibonite.name=Impure Hibonite Dust -item.dustPureHibonite.name=Purified Hibonite Dust -item.itemDustCerite.name=Пыль Церита -item.itemDustTinyCerite.name=Tiny Pile of Cerite Dust -item.itemDustSmallCerite.name=Small Pile of Cerite Dust -item.crushedCerite.name=Crushed Cerite Ore -item.crushedCentrifugedCerite.name=Centrifuged Crushed Cerite Ore -item.crushedPurifiedCerite.name=Purified Crushed Cerite Ore -item.dustImpureCerite.name=Impure Cerite Dust -item.dustPureCerite.name=Purified Cerite Dust -item.itemDustFluorcaphite.name=Пыль Фторокафита -item.itemDustTinyFluorcaphite.name=Tiny Pile of Fluorcaphite Dust -item.itemDustSmallFluorcaphite.name=Small Pile of Fluorcaphite Dust -item.crushedFluorcaphite.name=Crushed Fluorcaphite Ore -item.crushedCentrifugedFluorcaphite.name=Centrifuged Crushed Fluorcaphite Ore -item.crushedPurifiedFluorcaphite.name=Purified Crushed Fluorcaphite Ore -item.dustImpureFluorcaphite.name=Impure Fluorcaphite Dust -item.dustPureFluorcaphite.name=Purified Fluorcaphite Dust -item.itemDustFlorencite.name=Пыль Флоренцита -item.itemDustTinyFlorencite.name=Tiny Pile of Florencite Dust -item.itemDustSmallFlorencite.name=Small Pile of Florencite Dust -item.crushedFlorencite.name=Crushed Florencite Ore -item.crushedCentrifugedFlorencite.name=Centrifuged Crushed Florencite Ore -item.crushedPurifiedFlorencite.name=Purified Crushed Florencite Ore -item.dustImpureFlorencite.name=Impure Florencite Dust -item.dustPureFlorencite.name=Purified Florencite Dust -item.itemDustCryoliteF.name=Cryolite (F) Dust -item.itemDustTinyCryoliteF.name=Tiny Pile of Cryolite (F) Dust -item.itemDustSmallCryoliteF.name=Small Pile of Cryolite (F) Dust -item.crushedCryoliteF.name=Crushed Cryolite (F) Ore -item.crushedCentrifugedCryoliteF.name=Centrifuged Crushed Cryolite (F) Ore -item.crushedPurifiedCryoliteF.name=Purified Crushed Cryolite (F) Ore -item.dustImpureCryoliteF.name=Impure Cryolite (F) Dust -item.dustPureCryoliteF.name=Purified Cryolite (F) Dust -item.itemDustTinyYellorium.name=Tiny Pile of Yellorium Dust -item.itemDustSmallYellorium.name=Small Pile of Yellorium Dust -item.crushedYellorium.name=Crushed Yellorium Ore -item.crushedCentrifugedYellorium.name=Centrifuged Crushed Yellorium Ore -item.crushedPurifiedYellorium.name=Purified Crushed Yellorium Ore -item.dustImpureYellorium.name=Impure Yellorium Dust -item.dustPureYellorium.name=Purified Yellorium Dust - -//Shards -item.itemDrained.name=Drained Shard -item.itemDustInfusedAir.name=Infused Air Dust -item.itemDustInfusedFire.name=Infused Fire Dust -item.itemDustInfusedEarth.name=Infused Earth Dust -item.itemDustInfusedWater.name=Infused Water Dust - - -//Misc Material Items -item.itemDustLithiumCarbonate.name=Lithium Carbonate Dust -item.itemDustSmallLithiumCarbonate.name=Small Pile of Lithium Carbonate Dust -item.itemDustTinyLithiumCarbonate.name=Tiny Pile of Lithium Carbonate Dust -item.itemDustLithiumPeroxide.name=Lithium Peroxide Dust -item.itemDustSmallLithiumPeroxide.name=Small Pile of Lithium Peroxide Dust -item.itemDustTinyLithiumPeroxide.name=Tiny Pile of Lithium Peroxide Dust -item.itemDustLithiumHydroxide.name=Lithium Hydroxide Dust -item.itemDustSmallLithiumHydroxide.name=Small Pile of Lithium Hydroxide Dust -item.itemDustTinyLithiumHydroxide.name=Tiny Pile of Lithium Hydroxide Dust -item.itemDustCalciumHydroxide.name=Hydrated Lime Dust -item.itemDustSmallCalciumHydroxide.name=Small Pile of Hydrated Lime Dust -item.itemDustTinyCalciumHydroxide.name=Tiny Pile of Hydrated Lime Dust -item.itemDustCalciumCarbonate.name=Calcium Carbonate Dust -item.itemDustSmallCalciumCarbonate.name=Small Pile of Calcium Carbonate Dust -item.itemDustTinyCalciumCarbonate.name=Tiny Pile of Calcium Carbonate Dust -item.itemDustGypsum.name=Calcium Sulfate (Gypsum) Dust -item.itemDustSmallGypsum.name=Small Pile of Calcium Sulfate (Gypsum) Dust -item.itemDustTinyGypsum.name=Tiny Pile of Calcium Sulfate (Gypsum) Dust -item.itemDustLi2CO3CaOH2.name=Li2CO3 + Ca(OH)2 Compound Dust -item.itemDustSmallLi2CO3CaOH2.name=Small Pile of Li2CO3 + Ca(OH)2 Compound Dust -item.itemDustTinyLi2CO3CaOH2.name=Tiny Pile of Li2CO3 + Ca(OH)2 Compound Dust -item.itemDustLi2BeF4.name=Li2BeF4 Fuel Compound Dust -item.itemDustSmallLi2BeF4.name=Small Pile of Li2BeF4 Fuel Compound Dust -item.itemDustTinyLi2BeF4.name=Tiny Pile of Li2BeF4 Fuel Compound Dust -item.Li2BeF4.name=Li2BeF4 Cell -item.itemCircuitLFTR.name=§aControl Circuit -item.itemZirconiumPellet.name=Zirconium Pellet [ZrCl₄] -item.itemDustZrCl4.name=ZrCl4 Dust -item.itemDustSmallZrCl4.name=Small Pile of ZrCl4 Dust -item.itemDustTinyZrCl4.name=Tiny Pile of ZrCl4 Dust -item.itemDustCookedZrCl4.name=Cooked ZrCl4 Dust -item.itemDustSmallCookedZrCl4.name=Small Pile of Cooked ZrCl4 Dust -item.itemDustTinyCookedZrCl4.name=Tiny Pile of Cooked ZrCl4 Dust -item.itemDustUN18Fertiliser.name=UN-18 Fertiliser Dust -item.itemDustSmallUN18Fertiliser.name=Small Pile of UN-18 Fertiliser Dust -item.itemDustTinyUN18Fertiliser.name=Tiny Pile of UN-18 Fertiliser Dust -item.itemDustUN32Fertiliser.name=UN-32 Fertiliser Dust -item.itemDustSmallUN32Fertiliser.name=Small Pile of UN-32 Fertiliser Dust -item.itemDustTinyUN32Fertiliser.name=Tiny Pile of UN-32 Fertiliser Dust - - -//Multitools -item.AluminiumMultipick.name=Aluminium Multipick -item.AluminiumMultispade.name=Aluminium Multispade -item.BerylliumMultispade.name=Beryllium Multispade -item.BismuthMultispade.name=Bismuth Multispade -item.CarbonMultispade.name=Carbon Multispade -item.ChromeMultipick.name=Chrome Multipick -item.ChromeMultispade.name=Chrome Multispade -item.CobaltMultipick.name=Cobalt Multipick -item.CobaltMultispade.name=Cobalt Multispade -item.GoldMultispade.name=Gold Multispade -item.IridiumMultipick.name=Iridium Multipick -item.IridiumMultispade.name=Iridium Multispade -item.IronMultipick.name=Iron Multipick -item.IronMultispade.name=Iron Multispade -item.LeadMultispade.name=Lead Multispade -item.ManganeseMultipick.name=Manganese Multipick -item.ManganeseMultispade.name=Manganese Multispade -item.MolybdenumMultipick.name=Molybdenum Multipick -item.MolybdenumMultispade.name=Molybdenum Multispade -item.NeodymiumMultipick.name=Neodymium Multipick -item.NeodymiumMultispade.name=Neodymium Multispade -item.NeutroniumMultipick.name=Neutronium Multipick -item.NeutroniumMultispade.name=Neutronium Multispade -item.NickelMultispade.name=Nickel Multispade -item.OsmiumMultipick.name=Osmium Multipick -item.OsmiumMultispade.name=Osmium Multispade -item.PalladiumMultipick.name=Palladium Multipick -item.PalladiumMultispade.name=Palladium Multispade -item.PlatinumMultispade.name=Platinum Multispade -item.Plutonium241Multipick.name=Plutonium 241 Multipick -item.Plutonium241Multispade.name=Plutonium 241 Multispade -item.SilverMultispade.name=Silver Multispade -item.ThoriumMultipick.name=Thorium Multipick -item.ThoriumMultispade.name=Thorium Multispade -item.TitaniumMultipick.name=Titanium Multipick -item.TitaniumMultispade.name=Titanium Multispade -item.TungstenMultipick.name=Tungsten Multipick -item.TungstenMultispade.name=Tungsten Multispade -item.Uranium235Multipick.name=Uranium 235 Multipick -item.Uranium235Multispade.name=Uranium 235 Multispade -item.DarkSteelMultipick.name=Dark Steel Multipick -item.DarkSteelMultispade.name=Dark Steel Multispade -item.DuraniumMultipick.name=Duranium Multipick -item.DuraniumMultispade.name=Duranium Multispade -item.InfusedGoldMultispade.name=Infused Gold Multispade -item.NaquadahMultipick.name=Naquadah Multipick -item.NaquadahMultispade.name=Naquadah Multispade -item.NaquadahAlloyMultipick.name=Naquadah Alloy Multipick -item.NaquadahAlloyMultispade.name=Naquadah Alloy Multispade -item.NaquadriaMultipick.name=Naquadria Multipick -item.NaquadriaMultispade.name=Naquadria Multispade -item.TritaniumMultipick.name=Tritanium Multipick -item.TritaniumMultispade.name=Tritanium Multispade -item.OsmiridiumMultipick.name=Osmiridium Multipick -item.OsmiridiumMultispade.name=Osmiridium Multispade -item.BrassMultispade.name=Brass Multispade -item.BronzeMultipick.name=Bronze Multipick -item.BronzeMultispade.name=Bronze Multispade -item.CupronickelMultispade.name=Cupronickel Multispade -item.ElectrumMultispade.name=Electrum Multispade -item.InvarMultipick.name=Invar Multipick -item.InvarMultispade.name=Invar Multispade -item.KanthalMultispade.name=Kanthal Multispade -item.MagnaliumMultipick.name=Magnalium Multipick -item.MagnaliumMultispade.name=Magnalium Multispade -item.NichromeMultispade.name=Nichrome Multispade -item.PigIronMultipick.name=Pig Iron Multipick -item.PigIronMultispade.name=Pig Iron Multispade -item.PolycaprolactamMultispade.name=Polycaprolactam Multispade -item.PolytetrafluoroethyleneMultispade.name=Polytetrafluoroethylene Multispade -item.NickelZincFerriteMultispade.name=Nickel-Zinc Ferrite Multispade -item.PolyphenyleneSulfideMultispade.name=Polyphenylene Sulfide Multispade -item.StainlessSteelMultipick.name=Stainless Steel Multipick -item.StainlessSteelMultispade.name=Stainless Steel Multispade -item.SteelMultipick.name=Steel Multipick -item.SteelMultispade.name=Steel Multispade -item.TinAlloyMultispade.name=Tin Alloy Multispade -item.UltimetMultipick.name=Ultimet Multipick -item.UltimetMultispade.name=Ultimet Multispade -item.WroughtIronMultipick.name=Wrought Iron Multipick -item.WroughtIronMultispade.name=Wrought Iron Multispade -item.SterlingSilverMultipick.name=Sterling Silver Multipick -item.SterlingSilverMultispade.name=Sterling Silver Multispade -item.RoseGoldMultipick.name=Rose Gold Multipick -item.RoseGoldMultispade.name=Rose Gold Multispade -item.BlackBronzeMultipick.name=Black Bronze Multipick -item.BlackBronzeMultispade.name=Black Bronze Multispade -item.BismuthBronzeMultipick.name=Bismuth Bronze Multipick -item.BismuthBronzeMultispade.name=Bismuth Bronze Multispade -item.BlackSteelMultipick.name=Black Steel Multipick -item.BlackSteelMultispade.name=Black Steel Multispade -item.RedSteelMultipick.name=Red Steel Multipick -item.RedSteelMultispade.name=Red Steel Multispade -item.BlueSteelMultipick.name=Blue Steel Multipick -item.BlueSteelMultispade.name=Blue Steel Multispade -item.DamascusSteelMultipick.name=Damascus Steel Multipick -item.DamascusSteelMultispade.name=Damascus Steel Multispade -item.MithrilMultispade.name=Mithril Multispade -item.CobaltBrassMultipick.name=Cobalt Brass Multipick -item.CobaltBrassMultispade.name=Cobalt Brass Multispade -item.ThaumiumMultipick.name=Thaumium Multipick -item.ThaumiumMultispade.name=Thaumium Multispade -item.HSSGMultipick.name=HSS-G Multipick -item.HSSGMultispade.name=HSS-G Multispade -item.HSSEMultipick.name=HSS-E Multipick -item.HSSEMultispade.name=HSS-E Multispade -item.HSSSMultipick.name=HSS-S Multipick -item.HSSSMultispade.name=HSS-S Multispade -item.HastelloyC276Multipick.name=Hastelloy-C276 Multipick -item.HastelloyC276Multispade.name=Hastelloy-C276 Multispade -item.HastelloyNMultipick.name=Hastelloy-N Multipick -item.HastelloyNMultispade.name=Hastelloy-N Multispade -item.HastelloyWMultipick.name=Hastelloy-W Multipick -item.HastelloyWMultispade.name=Hastelloy-W Multispade -item.HastelloyXMultipick.name=Hastelloy-X Multipick -item.HastelloyXMultispade.name=Hastelloy-X Multispade -item.Incoloy020Multipick.name=Incoloy-020 Multipick -item.Incoloy020Multispade.name=Incoloy-020 Multispade -item.IncoloyDSMultipick.name=Incoloy-DS Multipick -item.IncoloyDSMultispade.name=Incoloy-DS Multispade -item.IncoloyMA956Multipick.name=Incoloy-MA956 Multipick -item.IncoloyMA956Multispade.name=Incoloy-MA956 Multispade -item.Inconel625Multipick.name=Inconel-625 Multipick -item.Inconel625Multispade.name=Inconel-625 Multispade -item.Inconel690Multipick.name=Inconel-690 Multipick -item.Inconel690Multispade.name=Inconel-690 Multispade -item.Inconel792Multipick.name=Inconel-792 Multipick -item.Inconel792Multispade.name=Inconel-792 Multispade -item.GrisiumMultipick.name=Grisium Multipick -item.GrisiumMultispade.name=Grisium Multispade -item.Tantalloy60Multipick.name=Tantalloy-60 Multipick -item.Tantalloy60Multispade.name=Tantalloy-60 Multispade -item.Tantalloy61Multipick.name=Tantalloy-61 Multipick -item.Tantalloy61Multispade.name=Tantalloy-61 Multispade -item.StaballoyMultipick.name=Staballoy Multipick -item.StaballoyMultispade.name=Staballoy Multispade -item.QuantumMultipick.name=Quantum Multipick -item.QuantumMultispade.name=Quantum Multispade -item.PotinMultipick.name=Potin Multipick -item.PotinMultispade.name=Potin Multispade -item.TumbagaMultipick.name=Tumbaga Multipick -item.TumbagaMultispade.name=Tumbaga Multispade -item.TaloniteMultipick.name=Talonite Multipick -item.TaloniteMultispade.name=Talonite Multispade -item.StelliteMultipick.name=Stellite Multipick -item.StelliteMultispade.name=Stellite Multispade -item.TungstenCarbideMultipick.name=Tungsten Carbide Multipick -item.TungstenCarbideMultispade.name=Tungsten Carbide Multispade -item.TantalumCarbideMultipick.name=Tantalum Carbide Multipick -item.TantalumCarbideMultispade.name=Tantalum Carbide Multispade - - -//Items that Don't fit into another category - -//Plates -item.itemPlateClay.name=Clay Plate -item.itemPlateDoubleClay.name=Double Clay Plate -item.itemPlateLithium.name=Lithium Plate -item.itemPlateDoubleEuropium.name=Double Europium Plate - -//Gears -item.itemSmallGearWroughtIron.name=Small Wrought Iron Gear - -//Misc -item.itemFoilUranium235.name=Uranium 235 Foil - -item.itemBoilerChassis_0.name=Advanced Boiler Chassis [Tier 1] -item.itemDehydratorCoilWire_0.name=Coil Wire [EV] -item.itemDehydratorCoil_0.name=Dehydrator Coil [EV] -item.itemAirFilter_0.name=Air Filter -item.itemAirFilter_1.name=Air Filter -item.itemLavaFilter.name=Lava Filter -item.itemGrindleTablet.name=Git -item.itemDragonJar.name=Dragon Capture Jar -item.CoalGas.name=Coal Gas Cell -item.Ethylbenzene.name=Ethylbenzene Cell -item.Anthracene.name=Anthracene Cell -item.Toluene.name=Toluene Cell -item.CoalTar.name=Coal Tar Cell -item.CoalTarOil.name=Coal Tar Oil Cell -item.SulfuricCoalTarOil.name=Sulfuric Coal Tar Oil Cell -item.Naphthalene.name=Naphthalene Cell -item.itemDustPhthalicAnhydride.name=Phthalic Anhydride Dust -item.itemDustSmallPhthalicAnhydride.name=Small Pile of Phthalic Anhydride Dust -item.itemDustTinyPhthalicAnhydride.name=Tiny Pile of Phthalic Anhydride Dust -item.2Ethylanthraquinone.name=2-Ethylanthraquinone Cell -item.2Ethylanthrahydroquinone.name=2-Ethylanthrahydroquinone Cell -item.HydrogenPeroxide.name=Hydrogen Peroxide Cell -item.itemDustLithiumHydroperoxide.name=Lithium Hydroperoxide Dust -item.itemDustSmallLithiumHydroperoxide.name=Small Pile of Lithium Hydroperoxide Dust -item.itemDustTinyLithiumHydroperoxide.name=Tiny Pile of Lithium Hydroperoxide Dust -item.LithiumPeroxide.name=Lithium Peroxide Cell -item.itemPotionChilly.name=Chilly Potion -item.itemKeyBig4000DC's.name=4000DC's Big Key -item.itemGemDull.name=Dull Gemstone -item.itemMushroomForest.name=Forest Mushroom -item.itemPlateVanadium.name=Vanadium Plate -item.thekeytothecity.name=The Key to the City -item.modularbauble.name=Modular Bauble -item.itemDustSoularium.name=Soularium Dust -item.itemDustSmallSoularium.name=Small Pile of Soularium Dust -item.itemDustTinySoularium.name=Tiny Pile of Soularium Dust -item.itemDustRedstoneAlloy.name=Redstone Alloy Dust -item.itemDustSmallRedstoneAlloy.name=Small Pile of Redstone Alloy Dust -item.itemDustTinyRedstoneAlloy.name=Tiny Pile of Redstone Alloy Dust -item.itemDustElectricalSteel.name=Electrical Steel Dust -item.itemDustSmallElectricalSteel.name=Small Pile of Electrical Steel Dust -item.itemDustTinyElectricalSteel.name=Tiny Pile of Electrical Steel Dust -item.itemDustPulsatingIron.name=Pulsating Iron Dust -item.itemDustSmallPulsatingIron.name=Small Pile of Pulsating Iron Dust -item.itemDustTinyPulsatingIron.name=Tiny Pile of Pulsating Iron Dust -item.itemDustEnergeticAlloy.name=Energetic Alloy Dust -item.itemDustSmallEnergeticAlloy.name=Small Pile of Energetic Alloy Dust -item.itemDustTinyEnergeticAlloy.name=Tiny Pile of Energetic Alloy Dust -item.itemDustVibrantAlloy.name=Vibrant Alloy Dust -item.itemDustSmallVibrantAlloy.name=Small Pile of Vibrant Alloy Dust -item.itemDustTinyVibrantAlloy.name=Tiny Pile of Vibrant Alloy Dust -item.itemDustConductiveIron.name=Conductive Iron Dust -item.itemDustSmallConductiveIron.name=Small Pile of Conductive Iron Dust -item.itemDustTinyConductiveIron.name=Tiny Pile of Conductive Iron Dust -item.itemPlateSoularium.name=Soularium plate -item.itemPlateRedstoneAlloy.name=Redstone Alloy plate -item.itemPlateElectricalSteel.name=Electrical Steel plate -item.itemPlatePhasedIron.name=Phased Iron plate -item.itemPlateEnergeticAlloy.name=Energetic Alloy plate -item.itemPlateVibrantAlloy.name=Vibrant Alloy plate -item.itemPlateConductiveIron.name=Conductive Iron plate -item.itemPlateBlutonium.name=Blutonium plate -item.itemPlateCyanite.name=Cyanite plate -item.itemPlateLudicrite.name=Ludicrite plate -item.itemPlateVoid.name=Void plate -item.itemPlateDimensionShard.name=Dimensional Shard plate -item.rfEUBattery.name=Universally Chargeable Battery -item.personalCloakingDevice.name=§9Personal Cloaking Device§7 -item.personalHealingDevice.name=§9Personal Healing NanoBooster§r -item.SlowBuildingRing.name=§eSlow Building Ring§7 -item.itemStaballoyPickaxe.name=Туннелекопатель -item.itemStaballoyAxe.name=Лесоруб -item.itemSandstoneHammer.name=Дробилка булыжников -item.itemBufferCore1.name=Энергетическое ядро [ULV]. -item.itemBufferCore2.name=Энергетическое ядро [LV]. -item.itemBufferCore3.name=Энергетическое ядро [MV]. -item.itemBufferCore4.name=Энергетическое ядро [HV]. -item.itemBufferCore5.name=Энергетическое ядро [EV]. -item.itemBufferCore6.name=Энергетическое ядро [IV]. -item.itemBufferCore7.name=Энергетическое ядро [LuV]. -item.itemBufferCore8.name=Энергетическое ядро [ZPM]. -item.itemBufferCore9.name=Энергетическое ядро [UV]. -item.itemBufferCore10.name=Энергетическое ядро [MAX]. -item.itemPLACEHOLDER_Circuit.name=Quark Manipulator (UV) -item.itembookgt.name=§oThermal Boiler Manual - -// Everglade Items -item.everglades.trigger.name=§6Alkalus Disk [§cActivated§6] - - - - - - - -//Blocks -tile.blockRainforestOakLog.name=Тропическое дерево -tile.blockRainforestOakLeaves.name=Тропические листва -tile.blockRainforestOakSapling.name=Тропические саженцы - -//TC Stuff -tile.blockFastAlchemyFurnace.0.name=Broken -tile.blockFastArcaneAlembic.1.name=Broken - -//Frame Boxes -tile.Block of Selenium.name=Блок Селена -tile.Selenium Frame Box.name=Каркас Из Селена -tile.Block of Bromine.name=Блок Брома -tile.Block of Strontium.name=Блок Стронция -tile.Strontium Frame Box.name=Каркас Из Стронция -tile.Block of Zirconium.name=Блок Циркония -tile.Zirconium Frame Box.name=Каркас Из Циркония -tile.Block of Ruthenium.name=Блок Рутения -tile.Ruthenium Frame Box.name=Каркас Из Рутения -tile.Block of Iodine.name=Блок Йода -tile.Iodine Frame Box.name=Каркас Из Йода -tile.Block of Hafnium.name=Блок Гафния -tile.Hafnium Frame Box.name=Каркас Из Гафния -tile.Block of Dysprosium.name=Блок Диспрозия -tile.Dysprosium Frame Box.name=Каркас Из Дипрозия -tile.Block of Tellurium.name=Блок Теллура -tile.Tellurium Frame Box.name=Каркас Из Теллура -tile.Block of Rhodium.name=Блок Родия -tile.Rhodium Frame Box.name=Каркас Из Родия -tile.Block of Rhenium.name=Блок Рения -tile.Rhenium Frame Box.name=Каркас Из Рения -tile.Block of Thallium.name=Блок Таллия -tile.Thallium Frame Box.name=Каркас Из Таллия -tile.Block of Technetium.name=Блок Технеция -tile.Block of Polonium.name=Блок Полония -tile.Block of Astatine.name=Блок Астатина -tile.Block of Francium.name=Блок Франция -tile.Block of Radium.name=Блок Радия -tile.Block of Actinium.name=Блок Актиния -tile.Block of Protactinium.name=Блок Протактиния -tile.Block of Neptunium.name=Блок Нептуния -tile.Block of Curium.name=Блок Кюрия -tile.Block of Berkelium.name=Блок Беркилия -tile.Block of Californium.name=Блок Калифорния -tile.Block of Einsteinium.name=Блок Эйнштейния -tile.Block of Fermium.name=Блок Фермия -tile.Block of Thorium 232.name=Блок Тория 232 -tile.Block of Uranium 232.name=Блок Урана 232 -tile.Block of Uranium 233.name=Блок Урана 233 -tile.Block of Plutonium-238.name=Блок Плутона 238 -tile.Block of Strontium-90.name=Блок Стронция 90 -tile.Block of Polonium-210.name=Блок Полония 210 -tile.Block of Americium-241.name=Блок Америция 241 -tile.Block of Silicon Carbide.name=Блок Силиконового Карбида -tile.Silicon Carbide Frame Box.name=Каркас Из Силиконового Карбида -tile.Block of Zirconium Carbide.name=Блок Циркониевого Карбида -tile.Zirconium Carbide Frame Box.name=Каркас Из Циркониевого Карбида -tile.Block of Tantalum Carbide.name=Блок Карбида Тантала -tile.Tantalum Carbide Frame Box.name=Каркас Из Карбида Тантала -tile.Block of Niobium Carbide.name=Блок Ниобиевого Карбида -tile.Niobium Carbide Frame Box.name=Каркас Из Ниобиевого Карбида -tile.Block of Beryllium Fluoride.name=Блок Бериллиевого Фторида -tile.Block of Lithium Fluoride.name=Блок Литиевого Фторида -tile.Block of Thorium Tetrafluoride.name=Блок Ториевого Тетрафторида -tile.Block of Thorium Hexafluoride.name=Блок Ториевого Гексафторида -tile.Block of Uranium Tetrafluoride.name=Блок Ураниевого Тетрафторида -tile.Block of Uranium Hexafluoride.name=Блок Ураниевого Гексафторида -tile.Block of Zirconium Tetrafluoride.name=Блок Циркониевого Тетрафторида -tile.Block of Neptunium Hexafluoride.name=Блок Нептуниевого Гексафторида -tile.Block of Technetium Hexafluoride.name=Блок Технециевого Гексафторида -tile.Block of Selenium Hexafluoride.name=Блок Гексафторида Селена -tile.Block of LiFBeF2ZrF4U235.name=Блок Железорана 235 -tile.Block of LiFBeF2ZrF4UF4.name=Блок Циркониевого Железорана -tile.Block of LiFBeF2ThF4UF4.name=Блок Ториевого Железорана -tile.Block of Energy Crystal.name=Блок Энергетического Кристалла -tile.Energy Crystal Frame Box.name=Каркас Из Энергетического Кристалла -tile.Block of Blood Steel.name=Блок Кровавой Стали -tile.Blood Steel Frame Box.name=Каркас Из Кровавой Стали -tile.Block of Zeron-100.name=Блок Церона 100 -tile.Zeron-100 Frame Box.name=Каркас Из Церона 100 -tile.Block of Tumbaga.name=Блок Из Тумбага -tile.Tumbaga Frame Box.name=Каркас Из Тумбага -tile.Block of Potin.name=Блок Потина -tile.Potin Frame Box.name=Каркас Из Потина -tile.Block of Staballoy.name=Блок Стального Сплава -tile.Staballoy Frame Box.name=Каркас Из Стального Сплава -tile.Block of Tantalloy-60.name=Блок Сплава Тантала 60 -tile.Tantalloy-60 Frame Box.name=Каркас Из Сплава Тантала 60 -tile.Block of Tantalloy-61.name=Блок Сплава Тантала 61 -tile.Tantalloy-61 Frame Box.name=Каркас Из Сплава Тантала 61 -tile.Block of Inconel-625.name=Блок Инконеля 625 -tile.Inconel-625 Frame Box.name=Каркас Из Инконеля 625 -tile.Block of Inconel-690.name=Блок Инконеля 690 -tile.Inconel-690 Frame Box.name=Каркас Из Инконеля 690 -tile.Block of Inconel-792.name=Блок Инконеля 792 -tile.Inconel-792 Frame Box.name=Каркас Из Инконеля 792 -tile.Block of Eglin Steel.name=Блок Эглиновой Стали -tile.Eglin Steel Frame Box.name=Каркас Из Эглиновой Стали -tile.Block of Maraging Steel 250.name=Блок Марагинской Стали 250 -tile.Maraging Steel 250 Frame Box.name=Каркас Из Марагинской Стали 250 -tile.Block of Maraging Steel 300.name=Блок Марагинской Стали 300 -tile.Maraging Steel 300 Frame Box.name=Каркас Из Марагинской Стали 300 -tile.Block of Maraging Steel 350.name=Блок Марагинской Стали 350 -tile.Maraging Steel 350 Frame Box.name=Каркас Из Марагинской Стали 350 -tile.Block of Stellite.name=Блок Стеллита -tile.Stellite Frame Box.name=Каркас Из Стеллита -tile.Block of Talonite.name=Блок Талонита -tile.Talonite Frame Box.name=Каркас Из Талонита -tile.Block of Hastelloy-W.name=Блок Хастеллоя W -tile.Hastelloy-W Frame Box.name=Каркас Из Хастеллоя W -tile.Block of Hastelloy-X.name=Блок Хастеллоя X -tile.Hastelloy-X Frame Box.name=Каркас Из Хастеллоя X -tile.Block of Hastelloy-C276.name=Блок Хастеллоя C276 -tile.Hastelloy-C276 Frame Box.name=Каркас Из Хастеллоя C276 -tile.Block of Hastelloy-N.name=Блок Хастеллоя N -tile.Hastelloy-N Frame Box.name=Каркас Из Хастеллоя N -tile.Block of Incoloy-020.name=Блок Инколоя 020 -tile.Incoloy-020 Frame Box.name=Каркас Из Инколоя 020 -tile.Block of Incoloy-DS.name=Блок Инколоя DS -tile.Incoloy-DS Frame Box.name=Каркас Из Инколоя DS -tile.Block of Incoloy-MA956.name=Блок Инколоя MA956 -tile.Incoloy-MA956 Frame Box.name=Каркас Из Инколоя MA956 -tile.Block of Grisium.name=Блок Грисиума -tile.Grisium Frame Box.name=Каркас Из Грисиума -tile.Block of Trinium.name=Block of Trinium -tile.Block of Refined Trinium.name=Block of Refined Trinium -tile.Block of Trinium Titanium Alloy.name=Блок Сплава Тритий Титана -tile.Trinium Titanium Alloy Frame Box.name=Каркас Из Сплава Тритий Титана -tile.Block of Trinium Naquadah Alloy.name=Блок Сплава Тритий Наквадаха -tile.Block of Trinium Naquadah Carbonite.name=Блок Карбонита Тритий Наквадаха -tile.Trinium Naquadah Carbonite Frame Box.name=Каркас Из Карбонита Тритий Наквадаха -tile.Block of Quantum.name=Блок Кванта -tile.Quantum Frame Box.name=Каркас Из Кванта - -//Ores -tile.OreFluoriteF.name=Fluorite (F) Ore -tile.OreCrocoite.name=Руда Крокоита -tile.OreGeikielite.name=Руда Гейкелита -tile.OreNichromite.name=Руда Нихромата -tile.OreTitanite.name=Руда Титанита -tile.OreZimbabweite.name=Руда Зимбабвайта -tile.OreZirconolite.name=Руда Цирконолита -tile.OreGadoliniteCe.name=Руда Гадолинита Ce -tile.OreGadoliniteY.name=Руда Гадолинита Y -tile.OreLepersonnite.name=Руда Леперсоннита -tile.OreSamarskiteY.name=Руда Самарскита Y -tile.OreSamarskiteYb.name=Руда Самарскита Yb -tile.OreXenotime.name=Руда Ксенотима -tile.OreYttriaite.name=Руда Иттриайта -tile.OreYttrialite.name=Руда Иттриалита -tile.OreYttrocerite.name=Руда Иттроцерита -tile.OreZircon.name=Руда Циркона -tile.OrePolycrase.name=Руда Поликраса -tile.OreZircophyllite.name=Руда Циркофиллита -tile.OreZirkelite.name=Руда Циркелита -tile.OreLanthaniteLa.name=Руда Лантанита La -tile.OreLanthaniteCe.name=Руда Лантанита Ce -tile.OreLanthaniteNd.name=Руда Лантанита Nd -tile.OreAgarditeY.name=Руда Агардита Y -tile.OreAgarditeCd.name=Руда Агардита Cd -tile.OreAgarditeLa.name=Руда Агардита La -tile.OreAgarditeNd.name=Руда Агардита Nd -tile.OreHibonite.name=Руда Гибонита -tile.OreCerite.name=Руда Церита -tile.OreFluorcaphite.name=Руда Фторокафита -tile.OreFlorencite.name=Руда Флоренцита -tile.OreCryoliteF.name=Cryolite (F) Ore - -//Misc -tile.blockMFEffect.name=Эффект MF -tile.fluidBlockSludge.name=Жидкий Блок Грязи -tile.blockWorkbenchGT.name=Верстак -tile.blockWorkbenchGTAdvanced.name=Улучшенный Верстак -tile.blockHeliumGenerator.name=Гелиевый Генератор -tile.blockFirePit.name=Огненная Яма -tile.blockFishTrap.name=Рыбная Ловушка -tile.blockInfiniteFluidTank.name=Бесконечный Жидкостный Резервуар -tile.blockMiningExplosives.name=Взрывчатые Вещества -tile.blockHellFire.name=Адский огонь -tile.blockProjectBench.name=Проектный стол -tile.blockTradeBench.name=Торговая лавка -tile.blockModularity.name=Модульность -tile.blockBlackGate.name=Черные Ворота -tile.blockTankXpConverter.name=Резервуар Конвертора Опыта - -//Everglades Blocks -tile.fluidSludge.0.name=Stagnant Waste Water -tile.blockDarkWorldPortal.name=A Glimpse of the Future -tile.blockDarkWorldGround.name=Unstable Earth -tile.blockDarkWorldGround2.name=Polluted Soil -tile.blockDarkWorldGround2.2.name=Highly Polluted Soil -tile.blockDarkWorldPortalFrame.name=Containment Frame - - -//Added 1/4/18 -tile.blockMiningPipeFake.name=Strengthened Mining Pipe -tile.blockMiningHeadFake.name=Bedrock Drill -item.itemPlateMeatRaw.name=Fleshy Panel -tile.Block of MeatRaw.name=Block of Raw Meat - -//Added 26/5/18 -item.BurntLiFBeF2ThF4UF4.name=Cell of Used Reactor Fuel [LiFBeF2ThF4UF4] -item.BurntLiFBeF2ZrF4UF4.name=Cell of Used Reactor Fuel [LiFBeF2ZrF4UF4] -item.BurntLiFBeF2ZrF4U235.name=Cell of Used Reactor Fuel [LiFBeF2ZrF4U235] -item.itemBigEgg.name= ounce Chicken Egg -item.itemPlateSodium.name=Sodium Plate - -item.itemNuggetPromethium.name=Promethium Nugget -item.itemIngotPromethium.name=Promethium Ingot -item.itemDustSmallPromethium.name=Small Pile of Promethium -item.itemDustTinyPromethium.name=Tiny Pile of Promethium -item.itemDustPromethium.name=Promethium Dust -tile.Block of Promethium.name=Блок Прометия - -item.itemCellAmericium241.name=Americium 241 Cell -item.itemCellPolonium210.name=Polonium 210 Cell -item.itemCellStrontium90.name=Strontium 90 Cell -item.itemCellPlutonium238.name=Plutonium 238 Cell - -entity.MiningCharge.name=Mining Charge -entity.throwablePotionSulfuric.name=Flask of Sulfuric Acid -entity.throwablePotionHydrofluoric.name=Flask of Hydrofluoric Acid -entity.toxinBall.name=Toxin globule -entity.plasmaBolt.name=Plasma -entity.bigChickenFriendly.name=Giant Chicken - -//Added 26/6/18 -tile.OreTrinium.name=Trinium Ore -item.crushedTrinium.name=Crushed Trinium Ore -item.crushedCentrifugedTrinium.name=Centrifuged Crushed Trinium Ore -item.crushedPurifiedTrinium.name=Purified Crushed Trinium Ore -item.dustImpureTrinium.name=Impure Trinium Dust -item.dustPureTrinium.name=Purified Trinium Dust - -//Added 1/7/18 -entity.WiseVillager.name=Wise Villager -tile.blockMobSpawnerEx.0.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.1.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.2.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.3.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.4.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.5.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.6.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.7.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.8.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.9.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.10.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.11.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.12.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.13.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.14.name=Спавнер Монстров Ex -tile.blockMobSpawnerEx.15.name=Спавнер Монстров Ex -description.villager.profession.miscutils.banker=Banker -description.villager.profession.miscutils.technician=GT Technician -description.villager.profession.miscutils.trader=Ore Trader -description.villager.profession.miscutils.aboriginal=Native Australian - -//Added 23/8/18 -item.itemHatTinFoil.name=Tin Foil Hat - -//Added 13/9/18 -entity.WiseVillager.name=Wise Villager -entity.Aboriginal.name=Native -entity.miscutils.constructStaballoy.name=Staballoy Construct -entity.miscutils.sickBlaze.name=Infected Zealot - -//Added 15/9/18 -item.ZirconiumTetrafluoride.name=Zirconium Tetrafluoride Cell -item.Formaldehyde.name=Formaldehyde Cell -item.RocketFuelMixA.name=H8N4C2O4 Rocket Fuel Cell -item.RocketFuelMixB.name=RP-1 Rocket Fuel Cell -item.RocketFuelMixC.name=CN3H7O3 Rocket Fuel Cell -item.RocketFuelMixD.name=Dense Hydrazine Rocket Fuel Cell -item.RP1Fuel.name=RP-1 Fuel Cell -item.Monomethylhydrazine.name=Monomethylhydrazine Cell -item.Hydrazine.name=Hydrazine Cell -item.NitrogenTetroxide.name=Nitrogen Tetroxide Cell -item.NitrousOxide.name=Nitrous Oxide Cell -item.AmmoniumNitrateSlurry.name=Ammonium Nitrate Slurry Cell -item.Kerosene.name=Kerosene Cell -item.LiquidOxygen.name=Liquid Oxygen Cell [LOX] - -//Added 8/1/19 - -//Ores - -tile.OreIrarsite.name=Irarsite Ore -item.crushedIrarsite.name=Crushed Irarsite Ore -item.crushedCentrifugedIrarsite.name=Centrifuged Crushed Irarsite Ore -item.crushedPurifiedIrarsite.name=Purified Crushed Irarsite Ore -item.dustImpureIrarsite.name=Impure Irarsite Dust -item.dustPureIrarsite.name=Purified Irarsite Dust -item.itemDustIrarsite.name=Irarsite Dust -item.itemDustTinyIrarsite.name=Tiny Pile of Irarsite Dust -item.itemDustSmallIrarsite.name=Small Pile of Irarsite Dust - -tile.OreMiessiite.name=Miessiite Ore -item.crushedMiessiite.name=Crushed Miessiite Ore -item.crushedCentrifugedMiessiite.name=Centrifuged Crushed Miessiite Ore -item.crushedPurifiedMiessiite.name=Purified Crushed Miessiite Ore -item.dustImpureMiessiite.name=Impure Miessiite Dust -item.dustPureMiessiite.name=Purified Miessiite Dust -item.itemDustMiessiite.name=Miessiite Dust -item.itemDustTinyMiessiite.name=Tiny Pile of Miessiite Dust -item.itemDustSmallMiessiite.name=Small Pile of Miessiite Dust - -tile.OreComancheite.name=Comancheite Ore -item.crushedComancheite.name=Crushed Comancheite Ore -item.crushedCentrifugedComancheite.name=Centrifuged Crushed Comancheite Ore -item.crushedPurifiedComancheite.name=Purified Crushed Comancheite Ore -item.dustImpureComancheite.name=Impure Comancheite Dust -item.dustPureComancheite.name=Purified Comancheite Dust -item.itemDustComancheite.name=Comancheite Dust -item.itemDustTinyComancheite.name=Tiny Pile of Comancheite Dust -item.itemDustSmallComancheite.name=Small Pile of Comancheite Dust - -tile.OreKoboldite.name=Koboldite Ore -item.crushedKoboldite.name=Crushed Koboldite Ore -item.crushedCentrifugedKoboldite.name=Centrifuged Crushed Koboldite Ore -item.crushedPurifiedKoboldite.name=Purified Crushed Koboldite Ore -item.dustImpureKoboldite.name=Impure Koboldite Dust -item.dustPureKoboldite.name=Purified Koboldite Dust -item.itemDustKoboldite.name=Koboldite Dust -item.itemDustTinyKoboldite.name=Tiny Pile of Koboldite Dust -item.itemDustSmallKoboldite.name=Small Pile of Koboldite Dust - -tile.OrePerroudite.name=Perroudite Ore -item.crushedPerroudite.name=Crushed Perroudite Ore -item.crushedCentrifugedPerroudite.name=Centrifuged Crushed Perroudite Ore -item.crushedPurifiedPerroudite.name=Purified Crushed Perroudite Ore -item.dustImpurePerroudite.name=Impure Perroudite Dust -item.dustPurePerroudite.name=Purified Perroudite Dust -item.itemDustPerroudite.name=Perroudite Dust -item.itemDustTinyPerroudite.name=Tiny Pile of Perroudite Dust -item.itemDustSmallPerroudite.name=Small Pile of Perroudite Dust - -tile.OreDemicheleite.name=Demicheleite Ore -item.crushedDemicheleite.name=Crushed Demicheleite Ore -item.crushedCentrifugedDemicheleite.name=Centrifuged Crushed Demicheleite Ore -item.crushedPurifiedDemicheleite.name=Purified Crushed Demicheleite Ore -item.dustImpureDemicheleite.name=Impure Demicheleite Dust -item.dustPureDemicheleite.name=Purified Demicheleite Dust -item.itemDustDemicheleite.name=Demicheleite Dust -item.itemDustTinyDemicheleite.name=Tiny Pile of Demicheleite Dust -item.itemDustSmallDemicheleite.name=Small Pile of Demicheleite Dust - -tile.OreAlburnite.name=Alburnite Ore -item.crushedAlburnite.name=Crushed Alburnite Ore -item.crushedCentrifugedAlburnite.name=Centrifuged Crushed Alburnite Ore -item.crushedPurifiedAlburnite.name=Purified Crushed Alburnite Ore -item.dustImpureAlburnite.name=Impure Alburnite Dust -item.dustPureAlburnite.name=Purified Alburnite Dust -item.itemDustAlburnite.name=Alburnite Dust -item.itemDustTinyAlburnite.name=Tiny Pile of Alburnite Dust -item.itemDustSmallAlburnite.name=Small Pile of Alburnite Dust - -tile.OreLautarite.name=Lautarite Ore -item.crushedLautarite.name=Crushed Lautarite Ore -item.crushedCentrifugedLautarite.name=Centrifuged Crushed Lautarite Ore -item.crushedPurifiedLautarite.name=Purified Crushed Lautarite Ore -item.dustImpureLautarite.name=Impure Lautarite Dust -item.dustPureLautarite.name=Purified Lautarite Dust -item.itemDustLautarite.name=Lautarite Dust -item.itemDustTinyLautarite.name=Tiny Pile of Lautarite Dust -item.itemDustSmallLautarite.name=Small Pile of Lautarite Dust - -tile.OreBariteRd.name=Barite (Rd) Ore -item.crushedBariteRd.name=Crushed Barite (Rd) Ore -item.crushedCentrifugedBariteRd.name=Centrifuged Crushed Barite (Rd) Ore -item.crushedPurifiedBariteRd.name=Purified Crushed Barite (Rd) Ore -item.dustImpureBariteRd.name=Impure Barite (Rd) Dust -item.dustPureBariteRd.name=Purified Barite (Rd) Dust -item.itemDustBariteRd.name=Barite (Rd) Dust -item.itemDustTinyBariteRd.name=Tiny Pile of Barite (Rd) Dust -item.itemDustSmallBariteRd.name=Small Pile of Barite (Rd) Dust - -tile.OreHoneaite.name=Honeaite Ore -item.crushedHoneaite.name=Crushed Honeaite Ore -item.crushedCentrifugedHoneaite.name=Centrifuged Crushed Honeaite Ore -item.crushedPurifiedHoneaite.name=Purified Crushed Honeaite Ore -item.dustImpureHoneaite.name=Impure Honeaite Dust -item.dustPureHoneaite.name=Purified Honeaite Dust -item.itemDustHoneaite.name=Honeaite Dust -item.itemDustTinyHoneaite.name=Tiny Pile of Honeaite Dust -item.itemDustSmallHoneaite.name=Small Pile of Honeaite Dust - -tile.OreLafossaite.name=Lafossaite Ore -item.crushedLafossaite.name=Crushed Lafossaite Ore -item.crushedCentrifugedLafossaite.name=Centrifuged Crushed Lafossaite Ore -item.crushedPurifiedLafossaite.name=Purified Crushed Lafossaite Ore -item.dustImpureLafossaite.name=Impure Lafossaite Dust -item.dustPureLafossaite.name=Purified Lafossaite Dust -item.itemDustLafossaite.name=Lafossaite Dust -item.itemDustTinyLafossaite.name=Tiny Pile of Lafossaite Dust -item.itemDustSmallLafossaite.name=Small Pile of Lafossaite Dust - -tile.OreKashinite.name=Kashinite Ore -item.crushedKashinite.name=Crushed Kashinite Ore -item.crushedCentrifugedKashinite.name=Centrifuged Crushed Kashinite Ore -item.crushedPurifiedKashinite.name=Purified Crushed Kashinite Ore -item.dustImpureKashinite.name=Impure Kashinite Dust -item.dustPureKashinite.name=Purified Kashinite Dust -item.itemDustKashinite.name=Kashinite Dust -item.itemDustTinyKashinite.name=Tiny Pile of Kashinite Dust -item.itemDustSmallKashinite.name=Small Pile of Kashinite Dust - -tile.OreRadioactiveMineralMix.name=Strange Ore -item.crushedRadioactiveMineralMix.name=Crushed Strange Ore -item.crushedCentrifugedRadioactiveMineralMix.name=Centrifuged Crushed Strange Ore -item.crushedPurifiedRadioactiveMineralMix.name=Purified Crushed Strange Ore -item.dustImpureRadioactiveMineralMix.name=Impure Strange Dust -item.dustPureRadioactiveMineralMix.name=Purified Strange Dust -item.itemDustRadioactiveMineralMix.name=Strange Dust -item.itemDustTinyRadioactiveMineralMix.name=Tiny Pile of Strange Dust -item.itemDustSmallRadioactiveMineralMix.name=Small Pile of Strange Dust - -tile.OreDemicheleiteBr.name=Demicheleite (Br) Ore -item.crushedDemicheleiteBr.name=Crushed Demicheleite (Br) Ore -item.crushedCentrifugedDemicheleiteBr.name=Centrifuged Crushed Demicheleite (Br) Ore -item.crushedPurifiedDemicheleiteBr.name=Purified Crushed Demicheleite (Br) Ore -item.dustImpureDemicheleiteBr.name=Impure Demicheleite (Br) Dust -item.dustPureDemicheleiteBr.name=Purified Demicheleite (Br) Dust -item.itemDustDemicheleiteBr.name=Demicheleite (Br) Dust - - -//Materials - -item.itemIngotTitansteel.name=Titansteel Ingot -item.itemHotIngotTitansteel.name=Hot Titansteel Ingot -item.itemDustTitansteel.name=Titansteel Dust -item.itemDustTinyTitansteel.name=Tiny Pile of Titansteel Dust -item.itemDustSmallTitansteel.name=Small Pile of Titansteel Dust -item.itemNuggetTitansteel.name=Titansteel Nugget -item.itemPlateTitansteel.name=Titansteel Plate -item.itemPlateDoubleTitansteel.name=Double Titansteel Plate -item.itemBoltTitansteel.name=Titansteel Bolt -item.itemRodTitansteel.name=Titansteel Rod -item.itemRodLongTitansteel.name=Long Titansteel Rod -item.itemRingTitansteel.name=Titansteel Ring -item.itemScrewTitansteel.name=Titansteel Screw -item.itemRotorTitansteel.name=Titansteel Rotor -item.itemGearTitansteel.name=Titansteel Gear -item.itemCellTitansteel.name=Titansteel Cell -tile.Block of Titansteel.name=Block of Titansteel -tile.Titansteel Frame Box.name=Titansteel Frame Box - -item.itemIngotOctiron.name=Octiron Ingot -item.itemHotIngotOctiron.name=Hot Octiron Ingot -item.itemDustOctiron.name=Octiron Dust -item.itemDustTinyOctiron.name=Tiny Pile of Octiron Dust -item.itemDustSmallOctiron.name=Small Pile of Octiron Dust -item.itemNuggetOctiron.name=Octiron Nugget -item.itemPlateOctiron.name=Octiron Plate -item.itemPlateDoubleOctiron.name=Double Octiron Plate -item.itemBoltOctiron.name=Octiron Bolt -item.itemRodOctiron.name=Octiron Rod -item.itemRodLongOctiron.name=Long Octiron Rod -item.itemRingOctiron.name=Octiron Ring -item.itemScrewOctiron.name=Octiron Screw -item.itemRotorOctiron.name=Octiron Rotor -item.itemGearOctiron.name=Octiron Gear -item.itemCellOctiron.name=Octiron Cell -tile.Block of Octiron.name=Block of Octiron -tile.Octiron Frame Box.name=Octiron Frame Box - -item.itemIngotWatertightSteel.name=Watertight Steel Ingot -item.itemHotIngotWatertightSteel.name=Hot Watertight Steel Ingot -item.itemDustWatertightSteel.name=Watertight Steel Dust -item.itemDustTinyWatertightSteel.name=Tiny Pile of Watertight Steel Dust -item.itemDustSmallWatertightSteel.name=Small Pile of Watertight Steel Dust -item.itemNuggetWatertightSteel.name=Watertight Steel Nugget -item.itemPlateWatertightSteel.name=Watertight Steel Plate -item.itemPlateDoubleWatertightSteel.name=Double Watertight Steel Plate -item.itemBoltWatertightSteel.name=Watertight Steel Bolt -item.itemRodWatertightSteel.name=Watertight Steel Rod -item.itemRodLongWatertightSteel.name=Long Watertight Steel Rod -item.itemRingWatertightSteel.name=Watertight Steel Ring -item.itemScrewWatertightSteel.name=Watertight Steel Screw -item.itemRotorWatertightSteel.name=Watertight Steel Rotor -item.itemGearWatertightSteel.name=Watertight Steel Gear -item.itemCellWatertightSteel.name=Watertight Steel Cell -tile.Block of Watertight Steel.name=Block of Watertight Steel -tile.Watertight Steel Frame Box.name=Watertight Steel Frame Box - -item.itemIngotCelestialTungsten.name=Celestial Tungsten Ingot -item.itemHotIngotCelestialTungsten.name=Hot Celestial Tungsten Ingot -item.itemDustCelestialTungsten.name=Celestial Tungsten Dust -item.itemDustTinyCelestialTungsten.name=Tiny Pile of Celestial Tungsten Dust -item.itemDustSmallCelestialTungsten.name=Small Pile of Celestial Tungsten Dust -item.itemNuggetCelestialTungsten.name=Celestial Tungsten Nugget -item.itemPlateCelestialTungsten.name=Celestial Tungsten Plate -item.itemPlateDoubleCelestialTungsten.name=Double Celestial Tungsten Plate -item.itemBoltCelestialTungsten.name=Celestial Tungsten Bolt -item.itemRodCelestialTungsten.name=Celestial Tungsten Rod -item.itemRodLongCelestialTungsten.name=Long Celestial Tungsten Rod -item.itemRingCelestialTungsten.name=Celestial Tungsten Ring -item.itemScrewCelestialTungsten.name=Celestial Tungsten Screw -item.itemRotorCelestialTungsten.name=Celestial Tungsten Rotor -item.itemGearCelestialTungsten.name=Celestial Tungsten Gear -item.itemCellCelestialTungsten.name=Celestial Tungsten Cell -tile.Block of Celestial Tungsten.name=Block of Celestial Tungsten -tile.Celestial Tungsten Frame Box.name=Celestial Tungsten Frame Box - -item.itemIngotHypogen.name=Hypogen Ingot -item.itemHotIngotHypogen.name=Hot Hypogen Ingot -item.itemDustHypogen.name=Hypogen Dust -item.itemDustTinyHypogen.name=Tiny Pile of Hypogen Dust -item.itemDustSmallHypogen.name=Small Pile of Hypogen Dust -item.itemNuggetHypogen.name=Hypogen Nugget -item.itemPlateHypogen.name=Hypogen Plate -item.itemPlateDoubleHypogen.name=Double Hypogen Plate -item.itemBoltHypogen.name=Hypogen Bolt -item.itemRodHypogen.name=Hypogen Rod -item.itemRodLongHypogen.name=Long Hypogen Rod -item.itemRingHypogen.name=Hypogen Ring -item.itemScrewHypogen.name=Hypogen Screw -item.itemRotorHypogen.name=Hypogen Rotor -item.itemGearHypogen.name=Hypogen Gear -item.itemCellHypogen.name=Hypogen Cell -tile.Block of Hypogen.name=Block of Hypogen -tile.Hypogen Frame Box.name=Hypogen Frame Box - -item.itemIngotArceusAlloy2B.name=Arceus Alloy 2B Ingot -item.itemHotIngotArceusAlloy2B.name=Hot Arceus Alloy 2B Ingot -item.itemDustArceusAlloy2B.name=Arceus Alloy 2B Dust -item.itemDustTinyArceusAlloy2B.name=Tiny Pile of Arceus Alloy 2B Dust -item.itemDustSmallArceusAlloy2B.name=Small Pile of Arceus Alloy 2B Dust -item.itemNuggetArceusAlloy2B.name=Arceus Alloy 2B Nugget -item.itemPlateArceusAlloy2B.name=Arceus Alloy 2B Plate -item.itemPlateDoubleArceusAlloy2B.name=Double Arceus Alloy 2B Plate -item.itemBoltArceusAlloy2B.name=Arceus Alloy 2B Bolt -item.itemRodArceusAlloy2B.name=Arceus Alloy 2B Rod -item.itemRodLongArceusAlloy2B.name=Long Arceus Alloy 2B Rod -item.itemRingArceusAlloy2B.name=Arceus Alloy 2B Ring -item.itemScrewArceusAlloy2B.name=Arceus Alloy 2B Screw -item.itemRotorArceusAlloy2B.name=Arceus Alloy 2B Rotor -item.itemGearArceusAlloy2B.name=Arceus Alloy 2B Gear -item.itemCellArceusAlloy2B.name=Arceus Alloy 2B Cell -tile.Block of Arceus Alloy 2B.name=Block of Arceus Alloy 2B -tile.Arceus Alloy 2B Frame Box.name=Arceus Alloy 2B Frame Box - -item.itemIngotChromaticGlass.name=Chromatic Glass Ingot -item.itemHotIngotChromaticGlass.name=Hot Chromatic Glass Ingot -item.itemDustChromaticGlass.name=Chromatic Glass Dust -item.itemDustTinyChromaticGlass.name=Tiny Pile of Chromatic Glass Dust -item.itemDustSmallChromaticGlass.name=Small Pile of Chromatic Glass Dust -item.itemNuggetChromaticGlass.name=Chromatic Glass Nugget -item.itemPlateChromaticGlass.name=Chromatic Glass Plate -item.itemPlateDoubleChromaticGlass.name=Double Chromatic Glass Plate -item.itemBoltChromaticGlass.name=Chromatic Glass Bolt -item.itemRodChromaticGlass.name=Chromatic Glass Rod -item.itemRodLongChromaticGlass.name=Long Chromatic Glass Rod -item.itemRingChromaticGlass.name=Chromatic Glass Ring -item.itemScrewChromaticGlass.name=Chromatic Glass Screw -item.itemRotorChromaticGlass.name=Chromatic Glass Rotor -item.itemGearChromaticGlass.name=Chromatic Glass Gear -item.itemCellChromaticGlass.name=Chromatic Glass Cell -tile.Block of Chromatic Glass.name=Block of Chromatic Glass -tile.Chromatic Glass Frame Box.name=Chromatic Glass Frame Box - -item.itemIngotAstralTitanium.name=Astral Titanium Ingot -item.itemHotIngotAstralTitanium.name=Hot Astral Titanium Ingot -item.itemDustAstralTitanium.name=Astral Titanium Dust -item.itemDustTinyAstralTitanium.name=Tiny Pile of Astral Titanium Dust -item.itemDustSmallAstralTitanium.name=Small Pile of Astral Titanium Dust -item.itemNuggetAstralTitanium.name=Astral Titanium Nugget -item.itemPlateAstralTitanium.name=Astral Titanium Plate -item.itemPlateDoubleAstralTitanium.name=Double Astral Titanium Plate -item.itemBoltAstralTitanium.name=Astral Titanium Bolt -item.itemRodAstralTitanium.name=Astral Titanium Rod -item.itemRodLongAstralTitanium.name=Long Astral Titanium Rod -item.itemRingAstralTitanium.name=Astral Titanium Ring -item.itemScrewAstralTitanium.name=Astral Titanium Screw -item.itemRotorAstralTitanium.name=Astral Titanium Rotor -item.itemGearAstralTitanium.name=Astral Titanium Gear -item.itemCellAstralTitanium.name=Astral Titanium Cell -tile.Block of Astral Titanium.name=Block of Astral Titanium -tile.Astral Titanium Frame Box.name=Astral Titanium Frame Box - -item.itemIngotTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Ingot -item.itemHotIngotTungstenTitaniumCarbide.name=Hot Tungsten Titanium Carbide Ingot -item.itemDustTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Dust -item.itemDustTinyTungstenTitaniumCarbide.name=Tiny Pile of Tungsten Titanium Carbide Dust -item.itemDustSmallTungstenTitaniumCarbide.name=Small Pile of Tungsten Titanium Carbide Dust -item.itemNuggetTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Nugget -item.itemPlateTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Plate -item.itemPlateDoubleTungstenTitaniumCarbide.name=Double Tungsten Titanium Carbide Plate -item.itemBoltTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Bolt -item.itemRodTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Rod -item.itemRodLongTungstenTitaniumCarbide.name=Long Tungsten Titanium Carbide Rod -item.itemRingTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Ring -item.itemScrewTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Screw -item.itemRotorTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Rotor -item.itemGearTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Gear -item.itemCellTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Cell -tile.Block of Tungsten Titanium Carbide.name=Block of Tungsten Titanium Carbide -tile.Tungsten Titanium Carbide Frame Box.name=Tungsten Titanium Carbide Frame Box - -item.itemIngotNitinol60.name=Nitinol 60 Ingot -item.itemHotIngotNitinol60.name=Hot Nitinol 60 Ingot -item.itemDustNitinol60.name=Nitinol 60 Dust -item.itemDustTinyNitinol60.name=Tiny Pile of Nitinol 60 Dust -item.itemDustSmallNitinol60.name=Small Pile of Nitinol 60 Dust -item.itemNuggetNitinol60.name=Nitinol 60 Nugget -item.itemPlateNitinol60.name=Nitinol 60 Plate -item.itemPlateDoubleNitinol60.name=Double Nitinol 60 Plate -item.itemBoltNitinol60.name=Nitinol 60 Bolt -item.itemRodNitinol60.name=Nitinol 60 Rod -item.itemRodLongNitinol60.name=Long Nitinol 60 Rod -item.itemRingNitinol60.name=Nitinol 60 Ring -item.itemScrewNitinol60.name=Nitinol 60 Screw -item.itemRotorNitinol60.name=Nitinol 60 Rotor -item.itemGearNitinol60.name=Nitinol 60 Gear -item.itemCellNitinol60.name=Nitinol 60 Cell -tile.Block of Nitinol 60.name=Block of Nitinol 60 -tile.Nitinol 60 Frame Box.name=Nitinol 60 Frame Box - -item.itemIngotAdvancedNitinol.name=Advanced Nitinol Ingot -item.itemHotIngotAdvancedNitinol.name=Hot Advanced Nitinol Ingot -item.itemDustAdvancedNitinol.name=Advanced Nitinol Dust -item.itemDustTinyAdvancedNitinol.name=Tiny Pile of Advanced Nitinol Dust -item.itemDustSmallAdvancedNitinol.name=Small Pile of Advanced Nitinol Dust -item.itemNuggetAdvancedNitinol.name=Advanced Nitinol Nugget -item.itemPlateAdvancedNitinol.name=Advanced Nitinol Plate -item.itemPlateDoubleAdvancedNitinol.name=Double Advanced Nitinol Plate -item.itemBoltAdvancedNitinol.name=Advanced Nitinol Bolt -item.itemRodAdvancedNitinol.name=Advanced Nitinol Rod -item.itemRodLongAdvancedNitinol.name=Long Advanced Nitinol Rod -item.itemRingAdvancedNitinol.name=Advanced Nitinol Ring -item.itemScrewAdvancedNitinol.name=Advanced Nitinol Screw -item.itemRotorAdvancedNitinol.name=Advanced Nitinol Rotor -item.itemGearAdvancedNitinol.name=Advanced Nitinol Gear -item.itemCellAdvancedNitinol.name=Advanced Nitinol Cell -tile.Block of Advanced Nitinol.name=Block of Advanced Nitinol -tile.Advanced Nitinol Frame Box.name=Advanced Nitinol Frame Box - -item.itemIngotArcanite.name=Arcanite Ingot -item.itemHotIngotArcanite.name=Hot Arcanite Ingot -item.itemDustArcanite.name=Arcanite Dust -item.itemDustTinyArcanite.name=Tiny Pile of Arcanite Dust -item.itemDustSmallArcanite.name=Small Pile of Arcanite Dust -item.itemNuggetArcanite.name=Arcanite Nugget -item.itemPlateArcanite.name=Arcanite Plate -item.itemPlateDoubleArcanite.name=Double Arcanite Plate -item.itemBoltArcanite.name=Arcanite Bolt -item.itemRodArcanite.name=Arcanite Rod -item.itemRodLongArcanite.name=Long Arcanite Rod -item.itemRingArcanite.name=Arcanite Ring -item.itemScrewArcanite.name=Arcanite Screw -item.itemRotorArcanite.name=Arcanite Rotor -item.itemGearArcanite.name=Arcanite Gear -item.itemCellArcanite.name=Arcanite Cell -tile.Block of Arcanite.name=Block of Arcanite -tile.Arcanite Frame Box.name=Arcanite Frame Box - -item.itemIngotPikyonium64B.name=Pikyonium 64B Ingot -item.itemHotIngotPikyonium64B.name=Hot Pikyonium 64B Ingot -item.itemDustPikyonium64B.name=Pikyonium 64B Dust -item.itemDustTinyPikyonium64B.name=Tiny Pile of Pikyonium 64B Dust -item.itemDustSmallPikyonium64B.name=Small Pile of Pikyonium 64B Dust -item.itemNuggetPikyonium64B.name=Pikyonium 64B Nugget -item.itemPlatePikyonium64B.name=Pikyonium 64B Plate -item.itemPlateDoublePikyonium64B.name=Double Pikyonium 64B Plate -item.itemBoltPikyonium64B.name=Pikyonium 64B Bolt -item.itemRodPikyonium64B.name=Pikyonium 64B Rod -item.itemRodLongPikyonium64B.name=Long Pikyonium 64B Rod -item.itemRingPikyonium64B.name=Pikyonium 64B Ring -item.itemScrewPikyonium64B.name=Pikyonium 64B Screw -item.itemRotorPikyonium64B.name=Pikyonium 64B Rotor -item.itemGearPikyonium64B.name=Pikyonium 64B Gear -item.itemCellPikyonium64B.name=Pikyonium 64B Cell -tile.Block of Pikyonium 64B.name=Block of Pikyonium 64B -tile.Pikyonium 64B Frame Box.name=Pikyonium 64B Frame Box - -item.itemIngotCinobiteA243.name=Cinobite A243 Ingot -item.itemHotIngotCinobiteA243.name=Hot Cinobite A243 Ingot -item.itemDustCinobiteA243.name=Cinobite A243 Dust -item.itemDustTinyCinobiteA243.name=Tiny Pile of Cinobite A243 Dust -item.itemDustSmallCinobiteA243.name=Small Pile of Cinobite A243 Dust -item.itemNuggetCinobiteA243.name=Cinobite A243 Nugget -item.itemPlateCinobiteA243.name=Cinobite A243 Plate -item.itemPlateDoubleCinobiteA243.name=Double Cinobite A243 Plate -item.itemBoltCinobiteA243.name=Cinobite A243 Bolt -item.itemRodCinobiteA243.name=Cinobite A243 Rod -item.itemRodLongCinobiteA243.name=Long Cinobite A243 Rod -item.itemRingCinobiteA243.name=Cinobite A243 Ring -item.itemScrewCinobiteA243.name=Cinobite A243 Screw -item.itemRotorCinobiteA243.name=Cinobite A243 Rotor -item.itemGearCinobiteA243.name=Cinobite A243 Gear -item.itemCellCinobiteA243.name=Cinobite A243 Cell -tile.Block of Cinobite A243.name=Block of Cinobite A243 -tile.Cinobite A243 Frame Box.name=Cinobite A243 Frame Box - -item.itemIngotLafiumCompound.name=Lafium Compound Ingot -item.itemHotIngotLafiumCompound.name=Hot Lafium Compound Ingot -item.itemDustLafiumCompound.name=Lafium Compound Dust -item.itemDustTinyLafiumCompound.name=Tiny Pile of Lafium Compound Dust -item.itemDustSmallLafiumCompound.name=Small Pile of Lafium Compound Dust -item.itemNuggetLafiumCompound.name=Lafium Compound Nugget -item.itemPlateLafiumCompound.name=Lafium Compound Plate -item.itemPlateDoubleLafiumCompound.name=Double Lafium Compound Plate -item.itemBoltLafiumCompound.name=Lafium Compound Bolt -item.itemRodLafiumCompound.name=Lafium Compound Rod -item.itemRodLongLafiumCompound.name=Long Lafium Compound Rod -item.itemRingLafiumCompound.name=Lafium Compound Ring -item.itemScrewLafiumCompound.name=Lafium Compound Screw -item.itemRotorLafiumCompound.name=Lafium Compound Rotor -item.itemGearLafiumCompound.name=Lafium Compound Gear -item.itemCellLafiumCompound.name=Lafium Compound Cell -tile.Block of Lafium Compound.name=Block of Lafium Compound -tile.Lafium Compound Frame Box.name=Lafium Compound Frame Box - -item.itemIngotKoboldite.name=Koboldite Ingot -item.itemHotIngotKoboldite.name=Hot Koboldite Ingot -item.itemDustKoboldite.name=Koboldite Dust -item.itemDustTinyKoboldite.name=Tiny Pile of Koboldite Dust -item.itemDustSmallKoboldite.name=Small Pile of Koboldite Dust -item.itemNuggetKoboldite.name=Koboldite Nugget -item.itemPlateKoboldite.name=Koboldite Plate -item.itemPlateDoubleKoboldite.name=Double Koboldite Plate -item.itemBoltKoboldite.name=Koboldite Bolt -item.itemRodKoboldite.name=Koboldite Rod -item.itemRodLongKoboldite.name=Long Koboldite Rod -item.itemRingKoboldite.name=Koboldite Ring -item.itemScrewKoboldite.name=Koboldite Screw -item.itemRotorKoboldite.name=Koboldite Rotor -item.itemGearKoboldite.name=Koboldite Gear -item.itemCellKoboldite.name=Koboldite Cell -tile.Block of Koboldite.name=Block of Koboldite -tile.Koboldite Frame Box.name=Koboldite Frame Box - -item.itemIngotAbyssalAlloy.name=Abyssal Alloy Ingot -item.itemHotIngotAbyssalAlloy.name=Hot Abyssal Alloy Ingot -item.itemDustAbyssalAlloy.name=Abyssal Alloy Dust -item.itemDustTinyAbyssalAlloy.name=Tiny Pile of Abyssal Alloy Dust -item.itemDustSmallAbyssalAlloy.name=Small Pile of Abyssal Alloy Dust -item.itemNuggetAbyssalAlloy.name=Abyssal Alloy Nugget -item.itemPlateAbyssalAlloy.name=Abyssal Alloy Plate -item.itemPlateDoubleAbyssalAlloy.name=Double Abyssal Alloy Plate -item.itemBoltAbyssalAlloy.name=Abyssal Alloy Bolt -item.itemRodAbyssalAlloy.name=Abyssal Alloy Rod -item.itemRodLongAbyssalAlloy.name=Long Abyssal Alloy Rod -item.itemRingAbyssalAlloy.name=Abyssal Alloy Ring -item.itemScrewAbyssalAlloy.name=Abyssal Alloy Screw -item.itemRotorAbyssalAlloy.name=Abyssal Alloy Rotor -item.itemGearAbyssalAlloy.name=Abyssal Alloy Gear -item.itemCellAbyssalAlloy.name=Abyssal Alloy Cell -tile.Block of Abyssal Alloy.name=Block of Abyssal Alloy -tile.Abyssal Alloy Frame Box.name=Abyssal Alloy Frame Box - - - - - - - - - - - - - - - - - - - -//Radioactive -item.dustTechnetium99M.name=Technetium 99M Dust -item.dustTechnetium99.name=Technetium 99 Dust -item.dustMolybdenum99.name=Molybdenum 99 Dust - -//Bags -item.item.MysticBag.name=Mystic Pouch -item.item.Eatotron9000.name=Eatotronic 9000 -item.item.ToolBox.name=Workers Toolbox - -//Cells -item.Bromine.name=Bromine Cell -item.Krypton.name=Krypton Cell -item.cryotheum.name=Cryotheum Cell -item.pyrotheum.name=Pyrotheum Cell -item.GeneticMutagen.name=Mutagen Cell - -//Ingots -item.itemHotIngotIncoloy020.name=Hot Incoloy-020 Ingot -item.itemHotIngotIncoloyDS.name=Hot Incoloy-DS Ingot -item.itemHotIngotTalonite.name=Hot Talonite Ingot -item.itemHotIngotHastelloyX.name=Hot Hastelloy-X Ingot -item.itemHotIngotHastelloyW.name=Hot Hastelloy-W Carbide Ingot - -//Railcraft Fix -item.railcraft.part.plate.lead.name=Lead Plate - -//Ions -item.particle.ion.Hydrogen.name=Hydrogen Ion -item.particle.ion.Helium.name=Helium Ion -item.particle.ion.Lithium.name=Lithium Ion -item.particle.ion.Beryllium.name=Beryllium Ion -item.particle.ion.Boron.name=Boron Ion -item.particle.ion.Carbon.name=Carbon Ion -item.particle.ion.Nitrogen.name=Nitrogen Ion -item.particle.ion.Oxygen.name=Oxygen Ion -item.particle.ion.Fluorine.name=Fluorine Ion -item.particle.ion.Neon.name=Neon Ion -item.particle.ion.Sodium.name=Sodium Ion -item.particle.ion.Magnesium.name=Magnesium Ion -item.particle.ion.Aluminum.name=Aluminum Ion -item.particle.ion.Silicon.name=Silicon Ion -item.particle.ion.Phosphorus.name=Phosphorus Ion -item.particle.ion.Sulfur.name=Sulfur Ion -item.particle.ion.Chlorine.name=Chlorine Ion -item.particle.ion.Argon.name=Argon Ion -item.particle.ion.Potassium.name=Potassium Ion -item.particle.ion.Calcium.name=Calcium Ion -item.particle.ion.Scandium.name=Scandium Ion -item.particle.ion.Titanium.name=Titanium Ion -item.particle.ion.Vanadium.name=Vanadium Ion -item.particle.ion.Chromium.name=Chromium Ion -item.particle.ion.Manganese.name=Manganese Ion -item.particle.ion.Iron.name=Iron Ion -item.particle.ion.Cobalt.name=Cobalt Ion -item.particle.ion.Nickel.name=Nickel Ion -item.particle.ion.Copper.name=Copper Ion -item.particle.ion.Zinc.name=Zinc Ion -item.particle.ion.Gallium.name=Gallium Ion -item.particle.ion.Germanium.name=Germanium Ion -item.particle.ion.Arsenic.name=Arsenic Ion -item.particle.ion.Selenium.name=Selenium Ion -item.particle.ion.Bromine.name=Bromine Ion -item.particle.ion.Krypton.name=Krypton Ion -item.particle.ion.Rubidium.name=Rubidium Ion -item.particle.ion.Strontium.name=Strontium Ion -item.particle.ion.Yttrium.name=Yttrium Ion -item.particle.ion.Zirconium.name=Zirconium Ion -item.particle.ion.Niobium.name=Niobium Ion -item.particle.ion.Molybdenum.name=Molybdenum Ion -item.particle.ion.Technetium.name=Technetium Ion -item.particle.ion.Ruthenium.name=Ruthenium Ion -item.particle.ion.Rhodium.name=Rhodium Ion -item.particle.ion.Palladium.name=Palladium Ion -item.particle.ion.Silver.name=Silver Ion -item.particle.ion.Cadmium.name=Cadmium Ion -item.particle.ion.Indium.name=Indium Ion -item.particle.ion.Tin.name=Tin Ion -item.particle.ion.Antimony.name=Antimony Ion -item.particle.ion.Tellurium.name=Tellurium Ion -item.particle.ion.Iodine.name=Iodine Ion -item.particle.ion.Xenon.name=Xenon Ion -item.particle.ion.Cesium.name=Caesium Ion -item.particle.ion.Barium.name=Barium Ion -item.particle.ion.Lanthanum.name=Lanthanum Ion -item.particle.ion.Cerium.name=Cerium Ion -item.particle.ion.Praseodymium.name=Praseodymium Ion -item.particle.ion.Neodymium.name=Neodymium Ion -item.particle.ion.Promethium.name=Promethium Ion -item.particle.ion.Samarium.name=Samarium Ion -item.particle.ion.Europium.name=Europium Ion -item.particle.ion.Gadolinium.name=Gadolinium Ion -item.particle.ion.Terbium.name=Terbium Ion -item.particle.ion.Dysprosium.name=Dysprosium Ion -item.particle.ion.Holmium.name=Holmium Ion -item.particle.ion.Erbium.name=Erbium Ion -item.particle.ion.Thulium.name=Thulium Ion -item.particle.ion.Ytterbium.name=Ytterbium Ion -item.particle.ion.Lutetium.name=Lutetium Ion -item.particle.ion.Hafnium.name=Hafnium Ion -item.particle.ion.Tantalum.name=Tantalum Ion -item.particle.ion.Tungsten.name=Tungsten Ion -item.particle.ion.Rhenium.name=Rhenium Ion -item.particle.ion.Osmium.name=Osmium Ion -item.particle.ion.Iridium.name=Iridium Ion -item.particle.ion.Platinum.name=Platinum Ion -item.particle.ion.Gold.name=Gold Ion -item.particle.ion.Mercury.name=Mercury Ion -item.particle.ion.Thallium.name=Thallium Ion -item.particle.ion.Lead.name=Lead Ion -item.particle.ion.Bismuth.name=Bismuth Ion -item.particle.ion.Polonium.name=Polonium Ion -item.particle.ion.Astatine.name=Astatine Ion -item.particle.ion.Radon.name=Radon Ion -item.particle.ion.Francium.name=Francium Ion -item.particle.ion.Radium.name=Radium Ion -item.particle.ion.Actinium.name=Actinium Ion -item.particle.ion.Thorium.name=Thorium Ion -item.particle.ion.Protactinium.name=Protactinium Ion -item.particle.ion.Uranium.name=Uranium Ion -item.particle.ion.Neptunium.name=Neptunium Ion -item.particle.ion.Plutonium.name=Plutonium Ion -item.particle.ion.Americium.name=Americium Ion -item.particle.ion.Curium.name=Curium Ion -item.particle.ion.Berkelium.name=Berkelium Ion -item.particle.ion.Californium.name=Californium Ion -item.particle.ion.Einsteinium.name=Einsteinium Ion -item.particle.ion.Fermium.name=Fermium Ion -item.particle.ion.Mendelevium.name=Mendelevium Ion -item.particle.ion.Nobelium.name=Nobelium Ion -item.particle.ion.Lawrencium.name=Lawrencium Ion -item.particle.ion.Rutherfordium.name=Rutherfordium Ion -item.particle.ion.Dubnium.name=Dubnium Ion -item.particle.ion.Seaborgium.name=Seaborgium Ion -item.particle.ion.Bohrium.name=Bohrium Ion -item.particle.ion.Hassium.name=Hassium Ion -item.particle.ion.Meitnerium.name=Meitnerium Ion -item.particle.ion.Darmstadtium.name=Darmstadtium Ion -item.particle.ion.Roentgenium.name=Roentgenium Ion -item.particle.ion.Copernicium.name=Copernicium Ion -item.particle.ion.Nihonium.name=Nihonium Ion -item.particle.ion.Flerovium.name=Flerovium Ion -item.particle.ion.Moscovium.name=Moscovium Ion -item.particle.ion.Livermorium.name=Livermorium Ion -item.particle.ion.Tennessine.name=Tennessine Ion -item.particle.ion.Oganesson.name=Oganesson Ion - - -item.particle.base.Graviton.name=Graviton -item.particle.base.Up.name=Up Quark -item.particle.base.Down.name=Down Quark -item.particle.base.Charm.name=Charm Quark -item.particle.base.Strange.name=Strange Quark -item.particle.base.Top.name=Top Quark -item.particle.base.Bottom.name=Bottom Quark -item.particle.base.Electron.name=Electron -item.particle.base.Electron Neutrino.name=Electron Neutrino -item.particle.base.Muon.name=Muon -item.particle.base.Muon Neutrino.name=Muon Neutrino -item.particle.base.Tau.name=Tau -item.particle.base.Tau Neutrino.name=Tau Neutrino -item.particle.base.Gluon.name=Gluon -item.particle.base.Photon.name=Photon -item.particle.base.Z Boson.name=Z Boson -item.particle.base.W Boson.name=W Boson -item.particle.base.Higgs Boson.name=Higgs Boson -item.particle.base.Proton.name=Proton -item.particle.base.Neutron.name=Neutron -item.particle.base.Lambda.name=Lambda -item.particle.base.Omega.name=Omega -item.particle.base.Pion.name=Pion -item.particle.base.ETA Meson.name=ETA Meson -item.particle.base.Unknown.name=Unknown Particle - -//Added 12/1/19 - -tile.playerDoorGlass.name=Glass Auto-Door -tile.playerDoorCactus.name=Cactus Auto-Door -tile.playerDoorIce.name=Ice Auto-Door -tile.playerDoorIron.name=Iron Auto-Door -tile.playerDoorWood.name=Wooden Auto-Door - -//Added 4/2/19 - -item.GTPP.BattPack.06.name=Charge Pack [LuV] -item.GTPP.BattPack.07.name=Charge Pack [ZPM] -item.GTPP.BattPack.08.name=Charge Pack [UV] -item.GTPP.BattPack.09.name=Charge Pack [MAX] - - -//Added 13/3/19 -item.gtpp.debug.scanner.name=GT++ Debug Scanner -item.RawWaste.name=Cell of Animal Waste -item.ManureSlurry.name=Cell of Manure Slurry -item.FertileManureSlurry.name=Cell of Fertile Slurry -item.itemDustTinyDemicheleiteBr.name=Tiny Pile of Demicheleite (Br) -item.itemDustSmallDemicheleiteBr.name=Small Pile of Demicheleite (Br) -tile.blockPooCollector.name=Agricultural Sewer -tile.Block of Lithium 7.name=Block of Lithium 7 - -//Added 14/3/19 -item.blood.name=Cell of Blood -item.aniline.name=Aniline Cell -item.cadaverine.name=Cadaverine Cell -item.polyurethane.name=Polyurethane Cell -item.putrescine.name=Putrescine Cell -item.cyclohexane.name=Cyclohexane Cell -item.cyclohexanone.name=Cyclohexanone Cell -item.nitrobenzene.name=Nitrobenzene Cell -item.ender.name=Cell of Liquid Ender -item.xpjuice.name=Cell of Liquid Xp -item.itemBombUnf.name=Throwable Bomb (unf) -item.itemBombCasing.name=Bomb Casing -item.gtpp.throwable.bomb.name=Throwable Bomb -item.itemDetCable.name=Bomb Fuse -tile.blockPooCollector.0.name=Agricultural Sewer -tile.blockPooCollector.8.name=Biocomposite Collector -item.itemIngotBakelite.name=Bakelite Ingot -item.itemDustBakelite.name=Bakelite Dust -item.itemDustTinyBakelite.name=Tiny Pile of Bakelite Dust -item.itemDustSmallBakelite.name=Small Pile of Bakelite Dust -item.itemNuggetBakelite.name=Bakelite Nugget -item.itemPlateBakelite.name=Bakelite Plate -item.itemPlateDoubleBakelite.name=Double Bakelite Plate -item.itemCellBakelite.name=Bakelite Cell -tile.Block of Bakelite.name=Block of Bakelite -item.itemIngotNylon.name=Nylon Ingot -item.itemDustNylon.name=Nylon Dust -item.itemDustTinyNylon.name=Tiny Pile of Nylon Dust -item.itemDustSmallNylon.name=Small Pile of Nylon Dust -item.itemNuggetNylon.name=Nylon Nugget -item.itemPlateNylon.name=Nylon Plate -item.itemPlateDoubleNylon.name=Double Nylon Plate -item.itemCellNylon.name=Nylon Cell -tile.Block of Nylon.name=Block of Nylon -item.itemIngotTeflon.name=Teflon Ingot -item.itemDustTeflon.name=Teflon Dust -item.itemDustTinyTeflon.name=Tiny Pile of Teflon Dust -item.itemDustSmallTeflon.name=Small Pile of Teflon Dust -item.itemNuggetTeflon.name=Teflon Nugget -item.itemPlateTeflon.name=Teflon Plate -item.itemPlateDoubleTeflon.name=Double Teflon Plate -item.itemCellTeflon.name=Teflon Cell -tile.Block of Teflon.name=Block of Teflon - -//Added 17/4/19 -//Spelling Corrections -item.particle.ion.Aluminium.name=Aluminium Ion -item.particle.ion.Caesium.name=Caesium Ion - -item.GTPP.MonsterKiller.Enderman.name=Enderman Killer -item.GTPP.MonsterKiller.Spider.name=Spider Killer -item.GTPP.MonsterKiller.Skeleton.name=Skeleton Killer -item.GTPP.MonsterKiller.Creeper.name=Creeper Killer -item.GTPP.MonsterKiller.Zombie.name=Zombie Killer -item.GTPP.MonsterKiller.Hellish.name=Nether Mob Killer - -item.itemIngotRunite.name=Runite Ingot -item.itemDustRunite.name=Runite Dust -item.itemDustTinyRunite.name=Tiny Pile of Runite Dust -item.itemDustSmallRunite.name=Small Pile of Runite Dust -item.itemNuggetRunite.name=Runite Nugget -item.itemPlateRunite.name=Runite Plate -item.itemPlateDoubleRunite.name=Double Runite Plate -item.itemCellRunite.name=Runite Cell -tile.Block of Runite.name=Block of Runite - -item.itemIngotDragonblood.name=Dragon Metal Ingot -item.itemDustDragonblood.name=Dragon Metal Dust -item.itemDustTinyDragonblood.name=Tiny Pile of Dragon Metal Dust -item.itemDustSmallDragonblood.name=Small Pile of Dragon Metal Dust -item.itemNuggetDragonblood.name=Shard of Dragonblood -item.itemPlateDragonblood.name=Dragon Metal Plate -item.itemPlateDoubleDragonblood.name=Double Dragon Metal Plate -item.itemCellDragonblood.name=Dragonblood Cell -tile.Block of Dragonblood.name=Block of Dragon Metal - -item.itemIngotBlackTitanium.name=Black Titanium Ingot -item.itemDustBlackTitanium.name=Black Titanium Dust -item.itemDustTinyBlackTitanium.name=Tiny Pile of Black Titanium Dust -item.itemDustSmallBlackTitanium.name=Small Pile of Black Titanium Dust -item.itemNuggetBlackTitanium.name=Black Titanium Nugget -item.itemPlateBlackTitanium.name=Black Titanium Plate -item.itemPlateDoubleBlackTitanium.name=Double Black Titanium Plate -item.itemCellBlackTitanium.name=Black Titanium Cell -tile.Block of Black Titanium.name=Block of Black Titanium - -item.itemIngotAncientGranite.name=Ancient Granite Ingot -item.itemHotIngotAncientGranite.name=Hot Ancient Granite Ingot -item.itemDustAncientGranite.name=Ancient Granite Dust -item.itemDustTinyAncientGranite.name=Tiny Pile of Ancient Granite Dust -item.itemDustSmallAncientGranite.name=Small Pile of Ancient Granite Dust -item.itemNuggetAncientGranite.name=Ancient Granite Nugget -item.itemPlateAncientGranite.name=Ancient Granite Plate -item.itemPlateDoubleAncientGranite.name=Double Ancient Granite Plate -tile.Block of Ancient Granite.name=Block of Ancient Granite - -item.itemIngotBabbitAlloy.name=Babbit Alloy Ingot -item.itemHotIngotBabbitAlloy.name=Hot Babbit Alloy Ingot -item.itemDustBabbitAlloy.name=Babbit Alloy Dust -item.itemDustTinyBabbitAlloy.name=Tiny Pile of Babbit Alloy Dust -item.itemDustSmallBabbitAlloy.name=Small Pile of Babbit Alloy Dust -item.itemNuggetBabbitAlloy.name=Babbit Alloy Nugget -item.itemPlateBabbitAlloy.name=Babbit Alloy Plate -item.itemPlateDoubleBabbitAlloy.name=Double Babbit Alloy Plate -item.itemCellBabbitAlloy.name=Babbit Alloy Cell -tile.Block of Babbit Alloy.name=Block of Babbit Alloy - -item.itemIngotBlackMetal.name=Black Metal Ingot -item.itemHotIngotBlackMetal.name=Hot Black Metal Ingot -item.itemDustBlackMetal.name=Black Metal Dust -item.itemDustTinyBlackMetal.name=Tiny Pile of Black Metal Dust -item.itemDustSmallBlackMetal.name=Small Pile of Black Metal Dust -item.itemNuggetBlackMetal.name=Black Metal Nugget -item.itemPlateBlackMetal.name=Black Metal Plate -item.itemPlateDoubleBlackMetal.name=Double Black Metal Plate -item.itemBoltBlackMetal.name=Black Metal Bolt -item.itemRodBlackMetal.name=Black Metal Rod -item.itemRodLongBlackMetal.name=Long Black Metal Rod -item.itemRingBlackMetal.name=Black Metal Ring -item.itemScrewBlackMetal.name=Black Metal Screw -item.itemRotorBlackMetal.name=Black Metal Rotor -item.itemGearBlackMetal.name=Black Metal Gear -item.itemCellBlackMetal.name=Black Metal Cell -tile.Block of Black Metal.name=Block of Black Metal -tile.Black Metal Frame Box.name=Black Metal Frame Box - -item.itemIngotWhiteMetal.name=White Metal Ingot -item.itemHotIngotWhiteMetal.name=Hot White Metal Ingot -item.itemDustWhiteMetal.name=White Metal Dust -item.itemDustTinyWhiteMetal.name=Tiny Pile of White Metal Dust -item.itemDustSmallWhiteMetal.name=Small Pile of White Metal Dust -item.itemNuggetWhiteMetal.name=White Metal Nugget -item.itemPlateWhiteMetal.name=White Metal Plate -item.itemPlateDoubleWhiteMetal.name=Double White Metal Plate -item.itemBoltWhiteMetal.name=White Metal Bolt -item.itemRodWhiteMetal.name=White Metal Rod -item.itemRodLongWhiteMetal.name=Long White Metal Rod -item.itemRingWhiteMetal.name=White Metal Ring -item.itemScrewWhiteMetal.name=White Metal Screw -item.itemRotorWhiteMetal.name=White Metal Rotor -item.itemGearWhiteMetal.name=White Metal Gear -item.itemCellWhiteMetal.name=White Metal Cell -tile.Block of White Metal.name=Block of White Metal -tile.White Metal Frame Box.name=White Metal Frame Box - -//Added 29/04/2019 -tile.OreRunite.name=Runite Ore -item.crushedRunite.name=Crushed Runite Ore -item.crushedCentrifugedRunite.name=Centrifuged Crushed Runite Ore -item.crushedPurifiedRunite.name=Purified Crushed Runite Ore -item.dustImpureRunite.name=Impure Runite Dust -item.dustPureRunite.name=Purified Runite Dust - -tile.OreAncientGranite.name=Ancient Granite Ore -item.crushedAncientGranite.name=Crushed Ancient Granite Ore -item.crushedCentrifugedAncientGranite.name=Centrifuged Crushed Ancient Granite Ore -item.crushedPurifiedAncientGranite.name=Purified Crushed Ancient Granite Ore -item.dustImpureAncientGranite.name=Impure Ancient Granite Dust -item.dustPureAncientGranite.name=Purified Ancient Granite Dust - -item.itemIngotRhugnor.name=Rhugnor Ingot -item.itemDustRhugnor.name=Rhugnor Dust -item.itemDustTinyRhugnor.name=Tiny Pile of Rhugnor Dust -item.itemDustSmallRhugnor.name=Small Pile of Rhugnor Dust -item.itemNuggetRhugnor.name=Rhugnor Nugget -item.itemPlateRhugnor.name=Rhugnor Plate -item.itemPlateDoubleRhugnor.name=Double Rhugnor Plate -item.itemCellRhugnor.name=Rhugnor Cell -tile.Block of Rhugnor.name=Block of Rhugnor - - - - -//Added 13/5/19 - -item.GTPP.BattPack.01.name=Charge Pack [LV] -item.GTPP.BattPack.02.name=Charge Pack [MV] -item.GTPP.BattPack.03.name=Charge Pack [HV] -item.GTPP.BattPack.04.name=Charge Pack [EV] -item.GTPP.BattPack.05.name=Charge Pack [IV] -item.IndustrialDiamondExquisite.name=Exquisite Industrial Diamond - -item.itemSpringCelestialTungsten.name=Celestial Tungsten Spring -item.itemSpringWhiteMetal.name=White Metal Spring -item.itemSpringNitinol60.name=Nitinol 60 Spring -item.itemSpringWatertightSteel.name=Watertight Steel Spring -item.itemSpringEglinSteel.name=Eglin Steel Spring - -item.itemSmallSpringMaragingSteel250.name=Small Maraging Steel 250 Spring -item.itemSmallSpringNichrome.name=Small Nichrome Spring -item.itemSmallSpringStaballoy.name=Small Staballoy Spring -item.itemSmallSpringBlackSteel.name=Small Black Steel Spring -item.itemSmallSpringBlackTitanium.name=Small Black Titanium Spring - -item.itemFineWireWhiteMetal.name=Fine White Metal Wire -item.itemFineWirePalladium.name=Fine Palladium Wire -item.itemFineWireZirconium.name=Fine Zirconium Wire -item.itemFineWireGrisium.name=Fine Grisium Wire -item.itemFineWireBabbitAlloy.name=Fine Babbit Alloy Wire -item.itemFineWireKoboldite.name=Fine Koboldite Wire -item.itemFineWireHG1223.name=Fine HG-1223 Wire -item.itemFineWireQuantum.name=Fine Quantum Wire - -item.itemHeavyPlatePotin.name=Heavy Potin Plate -item.itemHeavyPlateWatertightSteel.name=Heavy Watertight Steel Plate -item.itemHeavyPlateBronze.name=Heavy Bronze Plate -item.itemHeavyPlateOsmiridium.name=Heavy Osmiridium Plate -item.itemHeavyPlateQuantum.name=Heavy Quantum Plate -item.itemHeavyPlateBlackSteel.name=Heavy Black Steel Plate -item.itemHeavyPlateStainlessSteel.name=Heavy Stainless Steel Plate -item.itemHeavyPlateEglinSteel.name=Heavy Eglin Steel Plate -item.itemHeavyPlateMaragingSteel300.name=Heavy Maraging Steel 300 Plate -item.itemHeavyPlateTalonite.name=Heavy Talonite Plate -item.itemHeavyPlateHypogen.name=Heavy Hypogen Plate -item.itemHeavyPlateRhugnor.name=Heavy Rhugnor Plate -item.itemHeavyPlateAdvancedNitinol.name=Heavy Advanced Nitinol Plate -item.itemHeavyPlateAstralTitanium.name=Heavy Astral Titanium Plate -item.itemHeavyPlateCelestialTungsten.name=Heavy Celestial Tungsten Plate -item.itemHeavyPlateWhiteMetal.name=Heavy White Metal Plate -item.itemHeavyPlateBlackMetal.name=Heavy Black Metal Plate -item.itemHeavyPlateAncientGranite.name=Heavy Ancient Granite Plate - -item.GTPP.bauble.fireprotection.0.name=Supreme Pizza Gloves - - -//Added 16/5/19 -item.itemCellSeleniumDioxide.name=Selenium Dioxide Cell -item.itemCellSeleniousAcid.name=Selenious Acid Cell - -//Added 25/7/19 -container.pestkiller=Pest Killer - -//Added 15/8/19 -gtpp.nei.decayables=Decayables Chest -entity.batKing.name=Bat King -item.itemCellCarbyne.name=Carbyne Cell -item.itemCellHydrogenCyanide.name=Cell of Hydrogen Cyanide -item.itemCactusCharcoal.name=Cactus Charcoal -item.itemCactusCoke.name=Cactus Coke -item.itemSugarCharcoal.name=Sugar Charcoal -item.itemSugarCoke.name=Sugar Coke -item.LiquidHydrogen.name=Liquid Hydrogen Cell [LOH] - - - -//Added 24/8/19 -//Debug Labels -tile.blockDoorAlloy.name=Reinforced Door -tile.blockInhibitorObelisk.name=Inhibitor Obelisk -tile.Battlesign.name=Battlesign -tile.blockMagicBox.name=Magic Box -tile.blockManaPod.name=Mana Pod Stem -tile.buildToolBlock.name=Tool Block -tile.blockRedPlasma.name=Red Plasma Block -tile.pipeBlock.name=Pipe -item.null.name=Null Item report it on github - - -//Added 24/8/19 -tile.OreGreenockite.name=Greenockite Ore -item.crushedGreenockite.name=Crushed Greenockite Ore -item.crushedCentrifugedGreenockite.name=Centrifuged Crushed Greenockite Ore -item.crushedPurifiedGreenockite.name=Purified Crushed Greenockite Ore -item.dustImpureGreenockite.name=Impure Greenockite Dust -item.dustPureGreenockite.name=Purified Greenockite Dust -item.itemDustGreenockite.name=Greenockite Dust -item.itemDustTinyGreenockite.name=Tiny Pile of Greenockite Dust -item.itemDustSmallGreenockite.name=Small Pile of Greenockite Dust - -tile.OreRareEarthI.name=Rare Earth (I) Ore -item.crushedRareEarthI.name=Crushed Rare Earth (I) Ore -item.crushedCentrifugedRareEarthI.name=Centrifuged Crushed Rare Earth (I) Ore -item.crushedPurifiedRareEarthI.name=Purified Crushed Rare Earth (I) Ore -item.dustImpureRareEarthI.name=Impure Rare Earth (I) Dust -item.dustPureRareEarthI.name=Purified Rare Earth (I) Dust -item.itemDustRareEarthI.name=Rare Earth (I) Dust -item.itemDustTinyRareEarthI.name=Tiny Pile of Rare Earth (I) Dust -item.itemDustSmallRareEarthI.name=Small Pile of Rare Earth (I) Dust - -tile.OreRareEarthII.name=Rare Earth (II) Ore -item.crushedRareEarthII.name=Crushed Rare Earth (II) Ore -item.crushedCentrifugedRareEarthII.name=Centrifuged Crushed Rare Earth (II) Ore -item.crushedPurifiedRareEarthII.name=Purified Crushed Rare Earth (II) Ore -item.dustImpureRareEarthII.name=Impure Rare Earth (II) Dust -item.dustPureRareEarthII.name=Purified Rare Earth (II) Dust -item.itemDustRareEarthII.name=Rare Earth (II) Dust -item.itemDustTinyRareEarthII.name=Tiny Pile of Rare Earth (II) Dust -item.itemDustSmallRareEarthII.name=Small Pile of Rare Earth (II) Dust - -tile.OreRareEarthIII.name=Rare Earth (III) Ore -item.crushedRareEarthIII.name=Crushed Rare Earth (III) Ore -item.crushedCentrifugedRareEarthIII.name=Centrifuged Crushed Rare Earth (III) Ore -item.crushedPurifiedRareEarthIII.name=Purified Crushed Rare Earth (III) Ore -item.dustImpureRareEarthIII.name=Impure Rare Earth (III) Dust -item.dustPureRareEarthIII.name=Purified Rare Earth (III) Dust -item.itemDustRareEarthIII.name=Rare Earth (III) Dust -item.itemDustTinyRareEarthIII.name=Tiny Pile of Rare Earth (III) Dust -item.itemDustSmallRareEarthIII.name=Small Pile of Rare Earth (III) Dust - -//Added 16/10/19 -item.BioRecipeSelector.name=Programmed Bio Circuit -item.FermentationBase.name=Cell of Fermentation Base -item.ureamix.name=Cell of Urea Mix -item.liquidresin.name=Cell of Liquid Resin -item.propionicacid.name=Propionic Acid Cell -item.aceticacid.name=Acetic Acid Cell -item.BasicAgrichemItem.0.name=Algae Biomass -item.BasicAgrichemItem.1.name=Green Algae Biomass -item.BasicAgrichemItem.2.name=Brown Algae Biomass -item.BasicAgrichemItem.3.name=Golden-Brown Algae Biomass -item.BasicAgrichemItem.4.name=Red Algae Biomass -item.BasicAgrichemItem.5.name=Cellulose Fiber -item.BasicAgrichemItem.6.name=Golden-Brown Cellulose Fiber -item.BasicAgrichemItem.7.name=Red Cellulose Fiber -item.BasicAgrichemItem.8.name=Compost -item.BasicAgrichemItem.9.name=Wood Pellet -item.BasicAgrichemItem.10.name=Wood Brick -item.BasicAgrichemItem.11.name=Cellulose Pulp -item.BasicAgrichemItem.12.name=Raw Bio Resin -item.BasicAgrichemItem.13.name=Catalyst Carrier -item.BasicAgrichemItem.14.name=Green Metal Catalyst -item.BasicAgrichemItem.15.name=Alginic Acid -item.BasicAgrichemItem.16.name=Alumina -item.BasicAgrichemItem.17.name=Aluminium Pellet -item.BasicAgrichemItem.18.name=Sodium Aluminate -item.BasicAgrichemItem.19.name=Sodium Hydroxide -item.BasicAgrichemItem.20.name=Sodium Carbonate -item.BasicAgrichemItem.21.name=Lithium Chloride - -//Added 24/10/19 -item.butanol.name=Butanol Cell - -//Try Fix IC2 Garbage vv -fluidHotWater=Heated Water -fluidHotWater.name=Heated Water -//Try Fix IC2 Garbage ^^ - - -//Added 11/12/19 -item.itemHotIngotTitanium.name=Hot Titanium Ingot -item.OilHeavy.name=Heavy Oil Cell -item.UnsymmetricalDimethylhydrazine.name=Unsymmetrical Dimethylhydrazine Cell -item.benzene.name=Benzene Cell -item.Benzene.name=Benzene Cell -item.phenol.name=Phenol Cell -item.CarbonDioxide.name=Carbon Dioxide Cell -item.itemCellCarbonDioxide.name=Carbon Dioxide Cell -item.CarbonMonoxide.name=Carbon Monoxide Cell -item.itemCellCarbonMonoxide.name=Carbon Monoxide Cell -item.acetone.name=Acetone Cell -item.saltwater.name=Salt Water Cell -item.BasicAgrichemItem.22.name=Mold (Pellet) -item.BasicAgrichemItem.23.name=Clean Aluminium Mix - -//Added 12/12/19 - -item.BasicGenericChemItem.0.name=Red Metal Catalyst -item.BasicGenericChemItem.1.name=Yellow Metal Catalyst -item.BasicGenericChemItem.2.name=Blue Metal Catalyst -item.BasicGenericChemItem.3.name=Orange Metal Catalyst -item.BasicGenericChemItem.4.name=Purple Metal Catalyst -item.BasicGenericChemItem.5.name=Brown Metal Catalyst -item.MudRedSlurry.name=Cell of Red Mud Slurry -item.liquid_toluene.name=Toluene Cell - -//Added 17/01/20 -item.BasicGenericChemItem.6.name=Pink Metal Catalyst - -//Added 23/03/20 -item.BasicMetaFood.0.name=Raw Human Meat -item.BasicMetaFood.1.name=Cooked Human Meat -item.BasicMetaFood.2.name=Raw Horse Meat -item.BasicMetaFood.3.name=Cooked Horse Meat -item.BasicMetaFood.4.name=Raw Wolf Meat -item.BasicMetaFood.5.name=Cooked Wolf Meat -item.BasicMetaFood.6.name=Raw Ocelot Meat -item.BasicMetaFood.7.name=Cooked Ocelot Meat -item.BasicMetaFood.8.name=Blaze Flesh - -item.itemCellNaquadahFuel.name=Naquadah Fuel Cell -item.itemCellEnrichedNaquadahFuel.name=Enriched Naquadah Fuel Cell -item.itemCellNaquadriaFuel.name=Naquadria Fuel Cell -item.boricacid.name=Boric Acid Cell -item.hydrochloricacid.name=Hydrochloric Acid Cell - -item.BasicAlgaeItem.name=Breedable Algae -item.BasicAlgaeItem.0.name=Breedable Algae -item.BasicAlgaeItem.1.name=Breedable Algae -item.BasicAlgaeItem.2.name=Breedable Algae -item.BasicAlgaeItem.3.name=Breedable Algae -item.BasicAlgaeItem.4.name=Breedable Algae -item.BasicAlgaeItem.5.name=Breedable Algae -item.BasicAlgaeItem.6.name=Breedable Algae - -//Added 30/03/20 -item.milledChalcopyrite.name=Milled Chalcopyrite -item.milledSphalerite.name=Milled Sphalerite -item.milledNickel.name=Milled Nickel -item.milledPlatinum.name=Milled Platinum -item.milledPentlandite.name=Milled Pentlandite -item.FrothZincflotation.name=Sphalerite Flotation Froth Cell -item.FrothCopperflotation.name=Chalcopyrite Flotation Froth Cell -item.FrothNickelflotation.name=Nickel Flotation Froth Cell -item.FrothPlatinumflotation.name=Platinum Flotation Froth Cell -item.FrothPentlanditeflotation.name=Pentlandite Flotation Froth Cell -item.BasicGenericChemItem.7.name=Alumina Milling Ball -item.BasicGenericChemItem.8.name=Soapstone Milling Ball - -//Added 31/03/20 -item.BasicGenericChemItem.9.name=Sodium Ethoxide Dust -item.BasicGenericChemItem.10.name=Sodium Ethyl Xanthate Dust -item.BasicGenericChemItem.11.name=Potassium Ethyl Xanthate Dust -item.BasicGenericChemItem.12.name=Potassium Hydroxide Dust -item.CarbonDisulfide.name=Carbon Disulfide Cell -item.HydrogenSulfide.name=Hydrogen Sulfide Cell -item.BasicAgrichemItem.24.name=Pinecone -item.BasicAgrichemItem.25.name=Crushed Pine Materials -item.pineoil.name=Pine Oil Cell - -//Added 11/4/20 -item.milledRedstone.name=Milled Redstone -item.milledSpessartine.name=Milled Spessartine -item.milledGrossular.name=Milled Grossular -item.milledAlmandine.name=Milled Almandine -item.milledPyrope.name=Milled Pyrope -item.FrothRedstoneflotation.name=Redstone Flotation Froth Cell -item.FrothSpessartineflotation.name=Spessartine Flotation Froth Cell -item.FrothGrossularflotation.name=Grossular Flotation Froth Cell -item.FrothAlmandineflotation.name=Almandine Flotation Froth Cell -item.FrothPyropeflotation.name=Pyrope Flotation Froth Cell - -//Added 13/04/20 -item.T3RecipeSelector.name=Programmed Breakthrough Circuit - -//Added 03/05/20 -entity.miscutils.batKing.name=Spectral Bat -entity.miscutils.bigChickenFriendly.name=Giant Chicken -entity.miscutils.AusDingo.name=Dingo -entity.miscutils.AusBoar.name=Wild Boar -entity.miscutils.AusSpider.name=Forest Spider -entity.miscutils.AusOctopus.name=Octopus -container.EggBox=Egg Hatching Box - -//Added 24/05/20 -container.VolumetricFlaskSetter=Volumetric Flask Configurator - -//Added 26/05/20 -item.itemIngotLaurenium.name=Laurenium Ingot -item.itemHotIngotLaurenium.name=Hot Laurenium Ingot -item.itemDustLaurenium.name=Laurenium Dust -item.itemDustTinyLaurenium.name=Tiny Pile of Laurenium Dust -item.itemDustSmallLaurenium.name=Small Pile of Laurenium Dust -item.itemNuggetLaurenium.name=Laurenium Nugget -item.itemPlateLaurenium.name=Laurenium Plate -item.itemPlateDoubleLaurenium.name=Double Laurenium Plate -item.itemBoltLaurenium.name=Laurenium Bolt -item.itemRodLaurenium.name=Laurenium Rod -item.itemRodLongLaurenium.name=Long Laurenium Rod -item.itemRingLaurenium.name=Laurenium Ring -item.itemScrewLaurenium.name=Laurenium Screw -item.itemRotorLaurenium.name=Laurenium Rotor -item.itemGearLaurenium.name=Laurenium Gear -item.itemCellLaurenium.name=Laurenium Cell -tile.Block of Laurenium.name=Block of Laurenium -tile.Laurenium Frame Box.name=Laurenium Frame Box -item.itemIngotBotmium.name=Botmium Ingot -item.itemHotIngotBotmium.name=Hot Botmium Ingot -item.itemDustBotmium.name=Botmium Dust -item.itemDustTinyBotmium.name=Tiny Pile of Botmium Dust -item.itemDustSmallBotmium.name=Small Pile of Botmium Dust -item.itemNuggetBotmium.name=Botmium Nugget -item.itemPlateBotmium.name=Botmium Plate -item.itemPlateDoubleBotmium.name=Double Botmium Plate -item.itemBoltBotmium.name=Botmium Bolt -item.itemRodBotmium.name=Botmium Rod -item.itemRodLongBotmium.name=Long Botmium Rod -item.itemRingBotmium.name=Botmium Ring -item.itemScrewBotmium.name=Botmium Screw -item.itemRotorBotmium.name=Botmium Rotor -item.itemGearBotmium.name=Botmium Gear -item.itemCellBotmium.name=Botmium Cell -tile.Block of Botmium.name=Block of Botmium -tile.Botmium Frame Box.name=Botmium Frame Box - -//Added 29/05/20 -item.itemBasicTurbine.name=Basic Turbine -item.itemBasicTurbine_0.name=Basic Iron Turbine -item.itemBasicTurbine_1.name=Basic Bronze Turbine -item.itemBasicTurbine_2.name=Basic Steel Turbine - -interaction.voidexcess.enabled=Void Excess Enabled -interaction.voidexcess.disabled=Void Excess Disabled - -interaction.separateBusses.enabled=Input busses are separated -interaction.separateBusses.disabled=Input busses are not separated - -//Added 29/11/21 - -item.BasicNuclearChemItem.0.name=Uranium Residue Mix -item.BasicNuclearChemItem.1.name=Plutonium Residue Mix -item.BasicNuclearChemItem.2.name=Fluoride Residue Mix -item.BasicNuclearChemItem.3.name=Noble Residue Mix -item.BasicNuclearChemItem.4.name=Red Algae Biomass -item.BasicNuclearChemItem.5.name=Cellulose Fiber -item.BasicNuclearChemItem.6.name=Golden-Brown Cellulose Fiber -item.BasicNuclearChemItem.7.name=Red Cellulose Fiber - -item.itemCellLiFBeF2ZrF4U235.name=LFTR Fuel I Cell -item.itemCellLiFBeF2ZrF4UF4.name=LFTR Fuel II Cell -item.itemCellLiFBeF2ThF4UF4.name=LFTR Fuel III Cell -item.Li2BeF2UF4.name=Burnt Li2BeF2UF4 Cell - -//Added 6/12/21 -item.itemCellLiFBeF2UF4FP.name=LiFBeF2UF4FP Cell -item.itemCellUF6F2.name=UF6F2 Cell -item.itemCellLiFBeF2ThF4.name=LiFBeF2ThF4 Cell -item.itemCellUF6F2FP.name=UF6F2FP Cell -item.dustProtactinium233.name=Protactinium-233 Dust -item.itemCellLiFThF4.name=LiFThF4 Cell -item.NuclearWaste.name=Nuclear Waste Cell -item.itemCellLiFBeF2UF4.name=LiFBeF2UF4 Cell -item.itemCellSodiumFluoride.name=Sodium Fluoride Cell -item.itemCellLiFBeF2.name=LiFBeF2 Cell - -//Added 7/12/21 -item.itemCellDysprosium.name=Dysprosium Cell -item.itemCellThorium.name=Thorium Cell -item.itemCellTellurium.name=Tellurium Cell -item.itemCellThorium232.name=Thorium-232 Cell -item.itemCellLithiumTetrafluoroberyllate.name=Lithium Tetrafluoroberyllate Cell -item.itemCellBurntReactorFuelI.name=Spent LFTR Fuel I Cell -item.itemCellBurntReactorFuelII.name=Spent LFTR Fuel II Cell -item.itemDustTinyIndium.name=Tiny Indium Dust -item.itemDustSmallIndium.name=Small Indium Dust -item.itemDustIndium.name=Indium Dust -item.itemDustTinyBerylliumHydroxide.name=Tiny Beryllium Hydroxide Dust -item.itemDustSmallBerylliumHydroxide.name=Small Beryllium Hydroxide Dust -item.itemDustBerylliumHydroxide.name=Beryllium Hydroxide Dust -item.itemDustTinyAmmoniumBifluoride.name=Tiny Ammonium Bifluoride Dust -item.itemDustSmallAmmoniumBifluoride.name=Small Ammonium Bifluoride Dust -item.itemDustAmmoniumBifluoride.name=Ammonium Bifluoride Dust -item.itemDustTinyAmmoniumTetrafluoroberyllate.name=Tiny Ammonium Tetrafluoroberyllate Dust -item.itemDustSmallAmmoniumTetrafluoroberyllate.name=Small Ammonium Tetrafluoroberyllate Dust -item.itemDustAmmoniumTetrafluoroberyllate.name=Ammonium Tetrafluoroberyllate Dust - -//Added 10/12/21 -item.ImpureLiFBeF2.name=Impure LiFBeF2 Cell -item.itemCellHeliumSpargedLiFBeF2UF4FP.name=Helium Sparged LiFBeF2UF4FP Cell -item.itemCellFluorineSpargedLiFThF4.name=Fluorine Sparged LiFThF4 Cell -item.itemCellFluorineSpargedLiFBeF2ThF4.name=Fluorine Sparged LiFBeF2ThF4 Cell -item.itemIngotHS188A.name=HS-188A Ingot -item.itemHotIngotHS188A.name=Hot HS-188A Ingot -item.itemDustHS188A.name=HS-188A Dust -item.itemDustTinyHS188A.name=Tiny Pile of HS-188A Dust -item.itemDustSmallHS188A.name=Small Pile of HS-188A Dust -item.itemNuggetHS188A.name=HS-188A Nugget -item.itemPlateHS188A.name=HS-188A Plate -item.itemPlateDoubleHS188A.name=Double HS-188A Plate -item.itemBoltHS188A.name=HS-188A Bolt -item.itemRodHS188A.name=HS-188A Rod -item.itemRodLongHS188A.name=Long HS-188A Rod -item.itemRingHS188A.name=HS-188A Ring -item.itemScrewHS188A.name=HS-188A Screw -item.itemRotorHS188A.name=HS-188A Rotor -item.itemGearHS188A.name=HS-188A Gear -item.itemCellHS188A.name=HS-188A Cell - -//Added 12/12/21 -item.itemIngotErbium.name=Erbium Ingot -item.itemHotIngotErbium.name=Hot Erbium Ingot -item.itemDustErbium.name=Erbium Dust -item.itemDustTinyErbium.name=Tiny Pile of Erbium Dust -item.itemDustSmallErbium.name=Small Pile of Erbium Dust -item.itemNuggetErbium.name=Erbium Nugget -item.itemPlateErbium.name=Erbium Plate -item.itemPlateDoubleErbium.name=Double Erbium Plate -item.itemBoltErbium.name=Erbium Bolt -item.itemRodErbium.name=Erbium Rod -item.itemRodLongErbium.name=Long Erbium Rod -item.itemRingErbium.name=Erbium Ring -item.itemScrewErbium.name=Erbium Screw -item.itemRotorErbium.name=Erbium Rotor -item.itemGearErbium.name=Erbium Gear -item.itemCellErbium.name=Erbium Cell -item.itemIngotHeLiCoPtEr.name=HeLiCoPtEr Ingot -item.itemHotIngotHeLiCoPtEr.name=Hot HeLiCoPtEr Ingot -item.itemDustHeLiCoPtEr.name=HeLiCoPtEr Dust -item.itemDustTinyHeLiCoPtEr.name=Tiny Pile of HeLiCoPtEr Dust -item.itemDustSmallHeLiCoPtEr.name=Small Pile of HeLiCoPtEr Dust -item.itemNuggetHeLiCoPtEr.name=HeLiCoPtEr Nugget -item.itemPlateHeLiCoPtEr.name=HeLiCoPtEr Plate -item.itemPlateDoubleHeLiCoPtEr.name=Double HeLiCoPtEr Plate -item.itemBoltHeLiCoPtEr.name=HeLiCoPtEr Bolt -item.itemRodHeLiCoPtEr.name=HeLiCoPtEr Rod -item.itemRodLongHeLiCoPtEr.name=Long HeLiCoPtEr Rod -item.itemRingHeLiCoPtEr.name=HeLiCoPtEr Ring -item.itemScrewHeLiCoPtEr.name=HeLiCoPtEr Screw -item.itemRotorHeLiCoPtEr.name=HeLiCoPtEr Rotor -item.itemGearHeLiCoPtEr.name=HeLiCoPtEr Gear -item.itemCellHeLiCoPtEr.name=HeLiCoPtEr Cell -item.itemIngotPraseodymium.name=Praseodymium Ingot -item.itemHotIngotPraseodymium.name=Hot Praseodymium Ingot -item.itemDustPraseodymium.name=Praseodymium Dust -item.itemDustTinyPraseodymium.name=Tiny Pile of Praseodymium Dust -item.itemDustSmallPraseodymium.name=Small Pile of Praseodymium Dust -item.itemNuggetPraseodymium.name=Praseodymium Nugget -item.itemPlatePraseodymium.name=Praseodymium Plate -item.itemPlateDoublePraseodymium.name=Double Praseodymium Plate -item.itemBoltPraseodymium.name=Praseodymium Bolt -item.itemRodPraseodymium.name=Praseodymium Rod -item.itemRodLongPraseodymium.name=Long Praseodymium Rod -item.itemRingPraseodymium.name=Praseodymium Ring -item.itemScrewPraseodymium.name=Praseodymium Screw -item.itemRotorPraseodymium.name=Praseodymium Rotor -item.itemGearPraseodymium.name=Praseodymium Gear -item.itemCellPraseodymium.name=Praseodymium Cell -item.milledMonazite.name=Milled Monazite -item.FrothMonaziteflotation.name=Monazite Flotation Froth Cell - -//Added 18/12/21 -item.BasicGenericChemItem.13.name=Formaldehyde Catalyst -item.hydrogenchloridemix.name=Hydrogen Chlorine Mix - -//Added 19/01/22 -item.SunnariumBit.name=Sunnarium Bit - -//Added 29/01/22 -sleep.event.okay=Вы хорошо выспались и теперь чувствуете себя немного лучше. -sleep.event.good=Вы хорошо выспались и теперь чувствуете себя намного лучше. -sleep.event.wellrested=Вы чувствуете себя хорошо отдохнувшим. -sleep.event.downsides=Слабое здоровье больше не беспокоит вас. -item.miscutils:magicfeather.name=Magical Feather - -//Added 10/02/22 -item.BasicGenericChemItem.14.name=Solid-Acid Catalyst - -//Added 30/05/22 -item.BasicGenericChemItem.15.name=Infinite Mutation Catalyst \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/lang/zh_CN.lang b/gtpp/src/main/resources/assets/miscutils/lang/zh_CN.lang deleted file mode 100644 index 83304b8697..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/lang/zh_CN.lang +++ /dev/null @@ -1,3351 +0,0 @@ -//Creative Tabs -itemGroup.MiscUtilBlockTab=[GT++] 方块 -itemGroup.MiscUtilMiscTab=[GT++] 物品 -itemGroup.MiscUtilCombatTab=[GT++] 战斗 -itemGroup.MiscUtilToolsTab=[GT++] 工具 -itemGroup.MiscUtilMachineTab=[GT++] 机器 -itemGroup.MiscUtilOtherTab=[GT++] 物品 II -itemGroup.MiscUtilBOP=[GT++]超多生物群系附属 - -//Debug -item.AAA_Broken.name=[不存在的物品]请在Github上反馈这个合成 -item.itemBedLocator_Base.name=床定位器[NBT测试] -item.itemBaseItemWithCharge.name=基础可充电物品 -item.miscutils_itemDebugShapeSpawner.name=[调试用]塑形 - -//Fluids -tile.fluidSludge.name=不流动的废水 -tile.fluidSludge.0.name=不流动的废水 - -//Death Messages -death.attack.plasmabolt=%s 死于滚烫的等离子体. -death.attack.plasmabolt.player=%1$s 被 %2$s 使用等离子体击杀. -death.attack.gtpp.grinder=%s 被艾萨研磨机磨成了渣渣. - -//Alternative Materials -item.itemPlateBatteryAlloy.name=电池合金板 -item.itemIngotBatteryAlloy.name=电池合金锭 -item.itemStickyRubber.name=粘性橡胶团 - -//Unused Fuel rods -item.itemFuelRod_Empty.name=空燃料棒 -item.itemFuelRod_Thorium.name=钍燃料棒 -item.itemFuelRod_Uranium.name=铀燃料棒 -item.itemFuelRod_Plutonium.name=钚燃料棒 - -//Entities -entity.constructStaballoy.name=贫铀合金结构 -entity.sickBlaze.name=被感染的狂热者 - -//Tile Entities -tile.blockToolBuilder.name=格雷工具组装台 - -//Tools -item.itemBufferCore.name=能量核心 -item.itemStaballoyPickaxe.name=隧道挖掘者 -item.itemStaballoyAxe.name=树林砍伐者 -item.itemSandstoneHammer.name=圆石粉碎者 - -//Thermal Foundation Stuff -item.MiscUtils.bucket.bucketPyrotheum.name=烈焰之炽焱桶 -item.MiscUtils.bucket.bucketCryotheum.name=极寒之凛冰桶 -item.MiscUtils.bucket.bucketEnder.name=谐振熔融末影珍珠桶 -item.MiscUtils.material.dustPyrotheum.name=炽焱之尘 -item.MiscUtils.material.dustCryotheum.name=凛冰之尘 -item.MiscUtils.material.rodBlizz.name=暴雪棒 -item.MiscUtils.material.dustBlizz.name=暴雪粉 - -//------------- 'miscutils' is Case Sensitive Here, unsure why -tile.miscutils.fluid.pyrotheum.name=烈焰之炽焱 -tile.miscutils.fluid.cryotheum.name=极寒之凛冰 -tile.miscutils.fluid.ender.name=谐振熔融末影珍珠 -//-------------- - -//Forestry Stuff -item.frameAccelerated.name=加速框架 -item.frameVoid.name=虚空框架 -item.frameMutagenic.name=诱变框架 -item.frameBusy.name=工作框架 -item.frameChocolate.name=巧克力框架 -item.frameRestraint.name=约束框架 -item.frameSoul.name=灵魂框架 -item.frameHealing.name=治愈框架 -item.frameNova.name=新星框架 -item.frameArborists.name=树艺框架 -item.frameDecaying.name=腐烂框架 -item.frameSlowing.name=减速框架 -item.frameStabilizing.name=稳定框架 -item.frameUseless.name=无用框架 - -//IC2 stuff -item.itemEnergeticRotorBlade.name=充能合金扇叶 -item.itemTungstenSteelRotorBlade.name=钨钢扇叶 -item.itemVibrantRotorBlade.name=脉冲合金扇叶 -item.itemIridiumRotorBlade.name=铱扇叶 -item.itemEnergeticShaft.name=充能合金轴 -item.itemTungstenSteelShaft.name=钨钢轴 -item.itemVibrantShaft.name=脉冲合金轴 -item.itemIridiumShaft.name=铱轴 -item.itemMagnaliumRotorBlade.name=镁铝合金扇叶 -item.itemUltimetRotorBlade.name=哈氏合金扇叶 -item.itemMagnaliumShaft.name=镁铝合金轴 -item.itemUltimetShaft.name=哈氏合金轴 - - -//Misc Items -item.itemPLACEHOLDER_Circuit.name=夸克操纵者 (UV) -item.itemPlateEnrichedSoularium.name=富集阳光合金板 -item.itemHeliumBlob.name=神秘氢气物质 -item.itemAlkalusDisk.name=Alkalus圆盘 - -//Misc Blocks -tile.blockCompressedObsidian.0.name=压缩黑曜石(9) -tile.blockCompressedObsidian.1.name=二重压缩黑曜石(81) -tile.blockCompressedObsidian.2.name=三重压缩黑曜石(729) -tile.blockCompressedObsidian.3.name=四重压缩黑曜石(6561) -tile.blockCompressedObsidian.4.name=五重压缩黑曜石(59049) -tile.blockCompressedObsidian.5.name=反转黑曜石 -tile.blockCompressedObsidian.6.name=压缩萤石(9) -tile.blockCompressedObsidian.7.name=二重压缩萤石(81) -tile.blockCompressedObsidian.8.name=三重压缩萤石(729) -tile.blockCompressedObsidian.9.name=四重压缩萤石(6561) -tile.blockCompressedObsidian.10.name=五重压缩萤石(59049) -tile.blockNet.name=网 - - -//GT++ Items - -//Meta Tool -MU-metaitem.01.0.name=MU-metaitem.01.0.name - -//Cells -item.SulfurDioxide.name=优质二氧化硫单元 -item.mobessence.name=怪物精华液单元 -item.Fertiliser.name=流体肥料单元 -item.UN32Fertiliser.name=UN-32肥料单元 -item.UN18Fertiliser.name=UN-18肥料单元 -item.RaisinJuice.name=葡萄汁单元 -item.BerylliumHydroxide.name=氢氧化铍单元 -item.AmmoniumBifluoride.name=氟化氢铵单元 -item.Hydroxide.name=氢氧化物单元 -item.Ammonium.name=铵单元 -item.AmmoniumTetrafluoroberyllate.name=四氟硼酸铵单元 - -//Resources -item.itemStickyRubber.name=粘性橡胶团 -item.itemCoalCoke.name=焦煤 -item.itemHydrogenBlob.name=神秘氢气团 -item.itemHeliumBlob.name=神秘氢气物质 - -//Normal Items -item.itemAlkalusDisk.name=Alkalus圆盘 -item.itemSimpleFiremaker.name=基础起火器 -item.itemFiber.name=植物纤维 -item.itemRope.name=绳索 -item.backpackRed.name=红色背包 -item.backpackGreen.name=绿色背包 -item.backpackBlue.name=蓝色背包 -item.backpackYellow.name=黄色背包 -item.backpackPurple.name=紫色背包 -item.backpackCyan.name=青色背包 -item.backpackMaroon.name=棕色背包 -item.backpackOlive.name=橄榄绿色背包 -item.backpackDarkGreen.name=深绿色背包 -item.backpackDarkPurple.name=深紫色背包 -item.backpackTeal.name=蓝绿色背包 -item.backpackNavy.name=深蓝色背包 -item.backpackSilver.name=银色背包 -item.backpackGray.name=灰色背包 -item.backpackBlack.name=黑色背包 -item.backpackWhite.name=白色背包 -item.itemBlueprint.name=蓝图[无用] -item.itemGemShards.name=钻石碎片 -item.itemHalfCompleteCasings.name=半成品机械方块 -item.itemSulfuricPotion.name=喷溅型 硫酸 -item.itemHydrofluoricPotion.name=喷溅型 氢氟酸 - - -//Conversion Dusts -item.dustNeptunium238.name=镎-238粉 -item.dustRadium226.name=镭-226粉 -item.itemDustDecayedRadium226.name=衰变镭-226粉 -item.itemDustSmallDecayedRadium226.name=小堆衰变镭-226粉 -item.itemDustTinyDecayedRadium226.name=小撮衰变镭-226粉 - -//Material Items -item.itemDustGadolinium.name=钆粉 -item.itemDustSmallGadolinium.name=小堆钆粉 -item.itemDustTinyGadolinium.name=小撮钆粉 -item.itemDustYtterbium.name=镱粉 -item.itemDustSmallYtterbium.name=小堆镱粉 -item.itemDustTinyYtterbium.name=小撮镱粉 -item.itemDustSamarium.name=钐粉 -item.itemDustSmallSamarium.name=小堆钐粉 -item.itemDustTinySamarium.name=小撮钐粉 -item.itemDustLanthanum.name=镧粉 -item.itemDustSmallLanthanum.name=小堆镧粉 -item.itemDustTinyLanthanum.name=小撮镧粉 -item.itemCellNeon.name=氖单元 -item.itemCellGermanium.name=锗单元 -item.itemCellSelenium.name=硒单元 -item.itemCellBromine.name=溴单元 -item.itemCellKrypton.name=氪单元 -item.itemCellZirconium.name=锆单元 -item.itemCellTechnetium.name=锝单元 -item.itemCellRuthenium.name=钌单元 -item.itemCellRhodium.name=铑单元 -item.itemCellIodine.name=碘单元 -item.itemCellXenon.name=氙单元 -item.itemCellHafnium.name=铪单元 -item.itemCellRhenium.name=铼单元 -item.itemCellThallium.name=铊单元 -item.itemCellPolonium.name=钋单元 -item.itemCellAstatine.name=砹单元 -item.itemCellFrancium.name=钫单元 -item.itemCellRadium.name=镭单元 -item.itemCellActinium.name=锕单元 -item.itemCellProtactinium.name=镤单元 -item.itemCellNeptunium.name=镎单元 -item.itemCellCurium.name=锔单元 -item.itemCellBerkelium.name=锫单元 -item.itemCellCalifornium.name=锎单元 -item.itemCellEinsteinium.name=锿单元 -item.itemCellFermium.name=镄单元 -item.itemCellRefinedTrinium.name=精制三元金属单元 -item.itemIngotSelenium.name=硒锭 -item.itemDustSelenium.name=硒粉 -item.itemDustTinySelenium.name=小撮硒粉 -item.itemDustSmallSelenium.name=小堆硒粉 -item.itemNuggetSelenium.name=硒粒 -item.itemPlateSelenium.name=硒板 -item.itemPlateDoubleSelenium.name=双重硒板 -item.itemBoltSelenium.name=硒螺栓 -item.itemRodSelenium.name=硒杆 -item.itemRodLongSelenium.name=长硒杆 -item.itemRingSelenium.name=硒环 -item.itemScrewSelenium.name=硒螺丝 -item.itemRotorSelenium.name=硒转子 -item.itemGearSelenium.name=硒齿轮 -item.itemCellUranium232.name=铀-232单元 -item.itemCellUranium233.name=铀-233单元 -item.itemCellThoriumTetrafluoride.name=四氟化钍单元 -item.itemCellThoriumHexafluoride.name=六氟化钍单元 -item.itemCellUraniumTetrafluoride.name=四氟化铀单元 -item.itemCellUraniumHexafluoride.name=六氟化铀单元 -item.itemCellZirconiumTetrafluoride.name=四氟化锆单元 -item.itemCellBerylliumFluoride.name=氟化铍单元 -item.itemCellLithiumFluoride.name=氟化锂单元 -item.itemCellHydroxide.name=氢氧化物单元 -item.itemCellAmmonium.name=铵单元 -item.itemCellAmmoniumBifluoride.name=氟化氢铵单元 -item.itemCellBerylliumHydroxide.name=氢氧化铍单元 -item.itemCellAmmoniumTetrafluoroberyllate.name=氟铍酸铵单元 -item.itemCellNeptuniumHexafluoride.name=六氟化铀单元 -item.itemCellTechnetiumHexafluoride.name=六氟化锝单元 -item.itemCellSeleniumHexafluoride.name=六氟化硒单元 -item.itemCellEnergyCrystal.name=能量水晶单元 -item.itemCellBloodSteel.name=血钢单元 -item.itemCellStaballoy.name=贫铀合金单元 -item.itemCellTantalloy60.name=钽钨合金-60单元 -item.itemCellTantalloy61.name=钽钨合金-61单元 -item.itemCellTumbaga.name=铜金合金单元 -item.itemCellPotin.name=粗青铜合金单元 -item.itemCellInconel625.name=镍铬基合金-625单元 -item.itemCellInconel690.name=镍铬基合金-690单元 -item.itemCellInconel792.name=镍铬基合金-792单元 -item.itemCellZeron100.name=塞龙-100单元 -item.itemCellMaragingSteel250.name=马氏体时效钢250单元 -item.itemCellMaragingSteel300.name=马氏体时效钢300单元 -item.itemCellMaragingSteel350.name=马氏体时效钢350单元 -item.itemCellStellite.name=铬钴锰钛合金单元 -item.itemCellTalonite.name=铬钴磷酸盐合金单元 -item.itemCellHastelloyW.name=哈斯特洛依合金-W单元 -item.itemCellHastelloyX.name=哈斯特洛依合金-X单元 -item.itemCellHastelloyN.name=哈斯特洛依合金-N单元 -item.itemCellHastelloyC276.name=哈斯特洛依合金-C276单元 -item.itemCellIncoloy020.name=耐热铬铁合金-020单元 -item.itemCellIncoloyDS.name=耐热铬铁合金-DS单元 -item.itemCellIncoloyMA956.name=耐热铬铁合金-MA956单元 -item.itemCellTungstenCarbide.name=碳化钨单元 -item.itemCellSiliconCarbide.name=碳化硅单元 -item.itemCellTantalumCarbide.name=碳化钽单元 -item.itemCellZirconiumCarbide.name=碳化锆单元 -item.itemCellNiobiumCarbide.name=碳化铌单元 -item.itemCellGrisium.name=灰钛合金单元 -item.itemCellEglinSteelBaseCompound.name=埃格林钢单元 -item.itemCellEglinSteel.name=埃格林钢单元 -item.itemCellHG1223.name=HG-1223单元 -item.itemCellTriniumTitaniumAlloy.name=三元钛合金单元 -item.itemCellTriniumNaquadahAlloy.name=三元硅岩合金单元 -item.itemCellTriniumNaquadahCarbonite.name=碳化三元硅岩合金单元 -item.itemCellQuantum.name=量子合金单元 -item.itemIngotBromine.name=溴锭 -item.itemDustBromine.name=溴粉 -item.itemDustTinyBromine.name=小撮溴粉 -item.itemDustSmallBromine.name=小堆溴粉 -item.itemNuggetBromine.name=溴粒 -item.itemPlateBromine.name=溴板 -item.itemPlateDoubleBromine.name=双重溴板 -item.itemIngotStrontium.name=锶锭 -item.itemDustStrontium.name=锶粉 -item.itemDustTinyStrontium.name=小撮锶粉 -item.itemDustSmallStrontium.name=小堆锶粉 -item.itemNuggetStrontium.name=锶粒 -item.itemPlateStrontium.name=锶板 -item.itemPlateDoubleStrontium.name=双重锶板 -item.itemBoltStrontium.name=锶螺栓 -item.itemRodStrontium.name=锶杆 -item.itemRodLongStrontium.name=长锶杆 -item.itemRingStrontium.name=锶环 -item.itemScrewStrontium.name=锶螺丝 -item.itemRotorStrontium.name=锶转子 -item.itemGearStrontium.name=锶齿轮 -item.itemIngotZirconium.name=锆锭 -item.itemDustZirconium.name=锆粉 -item.itemDustTinyZirconium.name=小撮锆粉 -item.itemDustSmallZirconium.name=小堆锆粉 -item.itemNuggetZirconium.name=锆粒 -item.itemPlateZirconium.name=锆板 -item.itemPlateDoubleZirconium.name=双重锆板 -item.itemBoltZirconium.name=锆螺栓 -item.itemRodZirconium.name=锆杆 -item.itemRodLongZirconium.name=长锆杆 -item.itemRingZirconium.name=锆环 -item.itemScrewZirconium.name=锆螺丝 -item.itemRotorZirconium.name=锆转子 -item.itemGearZirconium.name=锆齿轮 -item.itemIngotRuthenium.name=钌锭 -item.itemDustRuthenium.name=钌粉 -item.itemDustTinyRuthenium.name=小撮钌粉 -item.itemDustSmallRuthenium.name=小堆钌粉 -item.itemNuggetRuthenium.name=钌粒 -item.itemPlateRuthenium.name=钌板 -item.itemPlateDoubleRuthenium.name=双重钌板 -item.itemBoltRuthenium.name=钌螺栓 -item.itemRodRuthenium.name=钌杆 -item.itemRodLongRuthenium.name=长钌杆 -item.itemRingRuthenium.name=钌环 -item.itemScrewRuthenium.name=钌螺丝 -item.itemRotorRuthenium.name=钌转子 -item.itemGearRuthenium.name=钌齿轮 -item.itemIngotIodine.name=碘锭 -item.itemDustIodine.name=碘粉 -item.itemDustTinyIodine.name=小撮碘粉 -item.itemDustSmallIodine.name=小堆碘粉 -item.itemNuggetIodine.name=碘粒 -item.itemPlateIodine.name=碘板 -item.itemPlateDoubleIodine.name=双重碘板 -item.itemBoltIodine.name=碘螺栓 -item.itemRodIodine.name=碘杆 -item.itemRodLongIodine.name=长碘杆 -item.itemRingIodine.name=碘环 -item.itemScrewIodine.name=碘螺丝 -item.itemRotorIodine.name=碘转子 -item.itemGearIodine.name=碘齿轮 -item.itemIngotHafnium.name=铪锭 -item.itemDustHafnium.name=铪粉 -item.itemDustTinyHafnium.name=小撮铪粉 -item.itemDustSmallHafnium.name=小堆铪粉 -item.itemNuggetHafnium.name=铪粒 -item.itemPlateHafnium.name=铪板 -item.itemPlateDoubleHafnium.name=双重铪板 -item.itemBoltHafnium.name=铪螺栓 -item.itemRodHafnium.name=铪杆 -item.itemRodLongHafnium.name=长铪杆 -item.itemRingHafnium.name=铪环 -item.itemScrewHafnium.name=铪螺丝 -item.itemRotorHafnium.name=铪转子 -item.itemGearHafnium.name=铪齿轮 -item.itemIngotDysprosium.name=镝锭 -item.itemDustDysprosium.name=镝粉 -item.itemDustTinyDysprosium.name=小撮镝粉 -item.itemDustSmallDysprosium.name=小堆镝粉 -item.itemNuggetDysprosium.name=镝粒 -item.itemPlateDysprosium.name=镝板 -item.itemPlateDoubleDysprosium.name=双重镝板 -item.itemBoltDysprosium.name=镝螺栓 -item.itemRodDysprosium.name=镝杆 -item.itemRodLongDysprosium.name=长镝杆 -item.itemRingDysprosium.name=镝环 -item.itemScrewDysprosium.name=镝螺丝 -item.itemRotorDysprosium.name=镝转子 -item.itemGearDysprosium.name=镝齿轮 -item.itemIngotTellurium.name=碲锭 -item.itemDustTellurium.name=碲粉 -item.itemDustTinyTellurium.name=小撮碲粉 -item.itemDustSmallTellurium.name=小堆碲粉 -item.itemNuggetTellurium.name=碲粒 -item.itemPlateTellurium.name=碲板 -item.itemPlateDoubleTellurium.name=双重碲板 -item.itemBoltTellurium.name=碲螺栓 -item.itemRodTellurium.name=碲杆 -item.itemRodLongTellurium.name=长碲杆 -item.itemRingTellurium.name=碲环 -item.itemScrewTellurium.name=碲螺丝 -item.itemRotorTellurium.name=碲转子 -item.itemGearTellurium.name=碲齿轮 -item.itemIngotRhodium.name=铑锭 -item.itemDustRhodium.name=铑粉 -item.itemDustTinyRhodium.name=小撮铑粉 -item.itemDustSmallRhodium.name=小堆铑粉 -item.itemNuggetRhodium.name=铑粒 -item.itemPlateRhodium.name=铑板 -item.itemPlateDoubleRhodium.name=双重铑板 -item.itemBoltRhodium.name=铑螺栓 -item.itemRodRhodium.name=铑杆 -item.itemRodLongRhodium.name=长铑杆 -item.itemRingRhodium.name=铑环 -item.itemScrewRhodium.name=铑螺丝 -item.itemRotorRhodium.name=铑转子 -item.itemGearRhodium.name=铑齿轮 -item.itemIngotRhenium.name=铼锭 -item.itemDustRhenium.name=铼粉 -item.itemDustTinyRhenium.name=小撮铼粉 -item.itemDustSmallRhenium.name=小堆铼粉 -item.itemNuggetRhenium.name=铼粒 -item.itemPlateRhenium.name=铼板 -item.itemPlateDoubleRhenium.name=双重铼板 -item.itemBoltRhenium.name=铼螺栓 -item.itemRodRhenium.name=铼杆 -item.itemRodLongRhenium.name=长铼杆 -item.itemRingRhenium.name=铼环 -item.itemScrewRhenium.name=铼螺丝 -item.itemRotorRhenium.name=铼转子 -item.itemGearRhenium.name=铼齿轮 -item.itemIngotThallium.name=铊锭 -item.itemDustThallium.name=铊粉 -item.itemDustTinyThallium.name=小撮铊粉 -item.itemDustSmallThallium.name=小堆铊粉 -item.itemNuggetThallium.name=铊粒 -item.itemPlateThallium.name=铊板 -item.itemPlateDoubleThallium.name=双重铊板 -item.itemBoltThallium.name=铊螺栓 -item.itemRodThallium.name=铊杆 -item.itemRodLongThallium.name=长铊杆 -item.itemRingThallium.name=铊环 -item.itemScrewThallium.name=铊螺丝 -item.itemRotorThallium.name=铊转子 -item.itemGearThallium.name=铊齿轮 -item.itemIngotTechnetium.name=锝锭 -item.itemDustTechnetium.name=锝粉 -item.itemDustTinyTechnetium.name=小撮锝粉 -item.itemDustSmallTechnetium.name=小堆锝粉 -item.itemNuggetTechnetium.name=锝粒 -item.itemPlateTechnetium.name=锝板 -item.itemPlateDoubleTechnetium.name=双重锝板 -item.itemIngotPolonium.name=钋锭 -item.itemDustPolonium.name=钋粉 -item.itemDustTinyPolonium.name=小撮钋粉 -item.itemDustSmallPolonium.name=小堆钋粉 -item.itemNuggetPolonium.name=钋粒 -item.itemPlatePolonium.name=钋板 -item.itemPlateDoublePolonium.name=双重钋板 -item.itemIngotAstatine.name=砹锭 -item.itemDustAstatine.name=砹粉 -item.itemDustTinyAstatine.name=小撮砹粉 -item.itemDustSmallAstatine.name=小堆砹粉 -item.itemNuggetAstatine.name=砹粒 -item.itemPlateAstatine.name=砹板 -item.itemPlateDoubleAstatine.name=双重砹板 -item.itemIngotFrancium.name=钫锭 -item.itemDustFrancium.name=钫粉 -item.itemDustTinyFrancium.name=小撮钫粉 -item.itemDustSmallFrancium.name=小堆钫粉 -item.itemNuggetFrancium.name=钫粒 -item.itemPlateFrancium.name=钫板 -item.itemPlateDoubleFrancium.name=双重钫板 -item.itemIngotRadium.name=镭锭 -item.itemDustRadium.name=镭粉 -item.itemDustTinyRadium.name=小撮镭粉 -item.itemDustSmallRadium.name=小堆镭粉 -item.itemNuggetRadium.name=镭粒 -item.itemPlateRadium.name=镭板 -item.itemPlateDoubleRadium.name=双重镭板 -item.itemIngotActinium.name=锕锭 -item.itemDustActinium.name=锕粉 -item.itemDustTinyActinium.name=小撮锕粉 -item.itemDustSmallActinium.name=小堆锕粉 -item.itemNuggetActinium.name=锕粒 -item.itemPlateActinium.name=锕板 -item.itemPlateDoubleActinium.name=双重锕板 -item.itemIngotProtactinium.name=镤锭 -item.itemDustProtactinium.name=镤粉 -item.itemDustTinyProtactinium.name=小撮镤粉 -item.itemDustSmallProtactinium.name=小堆镤粉 -item.itemNuggetProtactinium.name=镤粒 -item.itemPlateProtactinium.name=镤板 -item.itemPlateDoubleProtactinium.name=双重镤板 -item.itemIngotNeptunium.name=镎锭 -item.itemDustNeptunium.name=镎粉 -item.itemDustTinyNeptunium.name=小撮镎粉 -item.itemDustSmallNeptunium.name=小堆镎粉 -item.itemNuggetNeptunium.name=镎粒 -item.itemPlateNeptunium.name=镎板 -item.itemPlateDoubleNeptunium.name=双重镎板 -item.itemIngotCurium.name=锔锭 -item.itemDustCurium.name=锔粉 -item.itemDustTinyCurium.name=小撮锔粉 -item.itemDustSmallCurium.name=小堆锔粉 -item.itemNuggetCurium.name=锔粒 -item.itemPlateCurium.name=锔板 -item.itemPlateDoubleCurium.name=双重锔板 -item.itemIngotBerkelium.name=锫锭 -item.itemDustBerkelium.name=锫粉 -item.itemDustTinyBerkelium.name=小撮锫粉 -item.itemDustSmallBerkelium.name=小堆锫粉 -item.itemNuggetBerkelium.name=锫粒 -item.itemPlateBerkelium.name=锫板 -item.itemPlateDoubleBerkelium.name=双重锫板 -item.itemIngotCalifornium.name=锎锭 -item.itemDustCalifornium.name=锎粉 -item.itemDustTinyCalifornium.name=小撮锎粉 -item.itemDustSmallCalifornium.name=小堆锎粉 -item.itemNuggetCalifornium.name=锎粒 -item.itemPlateCalifornium.name=锎板 -item.itemPlateDoubleCalifornium.name=双重锎板 -item.itemDustEinsteinium.name=锿粉 -item.itemDustTinyEinsteinium.name=小撮锿粉 -item.itemDustSmallEinsteinium.name=小堆锿粉 -item.itemNuggetEinsteinium.name=锿粒 -item.itemPlateEinsteinium.name=锿板 -item.itemPlateDoubleEinsteinium.name=双重锿板 -item.itemIngotFermium.name=镄锭 -item.itemDustFermium.name=镄粉 -item.itemDustTinyFermium.name=小撮镄粉 -item.itemDustSmallFermium.name=小堆镄粉 -item.itemNuggetFermium.name=镄粒 -item.itemPlateFermium.name=镄板 -item.itemPlateDoubleFermium.name=双重镄板 -item.itemIngotLithium7.name=锂 7锭 -item.itemDustLithium7.name=锂 7粉 -item.itemDustTinyLithium7.name=小撮锂 7粉 -item.itemDustSmallLithium7.name=小堆锂 7粉 -item.itemNuggetLithium7.name=锂 7粒 -item.itemPlateLithium7.name=锂 7板 -item.itemPlateDoubleLithium7.name=双重锂 7板 -item.itemIngotThorium232.name=钍-232锭 -item.itemDustThorium232.name=钍-232粉 -item.itemDustTinyThorium232.name=小撮钍-232粉 -item.itemDustSmallThorium232.name=小堆钍-232粉 -item.itemNuggetThorium232.name=钍-232粒 -item.itemPlateThorium232.name=钍-232板 -item.itemPlateDoubleThorium232.name=双重钍-232板 -item.itemIngotUranium232.name=铀-232锭 -item.itemDustUranium232.name=铀-232粉 -item.itemDustTinyUranium232.name=小撮铀-232粉 -item.itemDustSmallUranium232.name=小堆铀-232粉 -item.itemNuggetUranium232.name=铀-232粒 -item.itemPlateUranium232.name=铀-232板 -item.itemRodUranium232.name=铀-232杆 -item.itemRodLongUranium232.name=长铀-232杆 -item.itemIngotUranium233.name=铀-233锭 -item.itemDustUranium233.name=铀-233粉 -item.itemDustTinyUranium233.name=小撮铀-233粉 -item.itemDustSmallUranium233.name=小堆铀-233粉 -item.itemNuggetUranium233.name=铀-233粒 -item.itemPlateUranium233.name=铀-233板 -item.itemRodUranium233.name=铀-233杆 -item.itemRodLongUranium233.name=长铀-233杆 -item.itemIngotPlutonium238.name=钚-238锭 -item.itemDustPlutonium238.name=钚-238粉 -item.itemDustTinyPlutonium238.name=小撮钚-238粉 -item.itemDustSmallPlutonium238.name=小堆钚-238粉 -item.itemNuggetPlutonium238.name=钚-238粒 -item.itemPlatePlutonium238.name=钚-238板 -item.itemPlateDoublePlutonium238.name=双重钚-238板 -item.itemIngotStrontium90.name=锶-90锭 -item.itemDustStrontium90.name=锶-90粉 -item.itemDustTinyStrontium90.name=小撮锶-90粉 -item.itemDustSmallStrontium90.name=小堆锶-90粉 -item.itemNuggetStrontium90.name=锶-90粒 -item.itemPlateStrontium90.name=锶-90板 -item.itemPlateDoubleStrontium90.name=双重锶-90板 -item.itemIngotPolonium210.name=钋-210锭 -item.itemDustPolonium210.name=钋-210粉 -item.itemDustTinyPolonium210.name=小撮钋-210粉 -item.itemDustSmallPolonium210.name=小堆钋-210粉 -item.itemNuggetPolonium210.name=钋-210粒 -item.itemPlatePolonium210.name=钋-210板 -item.itemPlateDoublePolonium210.name=双重钋-210板 -item.itemIngotAmericium241.name=镅-241锭 -item.itemDustAmericium241.name=镅-241粉 -item.itemDustTinyAmericium241.name=小撮镅-241粉 -item.itemDustSmallAmericium241.name=小堆镅-241粉 -item.itemNuggetAmericium241.name=镅-241粒 -item.itemPlateAmericium241.name=镅-241板 -item.itemPlateDoubleAmericium241.name=双重镅-241板 -item.itemIngotSiliconCarbide.name=碳化硅锭 -item.itemDustSiliconCarbide.name=碳化硅粉 -item.itemDustTinySiliconCarbide.name=小撮碳化硅粉 -item.itemDustSmallSiliconCarbide.name=小堆碳化硅粉 -item.itemNuggetSiliconCarbide.name=碳化硅粒 -item.itemPlateSiliconCarbide.name=碳化硅板 -item.itemPlateDoubleSiliconCarbide.name=双重碳化硅板 -item.itemBoltSiliconCarbide.name=碳化硅螺栓 -item.itemRodSiliconCarbide.name=碳化硅杆 -item.itemRodLongSiliconCarbide.name=长碳化硅杆 -item.itemRingSiliconCarbide.name=碳化硅环 -item.itemScrewSiliconCarbide.name=碳化硅螺丝 -item.itemRotorSiliconCarbide.name=碳化硅转子 -item.itemGearSiliconCarbide.name=碳化硅齿轮 -item.itemIngotZirconiumCarbide.name=碳化锆锭 -item.itemHotIngotZirconiumCarbide.name=热碳化锆锭 -item.itemDustZirconiumCarbide.name=碳化锆粉 -item.itemDustTinyZirconiumCarbide.name=小撮碳化锆粉 -item.itemDustSmallZirconiumCarbide.name=小堆碳化锆粉 -item.itemNuggetZirconiumCarbide.name=碳化锆粒 -item.itemPlateZirconiumCarbide.name=碳化锆板 -item.itemPlateDoubleZirconiumCarbide.name=双重碳化锆板 -item.itemBoltZirconiumCarbide.name=碳化锆螺栓 -item.itemRodZirconiumCarbide.name=碳化锆杆 -item.itemRodLongZirconiumCarbide.name=长碳化锆杆 -item.itemRingZirconiumCarbide.name=碳化锆环 -item.itemScrewZirconiumCarbide.name=碳化锆螺丝 -item.itemRotorZirconiumCarbide.name=碳化锆转子 -item.itemGearZirconiumCarbide.name=碳化锆齿轮 -item.itemIngotTantalumCarbide.name=碳化钽锭 -item.itemHotIngotTantalumCarbide.name=热碳化钽锭 -item.itemDustTantalumCarbide.name=碳化钽粉 -item.itemDustTinyTantalumCarbide.name=小撮碳化钽粉 -item.itemDustSmallTantalumCarbide.name=小堆碳化钽粉 -item.itemNuggetTantalumCarbide.name=碳化钽粒 -item.itemPlateTantalumCarbide.name=碳化钽板 -item.itemPlateDoubleTantalumCarbide.name=双重碳化钽板 -item.itemBoltTantalumCarbide.name=碳化钽螺栓 -item.itemRodTantalumCarbide.name=碳化钽杆 -item.itemRodLongTantalumCarbide.name=长碳化钽杆 -item.itemRingTantalumCarbide.name=碳化钽环 -item.itemScrewTantalumCarbide.name=碳化钽螺丝 -item.itemRotorTantalumCarbide.name=碳化钽转子 -item.itemGearTantalumCarbide.name=碳化钽齿轮 -item.itemIngotNiobiumCarbide.name=碳化铌锭 -item.itemHotIngotNiobiumCarbide.name=热碳化铌锭 -item.itemDustNiobiumCarbide.name=碳化铌粉 -item.itemDustTinyNiobiumCarbide.name=小撮碳化铌粉 -item.itemDustSmallNiobiumCarbide.name=小堆碳化铌粉 -item.itemNuggetNiobiumCarbide.name=碳化铌粒 -item.itemPlateNiobiumCarbide.name=碳化铌板 -item.itemPlateDoubleNiobiumCarbide.name=双重碳化铌板 -item.itemBoltNiobiumCarbide.name=碳化铌螺栓 -item.itemRodNiobiumCarbide.name=碳化铌杆 -item.itemRodLongNiobiumCarbide.name=长碳化铌杆 -item.itemRingNiobiumCarbide.name=碳化铌环 -item.itemScrewNiobiumCarbide.name=碳化铌螺丝 -item.itemRotorNiobiumCarbide.name=碳化铌转子 -item.itemGearNiobiumCarbide.name=碳化铌齿轮 -item.itemIngotBerylliumFluoride.name=氟化铍锭 -item.itemDustBerylliumFluoride.name=氟化铍粉 -item.itemDustTinyBerylliumFluoride.name=小撮氟化铍粉 -item.itemDustSmallBerylliumFluoride.name=小堆氟化铍粉 -item.itemNuggetBerylliumFluoride.name=氟化铍粒 -item.itemPlateBerylliumFluoride.name=氟化铍板 -item.itemPlateDoubleBerylliumFluoride.name=双重氟化铍板 -item.itemIngotLithiumFluoride.name=氟化锂锭 -item.itemDustLithiumFluoride.name=氟化锂粉 -item.itemDustTinyLithiumFluoride.name=小撮氟化锂粉 -item.itemDustSmallLithiumFluoride.name=小堆氟化锂粉 -item.itemNuggetLithiumFluoride.name=氟化锂粒 -item.itemPlateLithiumFluoride.name=氟化锂板 -item.itemPlateDoubleLithiumFluoride.name=双重氟化锂板 -item.itemIngotThoriumTetrafluoride.name=四氟化钍锭 -item.itemDustThoriumTetrafluoride.name=四氟化钍粉 -item.itemDustTinyThoriumTetrafluoride.name=小撮四氟化钍粉 -item.itemDustSmallThoriumTetrafluoride.name=小堆四氟化钍粉 -item.itemNuggetThoriumTetrafluoride.name=四氟化钍粒 -item.itemPlateThoriumTetrafluoride.name=四氟化钍板 -item.itemPlateDoubleThoriumTetrafluoride.name=双重四氟化钍板 -item.itemIngotThoriumHexafluoride.name=六氟化钍锭 -item.itemDustThoriumHexafluoride.name=六氟化钍粉 -item.itemDustTinyThoriumHexafluoride.name=小撮六氟化钍粉 -item.itemDustSmallThoriumHexafluoride.name=小堆六氟化钍粉 -item.itemNuggetThoriumHexafluoride.name=六氟化钍粒 -item.itemPlateThoriumHexafluoride.name=六氟化钍板 -item.itemPlateDoubleThoriumHexafluoride.name=双重六氟化钍板 -item.itemIngotUraniumTetrafluoride.name=四氟化铀锭 -item.itemDustUraniumTetrafluoride.name=四氟化铀粉 -item.itemDustTinyUraniumTetrafluoride.name=小撮四氟化铀粉 -item.itemDustSmallUraniumTetrafluoride.name=小堆四氟化铀粉 -item.itemNuggetUraniumTetrafluoride.name=四氟化铀粒 -item.itemPlateUraniumTetrafluoride.name=四氟化铀板 -item.itemPlateDoubleUraniumTetrafluoride.name=双重四氟化铀板 -item.itemIngotUraniumHexafluoride.name=六氟化铀锭 -item.itemDustUraniumHexafluoride.name=六氟化铀粉 -item.itemDustTinyUraniumHexafluoride.name=小撮六氟化铀粉 -item.itemDustSmallUraniumHexafluoride.name=小堆六氟化铀粉 -item.itemNuggetUraniumHexafluoride.name=六氟化铀粒 -item.itemPlateUraniumHexafluoride.name=六氟化铀板 -item.itemPlateDoubleUraniumHexafluoride.name=双重六氟化铀板 -item.itemIngotZirconiumTetrafluoride.name=四氟化锆锭 -item.itemDustZirconiumTetrafluoride.name=四氟化锆粉 -item.itemDustTinyZirconiumTetrafluoride.name=小撮四氟化锆粉 -item.itemDustSmallZirconiumTetrafluoride.name=小堆四氟化锆粉 -item.itemNuggetZirconiumTetrafluoride.name=四氟化锆粒 -item.itemPlateZirconiumTetrafluoride.name=四氟化锆板 -item.itemPlateDoubleZirconiumTetrafluoride.name=双重四氟化锆板 -item.itemIngotNeptuniumHexafluoride.name=六氟化镎锭 -item.itemDustNeptuniumHexafluoride.name=六氟化镎粉 -item.itemDustTinyNeptuniumHexafluoride.name=小撮六氟化镎粉 -item.itemDustSmallNeptuniumHexafluoride.name=小堆六氟化镎粉 -item.itemNuggetNeptuniumHexafluoride.name=六氟化镎粒 -item.itemPlateNeptuniumHexafluoride.name=六氟化镎板 -item.itemPlateDoubleNeptuniumHexafluoride.name=双重六氟化镎板 -item.itemIngotTechnetiumHexafluoride.name=六氟化锝锭 -item.itemDustTechnetiumHexafluoride.name=六氟化锝粉 -item.itemDustTinyTechnetiumHexafluoride.name=小撮六氟化锝粉 -item.itemDustSmallTechnetiumHexafluoride.name=小堆六氟化锝粉 -item.itemNuggetTechnetiumHexafluoride.name=六氟化锝粒 -item.itemPlateTechnetiumHexafluoride.name=六氟化锝板 -item.itemPlateDoubleTechnetiumHexafluoride.name=双重六氟化锝板 -item.itemIngotSeleniumHexafluoride.name=六氟化硒锭 -item.itemDustSeleniumHexafluoride.name=六氟化硒粉 -item.itemDustTinySeleniumHexafluoride.name=小撮六氟化硒粉 -item.itemDustSmallSeleniumHexafluoride.name=小堆六氟化硒粉 -item.itemNuggetSeleniumHexafluoride.name=六氟化硒粒 -item.itemPlateSeleniumHexafluoride.name=六氟化硒板 -item.itemPlateDoubleSeleniumHexafluoride.name=双重六氟化硒板 -item.itemIngotLiFBeF2ZrF4U235.name=铀235复合氟化物锭 -item.itemDustLiFBeF2ZrF4U235.name=铀235复合氟化物粉 -item.itemDustTinyLiFBeF2ZrF4U235.name=小撮铀235复合氟化物粉 -item.itemDustSmallLiFBeF2ZrF4U235.name=小堆铀235复合氟化物粉 -item.itemNuggetLiFBeF2ZrF4U235.name=铀235复合氟化物粒 -item.itemPlateLiFBeF2ZrF4U235.name=铀235复合氟化物板 -item.itemPlateDoubleLiFBeF2ZrF4U235.name=双重铀235复合氟化物板 -item.itemIngotLiFBeF2ZrF4UF4.name=铀锆复合氟化物锭 -item.itemDustLiFBeF2ZrF4UF4.name=铀锆复合氟化物粉 -item.itemDustTinyLiFBeF2ZrF4UF4.name=小撮铀锆复合氟化物粉 -item.itemDustSmallLiFBeF2ZrF4UF4.name=小堆铀锆复合氟化物粉 -item.itemNuggetLiFBeF2ZrF4UF4.name=铀锆复合氟化物粒 -item.itemPlateLiFBeF2ZrF4UF4.name=铀锆复合氟化物板 -item.itemPlateDoubleLiFBeF2ZrF4UF4.name=双重铀锆复合氟化物板 -item.itemIngotLiFBeF2ThF4UF4.name=铀钍复合氟化物锭 -item.itemDustLiFBeF2ThF4UF4.name=铀钍复合氟化物粉 -item.itemDustTinyLiFBeF2ThF4UF4.name=小撮铀钍复合氟化物粉 -item.itemDustSmallLiFBeF2ThF4UF4.name=小堆铀钍复合氟化物粉 -item.itemNuggetLiFBeF2ThF4UF4.name=铀钍复合氟化物粒 -item.itemPlateLiFBeF2ThF4UF4.name=铀钍复合氟化物板 -item.itemPlateDoubleLiFBeF2ThF4UF4.name=双重铀钍复合氟化物板 -item.itemIngotEnergyCrystal.name=能量水晶锭 -item.itemHotIngotEnergyCrystal.name=热能量水晶锭 -item.itemDustEnergyCrystal.name=能量水晶粉 -item.itemDustTinyEnergyCrystal.name=小撮能量水晶粉 -item.itemDustSmallEnergyCrystal.name=小堆能量水晶粉 -item.itemNuggetEnergyCrystal.name=能量水晶粒 -item.itemPlateEnergyCrystal.name=能量水晶板 -item.itemPlateDoubleEnergyCrystal.name=双重能量水晶板 -item.itemBoltEnergyCrystal.name=能量水晶螺栓 -item.itemRodEnergyCrystal.name=能量水晶杆 -item.itemRodLongEnergyCrystal.name=长能量水晶杆 -item.itemRingEnergyCrystal.name=能量水晶环 -item.itemScrewEnergyCrystal.name=能量水晶螺丝 -item.itemRotorEnergyCrystal.name=能量水晶转子 -item.itemGearEnergyCrystal.name=能量水晶齿轮 -item.itemIngotBloodSteel.name=血钢锭 -item.itemDustBloodSteel.name=血钢粉 -item.itemDustTinyBloodSteel.name=小撮血钢粉 -item.itemDustSmallBloodSteel.name=小堆血钢粉 -item.itemNuggetBloodSteel.name=血钢粒 -item.itemPlateBloodSteel.name=血钢板 -item.itemPlateDoubleBloodSteel.name=双重血钢板 -item.itemBoltBloodSteel.name=血钢螺栓 -item.itemRodBloodSteel.name=血钢杆 -item.itemRodLongBloodSteel.name=长血钢杆 -item.itemRingBloodSteel.name=血钢环 -item.itemScrewBloodSteel.name=血钢螺丝 -item.itemRotorBloodSteel.name=血钢转子 -item.itemGearBloodSteel.name=血钢齿轮 -item.itemIngotZeron100.name=塞龙-100锭 -item.itemHotIngotZeron100.name=热塞龙-100锭 -item.itemDustZeron100.name=塞龙-100粉 -item.itemDustTinyZeron100.name=小撮塞龙-100粉 -item.itemDustSmallZeron100.name=小堆塞龙-100粉 -item.itemNuggetZeron100.name=塞龙-100粒 -item.itemPlateZeron100.name=塞龙-100板 -item.itemPlateDoubleZeron100.name=双重塞龙-100板 -item.itemBoltZeron100.name=塞龙-100螺栓 -item.itemRodZeron100.name=塞龙-100杆 -item.itemRodLongZeron100.name=长塞龙100杆 -item.itemRingZeron100.name=塞龙-100环 -item.itemScrewZeron100.name=塞龙-100螺丝 -item.itemRotorZeron100.name=塞龙-100转子 -item.itemGearZeron100.name=塞龙-100齿轮 -item.itemIngotTumbaga.name=铜金合金锭 -item.itemDustTumbaga.name=铜金合金粉 -item.itemDustTinyTumbaga.name=小撮铜金合金粉 -item.itemDustSmallTumbaga.name=小堆铜金合金粉 -item.itemNuggetTumbaga.name=铜金合金粒 -item.itemPlateTumbaga.name=铜金合金板 -item.itemPlateDoubleTumbaga.name=双重铜金合金板 -item.itemBoltTumbaga.name=铜金合金螺栓 -item.itemRodTumbaga.name=铜金合金杆 -item.itemRodLongTumbaga.name=长铜金合金杆 -item.itemRingTumbaga.name=铜金合金环 -item.itemScrewTumbaga.name=铜金合金螺丝 -item.itemRotorTumbaga.name=铜金合金转子 -item.itemGearTumbaga.name=铜金合金齿轮 -item.itemIngotPotin.name=粗青铜合金锭 -item.itemDustPotin.name=粗青铜合金粉 -item.itemDustTinyPotin.name=小撮粗青铜合金粉 -item.itemDustSmallPotin.name=小堆粗青铜合金粉 -item.itemNuggetPotin.name=粗青铜合金粒 -item.itemPlatePotin.name=粗青铜合金板 -item.itemPlateDoublePotin.name=双重粗青铜合金板 -item.itemBoltPotin.name=粗青铜合金螺栓 -item.itemRodPotin.name=粗青铜合金杆 -item.itemRodLongPotin.name=长粗青铜合金杆 -item.itemRingPotin.name=粗青铜合金环 -item.itemScrewPotin.name=粗青铜合金螺丝 -item.itemRotorPotin.name=粗青铜合金转子 -item.itemGearPotin.name=粗青铜合金齿轮 -item.itemIngotStaballoy.name=贫铀合金锭 -item.itemHotIngotStaballoy.name=热贫铀合金锭 -item.itemDustStaballoy.name=贫铀合金粉 -item.itemDustTinyStaballoy.name=小撮贫铀合金粉 -item.itemDustSmallStaballoy.name=小堆贫铀合金粉 -item.itemNuggetStaballoy.name=贫铀合金粒 -item.itemPlateStaballoy.name=贫铀合金板 -item.itemPlateDoubleStaballoy.name=双重贫铀合金板 -item.itemBoltStaballoy.name=贫铀合金螺栓 -item.itemRodStaballoy.name=贫铀合金杆 -item.itemRodLongStaballoy.name=长贫铀合金杆 -item.itemRingStaballoy.name=贫铀合金环 -item.itemScrewStaballoy.name=贫铀合金螺丝 -item.itemRotorStaballoy.name=贫铀合金转子 -item.itemGearStaballoy.name=贫铀合金齿轮 -item.itemIngotTantalloy60.name=钽钨合金-60锭 -item.itemHotIngotTantalloy60.name=热钽钨合金-60锭 -item.itemDustTantalloy60.name=钽钨合金-60粉 -item.itemDustTinyTantalloy60.name=小撮钽钨合金-60粉 -item.itemDustSmallTantalloy60.name=小堆钽钨合金-60粉 -item.itemNuggetTantalloy60.name=钽钨合金-60粒 -item.itemPlateTantalloy60.name=钽钨合金-60板 -item.itemPlateDoubleTantalloy60.name=双重钽钨合金-60板 -item.itemBoltTantalloy60.name=钽钨合金-60螺栓 -item.itemRodTantalloy60.name=钽钨合金-60杆 -item.itemRodLongTantalloy60.name=长钽钨合金-60杆 -item.itemRingTantalloy60.name=钽钨合金-60环 -item.itemScrewTantalloy60.name=钽钨合金-60螺丝 -item.itemRotorTantalloy60.name=钽钨合金-60转子 -item.itemGearTantalloy60.name=钽钨合金-60齿轮 -item.itemIngotTantalloy61.name=钽钨合金-61锭 -item.itemHotIngotTantalloy61.name=热钽钨合金-61锭 -item.itemDustTantalloy61.name=钽钨合金-61粉 -item.itemDustTinyTantalloy61.name=小撮钽钨合金-61粉 -item.itemDustSmallTantalloy61.name=小堆钽钨合金-61粉 -item.itemNuggetTantalloy61.name=钽钨合金-61粒 -item.itemPlateTantalloy61.name=钽钨合金-61板 -item.itemPlateDoubleTantalloy61.name=双重钽钨合金-61板 -item.itemBoltTantalloy61.name=钽钨合金-61螺栓 -item.itemRodTantalloy61.name=钽钨合金-61杆 -item.itemRodLongTantalloy61.name=长钽钨合金-61杆 -item.itemRingTantalloy61.name=钽钨合金-61环 -item.itemScrewTantalloy61.name=钽钨合金-61螺丝 -item.itemRotorTantalloy61.name=钽钨合金-61转子 -item.itemGearTantalloy61.name=钽钨合金-61齿轮 -item.itemIngotInconel625.name=镍铬基合金-625锭 -item.itemHotIngotInconel625.name=热镍铬基合金-625锭 -item.itemDustInconel625.name=镍铬基合金-625粉 -item.itemDustTinyInconel625.name=小撮镍铬基合金-625粉 -item.itemDustSmallInconel625.name=小堆镍铬基合金-625粉 -item.itemNuggetInconel625.name=镍铬基合金-625粒 -item.itemPlateInconel625.name=镍铬基合金-625板 -item.itemPlateDoubleInconel625.name=双重镍铬基合金-625板 -item.itemBoltInconel625.name=镍铬基合金-625螺栓 -item.itemRodInconel625.name=镍铬基合金-625杆 -item.itemRodLongInconel625.name=长镍铬基合金-625杆 -item.itemRingInconel625.name=镍铬基合金-625环 -item.itemScrewInconel625.name=镍铬基合金-625螺丝 -item.itemRotorInconel625.name=镍铬基合金-625转子 -item.itemGearInconel625.name=镍铬基合金-625齿轮 -item.itemIngotInconel690.name=镍铬基合金-690锭 -item.itemHotIngotInconel690.name=热镍铬基合金-690锭 -item.itemDustInconel690.name=镍铬基合金-690粉 -item.itemDustTinyInconel690.name=小撮镍铬基合金-690粉 -item.itemDustSmallInconel690.name=小堆镍铬基合金-690粉 -item.itemNuggetInconel690.name=镍铬基合金-690粒 -item.itemPlateInconel690.name=镍铬基合金-690板 -item.itemPlateDoubleInconel690.name=双重镍铬基合金-690板 -item.itemBoltInconel690.name=镍铬基合金-690螺栓 -item.itemRodInconel690.name=镍铬基合金-690杆 -item.itemRodLongInconel690.name=长镍铬基合金-690杆 -item.itemRingInconel690.name=镍铬基合金-690环 -item.itemScrewInconel690.name=镍铬基合金-690螺丝 -item.itemRotorInconel690.name=镍铬基合金-690转子 -item.itemGearInconel690.name=镍铬基合金-690齿轮 -item.itemIngotInconel792.name=镍铬基合金-792锭 -item.itemHotIngotInconel792.name=热镍铬基合金-792锭 -item.itemDustInconel792.name=镍铬基合金-792粉 -item.itemDustTinyInconel792.name=小撮镍铬基合金-792粉 -item.itemDustSmallInconel792.name=小堆镍铬基合金-792粉 -item.itemNuggetInconel792.name=镍铬基合金-792粒 -item.itemPlateInconel792.name=镍铬基合金-792板 -item.itemPlateDoubleInconel792.name=双重镍铬基合金-792板 -item.itemBoltInconel792.name=镍铬基合金-792螺栓 -item.itemRodInconel792.name=镍铬基合金-792杆 -item.itemRodLongInconel792.name=长镍铬基合金-792杆 -item.itemRingInconel792.name=镍铬基合金-792环 -item.itemScrewInconel792.name=镍铬基合金-792螺丝 -item.itemRotorInconel792.name=镍铬基合金-792转子 -item.itemGearInconel792.name=镍铬基合金-792齿轮 -item.itemDustEglinSteelBaseCompound.name=埃格林钢基础化合物粉 -item.itemDustTinyEglinSteelBaseCompound.name=小撮埃格林钢基础化合物粉 -item.itemDustSmallEglinSteelBaseCompound.name=小堆埃格林钢基础化合物粉 -item.itemIngotEglinSteel.name=埃格林钢锭 -item.itemDustEglinSteel.name=埃格林钢粉 -item.itemDustTinyEglinSteel.name=小撮埃格林钢粉 -item.itemDustSmallEglinSteel.name=小堆埃格林钢粉 -item.itemNuggetEglinSteel.name=埃格林钢粒 -item.itemPlateEglinSteel.name=埃格林钢板 -item.itemPlateDoubleEglinSteel.name=双重埃格林钢板 -item.itemBoltEglinSteel.name=埃格林钢螺栓 -item.itemRodEglinSteel.name=埃格林钢杆 -item.itemRodLongEglinSteel.name=长埃格林钢杆 -item.itemRingEglinSteel.name=埃格林钢环 -item.itemScrewEglinSteel.name=埃格林钢螺丝 -item.itemRotorEglinSteel.name=埃格林钢转子 -item.itemGearEglinSteel.name=埃格林钢齿轮 -item.itemIngotMaragingSteel250.name=马氏体时效钢250锭 -item.itemHotIngotMaragingSteel250.name=热马氏体时效钢250锭 -item.itemDustMaragingSteel250.name=马氏体时效钢250粉 -item.itemDustTinyMaragingSteel250.name=小撮马氏体时效钢250粉 -item.itemDustSmallMaragingSteel250.name=小堆马氏体时效钢250粉 -item.itemNuggetMaragingSteel250.name=马氏体时效钢250粒 -item.itemPlateMaragingSteel250.name=马氏体时效钢250板 -item.itemPlateDoubleMaragingSteel250.name=双重马氏体时效钢250板 -item.itemBoltMaragingSteel250.name=马氏体时效钢250螺栓 -item.itemRodMaragingSteel250.name=马氏体时效钢250杆 -item.itemRodLongMaragingSteel250.name=长马氏体时效钢250杆 -item.itemRingMaragingSteel250.name=马氏体时效钢250环 -item.itemScrewMaragingSteel250.name=马氏体时效钢250螺丝 -item.itemRotorMaragingSteel250.name=马氏体时效钢250转子 -item.itemGearMaragingSteel250.name=马氏体时效钢250齿轮 -item.itemIngotMaragingSteel300.name=马氏体时效钢300锭 -item.itemHotIngotMaragingSteel300.name=热马氏体时效钢300锭 -item.itemDustMaragingSteel300.name=马氏体时效钢300粉 -item.itemDustTinyMaragingSteel300.name=小撮马氏体时效钢300粉 -item.itemDustSmallMaragingSteel300.name=小堆马氏体时效钢300粉 -item.itemNuggetMaragingSteel300.name=马氏体时效钢300粒 -item.itemPlateMaragingSteel300.name=马氏体时效钢300板 -item.itemPlateDoubleMaragingSteel300.name=双重马氏体时效钢300板 -item.itemBoltMaragingSteel300.name=马氏体时效钢300螺栓 -item.itemRodMaragingSteel300.name=马氏体时效钢300杆 -item.itemRodLongMaragingSteel300.name=长马氏体时效钢300杆 -item.itemRingMaragingSteel300.name=马氏体时效钢300环 -item.itemScrewMaragingSteel300.name=马氏体时效钢300螺丝 -item.itemRotorMaragingSteel300.name=马氏体时效钢300转子 -item.itemGearMaragingSteel300.name=马氏体时效钢300齿轮 -item.itemIngotMaragingSteel350.name=马氏体时效钢350锭 -item.itemHotIngotMaragingSteel350.name=热马氏体时效钢350锭 -item.itemDustMaragingSteel350.name=马氏体时效钢350粉 -item.itemDustTinyMaragingSteel350.name=小撮马氏体时效钢350粉 -item.itemDustSmallMaragingSteel350.name=小堆马氏体时效钢350粉 -item.itemNuggetMaragingSteel350.name=马氏体时效钢350粒 -item.itemPlateMaragingSteel350.name=马氏体时效钢350板 -item.itemPlateDoubleMaragingSteel350.name=双重马氏体时效钢350板 -item.itemBoltMaragingSteel350.name=马氏体时效钢350螺栓 -item.itemRodMaragingSteel350.name=马氏体时效钢350杆 -item.itemRodLongMaragingSteel350.name=长马氏体时效钢350杆 -item.itemRingMaragingSteel350.name=马氏体时效钢350环 -item.itemScrewMaragingSteel350.name=马氏体时效钢350螺丝 -item.itemRotorMaragingSteel350.name=马氏体时效钢350转子 -item.itemGearMaragingSteel350.name=马氏体时效钢350齿轮 -item.itemIngotStellite.name=铬钴锰钛合金锭 -item.itemHotIngotStellite.name=热铬钴锰钛合金锭 -item.itemDustStellite.name=铬钴锰钛合金粉 -item.itemDustTinyStellite.name=小撮铬钴锰钛合金粉 -item.itemDustSmallStellite.name=小堆铬钴锰钛合金粉 -item.itemNuggetStellite.name=铬钴锰钛合金粒 -item.itemPlateStellite.name=铬钴锰钛合金板 -item.itemPlateDoubleStellite.name=双重铬钴锰钛合金板 -item.itemBoltStellite.name=铬钴锰钛合金螺栓 -item.itemRodStellite.name=铬钴锰钛合金杆 -item.itemRodLongStellite.name=长铬钴锰钛合金杆 -item.itemRingStellite.name=铬钴锰钛合金环 -item.itemScrewStellite.name=铬钴锰钛合金螺丝 -item.itemRotorStellite.name=铬钴锰钛合金转子 -item.itemGearStellite.name=铬钴锰钛合金齿轮 -item.itemIngotTalonite.name=铬钴磷酸盐合金锭 -item.itemDustTalonite.name=铬钴磷酸盐合金粉 -item.itemDustTinyTalonite.name=小撮铬钴磷酸盐合金粉 -item.itemDustSmallTalonite.name=小堆铬钴磷酸盐合金粉 -item.itemNuggetTalonite.name=铬钴磷酸盐合金粒 -item.itemPlateTalonite.name=铬钴磷酸盐合金板 -item.itemPlateDoubleTalonite.name=双重铬钴磷酸盐合金板 -item.itemBoltTalonite.name=铬钴磷酸盐合金螺栓 -item.itemRodTalonite.name=铬钴磷酸盐合金杆 -item.itemRodLongTalonite.name=长铬钴磷酸盐合金杆 -item.itemRingTalonite.name=铬钴磷酸盐合金环 -item.itemScrewTalonite.name=铬钴磷酸盐合金螺丝 -item.itemRotorTalonite.name=铬钴磷酸盐合金转子 -item.itemGearTalonite.name=铬钴磷酸盐合金齿轮 -item.itemIngotHastelloyW.name=哈斯特洛依合金-W锭 -item.itemDustHastelloyW.name=哈斯特洛依合金-W粉 -item.itemDustTinyHastelloyW.name=小撮哈斯特洛依合金-W粉 -item.itemDustSmallHastelloyW.name=小堆哈斯特洛依合金-W粉 -item.itemNuggetHastelloyW.name=哈斯特洛依合金-W粒 -item.itemPlateHastelloyW.name=哈斯特洛依合金-W板 -item.itemPlateDoubleHastelloyW.name=双重哈斯特洛依合金-W板 -item.itemBoltHastelloyW.name=哈斯特洛依合金-W螺栓 -item.itemRodHastelloyW.name=哈斯特洛依合金-W杆 -item.itemRodLongHastelloyW.name=长哈斯特洛依合金-W杆 -item.itemRingHastelloyW.name=哈斯特洛依合金-W环 -item.itemScrewHastelloyW.name=哈斯特洛依合金-W螺丝 -item.itemRotorHastelloyW.name=哈斯特洛依合金-W转子 -item.itemGearHastelloyW.name=哈斯特洛依合金-W齿轮 -item.itemIngotHastelloyX.name=哈斯特洛依合金-X锭 -item.itemDustHastelloyX.name=哈斯特洛依合金-X粉 -item.itemDustTinyHastelloyX.name=小撮哈斯特洛依合金-X粉 -item.itemDustSmallHastelloyX.name=小堆哈斯特洛依合金-X粉 -item.itemNuggetHastelloyX.name=哈斯特洛依合金-X粒 -item.itemPlateHastelloyX.name=哈斯特洛依合金-X板 -item.itemPlateDoubleHastelloyX.name=双重哈斯特洛依合金-X板 -item.itemBoltHastelloyX.name=哈斯特洛依合金-X螺栓 -item.itemRodHastelloyX.name=哈斯特洛依合金-X杆 -item.itemRodLongHastelloyX.name=长哈斯特洛依合金-X杆 -item.itemRingHastelloyX.name=哈斯特洛依合金-X环 -item.itemScrewHastelloyX.name=哈斯特洛依合金-X螺丝 -item.itemRotorHastelloyX.name=哈斯特洛依合金-X转子 -item.itemGearHastelloyX.name=哈斯特洛依合金-X齿轮 -item.itemIngotHastelloyC276.name=哈斯特洛依合金-C276锭 -item.itemHotIngotHastelloyC276.name=热哈斯特洛依合金-C276锭 -item.itemDustHastelloyC276.name=哈斯特洛依合金-C276粉 -item.itemDustTinyHastelloyC276.name=小撮哈斯特洛依合金-C276粉 -item.itemDustSmallHastelloyC276.name=小堆哈斯特洛依合金-C276粉 -item.itemNuggetHastelloyC276.name=哈斯特洛依合金-C276粒 -item.itemPlateHastelloyC276.name=哈斯特洛依合金-C276板 -item.itemPlateDoubleHastelloyC276.name=双重哈斯特洛依合金-C276板 -item.itemBoltHastelloyC276.name=哈斯特洛依合金-C276螺栓 -item.itemRodHastelloyC276.name=哈斯特洛依合金-C276杆 -item.itemRodLongHastelloyC276.name=长哈斯特洛依合金-C276杆 -item.itemRingHastelloyC276.name=哈斯特洛依合金-C276环 -item.itemScrewHastelloyC276.name=哈斯特洛依合金-C276螺丝 -item.itemRotorHastelloyC276.name=哈斯特洛依合金-C276转子 -item.itemGearHastelloyC276.name=哈斯特洛依合金-C276齿轮 -item.itemIngotHastelloyN.name=哈斯特洛依合金-N锭 -item.itemHotIngotHastelloyN.name=热哈斯特洛依合金-N锭 -item.itemDustHastelloyN.name=哈斯特洛依合金-N粉 -item.itemDustTinyHastelloyN.name=小撮哈斯特洛依合金-N粉 -item.itemDustSmallHastelloyN.name=小堆哈斯特洛依合金-N粉 -item.itemNuggetHastelloyN.name=哈斯特洛依合金-N粒 -item.itemPlateHastelloyN.name=哈斯特洛依合金-N板 -item.itemPlateDoubleHastelloyN.name=双重哈斯特洛依合金-N板 -item.itemBoltHastelloyN.name=哈斯特洛依合金-N螺栓 -item.itemRodHastelloyN.name=哈斯特洛依合金-N杆 -item.itemRodLongHastelloyN.name=长哈斯特洛依合金-N杆 -item.itemRingHastelloyN.name=哈斯特洛依合金-N环 -item.itemScrewHastelloyN.name=哈斯特洛依合金-N螺丝 -item.itemRotorHastelloyN.name=哈斯特洛依合金-N转子 -item.itemGearHastelloyN.name=哈斯特洛依合金-N齿轮 -item.itemIngotIncoloy020.name=耐热铬铁合金-020锭 -item.itemDustIncoloy020.name=耐热铬铁合金-020粉 -item.itemDustTinyIncoloy020.name=小撮耐热铬铁合金-020粉 -item.itemDustSmallIncoloy020.name=小堆耐热铬铁合金-020粉 -item.itemNuggetIncoloy020.name=耐热铬铁合金-020粒 -item.itemPlateIncoloy020.name=耐热铬铁合金-020板 -item.itemPlateDoubleIncoloy020.name=双重耐热铬铁合金-020板 -item.itemBoltIncoloy020.name=耐热铬铁合金-020螺栓 -item.itemRodIncoloy020.name=耐热铬铁合金-020杆 -item.itemRodLongIncoloy020.name=长耐热铬铁合金-020杆 -item.itemRingIncoloy020.name=耐热铬铁合金-020环 -item.itemScrewIncoloy020.name=耐热铬铁合金-020螺丝 -item.itemRotorIncoloy020.name=耐热铬铁合金-020转子 -item.itemGearIncoloy020.name=耐热铬铁合金-020齿轮 -item.itemIngotIncoloyDS.name=耐热铬铁合金-DS锭 -item.itemDustIncoloyDS.name=耐热铬铁合金-DS粉 -item.itemDustTinyIncoloyDS.name=小撮耐热铬铁合金-DS粉 -item.itemDustSmallIncoloyDS.name=小堆耐热铬铁合金-DS粉 -item.itemNuggetIncoloyDS.name=耐热铬铁合金-DS粒 -item.itemPlateIncoloyDS.name=耐热铬铁合金-DS板 -item.itemPlateDoubleIncoloyDS.name=双重耐热铬铁合金-DS板 -item.itemBoltIncoloyDS.name=耐热铬铁合金-DS螺栓 -item.itemRodIncoloyDS.name=耐热铬铁合金-DS杆 -item.itemRodLongIncoloyDS.name=长耐热铬铁合金-DS杆 -item.itemRingIncoloyDS.name=耐热铬铁合金-DS环 -item.itemScrewIncoloyDS.name=耐热铬铁合金-DS螺丝 -item.itemRotorIncoloyDS.name=耐热铬铁合金-DS转子 -item.itemGearIncoloyDS.name=耐热铬铁合金-DS齿轮 -item.itemIngotIncoloyMA956.name=耐热铬铁合金-MA956锭 -item.itemHotIngotIncoloyMA956.name=热耐热铬铁合金-MA956锭 -item.itemDustIncoloyMA956.name=耐热铬铁合金-MA956粉 -item.itemDustTinyIncoloyMA956.name=小撮耐热铬铁合金-MA956粉 -item.itemDustSmallIncoloyMA956.name=小堆耐热铬铁合金-MA956粉 -item.itemNuggetIncoloyMA956.name=耐热铬铁合金-MA956粒 -item.itemPlateIncoloyMA956.name=耐热铬铁合金-MA956板 -item.itemPlateDoubleIncoloyMA956.name=双重耐热铬铁合金-MA956板 -item.itemBoltIncoloyMA956.name=耐热铬铁合金-MA956螺栓 -item.itemRodIncoloyMA956.name=耐热铬铁合金-MA956杆 -item.itemRodLongIncoloyMA956.name=长耐热铬铁合金-MA956杆 -item.itemRingIncoloyMA956.name=耐热铬铁合金-MA956环 -item.itemScrewIncoloyMA956.name=耐热铬铁合金-MA956螺丝 -item.itemRotorIncoloyMA956.name=耐热铬铁合金-MA956转子 -item.itemGearIncoloyMA956.name=耐热铬铁合金-MA956齿轮 -item.itemIngotGrisium.name=灰钛合金锭 -item.itemHotIngotGrisium.name=热灰钛合金锭 -item.itemDustGrisium.name=灰钛合金粉 -item.itemDustTinyGrisium.name=小撮灰钛合金粉 -item.itemDustSmallGrisium.name=小堆灰钛合金粉 -item.itemNuggetGrisium.name=灰钛合金粒 -item.itemPlateGrisium.name=灰钛合金板 -item.itemPlateDoubleGrisium.name=双重灰钛合金板 -item.itemBoltGrisium.name=灰钛合金螺栓 -item.itemRodGrisium.name=灰钛合金杆 -item.itemRodLongGrisium.name=长灰钛合金杆 -item.itemRingGrisium.name=灰钛合金环 -item.itemScrewGrisium.name=灰钛合金螺丝 -item.itemRotorGrisium.name=灰钛合金转子 -item.itemGearGrisium.name=灰钛合金齿轮 -item.itemIngotHG1223.name=HG-1223锭 -item.itemDustHG1223.name=HG-1223粉 -item.itemDustTinyHG1223.name=小撮HG-1223粉 -item.itemDustSmallHG1223.name=小堆HG-1223粉 -item.itemNuggetHG1223.name=HG-1223粒 -item.itemPlateHG1223.name=HG-1223板 -item.itemPlateDoubleHG1223.name=双重HG-1223板 -item.itemIngotTrinium.name=三元金属锭 -item.itemDustTrinium.name=三元金属粉 -item.itemDustTinyTrinium.name=小撮三元金属粉 -item.itemDustSmallTrinium.name=小堆三元金属粉 -item.itemNuggetTrinium.name=三元金属粒 -item.itemPlateTrinium.name=三元金属板 -item.itemPlateDoubleTrinium.name=双重三元金属板 -item.itemIngotRefinedTrinium.name=精制三元金属锭 -item.itemDustRefinedTrinium.name=精制三元金属粉 -item.itemDustTinyRefinedTrinium.name=小撮精制三元金属粉 -item.itemDustSmallRefinedTrinium.name=小堆精制三元金属粉 -item.itemNuggetRefinedTrinium.name=精制三元金属粒 -item.itemPlateRefinedTrinium.name=精制三元金属板 -item.itemPlateDoubleRefinedTrinium.name=双重精制三元金属板 -item.itemIngotTriniumTitaniumAlloy.name=三元钛合金锭 -item.itemHotIngotTriniumTitaniumAlloy.name=热三元钛合金锭 -item.itemDustTriniumTitaniumAlloy.name=三元钛合金粉 -item.itemDustTinyTriniumTitaniumAlloy.name=小撮三元钛合金粉 -item.itemDustSmallTriniumTitaniumAlloy.name=小堆三元钛合金粉 -item.itemNuggetTriniumTitaniumAlloy.name=三元钛合金粒 -item.itemPlateTriniumTitaniumAlloy.name=三元钛合金板 -item.itemPlateDoubleTriniumTitaniumAlloy.name=双重三元钛合金板 -item.itemBoltTriniumTitaniumAlloy.name=三元钛合金螺栓 -item.itemRodTriniumTitaniumAlloy.name=三元钛合金杆 -item.itemRodLongTriniumTitaniumAlloy.name=长三元钛合金杆 -item.itemRingTriniumTitaniumAlloy.name=三元钛合金环 -item.itemScrewTriniumTitaniumAlloy.name=三元钛合金螺丝 -item.itemRotorTriniumTitaniumAlloy.name=三元钛合金转子 -item.itemGearTriniumTitaniumAlloy.name=三元钛合金齿轮 -item.itemIngotTriniumNaquadahAlloy.name=三元硅岩合金锭 -item.itemDustTriniumNaquadahAlloy.name=三元硅岩合金粉 -item.itemDustTinyTriniumNaquadahAlloy.name=小撮三元硅岩合金粉 -item.itemDustSmallTriniumNaquadahAlloy.name=小堆三元硅岩合金粉 -item.itemNuggetTriniumNaquadahAlloy.name=三元硅岩合金粒 -item.itemPlateTriniumNaquadahAlloy.name=三元硅岩合金板 -item.itemPlateDoubleTriniumNaquadahAlloy.name=双重三元硅岩合金板 -item.itemIngotTriniumNaquadahCarbonite.name=碳化三元硅岩合金锭 -item.itemHotIngotTriniumNaquadahCarbonite.name=热碳化三元硅岩合金锭 -item.itemDustTriniumNaquadahCarbonite.name=碳化三元硅岩合金粉 -item.itemDustTinyTriniumNaquadahCarbonite.name=小撮碳化三元硅岩合金粉 -item.itemDustSmallTriniumNaquadahCarbonite.name=小堆碳化三元硅岩合金粉 -item.itemNuggetTriniumNaquadahCarbonite.name=碳化三元硅岩合金粒 -item.itemPlateTriniumNaquadahCarbonite.name=碳化三元硅岩合金板 -item.itemPlateDoubleTriniumNaquadahCarbonite.name=双重碳化三元硅岩合金板 -item.itemBoltTriniumNaquadahCarbonite.name=碳化三元硅岩合金螺栓 -item.itemRodTriniumNaquadahCarbonite.name=碳化三元硅岩合金杆 -item.itemRodLongTriniumNaquadahCarbonite.name=长碳化三元硅岩合金杆 -item.itemRingTriniumNaquadahCarbonite.name=碳化三元硅岩合金环 -item.itemScrewTriniumNaquadahCarbonite.name=碳化三元硅岩合金螺丝 -item.itemRotorTriniumNaquadahCarbonite.name=碳化三元硅岩合金转子 -item.itemGearTriniumNaquadahCarbonite.name=碳化三元硅岩合金齿轮 -item.itemIngotQuantum.name=量子合金锭 -item.itemHotIngotQuantum.name=热量子合金锭 -item.itemDustQuantum.name=量子合金粉 -item.itemDustTinyQuantum.name=小撮量子合金粉 -item.itemDustSmallQuantum.name=小堆量子合金粉 -item.itemNuggetQuantum.name=量子合金粒 -item.itemPlateQuantum.name=量子合金板 -item.itemPlateDoubleQuantum.name=双重量子合金板 -item.itemBoltQuantum.name=量子合金螺栓 -item.itemRodQuantum.name=量子合金杆 -item.itemRodLongQuantum.name=长量子合金杆 -item.itemRingQuantum.name=量子合金环 -item.itemScrewQuantum.name=量子合金螺丝 -item.itemRotorQuantum.name=量子合金转子 -item.itemGearQuantum.name=量子合金齿轮 -item.itemDustFluoriteF.name=氟石(F)粉 -item.itemDustTinyFluoriteF.name=小撮氟石(F)粉 -item.itemDustSmallFluoriteF.name=小堆氟石(F)粉 -item.crushedFluoriteF.name=粉碎的氟石(F)矿石 -item.crushedCentrifugedFluoriteF.name=离心氟石(F)矿石 -item.crushedPurifiedFluoriteF.name=洗净的氟石(F)矿石 -item.dustImpureFluoriteF.name=含杂氟石(F)粉 -item.dustPureFluoriteF.name=洁净氟石(F)粉 -item.itemDustCrocoite.name=赤铅矿粉 -item.itemDustTinyCrocoite.name=小撮赤铅矿粉 -item.itemDustSmallCrocoite.name=小堆赤铅矿粉 -item.crushedCrocoite.name=粉碎的赤铅矿矿石 -item.crushedCentrifugedCrocoite.name=离心赤铅矿矿石 -item.crushedPurifiedCrocoite.name=洗净的赤铅矿矿石 -item.dustImpureCrocoite.name=含杂赤铅矿粉 -item.dustPureCrocoite.name=洁净赤铅矿粉 -item.itemDustGeikielite.name=镁钛矿粉 -item.itemDustTinyGeikielite.name=小撮镁钛矿粉 -item.itemDustSmallGeikielite.name=小堆镁钛矿粉 -item.crushedGeikielite.name=粉碎的镁钛矿矿石 -item.crushedCentrifugedGeikielite.name=离心镁钛矿矿石 -item.crushedPurifiedGeikielite.name=洗净的镁钛矿矿石 -item.dustImpureGeikielite.name=含杂镁钛矿粉 -item.dustPureGeikielite.name=洁净镁钛矿粉 -item.itemDustNichromite.name=镍铬矿粉 -item.itemDustTinyNichromite.name=小撮镍铬矿粉 -item.itemDustSmallNichromite.name=小堆镍铬矿粉 -item.crushedNichromite.name=粉碎的镍铬矿矿石 -item.crushedCentrifugedNichromite.name=离心镍铬矿矿石 -item.crushedPurifiedNichromite.name=洗净的镍铬矿矿石 -item.dustImpureNichromite.name=含杂镍铬矿粉 -item.dustPureNichromite.name=洁净镍铬矿粉 -item.itemDustTitanite.name=榍石粉 -item.itemDustTinyTitanite.name=小撮榍石粉 -item.itemDustSmallTitanite.name=小堆榍石粉 -item.crushedTitanite.name=粉碎的榍石矿石 -item.crushedCentrifugedTitanite.name=离心榍石矿石 -item.crushedPurifiedTitanite.name=洗净的榍石矿石 -item.dustImpureTitanite.name=含杂榍石粉 -item.dustPureTitanite.name=洁净榍石粉 -item.itemDustZimbabweite.name=钛铌铅钠石粉 -item.itemDustTinyZimbabweite.name=小撮钛铌铅钠石粉 -item.itemDustSmallZimbabweite.name=小堆钛铌铅钠石粉 -item.crushedZimbabweite.name=粉碎的钛铌铅钠石矿石 -item.crushedCentrifugedZimbabweite.name=离心钛铌铅钠石矿石 -item.crushedPurifiedZimbabweite.name=洗净的钛铌铅钠石矿石 -item.dustImpureZimbabweite.name=含杂钛铌铅钠石粉 -item.dustPureZimbabweite.name=洁净钛铌铅钠石粉 -item.itemDustZirconolite.name=钛锆钍矿粉 -item.itemDustTinyZirconolite.name=小撮钛锆钍矿粉 -item.itemDustSmallZirconolite.name=小堆钛锆钍矿粉 -item.crushedZirconolite.name=粉碎的钛锆钍矿矿石 -item.crushedCentrifugedZirconolite.name=离心钛锆钍矿矿石 -item.crushedPurifiedZirconolite.name=洗净的钛锆钍矿矿石 -item.dustImpureZirconolite.name=含杂钛锆钍矿粉 -item.dustPureZirconolite.name=洁净钛锆钍矿粉 -item.itemDustGadoliniteCe.name=硅铍钇矿(Ce)粉 -item.itemDustTinyGadoliniteCe.name=小撮硅铍钇矿(Ce)粉 -item.itemDustSmallGadoliniteCe.name=小堆硅铍钇矿(Ce)粉 -item.crushedGadoliniteCe.name=粉碎的硅铍钇矿(Ce)矿石 -item.crushedCentrifugedGadoliniteCe.name=离心硅铍钇矿(Ce)矿石 -item.crushedPurifiedGadoliniteCe.name=洗净的硅铍钇矿(Ce)矿石 -item.dustImpureGadoliniteCe.name=含杂硅铍钇矿(Ce)粉 -item.dustPureGadoliniteCe.name=洁净硅铍钇矿(Ce)粉 -item.itemDustGadoliniteY.name=硅铍钇矿(Y)粉 -item.itemDustTinyGadoliniteY.name=小撮硅铍钇矿(Y)粉 -item.itemDustSmallGadoliniteY.name=小堆硅铍钇矿(Y)粉 -item.crushedGadoliniteY.name=粉碎的硅铍钇矿(Y)矿石 -item.crushedCentrifugedGadoliniteY.name=离心硅铍钇矿(Y)矿石 -item.crushedPurifiedGadoliniteY.name=洗净的硅铍钇矿(Y)矿石 -item.dustImpureGadoliniteY.name=含杂硅铍钇矿(Y)粉 -item.dustPureGadoliniteY.name=洁净硅铍钇矿(Y)粉 -item.itemDustLepersonnite.name=绿泥石粉 -item.itemDustTinyLepersonnite.name=小撮绿泥石粉 -item.itemDustSmallLepersonnite.name=小堆绿泥石粉 -item.crushedLepersonnite.name=粉碎的绿泥石矿石 -item.crushedCentrifugedLepersonnite.name=离心绿泥石矿石 -item.crushedPurifiedLepersonnite.name=洗净的绿泥石矿石 -item.dustImpureLepersonnite.name=含杂绿泥石粉 -item.dustPureLepersonnite.name=洁净绿泥石粉 -item.itemDustSamarskiteY.name=铌钇矿(Y)粉 -item.itemDustTinySamarskiteY.name=小撮铌钇矿(Y)粉 -item.itemDustSmallSamarskiteY.name=小堆铌钇矿(Y)粉 -item.crushedSamarskiteY.name=粉碎的铌钇矿(Y)矿石 -item.crushedCentrifugedSamarskiteY.name=离心铌钇矿(Y)矿石 -item.crushedPurifiedSamarskiteY.name=洗净的铌钇矿(Y)矿石 -item.dustImpureSamarskiteY.name=含杂铌钇矿(Y)粉 -item.dustPureSamarskiteY.name=洁净铌钇矿(Y)粉 -item.itemDustSamarskiteYb.name=铌钇矿(Yb)粉 -item.itemDustTinySamarskiteYb.name=小撮铌钇矿(Yb)粉 -item.itemDustSmallSamarskiteYb.name=小堆铌钇矿(Yb)粉 -item.crushedSamarskiteYb.name=粉碎的铌钇矿(Yb)矿石 -item.crushedCentrifugedSamarskiteYb.name=离心铌钇矿(Yb)矿石 -item.crushedPurifiedSamarskiteYb.name=洗净的铌钇矿(Yb)矿石 -item.dustImpureSamarskiteYb.name=含杂铌钇矿(Yb)粉 -item.dustPureSamarskiteYb.name=洁净铌钇矿(Yb)粉 -item.itemDustXenotime.name=磷钇矿粉 -item.itemDustTinyXenotime.name=小撮磷钇矿粉 -item.itemDustSmallXenotime.name=小堆磷钇矿粉 -item.crushedXenotime.name=粉碎的磷钇矿矿石 -item.crushedCentrifugedXenotime.name=离心磷钇矿矿石 -item.crushedPurifiedXenotime.name=洗净的磷钇矿矿石 -item.dustImpureXenotime.name=含杂磷钇矿粉 -item.dustPureXenotime.name=洁净磷钇矿粉 -item.itemDustYttriaite.name=钇矿粉 -item.itemDustTinyYttriaite.name=小撮钇矿粉 -item.itemDustSmallYttriaite.name=小堆钇矿粉 -item.crushedYttriaite.name=粉碎的钇矿矿石 -item.crushedCentrifugedYttriaite.name=离心钇矿矿石 -item.crushedPurifiedYttriaite.name=洗净的钇矿矿石 -item.dustImpureYttriaite.name=含杂钇矿粉 -item.dustPureYttriaite.name=洁净钇矿粉 -item.itemDustYttrialite.name=硅钍钇矿粉 -item.itemDustTinyYttrialite.name=小撮硅钍钇矿粉 -item.itemDustSmallYttrialite.name=小堆硅钍钇矿粉 -item.crushedYttrialite.name=粉碎的硅钍钇矿矿石 -item.crushedCentrifugedYttrialite.name=离心硅钍钇矿矿石 -item.crushedPurifiedYttrialite.name=洗净的硅钍钇矿矿石 -item.dustImpureYttrialite.name=含杂硅钍钇矿粉 -item.dustPureYttrialite.name=洁净硅钍钇矿粉 -item.itemDustYttrocerite.name=铈钇矿粉 -item.itemDustTinyYttrocerite.name=小撮铈钇矿粉 -item.itemDustSmallYttrocerite.name=小堆铈钇矿粉 -item.crushedYttrocerite.name=粉碎的铈钇矿矿石 -item.crushedCentrifugedYttrocerite.name=离心铈钇矿矿石 -item.crushedPurifiedYttrocerite.name=洗净的铈钇矿矿石 -item.dustImpureYttrocerite.name=含杂铈钇矿粉 -item.dustPureYttrocerite.name=洁净铈钇矿粉 -item.itemDustZircon.name=锆石粉 -item.itemDustTinyZircon.name=小撮锆石粉 -item.itemDustSmallZircon.name=小堆锆石粉 -item.crushedZircon.name=粉碎的锆石矿石 -item.crushedCentrifugedZircon.name=离心锆石矿石 -item.crushedPurifiedZircon.name=洗净的锆石矿石 -item.dustImpureZircon.name=含杂锆石粉 -item.dustPureZircon.name=洁净锆石粉 -item.itemDustPolycrase.name=锗铀钇矿粉 -item.itemDustTinyPolycrase.name=小撮锗铀钇矿粉 -item.itemDustSmallPolycrase.name=小堆锗铀钇矿粉 -item.crushedPolycrase.name=粉碎的锗铀钇矿矿石 -item.crushedCentrifugedPolycrase.name=离心锗铀钇矿矿石 -item.crushedPurifiedPolycrase.name=洗净的锗铀钇矿矿石 -item.dustImpurePolycrase.name=含杂锗铀钇矿粉 -item.dustPurePolycrase.name=洁净锗铀钇矿粉 -item.itemDustZircophyllite.name=锆星叶石粉 -item.itemDustTinyZircophyllite.name=小撮锆星叶石粉 -item.itemDustSmallZircophyllite.name=小堆锆星叶石粉 -item.crushedZircophyllite.name=粉碎的锆星叶石矿石 -item.crushedCentrifugedZircophyllite.name=离心锆星叶石矿石 -item.crushedPurifiedZircophyllite.name=洗净的锆星叶石矿石 -item.dustImpureZircophyllite.name=含杂锆星叶石粉 -item.dustPureZircophyllite.name=洁净锆星叶石粉 -item.itemDustZirkelite.name=锆英石粉 -item.itemDustTinyZirkelite.name=小撮锆英石粉 -item.itemDustSmallZirkelite.name=小堆锆英石粉 -item.crushedZirkelite.name=粉碎的锆英石矿石 -item.crushedCentrifugedZirkelite.name=离心锆英石矿石 -item.crushedPurifiedZirkelite.name=洗净的锆英石矿石 -item.dustImpureZirkelite.name=含杂锆英石粉 -item.dustPureZirkelite.name=洁净锆英石粉 -item.itemDustLanthaniteLa.name=镧石(La)粉 -item.itemDustTinyLanthaniteLa.name=小撮镧石(La)粉 -item.itemDustSmallLanthaniteLa.name=小堆镧石(La)粉 -item.crushedLanthaniteLa.name=粉碎的镧石(La)矿石 -item.crushedCentrifugedLanthaniteLa.name=离心镧石(La)矿石 -item.crushedPurifiedLanthaniteLa.name=洗净的镧石(La)矿石 -item.dustImpureLanthaniteLa.name=含杂镧石(La)粉 -item.dustPureLanthaniteLa.name=洁净镧石(La)粉 -item.itemDustLanthaniteCe.name=镧石(Ce)粉 -item.itemDustTinyLanthaniteCe.name=小撮镧石(Ce)粉 -item.itemDustSmallLanthaniteCe.name=小堆镧石(Ce)粉 -item.crushedLanthaniteCe.name=粉碎的镧石(Ce)矿石 -item.crushedCentrifugedLanthaniteCe.name=离心镧石(Ce)矿石 -item.crushedPurifiedLanthaniteCe.name=洗净的镧石(Ce)矿石 -item.dustImpureLanthaniteCe.name=含杂镧石(Ce)粉 -item.dustPureLanthaniteCe.name=洁净镧石(Ce)粉 -item.itemDustLanthaniteNd.name=镧石(Nd)粉 -item.itemDustTinyLanthaniteNd.name=小撮镧石(Nd)粉 -item.itemDustSmallLanthaniteNd.name=小堆镧石(Nd)粉 -item.crushedLanthaniteNd.name=粉碎的镧石(Nd)矿石 -item.crushedCentrifugedLanthaniteNd.name=离心镧石(Nd)矿石 -item.crushedPurifiedLanthaniteNd.name=洗净的镧石(Nd)矿石 -item.dustImpureLanthaniteNd.name=含杂镧石(Nd)粉 -item.dustPureLanthaniteNd.name=洁净镧石(Nd)粉 -item.itemDustAgarditeY.name=菱铁矿(Y)粉 -item.itemDustTinyAgarditeY.name=小撮菱铁矿(Y)粉 -item.itemDustSmallAgarditeY.name=小堆菱铁矿(Y)粉 -item.crushedAgarditeY.name=粉碎的菱铁矿(Y)矿石 -item.crushedCentrifugedAgarditeY.name=离心菱铁矿(Y)矿石 -item.crushedPurifiedAgarditeY.name=洗净的菱铁矿(Y)矿石 -item.dustImpureAgarditeY.name=含杂菱铁矿(Y)粉 -item.dustPureAgarditeY.name=洁净菱铁矿(Y)粉 -item.itemDustAgarditeCd.name=菱铁矿(Cd)粉 -item.itemDustTinyAgarditeCd.name=小撮菱铁矿(Cd)粉 -item.itemDustSmallAgarditeCd.name=小堆菱铁矿(Cd)粉 -item.crushedAgarditeCd.name=粉碎的菱铁矿(Cd)矿石 -item.crushedCentrifugedAgarditeCd.name=离心菱铁矿(Cd)矿石 -item.crushedPurifiedAgarditeCd.name=洗净的菱铁矿(Cd)矿石 -item.dustImpureAgarditeCd.name=含杂菱铁矿(Cd)粉 -item.dustPureAgarditeCd.name=洁净菱铁矿(Cd)粉 -item.itemDustAgarditeLa.name=菱铁矿(La)粉 -item.itemDustTinyAgarditeLa.name=小撮菱铁矿(La)粉 -item.itemDustSmallAgarditeLa.name=小堆菱铁矿(La)粉 -item.crushedAgarditeLa.name=粉碎的菱铁矿(La)矿石 -item.crushedCentrifugedAgarditeLa.name=离心菱铁矿(La)矿石 -item.crushedPurifiedAgarditeLa.name=洗净的菱铁矿(La)矿石 -item.dustImpureAgarditeLa.name=含杂菱铁矿(La)粉 -item.dustPureAgarditeLa.name=洁净菱铁矿(La)粉 -item.itemDustAgarditeNd.name=菱铁矿(Nd)粉 -item.itemDustTinyAgarditeNd.name=小撮菱铁矿(Nd)粉 -item.itemDustSmallAgarditeNd.name=小堆菱铁矿(Nd)粉 -item.crushedAgarditeNd.name=粉碎的菱铁矿(Nd)矿石 -item.crushedCentrifugedAgarditeNd.name=离心菱铁矿(Nd)矿石 -item.crushedPurifiedAgarditeNd.name=洗净的菱铁矿(Nd)矿石 -item.dustImpureAgarditeNd.name=含杂菱铁矿(Nd)粉 -item.dustPureAgarditeNd.name=洁净菱铁矿(Nd)粉 -item.itemDustHibonite.name=黑铝钙石粉 -item.itemDustTinyHibonite.name=小撮黑铝钙石粉 -item.itemDustSmallHibonite.name=小堆黑铝钙石粉 -item.crushedHibonite.name=粉碎的黑铝钙石矿石 -item.crushedCentrifugedHibonite.name=离心黑铝钙石矿石 -item.crushedPurifiedHibonite.name=洗净的黑铝钙石矿石 -item.dustImpureHibonite.name=含杂黑铝钙石粉 -item.dustPureHibonite.name=洁净黑铝钙石粉 -item.itemDustCerite.name=铈硅石粉 -item.itemDustTinyCerite.name=小撮铈硅石粉 -item.itemDustSmallCerite.name=小堆铈硅石粉 -item.crushedCerite.name=粉碎的铈硅石矿石 -item.crushedCentrifugedCerite.name=离心铈硅石矿石 -item.crushedPurifiedCerite.name=洗净的铈硅石矿石 -item.dustImpureCerite.name=含杂铈硅石粉 -item.dustPureCerite.name=洁净铈硅石粉 -item.itemDustFluorcaphite.name=氟碳铈矿粉 -item.itemDustTinyFluorcaphite.name=小撮氟碳铈矿粉 -item.itemDustSmallFluorcaphite.name=小堆氟碳铈矿粉 -item.crushedFluorcaphite.name=粉碎的氟碳铈矿矿石 -item.crushedCentrifugedFluorcaphite.name=离心氟碳铈矿矿石 -item.crushedPurifiedFluorcaphite.name=洗净的氟碳铈矿矿石 -item.dustImpureFluorcaphite.name=含杂氟碳铈矿粉 -item.dustPureFluorcaphite.name=洁净氟碳铈矿粉 -item.itemDustFlorencite.name=磷铝铈矿粉 -item.itemDustTinyFlorencite.name=小撮磷铝铈矿粉 -item.itemDustSmallFlorencite.name=小堆磷铝铈矿粉 -item.crushedFlorencite.name=粉碎的磷铝铈矿矿石 -item.crushedCentrifugedFlorencite.name=离心磷铝铈矿矿石 -item.crushedPurifiedFlorencite.name=洗净的磷铝铈矿矿石 -item.dustImpureFlorencite.name=含杂磷铝铈矿粉 -item.dustPureFlorencite.name=洁净磷铝铈矿粉 -item.itemDustCryoliteF.name=冰晶石(F)粉 -item.itemDustTinyCryoliteF.name=小撮冰晶石(F)粉 -item.itemDustSmallCryoliteF.name=小堆冰晶石(F)粉 -item.crushedCryoliteF.name=粉碎的冰晶石(F)矿石 -item.crushedCentrifugedCryoliteF.name=离心冰晶石(F)矿石 -item.crushedPurifiedCryoliteF.name=洗净的冰晶石(F)矿石 -item.dustImpureCryoliteF.name=含杂冰晶石(F)粉 -item.dustPureCryoliteF.name=洁净冰晶石(F)粉 -item.itemDustTinyYellorium.name=小撮黄铀矿粉 -item.itemDustSmallYellorium.name=小堆黄铀矿粉 -item.crushedYellorium.name=粉碎的黄铀矿矿石 -item.crushedCentrifugedYellorium.name=离心黄铀矿矿石 -item.crushedPurifiedYellorium.name=洗净的黄铀矿矿石 -item.dustImpureYellorium.name=含杂黄铀矿粉 -item.dustPureYellorium.name=洁净黄铀矿粉 - -//Shards -item.itemDrained.name=枯竭碎片 -item.itemDustInfusedAir.name=风之魔晶粉 -item.itemDustInfusedFire.name=火之魔晶粉 -item.itemDustInfusedEarth.name=地之魔晶粉 -item.itemDustInfusedWater.name=水之魔晶粉 - - -//Misc Material Items -item.itemDustLithiumCarbonate.name=碳酸锂粉 -item.itemDustSmallLithiumCarbonate.name=小堆碳酸锂粉 -item.itemDustTinyLithiumCarbonate.name=小撮碳酸锂粉 -item.itemDustLithiumPeroxide.name=过氧化锂粉 -item.itemDustSmallLithiumPeroxide.name=小堆过氧化锂粉 -item.itemDustTinyLithiumPeroxide.name=小撮过氧化锂粉 -item.itemDustLithiumHydroxide.name=氢氧化锂粉 -item.itemDustSmallLithiumHydroxide.name=小堆氢氧化锂粉 -item.itemDustTinyLithiumHydroxide.name=小撮氢氧化锂粉 -item.itemDustCalciumHydroxide.name=氢氧化钙粉 -item.itemDustSmallCalciumHydroxide.name=小堆氢氧化钙粉 -item.itemDustTinyCalciumHydroxide.name=小撮氢氧化钙粉 -item.itemDustCalciumCarbonate.name=碳酸钙粉 -item.itemDustSmallCalciumCarbonate.name=小堆碳酸钙粉 -item.itemDustTinyCalciumCarbonate.name=小撮碳酸钙粉 -item.itemDustGypsum.name=硫酸钙(石膏)粉 -item.itemDustSmallGypsum.name=小堆硫酸钙(石膏)粉 -item.itemDustTinyGypsum.name=小撮硫酸钙(石膏)粉 -item.itemDustLi2CO3CaOH2.name=碳酸锂+氢氧化钙复合物粉 -item.itemDustSmallLi2CO3CaOH2.name=小堆碳酸锂+氢氧化钙复合物粉 -item.itemDustTinyLi2CO3CaOH2.name=小撮碳酸锂+氢氧化钙复合物粉 -item.itemDustLi2BeF4.name=Li2BeF4 燃料复合物粉 -item.itemDustSmallLi2BeF4.name=小堆Li2BeF4燃料复合物粉 -item.itemDustTinyLi2BeF4.name=小撮Li2BeF4燃料复合物粉 -item.Li2BeF4.name=Li2BeF4单元 -item.itemCircuitLFTR.name=§a§a控制电路 -item.itemZirconiumPellet.name=锆颗粒[氯化锆] -item.itemDustZrCl4.name=氯化锆粉 -item.itemDustSmallZrCl4.name=小堆氯化锆粉 -item.itemDustTinyZrCl4.name=小撮氯化锆粉 -item.itemDustCookedZrCl4.name=焙烧过的氯化锆粉 -item.itemDustSmallCookedZrCl4.name=小堆焙烧过的氯化锆粉 -item.itemDustTinyCookedZrCl4.name=小撮焙烧过的氯化锆粉 -item.itemDustUN18Fertiliser.name=流体肥料UN-18粉 -item.itemDustSmallUN18Fertiliser.name=小堆流体肥料UN-18粉 -item.itemDustTinyUN18Fertiliser.name=小撮流体肥料un-18粉 -item.itemDustUN32Fertiliser.name=流体肥料UN-32粉 -item.itemDustSmallUN32Fertiliser.name=小堆流体肥料UN-32粉 -item.itemDustTinyUN32Fertiliser.name=小撮流体肥料UN-32粉 - - -//Multitools -item.AluminiumMultipick.name=铝复合稿 -item.AluminiumMultispade.name=铝复合铲 -item.BerylliumMultispade.name=铍复合铲 -item.BismuthMultispade.name=铋复合铲 -item.CarbonMultispade.name=碳复合铲 -item.ChromeMultipick.name=铬复合稿 -item.ChromeMultispade.name=铬复合铲 -item.CobaltMultipick.name=钴复合稿 -item.CobaltMultispade.name=钴复合铲 -item.GoldMultispade.name=金复合铲 -item.IridiumMultipick.name=铱复合稿 -item.IridiumMultispade.name=铱复合铲 -item.IronMultipick.name=铁复合稿 -item.IronMultispade.name=铁复合铲 -item.LeadMultispade.name=铅复合铲 -item.ManganeseMultipick.name=锰复合稿 -item.ManganeseMultispade.name=锰复合铲 -item.MolybdenumMultipick.name=钼复合稿 -item.MolybdenumMultispade.name=钼复合铲 -item.NeodymiumMultipick.name=钕复合镐 -item.NeodymiumMultispade.name=钕复合铲 -item.NeutroniumMultipick.name=中子素复合镐 -item.NeutroniumMultispade.name=中子素复合铲 -item.NickelMultispade.name=镍复合铲 -item.OsmiumMultipick.name=锇复合镐 -item.OsmiumMultispade.name=锇复合铲 -item.PalladiumMultipick.name=钯复合镐 -item.PalladiumMultispade.name=钯复合铲 -item.PlatinumMultispade.name=铂复合铲 -item.Plutonium241Multipick.name=钚-241复合镐 -item.Plutonium241Multispade.name=钚-241复合铲 -item.SilverMultispade.name=银复合铲 -item.ThoriumMultipick.name=钍复合镐 -item.ThoriumMultispade.name=钍复合铲 -item.TitaniumMultipick.name=钛复合镐 -item.TitaniumMultispade.name=钛复合铲 -item.TungstenMultipick.name=钨复合镐 -item.TungstenMultispade.name=钨复合铲 -item.Uranium235Multipick.name=铀-235复合镐 -item.Uranium235Multispade.name=铀-235复合铲 -item.DarkSteelMultipick.name=玄钢复合镐 -item.DarkSteelMultispade.name=玄钢复合铲 -item.DuraniumMultipick.name=铿铀复合镐 -item.DuraniumMultispade.name=铿铀复合铲 -item.InfusedGoldMultispade.name=注魔金复合铲 -item.NaquadahMultipick.name=硅岩复合镐 -item.NaquadahMultispade.name=硅岩复合铲 -item.NaquadahAlloyMultipick.name=硅岩合金复合镐 -item.NaquadahAlloyMultispade.name=硅岩合金复合铲 -item.NaquadriaMultipick.name=超能硅岩复合镐 -item.NaquadriaMultispade.name=超能硅岩复合铲 -item.TritaniumMultipick.name=三钛复合镐 -item.TritaniumMultispade.name=三钛复合铲 -item.OsmiridiumMultipick.name=铱锇合金复合镐 -item.OsmiridiumMultispade.name=铱锇合金复合铲 -item.BrassMultispade.name=黄铜复合铲 -item.BronzeMultipick.name=青铜复合镐 -item.BronzeMultispade.name=青铜复合铲 -item.CupronickelMultispade.name=白铜复合铲 -item.ElectrumMultispade.name=琥珀金复合铲 -item.InvarMultipick.name=殷钢复合镐 -item.InvarMultispade.name=殷钢复合铲 -item.KanthalMultispade.name=坎塔尔合金复合铲 -item.MagnaliumMultipick.name=镁铝合金复合镐 -item.MagnaliumMultispade.name=镁铝合金复合铲 -item.NichromeMultispade.name=镍铬合金复合铲 -item.PigIronMultipick.name=生铁复合镐 -item.PigIronMultispade.name=生铁复合铲 -item.PolycaprolactamMultispade.name=聚己内酰胺复合铲 -item.PolytetrafluoroethyleneMultispade.name=聚四氟乙烯复合铲 -item.NickelZincFerriteMultispade.name=镍锌铁氧体复合铲 -item.PolyphenyleneSulfideMultispade.name=聚苯硫醚复合铲 -item.StainlessSteelMultipick.name=不锈钢复合镐 -item.StainlessSteelMultispade.name=不锈钢复合铲 -item.SteelMultipick.name=钢复合镐 -item.SteelMultispade.name=钢复合铲 -item.TinAlloyMultispade.name=锡铁合金复合铲 -item.UltimetMultipick.name=哈氏合金复合镐 -item.UltimetMultispade.name=哈氏合金复合铲 -item.WroughtIronMultipick.name=锻铁复合镐 -item.WroughtIronMultispade.name=锻铁复合铲 -item.SterlingSilverMultipick.name=标准纯银复合镐 -item.SterlingSilverMultispade.name=标准纯银复合铲 -item.RoseGoldMultipick.name=玫瑰金复合镐 -item.RoseGoldMultispade.name=玫瑰金复合铲 -item.BlackBronzeMultipick.name=黑青铜复合镐 -item.BlackBronzeMultispade.name=黑青铜复合铲 -item.BismuthBronzeMultipick.name=铋青铜复合镐 -item.BismuthBronzeMultispade.name=铋青铜复合铲 -item.BlackSteelMultipick.name=黑钢复合镐 -item.BlackSteelMultispade.name=黑钢复合铲 -item.RedSteelMultipick.name=红钢复合镐 -item.RedSteelMultispade.name=红钢复合铲 -item.BlueSteelMultipick.name=蓝钢复合镐 -item.BlueSteelMultispade.name=蓝钢复合铲 -item.DamascusSteelMultipick.name=大马士革钢复合镐 -item.DamascusSteelMultispade.name=大马士革钢复合铲 -item.MithrilMultispade.name=秘银复合铲 -item.CobaltBrassMultipick.name=钴黄铜复合镐 -item.CobaltBrassMultispade.name=钴黄铜复合铲 -item.ThaumiumMultipick.name=神秘锭复合镐 -item.ThaumiumMultispade.name=神秘锭复合铲 -item.HSSGMultipick.name=高速钢-G复合镐 -item.HSSGMultispade.name=高速钢-G复合铲 -item.HSSEMultipick.name=高速钢-E复合镐 -item.HSSEMultispade.name=高速钢-E复合铲 -item.HSSSMultipick.name=高速钢-S复合镐 -item.HSSSMultispade.name=高速钢-S复合铲 -item.HastelloyC276Multipick.name=哈斯特洛依合金-C276复合镐 -item.HastelloyC276Multispade.name=哈斯特洛依合金-C276复合铲 -item.HastelloyNMultipick.name=哈斯特洛依合金-N复合镐 -item.HastelloyNMultispade.name=哈斯特洛依合金-N复合铲 -item.HastelloyWMultipick.name=哈斯特洛依合金-W复合镐 -item.HastelloyWMultispade.name=哈斯特洛依合金-W复合铲 -item.HastelloyXMultipick.name=哈斯特洛依合金-X复合镐 -item.HastelloyXMultispade.name=哈斯特洛依合金-X复合铲 -item.Incoloy020Multipick.name=耐热铬铁合金-020复合镐 -item.Incoloy020Multispade.name=耐热铬铁合金-020复合铲 -item.IncoloyDSMultipick.name=耐热铬铁合金-DS复合镐 -item.IncoloyDSMultispade.name=耐热铬铁合金-DS复合铲 -item.IncoloyMA956Multipick.name=耐热铬铁合金-MA956复合镐 -item.IncoloyMA956Multispade.name=耐热铬铁合金-MA956复合铲 -item.Inconel625Multipick.name=镍铬基合金-625复合镐 -item.Inconel625Multispade.name=镍铬基合金-625复合铲 -item.Inconel690Multipick.name=镍铬基合金-690复合镐 -item.Inconel690Multispade.name=镍铬基合金-690复合铲 -item.Inconel792Multipick.name=镍铬基合金-792复合镐 -item.Inconel792Multispade.name=镍铬基合金-792复合铲 -item.GrisiumMultipick.name=灰钛合金复合镐 -item.GrisiumMultispade.name=灰钛合金复合铲 -item.Tantalloy60Multipick.name=钽钨合金-60复合镐 -item.Tantalloy60Multispade.name=钽钨合金-60复合铲 -item.Tantalloy61Multipick.name=钽钨合金-61复合镐 -item.Tantalloy61Multispade.name=钽钨合金-61复合铲 -item.StaballoyMultipick.name=贫铀合金复合镐 -item.StaballoyMultispade.name=贫铀合金复合铲 -item.QuantumMultipick.name=量子合金复合镐 -item.QuantumMultispade.name=量子合金复合铲 -item.PotinMultipick.name=粗青铜合金复合镐 -item.PotinMultispade.name=粗青铜合金复合铲 -item.TumbagaMultipick.name=铜金合金复合镐 -item.TumbagaMultispade.name=铜金合金复合铲 -item.TaloniteMultipick.name=铬钴磷酸盐合金复合镐 -item.TaloniteMultispade.name=铬钴磷酸盐合金复合铲 -item.StelliteMultipick.name=铬钴锰钛合金复合镐 -item.StelliteMultispade.name=铬钴锰钛合金复合铲 -item.TungstenCarbideMultipick.name=碳化钨复合镐 -item.TungstenCarbideMultispade.name=碳化钨复合铲 -item.TantalumCarbideMultipick.name=碳化钽复合镐 -item.TantalumCarbideMultispade.name=碳化钽复合铲 - - -//Items that Don't fit into another category - -//Plates -item.itemPlateClay.name=粘土板 -item.itemPlateDoubleClay.name=双重粘土板 -item.itemPlateLithium.name=锂板 -item.itemPlateDoubleEuropium.name=双重铕板 - -//Gears -item.itemSmallGearWroughtIron.name=小型锻铁齿轮 - -//Misc -item.itemFoilUranium235.name=铀235箔 - -item.itemBoilerChassis_0.name=高级锅炉外壳[1级] -item.itemDehydratorCoilWire_0.name=缠绕导线 [EV] -item.itemDehydratorCoil_0.name=脱水线圈 [EV] -item.itemAirFilter_0.name=空气过滤器 -item.itemAirFilter_1.name=空气过滤器 -item.itemLavaFilter.name=岩浆过滤器 -item.itemGrindleTablet.name=Git -item.itemDragonJar.name=龙捕获之壶 -item.CoalGas.name=煤气单元 -item.Ethylbenzene.name=乙苯单元 -item.Anthracene.name=蒽单元 -item.Toluene.name=甲苯单元 -item.CoalTar.name=煤焦油单元 -item.CoalTarOil.name=煤焦油单元 -item.SulfuricCoalTarOil.name=硫酸煤焦油单元 -item.Naphthalene.name=萘单元 -item.itemDustPhthalicAnhydride.name=邻苯二甲酸酐粉 -item.itemDustSmallPhthalicAnhydride.name=小堆邻苯二甲酸酐粉 -item.itemDustTinyPhthalicAnhydride.name=小撮邻苯二甲酸酐粉 -item.2Ethylanthraquinone.name=2-乙基蒽醌单元 -item.2Ethylanthrahydroquinone.name=2-乙基氢蒽醌单元 -item.HydrogenPeroxide.name=过氧化氢单元 -item.itemDustLithiumHydroperoxide.name=过氧化氢锂粉 -item.itemDustSmallLithiumHydroperoxide.name=小堆过氧化氢锂粉 -item.itemDustTinyLithiumHydroperoxide.name=小撮过氧化氢锂粉 -item.LithiumPeroxide.name=过氧化锂单元 -item.itemPotionChilly.name=冰凉药水 -item.itemKeyBig4000DC's.name=4000DC的大钥匙 -item.itemGemDull.name=沉闷宝石 -item.itemMushroomForest.name=森林蘑菇 -item.itemPlateVanadium.name=钒钢板 -item.thekeytothecity.name=通往城市的钥匙 -item.modularbauble.name=模块化饰品 -item.itemDustSoularium.name=魂金粉 -item.itemDustSmallSoularium.name=小堆魂金粉 -item.itemDustTinySoularium.name=小撮魂金粉 -item.itemDustRedstoneAlloy.name=红石合金粉 -item.itemDustSmallRedstoneAlloy.name=小堆红石合金粉 -item.itemDustTinyRedstoneAlloy.name=小撮红石合金粉 -item.itemDustElectricalSteel.name=磁钢粉 -item.itemDustSmallElectricalSteel.name=小堆磁钢粉 -item.itemDustTinyElectricalSteel.name=小撮磁钢粉 -item.itemDustPulsatingIron.name=脉冲铁粉 -item.itemDustSmallPulsatingIron.name=小堆脉冲铁粉 -item.itemDustTinyPulsatingIron.name=小撮脉冲铁粉 -item.itemDustEnergeticAlloy.name=充能合金粉 -item.itemDustSmallEnergeticAlloy.name=小堆充能合金粉 -item.itemDustTinyEnergeticAlloy.name=小撮充能合金粉 -item.itemDustVibrantAlloy.name=脉冲合金粉 -item.itemDustSmallVibrantAlloy.name=小堆脉冲合金粉 -item.itemDustTinyVibrantAlloy.name=小撮脉冲合金粉 -item.itemDustConductiveIron.name=导电铁粉 -item.itemDustSmallConductiveIron.name=小堆导电铁粉 -item.itemDustTinyConductiveIron.name=小撮导电铁粉 -item.itemPlateSoularium.name=魂金板 -item.itemPlateRedstoneAlloy.name=红石合金板 -item.itemPlateElectricalSteel.name=磁钢板 -item.itemPlatePhasedIron.name=脉冲铁板 -item.itemPlateEnergeticAlloy.name=充能合金板 -item.itemPlateVibrantAlloy.name=脉冲合金板 -item.itemPlateConductiveIron.name=导电铁板 -item.itemPlateBlutonium.name=蓝钚板 -item.itemPlateCyanite.name=蓝晶石板 -item.itemPlateLudicrite.name=纯镥板 -item.itemPlateVoid.name=虚空板 -item.itemPlateDimensionShard.name=维度碎片板 -item.rfEUBattery.name=通用充电电池 -item.personalCloakingDevice.name=§9§9个人隐形装置§7 -item.personalHealingDevice.name=§9§9个人纳米治疗加速器§r -item.SlowBuildingRing.name=§e§e缓建指环§7 -item.itemStaballoyPickaxe.name=隧道挖掘者 -item.itemStaballoyAxe.name=树林砍伐者 -item.itemSandstoneHammer.name=圆石粉碎者 -item.itemBufferCore1.name=能量核心 [ULV] -item.itemBufferCore2.name=能量核心 [LV] -item.itemBufferCore3.name=能量核心 [MV] -item.itemBufferCore4.name=能量核心 [HV] -item.itemBufferCore5.name=能量核心 [EV] -item.itemBufferCore6.name=能量核心 [IV] -item.itemBufferCore7.name=能量核心 [LuV] -item.itemBufferCore8.name=能量核心 [ZPM] -item.itemBufferCore9.name=能量核心 [UV] -item.itemBufferCore10.name=能量核心 [MAX] -item.itemPLACEHOLDER_Circuit.name=夸克操纵者 (UV) -item.itembookgt.name=§o§o热力锅炉手册 - -// Everglade Items -item.everglades.trigger.name=§6§6Alkalus圆盘[§c激活§6] - - - - - - - -//Blocks -tile.blockRainforestOakLog.name=雨林橡木 -tile.blockRainforestOakLeaves.name=橡树树叶 -tile.blockRainforestOakSapling.name=雨林橡树树苗 - -//TC Stuff -tile.blockFastAlchemyFurnace.0.name=损坏 -tile.blockFastArcaneAlembic.1.name=损坏 - -//Frame Boxes -tile.Block of Selenium.name=硒块 -tile.Selenium Frame Box.name=硒框架 -tile.Block of Bromine.name=溴块 -tile.Block of Strontium.name=锶块 -tile.Strontium Frame Box.name=锶框架 -tile.Block of Zirconium.name=锆块 -tile.Zirconium Frame Box.name=锆框架 -tile.Block of Ruthenium.name=钌块 -tile.Ruthenium Frame Box.name=钌框架 -tile.Block of Iodine.name=碘块 -tile.Iodine Frame Box.name=碘框架 -tile.Block of Hafnium.name=铪块 -tile.Hafnium Frame Box.name=铪框架 -tile.Block of Dysprosium.name=镝块 -tile.Dysprosium Frame Box.name=镝框架 -tile.Block of Tellurium.name=碲块 -tile.Tellurium Frame Box.name=碲框架 -tile.Block of Rhodium.name=铑块 -tile.Rhodium Frame Box.name=铑框架 -tile.Block of Rhenium.name=铼块 -tile.Rhenium Frame Box.name=铼框架 -tile.Block of Thallium.name=铊块 -tile.Thallium Frame Box.name=铊框架 -tile.Block of Technetium.name=锝块 -tile.Block of Polonium.name=钋块 -tile.Block of Astatine.name=砹块 -tile.Block of Francium.name=钫块 -tile.Block of Radium.name=镭块 -tile.Block of Actinium.name=锕块 -tile.Block of Protactinium.name=镤块 -tile.Block of Neptunium.name=镎块 -tile.Block of Curium.name=锔块 -tile.Block of Berkelium.name=锫块 -tile.Block of Californium.name=锎块 -tile.Block of Einsteinium.name=锿块 -tile.Block of Fermium.name=镄块 -tile.Block of Thorium 232.name=钍-232块 -tile.Block of Uranium 232.name=铀-232块 -tile.Block of Uranium 233.name=铀-233块 -tile.Block of Plutonium-238.name=钚-238块 -tile.Block of Strontium-90.name=锶-90块 -tile.Block of Polonium-210.name=钋-210块 -tile.Block of Americium-241.name=镅-241块 -tile.Block of Silicon Carbide.name=碳化硅块 -tile.Silicon Carbide Frame Box.name=碳化硅框架 -tile.Block of Zirconium Carbide.name=碳化锆块 -tile.Zirconium Carbide Frame Box.name=碳化锆框架 -tile.Block of Tantalum Carbide.name=碳化钽块 -tile.Tantalum Carbide Frame Box.name=碳化钽框架 -tile.Block of Niobium Carbide.name=碳化铌块 -tile.Niobium Carbide Frame Box.name=碳化铌框架 -tile.Block of Beryllium Fluoride.name=氟化铍块 -tile.Block of Lithium Fluoride.name=氟化锂块 -tile.Block of Thorium Tetrafluoride.name=四氟化钍块 -tile.Block of Thorium Hexafluoride.name=六氟化钍块 -tile.Block of Uranium Tetrafluoride.name=四氟化铀块 -tile.Block of Uranium Hexafluoride.name=六氟化铀块 -tile.Block of Zirconium Tetrafluoride.name=四氟化锆块 -tile.Block of Neptunium Hexafluoride.name=六氟化镎块 -tile.Block of Technetium Hexafluoride.name=六氟化锝块 -tile.Block of Selenium Hexafluoride.name=六氟化硒块 -tile.Block of LiFBeF2ZrF4U235.name=铀235复合氟化物块 -tile.Block of LiFBeF2ZrF4UF4.name=铀锆复合氟化物块 -tile.Block of LiFBeF2ThF4UF4.name=铀钍复合氟化物块 -tile.Block of Energy Crystal.name=能量水晶块 -tile.Energy Crystal Frame Box.name=能量水晶框架 -tile.Block of Blood Steel.name=血钢块 -tile.Blood Steel Frame Box.name=血钢框架 -tile.Block of Zeron-100.name=塞龙-100块 -tile.Zeron-100 Frame Box.name=塞龙-100框架 -tile.Block of Tumbaga.name=铜金合金块 -tile.Tumbaga Frame Box.name=铜金合金框架 -tile.Block of Potin.name=粗青铜合金块 -tile.Potin Frame Box.name=粗青铜合金框架 -tile.Block of Staballoy.name=贫铀合金块 -tile.Staballoy Frame Box.name=贫铀合金框架 -tile.Block of Tantalloy-60.name=钽钨合金-60块 -tile.Tantalloy-60 Frame Box.name=钽钨合金-60框架 -tile.Block of Tantalloy-61.name=钽钨合金-61块 -tile.Tantalloy-61 Frame Box.name=钽钨合金-61框架 -tile.Block of Inconel-625.name=镍铬基合金-625块 -tile.Inconel-625 Frame Box.name=镍铬基合金-625框架 -tile.Block of Inconel-690.name=镍铬基合金-690块 -tile.Inconel-690 Frame Box.name=镍铬基合金-690框架 -tile.Block of Inconel-792.name=镍铬基合金-792块 -tile.Inconel-792 Frame Box.name=镍铬基合金-792框架 -tile.Block of Eglin Steel.name=埃格林钢块 -tile.Eglin Steel Frame Box.name=埃格林钢框架 -tile.Block of Maraging Steel 250.name=马氏体时效钢250块 -tile.Maraging Steel 250 Frame Box.name=马氏体时效钢250框架 -tile.Block of Maraging Steel 300.name=马氏体时效钢300块 -tile.Maraging Steel 300 Frame Box.name=马氏体时效钢300框架 -tile.Block of Maraging Steel 350.name=马氏体时效钢350块 -tile.Maraging Steel 350 Frame Box.name=马氏体时效钢350框架 -tile.Block of Stellite.name=铬钴锰钛合金块 -tile.Stellite Frame Box.name=铬钴锰钛合金框架 -tile.Block of Talonite.name=铬钴磷酸盐合金块 -tile.Talonite Frame Box.name=铬钴磷酸盐合金框架 -tile.Block of Hastelloy-W.name=哈斯特洛依合金-W块 -tile.Hastelloy-W Frame Box.name=哈斯特洛依合金-W框架 -tile.Block of Hastelloy-X.name=哈斯特洛依合金-X块 -tile.Hastelloy-X Frame Box.name=哈斯特洛依合金-X框架 -tile.Block of Hastelloy-C276.name=哈斯特洛依合金-C276块 -tile.Hastelloy-C276 Frame Box.name=哈斯特洛依合金-C276框架 -tile.Block of Hastelloy-N.name=哈斯特洛依合金-N块 -tile.Hastelloy-N Frame Box.name=哈斯特洛依合金-N框架 -tile.Block of Incoloy-020.name=耐热铬铁合金-020块 -tile.Incoloy-020 Frame Box.name=耐热铬铁合金-020框架 -tile.Block of Incoloy-DS.name=耐热铬铁合金-DS块 -tile.Incoloy-DS Frame Box.name=耐热铬铁合金-DS框架 -tile.Block of Incoloy-MA956.name=耐热铬铁合金-MA956块 -tile.Incoloy-MA956 Frame Box.name=耐热铬铁合金-MA956框架 -tile.Block of Grisium.name=灰钛合金块 -tile.Grisium Frame Box.name=灰钛合金框架 -tile.Block of Trinium.name=三元金属块 -tile.Block of Refined Trinium.name=精制三元金属块 -tile.Block of Trinium Titanium Alloy.name=三元钛合金块 -tile.Trinium Titanium Alloy Frame Box.name=三元钛合金框架 -tile.Block of Trinium Naquadah Alloy.name=三元硅岩合金块 -tile.Block of Trinium Naquadah Carbonite.name=碳化三元硅岩合金块 -tile.Trinium Naquadah Carbonite Frame Box.name=碳化三元硅岩合金框架 -tile.Block of Quantum.name=量子合金块 -tile.Quantum Frame Box.name=量子合金框架 - -//Ores -tile.OreFluoriteF.name=氟石(F)矿石 -tile.OreCrocoite.name=赤铅矿矿石 -tile.OreGeikielite.name=镁钛矿矿石 -tile.OreNichromite.name=镍铬矿矿石 -tile.OreTitanite.name=榍石矿石 -tile.OreZimbabweite.name=钛铌铅钠石矿石 -tile.OreZirconolite.name=钛锆钍矿矿石 -tile.OreGadoliniteCe.name=硅铍钇矿(Ce)矿石 -tile.OreGadoliniteY.name=硅铍钇矿(Y)矿石 -tile.OreLepersonnite.name=绿泥石矿石 -tile.OreSamarskiteY.name=铌钇矿(Y)矿石 -tile.OreSamarskiteYb.name=铌钇矿(Yb)矿石 -tile.OreXenotime.name=磷钇矿矿石 -tile.OreYttriaite.name=钇矿矿石 -tile.OreYttrialite.name=硅钍钇矿矿石 -tile.OreYttrocerite.name=铈钇矿矿石 -tile.OreZircon.name=锆石矿石 -tile.OrePolycrase.name=锗铀钇矿矿石 -tile.OreZircophyllite.name=锆星叶石矿石 -tile.OreZirkelite.name=锆英石矿石 -tile.OreLanthaniteLa.name=镧石(La)矿石 -tile.OreLanthaniteCe.name=镧石(Ce)矿石 -tile.OreLanthaniteNd.name=镧石(Nd)矿石 -tile.OreAgarditeY.name=菱铁矿(Y)矿石 -tile.OreAgarditeCd.name=菱铁矿(Cd)矿石 -tile.OreAgarditeLa.name=菱铁矿(La)矿石 -tile.OreAgarditeNd.name=菱铁矿(Nd)矿石 -tile.OreHibonite.name=黑铝钙石矿石 -tile.OreCerite.name=铈硅石矿石 -tile.OreFluorcaphite.name=氟碳铈矿矿石 -tile.OreFlorencite.name=磷铝铈矿矿石 -tile.OreCryoliteF.name=冰晶石(F)矿石 - -//Misc -tile.blockMFEffect.name=特殊 -tile.fluidBlockSludge.name=污泥 -tile.blockWorkbenchGT.name=工作台 -tile.blockWorkbenchGTAdvanced.name=高级工作台 -tile.blockHeliumGenerator.name=氦发生器 -tile.blockFirePit.name=火坑 -tile.blockFishTrap.name=捕鱼者 -tile.blockInfiniteFluidTank.name=无限流体储罐 -tile.blockMiningExplosives.name=矿用炸药 -tile.blockHellFire.name=地狱之火 -tile.blockProjectBench.name=工程台 -tile.blockTradeBench.name=贸易台 -tile.blockModularity.name=模块化工作台 -tile.blockBlackGate.name=凋灵笼子 -tile.blockTankXpConverter.name=经验转换器 - -//Everglades Blocks -tile.fluidSludge.0.name=不流动的废水 -tile.blockDarkWorldPortal.name=未来的掠影 -tile.blockDarkWorldGround.name=不稳定的土壤 -tile.blockDarkWorldGround2.name=污染的土壤 -tile.blockDarkWorldGround2.2.name=高度污染的土壤 -tile.blockDarkWorldPortalFrame.name=遏制框架 - - -//Added 1/4/18 -tile.blockMiningPipeFake.name=强化钢筋挖掘管道 -tile.blockMiningHeadFake.name=基岩钻头 -item.itemPlateMeatRaw.name=生肉板 -tile.Block of MeatRaw.name=生肉块 - -//Added 26/5/18 -item.BurntLiFBeF2ThF4UF4.name=枯竭熔盐单元[铀钍复合氟化物] -item.BurntLiFBeF2ZrF4UF4.name=枯竭熔盐单元[铀锆复合氟化物] -item.BurntLiFBeF2ZrF4U235.name=枯竭熔盐单元[铀235复合氟化物] -item.itemBigEgg.name= 盎司的大鸡蛋 -item.itemPlateSodium.name=钠板 - -item.itemNuggetPromethium.name=钷粒 -item.itemIngotPromethium.name=钷锭 -item.itemDustSmallPromethium.name=小堆钷粉 -item.itemDustTinyPromethium.name=小撮钷粉 -item.itemDustPromethium.name=钷粉 -tile.Block of Promethium.name=钷块 - -item.itemCellAmericium241.name=镅-241单元 -item.itemCellPolonium210.name=钋-210单元 -item.itemCellStrontium90.name=锶-90单元 -item.itemCellPlutonium238.name=钚-238单元 - -entity.MiningCharge.name=采矿费用 -entity.throwablePotionSulfuric.name=硫酸烧瓶 -entity.throwablePotionHydrofluoric.name=氢氟酸烧瓶 -entity.toxinBall.name=毒素小球 -entity.plasmaBolt.name=等离子体 -entity.bigChickenFriendly.name=巨大的鸡 - -//Added 26/6/18 -tile.OreTrinium.name=三元金属矿石 -item.crushedTrinium.name=粉碎三元金属矿石 -item.crushedCentrifugedTrinium.name=离心三元金属矿石 -item.crushedPurifiedTrinium.name=洗净的三元金属矿石 -item.dustImpureTrinium.name=含杂三元金属粉 -item.dustPureTrinium.name=洗净的三元金属粉 - -//Added 1/7/18 -entity.WiseVillager.name=聪明的村民 -tile.blockMobSpawnerEx.0.name=刷怪笼 -tile.blockMobSpawnerEx.1.name=刷怪笼 -tile.blockMobSpawnerEx.2.name=刷怪笼 -tile.blockMobSpawnerEx.3.name=刷怪笼 -tile.blockMobSpawnerEx.4.name=刷怪笼 -tile.blockMobSpawnerEx.5.name=刷怪笼 -tile.blockMobSpawnerEx.6.name=刷怪笼 -tile.blockMobSpawnerEx.7.name=刷怪笼 -tile.blockMobSpawnerEx.8.name=刷怪笼 -tile.blockMobSpawnerEx.9.name=刷怪笼 -tile.blockMobSpawnerEx.10.name=刷怪笼 -tile.blockMobSpawnerEx.11.name=刷怪笼 -tile.blockMobSpawnerEx.12.name=刷怪笼 -tile.blockMobSpawnerEx.13.name=刷怪笼 -tile.blockMobSpawnerEx.14.name=刷怪笼 -tile.blockMobSpawnerEx.15.name=刷怪笼 -description.villager.profession.miscutils.banker=银行家 -description.villager.profession.miscutils.technician=GT技术员 -description.villager.profession.miscutils.trader=矿石交易员 -description.villager.profession.miscutils.aboriginal=澳大利亚土著 - -//Added 23/8/18 -item.itemHatTinFoil.name=锡薄帽 - -//Added 13/9/18 -entity.WiseVillager.name=聪明的村民 -entity.Aboriginal.name=澳大利亚土著 -entity.miscutils.constructStaballoy.name=贫铀合金结构 -entity.miscutils.sickBlaze.name=被感染的狂热者 - -//Added 15/9/18 -item.ZirconiumTetrafluoride.name=四氟化锆单元 -item.Formaldehyde.name=甲醛单元 -item.RocketFuelMixA.name=H8N4C2O4火箭燃料单元 -item.RocketFuelMixB.name=RP-1火箭燃料单元 -item.RocketFuelMixC.name=CN3H7O3火箭燃料单元 -item.RocketFuelMixD.name=密集肼火箭燃料单元 -item.RP1Fuel.name=RP-1燃料单元 -item.Monomethylhydrazine.name=甲基肼单元 -item.Hydrazine.name=肼单元 -item.NitrogenTetroxide.name=四氧化二氮单元 -item.NitrousOxide.name=一氧化二氮单元 -item.AmmoniumNitrateSlurry.name=硝酸铵浆液单元 -item.Kerosene.name=煤油单元 -item.LiquidOxygen.name=液化氧单元[LOX] - -//Added 8/1/19 - -//Ores - -tile.OreIrarsite.name=硫砷铱矿石 -item.crushedIrarsite.name=粉碎硫砷铱矿石 -item.crushedCentrifugedIrarsite.name=离心粉碎硫砷铱矿石 -item.crushedPurifiedIrarsite.name=纯净粉碎硫砷铱矿石 -item.dustImpureIrarsite.name=含杂硫砷铱粉 -item.dustPureIrarsite.name=纯净硫砷铱粉 -item.itemDustIrarsite.name=硫砷铱粉 -item.itemDustTinyIrarsite.name=小撮硫砷铱粉 -item.itemDustSmallIrarsite.name=小堆硫砷铱粉 - -tile.OreMiessiite.name=硅灰石矿石 -item.crushedMiessiite.name=粉碎硅灰石矿石 -item.crushedCentrifugedMiessiite.name=离心粉碎硅灰石矿石 -item.crushedPurifiedMiessiite.name=纯净硅灰石矿石 -item.dustImpureMiessiite.name=含杂硅灰石粉 -item.dustPureMiessiite.name=纯净硅灰石粉 -item.itemDustMiessiite.name=硅灰石粉 -item.itemDustTinyMiessiite.name=小撮硅灰石粉 -item.itemDustSmallMiessiite.name=小堆硅灰石粉 - -tile.OreComancheite.name=溴汞石矿石 -item.crushedComancheite.name=粉碎溴汞石矿石 -item.crushedCentrifugedComancheite.name=离心粉碎溴汞石矿石 -item.crushedPurifiedComancheite.name=纯净粉碎溴汞石矿石 -item.dustImpureComancheite.name=含杂溴汞石矿石 -item.dustPureComancheite.name=纯净溴汞石粉 -item.itemDustComancheite.name=溴汞石粉 -item.itemDustTinyComancheite.name=小撮溴汞石粉 -item.itemDustSmallComancheite.name=小堆溴汞石粉 - -tile.OreKoboldite.name=妖金矿石 -item.crushedKoboldite.name=粉碎妖金矿石 -item.crushedCentrifugedKoboldite.name=离心粉碎妖金矿石 -item.crushedPurifiedKoboldite.name=纯净粉碎妖金矿石 -item.dustImpureKoboldite.name=含杂妖金粉 -item.dustPureKoboldite.name=纯净妖金粉 -item.itemDustKoboldite.name=妖金粉 -item.itemDustTinyKoboldite.name=小撮妖金粉 -item.itemDustSmallKoboldite.name=小堆妖金粉 - -tile.OrePerroudite.name=溴硫银汞矿石 -item.crushedPerroudite.name=粉碎溴硫银汞矿石 -item.crushedCentrifugedPerroudite.name=离心溴硫银汞矿石 -item.crushedPurifiedPerroudite.name=纯净溴硫银汞矿石 -item.dustImpurePerroudite.name=含杂溴硫银汞粉 -item.dustPurePerroudite.name=纯净溴硫银汞粉 -item.itemDustPerroudite.name=溴硫银汞粉 -item.itemDustTinyPerroudite.name=小撮溴硫银汞粉 -item.itemDustSmallPerroudite.name=小堆溴硫银汞粉 - -tile.OreDemicheleite.name=重闪石矿石 -item.crushedDemicheleite.name=粉碎重闪石矿石 -item.crushedCentrifugedDemicheleite.name=离心粉碎重闪石矿石 -item.crushedPurifiedDemicheleite.name=纯净粉碎重闪石矿石 -item.dustImpureDemicheleite.name=含杂重闪石粉 -item.dustPureDemicheleite.name=纯净重闪石粉 -item.itemDustDemicheleite.name=重闪石粉 -item.itemDustTinyDemicheleite.name=小撮重闪石粉 -item.itemDustSmallDemicheleite.name=小堆重闪石粉 - -tile.OreAlburnite.name=铝尖晶石矿石 -item.crushedAlburnite.name=粉碎铝尖晶石矿石 -item.crushedCentrifugedAlburnite.name=离心粉碎铝尖晶石矿石 -item.crushedPurifiedAlburnite.name=纯净粉碎铝尖晶石矿石 -item.dustImpureAlburnite.name=含杂铝尖晶石粉 -item.dustPureAlburnite.name=纯净铝尖晶石粉 -item.itemDustAlburnite.name=铝尖晶石粉 -item.itemDustTinyAlburnite.name=小撮铝尖晶石粉 -item.itemDustSmallAlburnite.name=小堆铝尖晶石粉 - -tile.OreLautarite.name=碘钙石矿石 -item.crushedLautarite.name=粉碎碘钙石矿石 -item.crushedCentrifugedLautarite.name=离心粉碎碘钙石矿石 -item.crushedPurifiedLautarite.name=纯净粉碎碘钙石矿石 -item.dustImpureLautarite.name=含杂碘钙石粉 -item.dustPureLautarite.name=纯净碘钙石粉 -item.itemDustLautarite.name=碘钙石粉 -item.itemDustTinyLautarite.name=小撮碘钙石粉 -item.itemDustSmallLautarite.name=小堆碘钙石粉 - -tile.OreBariteRd.name=重晶石(Rd)矿石 -item.crushedBariteRd.name=粉碎重晶石(Rd)矿石 -item.crushedCentrifugedBariteRd.name=离心粉碎 重晶石(Rd)矿石 -item.crushedPurifiedBariteRd.name=纯净粉碎重晶石(Rd)矿石 -item.dustImpureBariteRd.name=含杂 重晶石(Rd)粉 -item.dustPureBariteRd.name=纯净 重晶石(Rd)粉 -item.itemDustBariteRd.name=重晶石(Rd)粉 -item.itemDustTinyBariteRd.name=小撮重晶石(Rd)粉 -item.itemDustSmallBariteRd.name=小堆重晶石(Rd)粉 - -tile.OreHoneaite.name=碲化金铊矿石 -item.crushedHoneaite.name=粉碎碲化金铊矿石 -item.crushedCentrifugedHoneaite.name=离心粉碎碲化金铊矿石 -item.crushedPurifiedHoneaite.name=纯净粉碎碲化金铊矿石 -item.dustImpureHoneaite.name=含杂碲化金铊粉 -item.dustPureHoneaite.name=纯净碲化金铊粉 -item.itemDustHoneaite.name=碲化金铊粉 -item.itemDustTinyHoneaite.name=小撮碲化金铊粉 -item.itemDustSmallHoneaite.name=小堆碲化金铊粉 - -tile.OreLafossaite.name=铊盐矿石 -item.crushedLafossaite.name=粉碎铊盐矿石 -item.crushedCentrifugedLafossaite.name=离心粉碎铊盐矿石 -item.crushedPurifiedLafossaite.name=纯净粉碎铊盐矿石 -item.dustImpureLafossaite.name=含杂铊盐粉 -item.dustPureLafossaite.name=纯净铊盐粉 -item.itemDustLafossaite.name=铊盐粉 -item.itemDustTinyLafossaite.name=小撮铊盐粉 -item.itemDustSmallLafossaite.name=小堆铊盐粉 - -tile.OreKashinite.name=硫铑钛铜矿石 -item.crushedKashinite.name=粉碎硫铑钛铜矿石 -item.crushedCentrifugedKashinite.name=离心粉碎硫铑钛铜矿石 -item.crushedPurifiedKashinite.name=纯净粉碎硫铑钛铜矿石 -item.dustImpureKashinite.name=含杂硫铑钛铜粉 -item.dustPureKashinite.name=纯净硫铑钛铜粉 -item.itemDustKashinite.name=硫铑钛铜粉 -item.itemDustTinyKashinite.name=小撮硫铑钛铜粉 -item.itemDustSmallKashinite.name=小堆硫铑钛铜粉 - -tile.OreRadioactiveMineralMix.name=奇异矿石 -item.crushedRadioactiveMineralMix.name=粉碎奇异矿石 -item.crushedCentrifugedRadioactiveMineralMix.name=离心粉碎奇异矿石 -item.crushedPurifiedRadioactiveMineralMix.name=纯净粉碎奇异矿石 -item.dustImpureRadioactiveMineralMix.name=含杂奇异粉 -item.dustPureRadioactiveMineralMix.name=纯净奇异粉 -item.itemDustRadioactiveMineralMix.name=奇异粉 -item.itemDustTinyRadioactiveMineralMix.name=小撮奇异粉 -item.itemDustSmallRadioactiveMineralMix.name=小堆奇异粉 - -tile.OreDemicheleiteBr.name=重闪石(Br)矿石 -item.crushedDemicheleiteBr.name=粉碎重闪石(Br)矿石 -item.crushedCentrifugedDemicheleiteBr.name=离心粉碎重闪石(Br)矿石 -item.crushedPurifiedDemicheleiteBr.name=纯净粉碎重闪石(Br)矿石 -item.dustImpureDemicheleiteBr.name=含杂重闪石(Br)粉 -item.dustPureDemicheleiteBr.name=纯净重闪石(Br)粉 -item.itemDustDemicheleiteBr.name=重闪石(Br)粉 - - -//Materials - -item.itemIngotTitansteel.name=泰坦精钢 -item.itemHotIngotTitansteel.name=热泰坦精钢 -item.itemDustTitansteel.name=泰坦精钢粉 -item.itemDustTinyTitansteel.name=小撮泰坦精钢粉 -item.itemDustSmallTitansteel.name=小堆泰坦精钢粉 -item.itemNuggetTitansteel.name=泰坦精钢粒 -item.itemPlateTitansteel.name=泰坦精钢板 -item.itemPlateDoubleTitansteel.name=双重泰坦精钢板 -item.itemBoltTitansteel.name=泰坦精钢螺栓 -item.itemRodTitansteel.name=泰坦精钢杆 -item.itemRodLongTitansteel.name=长泰坦精钢杆 -item.itemRingTitansteel.name=泰坦精钢环 -item.itemScrewTitansteel.name=泰坦精钢螺丝 -item.itemRotorTitansteel.name=泰坦精钢转子 -item.itemGearTitansteel.name=泰坦精钢齿轮 -item.itemCellTitansteel.name=泰坦精钢单元 -tile.Block of Titansteel.name=泰坦精钢块 -tile.Titansteel Frame Box.name=泰坦精钢框架 - -item.itemIngotOctiron.name=八角铁锭 -item.itemHotIngotOctiron.name=热八角铁锭 -item.itemDustOctiron.name=八角铁粉 -item.itemDustTinyOctiron.name=小撮八角铁粉 -item.itemDustSmallOctiron.name=小堆八角铁粉 -item.itemNuggetOctiron.name=八角铁粒 -item.itemPlateOctiron.name=八角铁板 -item.itemPlateDoubleOctiron.name=双重八角铁板 -item.itemBoltOctiron.name=八角铁螺栓 -item.itemRodOctiron.name=八角铁杆 -item.itemRodLongOctiron.name=长八角铁杆 -item.itemRingOctiron.name=八角铁环 -item.itemScrewOctiron.name=八角铁螺丝 -item.itemRotorOctiron.name=八角铁转子 -item.itemGearOctiron.name=八角铁齿轮 -item.itemCellOctiron.name=八角铁单元 -tile.Block of Octiron.name=八角铁块 -tile.Octiron Frame Box.name=八角铁框架 - -item.itemIngotWatertightSteel.name=防水钢锭 -item.itemHotIngotWatertightSteel.name=热防水钢锭 -item.itemDustWatertightSteel.name=防水钢粉 -item.itemDustTinyWatertightSteel.name=小撮防水钢粉 -item.itemDustSmallWatertightSteel.name=小堆防水钢粉 -item.itemNuggetWatertightSteel.name=防水钢粒 -item.itemPlateWatertightSteel.name=防水钢板 -item.itemPlateDoubleWatertightSteel.name=双重防水钢板 -item.itemBoltWatertightSteel.name=防水钢螺栓 -item.itemRodWatertightSteel.name=防水钢杆 -item.itemRodLongWatertightSteel.name=长防水钢杆 -item.itemRingWatertightSteel.name=防水钢环 -item.itemScrewWatertightSteel.name=防水钢螺丝 -item.itemRotorWatertightSteel.name=防水钢转子 -item.itemGearWatertightSteel.name=防水钢齿轮 -item.itemCellWatertightSteel.name=防水钢单元 -tile.Block of Watertight Steel.name=防水钢块 -tile.Watertight Steel Frame Box.name=防水钢框架 - -item.itemIngotCelestialTungsten.name=天体钨锭 -item.itemHotIngotCelestialTungsten.name=热天体钨锭 -item.itemDustCelestialTungsten.name=天体钨粉 -item.itemDustTinyCelestialTungsten.name=小撮天体钨粉 -item.itemDustSmallCelestialTungsten.name=小堆天体钨粉 -item.itemNuggetCelestialTungsten.name=天体钨粒 -item.itemPlateCelestialTungsten.name=天体钨板 -item.itemPlateDoubleCelestialTungsten.name=双重天体钨板 -item.itemBoltCelestialTungsten.name=天体钨螺栓 -item.itemRodCelestialTungsten.name=天体钨杆 -item.itemRodLongCelestialTungsten.name=长天体钨杆 -item.itemRingCelestialTungsten.name=天体钨环 -item.itemScrewCelestialTungsten.name=天体钨螺丝 -item.itemRotorCelestialTungsten.name=天体钨转子 -item.itemGearCelestialTungsten.name=天体钨齿轮 -item.itemCellCelestialTungsten.name=天体钨单元 -tile.Block of Celestial Tungsten.name=天体钨块 -tile.Celestial Tungsten Frame Box.name=天体钨框架 - -item.itemIngotHypogen.name=海珀珍锭 -item.itemHotIngotHypogen.name=热海珀珍锭 -item.itemDustHypogen.name=海珀珍粉 -item.itemDustTinyHypogen.name=小撮海珀珍粉 -item.itemDustSmallHypogen.name=小堆海珀珍粉 -item.itemNuggetHypogen.name=海珀珍粒 -item.itemPlateHypogen.name=海珀珍板 -item.itemPlateDoubleHypogen.name=双重海珀珍板 -item.itemBoltHypogen.name=海珀珍螺栓 -item.itemRodHypogen.name=海珀珍杆 -item.itemRodLongHypogen.name=长海珀珍杆 -item.itemRingHypogen.name=海珀珍环 -item.itemScrewHypogen.name=海珀珍螺丝 -item.itemRotorHypogen.name=海珀珍转子 -item.itemGearHypogen.name=海珀珍齿轮 -item.itemCellHypogen.name=海珀珍单元 -tile.Block of Hypogen.name=海珀珍块 -tile.Hypogen Frame Box.name=海珀珍框架 - -item.itemIngotArceusAlloy2B.name=阿尔宙斯合金2B锭 -item.itemHotIngotArceusAlloy2B.name=热阿尔宙斯合金2B锭 -item.itemDustArceusAlloy2B.name=阿尔宙斯合金2B粉 -item.itemDustTinyArceusAlloy2B.name=小撮阿尔宙斯合金2B粉 -item.itemDustSmallArceusAlloy2B.name=小堆阿尔宙斯合金2B粉 -item.itemNuggetArceusAlloy2B.name=阿尔宙斯合金2B粒 -item.itemPlateArceusAlloy2B.name=阿尔宙斯合金2B板 -item.itemPlateDoubleArceusAlloy2B.name=双重阿尔宙斯合金2B板 -item.itemBoltArceusAlloy2B.name=阿尔宙斯合金2B螺栓 -item.itemRodArceusAlloy2B.name=阿尔宙斯合金2B杆 -item.itemRodLongArceusAlloy2B.name=长阿尔宙斯合金2B杆 -item.itemRingArceusAlloy2B.name=阿尔宙斯合金2B环 -item.itemScrewArceusAlloy2B.name=阿尔宙斯合金2B螺丝 -item.itemRotorArceusAlloy2B.name=阿尔宙斯合金2B转子 -item.itemGearArceusAlloy2B.name=阿尔宙斯合金2B齿轮 -item.itemCellArceusAlloy2B.name=阿尔宙斯合金2B单元 -tile.Block of Arceus Alloy 2B.name=阿尔宙斯合金2B块 -tile.Arceus Alloy 2B Frame Box.name=阿尔宙斯合金2B框架 - -item.itemIngotChromaticGlass.name=彩色玻璃锭 -item.itemHotIngotChromaticGlass.name=热彩色玻璃锭 -item.itemDustChromaticGlass.name=彩色玻璃粉 -item.itemDustTinyChromaticGlass.name=小撮彩色玻璃粉 -item.itemDustSmallChromaticGlass.name=小堆彩色玻璃粉 -item.itemNuggetChromaticGlass.name=彩色玻璃粒 -item.itemPlateChromaticGlass.name=彩色玻璃板 -item.itemPlateDoubleChromaticGlass.name=双重彩色玻璃板 -item.itemBoltChromaticGlass.name=彩色玻璃螺栓 -item.itemRodChromaticGlass.name=彩色玻璃杆 -item.itemRodLongChromaticGlass.name=长彩色玻璃杆 -item.itemRingChromaticGlass.name=彩色玻璃环 -item.itemScrewChromaticGlass.name=彩色玻璃螺丝 -item.itemRotorChromaticGlass.name=彩色玻璃转子 -item.itemGearChromaticGlass.name=彩色玻璃齿轮 -item.itemCellChromaticGlass.name=彩色玻璃单元 -tile.Block of Chromatic Glass.name=彩色玻璃块 -tile.Chromatic Glass Frame Box.name=彩色玻璃框架 - -item.itemIngotAstralTitanium.name=星体钛锭 -item.itemHotIngotAstralTitanium.name=热星体钛锭 -item.itemDustAstralTitanium.name=星体钛粉 -item.itemDustTinyAstralTitanium.name=小撮星体钛粉 -item.itemDustSmallAstralTitanium.name=小堆星体钛粉 -item.itemNuggetAstralTitanium.name=星体钛粒 -item.itemPlateAstralTitanium.name=星体钛板 -item.itemPlateDoubleAstralTitanium.name=双重星体钛板 -item.itemBoltAstralTitanium.name=星体钛螺栓 -item.itemRodAstralTitanium.name=星体钛杆 -item.itemRodLongAstralTitanium.name=长星体钛杆 -item.itemRingAstralTitanium.name=星体钛环 -item.itemScrewAstralTitanium.name=星体钛螺丝 -item.itemRotorAstralTitanium.name=星体钛转子 -item.itemGearAstralTitanium.name=星体钛齿轮 -item.itemCellAstralTitanium.name=星体钛单元 -tile.Block of Astral Titanium.name=星体钛块 -tile.Astral Titanium Frame Box.name=星体钛框架 - -item.itemIngotTungstenTitaniumCarbide.name=碳化钨钛合金锭 -item.itemHotIngotTungstenTitaniumCarbide.name=热碳化钨钛合金锭 -item.itemDustTungstenTitaniumCarbide.name=碳化钨钛合金粉 -item.itemDustTinyTungstenTitaniumCarbide.name=小撮碳化钨钛合金粉 -item.itemDustSmallTungstenTitaniumCarbide.name=小堆碳化钨钛合金粉 -item.itemNuggetTungstenTitaniumCarbide.name=碳化钨钛合金粒 -item.itemPlateTungstenTitaniumCarbide.name=碳化钨钛合金板 -item.itemPlateDoubleTungstenTitaniumCarbide.name=双重碳化钨钛合金板 -item.itemBoltTungstenTitaniumCarbide.name=碳化钨钛合金螺栓 -item.itemRodTungstenTitaniumCarbide.name=碳化钨钛合金杆 -item.itemRodLongTungstenTitaniumCarbide.name=长碳化钨钛合金杆 -item.itemRingTungstenTitaniumCarbide.name=碳化钨钛合金环 -item.itemScrewTungstenTitaniumCarbide.name=碳化钨钛合金螺丝 -item.itemRotorTungstenTitaniumCarbide.name=碳化钨钛合金转子 -item.itemGearTungstenTitaniumCarbide.name=碳化钨钛合金齿轮 -item.itemCellTungstenTitaniumCarbide.name=碳化钨钛合金单元 -tile.Block of Tungsten Titanium Carbide.name=碳化钨钛合金块 -tile.Tungsten Titanium Carbide Frame Box.name=碳化钨钛合金框架 - -item.itemIngotNitinol60.name=镍钛诺60锭 -item.itemHotIngotNitinol60.name=热镍钛诺60锭 -item.itemDustNitinol60.name=镍钛诺60粉 -item.itemDustTinyNitinol60.name=小撮镍钛诺60粉 -item.itemDustSmallNitinol60.name=小堆镍钛诺60粉 -item.itemNuggetNitinol60.name=镍钛诺60粒 -item.itemPlateNitinol60.name=镍钛诺60板 -item.itemPlateDoubleNitinol60.name=双重镍钛诺60板 -item.itemBoltNitinol60.name=镍钛诺60螺栓 -item.itemRodNitinol60.name=镍钛诺60杆 -item.itemRodLongNitinol60.name=长镍钛诺60杆 -item.itemRingNitinol60.name=镍钛诺60环 -item.itemScrewNitinol60.name=镍钛诺60螺丝 -item.itemRotorNitinol60.name=镍钛诺60转子 -item.itemGearNitinol60.name=镍钛诺60齿轮 -item.itemCellNitinol60.name=镍钛诺60单元 -tile.Block of Nitinol 60.name=镍钛诺60块 -tile.Nitinol 60 Frame Box.name=镍钛诺60框架 - -item.itemIngotAdvancedNitinol.name=高级镍钛诺锭 -item.itemHotIngotAdvancedNitinol.name=热高级镍钛诺锭 -item.itemDustAdvancedNitinol.name=高级镍钛诺粉 -item.itemDustTinyAdvancedNitinol.name=小撮高级镍钛诺粉 -item.itemDustSmallAdvancedNitinol.name=小堆高级镍钛诺粉 -item.itemNuggetAdvancedNitinol.name=高级镍钛诺粒 -item.itemPlateAdvancedNitinol.name=高级镍钛诺板 -item.itemPlateDoubleAdvancedNitinol.name=双重高级镍钛诺板 -item.itemBoltAdvancedNitinol.name=高级镍钛诺螺栓 -item.itemRodAdvancedNitinol.name=高级镍钛诺杆 -item.itemRodLongAdvancedNitinol.name=长高级镍钛诺杆 -item.itemRingAdvancedNitinol.name=高级镍钛诺环 -item.itemScrewAdvancedNitinol.name=高级镍钛诺螺丝 -item.itemRotorAdvancedNitinol.name=高级镍钛诺转子 -item.itemGearAdvancedNitinol.name=高级镍钛诺齿轮 -item.itemCellAdvancedNitinol.name=高级镍钛诺单元 -tile.Block of Advanced Nitinol.name=高级镍钛诺块 -tile.Advanced Nitinol Frame Box.name=高级镍钛诺框架 - -item.itemIngotArcanite.name=奥金锭 -item.itemHotIngotArcanite.name=热奥金锭 -item.itemDustArcanite.name=奥金粉 -item.itemDustTinyArcanite.name=小撮奥金粉 -item.itemDustSmallArcanite.name=小堆奥金粉 -item.itemNuggetArcanite.name=奥金粒 -item.itemPlateArcanite.name=奥金板 -item.itemPlateDoubleArcanite.name=双重奥金板 -item.itemBoltArcanite.name=奥金螺栓 -item.itemRodArcanite.name=奥金杆 -item.itemRodLongArcanite.name=长奥金杆 -item.itemRingArcanite.name=奥金环 -item.itemScrewArcanite.name=奥金螺丝 -item.itemRotorArcanite.name=奥金转子 -item.itemGearArcanite.name=奥金齿轮 -item.itemCellArcanite.name=奥金单元 -tile.Block of Arcanite.name=奥金块 -tile.Arcanite Frame Box.name=奥金框架 - -item.itemIngotPikyonium64B.name=皮卡优合金64B锭 -item.itemHotIngotPikyonium64B.name=热皮卡优合金64B锭 -item.itemDustPikyonium64B.name=皮卡优合金64B粉 -item.itemDustTinyPikyonium64B.name=小撮皮卡优合金64B粉 -item.itemDustSmallPikyonium64B.name=小堆皮卡优合金64B粉 -item.itemNuggetPikyonium64B.name=皮卡优合金64B粒 -item.itemPlatePikyonium64B.name=皮卡优合金64B板 -item.itemPlateDoublePikyonium64B.name=双重皮卡优合金64B板 -item.itemBoltPikyonium64B.name=皮卡优合金64B螺栓 -item.itemRodPikyonium64B.name=皮卡优合金64B杆 -item.itemRodLongPikyonium64B.name=长皮卡优合金64B杆 -item.itemRingPikyonium64B.name=皮卡优合金64B环 -item.itemScrewPikyonium64B.name=皮卡优合金64B螺丝 -item.itemRotorPikyonium64B.name=皮卡优合金64B转子 -item.itemGearPikyonium64B.name=皮卡优合金64B齿轮 -item.itemCellPikyonium64B.name=皮卡优合金64B单元 -tile.Block of Pikyonium 64B.name=皮卡优合金64B块 -tile.Pikyonium 64B Frame Box.name=皮卡优合金64B框架 - -item.itemIngotCinobiteA243.name=西诺柏A243锭 -item.itemHotIngotCinobiteA243.name=热西诺柏A243锭 -item.itemDustCinobiteA243.name=西诺柏A243粉 -item.itemDustTinyCinobiteA243.name=小撮西诺柏A243粉 -item.itemDustSmallCinobiteA243.name=小堆西诺柏A243粉 -item.itemNuggetCinobiteA243.name=西诺柏A243粒 -item.itemPlateCinobiteA243.name=西诺柏A243板 -item.itemPlateDoubleCinobiteA243.name=双重西诺柏A243板 -item.itemBoltCinobiteA243.name=西诺柏A243螺栓 -item.itemRodCinobiteA243.name=西诺柏A243杆 -item.itemRodLongCinobiteA243.name=长西诺柏A243杆 -item.itemRingCinobiteA243.name=西诺柏A243环 -item.itemScrewCinobiteA243.name=西诺柏A243螺丝 -item.itemRotorCinobiteA243.name=西诺柏A243转子 -item.itemGearCinobiteA243.name=西诺柏A243齿轮 -item.itemCellCinobiteA243.name=西诺柏A243单元 -tile.Block of Cinobite A243.name=西诺柏A243块 -tile.Cinobite A243 Frame Box.name=西诺柏A243框架 - -item.itemIngotLafiumCompound.name=路菲恩化合物锭 -item.itemHotIngotLafiumCompound.name=热路菲恩化合物锭 -item.itemDustLafiumCompound.name=路菲恩化合物粉 -item.itemDustTinyLafiumCompound.name=小撮路菲恩化合物粉 -item.itemDustSmallLafiumCompound.name=小堆路菲恩化合物粉 -item.itemNuggetLafiumCompound.name=路菲恩化合物粒 -item.itemPlateLafiumCompound.name=路菲恩化合物板 -item.itemPlateDoubleLafiumCompound.name=双重路菲恩化合物板 -item.itemBoltLafiumCompound.name=路菲恩化合物螺栓 -item.itemRodLafiumCompound.name=路菲恩化合物杆 -item.itemRodLongLafiumCompound.name=长路菲恩化合物杆 -item.itemRingLafiumCompound.name=路菲恩化合物环 -item.itemScrewLafiumCompound.name=路菲恩化合物螺丝 -item.itemRotorLafiumCompound.name=路菲恩化合物转子 -item.itemGearLafiumCompound.name=路菲恩化合物齿轮 -item.itemCellLafiumCompound.name=路菲恩化合物单元 -tile.Block of Lafium Compound.name=路菲恩化合物块 -tile.Lafium Compound Frame Box.name=路菲恩化合物框架 - -item.itemIngotKoboldite.name=妖金锭 -item.itemHotIngotKoboldite.name=热妖金锭 -item.itemDustKoboldite.name=妖金粉 -item.itemDustTinyKoboldite.name=小撮妖金粉 -item.itemDustSmallKoboldite.name=小堆妖金粉 -item.itemNuggetKoboldite.name=妖金粒 -item.itemPlateKoboldite.name=妖金板 -item.itemPlateDoubleKoboldite.name=双重妖金板 -item.itemBoltKoboldite.name=妖金螺栓 -item.itemRodKoboldite.name=妖金杆 -item.itemRodLongKoboldite.name=长妖金杆 -item.itemRingKoboldite.name=妖金环 -item.itemScrewKoboldite.name=妖金螺丝 -item.itemRotorKoboldite.name=妖金转子 -item.itemGearKoboldite.name=妖金齿轮 -item.itemCellKoboldite.name=妖金单元 -tile.Block of Koboldite.name=妖金块 -tile.Koboldite Frame Box.name=妖金框架 - -item.itemIngotAbyssalAlloy.name=深渊合金锭 -item.itemHotIngotAbyssalAlloy.name=热深渊合金锭 -item.itemDustAbyssalAlloy.name=深渊合金粉 -item.itemDustTinyAbyssalAlloy.name=小撮深渊合金粉 -item.itemDustSmallAbyssalAlloy.name=小堆深渊合金粉 -item.itemNuggetAbyssalAlloy.name=深渊合金粒 -item.itemPlateAbyssalAlloy.name=深渊合金板 -item.itemPlateDoubleAbyssalAlloy.name=双重深渊合金板 -item.itemBoltAbyssalAlloy.name=深渊合金螺栓 -item.itemRodAbyssalAlloy.name=深渊合金杆 -item.itemRodLongAbyssalAlloy.name=长深渊合金杆 -item.itemRingAbyssalAlloy.name=深渊合金环 -item.itemScrewAbyssalAlloy.name=深渊合金螺丝 -item.itemRotorAbyssalAlloy.name=深渊合金转子 -item.itemGearAbyssalAlloy.name=深渊合金齿轮 -item.itemCellAbyssalAlloy.name=深渊合金单元 -tile.Block of Abyssal Alloy.name=深渊合金块 -tile.Abyssal Alloy Frame Box.name=深渊合金框架 - - - - - - - - - - - - - - - - - - - -//Radioactive -item.dustTechnetium99M.name=锝99M粉 -item.dustTechnetium99.name=锝99粉 -item.dustMolybdenum99.name=钼99粉 - -//Bags -item.item.MysticBag.name=神秘袋 -item.item.Eatotron9000.name=埃托特洛尼克9000型 -item.item.ToolBox.name=工人的工具箱 - -//Cells -item.Bromine.name=溴单元 -item.Krypton.name=氪单元 -item.cryotheum.name=极寒之凛冰单元 -item.pyrotheum.name=烈焰之炽焱单元 -item.GeneticMutagen.name=诱变剂单元 - -//Ingots -item.itemHotIngotIncoloy020.name=热耐热铬铁合金-020锭 -item.itemHotIngotIncoloyDS.name=热耐热铬铁合金-DS锭 -item.itemHotIngotTalonite.name=热铬钴磷酸盐合金锭 -item.itemHotIngotHastelloyX.name=热哈斯特洛依合金-X锭 -item.itemHotIngotHastelloyW.name=热哈斯特洛依合金-W碳化物锭 - -//Railcraft Fix -item.railcraft.part.plate.lead.name=铅板 - -//Ions -item.particle.ion.Hydrogen.name=氢离子 -item.particle.ion.Helium.name=氦离子 -item.particle.ion.Lithium.name=锂离子 -item.particle.ion.Beryllium.name=铍离子 -item.particle.ion.Boron.name=硼离子 -item.particle.ion.Carbon.name=碳离子 -item.particle.ion.Nitrogen.name=氮离子 -item.particle.ion.Oxygen.name=氧离子 -item.particle.ion.Fluorine.name=氟离子 -item.particle.ion.Neon.name=氖离子 -item.particle.ion.Sodium.name=钠离子 -item.particle.ion.Magnesium.name=镁离子 -item.particle.ion.Aluminum.name=铝离子 -item.particle.ion.Silicon.name=硅离子 -item.particle.ion.Phosphorus.name=磷离子 -item.particle.ion.Sulfur.name=硫离子 -item.particle.ion.Chlorine.name=氯离子 -item.particle.ion.Argon.name=氩离子 -item.particle.ion.Potassium.name=钾离子 -item.particle.ion.Calcium.name=钙离子 -item.particle.ion.Scandium.name=钪离子 -item.particle.ion.Titanium.name=钛离子 -item.particle.ion.Vanadium.name=钒离子 -item.particle.ion.Chromium.name=铬离子 -item.particle.ion.Manganese.name=锰离子 -item.particle.ion.Iron.name=铁离子 -item.particle.ion.Cobalt.name=钴离子 -item.particle.ion.Nickel.name=镍离子 -item.particle.ion.Copper.name=铜离子 -item.particle.ion.Zinc.name=锌离子 -item.particle.ion.Gallium.name=镓离子 -item.particle.ion.Germanium.name=锗离子 -item.particle.ion.Arsenic.name=砷离子 -item.particle.ion.Selenium.name=硒离子 -item.particle.ion.Bromine.name=溴离子 -item.particle.ion.Krypton.name=氪离子 -item.particle.ion.Rubidium.name=铷离子 -item.particle.ion.Strontium.name=锶离子 -item.particle.ion.Yttrium.name=钇离子 -item.particle.ion.Zirconium.name=锆离子 -item.particle.ion.Niobium.name=铌离子 -item.particle.ion.Molybdenum.name=钼离子 -item.particle.ion.Technetium.name=锝离子 -item.particle.ion.Ruthenium.name=钌离子 -item.particle.ion.Rhodium.name=铑离子 -item.particle.ion.Palladium.name=钯离子 -item.particle.ion.Silver.name=银离子 -item.particle.ion.Cadmium.name=镉离子 -item.particle.ion.Indium.name=铟离子 -item.particle.ion.Tin.name=锡离子 -item.particle.ion.Antimony.name=锑离子 -item.particle.ion.Tellurium.name=碲离子 -item.particle.ion.Iodine.name=碘离子 -item.particle.ion.Xenon.name=氙离子 -item.particle.ion.Cesium.name=铯离子 -item.particle.ion.Barium.name=钡离子 -item.particle.ion.Lanthanum.name=镧离子 -item.particle.ion.Cerium.name=铈离子 -item.particle.ion.Praseodymium.name=镨离子 -item.particle.ion.Neodymium.name=钕离子 -item.particle.ion.Promethium.name=钷离子 -item.particle.ion.Samarium.name=钐离子 -item.particle.ion.Europium.name=铕离子 -item.particle.ion.Gadolinium.name=钆离子 -item.particle.ion.Terbium.name=铽离子 -item.particle.ion.Dysprosium.name=镝离子 -item.particle.ion.Holmium.name=钬离子 -item.particle.ion.Erbium.name=铒离子 -item.particle.ion.Thulium.name=铥离子 -item.particle.ion.Ytterbium.name=镱离子 -item.particle.ion.Lutetium.name=镏离子 -item.particle.ion.Hafnium.name=铪离子 -item.particle.ion.Tantalum.name=钽离子 -item.particle.ion.Tungsten.name=钨离子 -item.particle.ion.Rhenium.name=铼离子 -item.particle.ion.Osmium.name=锇离子 -item.particle.ion.Iridium.name=铱离子 -item.particle.ion.Platinum.name=铂离子 -item.particle.ion.Gold.name=金离子 -item.particle.ion.Mercury.name=汞离子 -item.particle.ion.Thallium.name=铊离子 -item.particle.ion.Lead.name=铅离子 -item.particle.ion.Bismuth.name=铋离子 -item.particle.ion.Polonium.name=钋离子 -item.particle.ion.Astatine.name=砹离子 -item.particle.ion.Radon.name=氡离子 -item.particle.ion.Francium.name=钫离子 -item.particle.ion.Radium.name=镭离子 -item.particle.ion.Actinium.name=锕离子 -item.particle.ion.Thorium.name=钍离子 -item.particle.ion.Protactinium.name=镤离子 -item.particle.ion.Uranium.name=铀离子 -item.particle.ion.Neptunium.name=镎离子 -item.particle.ion.Plutonium.name=钚离子 -item.particle.ion.Americium.name=镅离子 -item.particle.ion.Curium.name=锔离子 -item.particle.ion.Berkelium.name=锫离子 -item.particle.ion.Californium.name=锎离子 -item.particle.ion.Einsteinium.name=锿离子 -item.particle.ion.Fermium.name=镄离子 -item.particle.ion.Mendelevium.name=钔离子 -item.particle.ion.Nobelium.name=锘离子 -item.particle.ion.Lawrencium.name=铹离子 -item.particle.ion.Rutherfordium.name=离子 -item.particle.ion.Dubnium.name=离子 -item.particle.ion.Seaborgium.name=离子 -item.particle.ion.Bohrium.name=离子 -item.particle.ion.Hassium.name=离子 -item.particle.ion.Meitnerium.name=鿏离子 -item.particle.ion.Darmstadtium.name=离子 -item.particle.ion.Roentgenium.name=离子 -item.particle.ion.Copernicium.name=鿔离子 -item.particle.ion.Nihonium.name=鿭离子 -item.particle.ion.Flerovium.name=离子 -item.particle.ion.Moscovium.name=镆离子 -item.particle.ion.Livermorium.name=离子 -item.particle.ion.Tennessine.name=鿬离子 -item.particle.ion.Oganesson.name=鿫离子 - - -item.particle.base.Graviton.name=引力子 -item.particle.base.Up.name=上(u)夸克 -item.particle.base.Down.name=下(d)夸克 -item.particle.base.Charm.name=粲(c)夸克 -item.particle.base.Strange.name=奇(s)夸克 -item.particle.base.Top.name=顶(t)夸克 -item.particle.base.Bottom.name=底(b)夸克 -item.particle.base.Electron.name=电子 -item.particle.base.Electron Neutrino.name=电子中微子 -item.particle.base.Muon.name=μ子 -item.particle.base.Muon Neutrino.name=μ子中微子 -item.particle.base.Tau.name=τ子 -item.particle.base.Tau Neutrino.name=τ子中微子 -item.particle.base.Gluon.name=胶子 -item.particle.base.Photon.name=光子 -item.particle.base.Z Boson.name=Z玻色子 -item.particle.base.W Boson.name=W玻色子 -item.particle.base.Higgs Boson.name=希格斯玻色子 -item.particle.base.Proton.name=质子 -item.particle.base.Neutron.name=中子 -item.particle.base.Lambda.name=λ粒子 -item.particle.base.Omega.name=Ω粒子 -item.particle.base.Pion.name=介子 -item.particle.base.ETA Meson.name=η介子 -item.particle.base.Unknown.name=未知粒子 - -//Added 12/1/19 - -tile.playerDoorGlass.name=玻璃自动门 -tile.playerDoorCactus.name=仙人掌自动门 -tile.playerDoorIce.name=冰自动门 -tile.playerDoorIron.name=铁自动门 -tile.playerDoorWood.name=木自动门 - -//Added 4/2/19 - -item.GTPP.BattPack.06.name=充电工具包[LuV] -item.GTPP.BattPack.07.name=充电工具包[ZPM] -item.GTPP.BattPack.08.name=充电工具包[UV] -item.GTPP.BattPack.09.name=充电工具包[MAX] - - -//Added 13/3/19 -item.gtpp.debug.scanner.name=GT++Debug扫描器 -item.RawWaste.name=动物粪便单元 -item.ManureSlurry.name=粪浆单元 -item.FertileManureSlurry.name=肥沃的粪浆单元 -item.itemDustTinyDemicheleiteBr.name=小撮重闪石(Br) -item.itemDustSmallDemicheleiteBr.name=小堆重闪石(Br) -tile.blockPooCollector.name=农业下水道 -tile.Block of Lithium 7.name=锂7块 - -//Added 14/3/19 -item.blood.name=血单元 -item.aniline.name=苯胺单元 -item.cadaverine.name=尸胺单元 -item.polyurethane.name=聚氨酯单元 -item.putrescine.name=腐胺单元 -item.cyclohexane.name=环己胺单元 -item.cyclohexanone.name=环己酮单元 -item.nitrobenzene.name=硝基苯单元 -item.ender.name=液体末影单元 -item.xpjuice.name=液体经验单元 -item.itemBombUnf.name=可投掷炸弹(未完成) -item.itemBombCasing.name=炸弹框架 -item.gtpp.throwable.bomb.name=可投掷炸弹 -item.itemDetCable.name=炸弹保险丝 -tile.blockPooCollector.0.name=农业下水道 -tile.blockPooCollector.8.name=生物复合收集器 -item.itemIngotBakelite.name=电木锭 -item.itemDustBakelite.name=电木粉 -item.itemDustTinyBakelite.name=小撮电木粉 -item.itemDustSmallBakelite.name=小堆电木粉 -item.itemNuggetBakelite.name=电木粒 -item.itemPlateBakelite.name=电木板 -item.itemPlateDoubleBakelite.name=双重电木板 -item.itemCellBakelite.name=电木单元 -tile.Block of Bakelite.name=电木块 -item.itemIngotNylon.name=尼龙锭 -item.itemDustNylon.name=尼龙粉 -item.itemDustTinyNylon.name=小撮尼龙粉 -item.itemDustSmallNylon.name=小堆尼龙粉 -item.itemNuggetNylon.name=尼龙粒 -item.itemPlateNylon.name=尼龙板 -item.itemPlateDoubleNylon.name=双重尼龙板 -item.itemCellNylon.name=尼龙单元 -tile.Block of Nylon.name=尼龙块 -item.itemIngotTeflon.name=特氟龙锭 -item.itemDustTeflon.name=特氟龙粉 -item.itemDustTinyTeflon.name=小撮特氟龙粉 -item.itemDustSmallTeflon.name=小堆特氟龙粉 -item.itemNuggetTeflon.name=特氟龙粒 -item.itemPlateTeflon.name=特氟龙板 -item.itemPlateDoubleTeflon.name=双重特氟龙板 -item.itemCellTeflon.name=特氟龙单元 -tile.Block of Teflon.name=特氟龙块 - -//Added 17/4/19 -//Spelling Corrections -item.particle.ion.Aluminium.name=铝离子 -item.particle.ion.Caesium.name=铯离子 - -item.GTPP.MonsterKiller.Enderman.name=末影人杀手 -item.GTPP.MonsterKiller.Spider.name=蜘蛛杀手 -item.GTPP.MonsterKiller.Skeleton.name=骷髅杀手 -item.GTPP.MonsterKiller.Creeper.name=爬行者杀手 -item.GTPP.MonsterKiller.Zombie.name=僵尸杀手 -item.GTPP.MonsterKiller.Hellish.name=下界生物杀手 - -item.itemIngotRunite.name=虚恩锭 -item.itemDustRunite.name=虚恩粉 -item.itemDustTinyRunite.name=小撮虚恩粉 -item.itemDustSmallRunite.name=小堆虚恩粉 -item.itemNuggetRunite.name=虚恩锭 -item.itemPlateRunite.name=虚恩板 -item.itemPlateDoubleRunite.name=双重虚恩板 -item.itemCellRunite.name=虚恩单元 -tile.Block of Runite.name=虚恩块 - -item.itemIngotDragonblood.name=龙血锭 -item.itemDustDragonblood.name=龙血粉 -item.itemDustTinyDragonblood.name=小撮龙血粉 -item.itemDustSmallDragonblood.name=小堆龙血粉 -item.itemNuggetDragonblood.name=龙血粒 -item.itemPlateDragonblood.name=龙血板 -item.itemPlateDoubleDragonblood.name=双重龙血板 -item.itemCellDragonblood.name=龙血单元 -tile.Block of Dragonblood.name=龙血块 - -item.itemIngotBlackTitanium.name=黑钛锭 -item.itemDustBlackTitanium.name=黑钛粉 -item.itemDustTinyBlackTitanium.name=小撮黑钛粉 -item.itemDustSmallBlackTitanium.name=小堆黑钛粉 -item.itemNuggetBlackTitanium.name=黑钛粒 -item.itemPlateBlackTitanium.name=黑钛板 -item.itemPlateDoubleBlackTitanium.name=双重黑钛板 -item.itemCellBlackTitanium.name=黑钛单元 -tile.Block of Black Titanium.name=黑钛块 - -item.itemIngotAncientGranite.name=古花岗岩锭 -item.itemHotIngotAncientGranite.name=热古花岗岩锭 -item.itemDustAncientGranite.name=古花岗岩粉 -item.itemDustTinyAncientGranite.name=小撮古花岗岩粉 -item.itemDustSmallAncientGranite.name=小堆古花岗岩粉 -item.itemNuggetAncientGranite.name=古花岗岩粒 -item.itemPlateAncientGranite.name=古花岗岩板 -item.itemPlateDoubleAncientGranite.name=双重古花岗岩板 -tile.Block of Ancient Granite.name=古花岗岩块 - -item.itemIngotBabbitAlloy.name=巴氏合金锭 -item.itemHotIngotBabbitAlloy.name=热巴氏合金锭 -item.itemDustBabbitAlloy.name=巴氏合金粉 -item.itemDustTinyBabbitAlloy.name=小撮巴氏合金粉 -item.itemDustSmallBabbitAlloy.name=小堆巴氏合金粉 -item.itemNuggetBabbitAlloy.name=巴氏合金粒 -item.itemPlateBabbitAlloy.name=巴氏合金板 -item.itemPlateDoubleBabbitAlloy.name=双重巴氏合金板 -item.itemCellBabbitAlloy.name=巴氏合金单元 -tile.Block of Babbit Alloy.name=巴氏合金块 - -item.itemIngotBlackMetal.name=黑物质锭 -item.itemHotIngotBlackMetal.name=热黑物质锭 -item.itemDustBlackMetal.name=黑物质粉 -item.itemDustTinyBlackMetal.name=小撮黑物质粉 -item.itemDustSmallBlackMetal.name=小堆黑物质粉 -item.itemNuggetBlackMetal.name=黑物质粒 -item.itemPlateBlackMetal.name=黑物质板 -item.itemPlateDoubleBlackMetal.name=双重黑物质板 -item.itemBoltBlackMetal.name=黑物质螺栓 -item.itemRodBlackMetal.name=黑物质杆 -item.itemRodLongBlackMetal.name=长黑物质杆 -item.itemRingBlackMetal.name=黑物质环 -item.itemScrewBlackMetal.name=黑物质螺丝 -item.itemRotorBlackMetal.name=黑物质转子 -item.itemGearBlackMetal.name=黑物质齿轮 -item.itemCellBlackMetal.name=黑物质单元 -tile.Block of Black Metal.name=黑物质块 -tile.Black Metal Frame Box.name=黑物质框架 - -item.itemIngotWhiteMetal.name=白物质锭 -item.itemHotIngotWhiteMetal.name=热白物质锭 -item.itemDustWhiteMetal.name=白物质粉 -item.itemDustTinyWhiteMetal.name=小撮白物质粉 -item.itemDustSmallWhiteMetal.name=小堆白物质粉 -item.itemNuggetWhiteMetal.name=白物质粒 -item.itemPlateWhiteMetal.name=白物质板 -item.itemPlateDoubleWhiteMetal.name=双重白物质板 -item.itemBoltWhiteMetal.name=白物质螺栓 -item.itemRodWhiteMetal.name=白物质杆 -item.itemRodLongWhiteMetal.name=长白物质杆 -item.itemRingWhiteMetal.name=白物质环 -item.itemScrewWhiteMetal.name=白物质螺丝 -item.itemRotorWhiteMetal.name=白物质转子 -item.itemGearWhiteMetal.name=白物质齿轮 -item.itemCellWhiteMetal.name=白物质单元 -tile.Block of White Metal.name=白物质块 -tile.White Metal Frame Box.name=白物质框架 - -//Added 29/04/2019 -tile.OreRunite.name=虚恩矿 -item.crushedRunite.name=粉碎的虚恩矿 -item.crushedCentrifugedRunite.name=离心的粉碎虚恩矿 -item.crushedPurifiedRunite.name=洗净的的粉碎虚恩矿 -item.dustImpureRunite.name=含杂虚恩粉 -item.dustPureRunite.name=洗净虚恩粉 - -tile.OreAncientGranite.name=古花岗岩矿 -item.crushedAncientGranite.name=粉碎的古花岗岩矿 -item.crushedCentrifugedAncientGranite.name=离心的粉碎古花岗岩矿 -item.crushedPurifiedAncientGranite.name=洗净的粉碎古花岗岩矿 -item.dustImpureAncientGranite.name=含杂古花岗岩粉 -item.dustPureAncientGranite.name=洗净古花岗岩粉 - -item.itemIngotRhugnor.name=鲁格诺锭 -item.itemDustRhugnor.name=鲁格诺粉 -item.itemDustTinyRhugnor.name=小撮鲁格诺粉 -item.itemDustSmallRhugnor.name=小堆鲁格诺粉 -item.itemNuggetRhugnor.name=鲁格诺粒 -item.itemPlateRhugnor.name=鲁格诺板 -item.itemPlateDoubleRhugnor.name=双重鲁格诺板 -item.itemCellRhugnor.name=鲁格诺单元 -tile.Block of Rhugnor.name=鲁格诺块 - - - - -//Added 13/5/19 - -item.GTPP.BattPack.01.name=充电工具包[LV] -item.GTPP.BattPack.02.name=充电工具包[MV] -item.GTPP.BattPack.03.name=充电工具包[HV] -item.GTPP.BattPack.04.name=充电工具包[EV] -item.GTPP.BattPack.05.name=充电工具包[IV] -item.IndustrialDiamondExquisite.name=精致的工业钻石 - -item.itemSpringCelestialTungsten.name=天体钨弹簧 -item.itemSpringWhiteMetal.name=白物质弹簧 -item.itemSpringNitinol60.name=镍钛诺60弹簧 -item.itemSpringWatertightSteel.name=防水钢弹簧 -item.itemSpringEglinSteel.name=埃格林钢弹簧 - -item.itemSmallSpringMaragingSteel250.name=小型马氏体时效钢250弹簧 -item.itemSmallSpringNichrome.name=小型镍铬合金弹簧 -item.itemSmallSpringStaballoy.name=小型贫铀合金弹簧 -item.itemSmallSpringBlackSteel.name=小型黑钢弹簧 -item.itemSmallSpringBlackTitanium.name=小型黑钛弹簧 - -item.itemFineWireWhiteMetal.name=精致白物质导线 -item.itemFineWirePalladium.name=精致钯导线 -item.itemFineWireZirconium.name=精致锆导线 -item.itemFineWireGrisium.name=精致灰钛合金导线 -item.itemFineWireBabbitAlloy.name=精致巴氏合金导线 -item.itemFineWireKoboldite.name=精致妖金导线 -item.itemFineWireHG1223.name=精致HG-1223导线 -item.itemFineWireQuantum.name=精致量子导线 - -item.itemHeavyPlatePotin.name=重型粗青铜板 -item.itemHeavyPlateWatertightSteel.name=重型防水钢板 -item.itemHeavyPlateBronze.name=重型青铜板 -item.itemHeavyPlateOsmiridium.name=重型铱锇合金板 -item.itemHeavyPlateQuantum.name=重型量子板 -item.itemHeavyPlateBlackSteel.name=重型黑钢板 -item.itemHeavyPlateStainlessSteel.name=重型不锈钢板 -item.itemHeavyPlateEglinSteel.name=重型埃格林钢板 -item.itemHeavyPlateMaragingSteel300.name=重型马氏体时效钢300板 -item.itemHeavyPlateTalonite.name=铬钴磷酸盐合金板 -item.itemHeavyPlateHypogen.name=重型海珀珍板 -item.itemHeavyPlateRhugnor.name=重型鲁格诺板 -item.itemHeavyPlateAdvancedNitinol.name=重型高级镍钛诺板 -item.itemHeavyPlateAstralTitanium.name=重型星体钛板 -item.itemHeavyPlateCelestialTungsten.name=重型天体钨板 -item.itemHeavyPlateWhiteMetal.name=重型白物质板 -item.itemHeavyPlateBlackMetal.name=重型黑物质板 -item.itemHeavyPlateAncientGranite.name=重型古花岗岩板 - -item.GTPP.bauble.fireprotection.0.name=超级披萨手套 - - -//Added 16/5/19 -item.itemCellSeleniumDioxide.name=二氧化硒单元 -item.itemCellSeleniousAcid.name=亚硒酸单元 - -//Added 25/7/19 -container.pestkiller=害虫杀手 - -//Added 15/8/19 -gtpp.nei.decayables=可衰变箱子(铅封盒) -entity.batKing.name=蝙蝠之王 -item.itemCellCarbyne.name=直链乙炔碳单元 -item.itemCellHydrogenCyanide.name=氢氰酸单元 -item.itemCactusCharcoal.name=仙人掌炭 -item.itemCactusCoke.name=仙人掌焦炭 -item.itemSugarCharcoal.name=糖炭 -item.itemSugarCoke.name=糖焦炭 -item.LiquidHydrogen.name=液氢单元[LOH] - - - -//Added 24/8/19 -//Debug Labels -tile.blockDoorAlloy.name=防爆门 -tile.blockInhibitorObelisk.name=传送抑制方尖碑 -tile.Battlesign.name=战斗牌子 -tile.blockMagicBox.name=奥法之盒 -tile.blockManaPod.name=法力荚茎 -tile.buildToolBlock.name=工具方块 -tile.blockRedPlasma.name=红色等离子体方块 -tile.pipeBlock.name=管道 -item.null.name=Null Item report it on github - - -//Added 24/8/19 -tile.OreGreenockite.name=硫镉矿石 -item.crushedGreenockite.name=粉碎的硫镉矿石 -item.crushedCentrifugedGreenockite.name=离心硫镉矿石 -item.crushedPurifiedGreenockite.name=洗净的硫镉矿石 -item.dustImpureGreenockite.name=含杂硫镉矿粉 -item.dustPureGreenockite.name=洁净硫镉矿粉 -item.itemDustGreenockite.name=硫镉矿粉 -item.itemDustTinyGreenockite.name=小撮硫镉矿粉 -item.itemDustSmallGreenockite.name=小堆硫镉矿粉 - -tile.OreRareEarthI.name=稀土(I)矿石 -item.crushedRareEarthI.name=粉碎的稀土(I)矿石 -item.crushedCentrifugedRareEarthI.name=离心稀土(I)矿石 -item.crushedPurifiedRareEarthI.name=洗净的稀土(I)矿石 -item.dustImpureRareEarthI.name=含杂稀土(I)粉 -item.dustPureRareEarthI.name=洁净稀土(I)粉 -item.itemDustRareEarthI.name=稀土(I)粉 -item.itemDustTinyRareEarthI.name=小撮稀土(I)粉 -item.itemDustSmallRareEarthI.name=小堆稀土(I)粉 - -tile.OreRareEarthII.name=稀土(II)矿石 -item.crushedRareEarthII.name=粉碎的稀土(II)矿石 -item.crushedCentrifugedRareEarthII.name=离心稀土(II)矿石 -item.crushedPurifiedRareEarthII.name=洗净的稀土(II)矿石 -item.dustImpureRareEarthII.name=含杂稀土(II)粉 -item.dustPureRareEarthII.name=洁净稀土(II)粉 -item.itemDustRareEarthII.name=稀土(II)粉 -item.itemDustTinyRareEarthII.name=小撮稀土(II)粉 -item.itemDustSmallRareEarthII.name=小堆稀土(II)粉 - -tile.OreRareEarthIII.name=稀土(III)矿石 -item.crushedRareEarthIII.name=粉碎的稀土(III)矿石 -item.crushedCentrifugedRareEarthIII.name=离心稀土(III)矿石 -item.crushedPurifiedRareEarthIII.name=洗净的稀土(III)矿石 -item.dustImpureRareEarthIII.name=含杂稀土(III)粉 -item.dustPureRareEarthIII.name=洁净稀土(III)粉 -item.itemDustRareEarthIII.name=稀土(III)粉 -item.itemDustTinyRareEarthIII.name=小撮稀土(III)粉 -item.itemDustSmallRareEarthIII.name=小堆稀土(III)粉 - -//Added 16/10/19 -item.BioRecipeSelector.name=编程生物电路 -item.FermentationBase.name=发酵基单元 -item.ureamix.name=尿素混合物单元 -item.liquidresin.name=液态树脂单元 -item.propionicacid.name=丙酸单元 -item.aceticacid.name=乙酸单元 -item.BasicAgrichemItem.0.name=藻类生物质 -item.BasicAgrichemItem.1.name=绿藻生物质 -item.BasicAgrichemItem.2.name=褐藻生物质 -item.BasicAgrichemItem.3.name=金褐藻生物质 -item.BasicAgrichemItem.4.name=红藻生物质 -item.BasicAgrichemItem.5.name=纤维素纤维 -item.BasicAgrichemItem.6.name=金褐纤维素纤维 -item.BasicAgrichemItem.7.name=红色纤维素纤维 -item.BasicAgrichemItem.8.name=堆肥 -item.BasicAgrichemItem.9.name=木颗粒 -item.BasicAgrichemItem.10.name=木砖 -item.BasicAgrichemItem.11.name=纤维素浆 -item.BasicAgrichemItem.12.name=粗制生物树脂 -item.BasicAgrichemItem.13.name=催化剂载体 -item.BasicAgrichemItem.14.name=绿色金属催化剂 -item.BasicAgrichemItem.15.name=藻酸 -item.BasicAgrichemItem.16.name=氧化铝 -item.BasicAgrichemItem.17.name=铝颗粒 -item.BasicAgrichemItem.18.name=铝酸钠 -item.BasicAgrichemItem.19.name=氢氧化钠 -item.BasicAgrichemItem.20.name=碳酸钠 -item.BasicAgrichemItem.21.name=氯化锂 - -//Added 24/10/19 -item.butanol.name=丁醇单元 - -//Try Fix IC2 Garbage vv -fluidHotWater=热水 -fluidHotWater.name=热水 -//Try Fix IC2 Garbage ^^ - - -//Added 11/12/19 -item.itemHotIngotTitanium.name=热钛锭 -item.OilHeavy.name=重油单元 -item.UnsymmetricalDimethylhydrazine.name=偏二甲肼单元 -item.benzene.name=苯单元 -item.Benzene.name=苯单元 -item.phenol.name=苯酚单元 -item.CarbonDioxide.name=二氧化碳单元 -item.itemCellCarbonDioxide.name=二氧化碳单元 -item.CarbonMonoxide.name=一氧化碳单元 -item.itemCellCarbonMonoxide.name=一氧化碳单元 -item.acetone.name=丙酮单元 -item.saltwater.name=盐水单元 -item.BasicAgrichemItem.22.name=模具(颗粒) -item.BasicAgrichemItem.23.name=洁净铝混合物 - -//Added 12/12/19 - -item.BasicGenericChemItem.0.name=红色金属催化剂 -item.BasicGenericChemItem.1.name=黄色金属催化剂 -item.BasicGenericChemItem.2.name=蓝色金属催化剂 -item.BasicGenericChemItem.3.name=橙色金属催化剂 -item.BasicGenericChemItem.4.name=紫色金属催化剂 -item.BasicGenericChemItem.5.name=棕色金属催化剂 -item.MudRedSlurry.name=红色泥浆单元 -item.liquid_toluene.name=甲苯单元 - -//Added 17/01/20 -item.BasicGenericChemItem.6.name=粉色金属催化剂 - -//Added 23/03/20 -item.BasicMetaFood.0.name=生人肉 -item.BasicMetaFood.1.name=熟人肉 -item.BasicMetaFood.2.name=生马肉 -item.BasicMetaFood.3.name=熟马肉 -item.BasicMetaFood.4.name=生狼肉 -item.BasicMetaFood.5.name=熟狼肉 -item.BasicMetaFood.6.name=生猫肉 -item.BasicMetaFood.7.name=熟猫肉 -item.BasicMetaFood.8.name=烈焰人肉 - -item.itemCellNaquadahFuel.name=硅岩燃料单元 -item.itemCellEnrichedNaquadahFuel.name=富集硅岩燃料单元 -item.itemCellNaquadriaFuel.name=超能硅岩燃料单元 -item.boricacid.name=硼酸单元 -item.hydrochloricacid.name=盐酸单元 - -item.BasicAlgaeItem.name=可培植藻类 -item.BasicAlgaeItem.0.name=可培植藻类(I) -item.BasicAlgaeItem.1.name=可培植藻类(II) -item.BasicAlgaeItem.2.name=可培植藻类(III) -item.BasicAlgaeItem.3.name=可培植藻类(IV) -item.BasicAlgaeItem.4.name=可培植藻类(V) -item.BasicAlgaeItem.5.name=可培植藻类(VI) -item.BasicAlgaeItem.6.name=可培植藻类(VII) - -//Added 30/03/20 -item.milledChalcopyrite.name=研磨黄铜矿 -item.milledSphalerite.name=研磨闪锌矿 -item.milledNickel.name=研磨镍矿 -item.milledPlatinum.name=研磨铂矿 -item.milledPentlandite.name=研磨镍黄铁矿 -item.FrothZincflotation.name=闪锌矿浮选泡沫单元 -item.FrothCopperflotation.name=黄铜矿浮选泡沫单元 -item.FrothNickelflotation.name=镍矿浮选泡沫单元 -item.FrothPlatinumflotation.name=铂矿浮选泡沫单元 -item.FrothPentlanditeflotation.name=镍黄铁矿浮选泡沫单元 -item.BasicGenericChemItem.7.name=铝研磨球 -item.BasicGenericChemItem.8.name=皂石研磨球 - -//Added 31/03/20 -item.BasicGenericChemItem.9.name=乙醇钠粉 -item.BasicGenericChemItem.10.name=乙基黄原酸钠粉 -item.BasicGenericChemItem.11.name=乙基黄原酸钾粉 -item.BasicGenericChemItem.12.name=氢氧化钾粉 -item.CarbonDisulfide.name=二硫化碳单元 -item.HydrogenSulfide.name=硫化氢单元 -item.BasicAgrichemItem.24.name=松果 -item.BasicAgrichemItem.25.name=松树碎料 -item.pineoil.name=松油单元 - -//Added 11/4/20 -item.milledRedstone.name=研磨红石矿 -item.milledSpessartine.name=研磨锰铝榴石 -item.milledGrossular.name=研磨钙铝榴石 -item.milledAlmandine.name=研磨铁铝榴石 -item.milledPyrope.name=研磨镁铝榴石 -item.FrothRedstoneflotation.name=红石矿浮选泡沫单元 -item.FrothSpessartineflotation.name=锰铝榴石浮选泡沫单元 -item.FrothGrossularflotation.name=钙铝榴石浮选泡沫单元 -item.FrothAlmandineflotation.name=铁铝榴石浮选泡沫单元 -item.FrothPyropeflotation.name=镁铝榴石浮选泡沫单元 - -//Added 13/04/20 -item.T3RecipeSelector.name=突破编程电路 - -//Added 03/05/20 -entity.miscutils.batKing.name=幽灵蝙蝠 -entity.miscutils.bigChickenFriendly.name=巨大的鸡 -entity.miscutils.AusDingo.name=澳洲野狗 -entity.miscutils.AusBoar.name=澳洲野猪 -entity.miscutils.AusSpider.name=森林蜘蛛 -entity.miscutils.AusOctopus.name=澳洲章鱼 -container.EggBox=鸡蛋孵化盒 - -//Added 24/05/20 -container.VolumetricFlaskSetter=容量瓶配置器 - -//Added 26/05/20 -item.itemIngotLaurenium.name=劳伦姆合金锭 -item.itemHotIngotLaurenium.name=热劳伦姆合金锭 -item.itemDustLaurenium.name=劳伦姆合金粉 -item.itemDustTinyLaurenium.name=小撮劳伦姆合金粉 -item.itemDustSmallLaurenium.name=小堆劳伦姆合金粉 -item.itemNuggetLaurenium.name=劳伦姆合金粒 -item.itemPlateLaurenium.name=劳伦姆合金板 -item.itemPlateDoubleLaurenium.name=双重劳伦姆合金板 -item.itemBoltLaurenium.name=劳伦姆合金螺栓 -item.itemRodLaurenium.name=劳伦姆合金杆 -item.itemRodLongLaurenium.name=长劳伦姆合金杆 -item.itemRingLaurenium.name=劳伦姆合金环 -item.itemScrewLaurenium.name=劳伦姆合金螺丝 -item.itemRotorLaurenium.name=劳伦姆合金转子 -item.itemGearLaurenium.name=劳伦姆合金齿轮 -item.itemCellLaurenium.name=劳伦姆合金单元 -tile.Block of Laurenium.name=劳伦姆合金块 -tile.Laurenium Frame Box.name=劳伦姆合金框架 -item.itemIngotBotmium.name=博特姆合金锭 -item.itemHotIngotBotmium.name=热博特姆合金锭 -item.itemDustBotmium.name=博特姆合金粉 -item.itemDustTinyBotmium.name=小撮博特姆合金粉 -item.itemDustSmallBotmium.name=小堆博特姆合金粉 -item.itemNuggetBotmium.name=博特姆合金粒 -item.itemPlateBotmium.name=博特姆合金板 -item.itemPlateDoubleBotmium.name=双重博特姆合金板 -item.itemBoltBotmium.name=博特姆合金螺栓 -item.itemRodBotmium.name=博特姆合金杆 -item.itemRodLongBotmium.name=长博特姆合金杆 -item.itemRingBotmium.name=博特姆合金环 -item.itemScrewBotmium.name=博特姆合金螺丝 -item.itemRotorBotmium.name=博特姆合金转子 -item.itemGearBotmium.name=博特姆合金齿轮 -item.itemCellBotmium.name=博特姆合金单元 -tile.Block of Botmium.name=博特姆合金块 -tile.Botmium Frame Box.name=博特姆合金框架 - -//Added 29/05/20 -item.itemBasicTurbine.name=基础涡轮 -item.itemBasicTurbine_0.name=基础铁涡轮 -item.itemBasicTurbine_1.name=基础青铜涡轮 -item.itemBasicTurbine_2.name=基础钢涡轮 - -interaction.voidexcess.enabled=启用过量销毁 -interaction.voidexcess.disabled=禁用过量销毁 - -interaction.separateBusses.enabled=独立输入总线 -interaction.separateBusses.disabled=联合输入总线 - -//Added 29/11/21 - -item.BasicNuclearChemItem.0.name=铀渣混合物 -item.BasicNuclearChemItem.1.name=钚渣混合物 -item.BasicNuclearChemItem.2.name=氟盐渣混合物 -item.BasicNuclearChemItem.3.name=稀有渣混合物 -item.BasicNuclearChemItem.4.name=红藻生物质 -item.BasicNuclearChemItem.5.name=纤维素纤维 -item.BasicNuclearChemItem.6.name=金褐纤维素纤维 -item.BasicNuclearChemItem.7.name=红色纤维素纤维 - -item.itemCellLiFBeF2ZrF4U235.name=熔盐单元[铀235复合氟化物] -item.itemCellLiFBeF2ZrF4UF4.name=熔盐单元[铀锆复合氟化物] -item.itemCellLiFBeF2ThF4UF4.name=熔盐单元[铀钍复合氟化物] -item.Li2BeF2UF4.name=枯竭熔盐单元[Li2BeF2UF4] - -//Added 6/12/21 -item.itemCellLiFBeF2UF4FP.name=LiFBeF2UF4FP单元 -item.itemCellUF6F2.name=UF6F2单元 -item.itemCellLiFBeF2ThF4.name=LiFBeF2ThF4单元 -item.itemCellUF6F2FP.name=UF6F2FP单元 -item.dustProtactinium233.name=镤-233粉 -item.itemCellLiFThF4.name=LiFThF4单元 -item.NuclearWaste.name=核废水单元 -item.itemCellLiFBeF2UF4.name=LiFBeF2UF4单元 -item.itemCellSodiumFluoride.name=氟化钠单元 -item.itemCellLiFBeF2.name=LiFBeF2单元 - -//Added 7/12/21 -item.itemCellDysprosium.name=镝单元 -item.itemCellThorium.name=钍单元 -item.itemCellTellurium.name=碲单元 -item.itemCellThorium232.name=钍-232单元 -item.itemCellLithiumTetrafluoroberyllate.name=四氟铍酸锂单元 -item.itemCellBurntReactorFuelI.name=枯竭熔盐单元[铀235复合氟化物] -item.itemCellBurntReactorFuelII.name=枯竭熔盐单元[铀锆复合氟化物] -item.itemDustTinyIndium.name=小撮铟粉 -item.itemDustSmallIndium.name=小堆铟粉 -item.itemDustIndium.name=铟粉 -item.itemDustTinyBerylliumHydroxide.name=小撮氢氧化铍粉 -item.itemDustSmallBerylliumHydroxide.name=小堆氢氧化铍粉 -item.itemDustBerylliumHydroxide.name=氢氧化铍粉 -item.itemDustTinyAmmoniumBifluoride.name=小撮氟化氢铵粉 -item.itemDustSmallAmmoniumBifluoride.name=小堆氟化氢铵粉 -item.itemDustAmmoniumBifluoride.name=氟化氢铵粉 -item.itemDustTinyAmmoniumTetrafluoroberyllate.name=小撮氟铍酸铵粉 -item.itemDustSmallAmmoniumTetrafluoroberyllate.name=小堆氟铍酸铵粉 -item.itemDustAmmoniumTetrafluoroberyllate.name=氟铍酸铵粉 - -//Added 10/12/21 -item.ImpureLiFBeF2.name=含杂LiFBeF2单元 -item.itemCellHeliumSpargedLiFBeF2UF4FP.name=氦涤LiFBeF2UF4FP单元 -item.itemCellFluorineSpargedLiFThF4.name=氟涤LiFThF4单元 -item.itemCellFluorineSpargedLiFBeF2ThF4.name=氟涤LiFBeF2ThF4单元 -item.itemIngotHS188A.name=HS-188A锭 -item.itemHotIngotHS188A.name=热HS-188A锭 -item.itemDustHS188A.name=HS-188A粉 -item.itemDustTinyHS188A.name=小撮HS-188A粉 -item.itemDustSmallHS188A.name=小堆HS-188A粉 -item.itemNuggetHS188A.name=HS-188A粒 -item.itemPlateHS188A.name=HS-188A板 -item.itemPlateDoubleHS188A.name=双重HS-188A板 -item.itemBoltHS188A.name=HS-188A螺栓 -item.itemRodHS188A.name=HS-188A杆 -item.itemRodLongHS188A.name=长HS-188A杆 -item.itemRingHS188A.name=HS-188A环 -item.itemScrewHS188A.name=HS-188A螺丝 -item.itemRotorHS188A.name=HS-188A转子 -item.itemGearHS188A.name=HS-188A齿轮 -item.itemCellHS188A.name=HS-188A单元 - -//Added 12/12/21 -item.itemIngotErbium.name=铒锭 -item.itemHotIngotErbium.name=热铒锭 -item.itemDustErbium.name=铒粉 -item.itemDustTinyErbium.name=小撮铒粉 -item.itemDustSmallErbium.name=小堆铒粉 -item.itemNuggetErbium.name=铒粒 -item.itemPlateErbium.name=铒板 -item.itemPlateDoubleErbium.name=双重铒板 -item.itemBoltErbium.name=铒螺栓 -item.itemRodErbium.name=铒杆 -item.itemRodLongErbium.name=长铒杆 -item.itemRingErbium.name=铒环 -item.itemScrewErbium.name=铒螺丝 -item.itemRotorErbium.name=铒转子 -item.itemGearErbium.name=铒齿轮 -item.itemCellErbium.name=铒单元 -item.itemIngotHeLiCoPtEr.name=HeLiCoPtEr锭 -item.itemHotIngotHeLiCoPtEr.name=热HeLiCoPtEr锭 -item.itemDustHeLiCoPtEr.name=HeLiCoPtEr粉 -item.itemDustTinyHeLiCoPtEr.name=小撮HeLiCoPtEr粉 -item.itemDustSmallHeLiCoPtEr.name=小堆HeLiCoPtEr粉 -item.itemNuggetHeLiCoPtEr.name=HeLiCoPtEr粒 -item.itemPlateHeLiCoPtEr.name=HeLiCoPtEr板 -item.itemPlateDoubleHeLiCoPtEr.name=双重HeLiCoPtEr板 -item.itemBoltHeLiCoPtEr.name=HeLiCoPtEr螺栓 -item.itemRodHeLiCoPtEr.name=HeLiCoPtEr杆 -item.itemRodLongHeLiCoPtEr.name=长HeLiCoPtEr杆 -item.itemRingHeLiCoPtEr.name=HeLiCoPtEr环 -item.itemScrewHeLiCoPtEr.name=HeLiCoPtEr螺丝 -item.itemRotorHeLiCoPtEr.name=HeLiCoPtEr转子 -item.itemGearHeLiCoPtEr.name=HeLiCoPtEr齿轮 -item.itemCellHeLiCoPtEr.name=HeLiCoPtEr单元 -item.itemIngotPraseodymium.name=镨锭 -item.itemHotIngotPraseodymium.name=热镨锭 -item.itemDustPraseodymium.name=镨粉 -item.itemDustTinyPraseodymium.name=小撮镨粉 -item.itemDustSmallPraseodymium.name=小堆镨粉 -item.itemNuggetPraseodymium.name=镨粒 -item.itemPlatePraseodymium.name=镨板 -item.itemPlateDoublePraseodymium.name=双重镨板 -item.itemBoltPraseodymium.name=镨螺栓 -item.itemRodPraseodymium.name=镨杆 -item.itemRodLongPraseodymium.name=长镨杆 -item.itemRingPraseodymium.name=镨环 -item.itemScrewPraseodymium.name=镨螺丝 -item.itemRotorPraseodymium.name=镨转子 -item.itemGearPraseodymium.name=镨齿轮 -item.itemCellPraseodymium.name=镨单元 -item.milledMonazite.name=研磨独居石 -item.FrothMonaziteflotation.name=独居石浮选泡沫单元 - -//Added 18/12/21 -item.BasicGenericChemItem.13.name=甲醛催化剂 -item.hydrogenchloridemix.name=氢氯混合物 - -//Added 19/01/22 -item.SunnariumBit.name=阳光化合物粒 - -//Added 29/01/22 -sleep.event.okay=你睡得很香,现在感觉不错. -sleep.event.good=你睡得很香,现在感觉好极了. -sleep.event.wellrested=你得到了充分的休息. -sleep.event.downsides=debuff不再困扰着你. -item.miscutils:magicfeather.name=魔法羽毛 - -//Added 10/02/22 -item.BasicGenericChemItem.14.name=固体酸催化剂 - -//Added 30/05/22 -item.BasicGenericChemItem.15.name=无尽突变催化剂 \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/DevCapeHD.png b/gtpp/src/main/resources/assets/miscutils/textures/DevCapeHD.png deleted file mode 100644 index f74bd8c9e3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/DevCapeHD.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/FancyCapeHD.png b/gtpp/src/main/resources/assets/miscutils/textures/FancyCapeHD.png deleted file mode 100644 index d8da3ba76d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/FancyCapeHD.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/Orange.png b/gtpp/src/main/resources/assets/miscutils/textures/Orange.png deleted file mode 100644 index 9de164d437..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/Orange.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/OrangeHD.png b/gtpp/src/main/resources/assets/miscutils/textures/OrangeHD.png deleted file mode 100644 index ea5e8af8cf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/OrangeHD.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/PatreonCapeHD.png b/gtpp/src/main/resources/assets/miscutils/textures/PatreonCapeHD.png deleted file mode 100644 index c4ebef82b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/PatreonCapeHD.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/TesterCapeHD.png b/gtpp/src/main/resources/assets/miscutils/textures/TesterCapeHD.png deleted file mode 100644 index da3ee2e50f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/TesterCapeHD.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/Blank.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/Blank.png deleted file mode 100644 index 4d7beb8065..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/Blank.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png deleted file mode 100644 index 6514089c64..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png.mcmeta deleted file mode 100644 index cba1c43271..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [0,1,2,3,4,5,6, 7, 8, 9, 10, 11, 12, 13, 14, 15] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulatorStatic.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulatorStatic.png deleted file mode 100644 index 29b3a74f34..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulatorStatic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png deleted file mode 100644 index 14b5e673d0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png.mcmeta deleted file mode 100644 index 10cf8c6afd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":1, - "frames": [0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCoreStatic.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCoreStatic.png deleted file mode 100644 index 53e0e51c06..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCoreStatic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/FirePit/Firepit.tcn b/gtpp/src/main/resources/assets/miscutils/textures/blocks/FirePit/Firepit.tcn deleted file mode 100644 index 453b7325c8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/FirePit/Firepit.tcn and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png deleted file mode 100644 index ad6502026e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png deleted file mode 100644 index c5d7fe80b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png.mcmeta deleted file mode 100644 index b0c531fa79..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":1, - "frames": [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulatorStatic.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulatorStatic.png deleted file mode 100644 index 40d9b8f31b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulatorStatic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png deleted file mode 100644 index 4e2e761fa8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png.mcmeta deleted file mode 100644 index 9720a23866..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":1, - "frames": [0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCoreStatic.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCoreStatic.png deleted file mode 100644 index c822112126..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCoreStatic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png deleted file mode 100644 index 2a5b8aec95..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png deleted file mode 100644 index 97c32e5988..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png.mcmeta deleted file mode 100644 index cba1c43271..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [0,1,2,3,4,5,6, 7, 8, 9, 10, 11, 12, 13, 14, 15] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulatorStatic.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulatorStatic.png deleted file mode 100644 index 29b3a74f34..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulatorStatic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png deleted file mode 100644 index 9c14ae0abf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png.mcmeta deleted file mode 100644 index 163c81b6a1..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":1, - "frames": [0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCoreStatic.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCoreStatic.png deleted file mode 100644 index d4cd1c1dee..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCoreStatic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png deleted file mode 100644 index bb8bee0ce7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png.mcmeta deleted file mode 100644 index 163c81b6a1..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":1, - "frames": [0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCoreStatic.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCoreStatic.png deleted file mode 100644 index ca38aad14f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCoreStatic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png deleted file mode 100644 index bb21d8af98..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png.mcmeta deleted file mode 100644 index c8988534a9..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":1, - "frames": [0,1,2,3,4,5,6,7] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipperStatic.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipperStatic.png deleted file mode 100644 index c54c56daaf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipperStatic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SwirlBigBlue.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/SwirlBigBlue.png deleted file mode 100644 index 42202d8fae..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/SwirlBigBlue.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/CASING_AMAZON.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/CASING_AMAZON.png deleted file mode 100644 index 88d5cb9c72..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/CASING_AMAZON.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_bottom.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_bottom.png deleted file mode 100644 index d1a5b4f1b0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_bottom.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_full.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_full.png deleted file mode 100644 index b0c62a7b3d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_full.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_side.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_side.png deleted file mode 100644 index b61a42b935..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_side.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_top.png deleted file mode 100644 index 0647c2105f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/Generic_Creative_Texture.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/Generic_Creative_Texture.png deleted file mode 100644 index a9bed9ce0c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/Generic_Creative_Texture.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ADVANCED_CRYOGENIC.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ADVANCED_CRYOGENIC.png deleted file mode 100644 index 7222ca77d7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ADVANCED_CRYOGENIC.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ADVANCED_VOLCANUS.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ADVANCED_VOLCANUS.png deleted file mode 100644 index eb7affaa01..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ADVANCED_VOLCANUS.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_CENTRIFUGE.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_CENTRIFUGE.png deleted file mode 100644 index a650d73983..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_CENTRIFUGE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FARM_MANAGER_STRUCTURAL.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FARM_MANAGER_STRUCTURAL.png deleted file mode 100644 index 8a0391538b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FARM_MANAGER_STRUCTURAL.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FIREBOX_STABALLOY.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FIREBOX_STABALLOY.png deleted file mode 100644 index 22c7cd7978..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FIREBOX_STABALLOY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLOTATION.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLOTATION.png deleted file mode 100644 index 5965bfce89..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLOTATION.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS.png deleted file mode 100644 index eb8020f1c9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_GEARBOX_T1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_GEARBOX_T1.png deleted file mode 100644 index df4e3a1a41..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_GEARBOX_T1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_GRINDING_FACTORY.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_GRINDING_FACTORY.png deleted file mode 100644 index b807fc0465..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_GRINDING_FACTORY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_LAURENIUM.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_LAURENIUM.png deleted file mode 100644 index 02bd653538..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_LAURENIUM.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_PIPE_T1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_PIPE_T1.png deleted file mode 100644 index 1b942edfc9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_PIPE_T1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png deleted file mode 100644 index bb27184e51..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png.mcmeta deleted file mode 100644 index 699d8280c3..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png.mcmeta +++ /dev/null @@ -1,39 +0,0 @@ -{ - "animation": { - "frametime": 2, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ] - } -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ROCKETDYNE.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ROCKETDYNE.png deleted file mode 100644 index 89fed025b4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_ROCKETDYNE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_GRISIUM.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_GRISIUM.png deleted file mode 100644 index 4a8cbd634c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_GRISIUM.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N.png deleted file mode 100644 index fc2b8c5c89..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X.png deleted file mode 100644 index 7753c1920a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL.png deleted file mode 100644 index 75f21218d9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_POTIN.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_POTIN.png deleted file mode 100644 index 05f1cc1d42..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_POTIN.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_RED_STEEL.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_RED_STEEL.png deleted file mode 100644 index 066a926278..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_RED_STEEL.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_STELLITE.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_STELLITE.png deleted file mode 100644 index 9ba5c0e255..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_STELLITE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TALONITE.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TALONITE.png deleted file mode 100644 index 4b707d2ca2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TALONITE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TANTALLOY61.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TANTALLOY61.png deleted file mode 100644 index 64b28d0233..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TANTALLOY61.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TRINIUM_NAQUADAH_VENT.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TRINIUM_NAQUADAH_VENT.png deleted file mode 100644 index 6a5dba4448..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TRINIUM_NAQUADAH_VENT.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TRINIUM_TITANIUM.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TRINIUM_TITANIUM.png deleted file mode 100644 index 651c539c5b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TRINIUM_TITANIUM.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TUMBAGA.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TUMBAGA.png deleted file mode 100644 index 1d71c95ea4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TUMBAGA.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZERON100.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZERON100.png deleted file mode 100644 index d6cb89d67d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZERON100.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE.png deleted file mode 100644 index 6c45ff313f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_PESTKILLER_TOP.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_PESTKILLER_TOP.png deleted file mode 100644 index 2602f44af3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_PESTKILLER_TOP.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/STEAM_TURBINE_SIDE_ACTIVE.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/STEAM_TURBINE_SIDE_ACTIVE.png.mcmeta deleted file mode 100644 index dfae8cae16..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/STEAM_TURBINE_SIDE_ACTIVE.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":1 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/_PlaceHolder.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/_PlaceHolder.png deleted file mode 100644 index 9dc63e146e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/_PlaceHolder.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional.png deleted file mode 100644 index d391da4eaf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional.png.mcmeta deleted file mode 100644 index 60af678259..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_blue.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_blue.png.mcmeta deleted file mode 100644 index 60af678259..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_blue.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png deleted file mode 100644 index 9d454b17d4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png.mcmeta deleted file mode 100644 index 60af678259..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_lesu.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_lesu.png deleted file mode 100644 index d5f23d447f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_lesu.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab.png deleted file mode 100644 index 5a4f23d3ea..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active.png deleted file mode 100644 index d40c95f3aa..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png deleted file mode 100644 index 69330145ba..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png.mcmeta deleted file mode 100644 index 49e988e8bb..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png deleted file mode 100644 index 2af5057b3d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png.mcmeta deleted file mode 100644 index 49e988e8bb..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_frequency.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_frequency.png deleted file mode 100644 index fc9c6e5d8a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_frequency.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_logo.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_logo.png deleted file mode 100644 index 695451fafc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_logo.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_logo.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_logo.png.mcmeta deleted file mode 100644 index 19b79a1e22..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_logo.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":1, - "frames":[{"index":0,"time":100},{"index":1,"time":3},{"index":2,"time":2},{"index":3,"time":3},0,1,2,3] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random1.png deleted file mode 100644 index 7157b7541d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random1.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random1.png.mcmeta deleted file mode 100644 index 60af678259..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random1.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random2.png deleted file mode 100644 index 7157b7541d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random2.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random2.png.mcmeta deleted file mode 100644 index 97596ba817..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random2.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random3.png deleted file mode 100644 index 7157b7541d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random3.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random3.png.mcmeta deleted file mode 100644 index dfae8cae16..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_screen_random3.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":1 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_uum.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_uum.png deleted file mode 100644 index 6a1894756d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_uum.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_vent_rotating.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_vent_rotating.png deleted file mode 100644 index c9663bf711..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_vent_rotating.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_vent_rotating.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_vent_rotating.png.mcmeta deleted file mode 100644 index dfae8cae16..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_vent_rotating.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":1 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_water.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_water.png deleted file mode 100644 index 3351f5d0a6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_water.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/audio_out_active.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/audio_out_active.png.mcmeta deleted file mode 100644 index dfae8cae16..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/audio_out_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":1 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_charger.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_charger.png deleted file mode 100644 index 386f3c8e67..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_charger.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_crafting.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_crafting.png deleted file mode 100644 index a61413240b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_crafting.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_discharge.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_discharge.png deleted file mode 100644 index 26b3b1e4c1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_discharge.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_redstone_conductor.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_redstone_conductor.png deleted file mode 100644 index 72e8c12c07..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_redstone_conductor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_redstone_emitter.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_redstone_emitter.png deleted file mode 100644 index 148d5e4955..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/cover_redstone_emitter.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/dirt_podzol_top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/dirt_podzol_top.png deleted file mode 100644 index ebeda86aa0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/dirt_podzol_top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/fishtrap.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/fishtrap.png deleted file mode 100644 index a0767f7836..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/fishtrap.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/OVERLAY_BOXES.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/OVERLAY_BOXES.png deleted file mode 100644 index 553c674b58..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/OVERLAY_BOXES.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/OVERLAY_CROP.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/OVERLAY_CROP.png deleted file mode 100644 index f6dec1fccf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/OVERLAY_CROP.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_bottom.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_bottom.png deleted file mode 100644 index ba45c43891..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_bottom.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_top.png deleted file mode 100644 index 815ad92daf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_top_crafting.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_top_crafting.png deleted file mode 100644 index a8b157975c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/machine_top_crafting.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/0.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/0.png deleted file mode 100644 index 10d882e13f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/1.png deleted file mode 100644 index b4cf1ad1c5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/10.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/10.png deleted file mode 100644 index 5be386c991..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/11.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/11.png deleted file mode 100644 index 4d2770d6ea..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/12.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/12.png deleted file mode 100644 index dda5b9f70c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/13.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/13.png deleted file mode 100644 index 08083ce68d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/14.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/14.png deleted file mode 100644 index d368a109ba..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/15.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/15.png deleted file mode 100644 index 974026d8c1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/16.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/16.png deleted file mode 100644 index 64797504ea..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/17.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/17.png deleted file mode 100644 index ed3ba22f03..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/18.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/18.png deleted file mode 100644 index 0822a9ff9e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/19.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/19.png deleted file mode 100644 index d17c80290e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/2.png deleted file mode 100644 index 02b703dd72..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/20.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/20.png deleted file mode 100644 index 4d789dcd34..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/21.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/21.png deleted file mode 100644 index 1a86034ee6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/22.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/22.png deleted file mode 100644 index 5b614c2b75..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/23.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/23.png deleted file mode 100644 index e5c64819ce..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/24.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/24.png deleted file mode 100644 index 9cd772a7bc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/25.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/25.png deleted file mode 100644 index 758f3a5925..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/25.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/26.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/26.png deleted file mode 100644 index 582a7226ea..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/26.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/27.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/27.png deleted file mode 100644 index bf8bee95fd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/27.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/28.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/28.png deleted file mode 100644 index 59ec6fc494..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/28.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/29.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/29.png deleted file mode 100644 index 0ebf3022a1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/29.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/3.png deleted file mode 100644 index 726b97e140..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/30.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/30.png deleted file mode 100644 index a5b703fcd6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/30.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/31.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/31.png deleted file mode 100644 index 49b84b97a4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/31.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/32.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/32.png deleted file mode 100644 index c6fd476b1a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/32.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/33.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/33.png deleted file mode 100644 index 0300e86059..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/33.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/34.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/34.png deleted file mode 100644 index 5ef3e61175..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/34.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/35.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/35.png deleted file mode 100644 index 8e077d1d7d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/35.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/36.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/36.png deleted file mode 100644 index 5aff3c93de..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/36.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/37.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/37.png deleted file mode 100644 index c3cad83294..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/37.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/38.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/38.png deleted file mode 100644 index 87b3fb5225..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/38.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/39.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/39.png deleted file mode 100644 index 10798b86d8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/39.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/4.png deleted file mode 100644 index ad834b3576..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/40.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/40.png deleted file mode 100644 index ce6321458d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/40.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/41.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/41.png deleted file mode 100644 index d5a2428eb1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/41.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/42.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/42.png deleted file mode 100644 index 70317dd7a7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/42.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/43.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/43.png deleted file mode 100644 index 3c61345b63..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/43.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/44.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/44.png deleted file mode 100644 index 764853abfa..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/44.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/45.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/45.png deleted file mode 100644 index 7c7c30d998..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/45.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/46.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/46.png deleted file mode 100644 index 367a85067b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/46.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/47.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/47.png deleted file mode 100644 index 52de50d2b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/47.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/48.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/48.png deleted file mode 100644 index f283ec79b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/48.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/49.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/49.png deleted file mode 100644 index 426c42b558..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/49.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/5.png deleted file mode 100644 index 011bee76c3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/50.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/50.png deleted file mode 100644 index 7b23d35271..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/50.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/51.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/51.png deleted file mode 100644 index b930b49af3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/51.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/52.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/52.png deleted file mode 100644 index 6e73111695..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/52.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/53.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/53.png deleted file mode 100644 index 98d2cdb4c5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/53.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/54.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/54.png deleted file mode 100644 index 5db3a982ea..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/54.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/55.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/55.png deleted file mode 100644 index 00b697cdf7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/55.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/56.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/56.png deleted file mode 100644 index 0464a70a58..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/56.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/57.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/57.png deleted file mode 100644 index e70c013912..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/57.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/58.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/58.png deleted file mode 100644 index e9938feff2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/58.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/59.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/59.png deleted file mode 100644 index 890f09f231..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/59.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/6.png deleted file mode 100644 index 42eeda7b4e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/60.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/60.png deleted file mode 100644 index 94db5b9946..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/60.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/61.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/61.png deleted file mode 100644 index 6efa02daf2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/61.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/62.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/62.png deleted file mode 100644 index 3983966fda..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/62.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/63.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/63.png deleted file mode 100644 index 7f14006fe7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/63.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/7.png deleted file mode 100644 index edd4a94aee..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/8.png deleted file mode 100644 index 1a63ac762c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/9.png deleted file mode 100644 index 9964ac7486..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/ButtonPanel/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/0.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/0.png deleted file mode 100644 index aac94f4d6c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/1.png deleted file mode 100644 index 4571bca877..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/10.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/10.png deleted file mode 100644 index 2391919c11..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/100.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/100.png deleted file mode 100644 index 644ed36a90..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/100.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/101.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/101.png deleted file mode 100644 index b67da08aed..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/101.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/102.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/102.png deleted file mode 100644 index 1d8c4e2490..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/102.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/103.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/103.png deleted file mode 100644 index eace1e1e7e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/103.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/104.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/104.png deleted file mode 100644 index e63d77edad..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/104.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/105.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/105.png deleted file mode 100644 index 63f45d2287..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/105.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/106.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/106.png deleted file mode 100644 index 6c571f8e58..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/106.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/107.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/107.png deleted file mode 100644 index 204a0aa231..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/107.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/108.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/108.png deleted file mode 100644 index 4c927a85f2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/108.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/109.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/109.png deleted file mode 100644 index 9fa6010d04..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/109.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/11.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/11.png deleted file mode 100644 index ee82155436..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/110.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/110.png deleted file mode 100644 index 7bd92aaa6e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/110.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/111.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/111.png deleted file mode 100644 index 70a75f9600..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/111.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/112.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/112.png deleted file mode 100644 index 22220a9ba6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/112.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/113.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/113.png deleted file mode 100644 index 0d40f42170..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/113.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/114.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/114.png deleted file mode 100644 index e4ea8065da..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/114.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/115.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/115.png deleted file mode 100644 index 43541eeeb2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/115.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/116.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/116.png deleted file mode 100644 index c8d30df85a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/116.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/117.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/117.png deleted file mode 100644 index 349f3114af..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/117.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/118.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/118.png deleted file mode 100644 index 8f07eb15cc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/118.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/119.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/119.png deleted file mode 100644 index bb75cda218..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/119.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/12.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/12.png deleted file mode 100644 index 907c77700e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/120.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/120.png deleted file mode 100644 index 7ca146e829..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/120.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/121.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/121.png deleted file mode 100644 index 52019a127f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/121.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/122.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/122.png deleted file mode 100644 index 0021064944..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/122.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/123.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/123.png deleted file mode 100644 index 16a2322abb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/123.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/124.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/124.png deleted file mode 100644 index 3728d698e5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/124.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/125.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/125.png deleted file mode 100644 index 338086ea34..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/125.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/126.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/126.png deleted file mode 100644 index cf92e50fe1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/126.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/127.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/127.png deleted file mode 100644 index 44f46489f4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/127.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/128.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/128.png deleted file mode 100644 index cd3d00ed5d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/128.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/129.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/129.png deleted file mode 100644 index e15af0cd81..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/129.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/13.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/13.png deleted file mode 100644 index 16a9298fa0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/130.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/130.png deleted file mode 100644 index 236b4b80b9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/130.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/131.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/131.png deleted file mode 100644 index 2146a21dcb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/131.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/132.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/132.png deleted file mode 100644 index 8e6c4b7fab..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/132.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/133.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/133.png deleted file mode 100644 index 968baf1add..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/133.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/134.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/134.png deleted file mode 100644 index 5a9274232f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/134.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/135.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/135.png deleted file mode 100644 index 0fd7625761..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/135.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/136.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/136.png deleted file mode 100644 index 9f16c39367..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/136.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/137.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/137.png deleted file mode 100644 index 15eb15c7e0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/137.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/138.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/138.png deleted file mode 100644 index 4e86dfaf93..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/138.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/139.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/139.png deleted file mode 100644 index 790c0d4a74..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/139.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/14.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/14.png deleted file mode 100644 index 5c2827b117..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/140.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/140.png deleted file mode 100644 index 0a2f07d9fe..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/140.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/141.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/141.png deleted file mode 100644 index 6ad3543609..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/141.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/142.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/142.png deleted file mode 100644 index 65942b572f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/142.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/143.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/143.png deleted file mode 100644 index 7ee3b4c91d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/143.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/15.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/15.png deleted file mode 100644 index 8291c9a39c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/16.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/16.png deleted file mode 100644 index 2a8779fb61..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/17.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/17.png deleted file mode 100644 index 1ddd1f6ad5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/18.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/18.png deleted file mode 100644 index ac0dcc3f76..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/19.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/19.png deleted file mode 100644 index 1d2101a43a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/2.png deleted file mode 100644 index e412953793..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/20.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/20.png deleted file mode 100644 index e5d71c3965..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/21.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/21.png deleted file mode 100644 index ad8cb864ba..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/22.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/22.png deleted file mode 100644 index 751662e049..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/23.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/23.png deleted file mode 100644 index 142c713efe..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/24.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/24.png deleted file mode 100644 index 5e1097bf80..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/25.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/25.png deleted file mode 100644 index 391d12d2cd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/25.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/26.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/26.png deleted file mode 100644 index 5dc9635b3a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/26.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/27.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/27.png deleted file mode 100644 index 03fcb8285b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/27.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/28.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/28.png deleted file mode 100644 index 01d8912612..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/28.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/29.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/29.png deleted file mode 100644 index 7755b75e4a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/29.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/3.png deleted file mode 100644 index cf3107aecd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/30.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/30.png deleted file mode 100644 index fb1e7714cf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/30.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/31.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/31.png deleted file mode 100644 index 38e66ff784..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/31.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/32.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/32.png deleted file mode 100644 index 20083e41ae..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/32.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/33.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/33.png deleted file mode 100644 index bbcd289595..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/33.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/34.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/34.png deleted file mode 100644 index cb5c142713..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/34.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/35.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/35.png deleted file mode 100644 index 50e459ac1e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/35.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/36.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/36.png deleted file mode 100644 index 741ca3ac20..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/36.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/37.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/37.png deleted file mode 100644 index 64af38a224..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/37.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/38.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/38.png deleted file mode 100644 index de2abc3646..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/38.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/39.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/39.png deleted file mode 100644 index ff782c55c4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/39.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/4.png deleted file mode 100644 index 10de7d0317..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/40.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/40.png deleted file mode 100644 index b35c8b37e3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/40.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/41.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/41.png deleted file mode 100644 index 1da7e74566..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/41.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/42.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/42.png deleted file mode 100644 index aaab388552..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/42.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/43.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/43.png deleted file mode 100644 index 3581670fb5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/43.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/44.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/44.png deleted file mode 100644 index d4422e227b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/44.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/45.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/45.png deleted file mode 100644 index f24d8c84e3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/45.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/46.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/46.png deleted file mode 100644 index 7a32bac3cb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/46.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/47.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/47.png deleted file mode 100644 index 19667bb6be..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/47.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/48.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/48.png deleted file mode 100644 index 13d8bd9307..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/48.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/49.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/49.png deleted file mode 100644 index 5874834cf1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/49.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/5.png deleted file mode 100644 index 0a1c52ad33..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/50.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/50.png deleted file mode 100644 index 7d30aba7b6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/50.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/51.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/51.png deleted file mode 100644 index 63991ec562..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/51.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/52.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/52.png deleted file mode 100644 index 07824b69dc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/52.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/53.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/53.png deleted file mode 100644 index e01ce3cb2e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/53.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/54.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/54.png deleted file mode 100644 index 0cc8baaf9a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/54.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/55.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/55.png deleted file mode 100644 index dd20f55350..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/55.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/56.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/56.png deleted file mode 100644 index 8e5d6fc552..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/56.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/57.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/57.png deleted file mode 100644 index cf867dbb2f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/57.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/58.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/58.png deleted file mode 100644 index 2986bea8f6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/58.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/59.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/59.png deleted file mode 100644 index 52f08e5a5b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/59.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/6.png deleted file mode 100644 index 2768d1935f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/60.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/60.png deleted file mode 100644 index d27ed3ed00..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/60.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/61.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/61.png deleted file mode 100644 index 55f19a1f1b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/61.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/62.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/62.png deleted file mode 100644 index 588c573775..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/62.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/63.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/63.png deleted file mode 100644 index 761953786f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/63.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/64.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/64.png deleted file mode 100644 index f863c2635e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/64.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/65.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/65.png deleted file mode 100644 index a9052658b6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/65.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/66.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/66.png deleted file mode 100644 index 4b7af976a5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/66.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/67.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/67.png deleted file mode 100644 index ac293cd370..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/67.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/68.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/68.png deleted file mode 100644 index 5ead585025..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/68.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/69.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/69.png deleted file mode 100644 index 74e2a6b31b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/69.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/7.png deleted file mode 100644 index 5fd2f744a9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/70.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/70.png deleted file mode 100644 index b571a65158..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/70.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/71.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/71.png deleted file mode 100644 index 88a39782ac..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/71.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/72.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/72.png deleted file mode 100644 index 23752aea81..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/72.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/73.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/73.png deleted file mode 100644 index 8d74fb171f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/73.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/74.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/74.png deleted file mode 100644 index 946544c42d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/74.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/75.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/75.png deleted file mode 100644 index f457d249da..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/75.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/76.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/76.png deleted file mode 100644 index 5fd30ed50f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/76.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/77.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/77.png deleted file mode 100644 index c846c18e86..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/77.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/78.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/78.png deleted file mode 100644 index 91d8c1e291..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/78.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/79.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/79.png deleted file mode 100644 index 7f3bb56a09..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/79.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/8.png deleted file mode 100644 index 9f408b7dbf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/80.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/80.png deleted file mode 100644 index 60c0c9041e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/80.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/81.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/81.png deleted file mode 100644 index 62fde6b46c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/81.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/82.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/82.png deleted file mode 100644 index b4885d28ed..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/82.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/83.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/83.png deleted file mode 100644 index 3e00f22271..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/83.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/84.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/84.png deleted file mode 100644 index 5350e00ac0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/84.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/85.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/85.png deleted file mode 100644 index aab39c408c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/85.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/86.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/86.png deleted file mode 100644 index 6150482d1f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/86.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/87.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/87.png deleted file mode 100644 index 8f9a554135..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/87.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/88.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/88.png deleted file mode 100644 index e8ef3944be..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/88.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/89.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/89.png deleted file mode 100644 index 0129fd6b32..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/89.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/9.png deleted file mode 100644 index 166abf574e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/90.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/90.png deleted file mode 100644 index b7146ab582..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/90.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/91.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/91.png deleted file mode 100644 index fd663e0718..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/91.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/92.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/92.png deleted file mode 100644 index ff071f2eaa..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/92.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/93.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/93.png deleted file mode 100644 index bed5021da3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/93.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/94.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/94.png deleted file mode 100644 index 997fc2835f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/94.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/95.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/95.png deleted file mode 100644 index 78900cf455..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/95.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/96.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/96.png deleted file mode 100644 index 82cf7f8776..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/96.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/97.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/97.png deleted file mode 100644 index 8e1754bea8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/97.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/98.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/98.png deleted file mode 100644 index e88435698c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/98.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/99.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/99.png deleted file mode 100644 index 77314ce820..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Display/99.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Lamp/off.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Lamp/off.png deleted file mode 100644 index e24f9ff199..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Lamp/off.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Lamp/on.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Lamp/on.png deleted file mode 100644 index 6f4745f516..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Lamp/on.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/0.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/0.png deleted file mode 100644 index 99e41e3fbf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/1.png deleted file mode 100644 index c1bf500e05..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/10.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/10.png deleted file mode 100644 index 5a196e3a1f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/11.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/11.png deleted file mode 100644 index 974338f8b9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/12.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/12.png deleted file mode 100644 index ffb2619f16..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/13.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/13.png deleted file mode 100644 index 18889c5d4f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/14.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/14.png deleted file mode 100644 index f2babfe8ef..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/15.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/15.png deleted file mode 100644 index b6a47cab6c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/16.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/16.png deleted file mode 100644 index fb19d35e39..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/17.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/17.png deleted file mode 100644 index 1f26a011ff..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/18.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/18.png deleted file mode 100644 index 38c8494bcb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/19.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/19.png deleted file mode 100644 index f0a57c9542..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/2.png deleted file mode 100644 index af2372797c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/20.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/20.png deleted file mode 100644 index 99bb2485b5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/21.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/21.png deleted file mode 100644 index 90c66a8a1e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/22.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/22.png deleted file mode 100644 index 43236b0090..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/23.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/23.png deleted file mode 100644 index e7a9e84fc0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/24.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/24.png deleted file mode 100644 index f15026ec0f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/25.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/25.png deleted file mode 100644 index a1fd4d6c12..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/25.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/26.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/26.png deleted file mode 100644 index 650e2a28ea..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/26.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/27.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/27.png deleted file mode 100644 index a9a833c72a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/27.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/28.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/28.png deleted file mode 100644 index 297c509211..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/28.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/29.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/29.png deleted file mode 100644 index bfa0569cb0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/29.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/3.png deleted file mode 100644 index 9238c4d418..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/30.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/30.png deleted file mode 100644 index dac28502eb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/30.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/31.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/31.png deleted file mode 100644 index c92456a0b9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/31.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/4.png deleted file mode 100644 index 4483223ff3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/5.png deleted file mode 100644 index 4bd0c30028..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/6.png deleted file mode 100644 index af066c32cf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/7.png deleted file mode 100644 index 06742246f9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/8.png deleted file mode 100644 index 793f5b8b82..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/9.png deleted file mode 100644 index 53a53221cd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/gt4/redstone/Scale/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/high_adv_machine.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/high_adv_machine.png deleted file mode 100644 index c594b58add..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/high_adv_machine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/high_adv_machine_dimensional.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/high_adv_machine_dimensional.png.mcmeta deleted file mode 100644 index 60af678259..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/high_adv_machine_dimensional.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/log_acacia_top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/log_acacia_top.png deleted file mode 100644 index 68b4e3e9c2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/log_acacia_top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_bottom.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_bottom.png deleted file mode 100644 index ba45c43891..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_bottom.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top.png deleted file mode 100644 index bf6624a0b1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor.png deleted file mode 100644 index 3bd3092cc0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2.png deleted file mode 100644 index e402d9b6d0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2_active.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2_active.png deleted file mode 100644 index 975f4aed86..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2_active.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2_active.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2_active.png.mcmeta deleted file mode 100644 index 97596ba817..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor2_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png deleted file mode 100644 index bf1cb0e6a5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png.mcmeta deleted file mode 100644 index 97596ba817..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png deleted file mode 100644 index 3256b41734..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png.mcmeta deleted file mode 100644 index 5e86a7cd5f..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":8 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png deleted file mode 100644 index 3256b41734..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png.mcmeta deleted file mode 100644 index dfae8cae16..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":1 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/overlay_rainbowscreen.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/overlay_rainbowscreen.png deleted file mode 100644 index 4878de8680..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/overlay_rainbowscreen.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/overlay_rainbowscreen.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/overlay_rainbowscreen.png.mcmeta deleted file mode 100644 index 5e86a7cd5f..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/overlay_rainbowscreen.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":8 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_adv_sides.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_adv_sides.png deleted file mode 100644 index a8e497ec01..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_adv_sides.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_adv_top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_adv_top.png deleted file mode 100644 index 34d35b44e3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_adv_top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_sides.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_sides.png deleted file mode 100644 index 1754172689..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_sides.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_top.png deleted file mode 100644 index 4835240aee..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/TileEntities/sewer_top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockBlock.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockBlock.png deleted file mode 100644 index 1276f5fa24..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockBlock.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockFrameGt.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockFrameGt.png deleted file mode 100644 index 56a56cf752..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockFrameGt.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockMFEffect.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockMFEffect.png deleted file mode 100644 index 8e48e12070..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockMFEffect.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockStaballoy.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockStaballoy.png deleted file mode 100644 index 84a6b68e0e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockStaballoy.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockStone.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockStone.png deleted file mode 100644 index 87e19ff46b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/blockStone.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/CyberPanel.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/CyberPanel.png deleted file mode 100644 index 6761aa4773..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/CyberPanel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalFunnel.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalFunnel.png deleted file mode 100644 index e52a1b11dc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalFunnel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalGrate.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalGrate.png deleted file mode 100644 index b24e8657f8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalGrate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalPanel.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalPanel.png deleted file mode 100644 index 2c56924c8b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalPanel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet.png deleted file mode 100644 index 223ae1cad3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet2.png deleted file mode 100644 index 951871ce12..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet8.png deleted file mode 100644 index 5307adb9f5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet9.png deleted file mode 100644 index 4862094cbd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/chrono/MetalSheet9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone1.png deleted file mode 100644 index 17010ff1a3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone2.png deleted file mode 100644 index 72befd9bfd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone3.png deleted file mode 100644 index 8af7fb854c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone4.png deleted file mode 100644 index 3def965ce9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone5.png deleted file mode 100644 index b97c9add06..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/glowstone5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian1.png deleted file mode 100644 index 0970b27745..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian2.png deleted file mode 100644 index 6cf79c75c4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian3.png deleted file mode 100644 index 0cf85541e4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian4.png deleted file mode 100644 index 4d9c3d2f67..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian5.png deleted file mode 100644 index 149ae598d0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian_invert.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian_invert.png deleted file mode 100644 index 8c55fdddd3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/compressed/obsidian_invert.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.1.png deleted file mode 100644 index 8c5f1ec338..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.2.png deleted file mode 100644 index 75ff7b2558..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.3.png deleted file mode 100644 index edcfc53edd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.4.png deleted file mode 100644 index 8176e98807..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.5.png deleted file mode 100644 index 0737748bb9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/crop/blockCrop.Hemp.5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png deleted file mode 100644 index 6ea5b4c515..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png.mcmeta deleted file mode 100644 index 70cc4d313c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 6 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png deleted file mode 100644 index 7f1f2aa712..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png.mcmeta deleted file mode 100644 index aa41c3d5c8..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 8, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png deleted file mode 100644 index b24939367a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png.mcmeta deleted file mode 100644 index 7e77c64858..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png deleted file mode 100644 index 3fb18d9c00..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png.mcmeta deleted file mode 100644 index 4fadce8aff..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 4, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png deleted file mode 100644 index fa4fa813bf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png.mcmeta deleted file mode 100644 index 70cc4d313c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 6 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png deleted file mode 100644 index 00355135df..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png.mcmeta deleted file mode 100644 index aa41c3d5c8..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 8, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png deleted file mode 100644 index 50414d57db..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png.mcmeta deleted file mode 100644 index 7e77c64858..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png deleted file mode 100644 index edf0166265..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png.mcmeta deleted file mode 100644 index 4fadce8aff..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 4, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png deleted file mode 100644 index b51346219b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png.mcmeta deleted file mode 100644 index aa41c3d5c8..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 8, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png deleted file mode 100644 index 3fb18d9c00..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png.mcmeta deleted file mode 100644 index 4fadce8aff..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 4, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.flowing.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.flowing.png deleted file mode 100644 index 003d1597a6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.flowing.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.flowing.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.flowing.png.mcmeta deleted file mode 100644 index 4f0718ac96..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.flowing.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png deleted file mode 100644 index 512df7ce04..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png.mcmeta deleted file mode 100644 index b8533e5109..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.still.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.still.png.mcmeta deleted file mode 100644 index 0645f48c62..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.still.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 2 - } -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrofluoricacid.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrofluoricacid.png.mcmeta deleted file mode 100644 index 70cc4d313c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrofluoricacid.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 6 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrogenchloride.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrogenchloride.png.mcmeta deleted file mode 100644 index 7e77c64858..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrogenchloride.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png deleted file mode 100644 index a752755254..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png.mcmeta deleted file mode 100644 index 0df7234a79..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.lithiumhydroxide.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.lithiumhydroxide.png.mcmeta deleted file mode 100644 index eb608948b6..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.lithiumhydroxide.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 16 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png deleted file mode 100644 index ee40545a46..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png.mcmeta deleted file mode 100644 index 7ceb363941..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 2, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png deleted file mode 100644 index f0265d8ad2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png.mcmeta deleted file mode 100644 index 87c542d295..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":1 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.pyrotheum.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.pyrotheum.png.mcmeta deleted file mode 100644 index aa41c3d5c8..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.pyrotheum.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 8, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurdioxide.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurdioxide.png.mcmeta deleted file mode 100644 index 3fc1338d74..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurdioxide.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 12 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuricapatite.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuricapatite.png.mcmeta deleted file mode 100644 index 7e77c64858..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuricapatite.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuriclithium.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuriclithium.png.mcmeta deleted file mode 100644 index eb608948b6..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuriclithium.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 16 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurousacid.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurousacid.png.mcmeta deleted file mode 100644 index 70cc4d313c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurousacid.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 6 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumtetrafluoride.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumtetrafluoride.png.mcmeta deleted file mode 100644 index f6730e30a9..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumtetrafluoride.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumhexafluoride.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumhexafluoride.png.mcmeta deleted file mode 100644 index f6730e30a9..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumhexafluoride.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumtetrafluoride.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumtetrafluoride.png.mcmeta deleted file mode 100644 index 5169aabdc2..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumtetrafluoride.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 8 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png deleted file mode 100644 index d4e45d6adf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png.mcmeta deleted file mode 100644 index 76446714d8..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png.mcmeta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "animation": { - "frames": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ] - } -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png deleted file mode 100644 index 739abd1090..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png.mcmeta deleted file mode 100644 index 4f0718ac96..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_1.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_1.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_1.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_2.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_2.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_2.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_3.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_3.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_3.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_4.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_4.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_4.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_5.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_5.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_5.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_6.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_6.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_6.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_7.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_7.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_7.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_8.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_8.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_8.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_9.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_9.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_9.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_1.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_1.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_1.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_2.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_2.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_2.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_3.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_3.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_3.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_4.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_4.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_4.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_5.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_5.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_5.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_6.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_6.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_6.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_7.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_7.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_7.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_8.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_8.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_8.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_9.PNG.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_9.PNG.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_9.PNG.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_1.png deleted file mode 100644 index 9b82677382..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_10.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_10.png deleted file mode 100644 index bb8649fabc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_11.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_11.png deleted file mode 100644 index 60ac4bce02..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_12.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_12.png deleted file mode 100644 index f7e479652f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_2.png deleted file mode 100644 index 8d1e3f14e2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_3.png deleted file mode 100644 index 9f997cedf8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_4.png deleted file mode 100644 index ff2c73964a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_5.png deleted file mode 100644 index 107d539765..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_6.png deleted file mode 100644 index 5dd516f5e2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_7.png deleted file mode 100644 index eb8cd5882d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_8.png deleted file mode 100644 index fa3e6027a7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_9.png deleted file mode 100644 index ce258e3c13..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIII_9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_1.png deleted file mode 100644 index 5102d575b8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_1.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_1.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_1.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_10.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_10.png deleted file mode 100644 index d65eb131f9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_10.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_10.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_10.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_11.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_11.png deleted file mode 100644 index 675922fbdd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_11.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_11.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_11.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_12.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_12.png deleted file mode 100644 index e7e4a14d89..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_12.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_12.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_12.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_2.png deleted file mode 100644 index c561f4dafb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_2.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_2.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_2.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_3.png deleted file mode 100644 index 4e40d05bb2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_3.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_3.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_3.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_4.png deleted file mode 100644 index ee33f024c5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_4.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_4.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_4.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_5.png deleted file mode 100644 index f7e843b7a3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_5.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_5.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_5.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_6.png deleted file mode 100644 index 631a0c94c6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_6.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_6.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_6.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_7.png deleted file mode 100644 index 64b1d5d8c8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_7.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_7.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_7.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_8.png deleted file mode 100644 index f51c6422b9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_8.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_8.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_8.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_9.png deleted file mode 100644 index 7980eed80c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_9.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_9.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/FUSIONIV_9.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER1.png deleted file mode 100644 index ce1c2ef3d8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER2.png deleted file mode 100644 index 84e1ac6350..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER3.png deleted file mode 100644 index 4f716e4c61..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER4.png deleted file mode 100644 index fa9e98a6f5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER5.png deleted file mode 100644 index 6c05b315b6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER6.png deleted file mode 100644 index d4a3888fe5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER7.png deleted file mode 100644 index 8346cccf41..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER8.png deleted file mode 100644 index 31bbffb4d4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER9.png deleted file mode 100644 index 0858b2d399..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE1.png deleted file mode 100644 index 1bc399315d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE1.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE1.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE1.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE2.png deleted file mode 100644 index 32ea4edd45..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE2.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE2.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE2.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE3.png deleted file mode 100644 index eb530ffb75..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE3.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE3.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE3.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.pdn b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.pdn deleted file mode 100644 index 3c8bbeb696..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.pdn and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.png deleted file mode 100644 index 1050d78b01..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE4.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE5.png deleted file mode 100644 index b59c940f5e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE5.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE5.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE5.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE6.png deleted file mode 100644 index 8bde3ca423..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE6.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE6.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE6.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE7.png deleted file mode 100644 index 1b1b12db3b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE7.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE7.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE7.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE8.png deleted file mode 100644 index da672b0e24..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE8.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE8.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE8.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE9.png deleted file mode 100644 index f082c94c55..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE9.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE9.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/Grinder/GRINDER_ACTIVE9.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE1.png deleted file mode 100644 index 020ed28da8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE2.png deleted file mode 100644 index 12e321b7e9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE3.png deleted file mode 100644 index c6d7715356..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE4.png deleted file mode 100644 index 7f21c841aa..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE5.png deleted file mode 100644 index 3466822e04..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE6.png deleted file mode 100644 index c1ae3ca1af..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE7.png deleted file mode 100644 index a0263e4341..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE8.png deleted file mode 100644 index 26956df456..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE9.png deleted file mode 100644 index f30b34fe4a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png deleted file mode 100644 index 288df82736..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png deleted file mode 100644 index b8c344736e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png deleted file mode 100644 index 0ef17da006..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png deleted file mode 100644 index 07dd921123..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png deleted file mode 100644 index 49e957bc1f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png deleted file mode 100644 index 2dd6ca5a8e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png deleted file mode 100644 index 16091f0e18..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png deleted file mode 100644 index 698d96bf11..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png deleted file mode 100644 index 963d8b1a22..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png.mcmeta deleted file mode 100644 index d746756cbd..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_3.png deleted file mode 100644 index b0aa8bf5e5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_4.png deleted file mode 100644 index 148b3e32c1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_4.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_4.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_4.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_II.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_II.png deleted file mode 100644 index 6322205460..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_II.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_III.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_III.png deleted file mode 100644 index 722c9cbe39..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_III.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_III.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_III.png.mcmeta deleted file mode 100644 index a166f3972c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_COIL_III.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":3, - "frames": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_GLASS_HYPER.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_GLASS_HYPER.png deleted file mode 100644 index cac33bb1f0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_GLASS_HYPER.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_GLASS_ULTRA.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_GLASS_ULTRA.png deleted file mode 100644 index 0c9e529514..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_FUSION_GLASS_ULTRA.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_GEARBOX_GENERIC.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_GEARBOX_GENERIC.png deleted file mode 100644 index 8b3142daf4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_GEARBOX_GENERIC.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_PIPE_GENERIC.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_PIPE_GENERIC.png deleted file mode 100644 index 6d8c956606..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/MACHINE_CASING_PIPE_GENERIC.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_CATALYSTS.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_CATALYSTS.png deleted file mode 100644 index 110e9ee38f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_CATALYSTS.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_CATALYSTS.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_CATALYSTS.png.mcmeta deleted file mode 100644 index 24f863c95e..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_CATALYSTS.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":3 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_DATA_ORB.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_DATA_ORB.png deleted file mode 100644 index f2bdf0ad4a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_DATA_ORB.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER.png deleted file mode 100644 index 56b02d1914..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png deleted file mode 100644 index 1fd61ede58..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png.mcmeta deleted file mode 100644 index 24f863c95e..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":3 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png deleted file mode 100644 index 5433ee1ff2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png.mcmeta deleted file mode 100644 index 97596ba817..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":2 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png deleted file mode 100644 index b7b2bed6de..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png.mcmeta deleted file mode 100644 index 60af678259..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png deleted file mode 100644 index 8c93e83d2d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png.mcmeta deleted file mode 100644 index 24f863c95e..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":3 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MILLING_BALL_BUS.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MILLING_BALL_BUS.png deleted file mode 100644 index c7b22a7ef8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MILLING_BALL_BUS.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MILLING_BALL_BUS.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MILLING_BALL_BUS.png.mcmeta deleted file mode 100644 index 5d86d73ad2..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MILLING_BALL_BUS.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":5 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MUFFLER_ADV.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MUFFLER_ADV.png deleted file mode 100644 index ce88198867..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_MUFFLER_ADV.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png deleted file mode 100644 index edd4efbba9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png.mcmeta deleted file mode 100644 index 330653c04d..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [3, 2, 1, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE.png deleted file mode 100644 index c654bbe779..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png deleted file mode 100644 index e9b05f8181..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png.mcmeta deleted file mode 100644 index dd1bedb120..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png deleted file mode 100644 index 07b795be97..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png.mcmeta deleted file mode 100644 index dd1bedb120..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png deleted file mode 100644 index e1ad601839..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png.mcmeta deleted file mode 100644 index dd1bedb120..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png deleted file mode 100644 index f69d8cb0ec..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png.mcmeta deleted file mode 100644 index dd1bedb120..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png deleted file mode 100644 index f863ec49e6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png.mcmeta deleted file mode 100644 index dd1bedb120..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png deleted file mode 100644 index a61511d4c2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png.mcmeta deleted file mode 100644 index dd1bedb120..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png deleted file mode 100644 index 73a0abe065..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png.mcmeta deleted file mode 100644 index dd1bedb120..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png deleted file mode 100644 index 269ab80e3b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png.mcmeta deleted file mode 100644 index dd1bedb120..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png deleted file mode 100644 index 54ac28edc8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png.mcmeta deleted file mode 100644 index dd1bedb120..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL1.png deleted file mode 100644 index 34991094fd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL2.png deleted file mode 100644 index 50ce1abd9c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL3.png deleted file mode 100644 index c4a02dcd25..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL4.png deleted file mode 100644 index 5955b40f1e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL5.png deleted file mode 100644 index 7fee9a77ad..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL6.png deleted file mode 100644 index ff418776b6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL7.png deleted file mode 100644 index 59217da11f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL8.png deleted file mode 100644 index 3af9794005..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL9.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL9.png deleted file mode 100644 index d121090176..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_EV.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_EV.png deleted file mode 100644 index d70927f140..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_EV.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_HV.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_HV.png deleted file mode 100644 index 13310d6f57..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_HV.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_IV.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_IV.png deleted file mode 100644 index 7ef41870d4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_IV.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_LV.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_LV.png deleted file mode 100644 index e42acc5c01..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_LV.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_LuV.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_LuV.png deleted file mode 100644 index 440c987d6e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_LuV.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_MAX.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_MAX.png deleted file mode 100644 index 453cc94662..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_MAX.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_MV.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_MV.png deleted file mode 100644 index b1f29058ec..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_MV.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_ULV.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_ULV.png deleted file mode 100644 index 747adeb2e5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_ULV.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_UV.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_UV.png deleted file mode 100644 index 23cc2c60c2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_UV.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_ZPM.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_ZPM.png deleted file mode 100644 index 230e78fe96..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/iconsets/TieredHulls/CASING_ZPM.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png deleted file mode 100644 index 1f53895490..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png.mcmeta deleted file mode 100644 index 0285ac2f3b..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":2, - "frames": [0, 2, 3, 3, 4, 5, 6, 7, 7, 6, 5, 4, 3, 2, 1, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_B.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_B.png deleted file mode 100644 index 265d18b0f7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_B.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_B.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_B.png.mcmeta deleted file mode 100644 index d0b9e70fe5..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_B.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":4, - "frames": [0, 2, 3, 3, 4, 5, 6, 7, 7, 6, 5, 4, 3, 2, 1, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_A.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_A.png deleted file mode 100644 index 8eeb0179d7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_A.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_B.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_B.png deleted file mode 100644 index ffac706bbd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_B.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_C.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_C.png deleted file mode 100644 index 87c6017569..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_C.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_D.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_D.png deleted file mode 100644 index 61d1f49a12..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_D.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_F.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_F.png deleted file mode 100644 index 548c0ec283..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_F.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_G.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_G.png deleted file mode 100644 index 172fab4657..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_G.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_H.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_H.png deleted file mode 100644 index 68ab46a03d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_H.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_I.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_I.png deleted file mode 100644 index 4443dc8024..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_I.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png deleted file mode 100644 index ed8ad55ba2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png.mcmeta deleted file mode 100644 index ba9119c7ad..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "animation":{ - "frametime":1, - "frames": [0, 2, 3, 3, 4, 5, 6, 7, 7, 6, 5, 4, 3, 2, 1, 0] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_RED_A.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_RED_A.png deleted file mode 100644 index eb3257c754..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_RED_A.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_RED_B.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_RED_B.png deleted file mode 100644 index 3a1b683837..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_RED_B.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_A.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_A.png deleted file mode 100644 index 5bc352238f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_A.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_B.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_B.png deleted file mode 100644 index 32b6735a0d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_B.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_C.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_C.png deleted file mode 100644 index 946559cf4e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_C.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_A.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_A.png deleted file mode 100644 index 196600afdb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_A.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_B.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_B.png deleted file mode 100644 index 1bcd1ec78f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_B.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_C.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_C.png deleted file mode 100644 index 54381fcf21..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_C.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_D.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_D.png deleted file mode 100644 index 0cf3f40762..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_D.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_H.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_H.png deleted file mode 100644 index b4bc37fbda..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/metro/TEXTURE_TECH_PANEL_H.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox1.png deleted file mode 100644 index 05b752e0e7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox2.png deleted file mode 100644 index 231b6b17af..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox3.png deleted file mode 100644 index 88cb664c41..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox4.png deleted file mode 100644 index a627b64eef..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox5.png deleted file mode 100644 index 9564596329..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox6.png deleted file mode 100644 index 1023b718cc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redox/redox6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redstone/redstone_meter/top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/redstone/redstone_meter/top.png deleted file mode 100644 index ba45c43891..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/redstone/redstone_meter/top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png deleted file mode 100644 index 32254623d1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_1.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_1.png deleted file mode 100644 index 2d497c1f81..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_2.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_2.png deleted file mode 100644 index efec483a20..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_3.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_3.png deleted file mode 100644 index c6376014e2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_4.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_4.png deleted file mode 100644 index 55c42584ba..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_5.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_5.png deleted file mode 100644 index 6b2c6a77b1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_6.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_6.png deleted file mode 100644 index 446478f1de..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_7.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_7.png deleted file mode 100644 index a8f51c0b68..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_8.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_8.png deleted file mode 100644 index 08afad396a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/special/block_8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_pine.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_pine.png deleted file mode 100644 index 68949e5f47..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_pine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_pine_opaque.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_pine_opaque.png deleted file mode 100644 index c7c0d6492f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_pine_opaque.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest.png deleted file mode 100644 index ddccb0e4fa..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest_opaque.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest_opaque.png deleted file mode 100644 index 96e756c22c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest_opaque.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_pine.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_pine.png deleted file mode 100644 index ae77894258..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_pine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_pine_top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_pine_top.png deleted file mode 100644 index 146b0a99b6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_pine_top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest.png deleted file mode 100644 index 3ff2ee2021..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest_top.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest_top.png deleted file mode 100644 index 99137b6f26..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest_top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/saplings/sapling_pine.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/saplings/sapling_pine.png deleted file mode 100644 index f4c3ca84ac..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/saplings/sapling_pine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/saplings/sapling_rainforest.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/saplings/sapling_rainforest.png deleted file mode 100644 index 93d414d695..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/trees/saplings/sapling_rainforest.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/blocks/workbench.png b/gtpp/src/main/resources/assets/miscutils/textures/blocks/workbench.png deleted file mode 100644 index b40ad65c71..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/blocks/workbench.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/entity/golemStaballoy.png b/gtpp/src/main/resources/assets/miscutils/textures/entity/golemStaballoy.png deleted file mode 100644 index 307a25bd3f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/entity/golemStaballoy.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/entity/sickBlaze.png b/gtpp/src/main/resources/assets/miscutils/textures/entity/sickBlaze.png deleted file mode 100644 index d2b36d633d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/entity/sickBlaze.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/enviroment/snow.png b/gtpp/src/main/resources/assets/miscutils/textures/enviroment/snow.png deleted file mode 100644 index a91935ee0e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/enviroment/snow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/CircuitProgrammer.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/CircuitProgrammer.png deleted file mode 100644 index 8f77124bbb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/CircuitProgrammer.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/FishTrap.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/FishTrap.png deleted file mode 100644 index 35423fffb9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/FishTrap.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/PestKiller.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/PestKiller.png deleted file mode 100644 index d1978ae04a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/PestKiller.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/ProjectTable.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/ProjectTable.png deleted file mode 100644 index e8f65a6752..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/ProjectTable.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/SuperJukebox.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/SuperJukebox.png deleted file mode 100644 index c50c0da4a5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/SuperJukebox.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/VolumetricFlaskSetter.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/VolumetricFlaskSetter.png deleted file mode 100644 index 08f9761233..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/VolumetricFlaskSetter.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/background/yellow.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/background/yellow.png deleted file mode 100644 index a8139371ef..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/background/yellow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/button/standard_bronze.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/button/standard_bronze.png deleted file mode 100644 index 588f192622..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/button/standard_bronze.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/nei/decayables.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/nei/decayables.png deleted file mode 100644 index d1827433a0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/nei/decayables.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/nei/widgets.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/nei/widgets.png deleted file mode 100644 index 0dc26c43e4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/nei/widgets.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/active_state.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/active_state.png deleted file mode 100644 index c6d124f31d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/active_state.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/automation.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/automation.png deleted file mode 100644 index 409f62e59d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/automation.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/bottom.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/bottom.png deleted file mode 100644 index c3e0407f36..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/bottom.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/bottom_gray.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/bottom_gray.png deleted file mode 100644 index 67bfa33912..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/bottom_gray.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/change_mode.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/change_mode.png deleted file mode 100644 index b3bd898ed6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/change_mode.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/east.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/east.png deleted file mode 100644 index 30beb06808..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/east.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/east_gray.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/east_gray.png deleted file mode 100644 index 7b59b1be61..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/east_gray.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/flush.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/flush.png deleted file mode 100644 index 31b610f3b0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/flush.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/flush_bronze.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/flush_bronze.png deleted file mode 100644 index 60c44a3257..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/flush_bronze.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/harvester_mode.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/harvester_mode.png deleted file mode 100644 index d50a5d1ea6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/harvester_mode.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/harvester_toggle.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/harvester_toggle.png deleted file mode 100644 index d69ecd279d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/harvester_toggle.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/lock.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/lock.png deleted file mode 100644 index 06bada79fb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/lock.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/north.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/north.png deleted file mode 100644 index 9fd2931c21..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/north.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/north_gray.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/north_gray.png deleted file mode 100644 index 70e87d7982..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/north_gray.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/plus_minus.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/plus_minus.png deleted file mode 100644 index 5b30875a90..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/plus_minus.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/south.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/south.png deleted file mode 100644 index f8987686fa..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/south.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/south_gray.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/south_gray.png deleted file mode 100644 index 923877cccb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/south_gray.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/tip_green.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/tip_green.png deleted file mode 100644 index 8b40306e54..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/tip_green.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/tip_red.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/tip_red.png deleted file mode 100644 index 64779478ce..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/tip_red.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/top.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/top.png deleted file mode 100644 index 15fb9996ba..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/top.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/top_gray.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/top_gray.png deleted file mode 100644 index c33ee088e0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/top_gray.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/west.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/west.png deleted file mode 100644 index 882c2452b9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/west.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/west_gray.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/west_gray.png deleted file mode 100644 index 5c2f9c4e1b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_button/west_gray.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow.png deleted file mode 100644 index 3e07d39df6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_4.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_4.png deleted file mode 100644 index 713dc41d35..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_blue.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_blue.png deleted file mode 100644 index f6a005c782..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_blue.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_bronze.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_bronze.png deleted file mode 100644 index 77be0116af..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_bronze.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_cyan.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_cyan.png deleted file mode 100644 index c896015c52..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_cyan.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_green.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_green.png deleted file mode 100644 index c7ea4a206f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_green.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_magenta.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_magenta.png deleted file mode 100644 index f83ff85b9e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_magenta.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_red.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_red.png deleted file mode 100644 index f36fa57f59..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_red.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_yellow.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_yellow.png deleted file mode 100644 index e12646f993..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/arrow_yellow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/blue.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/blue.png deleted file mode 100644 index 5074a409b9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/blue.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/canister_dark.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/canister_dark.png deleted file mode 100644 index 427e2983a9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/canister_dark.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/chest.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/chest.png deleted file mode 100644 index 021cb84f7a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/chest.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/coal.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/coal.png deleted file mode 100644 index 7beff5733a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/coal.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/craft_output.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/craft_output.png deleted file mode 100644 index c1b5418bf0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/craft_output.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/craft_output_bronze.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/craft_output_bronze.png deleted file mode 100644 index bb54e31684..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/craft_output_bronze.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/cyan.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/cyan.png deleted file mode 100644 index 6209845602..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/cyan.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/electric_tool.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/electric_tool.png deleted file mode 100644 index b635a5439c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/electric_tool.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/fertilizer.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/fertilizer.png deleted file mode 100644 index dcaa33eea6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/fertilizer.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/green.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/green.png deleted file mode 100644 index b7f053ab7e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/green.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/ingot.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/ingot.png deleted file mode 100644 index 12b52fd10c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/ingot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/magenta.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/magenta.png deleted file mode 100644 index 92dde402e7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/magenta.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/page_printed_bronze.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/page_printed_bronze.png deleted file mode 100644 index 1fae314bd6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/page_printed_bronze.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/park.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/park.png deleted file mode 100644 index 3485956d7d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/park.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/park_bronze.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/park_bronze.png deleted file mode 100644 index cea3edeb4f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/park_bronze.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/red.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/red.png deleted file mode 100644 index eee95dd0da..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/red.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/turbine.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/turbine.png deleted file mode 100644 index e19f99076e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/turbine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/weed_ex.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/weed_ex.png deleted file mode 100644 index 29cb47974f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/weed_ex.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/yellow.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/yellow.png deleted file mode 100644 index f240ceac4f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/overlay_slot/yellow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/abs_non_alloy_recipes.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/abs_non_alloy_recipes.png deleted file mode 100644 index 74065e8cbd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/abs_non_alloy_recipes.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/arrow_white_down.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/arrow_white_down.png deleted file mode 100644 index 68e6ea72b7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/arrow_white_down.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/electricity_error.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/electricity_error.png deleted file mode 100644 index 78a1a26bba..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/electricity_error.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/electricity_fine.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/electricity_fine.png deleted file mode 100644 index 786a49f565..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/electricity_fine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/energy_frame.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/energy_frame.png deleted file mode 100644 index 2e52af075c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/energy_frame.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/redstone_circuit_screen.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/redstone_circuit_screen.png deleted file mode 100644 index cde8dce299..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/redstone_circuit_screen.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/workbench_circle.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/workbench_circle.png deleted file mode 100644 index cca05c1e75..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/picture/workbench_circle.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/arrow_2.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/arrow_2.png deleted file mode 100644 index 5dab4e96a7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/arrow_2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/boiler_empty.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/boiler_empty.png deleted file mode 100644 index 6d7ef52c9a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/boiler_empty.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/fluid_reactor.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/fluid_reactor.png deleted file mode 100644 index 0db40a1fd1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/fluid_reactor.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/fuel.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/fuel.png deleted file mode 100644 index 247db50690..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/fuel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/pss_energy.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/pss_energy.png deleted file mode 100644 index 0e6fbe1722..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/progressbar/pss_energy.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/blue.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/blue.png deleted file mode 100644 index 74ef43ecf0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/blue.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/cyan.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/cyan.png deleted file mode 100644 index 35c18aefff..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/cyan.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/green.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/green.png deleted file mode 100644 index 051dda9b2b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/green.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/item_yellow.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/item_yellow.png deleted file mode 100644 index 319c925232..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/item_yellow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/magenta.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/magenta.png deleted file mode 100644 index 91da1181fb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/magenta.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/red.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/red.png deleted file mode 100644 index 82c4511c43..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/red.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/yellow.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/yellow.png deleted file mode 100644 index b77f186c5b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/slot/yellow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_angular_yellow.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_angular_yellow.png deleted file mode 100644 index fd373e2c85..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_angular_yellow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_dark_yellow.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_dark_yellow.png deleted file mode 100644 index 08c27f65e4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_dark_yellow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_yellow.png b/gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_yellow.png deleted file mode 100644 index e0c53c75ae..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/gui/tab/title_yellow.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/0.png deleted file mode 100644 index 4a7c1ce427..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/1.png deleted file mode 100644 index 4a7c1ce427..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/10.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/10.png deleted file mode 100644 index bf81a1b4b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/100.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/100.png deleted file mode 100644 index cedee004e4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/100.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png deleted file mode 100644 index c23772f461..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png.mcmeta deleted file mode 100644 index cc8a1f3c96..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png.mcmeta +++ /dev/null @@ -1 +0,0 @@ -{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/106.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/106.png deleted file mode 100644 index b3b257e59c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/106.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/107.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/107.png deleted file mode 100644 index 3d47ce434c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/107.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/108.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/108.png deleted file mode 100644 index 2b99670ea1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/108.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/109.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/109.png deleted file mode 100644 index e516903d26..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/109.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/11.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/11.png deleted file mode 100644 index bf81a1b4b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/110.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/110.png deleted file mode 100644 index 97767a73c6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/110.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/111.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/111.png deleted file mode 100644 index 3147037815..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/111.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/112.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/112.png deleted file mode 100644 index dce530370f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/112.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/113.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/113.png deleted file mode 100644 index 0c85939327..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/113.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/114.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/114.png deleted file mode 100644 index b3c3716abb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/114.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/115.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/115.png deleted file mode 100644 index a9a9c6fcee..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/115.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/12.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/12.png deleted file mode 100644 index 051b45e6bc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/13.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/13.png deleted file mode 100644 index 051b45e6bc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/14.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/14.png deleted file mode 100644 index 051b45e6bc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/140.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/140.png deleted file mode 100644 index 8b38dcd9ce..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/140.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/141.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/141.png deleted file mode 100644 index 53682976a8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/141.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/142.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/142.png deleted file mode 100644 index 8a21902982..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/142.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/143.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/143.png deleted file mode 100644 index 81f418e1a8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/143.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/144.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/144.png deleted file mode 100644 index 2e66f92a2c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/144.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/145.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/145.png deleted file mode 100644 index 61a783176e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/145.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/146.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/146.png deleted file mode 100644 index 16a79d6896..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/146.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/147.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/147.png deleted file mode 100644 index 4b39623750..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/147.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/148.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/148.png deleted file mode 100644 index fbe1b9ac82..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/148.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/149.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/149.png deleted file mode 100644 index 5979772ace..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/149.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/15.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/15.png deleted file mode 100644 index 051b45e6bc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/150.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/150.png deleted file mode 100644 index 254680aff4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/150.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/151.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/151.png deleted file mode 100644 index 29ba464570..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/151.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/152.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/152.png deleted file mode 100644 index f26db362f0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/152.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/16.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/16.png deleted file mode 100644 index 5ddb32de79..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/160.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/160.png deleted file mode 100644 index fa7f814d3a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/160.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/161.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/161.png deleted file mode 100644 index 673c6e011b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/161.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/17.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/17.png deleted file mode 100644 index 5ddb32de79..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/18.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/18.png deleted file mode 100644 index 5ddb32de79..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/19.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/19.png deleted file mode 100644 index 5ddb32de79..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/2.png deleted file mode 100644 index 4a7c1ce427..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/20.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/20.png deleted file mode 100644 index 38f7ec8756..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/200.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/200.png deleted file mode 100644 index e10815677a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/200.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/201.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/201.png deleted file mode 100644 index 661cd14817..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/201.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/202.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/202.png deleted file mode 100644 index 6c64b90877..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/202.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/203.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/203.png deleted file mode 100644 index ec3c0358a1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/203.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/204.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/204.png deleted file mode 100644 index daace0f92a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/204.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/205.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/205.png deleted file mode 100644 index f5d5a1bc39..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/205.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/206.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/206.png deleted file mode 100644 index d6ff394c66..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/206.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/207.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/207.png deleted file mode 100644 index 9f03d572b7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/207.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/208.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/208.png deleted file mode 100644 index 548784db2a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/208.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/21.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/21.png deleted file mode 100644 index 38f7ec8756..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/210.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/210.png deleted file mode 100644 index 6f403c14f5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/210.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/211.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/211.png deleted file mode 100644 index 6614c152a6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/211.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/213.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/213.png deleted file mode 100644 index 7da7ab1e69..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/213.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/214.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/214.png deleted file mode 100644 index 56da7e8d0d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/214.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/215.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/215.png deleted file mode 100644 index cffad53f13..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/215.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/216.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/216.png deleted file mode 100644 index 6c9c006044..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/216.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/217.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/217.png deleted file mode 100644 index ee1c87e1b1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/217.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/218.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/218.png deleted file mode 100644 index 5d6a74cd72..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/218.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/219.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/219.png deleted file mode 100644 index 881bdaa78a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/219.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/22.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/22.png deleted file mode 100644 index 38f7ec8756..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/220.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/220.png deleted file mode 100644 index 00900203dc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/220.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/221.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/221.png deleted file mode 100644 index ccf9edc4a4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/221.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/23.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/23.png deleted file mode 100644 index 38f7ec8756..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/24.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/24.png deleted file mode 100644 index a1c2183ee8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/25.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/25.png deleted file mode 100644 index a1c2183ee8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/25.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/26.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/26.png deleted file mode 100644 index a1c2183ee8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/26.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/27.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/27.png deleted file mode 100644 index a1c2183ee8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/27.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/28.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/28.png deleted file mode 100644 index 5e4886b0f8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/28.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/29.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/29.png deleted file mode 100644 index 5e4886b0f8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/29.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/3.png deleted file mode 100644 index 4a7c1ce427..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/30.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/30.png deleted file mode 100644 index 5e4886b0f8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/30.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/31.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/31.png deleted file mode 100644 index 5e4886b0f8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/31.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/32.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/32.png deleted file mode 100644 index 4a7c1ce427..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/32.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/33.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/33.png deleted file mode 100644 index 1a3acd9e94..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/33.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/34.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/34.png deleted file mode 100644 index bf81a1b4b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/34.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/35.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/35.png deleted file mode 100644 index 051b45e6bc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/35.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/36.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/36.png deleted file mode 100644 index 5ddb32de79..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/36.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/37.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/37.png deleted file mode 100644 index 38f7ec8756..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/37.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/38.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/38.png deleted file mode 100644 index a1c2183ee8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/38.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/39.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/39.png deleted file mode 100644 index 5e4886b0f8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/39.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/4.png deleted file mode 100644 index 1a3acd9e94..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/40.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/40.png deleted file mode 100644 index a1b063620a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/40.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/41.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/41.png deleted file mode 100644 index 9b9c314475..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/41.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/42.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/42.png deleted file mode 100644 index b3f174ebd4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/42.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/43.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/43.png deleted file mode 100644 index 0939c7eb87..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/43.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/44.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/44.png deleted file mode 100644 index 23cc1deb66..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/44.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/5.png deleted file mode 100644 index 1a3acd9e94..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50.png deleted file mode 100644 index 52d46cb62c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/1.png deleted file mode 100644 index 6660384d76..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/2.png deleted file mode 100644 index 0b4e7d6583..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/3.png deleted file mode 100644 index 554a7d8e52..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/4.png deleted file mode 100644 index b567a0cd15..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/5.png deleted file mode 100644 index 891608d308..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/6.png deleted file mode 100644 index 246319069a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/7.png deleted file mode 100644 index 296c9b6c97..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/8.png deleted file mode 100644 index fe22c02056..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/50/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52.png deleted file mode 100644 index 52d46cb62c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/1.png deleted file mode 100644 index 6660384d76..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/2.png deleted file mode 100644 index 0b4e7d6583..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/3.png deleted file mode 100644 index 554a7d8e52..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/4.png deleted file mode 100644 index b567a0cd15..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/5.png deleted file mode 100644 index 891608d308..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/6.png deleted file mode 100644 index 246319069a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/7.png deleted file mode 100644 index 296c9b6c97..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/8.png deleted file mode 100644 index fe22c02056..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/52/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54.png deleted file mode 100644 index 52d46cb62c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/1.png deleted file mode 100644 index 6660384d76..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/2.png deleted file mode 100644 index 0b4e7d6583..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/3.png deleted file mode 100644 index 554a7d8e52..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/4.png deleted file mode 100644 index b567a0cd15..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/5.png deleted file mode 100644 index 891608d308..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/6.png deleted file mode 100644 index 246319069a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/7.png deleted file mode 100644 index 296c9b6c97..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/8.png deleted file mode 100644 index fe22c02056..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/54/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/55.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/55.png deleted file mode 100644 index 23e0a10e06..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/55.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/6.png deleted file mode 100644 index 1a3acd9e94..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/61.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/61.png deleted file mode 100644 index f1756e78ba..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/61.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/62.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/62.png deleted file mode 100644 index 9190330469..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/62.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/63.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/63.png deleted file mode 100644 index f1756e78ba..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/63.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/64.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/64.png deleted file mode 100644 index 032a256989..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/64.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/66.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/66.png deleted file mode 100644 index d96558c8f5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/66.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/68.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/68.png deleted file mode 100644 index 4d8f366b9c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/68.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/7.png deleted file mode 100644 index 1a3acd9e94..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/70.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/70.png deleted file mode 100644 index e914a7c788..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/70.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/700.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/700.png deleted file mode 100644 index af05b249b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/700.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/71.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/71.png deleted file mode 100644 index bd629f0ee4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/71.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/72.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/72.png deleted file mode 100644 index e1ea94bac6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/72.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/720.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/720.png deleted file mode 100644 index 6b6d885084..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/720.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/73.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/73.png deleted file mode 100644 index 68de2aba73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/73.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/74.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/74.png deleted file mode 100644 index c0d974240c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/74.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/75.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/75.png deleted file mode 100644 index e1f8be799b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/75.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/751.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/751.png deleted file mode 100644 index ee106b029f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/751.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/752.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/752.png deleted file mode 100644 index 3aed0ef200..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/752.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/753.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/753.png deleted file mode 100644 index 03d271872e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/753.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/754.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/754.png deleted file mode 100644 index dd87199ae2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/754.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/755.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/755.png deleted file mode 100644 index 5b9053e1f4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/755.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/756.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/756.png deleted file mode 100644 index 23c87b8a2d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/756.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/758.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/758.png deleted file mode 100644 index d8d2012c51..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/758.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/759.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/759.png deleted file mode 100644 index 1e538bce45..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/759.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/76.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/76.png deleted file mode 100644 index ed806126fb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/76.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/77.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/77.png deleted file mode 100644 index a7452f94ee..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/77.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/78.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/78.png deleted file mode 100644 index e371af02f9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/78.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/79.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/79.png deleted file mode 100644 index e911b80d03..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/79.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/8.png deleted file mode 100644 index bf81a1b4b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/9.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/9.png deleted file mode 100644 index bf81a1b4b2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metaitem.01/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/0.png deleted file mode 100644 index 3bcbace856..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/1.png deleted file mode 100644 index eb6baf34ae..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/2.png deleted file mode 100644 index 3b72cb69b6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/3.png deleted file mode 100644 index ca0ad43c3b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/MU-metatool.01/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/baubles/itemFireProtectGlovesBetter.png b/gtpp/src/main/resources/assets/miscutils/textures/items/baubles/itemFireProtectGlovesBetter.png deleted file mode 100644 index 8576ae1b7a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/baubles/itemFireProtectGlovesBetter.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BasicAlgae.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BasicAlgae.png deleted file mode 100644 index efa1a6e0ca..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BasicAlgae.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BasicAlgae_Overlay.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BasicAlgae_Overlay.png deleted file mode 100644 index aaea7803b5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BasicAlgae_Overlay.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/0.png deleted file mode 100644 index 4143a1eb39..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/1.png deleted file mode 100644 index f39df3b01d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/10.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/10.png deleted file mode 100644 index 10af629bb7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/11.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/11.png deleted file mode 100644 index b674e687f5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/12.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/12.png deleted file mode 100644 index a9040b5f80..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/13.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/13.png deleted file mode 100644 index 4be42c2631..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/14.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/14.png deleted file mode 100644 index 5ce86b105c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/15.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/15.png deleted file mode 100644 index ac7e30177f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/16.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/16.png deleted file mode 100644 index 37867c28e4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/17.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/17.png deleted file mode 100644 index f1b2d9578c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/18.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/18.png deleted file mode 100644 index 89b5cf0d67..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/19.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/19.png deleted file mode 100644 index e0d4ecdd46..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/2.png deleted file mode 100644 index b49d729143..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/20.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/20.png deleted file mode 100644 index 9147fb942b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/21.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/21.png deleted file mode 100644 index 43a02b8eaf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/22.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/22.png deleted file mode 100644 index b58efee183..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/23.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/23.png deleted file mode 100644 index 7f6067e83e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/24.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/24.png deleted file mode 100644 index a0590c188c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/3.png deleted file mode 100644 index 9439d51b25..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/4.png deleted file mode 100644 index fe06094f2d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/5.png deleted file mode 100644 index f4bd2f6df2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/6.png deleted file mode 100644 index abf0b77778..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/7.png deleted file mode 100644 index 338a39d5f6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/8.png deleted file mode 100644 index 73c2408ce8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/9.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/9.png deleted file mode 100644 index b5ab13cb1f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/BioCircuit/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/0.png deleted file mode 100644 index 57d77be16a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/1.png deleted file mode 100644 index 51bb4587d9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/10.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/10.png deleted file mode 100644 index e81bae4aae..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/11.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/11.png deleted file mode 100644 index 0cc273996e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/12.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/12.png deleted file mode 100644 index dca743acd3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/13.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/13.png deleted file mode 100644 index 15257d9efd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/14.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/14.png deleted file mode 100644 index f81fc43aff..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/15.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/15.png deleted file mode 100644 index 31951671cd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/16.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/16.png deleted file mode 100644 index 2c6e0b8cb6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/17.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/17.png deleted file mode 100644 index 4309f3a975..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/18.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/18.png deleted file mode 100644 index e82660e9f8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/19.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/19.png deleted file mode 100644 index dc2070e635..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/2.png deleted file mode 100644 index 2cdf37adad..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/20.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/20.png deleted file mode 100644 index 9b536f84d0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/21.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/21.png deleted file mode 100644 index 1a04c2415c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/22.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/22.png deleted file mode 100644 index 77be3ef6a8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/23.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/23.png deleted file mode 100644 index 110cd7f8e8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/24.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/24.png deleted file mode 100644 index 0c065db4ce..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/25.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/25.png deleted file mode 100644 index 168b15adb3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/25.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/3.png deleted file mode 100644 index c98e2d6319..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/4.png deleted file mode 100644 index af0bcc7064..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/5.png deleted file mode 100644 index 1b60b7f555..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/6.png deleted file mode 100644 index 7f6f045430..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/7.png deleted file mode 100644 index 8a2cd2891b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/8.png deleted file mode 100644 index c8c6299d7b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/9.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/9.png deleted file mode 100644 index df99f3f5e8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bioscience/MetaItem1/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketCryotheum.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketCryotheum.png deleted file mode 100644 index f6c9a9f131..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketCryotheum.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketCryotheum.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketCryotheum.png.mcmeta deleted file mode 100644 index 70cc4d313c..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketCryotheum.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 6 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketEnder.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketEnder.png deleted file mode 100644 index 6a00cf1509..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketEnder.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketEnder.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketEnder.png.mcmeta deleted file mode 100644 index f6730e30a9..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketEnder.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png b/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png deleted file mode 100644 index 82f1bb4b84..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png.mcmeta deleted file mode 100644 index ddc2f9fb7a..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png.mcmeta +++ /dev/null @@ -1,23 +0,0 @@ -{ - "animation": { - "frametime": 2, - "frames": [ - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1, - 0 - ] - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCactusCharcoal.png b/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCactusCharcoal.png deleted file mode 100644 index 3cb0ac7097..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCactusCharcoal.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCactusCoke.png b/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCactusCoke.png deleted file mode 100644 index 9dc98ba18d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCactusCoke.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCoalCoke.png b/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCoalCoke.png deleted file mode 100644 index 4f8fd406d4..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemCoalCoke.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemSugarCharcoal.png b/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemSugarCharcoal.png deleted file mode 100644 index f66a217c78..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemSugarCharcoal.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemSugarCoke.png b/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemSugarCoke.png deleted file mode 100644 index 055655ebe1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/burnables/itemSugarCoke.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/1.png deleted file mode 100644 index 9039d443c3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/2.png deleted file mode 100644 index 7023e7ce82..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/3.png deleted file mode 100644 index 4d787e7aa8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/4.png deleted file mode 100644 index 9320de0611..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/5.png deleted file mode 100644 index ab8771c89c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/6.png deleted file mode 100644 index a01f435e72..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/7.png deleted file mode 100644 index fb5a5fba43..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/8.png deleted file mode 100644 index aff1ec693f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/9.png b/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/9.png deleted file mode 100644 index 0b9cf4d18e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/chargepack/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/0.png deleted file mode 100644 index 1938287f27..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/1.png deleted file mode 100644 index 327e530f1b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/10.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/10.png deleted file mode 100644 index 9e48f50335..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/11.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/11.png deleted file mode 100644 index 32ffcb8008..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/12.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/12.png deleted file mode 100644 index 48b1eadf93..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/13.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/13.png deleted file mode 100644 index 7f6a13cb82..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/14.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/14.png deleted file mode 100644 index 9f59404337..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/15.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/15.png deleted file mode 100644 index ed0f49bd0f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/2.png deleted file mode 100644 index 635be463af..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/3.png deleted file mode 100644 index 24afa30c17..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/4.png deleted file mode 100644 index 847e54ef60..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/5.png deleted file mode 100644 index ddd9cb7a2f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/6.png deleted file mode 100644 index e21c4fb78c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/7.png deleted file mode 100644 index 29e270f862..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/8.png deleted file mode 100644 index 87a48050fd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/9.png b/gtpp/src/main/resources/assets/miscutils/textures/items/covers/9.png deleted file mode 100644 index 3836414587..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/covers/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_0.png deleted file mode 100644 index 652f68aeb7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_1.png deleted file mode 100644 index 7a14abccbd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_2.png deleted file mode 100644 index cc0a5fe94d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_3.png deleted file mode 100644 index ce0dbab306..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_0.png deleted file mode 100644 index 2b2f615676..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_1.png deleted file mode 100644 index f01ba96be9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_2.png deleted file mode 100644 index f57bb1308b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_3.png deleted file mode 100644 index 77a416a3a6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dust.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dust.png deleted file mode 100644 index 4c8e6485ec..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dust.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dustSmall.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dustSmall.png deleted file mode 100644 index c432a032c2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dustSmall.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/dustTiny.png b/gtpp/src/main/resources/assets/miscutils/textures/items/dustTiny.png deleted file mode 100644 index 8f597c61e0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/dustTiny.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/0.png deleted file mode 100644 index 944ab47126..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/1.png deleted file mode 100644 index 2d235ca65d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/2.png deleted file mode 100644 index ec81acba2c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/3.png deleted file mode 100644 index 1fc103297a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/4.png deleted file mode 100644 index db5ddf0063..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/5.png deleted file mode 100644 index 2497c88e2d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/6.png deleted file mode 100644 index 083db84ef1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/7.png deleted file mode 100644 index 27927d0db6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/8.png deleted file mode 100644 index 7013c41d6b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/food/MetaItem1/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/frameAccelerated.png b/gtpp/src/main/resources/assets/miscutils/textures/items/frameAccelerated.png deleted file mode 100644 index e02bd78586..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/frameAccelerated.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/frameArborists.png b/gtpp/src/main/resources/assets/miscutils/textures/items/frameArborists.png deleted file mode 100644 index b55d3a92e6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/frameArborists.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/frameBusy.png b/gtpp/src/main/resources/assets/miscutils/textures/items/frameBusy.png deleted file mode 100644 index ea20d3d046..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/frameBusy.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/frameDecaying.png b/gtpp/src/main/resources/assets/miscutils/textures/items/frameDecaying.png deleted file mode 100644 index 3e6feb1a3c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/frameDecaying.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/frameMutagenic.png b/gtpp/src/main/resources/assets/miscutils/textures/items/frameMutagenic.png deleted file mode 100644 index 0a24289776..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/frameMutagenic.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/frameSlowing.png b/gtpp/src/main/resources/assets/miscutils/textures/items/frameSlowing.png deleted file mode 100644 index 8d07fdd47b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/frameSlowing.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/frameStabilizing.png b/gtpp/src/main/resources/assets/miscutils/textures/items/frameStabilizing.png deleted file mode 100644 index 1fed360bf7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/frameStabilizing.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/frameUseless.png b/gtpp/src/main/resources/assets/miscutils/textures/items/frameUseless.png deleted file mode 100644 index e316e0a5d6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/frameUseless.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER.png b/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER.png deleted file mode 100644 index 3030cbe6aa..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER_OVERLAY.png b/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE.png b/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE.png deleted file mode 100644 index 5114f2c9a8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER.png b/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER.png deleted file mode 100644 index 1c6257f336..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_SNIPS.png b/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_SNIPS.png deleted file mode 100644 index 8ccd7f3c1a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_SNIPS.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_SNIPS_OVERLAY.png b/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_SNIPS_OVERLAY.png deleted file mode 100644 index d83a131004..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_SNIPS_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/RENDERING_ERROR.png b/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/RENDERING_ERROR.png deleted file mode 100644 index ae13305b96..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/RENDERING_ERROR.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/VOID.png b/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/VOID.png deleted file mode 100644 index db16e741fe..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/iconsets/VOID.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/ion/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/ion/0.png deleted file mode 100644 index c56a04238f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/ion/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/ion/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/ion/1.png deleted file mode 100644 index 174d2ad950..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/ion/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/ion/IonBase.png b/gtpp/src/main/resources/assets/miscutils/textures/items/ion/IonBase.png deleted file mode 100644 index fd342f7db2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/ion/IonBase.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/item.empty.png b/gtpp/src/main/resources/assets/miscutils/textures/items/item.empty.png deleted file mode 100644 index c054d35cce..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/item.empty.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemAirFilter.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemAirFilter.png deleted file mode 100644 index da4b975517..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemAirFilter.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemAlkalusDisk.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemAlkalusDisk.png deleted file mode 100644 index 8553a13cfb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemAlkalusDisk.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBasicTurbine.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemBasicTurbine.png deleted file mode 100644 index 62de905fb9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBasicTurbine.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBlueprint.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemBlueprint.png deleted file mode 100644 index 593ba0ac17..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBlueprint.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBoilerChassis.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemBoilerChassis.png deleted file mode 100644 index 1ac3bff818..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBoilerChassis.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBook.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemBook.png deleted file mode 100644 index f6cdf72bda..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBook.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBufferCore.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemBufferCore.png deleted file mode 100644 index 3e41cfaa1c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemBufferCore.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCell.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemCell.png deleted file mode 100644 index 023291b957..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCell.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCellPlasma.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemCellPlasma.png deleted file mode 100644 index 1c93293744..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCellPlasma.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCellPlasma_Overlay.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemCellPlasma_Overlay.png deleted file mode 100644 index ce3c6377c7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCellPlasma_Overlay.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCell_Overlay.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemCell_Overlay.png deleted file mode 100644 index 35c124ab0c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCell_Overlay.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCircuitLFTR.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemCircuitLFTR.png deleted file mode 100644 index 723f62e278..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemCircuitLFTR.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemDehydratorCoil.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemDehydratorCoil.png deleted file mode 100644 index c7a849556f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemDehydratorCoil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemDehydratorCoilWire.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemDehydratorCoilWire.png deleted file mode 100644 index 8687d1c8ca..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemDehydratorCoilWire.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png deleted file mode 100644 index 7c03ca0ada..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemEnergeticShaft.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemEnergeticShaft.png deleted file mode 100644 index bf9ab22ce2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemEnergeticShaft.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemGear.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemGear.png deleted file mode 100644 index 6d0cf3be50..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemGear.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemHatTinFoil.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemHatTinFoil.png deleted file mode 100644 index 91f1cad62e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemHatTinFoil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIngot.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemIngot.png deleted file mode 100644 index a904365fba..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIngot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIngotBatteryAlloy.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemIngotBatteryAlloy.png deleted file mode 100644 index edaac2807f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIngotBatteryAlloy.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIngotHot.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemIngotHot.png deleted file mode 100644 index d0f73e2868..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIngotHot.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png deleted file mode 100644 index 73c2cbe026..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIridiumShaft.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemIridiumShaft.png deleted file mode 100644 index 585b862d12..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemIridiumShaft.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemLavaFilter.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemLavaFilter.png deleted file mode 100644 index 92a06a3a9a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemLavaFilter.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png deleted file mode 100644 index d10128babd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png deleted file mode 100644 index b93430f732..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemPlate.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemPlate.png deleted file mode 100644 index b5a9ab5214..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemPlate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemShard.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemShard.png deleted file mode 100644 index 104a59d2b3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemShard.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemShovel.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemShovel.png deleted file mode 100644 index 8e1c0c2826..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemShovel.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png deleted file mode 100644 index cd376cb5cb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemTungstenSteelShaft.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemTungstenSteelShaft.png deleted file mode 100644 index f08ba26585..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemTungstenSteelShaft.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png deleted file mode 100644 index 89f7b9474a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemUltimetShaft.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemUltimetShaft.png deleted file mode 100644 index df6c9b9c49..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemUltimetShaft.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png deleted file mode 100644 index 5dea2ec1e5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/itemVibrantShaft.png b/gtpp/src/main/resources/assets/miscutils/textures/items/itemVibrantShaft.png deleted file mode 100644 index 3a1fe64176..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/itemVibrantShaft.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/magicfeather.png b/gtpp/src/main/resources/assets/miscutils/textures/items/magicfeather.png deleted file mode 100644 index 634529b925..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/magicfeather.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustBlizz.png b/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustBlizz.png deleted file mode 100644 index e253eea6de..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustBlizz.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustBlizz.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustBlizz.png.mcmeta deleted file mode 100644 index c5d457f93d..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustBlizz.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 1 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustCryotheum.png b/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustCryotheum.png deleted file mode 100644 index 960b304439..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustCryotheum.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustCryotheum.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustCryotheum.png.mcmeta deleted file mode 100644 index c5d457f93d..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustCryotheum.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 1 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustPyrotheum.png b/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustPyrotheum.png deleted file mode 100644 index eaf605e762..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustPyrotheum.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustPyrotheum.png.mcmeta b/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustPyrotheum.png.mcmeta deleted file mode 100644 index c5d457f93d..0000000000 --- a/gtpp/src/main/resources/assets/miscutils/textures/items/material/DustPyrotheum.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 1 - } -} \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/material/RodBlizz.png b/gtpp/src/main/resources/assets/miscutils/textures/items/material/RodBlizz.png deleted file mode 100644 index d813e6b746..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/material/RodBlizz.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/0.png deleted file mode 100644 index a0a32d4508..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/1.png deleted file mode 100644 index 4eddfa1727..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/10.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/10.png deleted file mode 100644 index 09eee049a9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/11.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/11.png deleted file mode 100644 index 7f636919b6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/12.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/12.png deleted file mode 100644 index 4e9504b03f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/13.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/13.png deleted file mode 100644 index d929480c16..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/14.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/14.png deleted file mode 100644 index 7338066c1a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/15.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/15.png deleted file mode 100644 index 189a3127d9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/16.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/16.png deleted file mode 100644 index 8824201ff3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/17.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/17.png deleted file mode 100644 index edea5115c0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/18.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/18.png deleted file mode 100644 index d3e63562d7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/19.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/19.png deleted file mode 100644 index 43f9278b2c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/2.png deleted file mode 100644 index 292207ae7e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/20.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/20.png deleted file mode 100644 index 0e2ce23565..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/21.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/21.png deleted file mode 100644 index 758fa46941..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/22.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/22.png deleted file mode 100644 index 08bda97b66..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/23.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/23.png deleted file mode 100644 index 9ba21b22eb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/24.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/24.png deleted file mode 100644 index bc6aec8854..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/3.png deleted file mode 100644 index d085b86507..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/4.png deleted file mode 100644 index faf8db0576..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/5.png deleted file mode 100644 index 3a30274238..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/6.png deleted file mode 100644 index 8930ce52ef..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/7.png deleted file mode 100644 index 0581d47446..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/8.png deleted file mode 100644 index 6bd3c2c682..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/9.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/9.png deleted file mode 100644 index 430f1aed3d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/0.png deleted file mode 100644 index 3fe49c3a57..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/1.png deleted file mode 100644 index 39ffa85711..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/10.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/10.png deleted file mode 100644 index 18ded814cf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/11.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/11.png deleted file mode 100644 index b7e191c79f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/12.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/12.png deleted file mode 100644 index 49feb199e0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/13.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/13.png deleted file mode 100644 index b70178d315..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/14.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/14.png deleted file mode 100644 index 77741644ed..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/15.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/15.png deleted file mode 100644 index d48096c85c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/16.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/16.png deleted file mode 100644 index cef33d17fd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/17.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/17.png deleted file mode 100644 index 4b752e7a9a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/18.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/18.png deleted file mode 100644 index 23fdb190c7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/19.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/19.png deleted file mode 100644 index 94e2a856c9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/2.png deleted file mode 100644 index d86b5b357d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/20.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/20.png deleted file mode 100644 index d7cbdb8f45..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/21.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/21.png deleted file mode 100644 index 2531eaff52..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/22.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/22.png deleted file mode 100644 index d594dc4be8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/23.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/23.png deleted file mode 100644 index d96dd2b000..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/24.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/24.png deleted file mode 100644 index 56067466ad..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/3.png deleted file mode 100644 index 43438c4ce5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/4.png deleted file mode 100644 index 8f0db073cd..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/5.png deleted file mode 100644 index 40ec84db70..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/6.png deleted file mode 100644 index c63ad0ba19..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/7.png deleted file mode 100644 index aad8c7ca62..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/8.png deleted file mode 100644 index c9b908ec61..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/9.png b/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/9.png deleted file mode 100644 index b8e02c82ea..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/particle/new/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/personalCloakingDevice.png b/gtpp/src/main/resources/assets/miscutils/textures/items/personalCloakingDevice.png deleted file mode 100644 index 2d196cb9ed..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/personalCloakingDevice.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/processing/MilledOre/milled.png b/gtpp/src/main/resources/assets/miscutils/textures/items/processing/MilledOre/milled.png deleted file mode 100644 index 2c56204a7e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/processing/MilledOre/milled.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/processing/MilledOre/milled_OVERLAY.png b/gtpp/src/main/resources/assets/miscutils/textures/items/processing/MilledOre/milled_OVERLAY.png deleted file mode 100644 index cfec0f5d8e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/processing/MilledOre/milled_OVERLAY.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/research/note.png b/gtpp/src/main/resources/assets/miscutils/textures/items/research/note.png deleted file mode 100644 index 795eaeb193..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/research/note.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/0.png deleted file mode 100644 index 0ae88d993d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/1.png deleted file mode 100644 index fdc81d8566..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/10.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/10.png deleted file mode 100644 index 2a8e28155c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/11.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/11.png deleted file mode 100644 index fc33c3a20e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/12.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/12.png deleted file mode 100644 index d79ccb6457..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/13.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/13.png deleted file mode 100644 index 0b1a12cf05..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/14.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/14.png deleted file mode 100644 index 3182d9cb04..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/15.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/15.png deleted file mode 100644 index eeecdbd59a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/16.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/16.png deleted file mode 100644 index 3d5f296660..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/17.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/17.png deleted file mode 100644 index 440fd477d9..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/18.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/18.png deleted file mode 100644 index 463c0ccce0..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/19.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/19.png deleted file mode 100644 index 982eca6df8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/2.png deleted file mode 100644 index 36afb07e7b..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/20.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/20.png deleted file mode 100644 index bba4b04331..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/21.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/21.png deleted file mode 100644 index d391055ad7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/22.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/22.png deleted file mode 100644 index acbf53c53c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/23.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/23.png deleted file mode 100644 index 4e01f007da..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/24.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/24.png deleted file mode 100644 index b80dca122e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/3.png deleted file mode 100644 index 370e0f84d2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/4.png deleted file mode 100644 index 3f1cfe4081..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/5.png deleted file mode 100644 index d789444710..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/6.png deleted file mode 100644 index 40ab646c04..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/7.png deleted file mode 100644 index 091f63b0c1..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/8.png deleted file mode 100644 index 3262bf8f9f..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/9.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/9.png deleted file mode 100644 index ce8104263e..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/AdvancedCircuit/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/0.png deleted file mode 100644 index f4ba0a2f0a..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/1.png deleted file mode 100644 index db59db96e3..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/10.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/10.png deleted file mode 100644 index b50c781c6d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/10.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/11.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/11.png deleted file mode 100644 index 0656c10957..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/11.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/12.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/12.png deleted file mode 100644 index 3a32ed06fc..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/12.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/13.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/13.png deleted file mode 100644 index 475f8dadfb..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/13.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/14.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/14.png deleted file mode 100644 index 568414660d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/14.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/15.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/15.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/15.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/16.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/16.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/16.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/17.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/17.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/17.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/18.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/18.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/18.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/19.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/19.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/19.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/2.png deleted file mode 100644 index 4649393bb2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/20.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/20.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/20.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/21.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/21.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/21.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/22.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/22.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/22.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/23.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/23.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/23.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/24.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/24.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/24.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/25.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/25.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/25.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/26.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/26.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/26.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/27.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/27.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/27.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/28.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/28.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/28.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/29.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/29.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/29.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/3.png deleted file mode 100644 index 5b47d172be..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/30.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/30.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/30.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/31.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/31.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/31.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/32.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/32.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/32.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/33.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/33.png deleted file mode 100644 index 22f0a4ff73..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/33.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/4.png deleted file mode 100644 index 995b19953c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/5.png deleted file mode 100644 index 3ec2502da2..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/6.png deleted file mode 100644 index aa65838418..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/7.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/7.png deleted file mode 100644 index 985954250c..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/7.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/8.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/8.png deleted file mode 100644 index 9b857a9277..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/8.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/9.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/9.png deleted file mode 100644 index 0c165f3e59..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/9.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/0.png deleted file mode 100644 index 7adcc6adcf..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/1.png deleted file mode 100644 index 2064052fa5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/2.png deleted file mode 100644 index a974943866..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/3.png deleted file mode 100644 index 97a796c871..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/4.png deleted file mode 100644 index b50c781c6d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/5.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/5.png deleted file mode 100644 index b50c781c6d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/5.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/6.png b/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/6.png deleted file mode 100644 index b50c781c6d..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/science/nuclear/MetaItem1/6.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/spawn_egg.png b/gtpp/src/main/resources/assets/miscutils/textures/items/spawn_egg.png deleted file mode 100644 index 23259c71f5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/spawn_egg.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/spawn_egg_overlay.png b/gtpp/src/main/resources/assets/miscutils/textures/items/spawn_egg_overlay.png deleted file mode 100644 index 83ec78f172..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/spawn_egg_overlay.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/token/0.png b/gtpp/src/main/resources/assets/miscutils/textures/items/token/0.png deleted file mode 100644 index 7947f30bb6..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/token/0.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/token/1.png b/gtpp/src/main/resources/assets/miscutils/textures/items/token/1.png deleted file mode 100644 index 850acc3e71..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/token/1.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/token/2.png b/gtpp/src/main/resources/assets/miscutils/textures/items/token/2.png deleted file mode 100644 index fa619dd1ed..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/token/2.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/token/3.png b/gtpp/src/main/resources/assets/miscutils/textures/items/token/3.png deleted file mode 100644 index 3ba45ed7af..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/token/3.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/items/token/4.png b/gtpp/src/main/resources/assets/miscutils/textures/items/token/4.png deleted file mode 100644 index 81af6a91c8..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/items/token/4.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/models/TinFoil.png b/gtpp/src/main/resources/assets/miscutils/textures/models/TinFoil.png deleted file mode 100644 index 6c8e967db5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/models/TinFoil.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/A.png b/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/A.png deleted file mode 100644 index b3499184b5..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/A.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/B.png b/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/B.png deleted file mode 100644 index 659aacbba7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/B.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/C.png b/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/C.png deleted file mode 100644 index 659aacbba7..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/C.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/D.png b/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/D.png deleted file mode 100644 index 61e5d6b520..0000000000 Binary files a/gtpp/src/main/resources/assets/miscutils/textures/space/hd10180/D.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/spiceoflife/lang/de_DE.lang b/gtpp/src/main/resources/assets/spiceoflife/lang/de_DE.lang deleted file mode 100644 index 63ad1e2a98..0000000000 --- a/gtpp/src/main/resources/assets/spiceoflife/lang/de_DE.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Items -item.spiceoflife.foodcrate.name=Voedselkrat \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/spiceoflife/lang/en_US.lang b/gtpp/src/main/resources/assets/spiceoflife/lang/en_US.lang deleted file mode 100644 index bf16f4dc93..0000000000 --- a/gtpp/src/main/resources/assets/spiceoflife/lang/en_US.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Items -item.spiceoflife.foodcrate.name=Food Crate \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/spiceoflife/lang/es_ES.lang b/gtpp/src/main/resources/assets/spiceoflife/lang/es_ES.lang deleted file mode 100644 index 02fe4c8806..0000000000 --- a/gtpp/src/main/resources/assets/spiceoflife/lang/es_ES.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Items -item.spiceoflife.foodcrate.name=Caja de comida \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/spiceoflife/lang/fr_FR.lang b/gtpp/src/main/resources/assets/spiceoflife/lang/fr_FR.lang deleted file mode 100644 index 418c2b7053..0000000000 --- a/gtpp/src/main/resources/assets/spiceoflife/lang/fr_FR.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Items -item.spiceoflife.foodcrate.name=Caisse alimentaire \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/spiceoflife/lang/it_IT.lang b/gtpp/src/main/resources/assets/spiceoflife/lang/it_IT.lang deleted file mode 100644 index 841b97c63f..0000000000 --- a/gtpp/src/main/resources/assets/spiceoflife/lang/it_IT.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Items -item.spiceoflife.foodcrate.name=Cassa Alimentare \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/spiceoflife/lang/ko_KR.lang b/gtpp/src/main/resources/assets/spiceoflife/lang/ko_KR.lang deleted file mode 100644 index 7e9973e936..0000000000 --- a/gtpp/src/main/resources/assets/spiceoflife/lang/ko_KR.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Items -item.spiceoflife.foodcrate.name=음식 상자 \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/spiceoflife/lang/ru_RU.lang b/gtpp/src/main/resources/assets/spiceoflife/lang/ru_RU.lang deleted file mode 100644 index e167a0ae03..0000000000 --- a/gtpp/src/main/resources/assets/spiceoflife/lang/ru_RU.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Items -item.spiceoflife.foodcrate.name=Продовольственный ящик \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/spiceoflife/lang/zh_CN.lang b/gtpp/src/main/resources/assets/spiceoflife/lang/zh_CN.lang deleted file mode 100644 index 76ba9db55b..0000000000 --- a/gtpp/src/main/resources/assets/spiceoflife/lang/zh_CN.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Items -item.spiceoflife.foodcrate.name=装箱食物 \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate.png b/gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate.png deleted file mode 100644 index b717dd0318..0000000000 Binary files a/gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate_open_empty.png b/gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate_open_empty.png deleted file mode 100644 index 4dbfd54ea7..0000000000 Binary files a/gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate_open_empty.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate_open_full.png b/gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate_open_full.png deleted file mode 100644 index 0284bd29ad..0000000000 Binary files a/gtpp/src/main/resources/assets/spiceoflife/textures/items/foodcrate_open_full.png and /dev/null differ diff --git a/gtpp/src/main/resources/assets/stevescarts/lang/en_US.lang b/gtpp/src/main/resources/assets/stevescarts/lang/en_US.lang deleted file mode 100644 index 56dc8390a6..0000000000 --- a/gtpp/src/main/resources/assets/stevescarts/lang/en_US.lang +++ /dev/null @@ -1 +0,0 @@ -item.SC2:crop_exotic_seeds.name=Exotic Seed Module [GT++] \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/stevescarts/lang/zh_CN.lang b/gtpp/src/main/resources/assets/stevescarts/lang/zh_CN.lang deleted file mode 100644 index 0b35e447e2..0000000000 --- a/gtpp/src/main/resources/assets/stevescarts/lang/zh_CN.lang +++ /dev/null @@ -1 +0,0 @@ -item.SC2:crop_exotic_seeds.name=异域种子模块[GT++] \ No newline at end of file diff --git a/gtpp/src/main/resources/assets/stevescarts/textures/items/crop_exotic_seeds_icon.png b/gtpp/src/main/resources/assets/stevescarts/textures/items/crop_exotic_seeds_icon.png deleted file mode 100644 index 63e0593119..0000000000 Binary files a/gtpp/src/main/resources/assets/stevescarts/textures/items/crop_exotic_seeds_icon.png and /dev/null differ -- cgit