From 221c2f0fe81430e7dd4087e5f5845bd7c62ec56d Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 7 Sep 2016 16:36:25 +1000 Subject: % Refactored the entire project to stop using MiscUtils everywhere possible, now it's gtPlusPlus. --- src/Java/gtPlusPlus/core/block/ModBlocks.java | 78 ++ .../gtPlusPlus/core/block/base/AdvancedBlock.java | 31 + .../gtPlusPlus/core/block/base/BasicBlock.java | 52 ++ .../core/block/base/BlockBaseModular.java | 154 ++++ src/Java/gtPlusPlus/core/block/base/MetaBlock.java | 28 + .../core/block/base/MultiTextureBlock.java | 36 + .../gtPlusPlus/core/block/general/LightGlass.java | 128 ++++ .../core/block/general/antigrief/TowerDevice.java | 276 +++++++ .../general/fluids/BlockFluidJackDaniels.java | 51 ++ .../block/general/fluids/FluidRegistryHandler.java | 50 ++ .../core/block/machine/BlockGtFrameBox.java | 35 + .../core/block/machine/Machine_Charger.java | 83 +++ .../gtPlusPlus/core/block/machine/Machine_NHG.java | 83 +++ .../core/block/machine/Machine_WireiusDeletus.java | 5 + .../machine/heliumgen/block/HeliumGenerator.java | 165 +++++ .../container/ContainerHeliumGenerator.java | 75 ++ .../machine/heliumgen/gui/GUIHeliumGenerator.java | 72 ++ .../machine/heliumgen/slots/InvSlotRadiation.java | 78 ++ .../tileentity/TileEntityHeliumGenerator.java | 648 +++++++++++++++++ src/Java/gtPlusPlus/core/commands/CommandMath.java | 205 ++++++ .../gtPlusPlus/core/commands/CommandUtils.java | 20 + src/Java/gtPlusPlus/core/common/CommonProxy.java | 132 ++++ .../core/common/compat/COMPAT_BigReactors.java | 19 + .../common/compat/COMPAT_CompactWindmills.java | 171 +++++ .../core/common/compat/COMPAT_EnderIO.java | 26 + .../core/common/compat/COMPAT_ExtraUtils.java | 33 + .../gtPlusPlus/core/common/compat/COMPAT_IC2.java | 62 ++ .../core/common/compat/COMPAT_MorePlanets.java | 37 + .../core/common/compat/COMPAT_PneumaticCraft.java | 17 + .../core/common/compat/COMPAT_RFTools.java | 18 + .../core/common/compat/COMPAT_SimplyJetpacks.java | 18 + .../core/common/compat/COMPAT_Thaumcraft.java | 47 ++ .../core/container/Container_BackpackBase.java | 206 ++++++ .../core/container/Container_Charger.java | 81 +++ .../gtPlusPlus/core/container/Container_NHG.java | 104 +++ .../gtPlusPlus/core/creative/AddToCreativeTab.java | 31 + .../creative/tabs/MiscUtilCreativeTabBlock.java | 18 + .../creative/tabs/MiscUtilCreativeTabMachines.java | 19 + .../creative/tabs/MiscUtilCreativeTabMisc.java | 18 + .../creative/tabs/MiscUtilCreativeTabOther.java | 18 + .../creative/tabs/MiscUtilCreativeTabTools.java | 18 + .../gtPlusPlus/core/entity/EntityTeleportFX.java | 236 ++++++ .../gtPlusPlus/core/gui/beta/Gui_ID_Registry.java | 56 ++ src/Java/gtPlusPlus/core/gui/beta/Gui_Types.java | 8 + src/Java/gtPlusPlus/core/gui/beta/MU_GuiId.java | 32 + .../gtPlusPlus/core/gui/item/GuiBaseBackpack.java | 122 ++++ .../gtPlusPlus/core/gui/machine/GUI_Charger.java | 50 ++ src/Java/gtPlusPlus/core/gui/machine/GUI_NHG.java | 50 ++ .../gtPlusPlus/core/handler/COMPAT_HANDLER.java | 155 ++++ .../core/handler/COMPAT_IntermodStaging.java | 41 ++ .../gtPlusPlus/core/handler/CraftingManager.java | 17 + src/Java/gtPlusPlus/core/handler/GuiHandler.java | 128 ++++ .../handler/Recipes/LateRegistrationHandler.java | 28 + .../core/handler/Recipes/RegistrationHandler.java | 32 + .../core/handler/events/LoginEventHandler.java | 84 +++ .../events/PickaxeBlockBreakEventHandler.java | 71 ++ .../handler/events/UnbreakableBlockManager.java | 138 ++++ .../gtPlusPlus/core/interfaces/IGuiManager.java | 16 + .../core/interfaces/IGuiManagerMiscUtils.java | 3 + .../core/inventories/BaseInventoryBackpack.java | 241 ++++++ src/Java/gtPlusPlus/core/item/ModItems.java | 488 +++++++++++++ .../core/item/base/BaseItemBackpack.java | 89 +++ .../gtPlusPlus/core/item/base/BaseItemGeneric.java | 30 + .../core/item/base/BaseItemWithCharge.java | 75 ++ .../core/item/base/BaseItemWithDamageValue.java | 29 + .../gtPlusPlus/core/item/base/BasicSpawnEgg.java | 259 +++++++ src/Java/gtPlusPlus/core/item/base/CoreItem.java | 118 +++ .../core/item/base/bolts/BaseItemBolt.java | 82 +++ .../core/item/base/dusts/BaseItemDust.java | 352 +++++++++ .../core/item/base/dusts/BaseItemDustAbstract.java | 42 ++ .../core/item/base/foods/BaseItemFood.java | 47 ++ .../core/item/base/foods/BaseItemHotFood.java | 78 ++ .../core/item/base/gears/BaseItemGear.java | 82 +++ .../core/item/base/ingots/BaseItemIngot.java | 118 +++ .../core/item/base/ingots/BaseItemIngotHot.java | 73 ++ .../core/item/base/itemblock/ItemBlockBase.java | 22 + .../core/item/base/itemblock/ItemBlockGtBlock.java | 51 ++ .../item/base/itemblock/ItemBlockGtFrameBox.java | 22 + .../core/item/base/plates/BaseItemPlate.java | 92 +++ .../core/item/base/rings/BaseItemRing.java | 82 +++ .../core/item/base/rods/BaseItemRod.java | 100 +++ .../core/item/base/rods/BaseItemRodLong.java | 99 +++ .../core/item/base/rotors/BaseItemRotor.java | 93 +++ .../core/item/base/screws/BaseItemScrew.java | 85 +++ .../gtPlusPlus/core/item/effects/RarityEffect.java | 41 ++ .../gtPlusPlus/core/item/effects/RarityEpic.java | 28 + .../gtPlusPlus/core/item/effects/RarityRare.java | 28 + .../core/item/effects/RarityUncommon.java | 22 + .../core/item/general/BedLocator_Base.java | 107 +++ .../gtPlusPlus/core/item/general/BufferCore.java | 93 +++ .../core/item/general/ItemCloakingDevice.java | 256 +++++++ .../core/item/general/ItemHealingDevice.java | 228 ++++++ .../core/item/general/NuclearFuelRodBase.java | 210 ++++++ .../core/item/general/RF2EU_Battery.java | 314 ++++++++ .../core/item/general/fuelrods/FuelRod_Base.java | 223 ++++++ .../item/general/fuelrods/FuelRod_Thorium.java | 13 + src/Java/gtPlusPlus/core/item/init/ItemsFoods.java | 43 ++ .../core/item/materials/MaterialHandler.java | 10 + .../core/item/tool/misc/SandstoneHammer.java | 79 ++ .../core/item/tool/staballoy/MultiPickaxeBase.java | 179 +++++ .../core/item/tool/staballoy/StaballoyAxe.java | 279 +++++++ .../core/item/tool/staballoy/StaballoyPickaxe.java | 310 ++++++++ src/Java/gtPlusPlus/core/lib/CORE.java | 96 +++ src/Java/gtPlusPlus/core/lib/LoadedMods.java | 174 +++++ src/Java/gtPlusPlus/core/lib/MaterialInfo.java | 149 ++++ src/Java/gtPlusPlus/core/proxy/ClientProxy.java | 86 +++ src/Java/gtPlusPlus/core/proxy/ServerProxy.java | 28 + .../core/recipe/Gregtech_Recipe_Adder.java | 98 +++ .../gtPlusPlus/core/recipe/RECIPES_GREGTECH.java | 233 ++++++ .../core/recipe/RECIPES_LaserEngraver.java | 32 + .../gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java | 115 +++ .../core/recipe/RECIPES_MachineComponents.java | 299 ++++++++ .../gtPlusPlus/core/recipe/RECIPES_Machines.java | 601 +++++++++++++++ .../gtPlusPlus/core/recipe/RECIPES_Shapeless.java | 46 ++ src/Java/gtPlusPlus/core/recipe/RECIPES_Tools.java | 177 +++++ .../gtPlusPlus/core/recipe/RECIPE_Batteries.java | 49 ++ .../gtPlusPlus/core/recipe/RECIPE_CONSTANTS.java | 116 +++ .../gtPlusPlus/core/recipe/ShapedRecipeObject.java | 42 ++ src/Java/gtPlusPlus/core/slots/SlotFrame.java | 25 + .../gtPlusPlus/core/slots/SlotItemBackpackInv.java | 28 + src/Java/gtPlusPlus/core/slots/SlotRTG.java | 25 + .../core/tileentities/ModTileEntities.java | 17 + .../core/tileentities/base/TILE_ENTITY_BASE.java | 39 + .../tileentities/general/TileEntityReverter.java | 310 ++++++++ .../tileentities/machines/TileEntityCharger.java | 186 +++++ .../core/tileentities/machines/TileEntityNHG.java | 502 +++++++++++++ src/Java/gtPlusPlus/core/util/BaseHandler.java | 11 + src/Java/gtPlusPlus/core/util/ClassUtils.java | 78 ++ src/Java/gtPlusPlus/core/util/Log.java | 29 + src/Java/gtPlusPlus/core/util/LoggingUtils.java | 54 ++ src/Java/gtPlusPlus/core/util/Utils.java | 539 ++++++++++++++ .../gtPlusPlus/core/util/UtilsChatFormatting.java | 156 ++++ src/Java/gtPlusPlus/core/util/UtilsRarity.java | 23 + src/Java/gtPlusPlus/core/util/UtilsText.java | 32 + .../core/util/debug/DEBUG_BLOCK_ShapeSpawner.java | 139 ++++ .../gtPlusPlus/core/util/debug/DEBUG_INIT.java | 43 ++ .../core/util/debug/DEBUG_ITEM_ShapeSpawner.java | 55 ++ .../util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java | 805 +++++++++++++++++++++ .../core/util/debug/DEBUG_ScreenOverlay.java | 45 ++ .../core/util/debug/DEBUG_TimerThread.java | 64 ++ .../core/util/debug/UtilityGL11Debug.java | 343 +++++++++ .../gtPlusPlus/core/util/fluid/FluidUtils.java | 44 ++ .../gregtech/recipehandlers/GregtechRecipe.java | 87 +++ src/Java/gtPlusPlus/core/util/item/UtilsItems.java | 361 +++++++++ .../core/util/materials/MaterialUtils.java | 87 +++ src/Java/gtPlusPlus/core/util/math/MathUtils.java | 213 ++++++ .../util/particles/EntityParticleFXMysterious.java | 17 + .../gtPlusPlus/core/util/player/PlayerCache.java | 190 +++++ .../gtPlusPlus/core/util/player/UtilsMining.java | 180 +++++ .../gtPlusPlus/core/util/recipe/UtilsRecipe.java | 370 ++++++++++ src/Java/gtPlusPlus/core/util/wrapper/var.java | 67 ++ 151 files changed, 17530 insertions(+) create mode 100644 src/Java/gtPlusPlus/core/block/ModBlocks.java create mode 100644 src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java create mode 100644 src/Java/gtPlusPlus/core/block/base/BasicBlock.java create mode 100644 src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java create mode 100644 src/Java/gtPlusPlus/core/block/base/MetaBlock.java create mode 100644 src/Java/gtPlusPlus/core/block/base/MultiTextureBlock.java create mode 100644 src/Java/gtPlusPlus/core/block/general/LightGlass.java create mode 100644 src/Java/gtPlusPlus/core/block/general/antigrief/TowerDevice.java create mode 100644 src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidJackDaniels.java create mode 100644 src/Java/gtPlusPlus/core/block/general/fluids/FluidRegistryHandler.java create mode 100644 src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java create mode 100644 src/Java/gtPlusPlus/core/block/machine/Machine_Charger.java create mode 100644 src/Java/gtPlusPlus/core/block/machine/Machine_NHG.java create mode 100644 src/Java/gtPlusPlus/core/block/machine/Machine_WireiusDeletus.java create mode 100644 src/Java/gtPlusPlus/core/block/machine/heliumgen/block/HeliumGenerator.java create mode 100644 src/Java/gtPlusPlus/core/block/machine/heliumgen/container/ContainerHeliumGenerator.java create mode 100644 src/Java/gtPlusPlus/core/block/machine/heliumgen/gui/GUIHeliumGenerator.java create mode 100644 src/Java/gtPlusPlus/core/block/machine/heliumgen/slots/InvSlotRadiation.java create mode 100644 src/Java/gtPlusPlus/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java create mode 100644 src/Java/gtPlusPlus/core/commands/CommandMath.java create mode 100644 src/Java/gtPlusPlus/core/commands/CommandUtils.java create mode 100644 src/Java/gtPlusPlus/core/common/CommonProxy.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_BigReactors.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_CompactWindmills.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_EnderIO.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_IC2.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_MorePlanets.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_PneumaticCraft.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_RFTools.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_SimplyJetpacks.java create mode 100644 src/Java/gtPlusPlus/core/common/compat/COMPAT_Thaumcraft.java create mode 100644 src/Java/gtPlusPlus/core/container/Container_BackpackBase.java create mode 100644 src/Java/gtPlusPlus/core/container/Container_Charger.java create mode 100644 src/Java/gtPlusPlus/core/container/Container_NHG.java create mode 100644 src/Java/gtPlusPlus/core/creative/AddToCreativeTab.java create mode 100644 src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabBlock.java create mode 100644 src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMachines.java create mode 100644 src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabMisc.java create mode 100644 src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabOther.java create mode 100644 src/Java/gtPlusPlus/core/creative/tabs/MiscUtilCreativeTabTools.java create mode 100644 src/Java/gtPlusPlus/core/entity/EntityTeleportFX.java create mode 100644 src/Java/gtPlusPlus/core/gui/beta/Gui_ID_Registry.java create mode 100644 src/Java/gtPlusPlus/core/gui/beta/Gui_Types.java create mode 100644 src/Java/gtPlusPlus/core/gui/beta/MU_GuiId.java create mode 100644 src/Java/gtPlusPlus/core/gui/item/GuiBaseBackpack.java create mode 100644 src/Java/gtPlusPlus/core/gui/machine/GUI_Charger.java create mode 100644 src/Java/gtPlusPlus/core/gui/machine/GUI_NHG.java create mode 100644 src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java create mode 100644 src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java create mode 100644 src/Java/gtPlusPlus/core/handler/CraftingManager.java create mode 100644 src/Java/gtPlusPlus/core/handler/GuiHandler.java create mode 100644 src/Java/gtPlusPlus/core/handler/Recipes/LateRegistrationHandler.java create mode 100644 src/Java/gtPlusPlus/core/handler/Recipes/RegistrationHandler.java create mode 100644 src/Java/gtPlusPlus/core/handler/events/LoginEventHandler.java create mode 100644 src/Java/gtPlusPlus/core/handler/events/PickaxeBlockBreakEventHandler.java create mode 100644 src/Java/gtPlusPlus/core/handler/events/UnbreakableBlockManager.java create mode 100644 src/Java/gtPlusPlus/core/interfaces/IGuiManager.java create mode 100644 src/Java/gtPlusPlus/core/interfaces/IGuiManagerMiscUtils.java create mode 100644 src/Java/gtPlusPlus/core/inventories/BaseInventoryBackpack.java create mode 100644 src/Java/gtPlusPlus/core/item/ModItems.java create mode 100644 src/Java/gtPlusPlus/core/item/base/BaseItemBackpack.java create mode 100644 src/Java/gtPlusPlus/core/item/base/BaseItemGeneric.java create mode 100644 src/Java/gtPlusPlus/core/item/base/BaseItemWithCharge.java create mode 100644 src/Java/gtPlusPlus/core/item/base/BaseItemWithDamageValue.java create mode 100644 src/Java/gtPlusPlus/core/item/base/BasicSpawnEgg.java create mode 100644 src/Java/gtPlusPlus/core/item/base/CoreItem.java create mode 100644 src/Java/gtPlusPlus/core/item/base/bolts/BaseItemBolt.java create mode 100644 src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java create mode 100644 src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustAbstract.java create mode 100644 src/Java/gtPlusPlus/core/item/base/foods/BaseItemFood.java create mode 100644 src/Java/gtPlusPlus/core/item/base/foods/BaseItemHotFood.java create mode 100644 src/Java/gtPlusPlus/core/item/base/gears/BaseItemGear.java create mode 100644 src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngot.java create mode 100644 src/Java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java create mode 100644 src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBase.java create mode 100644 src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java create mode 100644 src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtFrameBox.java create mode 100644 src/Java/gtPlusPlus/core/item/base/plates/BaseItemPlate.java create mode 100644 src/Java/gtPlusPlus/core/item/base/rings/BaseItemRing.java create mode 100644 src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java create mode 100644 src/Java/gtPlusPlus/core/item/base/rods/BaseItemRodLong.java create mode 100644 src/Java/gtPlusPlus/core/item/base/rotors/BaseItemRotor.java create mode 100644 src/Java/gtPlusPlus/core/item/base/screws/BaseItemScrew.java create mode 100644 src/Java/gtPlusPlus/core/item/effects/RarityEffect.java create mode 100644 src/Java/gtPlusPlus/core/item/effects/RarityEpic.java create mode 100644 src/Java/gtPlusPlus/core/item/effects/RarityRare.java create mode 100644 src/Java/gtPlusPlus/core/item/effects/RarityUncommon.java create mode 100644 src/Java/gtPlusPlus/core/item/general/BedLocator_Base.java create mode 100644 src/Java/gtPlusPlus/core/item/general/BufferCore.java create mode 100644 src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java create mode 100644 src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java create mode 100644 src/Java/gtPlusPlus/core/item/general/NuclearFuelRodBase.java create mode 100644 src/Java/gtPlusPlus/core/item/general/RF2EU_Battery.java create mode 100644 src/Java/gtPlusPlus/core/item/general/fuelrods/FuelRod_Base.java create mode 100644 src/Java/gtPlusPlus/core/item/general/fuelrods/FuelRod_Thorium.java create mode 100644 src/Java/gtPlusPlus/core/item/init/ItemsFoods.java create mode 100644 src/Java/gtPlusPlus/core/item/materials/MaterialHandler.java create mode 100644 src/Java/gtPlusPlus/core/item/tool/misc/SandstoneHammer.java create mode 100644 src/Java/gtPlusPlus/core/item/tool/staballoy/MultiPickaxeBase.java create mode 100644 src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyAxe.java create mode 100644 src/Java/gtPlusPlus/core/item/tool/staballoy/StaballoyPickaxe.java create mode 100644 src/Java/gtPlusPlus/core/lib/CORE.java create mode 100644 src/Java/gtPlusPlus/core/lib/LoadedMods.java create mode 100644 src/Java/gtPlusPlus/core/lib/MaterialInfo.java create mode 100644 src/Java/gtPlusPlus/core/proxy/ClientProxy.java create mode 100644 src/Java/gtPlusPlus/core/proxy/ServerProxy.java create mode 100644 src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java create mode 100644 src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java create mode 100644 src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java create mode 100644 src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java create mode 100644 src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java create mode 100644 src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java create mode 100644 src/Java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java create mode 100644 src/Java/gtPlusPlus/core/recipe/RECIPES_Tools.java create mode 100644 src/Java/gtPlusPlus/core/recipe/RECIPE_Batteries.java create mode 100644 src/Java/gtPlusPlus/core/recipe/RECIPE_CONSTANTS.java create mode 100644 src/Java/gtPlusPlus/core/recipe/ShapedRecipeObject.java create mode 100644 src/Java/gtPlusPlus/core/slots/SlotFrame.java create mode 100644 src/Java/gtPlusPlus/core/slots/SlotItemBackpackInv.java create mode 100644 src/Java/gtPlusPlus/core/slots/SlotRTG.java create mode 100644 src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java create mode 100644 src/Java/gtPlusPlus/core/tileentities/base/TILE_ENTITY_BASE.java create mode 100644 src/Java/gtPlusPlus/core/tileentities/general/TileEntityReverter.java create mode 100644 src/Java/gtPlusPlus/core/tileentities/machines/TileEntityCharger.java create mode 100644 src/Java/gtPlusPlus/core/tileentities/machines/TileEntityNHG.java create mode 100644 src/Java/gtPlusPlus/core/util/BaseHandler.java create mode 100644 src/Java/gtPlusPlus/core/util/ClassUtils.java create mode 100644 src/Java/gtPlusPlus/core/util/Log.java create mode 100644 src/Java/gtPlusPlus/core/util/LoggingUtils.java create mode 100644 src/Java/gtPlusPlus/core/util/Utils.java create mode 100644 src/Java/gtPlusPlus/core/util/UtilsChatFormatting.java create mode 100644 src/Java/gtPlusPlus/core/util/UtilsRarity.java create mode 100644 src/Java/gtPlusPlus/core/util/UtilsText.java create mode 100644 src/Java/gtPlusPlus/core/util/debug/DEBUG_BLOCK_ShapeSpawner.java create mode 100644 src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java create mode 100644 src/Java/gtPlusPlus/core/util/debug/DEBUG_ITEM_ShapeSpawner.java create mode 100644 src/Java/gtPlusPlus/core/util/debug/DEBUG_MULTIBLOCK_ShapeSpawner.java create mode 100644 src/Java/gtPlusPlus/core/util/debug/DEBUG_ScreenOverlay.java create mode 100644 src/Java/gtPlusPlus/core/util/debug/DEBUG_TimerThread.java create mode 100644 src/Java/gtPlusPlus/core/util/debug/UtilityGL11Debug.java create mode 100644 src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java create mode 100644 src/Java/gtPlusPlus/core/util/gregtech/recipehandlers/GregtechRecipe.java create mode 100644 src/Java/gtPlusPlus/core/util/item/UtilsItems.java create mode 100644 src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java create mode 100644 src/Java/gtPlusPlus/core/util/math/MathUtils.java create mode 100644 src/Java/gtPlusPlus/core/util/particles/EntityParticleFXMysterious.java create mode 100644 src/Java/gtPlusPlus/core/util/player/PlayerCache.java create mode 100644 src/Java/gtPlusPlus/core/util/player/UtilsMining.java create mode 100644 src/Java/gtPlusPlus/core/util/recipe/UtilsRecipe.java create mode 100644 src/Java/gtPlusPlus/core/util/wrapper/var.java (limited to 'src/Java/gtPlusPlus/core') diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java new file mode 100644 index 0000000000..ceb8880299 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java @@ -0,0 +1,78 @@ +package gtPlusPlus.core.block; + +import gtPlusPlus.core.block.general.LightGlass; +import gtPlusPlus.core.block.general.fluids.FluidRegistryHandler; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraftforge.fluids.Fluid; +import cpw.mods.fml.common.registry.GameRegistry; + +public final class ModBlocks { + + //Blocks + //public static Block blockBloodSteel; + //public static Block blockStaballoy; + // WIP TODO public static Block blockToolBuilder; + public static Block blockGriefSaver; + public static Block blockCasingsMisc; + public static Block blockHeliumGenerator; + public static Block blockNHG; + public static Block blockCharger; + + public static Block MatterFabricatorEffectBlock; + + public static Fluid fluidJackDaniels = new Fluid("fluidJackDaniels"); + public static Block blockFluidJackDaniels; + public static Block blockGtFrameStaballoy; + public static Block blockGtFrameTantalloy60; + public static Block blockGtFrameTantalloy61; + + + + public static void init() { + Utils.LOG_INFO("Initializing Blocks."); + //blockGriefSaver = new TowerDevice().setBlockName("blockGriefSaver").setCreativeTab(AddToCreativeTab.tabBlock).setBlockTextureName("blockDefault"); + + registerBlocks(); + } + + public static void registerBlocks(){ + + Utils.LOG_INFO("Registering Blocks."); + + //Blood Steel Block + //GameRegistry.registerBlock(blockBloodSteel = new BasicBlock("blockBloodSteel", Material.iron), "blockBloodSteel"); + + //Staballoy Block + //GameRegistry.registerBlock(blockStaballoy = new BasicBlock("blockStaballoy", Material.iron), "blockStaballoy"); + + //GameRegistry.registerBlock(MatterFabricatorEffectBlock = new MatterFabricatorEffectBlock(), "blockMF_Effect"); + + GameRegistry.registerBlock(MatterFabricatorEffectBlock = new LightGlass(Material.glass, false).setHardness(0.1F).setBlockTextureName(CORE.MODID + ":" + "blockMFEffect").setStepSound(Block.soundTypeGlass), "blockMFEffect"); + + + //Casing Blocks + blockCasingsMisc = new GregtechMetaCasingBlocks(); + + //Fluids + FluidRegistryHandler.registerFluids(); + + // blockHeliumGenerator = GameRegistry.registerBlock(new HeliumGenerator(), "Helium_Collector"); + // blockNHG = GameRegistry.registerBlock(new Machine_NHG("blockNuclearFueledHeliumGenerator"), "blockNuclearFueledHeliumGenerator"); + // blockCharger = GameRegistry.registerBlock(new Machine_Charger("blockMachineCharger"), "blockMachineCharger"); + + + //WIP TODO + //GameRegistry.registerBlock(blockGriefSaver, "blockGriefSaver"); + + //GtFrames + //GameRegistry.registerBlock(blockGtFrameSet1 = new BlockGtFrameBox("blockGtFrameSet1", Material.iron ,BlockTypes.FRAME, true, Utils.rgbtoHexValue(68, 75, 66), Utils.rgbtoHexValue(68, 75, 166), Utils.rgbtoHexValue(122, 135, 196)), "blockGtFrameSet1"); + //GameRegistry.registerBlock(blockGtFrameTantalloy60 = new BlockBaseModular("blockGtFrameStaballoy", "Staballoy", BlockTypes.FRAME, Utils.rgbtoHexValue(68, 75, 66)), ItemBlockGtFrameBox.class, "blockGtFrameStaballoy"); + //GameRegistry.registerBlock(blockGtFrameTantalloy60 = new BlockBaseModular("blockGtFrameTantalloy60", "Tantalloy-60", BlockTypes.FRAME, Utils.rgbtoHexValue(68, 75, 166)), ItemBlockGtFrameBox.class, "blockGtFrameTantalloy60"); + //GameRegistry.registerBlock(blockGtFrameTantalloy61 = new BlockBaseModular("blockGtFrameTantalloy61", "Tantalloy-61", BlockTypes.FRAME, Utils.rgbtoHexValue(122, 135, 196)), ItemBlockGtFrameBox.class, "blockGtFrameTantalloy61"); + } + +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java b/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java new file mode 100644 index 0000000000..b7ac24a71b --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java @@ -0,0 +1,31 @@ +package gtPlusPlus.core.block.base; + +import gtPlusPlus.core.lib.CORE; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class AdvancedBlock extends Block { + + protected AdvancedBlock(String unlocalizedName, Material material, CreativeTabs x, float blockHardness, float blockResistance, float blockLightLevel, + String blockHarvestTool, int blockHarvestLevel, SoundType BlockSound) { + super(material); + this.setBlockName(unlocalizedName); + this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName); + this.setCreativeTab(x); + this.setHardness(blockHardness); //block Hardness + this.setResistance(blockResistance); + this.setLightLevel(blockLightLevel); + this.setHarvestLevel(blockHarvestTool, blockHarvestLevel); + this.setStepSound(BlockSound); + } + + @Override + public boolean onBlockActivated(World p_149727_1_, int p_149727_2_, int p_149727_3_, int p_149727_4_, EntityPlayer p_149727_5_, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) + { + return false; + } + +} diff --git a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java new file mode 100644 index 0000000000..cd879167ba --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java @@ -0,0 +1,52 @@ +package gtPlusPlus.core.block.base; + +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.Utils; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BasicBlock extends Block { + + public BasicBlock(String unlocalizedName, Material material) { + super(material); + this.setBlockName(Utils.sanitizeString(unlocalizedName)); + this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabBlock); + this.setHardness(2.0F); + this.setResistance(6.0F); + this.setLightLevel(0.0F); + this.setHarvestLevel("pickaxe", 2); + this.setStepSound(soundTypeMetal); + } + + + public static enum BlockTypes { + STANDARD("blockBlock", "pickaxe", soundTypeStone), + FRAME("blockFrameGt", "wrench", soundTypeMetal); + + private String TEXTURE_NAME; + private String HARVEST_TOOL; + private SoundType soundOfBlock; + private BlockTypes (String textureName, String harvestTool, SoundType blockSound) + { + this.TEXTURE_NAME = textureName; + this.HARVEST_TOOL = harvestTool; + this.soundOfBlock = blockSound; + } + + public String getTexture() { + return TEXTURE_NAME; + } + + public String getHarvestTool(){ + return HARVEST_TOOL; + } + + public SoundType getBlockSoundType(){ + return soundOfBlock; + } + + } + +} diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java new file mode 100644 index 0000000000..9654caac00 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java @@ -0,0 +1,154 @@ +package gtPlusPlus.core.block.base; + +import gtPlusPlus.core.item.base.itemblock.ItemBlockGtBlock; +import gtPlusPlus.core.item.base.itemblock.ItemBlockGtFrameBox; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.math.MathUtils; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.world.IBlockAccess; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.LanguageRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockBaseModular extends BasicBlock{ + + protected int blockColour; + protected BlockTypes thisBlock; + protected String thisBlockMaterial; + protected final String thisBlockType; + + public BlockBaseModular(String unlocalizedName, String blockMaterial, BlockTypes blockType, int colour) { + super(blockType.getTexture()+unlocalizedName, Material.iron); + this.setHarvestLevel(blockType.getHarvestTool(), 2); + this.setBlockTextureName(CORE.MODID+":"+blockType.getTexture()); + this.blockColour = colour; + this.thisBlock = blockType; + this.thisBlockMaterial = blockMaterial; + this.thisBlockType = blockType.name().toUpperCase(); + this.setBlockName(GetProperName()); + + if (!CORE.DEBUG){ + //Utils.LOG_INFO("=============Block Info Dump============="); + //Utils.LOG_INFO("thisBlock.name().toLowerCase() - "+thisBlock.name().toLowerCase()); + //Utils.LOG_INFO("This Blocks Type - "+thisBlockType); + //Utils.LOG_INFO("BlockTypes.STANDARD.name().toLowerCase() - "+BlockTypes.STANDARD.name().toLowerCase()); + //Utils.LOG_INFO("BlockTypes.FRAME.name().toLowerCase() - "+BlockTypes.FRAME.name().toLowerCase()); + //Utils.LOG_INFO("blockMaterial - "+blockMaterial); + //Utils.LOG_INFO("=========================================="); + } + + if (thisBlockType == BlockTypes.STANDARD.name().toUpperCase()){ + LanguageRegistry.addName(this, "Block of "+blockMaterial); + //Utils.LOG_INFO("Registered Block in Language Registry as: "+"Block of "+blockMaterial); + } + else if (thisBlockType == BlockTypes.FRAME.name().toUpperCase()){ + LanguageRegistry.addName(this, blockMaterial+ " Frame Box"); + //Utils.LOG_INFO("Registered Block in Language Registry as: "+blockMaterial+ " Frame Box"); + } + else { + LanguageRegistry.addName(this, blockMaterial); + //Utils.LOG_INFO("Registered Block in Language Registry as: "+blockMaterial); + } + + //setOreDict(unlocalizedName, blockType); + if (thisBlockType == BlockTypes.STANDARD.name().toUpperCase()){ + GameRegistry.registerBlock(this, ItemBlockGtBlock.class, Utils.sanitizeString(blockType.getTexture()+unlocalizedName)); + //Utils.LOG_INFO("Registered Block in Block Registry as: "+"Block of "+blockMaterial); + } + else if (thisBlockType == BlockTypes.FRAME.name().toUpperCase()){ + GameRegistry.registerBlock(this, ItemBlockGtFrameBox.class, Utils.sanitizeString(blockType.getTexture()+unlocalizedName)); + //Utils.LOG_INFO("Registered Block in Block Registry as: "+blockMaterial+" Frame Box"); + } + else { + GameRegistry.registerBlock(this, ItemBlockGtBlock.class, Utils.sanitizeString(blockType.getTexture()+unlocalizedName)); + //Utils.LOG_INFO("Registered Block in Block Registry as: "+blockMaterial); + } + + + } + + /** + * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha + */ + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() + { + if (thisBlock == BlockTypes.FRAME){ + return 1; + } + return 0; + } + + /*@Override + public String getLocalizedName() { + String tempIngot; + if (thisBlock == BlockTypes.STANDARD){ + tempIngot = "Block of "+thisBlockMaterial; + } + else if (thisBlock == BlockTypes.FRAME){ + tempIngot = thisBlockMaterial + " Frame Box"; + } + else { + + tempIngot = getUnlocalizedName().replace("tile.blockGt", "ingot"); + } + return tempIngot; + }*/ + + public String GetProperName() { + String tempIngot; + if (thisBlock == BlockTypes.STANDARD){ + tempIngot = "Block of "+thisBlockMaterial; + } + else if (thisBlock == BlockTypes.FRAME){ + tempIngot = thisBlockMaterial + " Frame Box"; + } + else { + + tempIngot = getUnlocalizedName().replace("tile.blockGt", "ingot"); + } + return tempIngot; + } + + @Override + public boolean isOpaqueCube() + { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iIcon) + { + this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + thisBlock.getTexture()); + } + + @Override + public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4){ + + if (this.blockColour == 0){ + return MathUtils.generateSingularRandomHexValue(); + } + + return this.blockColour; + } + + @Override + public int getRenderColor(int aMeta) { + if (this.blockColour == 0){ + return MathUtils.generateSingularRandomHexValue(); + } + + return this.blockColour; + } + + @Override + public int getBlockColor() { + return this.blockColour; + } + +} diff --git a/src/Java/gtPlusPlus/core/block/base/MetaBlock.java b/src/Java/gtPlusPlus/core/block/base/MetaBlock.java new file mode 100644 index 0000000000..4009c36726 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/base/MetaBlock.java @@ -0,0 +1,28 @@ +package gtPlusPlus.core.block.base; + +import java.util.List; + +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class MetaBlock extends MultiTextureBlock { + + protected MetaBlock(String unlocalizedName, Material material, SoundType soundType) { + super(unlocalizedName, material, soundType); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 6; i ++) { + list.add(new ItemStack(item, 1, i)); + } + } + +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/block/base/MultiTextureBlock.java b/src/Java/gtPlusPlus/core/block/base/MultiTextureBlock.java new file mode 100644 index 0000000000..4f022bae6d --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/base/MultiTextureBlock.java @@ -0,0 +1,36 @@ +package gtPlusPlus.core.block.base; + +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; + +public class MultiTextureBlock extends Block { + + public IIcon[] icons = new IIcon[6]; + + protected MultiTextureBlock(String unlocalizedName, Material material, SoundType blockSound) + { + super(material); + this.setBlockName(unlocalizedName); + this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabBlock); + this.setHardness(2.0F); + this.setResistance(6.0F); + this.setStepSound(blockSound); + } + + @Override + public void registerBlockIcons(IIconRegister reg) { + for (int i = 0; i < 6; i ++) { + this.icons[i] = reg.registerIcon(this.textureName + "_" + i); + } + } + + @Override + public IIcon getIcon(int side, int meta) { + return this.icons[side]; + } +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/block/general/LightGlass.java b/src/Java/gtPlusPlus/core/block/general/LightGlass.java new file mode 100644 index 0000000000..5aa9f5b818 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/general/LightGlass.java @@ -0,0 +1,128 @@ +package gtPlusPlus.core.block.general; + +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.Utils; + +import java.util.Random; + +import net.minecraft.block.BlockBreakable; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class LightGlass extends BlockBreakable +{ + private int state = 0; + private int a = 255; + private int r = 255; + private int g = 0; + private int b = 0; + private int hex; + + public LightGlass(Material mat, boolean bool) + { + super("blockMFEffect", mat, bool); + this.setCreativeTab(AddToCreativeTab.tabBlock); + this.setBlockName("blockMFEffect"); + this.setLightLevel(12F); + this.setLightOpacity(0); + this.setTickRandomly(true); + this.setResistance(1); + } + + /** + * Returns the quantity of items to drop on block destruction. + */ + @Override + public int quantityDropped(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 true; + } + + /** + * 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(IIconRegister iIcon) + { + this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + "blockMFEffect"); + } + + @Override + //http://stackoverflow.com/questions/31784658/how-can-i-loop-through-all-rgb-combinations-in-rainbow-order-in-java + public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) + { + if(state == 0){ + g++; + if(g == 255) + state = 1; + } + if(state == 1){ + r--; + if(r == 0) + state = 2; + } + if(state == 2){ + b++; + if(b == 255) + state = 3; + } + if(state == 3){ + g--; + if(g == 0) + state = 4; + } + if(state == 4){ + r++; + if(r == 255) + state = 5; + } + if(state == 5){ + b--; + if(b == 0) + state = 0; + } + hex = (a << 24) + (r << 16) + (g << 8) + (b); + return hex; + } + + /** + * A randomly called display update to be able to add particles or other items for display + */ + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World world, int posX, int posY, int posZ, Random random){ + Utils.spawnFX(world, posX, posY, posZ, "smoke", "cloud"); + + } +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/block/general/antigrief/TowerDevice.java b/src/Java/gtPlusPlus/core/block/general/antigrief/TowerDevice.java new file mode 100644 index 0000000000..7fa890b6c8 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/general/antigrief/TowerDevice.java @@ -0,0 +1,276 @@ +package gtPlusPlus.core.block.general.antigrief; + +import static gtPlusPlus.core.block.ModBlocks.blockGriefSaver; +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.tileentities.general.TileEntityReverter; +import gtPlusPlus.core.util.Utils; + +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.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +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; + +public class TowerDevice extends Block { + private static IIcon TEX_ANTIBUILDER; + public static final int META_ANTIBUILDER = 9; + private boolean bUnbreakable; + + public TowerDevice() + { + super(Material.wood); + setHardness(10.0F); + setResistance(35.0F); + setStepSound(Block.soundTypeWood); + setCreativeTab(AddToCreativeTab.tabMachines); + } + + public int tickRate() + { + return 15; + } + + public void saveNBTData(NBTTagCompound aNBT) { + aNBT.setBoolean("bUnbreakable", bUnbreakable); + } + + public void loadNBTData(NBTTagCompound aNBT) { + bUnbreakable = aNBT.getBoolean("bUnbreakable"); + } + + public IIcon getIcon(int side, int meta) + { + return TEX_ANTIBUILDER; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IconRegister) + { + TEX_ANTIBUILDER = par1IconRegister.registerIcon(CORE.MODID + ":" + "blockAntiGrief"); + } + + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) + { + par3List.add(new ItemStack(par1, 1, 9)); + } + + public boolean onBlockActivated(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + { + int meta = par1World.getBlockMetadata(x, y, z); + return false; + } + + public float getExplosionResistance(Entity par1Entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ) + { + int meta = world.getBlockMetadata(x, y, z); + return super.getExplosionResistance(par1Entity, world, x, y, z, explosionX, explosionY, explosionZ); + } + + public float getBlockHardness(World world, int x, int y, int z) + { + int meta = world.getBlockMetadata(x, y, z); + return super.getBlockHardness(world, x, y, z); + } + + public static boolean areNearbyLockBlocks(World world, int x, int y, int z) + { + boolean locked = false; + for (int dx = x - 2; dx <= x + 2; dx++) { + for (int dy = y - 2; dy <= y + 2; dy++) { + for (int dz = z - 2; dz <= z + 2; dz++) { + if ((world.getBlock(dx, dy, dz) == blockGriefSaver) && (world.getBlockMetadata(dx, dy, dz) == 4)) { + locked = true; + } + } + } + } + return locked; + } + + public static void unlockBlock(World par1World, int x, int y, int z) + { + Block thereBlockID = par1World.getBlock(x, y, z); + int thereBlockMeta = par1World.getBlockMetadata(x, y, z); + if ((thereBlockID == blockGriefSaver) || (thereBlockMeta == 4)) + { + changeToBlockMeta(par1World, x, y, z, 5); + par1World.playSoundEffect(x + 0.5D, y + 0.5D, z + 0.5D, "random.click", 0.3F, 0.6F); + } + } + + private static void changeToBlockMeta(World par1World, int x, int y, int z, int meta) + { + Block thereBlockID = par1World.getBlock(x, y, z); + if ((thereBlockID == blockGriefSaver)) + { + par1World.setBlock(x, y, z, thereBlockID, meta, 3); + par1World.markBlockRangeForRenderUpdate(x, y, z, x, y, z); + par1World.notifyBlocksOfNeighborChange(x, y, z, thereBlockID); + } + } + + public void onBlockAdded(World par1World, int x, int y, int z) + { + int meta = par1World.getBlockMetadata(x, y, z); + if (!par1World.isRemote) { + + } + } + + public void onNeighborBlockChange(World par1World, int x, int y, int z, Block myBlockID) + { + int meta = par1World.getBlockMetadata(x, y, z); + if (!par1World.isRemote) + { + + } + } + + public void updateTick(World par1World, int x, int y, int z, Random par5Random) + { + if (!par1World.isRemote) + { + int meta = par1World.getBlockMetadata(x, y, z); + } + } + + private void letsBuild(World par1World, int x, int y, int z) + { + + } + + private boolean isInactiveTrapCharged(World par1World, int x, int y, int z) + { + return false; + } + + private boolean isReactorReady(World world, int x, int y, int z) + { + if ((world.getBlock(x, y + 1, z) != Blocks.redstone_block) || + (world.getBlock(x, y - 1, z) != Blocks.redstone_block) || + (world.getBlock(x + 1, y, z) != Blocks.redstone_block) || + (world.getBlock(x - 1, y, z) != Blocks.redstone_block) || + (world.getBlock(x, y, z + 1) != Blocks.redstone_block) || + (world.getBlock(x, y, z - 1) != Blocks.redstone_block)) { + return false; + } + return true; + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int x, int y, int z, Random par5Random) + { + int meta = par1World.getBlockMetadata(x, y, z); + if ((meta == 3) || (meta == 1) || (meta == 9)) { + for (int i = 0; i < 1; i++) { + sparkle(par1World, x, y, z, par5Random); + } + } + } + + public void sparkle(World world, int x, int y, int z, Random rand) + { + double offset = 0.0625D; + for (int side = 0; side < 6; side++) + { + double rx = x + rand.nextFloat(); + double ry = y + rand.nextFloat(); + double rz = z + rand.nextFloat(); + if ((side == 0) && (!world.getBlock(x, y + 1, z).isOpaqueCube())) { + ry = y + 1 + offset; + } + if ((side == 1) && (!world.getBlock(x, y - 1, z).isOpaqueCube())) { + ry = y + 0 - offset; + } + if ((side == 2) && (!world.getBlock(x, y, z + 1).isOpaqueCube())) { + rz = z + 1 + offset; + } + if ((side == 3) && (!world.getBlock(x, y, z - 1).isOpaqueCube())) { + rz = z + 0 - offset; + } + if ((side == 4) && (!world.getBlock(x + 1, y, z).isOpaqueCube())) { + rx = x + 1 + offset; + } + if ((side == 5) && (!world.getBlock(x - 1, y, z).isOpaqueCube())) { + rx = x + 0 - offset; + } + if ((rx < x) || (rx > x + 1) || (ry < 0.0D) || (ry > y + 1) || (rz < z) || (rz > z + 1)) { + world.spawnParticle("reddust", rx, ry, rz, 0.0D, 0.0D, 0.0D); + } + } + } + + public static void checkAndActivateVanishBlock(World world, int x, int y, int z) + { + Block thereID = world.getBlock(x, y, z); + int thereMeta = world.getBlockMetadata(x, y, z); + } + + public static void changeToActiveVanishBlock(World par1World, int x, int y, int z, int meta) + { + changeToBlockMeta(par1World, x, y, z, meta); + par1World.playSoundEffect(x + 0.5D, y + 0.5D, z + 0.5D, "random.pop", 0.3F, 0.6F); + + Block thereBlockID = par1World.getBlock(x, y, z); + par1World.scheduleBlockUpdate(x, y, z, thereBlockID, getTickRateFor(thereBlockID, meta, par1World.rand)); + } + + private static int getTickRateFor(Block thereBlockID, int meta, Random rand) + { + return 15; + } + + public int getLightValue(IBlockAccess world, int x, int y, int z) + { + Block blockID = world.getBlock(x, y, z); + int meta = world.getBlockMetadata(x, y, z); + if (blockID != this) { + return 0; + } + return 10; + } + + public boolean hasTileEntity(int metadata) + { + return (metadata == 0); + } + + public TileEntity createTileEntity(World world, int metadata) + { + if (metadata == 0) { + Utils.LOG_INFO("I have been created. [Antigriefer]"+this.getLocalizedName()); + return new TileEntityReverter(); + } + return null; + } + + public Item getItemDropped(int meta, Random par2Random, int par3) + { + switch (meta) + { + case 0: + return null; + } + return Item.getItemFromBlock(this); + } + + public int damageDropped(int meta) + { + return meta; + } +} diff --git a/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidJackDaniels.java b/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidJackDaniels.java new file mode 100644 index 0000000000..6096da7054 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidJackDaniels.java @@ -0,0 +1,51 @@ +package gtPlusPlus.core.block.general.fluids; + +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.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; + +public class BlockFluidJackDaniels extends BlockFluidClassic { + + @SideOnly(Side.CLIENT) + protected IIcon stillIcon; + @SideOnly(Side.CLIENT) + protected IIcon flowingIcon; + + public BlockFluidJackDaniels(Fluid fluid, Material material) { + super(fluid, material); + setCreativeTab(AddToCreativeTab.tabMisc); + } + + @Override + public IIcon getIcon(int side, int meta) { + return (side == 0 || side == 1)? stillIcon : flowingIcon; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerBlockIcons(IIconRegister register) { + stillIcon = register.registerIcon(CORE.MODID+":fluids/fluid.jackdaniels"); + flowingIcon = register.registerIcon(CORE.MODID+":fluids/fluid.jackdaniels"); + } + + @Override + public boolean canDisplace(IBlockAccess world, int x, int y, int z) { + if (world.getBlock(x, y, z).getMaterial().isLiquid()) return false; + return super.canDisplace(world, x, y, z); + } + + @Override + public boolean displaceIfPossible(World world, int x, int y, int z) { + if (world.getBlock(x, y, z).getMaterial().isLiquid()) return false; + return super.displaceIfPossible(world, x, y, z); + } + +} diff --git a/src/Java/gtPlusPlus/core/block/general/fluids/FluidRegistryHandler.java b/src/Java/gtPlusPlus/core/block/general/fluids/FluidRegistryHandler.java new file mode 100644 index 0000000000..bda2aae35b --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/general/fluids/FluidRegistryHandler.java @@ -0,0 +1,50 @@ +package gtPlusPlus.core.block.general.fluids; + +import static gtPlusPlus.core.block.ModBlocks.blockFluidJackDaniels; +import static gtPlusPlus.core.block.ModBlocks.fluidJackDaniels; +import gtPlusPlus.core.lib.CORE; +import net.minecraft.block.material.Material; +import net.minecraftforge.fluids.FluidRegistry; +import cpw.mods.fml.common.registry.GameRegistry; + +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(){ + fluidJackDaniels(); + } + + private static void fluidJackDaniels(){ + //testFluid + fluidJackDaniels.setLuminosity(12); + fluidJackDaniels.setDensity(1200); + fluidJackDaniels.setTemperature(420); + fluidJackDaniels.setViscosity(750); + fluidJackDaniels.setGaseous(true); + fluidJackDaniels.setUnlocalizedName("fluidJackDaniels"); + FluidRegistry.registerFluid(fluidJackDaniels); + blockFluidJackDaniels = new BlockFluidJackDaniels(fluidJackDaniels, Material.water).setBlockName("fluidBlockJackDaniels"); + GameRegistry.registerBlock(blockFluidJackDaniels, CORE.MODID + "_" + blockFluidJackDaniels.getUnlocalizedName().substring(5)); + fluidJackDaniels.setUnlocalizedName(blockFluidJackDaniels.getUnlocalizedName()); + } + +} diff --git a/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java b/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java new file mode 100644 index 0000000000..2832d4d0a4 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java @@ -0,0 +1,35 @@ +package gtPlusPlus.core.block.machine; + +import gtPlusPlus.core.block.base.MetaBlock; +import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; +import gtPlusPlus.core.lib.CORE; +import net.minecraft.block.material.Material; +import net.minecraft.world.IBlockAccess; + +public class BlockGtFrameBox extends MetaBlock { + + private int[] colours; + private int totalColours; + + public BlockGtFrameBox( + String unlocalizedName, Material material, + BlockTypes blockTypeENUM, boolean recolour, int... colour) { + super(unlocalizedName, material, blockTypeENUM.getBlockSoundType()); + this.setBlockTextureName(CORE.MODID + ":" + "blockGtFrame"); + this.setHarvestLevel(blockTypeENUM.getHarvestTool(), 2); + if (recolour && (colour != null && colour.length > 0)){ + colours = colour; + totalColours = colours.length; + } + } + + @Override + public int colorMultiplier(IBlockAccess p_149720_1_, int p_149720_2_, + int p_149720_3_, int p_149720_4_) { + for (int i : colours){ + + } + return super.colorMultiplier(p_149720_1_, p_149720_2_, p_149720_3_, p_149720_4_); + } + +} diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_Charger.java b/src/Java/gtPlusPlus/core/block/machine/Machine_Charger.java new file mode 100644 index 0000000000..4f426b99c9 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/machine/Machine_Charger.java @@ -0,0 +1,83 @@ +package gtPlusPlus.core.block.machine; + +import gtPlusPlus.GTplusplus; +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.tileentities.machines.TileEntityCharger; + +import java.util.ArrayList; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import scala.util.Random; + +public class Machine_Charger extends BlockContainer +{ + private static final String name = "Charging Machine"; + + private final Random rand = new Random(); + + public Machine_Charger(String unlocalizedName) + { + super(Material.iron); + //GameRegistry.registerBlock(this, unlocalizedName); + this.setBlockName(unlocalizedName); + this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMachines); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float lx, float ly, float lz) + { + if (world.isRemote) return true; + + TileEntity te = world.getTileEntity(x, y, z); + if (te != null && te instanceof TileEntityCharger) + { + player.openGui(GTplusplus.instance, 1, world, x, y, z); + return true; + } + return false; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int par6) + { + if (world.isRemote) return; + + ArrayList drops = new ArrayList(); + + TileEntity teRaw = world.getTileEntity(x, y, z); + + if (teRaw != null && teRaw instanceof TileEntityCharger) + { + TileEntityCharger te = (TileEntityCharger) teRaw; + + for (int i = 0; i < te.getSizeInventory(); i++) + { + ItemStack stack = te.getStackInSlot(i); + + if (stack != null) drops.add(stack.copy()); + } + } + + for (int i = 0;i < drops.size();i++) + { + EntityItem item = new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, (ItemStack) drops.get(i)); + item.setVelocity((rand.nextDouble() - 0.5) * 0.25, rand.nextDouble() * 0.5 * 0.25, (rand.nextDouble() - 0.5) * 0.25); + world.spawnEntityInWorld(item); + } + } + + @Override + public TileEntity createNewTileEntity(World world, int par2) + { + return new TileEntityCharger(); + } +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_NHG.java b/src/Java/gtPlusPlus/core/block/machine/Machine_NHG.java new file mode 100644 index 0000000000..011e293000 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/machine/Machine_NHG.java @@ -0,0 +1,83 @@ +package gtPlusPlus.core.block.machine; + +import gtPlusPlus.GTplusplus; +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.tileentities.machines.TileEntityNHG; + +import java.util.ArrayList; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import scala.util.Random; + +public class Machine_NHG extends BlockContainer +{ + private static final String name = "Nuclear Fueled Helium Generator"; + + private final Random rand = new Random(); + + public Machine_NHG(String unlocalizedName) + { + super(Material.iron); + //GameRegistry.registerBlock(this, unlocalizedName); + this.setBlockName(unlocalizedName); + this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMachines); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float lx, float ly, float lz) + { + if (world.isRemote) return true; + + TileEntity te = world.getTileEntity(x, y, z); + if (te != null && te instanceof TileEntityNHG) + { + player.openGui(GTplusplus.instance, 0, world, x, y, z); + return true; + } + return false; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int par6) + { + if (world.isRemote) return; + + ArrayList drops = new ArrayList(); + + TileEntity teRaw = world.getTileEntity(x, y, z); + + if (teRaw != null && teRaw instanceof TileEntityNHG) + { + TileEntityNHG te = (TileEntityNHG) teRaw; + + for (int i = 0; i < te.getSizeInventory(); i++) + { + ItemStack stack = te.getStackInSlot(i); + + if (stack != null) drops.add(stack.copy()); + } + } + + for (int i = 0;i < drops.size();i++) + { + EntityItem item = new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, (ItemStack) drops.get(i)); + item.setVelocity((rand.nextDouble() - 0.5) * 0.25, rand.nextDouble() * 0.5 * 0.25, (rand.nextDouble() - 0.5) * 0.25); + world.spawnEntityInWorld(item); + } + } + + @Override + public TileEntity createNewTileEntity(World world, int par2) + { + return new TileEntityNHG(); + } +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_WireiusDeletus.java b/src/Java/gtPlusPlus/core/block/machine/Machine_WireiusDeletus.java new file mode 100644 index 0000000000..e964a9da01 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/machine/Machine_WireiusDeletus.java @@ -0,0 +1,5 @@ +package gtPlusPlus.core.block.machine; + +public class Machine_WireiusDeletus { //A Block that removes GT Cable and Wire from it's inventory. + +} diff --git a/src/Java/gtPlusPlus/core/block/machine/heliumgen/block/HeliumGenerator.java b/src/Java/gtPlusPlus/core/block/machine/heliumgen/block/HeliumGenerator.java new file mode 100644 index 0000000000..7a76b09cca --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/machine/heliumgen/block/HeliumGenerator.java @@ -0,0 +1,165 @@ +package gtPlusPlus.core.block.machine.heliumgen.block; + +import gtPlusPlus.GTplusplus; +import gtPlusPlus.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator; +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; + +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.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class HeliumGenerator extends BlockContainer { + + private IIcon top, sides, front; + private Random randy = new Random(); + + public HeliumGenerator(){ + super(Material.iron); + setStepSound(Block.soundTypeMetal); + setHardness(20.0F); + setBlockName("helium_collector"); + setHarvestLevel("pickaxe", 3); + setCreativeTab(AddToCreativeTab.tabMachines); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerBlockIcons (IIconRegister iconRegister) + { + this.top = iconRegister.registerIcon(CORE.MODID+":blockHeliumCollector_SIDE"); + this.sides = iconRegister.registerIcon(CORE.MODID+":blockHeliumCollector_SIDE"); + this.front = iconRegister.registerIcon(CORE.MODID+":blockHeliumCollector_FRONT"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side){ + if(side == 1) + return top; + int facing = 2; + TileEntityHeliumGenerator machine = (TileEntityHeliumGenerator)world.getTileEntity(x, y, z); + if(machine != null) + facing = machine.getFacing(); + if(side == facing) + return front; + else + return sides; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon (int side, int metadata) + { + if(side == 1) + return top; + if(side == 3) + return front; + return sides; + } + + @Override + public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) + { + if (world.isRemote) + { + return true; + } + player.openGui(GTplusplus.instance, 2, world, x, y, z); + return true; + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) + { + return new TileEntityHeliumGenerator(); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack item) + { + TileEntity tile = world.getTileEntity(x, y, z); + if(tile instanceof TileEntityHeliumGenerator) { + TileEntityHeliumGenerator machine = (TileEntityHeliumGenerator)tile; + int l = MathHelper.floor_double((double) (player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if (l == 0) + machine.setFacing((short) 2); + + if (l == 1) + machine.setFacing((sh