Merge branch 'experimental' from GTNH into mergeGTNH (based on BLOODASP)
# Conflicts: # build.properties # src/main/java/gregtech/GT_Mod.java # src/main/java/gregtech/api/enums/ItemList.java # src/main/java/gregtech/api/enums/Materials.java # src/main/java/gregtech/api/enums/Textures.java # src/main/java/gregtech/api/enums/Tier.java # src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java # src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java # src/main/java/gregtech/api/util/GT_ModHandler.java # src/main/java/gregtech/api/util/GT_Recipe.java # src/main/java/gregtech/api/util/GT_RecipeRegistrator.java # src/main/java/gregtech/api/util/GT_Utility.java # src/main/java/gregtech/common/GT_Client.java # src/main/java/gregtech/common/GT_Pollution.java # src/main/java/gregtech/common/GT_Proxy.java # src/main/java/gregtech/common/GT_RecipeAdder.java # src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java # src/main/java/gregtech/common/GT_Worldgenerator.java # src/main/java/gregtech/common/blocks/GT_Block_Casings3.java # src/main/java/gregtech/common/blocks/GT_Block_Casings_Abstract.java # src/main/java/gregtech/common/blocks/GT_Block_Machines.java # src/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java # src/main/java/gregtech/common/blocks/GT_Item_Machines.java # src/main/java/gregtech/common/blocks/GT_Item_Ores.java # src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java # src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java # src/main/java/gregtech/common/covers/GT_Cover_Fluidfilter.java # src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java # src/main/java/gregtech/common/gui/GT_Container_Regulator.java # src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java # src/main/java/gregtech/common/items/armor/ArmorData.java # src/main/java/gregtech/common/items/armor/GuiElectricArmor1.java # src/main/java/gregtech/common/items/armor/ModularArmor_Item.java # src/main/java/gregtech/common/items/armor/Values.java # src/main/java/gregtech/common/items/armor/gui/GuiModularArmor.java # src/main/java/gregtech/common/items/armor/gui/InventoryArmor.java # src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Fluid.java # src/main/java/gregtech/common/items/behaviors/Behaviour_Sense.java # src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java # src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java # src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java # src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java # src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_FluidNaquadahReactor.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SolidNaquadahReactor.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Replicator.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java # src/main/java/gregtech/common/tools/GT_Tool_Scoop.java # src/main/java/gregtech/loaders/load/GT_FuelLoader.java # src/main/java/gregtech/loaders/misc/GT_Achievements.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingDustSmall.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingDustTiny.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingGemExquisite.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingGemFlawless.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeLarge.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeMedium.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeSmall.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate1.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate3.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate4.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate5.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadBuzzSaw.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadChainsaw.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadDrill.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadFile.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadWrench.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire01.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire02.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire04.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire08.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire12.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire16.java # src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java # src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java # src/main/java/gregtech/loaders/postload/GT_Worldgenloader.java # src/main/java/gregtech/loaders/preload/GT_Loader_ItemData.java # src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java # src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java # src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java # src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java # src/main/resources/assets/gregtech/textures/items/gt.Double_Naquadahcell.png # src/main/resources/assets/gregtech/textures/items/gt.Double_NaquadahcellDep.png # src/main/resources/assets/gregtech/textures/items/gt.Naquadahcell.png # src/main/resources/assets/gregtech/textures/items/gt.NaquadahcellDep.png # src/main/resources/assets/gregtech/textures/items/gt.Quad_Naquadahcell.png # src/main/resources/assets/gregtech/textures/items/gt.Quad_NaquadahcellDep.png
This commit is contained in:
commit
929073a7ae
456 changed files with 23535 additions and 18571 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -72,10 +72,10 @@ local.properties
|
|||
.idea_modules/
|
||||
|
||||
/out/
|
||||
gradle/wrapper/gradle-wrapper.properties
|
||||
gradlew
|
||||
gradlew.bat
|
||||
|
||||
# Linux
|
||||
*~
|
||||
|
||||
*.bat
|
||||
|
|
|
@ -63,6 +63,10 @@ repositories {
|
|||
maven { // AppleCore
|
||||
url "http://www.ryanliptak.com/maven/"
|
||||
}
|
||||
maven { // GalacticGreg, YAMCore,..
|
||||
name 'UsrvDE'
|
||||
url "http://jenkins.usrv.de:8082/nexus/content/repositories/releases/"
|
||||
}
|
||||
ivy {
|
||||
name "BuildCraft"
|
||||
artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]"
|
||||
|
@ -82,6 +86,7 @@ repositories {
|
|||
ivy {
|
||||
name 'IC2NuclearControl'
|
||||
artifactPattern "http://addons-origin.cursecdn.com/files/${config.nc.cf}/[module]-[revision].[ext]"
|
||||
|
||||
}
|
||||
ivy {
|
||||
name 'ImmersiveEngineering'
|
||||
|
@ -94,7 +99,8 @@ repositories {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
provided ("appeng:appliedenergistics2:${config.ae2.version}:dev") {
|
||||
compile "eu.usrv:YAMCore:${config.minecraft.version}-${config.yamcore.version}:deobf"
|
||||
provided ("appeng:appliedenergistics2:${config.ae2.version}:dev") {
|
||||
exclude module: '*'
|
||||
}
|
||||
provided "codechicken:CodeChickenLib:${config.minecraft.version}-${config.codechickenlib.version}:dev"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
minecraft.version=1.7.10
|
||||
forge.version=10.13.4.1566-1.7.10
|
||||
|
||||
gt.version=5.09.29
|
||||
gt.version=5.09.29-GTNH
|
||||
|
||||
ae2.version=rv2-beta-33
|
||||
applecore.version=1.7.10-1.2.1+107.59407
|
||||
|
@ -18,11 +18,12 @@ enderiocore.version=1.7.10-0.1.0.25_beta
|
|||
forestry.version=4.2.10.58
|
||||
ic2.version=2.2.790-experimental
|
||||
nei.version=1.0.3.57
|
||||
railcraft.cf=2219/321
|
||||
railcraft.version=1.7.10-9.4.0.0
|
||||
railcraft.cf=2299/713
|
||||
railcraft.version=1.7.10-9.12.2.0
|
||||
nc.cf=2275/987
|
||||
nc.version=2.3.4a
|
||||
immeng.cf=2299/20
|
||||
immeng.version=0.7.7-deobf
|
||||
magneticraft.cf=2276/268
|
||||
magneticraft.version=0.6.1-final
|
||||
yamcore.version=0.5.73
|
||||
|
|
660
build/resources/main/assets/gregtech/lang/en_US.lang
Normal file
660
build/resources/main/assets/gregtech/lang/en_US.lang
Normal file
|
@ -0,0 +1,660 @@
|
|||
item.gregtech:modulararmor_helmet.name=Basic Modular Armor Helmet
|
||||
item.gregtech:modulararmor_chestplate.name=Basic Modular Armor Chestplate
|
||||
item.gregtech:modulararmor_leggings.name=Basic Modular Armor Leggings
|
||||
item.gregtech:modulararmor_boots.name=Basic Modular Armor Boots
|
||||
item.gregtech:modularelectric1_helmet.name=Modular Exoskeleton Helmet
|
||||
item.gregtech:modularelectric1_chestplate.name=Modular Exoskeleton Chestplate
|
||||
item.gregtech:modularelectric1_leggings.name=Modular Exoskeleton Leggings
|
||||
item.gregtech:modularelectric1_boots.name=Modular Exoskeleton Boots
|
||||
item.gregtech:modularelectric2_helmet.name=Modular Nanosuit Helmet
|
||||
item.gregtech:modularelectric2_chestplate.name=Modular Nanosuit Chestplate
|
||||
item.gregtech:modularelectric2_leggings.name=Modular Nanosuit Leggings
|
||||
item.gregtech:modularelectric2_boots.name=Modular Nanosuit Boots
|
||||
|
||||
achievement.Naquadah=Find Naquadah Ore
|
||||
achievement.Naquadah.desc=Height: 10-90, Chance: 10, Asteroids/Venus/Titan/Oberon/Pluto/KuiperBelt/VegaB/BarnardE/BarnardF//
|
||||
achievement.NaquadahEnriched=Find NaquadahEnriched Ore
|
||||
achievement.NaquadahEnriched.desc=Height: 10-90, Chance: 10, Asteroids/Venus/Titan/Oberon/Pluto/KuiperBelt/VegaB/BarnardE/BarnardF//
|
||||
achievement.Lignite=Find Lignite Ore
|
||||
achievement.Lignite.desc=Height: 30-210, Chance: 160, Overworld//
|
||||
achievement.Coal=Find Coal Ore
|
||||
achievement.Coal.desc=Height: 30-210, Chance: 160, Overworld/Twilight-Forrest//
|
||||
achievement.Magnetite=Find Magnetite Ore
|
||||
achievement.Magnetite.desc=Height: 30-180, Chance: 160, Overworld/Twilight-Forrest/End/End-Asteroids/Mars/Phobos/Deimos/Asteorids/IO/Triton/Pluto/Makamake/VegaB/BarnardE/BarnardF/Tceti//
|
||||
achievement.Iron=Find Iron Ore
|
||||
achievement.Iron.desc=Height: 5-180, Chance: 120, Overworld/Nether/Twilight-Forrest/End/End-Asteroids/Moon/Deimos/Ceres/IO/Callisto/Enceladus/Proteus/Makemake/BarnardE/BarnardF/Tceti//
|
||||
achievement.VanadiumMagnetite=Find VanadiumMagnetite Ore
|
||||
achievement.VanadiumMagnetite.desc=Height: 60-180, Chance: 160, Overworld/Twilight-Forrest/Deimos/IO/Makemake/BarnardE/Tceti/
|
||||
achievement.Gold=Find Gold Ore
|
||||
achievement.Gold.desc=Height: 30-60, Chance: 160, Overworld/Twilight-Forrest/End/End-Asteroids/Mars/Phobos/Asteroids/Callisto/Triton/Pluto/VegaB/BarnardF/Tceti/
|
||||
achievement.BrownLimonite=Find BrownLimonite Ore
|
||||
achievement.BrownLimonite.desc=Height: 10-40, Chance: 120, Overworld/Nether/Mars/Ganymed/Callisto/Mecury/Oberon/Pluto//
|
||||
achievement.YellowLimonite=Find YellowLimonite Ore
|
||||
achievement.YellowLimonite.desc=Height: 10-40, Chance: 120, Overworld/Nether/Mars/Ganymed/Callisto/Mecury/Oberon/Pluto//
|
||||
achievement.BandedIron=Find BandedIron Ore
|
||||
achievement.BandedIron.desc=Height: 10-40, Chance: 120, Overworld/Nether/Mars/Ganymed/Callisto/Mecury/Oberon/Pluto//
|
||||
achievement.Malachite=Find Malachite Ore
|
||||
achievement.Malachite.desc=Height: 10-40, Chance: 120, Overworld/Nether/Mars/Ganymed/Callisto/Mecury/Oberon/Pluto//
|
||||
achievement.Tin=Find Tin Ore
|
||||
achievement.Tin.desc=Height: 60-220, Chance: 50, Overworld/Twilight-Forrest/End/End-Asteroids/Moon/IO/Venus/Miranda/Tceti//
|
||||
achievement.Cassiterite=Find Cassiterite Ore
|
||||
achievement.Cassiterite.desc=Height: 60-220, Chance: 50, Overworld/Twilight-Forrest/End/End-Asteroids/Moon/IO/Venus/Miranda/Tceti//
|
||||
achievement.Tetrahedrite=Find Tetrahedrite Ore
|
||||
achievement.Tetrahedrite.desc=Height: 80-120, Chance: 70, Nether/End/End-Asteroids/Mars/Deimos/Asteroids/Ganymed/Venus/Miranda/KuiperBelt/VegaB//
|
||||
achievement.Copper=Find Copper Ore
|
||||
achievement.Copper.desc=Height: 5-120, Chance: 80, Overworld/Nether/End/End-Asteroids/Moon/Mars/Deimos/Asteroids/Ceres/Ganymed/Callisto/Venus/Enceladus/Miranda/Proteus/KuiperBelt/VegaB/BarnardE/BarnardF//
|
||||
achievement.Stibnite=Find Stibnite Ore
|
||||
achievement.Stibnite.desc=Height: 80-120, Chance: 70, Nether/End/End-Asteroids/Mars/Deimos/Asteroids/Ganymed/Venus/Miranda/KuiperBelt/VegaB//
|
||||
achievement.NetherQuartz=Find NetherQuartz Ore
|
||||
achievement.NetherQuartz.desc=Height: 40-80, Chance: 80, /Nether//
|
||||
achievement.Sulfur=Find Sulfur Ore
|
||||
achievement.Sulfur.desc=Height: 5-20, Chance: 100, /Nether/Mars/Phobos/Deimos/IO/Venus//
|
||||
achievement.Pyrite=Find Pyrite Ore
|
||||
achievement.Pyrite.desc=Height: 5-60, Chance: 100, Overworld/Nether/End/End-Asteroids/Moon/Mars/Phobos/Deimos/Ceres/IO/Callisto/Venus/Enceladus/Proteus/BarnardE/BarnardF//
|
||||
achievement.Sphalerite=Find Sphalerite Ore
|
||||
achievement.Sphalerite.desc=Height: 5-20, Chance: 100, /Nether/Mars/Phobos/Deimos/IO/Venus//
|
||||
achievement.Chalcopyrite=Find Chalcopyrite Ore
|
||||
achievement.Chalcopyrite.desc=Height: 5-60, Chance: 80, Overworld/Nether/End/End-Asteroids/Moon/Ceres/Callisto/Enceladus/Proteus/BarnardE/BarnardF//
|
||||
achievement.Bauxite=Find Bauxite Ore
|
||||
achievement.Bauxite.desc=Height: 10-80, Chance: 80, Moon/Phobos/Asteroids/Ganymed/Mercury/Titan/Proteus/Pluto/KuiperBelt/Makemake/Haumea/Tceti//
|
||||
achievement.Aluminium=Find Aluminium Ore
|
||||
achievement.Aluminium.desc=Height: 10-80, Chance: 80, Moon/Phobos/Asteroids/Ganymed/Mercury/Titan/Proteus/Pluto/KuiperBelt/Makemake/Haumea/Tceti//
|
||||
achievement.Ilmenite=Find Ilmenite Ore
|
||||
achievement.Ilmenite.desc=Height: 10-80, Chance: 80, Moon/Phobos/Asteroids/Ganymed/Mercury/Titan/Proteus/Pluto/KuiperBelt/Makemake/Haumea/Tceti//
|
||||
achievement.RockSalt=Find RockSalt Ore
|
||||
achievement.RockSalt.desc=Height: 50-70, Chance: 50, Overworld/Twilight-Forrest/Mars/Tceti//
|
||||
achievement.Salt=Find Salt Ore
|
||||
achievement.Salt.desc=Height: 50-70, Chance: 50, Overworld/Twilight-Forrest/Mars/Tceti//
|
||||
achievement.Lepidolite=Find Lepidolite Ore
|
||||
achievement.Lepidolite.desc=Height: 50-70, Chance: 50, Overworld/Twilight-Forrest/Mars/Tceti//
|
||||
achievement.Spodumene=Find Spodumene Ore
|
||||
achievement.Spodumene.desc=Height: 50-70, Chance: 50, Overworld/Twilight-Forrest/Mars/Tceti//
|
||||
achievement.Redstone=Find Redstone Ore
|
||||
achievement.Redstone.desc=Height: 5-40, Chance: 60, Overworld/Nether/Mars/Ganymed/Venus/Mercury/Miranda/VegaB/BarnardF//
|
||||
achievement.Ruby=Find Ruby Ore
|
||||
achievement.Ruby.desc=Height: 5-40, Chance: 60, Overworld/Nether/Mars/Ganymed/Venus/Mercury/Miranda/VegaB/BarnardF//
|
||||
achievement.Cinnabar=Find Cinnabar Ore
|
||||
achievement.Cinnabar.desc=Height: 5-40, Chance: 60, Overworld/Nether/Mars/Ganymed/Venus/Mercury/Miranda/VegaB/BarnardF//
|
||||
achievement.Soapstone=Find Soapstone Ore
|
||||
achievement.Soapstone.desc=Height: 20-50, Chance: 40, Overworld/Twilight-Forrest//
|
||||
achievement.Talc=Find Talc Ore
|
||||
achievement.Talc.desc=Height: 20-50, Chance: 40, Overworld/Twilight-Forrest//
|
||||
achievement.Glauconite=Find Glauconite Ore
|
||||
achievement.Glauconite.desc=Height: 20-50, Chance: 40, Overworld/Twilight-Forrest//
|
||||
achievement.Pentlandite=Find Pentlandite Ore
|
||||
achievement.Pentlandite.desc=Height: 10-50, Chance: 40, Overworld/Twilight-Forrest/End/End-Asteroids/Mars/Phobos/Deimos/Venus/Titan/Triton/KuiperBelt//
|
||||
achievement.Garnierite=Find Garnierite Ore
|
||||
achievement.Garnierite.desc=Height: 10-40, Chance: 40, Twilight-Forrest/End/End-Asteroids/Mars/Phobos/Deimos/Venus/Titan/Triton/KuiperBelt//
|
||||
achievement.Nickel=Find Nickel Ore
|
||||
achievement.Nickel.desc=Height: 10-40, Chance: 40, Twilight-Forrest/End/End-Asteroids/Mars/Phobos/Deimos/Venus/Titan/Triton/KuiperBelt//
|
||||
achievement.Cobaltite=Find Cobaltite Ore
|
||||
achievement.Cobaltite.desc=Height: 10-40, Chance: 40, Twilight-Forrest/End/End-Asteroids/Mars/Phobos/Deimos/Venus/Titan/Triton/KuiperBelt//
|
||||
achievement.Cooperite=Find Cooperite Ore
|
||||
achievement.Cooperite.desc=Height: 40-50, Chance: 5, //
|
||||
achievement.Palladium=Find Palladium Ore
|
||||
achievement.Palladium.desc=Height: 5-30, Chance: 10, /Ceres/IO/Ganymed/Callisto/Mercury/Oberon/Pluto/KuiperBelt/Tceti//
|
||||
achievement.Platinum=Find Platinum Ore
|
||||
achievement.Platinum.desc=Height: 5-30, Chance: 10, /Ceres/IO/Ganymed/Callisto/Mercury/Oberon/Pluto/KuiperBelt/Tceti//
|
||||
achievement.Iridium=Find Iridium Ore
|
||||
achievement.Iridium.desc=Height: 5-40, Chance: 10, IO/Venus/Mercury/Enceladus/Titan/Oberon/Miranda/Proteus/Triton/Pluto/KuiperBelt/Tceti//
|
||||
achievement.Pitchblende=Find Pitchblende Ore
|
||||
achievement.Pitchblende.desc=Height: 30-60, Chance: 40, Mars/Phobos/IO/Venus/Oberon/KuiperBelt/Makemake/Haumea/VegaB/BarnardF//
|
||||
achievement.Uranium=Find Uranium Ore
|
||||
achievement.Uranium.desc=Height: 30-60, Chance: 40, Mars/Phobos/Deimos/Ceres/IO/Gannymed/Venus/Enceladus/Oberon/Proteus//
|
||||
achievement.Uraninite=Find Uraninite Ore
|
||||
achievement.Uraninite.desc=Height: 5-60, Chance: 40, Mars/Phobos/Deimos/Ceres/IO/Gannymed/Venus/Enceladus/Oberon/Proteus/KuiperBelt/Makemake/Haumea/VegaB/BarnardE/BarnardF//
|
||||
achievement.Plutonium=Find Plutonium Ore
|
||||
achievement.Plutonium.desc=Height: can only processed//
|
||||
achievement.Bastnasite=Find Bastnasite Ore
|
||||
achievement.Bastnasite.desc=Height: 20-40, Chance: 30, Moon/Deimos/IO/Callisto/Venus/Enceladus/Titan/Triton/Makemake/Haumea/BarnardF//
|
||||
achievement.Monazite=Find Monazite Ore
|
||||
achievement.Monazite.desc=Height: 20-40, Chance: 30, Moon/Deimos/IO/Callisto/Venus/Enceladus/Titan/Triton/Makemake/Haumea/BarnardF//
|
||||
achievement.Neodymium=Find Neodymium Ore
|
||||
achievement.Neodymium.desc=Height: 20-40, Chance: 30, Moon/Deimos/IO/Callisto/Venus/Enceladus/Titan/Triton/Makemake/Haumea/BarnardF//
|
||||
achievement.Wulfenite=Find Wulfenite Ore
|
||||
achievement.Wulfenite.desc=Height: 20-50, Chance: 5, Nether/Twilight-Forrest/Moon/Phobos/Ceres/Mercury/Titan/Proteus/Pluto/BarnardE//
|
||||
achievement.Molybdenite=Find Molybdenite Ore
|
||||
achievement.Molybdenite.desc=Height: 20-50, Chance: 5, Nether/Twilight-Forrest/Moon/Phobos/Ceres/Mercury/Titan/Proteus/Pluto/BarnardE//
|
||||
achievement.Molybdenum=Find Molybdenum Ore
|
||||
achievement.Molybdenum.desc=Height: 20-50, Chance: 5, Nether/Twilight-Forrest/Moon/Phobos/Ceres/Mercury/Titan/Proteus/Pluto/BarnardE//
|
||||
achievement.Powellite=Find Powellite Ore
|
||||
achievement.Powellite.desc=Height: 20-50, Chance: 5, Nether/Twilight-Forrest/Moon/Phobos/Ceres/Mercury/Titan/Proteus/Pluto/BarnardE//
|
||||
achievement.Scheelite=Find Scheelite Ore
|
||||
achievement.Scheelite.desc=Height: 20-60, Chance: 10, Mars/Deimos/Asteroids/Ganymed/Callisto/Enceladus/Oberon/Triton/Pluto/Makemake/Haumea/VegaB//
|
||||
achievement.Tungstate=Find Tungstate Ore
|
||||
achievement.Tungstate.desc=Height: 20-60, Chance: 10, Mars/Deimos/Asteroids/Ganymed/Callisto/Enceladus/Oberon/Triton/Pluto/Makemake/Haumea/VegaB//
|
||||
achievement.Lithium=Find Lithium Ore
|
||||
achievement.Lithium.desc=Height: 20-60, Chance: 10, Mars/Deimos/Asteroids/Ganymed/Callisto/Enceladus/Oberon/Triton/Pluto/Makemake/Haumea/VegaB//
|
||||
achievement.Almandine=Find Almandine Ore
|
||||
achievement.Almandine.desc=Height: 10-40, Chance: 60, Twilight-Forrest//
|
||||
achievement.Pyrope=Find Pyrope Ore
|
||||
achievement.Pyrope.desc=Height: 10-40, Chance: 60, Twilight-Forrest//
|
||||
achievement.Sapphire=Find Sapphire Ore
|
||||
achievement.Sapphire.desc=Height: 10-40, Chance: 60, Twilight-Forrest//
|
||||
achievement.GreenSapphire=Find GreenSapphire Ore
|
||||
achievement.GreenSapphire.desc=Height: 10-40, Chance: 60, Twilight-Forrest//
|
||||
achievement.Grossular=Find Grossular Ore
|
||||
achievement.Grossular.desc=Height: 20-30, Chance: 20, Overworld/Nether/Ceres/IO/Titan/Oberon/Triton/BarnardE/BarnardF//
|
||||
achievement.Spessartine=Find Spessartine Ore
|
||||
achievement.Spessartine.desc=Height: 20-30, Chance: 20, Overworld/Nether/Ceres/IO/Titan/Oberon/Triton/BarnardE/BarnardF//
|
||||
achievement.Pyrolusite=Find Pyrolusite Ore
|
||||
achievement.Pyrolusite.desc=Height: 20-30, Chance: 20, Overworld/Nether/Ceres/IO/Titan/Oberon/Triton/BarnardE/BarnardF//
|
||||
achievement.Tantalite=Find Tantalite Ore
|
||||
achievement.Tantalite.desc=Height: 20-30, Chance: 20, Overworld/Nether/Ceres/IO/Titan/Oberon/Triton/BarnardE/BarnardF//
|
||||
achievement.Quartzite=Find Quartzite Ore
|
||||
achievement.Quartzite.desc=Height: 40-80, Chance: 60, Nether/Moon/Mars/Phobos/IO/Venus/Proteus/Tceti//
|
||||
achievement.Barite=Find Barite Ore
|
||||
achievement.Barite.desc=Height: 40-80, Chance: 60, Nether/Moon/Mars/Phobos/IO/Venus/Proteus/Tceti//
|
||||
achievement.CertusQuartz=Find CertusQuartz Ore
|
||||
achievement.CertusQuartz.desc=Height: 40-80, Chance: 60, Nether/Moon/Mars/Phobos/IO/Venus/Proteus/Tceti//
|
||||
achievement.Graphite=Find Graphite Ore
|
||||
achievement.Graphite.desc=Height: 5-20, Chance: 40, Overworld/Twilight-Forrest/Phobos/Ganymed/Mercury/Titan/Miranda/Proteus/Pluto/KuiperBelt/BarnardF//
|
||||
achievement.Diamond=Find Diamond Ore
|
||||
achievement.Diamond.desc=Height: 5-20, Chance: 40, Overworld/Twilight-Forrest/Phobos/Ganymed/Mercury/Titan/Miranda/Proteus/Pluto/KuiperBelt/BarnardF//
|
||||
achievement.Bentonite=Find Bentonite Ore
|
||||
achievement.Bentonite.desc=Height: 10-40, Chance: 60, Twilight-Forrest/Makemake/Haumea/BarnardE//
|
||||
achievement.Magnesite=Find Magnesite Ore
|
||||
achievement.Magnesite.desc=Height: 10-40, Chance: 60, Twilight-Forrest/Makemake/Haumea/BarnardE//
|
||||
achievement.Olivine=Find Olivine Ore
|
||||
achievement.Olivine.desc=Height: 10-40, Chance: 60, Twilight-Forrest/Makemake/Haumea/BarnardE//
|
||||
achievement.Apatite=Find Apatite Ore
|
||||
achievement.Apatite.desc=Height: 40-60, Chance: 60, Overworld/Twilight-Forrest/Tceti//
|
||||
achievement.Phosphorus=Find Phosphorus Ore
|
||||
achievement.Phosphorus.desc=Height: 40-60, Chance: 60, Overworld/Twilight-Forrest/Tceti//
|
||||
achievement.Phosphate=Find Phosphate Ore
|
||||
achievement.Phosphate.desc=Height: 40-60, Chance: 60, Overworld/Twilight-Forrest/Tceti//
|
||||
achievement.Galena=Find Galena Ore
|
||||
achievement.Galena.desc=Height: 5-45, Chance: 40, Twilight-Forrest/Moon/Mars/Ganymed/Venus/Oberon/Triton/VegaB//
|
||||
achievement.Silver=Find Silver Ore
|
||||
achievement.Silver.desc=Height: 5-45, Chance: 40, Twilight-Forrest/Moon/Mars/Ganymed/Venus/Oberon/Triton/VegaB//
|
||||
achievement.Lead=Find Lead Ore
|
||||
achievement.Lead.desc=Height: 5-45, Chance: 40, Twilight-Forrest/Moon/Mars/Ganymed/Venus/Oberon/Triton/VegaB//
|
||||
achievement.Lazurite=Find Lazurite Ore
|
||||
achievement.Lazurite.desc=Height: 20-50, Chance: 40, Overworld/Twilight-Forrest/Deimos/Ceres/Enceladus/VegaB//
|
||||
achievement.Sodalite=Find Sodalite Ore
|
||||
achievement.Sodalite.desc=Height: 20-50, Chance: 40, Overworld/Twilight-Forrest/Deimos/Ceres/Enceladus/VegaB//
|
||||
achievement.Lapis=Find Lapis Ore
|
||||
achievement.Lapis.desc=Height: 20-50, Chance: 40, Overworld/Twilight-Forrest/Deimos/Ceres/Enceladus/VegaB//
|
||||
achievement.Calcite=Find Calcite Ore
|
||||
achievement.Calcite.desc=Height: 20-50, Chance: 40, Overworld/Twilight-Forrest/Deimos/Ceres/Enceladus/VegaB//
|
||||
achievement.Beryllium=Find Beryllium Ore
|
||||
achievement.Beryllium.desc=Height: 5-30, Chance: 30, Nether/End/End-Asteroids/Mars/Ceres/Venus/Titan/Pluto/Makemake/Haumea/BarnardF//
|
||||
achievement.Emerald=Find Emerald Ore
|
||||
achievement.Emerald.desc=Height: 5-30, Chance: 30, Nether/End-Asteroids/Mars/Ceres/Venus/Titan/Pluto/Makemake/Haumea/BarnardF//
|
||||
achievement.Thorium=Find Thorium Ore
|
||||
achievement.Thorium.desc=Height: 5-30, Chance: 30, Nether/End-Asteroids/Mars/Ceres/Venus/Titan/Pluto/Makemake/Haumea/BarnardF//
|
||||
achievement.Oilsands=Find Oilsands Ore
|
||||
achievement.Oilsands.desc=Height: 50-80, Chance: 80, Overworld/Tceti//
|
||||
achievement.InfusedAir=Find Air Infused Ore
|
||||
achievement.InfusedAir.desc=Height: 5-35, Chance: 16, Twilight-Forrest//
|
||||
achievement.InfusedFire=Find Fire Infused Ore
|
||||
achievement.InfusedFire.desc=Height: 5-35, Chance: 16, Twilight-Forrest//
|
||||
achievement.InfusedEarth=Find Earth Infused Ore
|
||||
achievement.InfusedEarth.desc=Height: 5-35, Chance: 16, Twilight-Forrest//
|
||||
achievement.InfusedWater=Find Water Infused Ore
|
||||
achievement.InfusedWater.desc=Height: 5-35, Chance: 16, Twilight-Forrest//
|
||||
achievement.InfusedEntropy=Find Entropy Infused Ore
|
||||
achievement.InfusedEntropy.desc=Height: 5-35, Chance: 16, Twilight-Forrest//
|
||||
achievement.InfusedOrder=Find Order Infused Ore
|
||||
achievement.InfusedOrder.desc=Height: 5-35, Chance: 16, Twilight-Forrest//
|
||||
achievement.Amber=Find Amber Ore
|
||||
achievement.Amber.desc=Height: 5-35, Chance: 16, Twilight-Forrest//
|
||||
achievement.Cinnabar=Find Cinnabar Ore
|
||||
achievement.Cinnabar.desc=Height: 5-35, Chance: 16, Twilight-Forrest//
|
||||
achievement.Uvarovite=Find Uvarovite Ore
|
||||
achievement.Uvarovite.desc=Height: 10-200, Chance: 16, Moon/Ganymed/Asteroids/Callisto/Mercury/Titan/Miranda/Proteus/Pluto/Tceti//
|
||||
achievement.Chromite=Find Chromite Ore
|
||||
achievement.Chromite.desc=Height: 10-200, Chance: 16, Moon/Ganymed/Asteroids/Callisto/Mercury/Titan/Miranda/Proteus/Pluto/Tceti//
|
||||
achievement.Titanium=Find Titanium Ore
|
||||
achievement.Titanium.desc=Height: 10-200, Chance: 16, Moon/Ganymed/Asteroids/Callisto/Mercury/Titan/Miranda/Proteus/Pluto/Tceti//
|
||||
achievement.Perlite=Find Perlite Ore
|
||||
achievement.Perlite.desc=Height: 10-200, Chance: 16, Moon/Ganymed/Asteroids/Callisto/Mercury/Titan/Miranda/Proteus/Pluto/Tceti//
|
||||
achievement.Vermiculite=Find Vermiculite Ore
|
||||
achievement.Vermiculite.desc=Height: 180-250, Chance: 80, Overworld//
|
||||
achievement.Alunite=Find Alunite Ore
|
||||
achievement.Alunite.desc=Height: 5-250, Chance: 80, Overworld//
|
||||
achievement.GraniticMineralSand=Find Granitic Mineral Sand Ore
|
||||
achievement.GraniticMineralSand.desc=Height: 50-60, Chance: 80, Overworld//
|
||||
achievement.BasalticMineralSand=Find Basaltic Mineral Sand Ore
|
||||
achievement.BasalticMineralSand.desc=Height: 50-60, Chance: 80, Overworld//
|
||||
achievement.FullersEarth=Find Fullers Earth Ore
|
||||
achievement.FullersEarth.desc=Height: 50-60, Chance: 80, Overworld//
|
||||
achievement.Gypsum=Find Gypsum Ore
|
||||
achievement.Gypsum.desc=Height: 50-60, Chance: 80, Overworld//
|
||||
achievement.Kaolinite=Find Kaolinite Ore
|
||||
achievement.Kaolinite.desc=Height: 50-70, Chance: 60, Overworld//
|
||||
achievement.Zeolite=Find Zeolite Ore
|
||||
achievement.Zeolite.desc=Height: 50-70, Chance: 60, Overworld//
|
||||
achievement.GlauconiteSand=Find Glauconite Sand Ore
|
||||
achievement.GlauconiteSand.desc=Height: 50-70, Chance: 60, Overworld//
|
||||
achievement.Kyanite=Find Kyanite Ore
|
||||
achievement.Kyanite.desc=Height: 20-40, Chance: 20, Overworld//
|
||||
achievement.Mica=Find Mica Ore
|
||||
achievement.Mica.desc=Height: 20-40, Chance: 20, Overworld//
|
||||
achievement.CassiteriteSand=Find Cassiterite Sand Ore
|
||||
achievement.CassiteriteSand.desc=Height: 20-60, Chance: 20, Overworld//
|
||||
achievement.Pollucite=Find Pollucite Ore
|
||||
achievement.Pollucite.desc=Height: 20-40, Chance: 20, Overworld//
|
||||
achievement.Dolomite=Find Dolomite Ore
|
||||
achievement.Dolomite.desc=Height: 150-250, Chance: 40, Overworld//
|
||||
achievement.Wollastonite=Find Wollastonite Ore
|
||||
achievement.Wollastonite.desc=Height: 150-250, Chance: 40, Overworld//
|
||||
achievement.Trona=Find Trona Ore
|
||||
achievement.Trona.desc=Height: 150-250, Chance: 40, Overworld//
|
||||
achievement.Andradite=Find Andradite Ore
|
||||
achievement.Andradite.desc=Height: 150-250, Chance: 40, Overworld//
|
||||
achievement.GarnetSand=Find Garnet Sand Ore
|
||||
achievement.GarnetSand.desc=Height: 20-60, Chance: 80, Overworld/Haumea/VegaB/BarnardsE/Tceti//
|
||||
achievement.Asbestos=Find Asbestos Ore
|
||||
achievement.Asbestos.desc=Height: 50-60, Chance: 80, Overworld//
|
||||
achievement.Diatomite=Find Diatomite Ore
|
||||
achievement.Diatomite.desc=Height: 5-60, Chance: 80, Overworld/Nether//
|
||||
achievement.Saltpeter=Find Saltpeter Ore
|
||||
achievement.Saltpeter.desc=Height: 5-45, Chance: 40, Nether//
|
||||
achievement.Nikolite=Find Nikolite Ore
|
||||
achievement.Nikolite.desc=Height: 5-45, Chance: 40, Nether/Phobos/Deimos/IO/Mercury/Miranda//
|
||||
achievement.Desh=Find Desh Ore
|
||||
achievement.Desh.desc=Height: 5-40, Chance: 30, Mars/Miranda//
|
||||
achievement.Draconium=Find Draconium Ore
|
||||
achievement.Draconium.desc=Height: 20-40, Chance: 40, End/Phobos/DeimosIO/Mercury/Miranda//
|
||||
achievement.Jade=Find Jade Ore
|
||||
achievement.Jade.desc=Height: 20-40, Chance: 40, Phobos/DeimosIO/Mercury/Miranda//
|
||||
achievement.Vinteum=Find Vinteum Ore
|
||||
achievement.Vinteum.desc=Height: 20-40, Chance: 40, Phobos/DeimosIO/Mercury/Miranda//
|
||||
achievement.Quantium=Find Quantium Ore
|
||||
achievement.Quantium.desc=Height: 5-25, Chance: 30, Venus//
|
||||
achievement.Amethyst=Find Amethyst Ore
|
||||
achievement.Amethyst.desc=Height: 5-25, Chance: 30, Venus//
|
||||
achievement.Ardite=Find Ardite Ore
|
||||
achievement.Ardite.desc=Height: 5-25, Chance: 30, Venus//
|
||||
achievement.Rutile=Find Rutile Ore
|
||||
achievement.Rutile.desc=Height: 5-25, Chance: 30, Venus//
|
||||
achievement.CallistoIce=Find Callisto Ice Ore
|
||||
achievement.CallistoIce.desc=Height: 40-60, Chance: 40, Callisto//
|
||||
achievement.Topaz=Find Topaz Ore
|
||||
achievement.Topaz.desc=Height: 40-60, Chance: 40, Callisto//
|
||||
achievement.BlueTopaz=Find Blue Topaz Ore
|
||||
achievement.BlueTopaz.desc=Height: 40-60, Chance: 40, Callisto//
|
||||
achievement.Alduorite=Find Alduorite Ore
|
||||
achievement.Alduorite.desc=Height: 40-60, Chance: 40, Callisto//
|
||||
achievement.Mytryl=Find Mytryl Ore
|
||||
achievement.Mytryl.desc=Height: 10-30, Chance: 40, IO//
|
||||
achievement.Jasper=Find Jasper Ore
|
||||
achievement.Jasper.desc=Height: 10-30, Chance: 40, IO//
|
||||
achievement.Ceruclase=Find Ceruclase Ore
|
||||
achievement.Ceruclase.desc=Height: 10-30, Chance: 40, IO//
|
||||
achievement.Vulcanite=Find Vulcanite Ore
|
||||
achievement.Vulcanite.desc=Height: 10-30, Chance: 40, IO//
|
||||
achievement.Ledox=Find Vulcanite Ore
|
||||
achievement.Ledox.desc=Height: 40-60, Chance: 40, Encheladus//
|
||||
achievement.Opal=Find Opal Ore
|
||||
achievement.Opal.desc=Height: 40-60, Chance: 40, Encheladus//
|
||||
achievement.Orichalcum=Find Orichalcum Ore
|
||||
achievement.Orichalcum.desc=Height: 40-60, Chance: 40, Encheladus//
|
||||
achievement.Rubracium=Find Rubracium Ore
|
||||
achievement.Rubracium.desc=Height: 40-60, Chance: 40, Encheladus//
|
||||
achievement.Oriharukon=Find Oriharukon Ore
|
||||
achievement.Oriharukon.desc=Height: 30-60, Chance: 40, Phobos/Deimos//
|
||||
achievement.Tanzanite=Find Tanzanite Ore
|
||||
achievement.Tanzanite.desc=Height: 30-60, Chance: 40, Phobos/Deimos//
|
||||
achievement.Vyroxeres=Find Vyroxeres Ore
|
||||
achievement.Vyroxeres.desc=Height: 30-60, Chance: 40, Phobos/Deimos//
|
||||
achievement.Mirabilite=Find Mirabilite Ore
|
||||
achievement.Mirabilite.desc=Height: 30-60, Chance: 40, Phobos/Deimos//
|
||||
achievement.BlackPlutonium=Find Black Plutonium Ore
|
||||
achievement.BlackPlutonium.desc=Height: 5-25, Chance: 40, Pluto/Makemake/Tceti//
|
||||
achievement.GarnetRed=Find Red Garnet Ore
|
||||
achievement.GarnetRed.desc=Height: 5-60, Chance: 40, Pluto/Makemake/Humea/VegaB/BarnardF/Tceti//
|
||||
achievement.GarnetYellow=Find Yellow Garnet Ore
|
||||
achievement.GarnetYellow.desc=Height: 5-60, Chance: 40, Pluto/Makemake/Haumea/VegaB/BarnardF/Tceti//
|
||||
achievement.Borax=Find Borax Ore
|
||||
achievement.Borax.desc=Height: 5-25, Chance: 40, Pluto/Makemake/Tceti//
|
||||
achievement.InfusedGold=Find Infused Gold Ore
|
||||
achievement.InfusedGold.desc=Height: 15-40, Chance: 30, IO/Titan/Proteus/Haumea/VegaB/BarnardsE//
|
||||
achievement.Niobium=Find Niobium Ore
|
||||
achievement.Niobium.desc=Height: 5-30, Chance: 60, /Triton/Makemake/VegaB/BarnardsF//
|
||||
achievement.Yttrium=Find Yttrium Ore
|
||||
achievement.Yttrium.desc=Height: 5-30, Chance: 60, /Triton/Makemake/VegaB/BarnardsF//
|
||||
achievement.Gallium=Find Gallium Ore
|
||||
achievement.Gallium.desc=Height: 5-30, Chance: 60, /Triton/Makemake/VegaB/BarnardsF//
|
||||
achievement.ShadowIron=Find Shadow Iron Ore
|
||||
achievement.ShadowIron.desc=Height: 5-25, Chance: 30, /Oberon/Proteus/Pluto/BarnardsE/BarnardsF//
|
||||
achievement.DeepIron=Find Deep Iron Ore
|
||||
achievement.DeepIron.desc=Height: 5-25, Chance: 30, /Oberon/Proteus/Pluto/BarnardsE/BarnardsF//
|
||||
achievement.Silicon=Find Silicon Ore
|
||||
achievement.Silicon.desc=Height: 5-25, Chance: 30, /Oberon/Proteus/Pluto/BarnardsE/BarnardsF//
|
||||
achievement.Tungsten=Find Tungsten Ore
|
||||
achievement.Tungsten.desc=Height: 5-25, Chance: 30, /Oberon/Proteus/Pluto/BarnardsE/BarnardsF//
|
||||
achievement.Europium=Find Europium Ore
|
||||
achievement.Europium.desc=Height: 10-30, Chance: 60, /Triton/Pluto/Haumea/VegaB/BarnardsE/BarnardsF//
|
||||
achievement.Uranium235=Find Uranium235 Ore
|
||||
achievement.Uranium235.desc=Height: 10-30, Chance: 60, /Triton/Pluto/Haumea/VegaB/BarnardsE/BarnardsF//
|
||||
achievement.Plutonium241=Find Plutonium241 Ore
|
||||
achievement.Plutonium241.desc=Height: 10-30, Chance: 60, /Triton/Pluto/Haumea/VegaB/BarnardsE/BarnardsF//
|
||||
achievement.NetherStar=Find Nether Star Ore
|
||||
achievement.NetherStar.desc=Height: 20-60, Chance: 60, /Haumea/VegaB/BarnardsE/Tceti//
|
||||
achievement.Realgar=Find Realgar Ore
|
||||
achievement.Realgar.desc=Height: 10-30, Chance: 40, /Makemake/VegaB/BarnardsF//
|
||||
achievement.Chrysotile=Find Chrysotile Ore
|
||||
achievement.Chrysotile.desc=Height: 10-30, Chance: 40, /Makemake/VegaB/BarnardsF//
|
||||
achievement.Cerium=Find Cerium Ore
|
||||
achievement.Cerium.desc=Height: 30-60, Chance: 40, /VegaB/BarnardsE/BarnardsF//
|
||||
achievement.Caesium=Find Caesium Ore
|
||||
achievement.Caesium.desc=Height: 30-60, Chance: 40, /VegaB/BarnardsE/BarnardsF//
|
||||
achievement.Cadmium=Find Cadmium Ore
|
||||
achievement.Cadmium.desc=Height: 30-60, Chance: 40, /VegaB/BarnardsE/BarnardsF//
|
||||
achievement.Lanthanum=Find Lanthanum Ore
|
||||
achievement.Lanthanum.desc=Height: 30-60, Chance: 40, /VegaB/BarnardsE/BarnardsF//
|
||||
achievement.Vanadium=Find Vanadium Ore
|
||||
achievement.Vanadium.desc=Height: 10-50, Chance: 60, /Encheladus/Proteus/Makemake/VegaB/BarnardF//
|
||||
achievement.Osmium=Find Osmium Ore
|
||||
achievement.Osmium.desc=Height: 5-30, Chance: 60, /Encheladus/Titan/Oberon/Miranda/Proteus/Pluto/KuiperBelt/Tceti//
|
||||
achievement.Mithril=Find Mithril Ore
|
||||
achievement.Mithril.desc=Height: 15-40, Chance: 10, /IO/Venus/Mercury/Encheladus/Titan/Miranda/Triton/KuiperBelt/Tceti//
|
||||
achievement.Chrome=Find Chrome Ore
|
||||
achievement.Chrome.desc=Height: 5-50, Chance: 60, Ceres/Ganymed/IO/Callisto/Mercury/Oberon/Encheladus/Proteus/Pluto/KuiperBelt/Makemake/VegaB/BarnardF/Tceti//
|
||||
achievement.Neutronium=Find Neutronium Ore
|
||||
achievement.Neutronium.desc=Height: 5-30, Chance: 10, /IO/Venus/Mercury/Encheladus/Titan/Miranda/Triton/KuiperBelt/Tceti//
|
||||
achievement.Adamantium=Find Adamantium Ore
|
||||
achievement.Adamantium.desc=Height: 5-30, Chance: 10, Proteus/Triton/Pluto/KuiperBelt/Makemake/Haumea/VegaB/BarnardE/BarnardF/Tceti//
|
||||
|
||||
achievement.flintpick=First Tools
|
||||
achievement.flintpick.desc=Craft a flint pick
|
||||
achievement.crops=Farming
|
||||
achievement.crops.desc=Craft Crops
|
||||
achievement.havestlead=Harvest Lead
|
||||
achievement.havestlead.desc=Get Plumbilia Leafs
|
||||
achievement.havestcopper=Harvest Copper
|
||||
achievement.havestcopper.desc=Get Coppon Fiber
|
||||
achievement.havesttin=Harvest Tin
|
||||
achievement.havesttin.desc=Get Tine Twig
|
||||
achievement.havestoil=Harvest Oil
|
||||
achievement.havestoil.desc=Get Oilberrys
|
||||
achievement.havestiron=Harvest Iron
|
||||
achievement.havestiron.desc=Get Ferru Leafs
|
||||
achievement.havestgold=Harvest Gold
|
||||
achievement.havestgold.desc=Get Aurelia Leafs
|
||||
achievement.havestsilver=Harvest Silver
|
||||
achievement.havestsilver.desc=Get Argentia Leafs
|
||||
achievement.havestemeralds=Harvest Emeralds
|
||||
achievement.havestemeralds.desc=Get Bobs yer uncle Berries
|
||||
achievement.tools=More Tools
|
||||
achievement.tools.desc=Craft a Hammer
|
||||
achievement.driltime=Drilltime!
|
||||
achievement.driltime.desc=Craft a Drill(LV)
|
||||
achievement.brrrr=Brrrr...
|
||||
achievement.brrrr.desc=Craft a Chainsaw(LV)
|
||||
achievement.highpowerdrill=High Power Drill
|
||||
achievement.highpowerdrill.desc=Craft a Drill(HV)
|
||||
achievement.hammertime=Hammertime
|
||||
achievement.hammertime.desc=Craft a Jackhammer
|
||||
achievement.repair=Repairs
|
||||
achievement.repair.desc=Craft a Disassembler
|
||||
achievement.unitool=Universal Tool
|
||||
achievement.unitool.desc=Craft a Universal Spade
|
||||
achievement.recycling=Recycling
|
||||
achievement.recycling.desc=Craft an Arc Furnace
|
||||
achievement.crushed=Crushed
|
||||
achievement.crushed.desc=Crush Ores with a Hammer
|
||||
achievement.cleandust=Clean
|
||||
achievement.cleandust.desc=Clean a dust in a cauldron
|
||||
achievement.washing=Washing
|
||||
achievement.washing.desc=Get purified crushed ores
|
||||
achievement.spinit=Spin it
|
||||
achievement.spinit.desc=Get centrifuged ore
|
||||
achievement.newfuel=New Fuel
|
||||
achievement.newfuel.desc=Craft a Thorium Fuel Cell
|
||||
achievement.newmetal=New Metal
|
||||
achievement.newmetal.desc=Make Lutetium from Thorium Fuel Cells
|
||||
achievement.reflect=Reflect
|
||||
achievement.reflect.desc=Craft an Iridium Neutron Reflector
|
||||
achievement.bronze=Bronze
|
||||
achievement.bronze.desc=Craft bronze dust
|
||||
achievement.simplyeco=Simply Eco
|
||||
achievement.simplyeco.desc=Craft a Solar Boiler
|
||||
achievement.firststeam=First Steam
|
||||
achievement.firststeam.desc=Craft a Bronze Boiler
|
||||
achievement.alloysmelter=Alloysmelter
|
||||
achievement.alloysmelter.desc=Craft a Steam Alloysmelter
|
||||
achievement.macerator=Macerator
|
||||
achievement.macerator.desc=Craft a Steam Macerator
|
||||
achievement.extract=Extract
|
||||
achievement.extract.desc=Craft a Steam Extractor
|
||||
achievement.smallparts=Small Parts
|
||||
achievement.smallparts.desc=Craft NAND Chips
|
||||
achievement.bettercircuits=Better Circuits
|
||||
achievement.bettercircuits.desc=Get Good Circuits
|
||||
achievement.stepforward=Step forward
|
||||
achievement.stepforward.desc=Craft Advanced Circuits
|
||||
achievement.energyflow=Energyflow
|
||||
achievement.energyflow.desc=Get Energyflow Circuits
|
||||
achievement.orbs=Orbs
|
||||
achievement.orbs.desc=Get a Lapotronic Energy Orb
|
||||
achievement.thatspower=That is Power
|
||||
achievement.thatspower.desc=Get a Lapotronic Energy Orb Cluster
|
||||
achievement.datasaving=Datasaving
|
||||
achievement.datasaving.desc=Get a Dataorb
|
||||
achievement.superbuffer=Superbuffer
|
||||
achievement.superbuffer.desc=Craft a LV Superbuffer
|
||||
achievement.newstorage=New Storage
|
||||
achievement.newstorage.desc=Craft a Quantum Chest
|
||||
achievement.whereistheocean=Where is the Ocean?
|
||||
achievement.whereistheocean.desc=Build a Quantum Tank
|
||||
achievement.luck=Real Luck
|
||||
achievement.luck.desc=Find a Zero Point Module in a Jungle Temple
|
||||
achievement.steel=Steel
|
||||
achievement.steel.desc=Produce Steel in a Bronze Blast Furnace
|
||||
achievement.highpressure=High Pressure
|
||||
achievement.highpressure.desc=Craft a High Pressure Boiler
|
||||
achievement.extremepressure=Extreme Pressure
|
||||
achievement.extremepressure.desc=Start up a Large Boiler
|
||||
achievement.cheapermac=Cheaper than a Macerator
|
||||
achievement.cheapermac.desc=Craft a LV Forge Hammer
|
||||
achievement.complexalloys=Complex Alloys
|
||||
achievement.complexalloys.desc=Produce a Blue Steel Ingot
|
||||
achievement.magneticiron=Magnetic Iron
|
||||
achievement.magneticiron.desc=Craft a Magnetic Iron Rod with 4 Redstone
|
||||
achievement.lvmotor=Low Voltage Motor
|
||||
achievement.lvmotor.desc=Craft a Low Voltage Motor
|
||||
achievement.pumpcover=Pump
|
||||
achievement.pumpcover.desc=Craft a LV Pump
|
||||
achievement.closeit=Close it!
|
||||
achievement.closeit.desc=Get a Shutter Cover
|
||||
achievement.slurp=Slurp
|
||||
achievement.slurp.desc=Craft an Advanced Pump II
|
||||
achievement.transport=Transport
|
||||
achievement.transport.desc=Craft a LV Conveyor
|
||||
achievement.manipulation=Manipulation
|
||||
achievement.manipulation.desc=Get a Machine Controller
|
||||
achievement.buffer=Buffer
|
||||
achievement.buffer.desc=Craft a LV Chest Buffer
|
||||
achievement.complexmachines=Complex Machines
|
||||
achievement.complexmachines.desc=Craft a LV Robot Arm
|
||||
achievement.avengers=Avengers Assemble
|
||||
achievement.avengers.desc=Craft a LV Assembler
|
||||
achievement.filterregulate=Filter and Regulate
|
||||
achievement.filterregulate.desc=Get an Item Filter
|
||||
achievement.steampower=Steampower
|
||||
achievement.steampower.desc=Craft a Basic Steam Turbine
|
||||
achievement.batterys=Batterys
|
||||
achievement.batterys.desc=Craft a Battery Buffer
|
||||
achievement.badweather=Bad Weather
|
||||
achievement.badweather.desc=Forget to build a Roof above your Machines
|
||||
achievement.electricproblems=Electric Problems
|
||||
achievement.electricproblems.desc=Lose a Machine due to Overvoltage
|
||||
achievement.ebf=Electric Blast Furnace
|
||||
achievement.ebf.desc=Craft an Electric Blast Furnace
|
||||
achievement.energyhatch=You need 2 of them (3 if you did not fully fixed it)
|
||||
achievement.energyhatch.desc=Craft a LV Energy Hatch
|
||||
achievement.gtaluminium=Aluminium
|
||||
achievement.gtaluminium.desc=Produce an Aluminium Ingot
|
||||
achievement.highpowersmelt=High Power Smelter
|
||||
achievement.highpowersmelt.desc=Craft a Multi Furnace
|
||||
achievement.oilplant=Oil Plant
|
||||
achievement.oilplant.desc=Start up a Distillation Tower
|
||||
achievement.factory=Factory
|
||||
achievement.factory.desc=Craft a Processing Array
|
||||
achievement.upgradeebf=Upgrade your EBF
|
||||
achievement.upgradeebf.desc=Craft a MV Energy Hatch
|
||||
achievement.maintainance=Maintenance
|
||||
achievement.maintainance.desc=Fix all Maintenance Problems in a Machine
|
||||
achievement.upgrade=Upgrade your Coils (level I)
|
||||
achievement.upgrade.desc=Craft a Kanthal Heating Coil
|
||||
achievement.titan=Titanium
|
||||
achievement.titan.desc=Produce a Titanium Ingot
|
||||
achievement.magic=Magic?
|
||||
achievement.magic.desc=Craft a LV Magic Energy Converter
|
||||
achievement.highmage=High Mage
|
||||
achievement.highmage.desc=Craft a HV Magic Energy Absorber
|
||||
achievement.artificaldia=Artificial Diamond
|
||||
achievement.artificaldia.desc=Produce an Industrial Diamond in an Implosion Compressor
|
||||
achievement.muchsteam=So much Steam
|
||||
achievement.muchsteam.desc=Start up a Large Turbine
|
||||
achievement.efficientsteam=Efficient Steam
|
||||
achievement.efficientsteam.desc=Use Superheated Steam in a Large Turbine
|
||||
achievement.upgrade2=Upgrade your Coils (level II)
|
||||
achievement.upgrade2.desc=Craft a Nichrome Heating Coil
|
||||
achievement.tungsten=Tungsten
|
||||
achievement.tungsten.desc=Cool down a Hot Tungsten Ingot
|
||||
achievement.osmium=Osmium
|
||||
achievement.osmium.desc=Cool down a Hot Osmium Ingot
|
||||
achievement.hightech=Hightech
|
||||
achievement.hightech.desc=Craft a Field Generator Tier 1
|
||||
achievement.amplifier=Amplifier
|
||||
achievement.amplifier.desc=Craft an Amp Fab
|
||||
achievement.scanning=Scanning
|
||||
achievement.scanning.desc=Complete an Element Scan
|
||||
achievement.alienpower=Alien Power
|
||||
achievement.alienpower.desc=Craft a Naquadah Generator Mark I
|
||||
achievement.universal=Universal
|
||||
achievement.universal.desc=Craft a Mass Fab
|
||||
achievement.replication=Replication
|
||||
achievement.replication.desc=Craft a Replicator
|
||||
achievement.tungstensteel=Tungstensteel
|
||||
achievement.tungstensteel.desc=Cool down a Hot Tungstensteel Ingot
|
||||
achievement.upgrade3=Upgrade your Coils (level III)
|
||||
achievement.upgrade3.desc=Craft a Tungstensteel Heating Coil
|
||||
achievement.hssg=HSS-G
|
||||
achievement.hssg.desc=Cool down a Hot HSS-G Ingot
|
||||
achievement.upgrade4=Upgrade your Coils (level IV)
|
||||
achievement.upgrade4.desc=Craft a HSS-G Heating Coil
|
||||
achievement.stargatematerial=Stargate material
|
||||
achievement.stargatematerial.desc=Cool down a Hot Naquadah Ingot
|
||||
achievement.conducting=Conducting
|
||||
achievement.conducting.desc=Craft a Superconducting Coil
|
||||
achievement.fusion=Fusion
|
||||
achievement.fusion.desc=Produce Helium Plasma
|
||||
achievement.higherefficency=Higher efficiency
|
||||
achievement.higherefficency.desc=Produce Nitrogen Plasma
|
||||
achievement.advancing=Advancing
|
||||
achievement.advancing.desc=Produce Europium
|
||||
achievement.stargateliquid=Liquid Stargate material
|
||||
achievement.stargateliquid.desc=Produce Naquadah
|
||||
achievement.tothelimit=Going for the Limit
|
||||
achievement.tothelimit.desc=Produce Americium
|
||||
achievement.fullefficiency=Full Efficiency
|
||||
achievement.fullefficiency.desc=Craft a Plasma Generator III
|
||||
achievement.upgrade5=Upgrade your Coils (level V)
|
||||
achievement.upgrade5.desc=Craft a Naquadah Heating Coil
|
||||
achievement.alienmetallurgy=Alien Metallurgy
|
||||
achievement.alienmetallurgy.desc=Cool down a Hot Naquadah Alloy Ingot
|
||||
achievement.over9000=Over 9000!
|
||||
achievement.over9000.desc=Craft a Naquadah Alloy Heating Coil
|
||||
achievement.finalpreparations=Final Preparations
|
||||
achievement.finalpreparations.desc=Cool down a Hot Naquadria Ingot
|
||||
achievement.denseaspossible=As Dense As Possible
|
||||
achievement.denseaspossible.desc=Produce Neutronium
|
||||
achievement.whatnow=What now?
|
||||
achievement.whatnow.desc=Craft a Ultimate Battery
|
||||
|
||||
achievement.gt.metaitem.01.32606=Electric Motor LuV tier
|
||||
achievement.gt.metaitem.01.32606.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32607=Electric Motor ZPM tier
|
||||
achievement.gt.metaitem.01.32607.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32608=Electric Motor UV tier
|
||||
achievement.gt.metaitem.01.32608.desc=Pickup this item to see the recipe in NEI
|
||||
|
||||
achievement.gt.metaitem.01.32615=Electric Pump LuV tier
|
||||
achievement.gt.metaitem.01.32615.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32616=Electric Pump ZPM tier
|
||||
achievement.gt.metaitem.01.32616.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32617=Electric Pump UV tier
|
||||
achievement.gt.metaitem.01.32617.desc=Pickup this item to see the recipe in NEI
|
||||
|
||||
achievement.gt.metaitem.01.32635=Conveyor Module LuV tier
|
||||
achievement.gt.metaitem.01.32635.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32636=Conveyor Module ZPM tier
|
||||
achievement.gt.metaitem.01.32636.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32637=Conveyor Module UV tier
|
||||
achievement.gt.metaitem.01.32637.desc=Pickup this item to see the recipe in NEI
|
||||
|
||||
achievement.gt.metaitem.01.32645=Electric Piston LuV tier
|
||||
achievement.gt.metaitem.01.32645.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32646=Electric Piston ZPM tier
|
||||
achievement.gt.metaitem.01.32646.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32647=Electric Piston UV tier
|
||||
achievement.gt.metaitem.01.32647.desc=Pickup this item to see the recipe in NEI
|
||||
|
||||
achievement.gt.metaitem.01.32655=Robot Arm LuV tier
|
||||
achievement.gt.metaitem.01.32655.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32656=Robot Arm ZPM tier
|
||||
achievement.gt.metaitem.01.32656.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32657=Robot Arm UV tier
|
||||
achievement.gt.metaitem.01.32657.desc=Pickup this item to see the recipe in NEI
|
||||
|
||||
achievement.gt.metaitem.01.32675=Field Generator tier VI
|
||||
achievement.gt.metaitem.01.32675.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32676=Field Generator tier VII
|
||||
achievement.gt.metaitem.01.32676.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32677=Field Generator tier VIII
|
||||
achievement.gt.metaitem.01.32677.desc=Pickup this item to see the recipe in NEI
|
||||
|
||||
achievement.gt.metaitem.01.32685=Emitter LuV tier
|
||||
achievement.gt.metaitem.01.32685.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32686=Emitter ZPM tier
|
||||
achievement.gt.metaitem.01.32686.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32687=Emitter UV tier
|
||||
achievement.gt.metaitem.01.32687.desc=Pickup this item to see the recipe in NEI
|
||||
|
||||
achievement.gt.metaitem.01.32695=Sensor LuV tier
|
||||
achievement.gt.metaitem.01.32695.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32696=Sensor ZPM tier
|
||||
achievement.gt.metaitem.01.32696.desc=Pickup this item to see the recipe in NEI
|
||||
achievement.gt.metaitem.01.32697=Sensor UV tier
|
||||
achievement.gt.metaitem.01.32697.desc=Pickup this item to see the recipe in NEI
|
||||
|
||||
for.bees.species.clay=Clay
|
||||
for.bees.species.slimeball=Slimeball
|
||||
for.bees.species.peat=Peat
|
||||
for.bees.species.stickyresin=Stickyresin
|
||||
for.bees.species.coal=Coal
|
||||
for.bees.species.oil=Oil
|
||||
for.bees.species.redstone=Redstone
|
||||
for.bees.species.lapis=Lapis
|
||||
for.bees.species.certus=Certus
|
||||
for.bees.species.ruby=Ruby
|
||||
for.bees.species.sapphire=Sapphire
|
||||
for.bees.species.diamond=Diamond
|
||||
for.bees.species.olivine=Olivine
|
||||
for.bees.species.emerald=Emerald
|
||||
for.bees.species.copper=Copper
|
||||
for.bees.species.tin=Tin
|
||||
for.bees.species.lead=Lead
|
||||
for.bees.species.iron=Iron
|
||||
for.bees.species.steel=Steel
|
||||
for.bees.species.nickel=Nickel
|
||||
for.bees.species.zinc=Zinc
|
||||
for.bees.species.silver=Silver
|
||||
for.bees.species.gold=Gold
|
||||
for.bees.species.aluminium=Aluminium
|
||||
for.bees.species.titanium=Titanium
|
||||
for.bees.species.chrome=Chrome
|
||||
for.bees.species.manganese=Manganese
|
||||
for.bees.species.tungsten=Tungsten
|
||||
for.bees.species.platinum=Platinum
|
||||
for.bees.species.iridium=Iridium
|
||||
for.bees.species.uranium=Uranium
|
||||
for.bees.species.plutonium=Plutonium
|
||||
for.bees.species.naquadah=Naquadah
|
||||
|
||||
itemGroup.GTtools=Prebuild Tools
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
Binary file not shown.
6
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
6
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
#Wed Jul 02 15:54:47 CDT 2014
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip
|
164
gradlew
vendored
Normal file
164
gradlew
vendored
Normal file
|
@ -0,0 +1,164 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn ( ) {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die ( ) {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
esac
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched.
|
||||
if $cygwin ; then
|
||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
fi
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >&-
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >&-
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
|
||||
function splitJvmOpts() {
|
||||
JVM_OPTS=("$@")
|
||||
}
|
||||
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
|
||||
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
|
||||
|
||||
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
|
BIN
libs/CodeChickenCore-1.7.10-1.0.4.35-dev.jar
Normal file
BIN
libs/CodeChickenCore-1.7.10-1.0.4.35-dev.jar
Normal file
Binary file not shown.
BIN
libs/CodeChickenLib-1.7.10-1.1.1.99-dev.jar
Normal file
BIN
libs/CodeChickenLib-1.7.10-1.1.1.99-dev.jar
Normal file
Binary file not shown.
BIN
libs/NotEnoughItems-1.7.10-1.0.4.95-dev.jar
Normal file
BIN
libs/NotEnoughItems-1.7.10-1.0.4.95-dev.jar
Normal file
Binary file not shown.
BIN
libs/appliedenergistics2-rv2-stable-10-api.jar
Normal file
BIN
libs/appliedenergistics2-rv2-stable-10-api.jar
Normal file
Binary file not shown.
BIN
libs/forestry_1.7.10-4.2.10.58-api.jar
Normal file
BIN
libs/forestry_1.7.10-4.2.10.58-api.jar
Normal file
Binary file not shown.
|
@ -1,9 +0,0 @@
|
|||
package bloodasp.galacticgreg;
|
||||
|
||||
import gregtech.common.GT_Worldgenerator;
|
||||
|
||||
public class GT_Worldgenerator_Space extends GT_Worldgenerator {
|
||||
public GT_Worldgenerator_Space() {
|
||||
super();
|
||||
}
|
||||
}
|
|
@ -3,6 +3,8 @@ package gregtech;
|
|||
import cpw.mods.fml.common.*;
|
||||
import cpw.mods.fml.common.event.*;
|
||||
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import forestry.api.recipes.ICentrifugeRecipe;
|
||||
import forestry.api.recipes.ISqueezerRecipe;
|
||||
import forestry.api.recipes.RecipeManagers;
|
||||
|
@ -21,6 +23,7 @@ import gregtech.common.GT_Proxy;
|
|||
import gregtech.common.GT_RecipeAdder;
|
||||
import gregtech.common.entities.GT_Entity_Arrow;
|
||||
import gregtech.common.entities.GT_Entity_Arrow_Potion;
|
||||
import gregtech.common.items.GT_MetaGenerated_Tool_01;
|
||||
import gregtech.common.items.armor.components.LoadArmorComponents;
|
||||
import gregtech.common.items.behaviors.Behaviour_DataOrb;
|
||||
import gregtech.common.tileentities.machines.basic.GT_MetaTileEntity_Massfabricator;
|
||||
|
@ -31,13 +34,16 @@ import gregtech.loaders.load.GT_SonictronLoader;
|
|||
import gregtech.loaders.misc.GT_Achievements;
|
||||
import gregtech.loaders.misc.GT_Bees;
|
||||
import gregtech.loaders.misc.GT_CoverLoader;
|
||||
import gregtech.loaders.misc.OreProcessingConfiguration;
|
||||
import gregtech.loaders.postload.*;
|
||||
import gregtech.loaders.preload.*;
|
||||
import ic2.api.recipe.IRecipeInput;
|
||||
import ic2.api.recipe.RecipeOutput;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
import net.minecraft.item.crafting.FurnaceRecipes;
|
||||
|
@ -53,8 +59,11 @@ import net.minecraftforge.fluids.FluidStack;
|
|||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.io.*;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.PrintStream;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
@ -264,8 +273,16 @@ public class GT_Mod implements IGT_Mod {
|
|||
GregTech_API.mRFtoEU = GregTech_API.sOPStuff.get(ConfigCategories.general, "100RFtoEU", 20);
|
||||
GregTech_API.mRFExplosions = GregTech_API.sOPStuff.get(ConfigCategories.general, "RFExplosions", false);
|
||||
GregTech_API.meIOLoaded = Loader.isModLoaded("EnderIO");
|
||||
|
||||
GregTech_API.mUseOnlyGoodSolderingMaterials = GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.harderrecipes, "useonlygoodsolderingmaterials", GregTech_API.mUseOnlyGoodSolderingMaterials);
|
||||
gregtechproxy.mChangeHarvestLevels = GregTech_API.sMaterialProperties.get("havestLevel", "activateHarvestLevelChange", false);
|
||||
if(gregtechproxy.mChangeHarvestLevels){
|
||||
gregtechproxy.mGraniteHavestLevel = (int) GregTech_API.sMaterialProperties.get("havestLevel", "graniteHarvestLevel", 3);
|
||||
gregtechproxy.mMaxHarvestLevel=(int) Math.min(15, GregTech_API.sMaterialProperties.get("havestLevel", "maxLevel",7));
|
||||
for(Materials tMaterial : Materials.values()){
|
||||
if(tMaterial!=null&&tMaterial.mToolQuality>0&&tMaterial.mMetaItemSubID<gregtechproxy.mHarvestLevel.length&&tMaterial.mMetaItemSubID>=0){
|
||||
gregtechproxy.mHarvestLevel[tMaterial.mMetaItemSubID] = GregTech_API.sMaterialProperties.get("materialHavestLevel", tMaterial.mDefaultLocalName,tMaterial.mToolQuality);
|
||||
}
|
||||
}}
|
||||
|
||||
if (tMainConfig.get("general", "hardermobspawners", true).getBoolean(true)) {
|
||||
Blocks.mob_spawner.setHardness(500.0F).setResistance(6000000.0F);
|
||||
|
@ -417,6 +434,8 @@ public class GT_Mod implements IGT_Mod {
|
|||
new Enchantment_EnderDamage();
|
||||
new Enchantment_Radioactivity();
|
||||
|
||||
new OreProcessingConfiguration(aEvent.getModConfigurationDirectory()).run();
|
||||
|
||||
new GT_Loader_OreProcessing().run();
|
||||
new GT_Loader_OreDictionary().run();
|
||||
new GT_Loader_ItemData().run();
|
||||
|
@ -429,9 +448,9 @@ public class GT_Mod implements IGT_Mod {
|
|||
new GT_SpawnEventHandler();
|
||||
if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanel", true)) {
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SGS", "CPC", 'C', OrePrefixes.circuit.get(Materials.Basic), 'G', new ItemStack(Blocks.glass_pane, 1), 'P', OrePrefixes.plateAlloy.get(Materials.Carbon), 'S', ItemList.Circuit_Silicon_Wafer});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_8V.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SGS", "CPC","R R", 'C', OrePrefixes.circuit.get(Materials.Advanced), 'G', new ItemStack(Blocks.glass_pane, 1), 'P', OrePrefixes.wireGt04.get(Materials.Graphene), 'S', ItemList.Circuit_Silicon_Wafer2,'R', OrePrefixes.plate.get(Materials.GalliumArsenide)});
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SGS", "CPC","R R", 'C', OrePrefixes.circuit.get(Materials.Master), 'G', GT_ModHandler.getIC2Item("reinforcedGlass", 1L), 'P', OrePrefixes.wireGt16.get(Materials.Graphene), 'S', ItemList.Circuit_Silicon_Wafer3,'R', OrePrefixes.plate.get(Materials.IndiumGalliumPhosphide)});
|
||||
}
|
||||
//GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_8V.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SGS", "CPC","R R", 'C', OrePrefixes.circuit.get(Materials.Advanced), 'G', new ItemStack(Blocks.glass_pane, 1), 'P', OrePrefixes.wireGt04.get(Materials.Graphene), 'S', ItemList.Circuit_Silicon_Wafer2,'R', OrePrefixes.plate.get(Materials.GalliumArsenide)});
|
||||
//GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SGS", "CPC","R R", 'C', OrePrefixes.circuit.get(Materials.Master), 'G', GT_ModHandler.getIC2Item("reinforcedGlass", 1L), 'P', OrePrefixes.wireGt16.get(Materials.Graphene), 'S', ItemList.Circuit_Silicon_Wafer3,'R', OrePrefixes.plate.get(Materials.IndiumGalliumPhosphide)});
|
||||
}
|
||||
if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "SolarPanel8V", false)) {
|
||||
GT_ModHandler.addCraftingRecipe(ItemList.Cover_SolarPanel_8V.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SSS", "STS", "SSS", 'S', ItemList.Cover_SolarPanel, 'T', OrePrefixes.circuit.get(Materials.Advanced)});
|
||||
}
|
||||
|
@ -803,6 +822,16 @@ public class GT_Mod implements IGT_Mod {
|
|||
GT_Recipe.GT_Recipe_Map.sRockBreakerFakeRecipes.addFakeRecipe(false, new ItemStack[]{ItemList.Display_ITS_FREE.getWithName(0L, "Place Lava on Side", new Object[0])}, new ItemStack[]{new ItemStack(Blocks.cobblestone, 1)}, null, null, null, 16, 32, 0);
|
||||
GT_Recipe.GT_Recipe_Map.sRockBreakerFakeRecipes.addFakeRecipe(false, new ItemStack[]{ItemList.Display_ITS_FREE.getWithName(0L, "Place Lava on Top", new Object[0])}, new ItemStack[]{new ItemStack(Blocks.stone, 1)}, null, null, null, 16, 32, 0);
|
||||
GT_Recipe.GT_Recipe_Map.sRockBreakerFakeRecipes.addFakeRecipe(false, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L)}, new ItemStack[]{new ItemStack(Blocks.obsidian, 1)}, null, null, null, 128, 32, 0);
|
||||
for (Iterator i$ = GT_ModHandler.getMaceratorRecipeList().entrySet().iterator(); i$.hasNext(); ) {
|
||||
Entry tRecipe = (Map.Entry) i$.next();
|
||||
if (((RecipeOutput) tRecipe.getValue()).items.size() > 0) {
|
||||
for (ItemStack tStack : ((IRecipeInput) tRecipe.getKey()).getInputs()) {
|
||||
if (GT_Utility.isStackValid(tStack)) {
|
||||
GT_Recipe.GT_Recipe_Map.sMaceratorRecipes.addFakeRecipe(true, new ItemStack[]{GT_Utility.copyAmount(((IRecipeInput) tRecipe.getKey()).getAmount(), new Object[]{tStack})}, new ItemStack[]{(ItemStack) ((RecipeOutput) tRecipe.getValue()).items.get(0)}, null, null, null, null, 400, 2, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(GregTech_API.mOutputRF||GregTech_API.mInputRF){
|
||||
GT_Utility.checkAvailabilities();
|
||||
|
@ -822,6 +851,39 @@ public class GT_Mod implements IGT_Mod {
|
|||
GregTech_API.sAfterGTLoad = null;
|
||||
GregTech_API.sBeforeGTPostload = null;
|
||||
GregTech_API.sAfterGTPostload = null;
|
||||
|
||||
|
||||
|
||||
CreativeTabs mainTab = new CreativeTabs("GTtools") {
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public ItemStack getIconItemStack() {
|
||||
return ItemList.Tool_Cheat.get(1, new ItemStack(Blocks.iron_block, 1));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public Item getTabIconItem() {
|
||||
return ItemList.Circuit_Integrated.getItem();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void displayAllReleventItems(List aList) {
|
||||
for (int i = 0; i < 32766; i += 2) {
|
||||
if (GT_MetaGenerated_Tool_01.INSTANCE.getToolStats(new ItemStack(GT_MetaGenerated_Tool_01.INSTANCE, 1, i)) != null) {
|
||||
ItemStack tStack = new ItemStack(GT_MetaGenerated_Tool_01.INSTANCE, 1, i);
|
||||
GT_MetaGenerated_Tool_01.INSTANCE.isItemStackUsable(tStack);
|
||||
aList.add(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(i,1,Materials.Lead,Materials.Lead,null));
|
||||
aList.add(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(i,1,Materials.Nickel,Materials.Nickel,null));
|
||||
aList.add(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(i,1,Materials.Cobalt,Materials.Cobalt,null));
|
||||
aList.add(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(i,1,Materials.Osmium,Materials.Osmium,null));
|
||||
aList.add(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(i,1,Materials.Adamantium,Materials.Adamantium,null));
|
||||
aList.add(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(i,1, Materials.Neutronium,Materials.Neutronium,null));
|
||||
}
|
||||
}
|
||||
super.displayAllReleventItems(aList);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
|
|
|
@ -84,9 +84,8 @@ public class GregTech_API {
|
|||
* 9728 - 10239 are reserved for 28Smiles.
|
||||
* 10240 - 10751 are reserved for VirMan.
|
||||
* 10752 - 11263 are reserved for Briareos81.
|
||||
* 11264 - 12000 are reserved for Quantum64.
|
||||
* 12001 - 12200 are reserved for the next one who asks me.
|
||||
* 12001 - 32766 are currently free.
|
||||
* 11264 - 12000 are reserved for the next one who asks me.
|
||||
* 9728 - 32766 are currently free.
|
||||
* <p/>
|
||||
* Contact me if you need a free ID-Range, which doesn't conflict with other Addons.
|
||||
* You could make an ID-Config, but we all know, what "stupid" customers think about conflicting ID's
|
||||
|
@ -179,9 +178,9 @@ public class GregTech_API {
|
|||
*/
|
||||
public static Block sBlockMachines;
|
||||
|
||||
public static Block sBlockOres1, sBlockOresUb1, sBlockOresUb2, sBlockOresUb3, sBlockOresGC, sBlockGem, sBlockMetal1, sBlockMetal2, sBlockMetal3, sBlockMetal4, sBlockMetal5, sBlockMetal6, sBlockMetal7, sBlockMetal8, sBlockGem1, sBlockGem2, sBlockGem3, sBlockReinforced;
|
||||
public static Block sBlockOres1, sBlockOresUb1, sBlockOresUb2, sBlockOresUb3, /*sBlockGem,*/ sBlockMetal1, sBlockMetal2, sBlockMetal3, sBlockMetal4, sBlockMetal5, sBlockMetal6, sBlockMetal7, sBlockMetal8, sBlockGem1, sBlockGem2, sBlockGem3, sBlockReinforced;
|
||||
public static Block sBlockGranites, sBlockConcretes, sBlockStones;
|
||||
public static Block sBlockCasings1, sBlockCasings2, sBlockCasings3, sBlockCasings4, sBlockCasings5;
|
||||
public static Block sBlockCasings1, sBlockCasings2, sBlockCasings3, sBlockCasings4, sBlockCasings5, sBlockCasings6;
|
||||
/**
|
||||
* Getting assigned by the Config
|
||||
*/
|
||||
|
@ -214,9 +213,8 @@ public class GregTech_API {
|
|||
sItemStackMappings.add(sCovers);
|
||||
sItemStackMappings.add(sCoverBehaviors);
|
||||
|
||||
sDimensionalList.add(-1);
|
||||
sDimensionalList.add(0);
|
||||
sDimensionalList.add(1);
|
||||
//sDimensionalList.add(56);
|
||||
//sDimensionalList.add(55);
|
||||
|
||||
sSoundList.put(0, "random.break");
|
||||
sSoundList.put(1, "random.anvil_use");
|
||||
|
@ -294,7 +292,7 @@ public class GregTech_API {
|
|||
* You should call @causeMachineUpdate in @Block.breakBlock and in @Block.onBlockAdded of your registered Block.
|
||||
* You don't need to register TileEntities which implement @IMachineBlockUpdateable
|
||||
*
|
||||
* @param aID the ID of your Block
|
||||
* @param aBlock the Block
|
||||
* @param aMeta the Metadata of the Blocks as Bitmask! -1 or ~0 for all Metavalues
|
||||
*/
|
||||
public static boolean registerMachineBlock(Block aBlock, int aMeta) {
|
||||
|
@ -313,7 +311,7 @@ public class GregTech_API {
|
|||
if (GregTech_API.sThaumcraftCompat != null)
|
||||
GregTech_API.sThaumcraftCompat.registerPortholeBlacklistedBlock(aBlock);
|
||||
int rMeta = 0;
|
||||
for (byte i = 0; i < 16 && i < aMeta.length; i++) if (aMeta[i]) rMeta |= B[i];
|
||||
for (byte i = 0; i < aMeta.length && i < 16; i++) if (aMeta[i]) rMeta |= B[i];
|
||||
sMachineIDs.put(aBlock, rMeta);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ public enum Dyes implements IColorModulationContainer {
|
|||
dyeRed(1, 255, 0, 0, "Red"),
|
||||
dyeGreen(2, 0, 255, 0, "Green"),
|
||||
dyeBrown(3, 96, 64, 0, "Brown"),
|
||||
dyeBlue(4, 0, 0, 255, "Blue"),
|
||||
dyeBlue(4, 0, 32, 255, "Blue"),
|
||||
dyePurple(5, 128, 0, 128, "Purple"),
|
||||
dyeCyan(6, 0, 255, 255, "Cyan"),
|
||||
dyeLightGray(7, 192, 192, 192, "Light Gray"),
|
||||
|
@ -24,7 +24,7 @@ public enum Dyes implements IColorModulationContainer {
|
|||
dyePink(9, 255, 192, 192, "Pink"),
|
||||
dyeLime(10, 128, 255, 128, "Lime"),
|
||||
dyeYellow(11, 255, 255, 0, "Yellow"),
|
||||
dyeLightBlue(12, 128, 128, 255, "Light Blue"),
|
||||
dyeLightBlue(12, 96, 128, 255, "Light Blue"),
|
||||
dyeMagenta(13, 255, 0, 255, "Magenta"),
|
||||
dyeOrange(14, 255, 128, 0, "Orange"),
|
||||
dyeWhite(15, 255, 255, 255, "White"),
|
||||
|
@ -37,7 +37,7 @@ public enum Dyes implements IColorModulationContainer {
|
|||
*/
|
||||
CABLE_INSULATION(-1, 64, 64, 64, "Cable Insulation"),
|
||||
CONSTRUCTION_FOAM(-1, 64, 64, 64, "Construction Foam"),
|
||||
MACHINE_METAL(-1, 220, 220, 255, "Machine Metal");
|
||||
MACHINE_METAL(-1, 210, 220, 255, "Machine Metal");
|
||||
|
||||
public static final Dyes VALUES[] = {dyeBlack, dyeRed, dyeGreen, dyeBrown, dyeBlue, dyePurple, dyeCyan, dyeLightGray, dyeGray, dyePink, dyeLime, dyeYellow, dyeLightBlue, dyeMagenta, dyeOrange, dyeWhite};
|
||||
|
||||
|
|
|
@ -63,17 +63,30 @@ public class GT_Values {
|
|||
/**
|
||||
* The Voltage Tiers. Use this Array instead of the old named Voltage Variables
|
||||
*/
|
||||
public static final long[] V = new long[]{8, 32, 128, 512, 2048, 8192, 32768, 131072, 524288, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE};
|
||||
public static final long[] V = new long[]{8L, 32L, 128L, 512L, 2048L, 8192L, 32768L, 131072L, 524288L, 2097152L, 8388608L, 33554432L, 134217728L, 536870912L, 1073741824L, Integer.MAX_VALUE-7};
|
||||
//TODO:Adding that in coremod!!!
|
||||
//TODO:tier 14,15 wires and transformers only (not even cables !!!)
|
||||
//TODO:tier 12,13 the above + batteries, battery buffers, (maybe cables,12 also works for machines)
|
||||
//TODO:tier 10,11 the above + chargers and other machines, (cables would be nice)
|
||||
//TODO:tier 9 machines and batteries
|
||||
|
||||
//TODO:AND ALL THE MATERIALS... for that
|
||||
//TODO:LIST OF MACHINES WITH POINTLESS TIERS (unless you implement some other tiering mechanism like reducing eu cost if time=1tick)
|
||||
//Macerator/Compressor/Furnace... and for cheap recipes any
|
||||
/**
|
||||
* keeping Voltage*Amps < Integer.MAX_VALUE-7 for machines (and tier logic 4x EUt 2/ time)
|
||||
* AMV[4]= max amps at tier 4
|
||||
*/
|
||||
public static final long[] AatV = new long[]{268435455,67108863,16777215,4194303,1048575,262143,65535,16383,4095,1023,255,63,15,3,1,1};
|
||||
/**
|
||||
* The short Names for the Voltages
|
||||
*/
|
||||
public static final String[] VN = new String[]{"ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "MAX", "MAX", "MAX", "MAX", "MAX", "MAX", "MAX"};
|
||||
public static final String[] VN = new String[]{"ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV", "UEV", "UIV", "UMV", "UXV", "OpV", "MAX"};
|
||||
|
||||
/**
|
||||
* The long Names for the Voltages
|
||||
*/
|
||||
public static final String[] VOLTAGE_NAMES = new String[]{"Ultra Low Voltage", "Low Voltage", "Medium Voltage", "High Voltage", "Extreme Voltage", "Insane Voltage", "Ludicrous Voltage", "ZPM Voltage", "Ultimate Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage", "Maximum Voltage"};
|
||||
public static final String[] VOLTAGE_NAMES = new String[]{"Ultra Low Voltage", "Low Voltage", "Medium Voltage", "High Voltage", "Extreme Voltage", "Insane Voltage", "Ludicrous Voltage", "ZPM Voltage", "Ultimate Voltage", "Ultimate High Voltage", "Ultimate Extreme Voltage", "Ultimate Insane Voltage", "Ultimate Mega Voltage", "Ultimate Extended Mega Voltage", "Overpowered Voltage", "Maximum Voltage"};
|
||||
/**
|
||||
* This way it is possible to have a Call Hierarchy of NullPointers in ItemStack based Functions, and also because most of the time I don't know what kind of Data Type the "null" stands for
|
||||
*/
|
||||
|
|
|
@ -194,6 +194,13 @@ public enum ItemList implements IItemContainer {
|
|||
Cell_Air,
|
||||
Large_Fluid_Cell_Steel,
|
||||
Large_Fluid_Cell_TungstenSteel,
|
||||
Large_Fluid_Cell_Aluminium,
|
||||
Large_Fluid_Cell_StainlessSteel,
|
||||
Large_Fluid_Cell_Titanium,
|
||||
Large_Fluid_Cell_Chrome,
|
||||
Large_Fluid_Cell_Iridium,
|
||||
Large_Fluid_Cell_Osmium,
|
||||
Large_Fluid_Cell_Neutronium,
|
||||
ThermosCan_Empty,
|
||||
ThermosCan_Dark_Coffee,
|
||||
ThermosCan_Dark_Cafe_au_lait,
|
||||
|
@ -508,7 +515,9 @@ public enum ItemList implements IItemContainer {
|
|||
Generator_Steam_Turbine_HV,
|
||||
Generator_Naquadah_Mark_I,
|
||||
Generator_Naquadah_Mark_II,
|
||||
Generator_Naquadah_Fluid,
|
||||
Generator_Naquadah_Mark_III,
|
||||
Generator_Naquadah_Mark_IV,
|
||||
Generator_Naquadah_Mark_V,
|
||||
|
||||
Machine_Bronze_Boiler,
|
||||
Machine_Bronze_Boiler_Solar,
|
||||
|
@ -562,58 +571,58 @@ public enum ItemList implements IItemContainer {
|
|||
Locker_ULV, Locker_LV, Locker_MV, Locker_HV, Locker_EV, Locker_IV, Locker_LuV, Locker_ZPM, Locker_UV, Locker_MAX,
|
||||
|
||||
Machine_Multi_LargeBoiler_Bronze, Machine_Multi_LargeBoiler_Steel, Machine_Multi_LargeBoiler_Titanium, Machine_Multi_LargeBoiler_TungstenSteel, Machine_Multi_BlastFurnace, Machine_Multi_ImplosionCompressor, Machine_Multi_VacuumFreezer, Machine_Multi_Furnace,
|
||||
Machine_LV_AlloySmelter, Machine_MV_AlloySmelter, Machine_HV_AlloySmelter, Machine_EV_AlloySmelter, Machine_IV_AlloySmelter, Machine_LuV_AlloySmelter, Machine_ZPM_AlloySmelter, Machine_UV_AlloySmelter,
|
||||
Machine_LV_Assembler, Machine_MV_Assembler, Machine_HV_Assembler, Machine_EV_Assembler, Machine_IV_Assembler, Machine_LuV_Assembler, Machine_ZPM_Assembler, Machine_UV_Assembler,
|
||||
Machine_LV_Bender, Machine_MV_Bender, Machine_HV_Bender, Machine_EV_Bender, Machine_IV_Bender, Machine_LuV_Bender, Machine_ZPM_Bender, Machine_UV_Bender,
|
||||
Machine_LV_Canner, Machine_MV_Canner, Machine_HV_Canner, Machine_EV_Canner, Machine_IV_Canner, Machine_LuV_Canner, Machine_ZPM_Canner, Machine_UV_Canner,
|
||||
Machine_LV_Compressor, Machine_MV_Compressor, Machine_HV_Compressor, Machine_EV_Compressor, Machine_IV_Compressor, Machine_LuV_Compressor, Machine_ZPM_Compressor, Machine_UV_Compressor,
|
||||
Machine_LV_Cutter, Machine_MV_Cutter, Machine_HV_Cutter, Machine_EV_Cutter, Machine_IV_Cutter, Machine_LuV_Cutter, Machine_ZPM_Cutter, Machine_UV_Cutter,
|
||||
Machine_LV_Slicer, Machine_MV_Slicer, Machine_HV_Slicer, Machine_EV_Slicer, Machine_IV_Slicer, Machine_LuV_Slicer, Machine_ZPM_Slicer, Machine_UV_Slicer,
|
||||
Machine_LV_Sifter, Machine_MV_Sifter, Machine_HV_Sifter, Machine_EV_Sifter, Machine_IV_Sifter, Machine_LuV_Sifter, Machine_ZPM_Sifter, Machine_UV_Sifter,
|
||||
Machine_LV_ArcFurnace, Machine_MV_ArcFurnace, Machine_HV_ArcFurnace, Machine_EV_ArcFurnace, Machine_IV_ArcFurnace, Machine_LuV_ArcFurnace, Machine_ZPM_ArcFurnace, Machine_UV_ArcFurnace,
|
||||
Machine_LV_PlasmaArcFurnace, Machine_MV_PlasmaArcFurnace, Machine_HV_PlasmaArcFurnace, Machine_EV_PlasmaArcFurnace, Machine_IV_PlasmaArcFurnace, Machine_LuV_PlasmaArcFurnace, Machine_ZPM_PlasmaArcFurnace, Machine_UV_PlasmaArcFurnace,
|
||||
Machine_LV_Oven, Machine_MV_Oven, Machine_HV_Oven, Machine_EV_Oven, Machine_IV_Oven, Machine_LuV_Oven, Machine_ZPM_Oven, Machine_UV_Oven,
|
||||
Machine_LV_E_Furnace, Machine_MV_E_Furnace, Machine_HV_E_Furnace, Machine_EV_E_Furnace, Machine_IV_E_Furnace, Machine_LuV_E_Furnace, Machine_ZPM_E_Furnace, Machine_UV_E_Furnace,
|
||||
Machine_LV_Extractor, Machine_MV_Extractor, Machine_HV_Extractor, Machine_EV_Extractor, Machine_IV_Extractor, Machine_LuV_Extractor, Machine_ZPM_Extractor, Machine_UV_Extractor,
|
||||
Machine_LV_Extruder, Machine_MV_Extruder, Machine_HV_Extruder, Machine_EV_Extruder, Machine_IV_Extruder, Machine_LuV_Extruder, Machine_ZPM_Extruder, Machine_UV_Extruder,
|
||||
Machine_LV_Lathe, Machine_MV_Lathe, Machine_HV_Lathe, Machine_EV_Lathe, Machine_IV_Lathe, Machine_LuV_Lathe, Machine_ZPM_Lathe, Machine_UV_Lathe,
|
||||
Machine_LV_Macerator, Machine_MV_Macerator, Machine_HV_Macerator, Machine_EV_Macerator, Machine_IV_Macerator, Machine_LuV_Macerator, Machine_ZPM_Macerator, Machine_UV_Macerator,
|
||||
Machine_LV_Microwave, Machine_MV_Microwave, Machine_HV_Microwave, Machine_EV_Microwave, Machine_IV_Microwave, Machine_LuV_Microwave, Machine_ZPM_Microwave, Machine_UV_Microwave,
|
||||
Machine_LV_Printer, Machine_MV_Printer, Machine_HV_Printer, Machine_EV_Printer, Machine_IV_Printer, Machine_LuV_Printer, Machine_ZPM_Printer, Machine_UV_Printer,
|
||||
Machine_LV_Recycler, Machine_MV_Recycler, Machine_HV_Recycler, Machine_EV_Recycler, Machine_IV_Recycler, Machine_LuV_Recycler, Machine_ZPM_Recycler, Machine_UV_Recycler,
|
||||
Machine_LV_Scanner, Machine_MV_Scanner, Machine_HV_Scanner, Machine_EV_Scanner, Machine_IV_Scanner, Machine_LuV_Scanner, Machine_ZPM_Scanner, Machine_UV_Scanner,
|
||||
Machine_LV_Wiremill, Machine_MV_Wiremill, Machine_HV_Wiremill, Machine_EV_Wiremill, Machine_IV_Wiremill, Machine_LuV_Wiremill, Machine_ZPM_Wiremill, Machine_UV_Wiremill,
|
||||
Machine_LV_Electrolyzer, Machine_MV_Electrolyzer, Machine_HV_Electrolyzer, Machine_EV_Electrolyzer, Machine_IV_Electrolyzer, Machine_LuV_Electrolyzer, Machine_ZPM_Electrolyzer, Machine_UV_Electrolyzer,
|
||||
Machine_LV_Centrifuge, Machine_MV_Centrifuge, Machine_HV_Centrifuge, Machine_EV_Centrifuge, Machine_IV_Centrifuge, Machine_LuV_Centrifuge, Machine_ZPM_Centrifuge, Machine_UV_Centrifuge,
|
||||
Machine_LV_ThermalCentrifuge, Machine_MV_ThermalCentrifuge, Machine_HV_ThermalCentrifuge, Machine_EV_ThermalCentrifuge, Machine_IV_ThermalCentrifuge, Machine_LuV_ThermalCentrifuge, Machine_ZPM_ThermalCentrifuge, Machine_UV_ThermalCentrifuge,
|
||||
Machine_LV_OreWasher, Machine_MV_OreWasher, Machine_HV_OreWasher, Machine_EV_OreWasher, Machine_IV_OreWasher, Machine_LuV_OreWasher, Machine_ZPM_OreWasher, Machine_UV_OreWasher,
|
||||
Machine_LV_RockBreaker, Machine_MV_RockBreaker, Machine_HV_RockBreaker, Machine_EV_RockBreaker, Machine_IV_RockBreaker, Machine_LuV_RockBreaker, Machine_ZPM_RockBreaker, Machine_UV_RockBreaker,
|
||||
Machine_LV_Boxinator, Machine_MV_Boxinator, Machine_HV_Boxinator, Machine_EV_Boxinator, Machine_IV_Boxinator, Machine_LuV_Boxinator, Machine_ZPM_Boxinator, Machine_UV_Boxinator,
|
||||
Machine_LV_Unboxinator, Machine_MV_Unboxinator, Machine_HV_Unboxinator, Machine_EV_Unboxinator, Machine_IV_Unboxinator, Machine_LuV_Unboxinator, Machine_ZPM_Unboxinator, Machine_UV_Unboxinator,
|
||||
Machine_LV_ChemicalReactor, Machine_MV_ChemicalReactor, Machine_HV_ChemicalReactor, Machine_EV_ChemicalReactor, Machine_IV_ChemicalReactor, Machine_LuV_ChemicalReactor, Machine_ZPM_ChemicalReactor, Machine_UV_ChemicalReactor,
|
||||
Machine_LV_FluidCanner, Machine_MV_FluidCanner, Machine_HV_FluidCanner, Machine_EV_FluidCanner, Machine_IV_FluidCanner, Machine_LuV_FluidCanner, Machine_ZPM_FluidCanner, Machine_UV_FluidCanner,
|
||||
Machine_LV_Disassembler, Machine_MV_Disassembler, Machine_HV_Disassembler, Machine_EV_Disassembler, Machine_IV_Disassembler, Machine_LuV_Disassembler, Machine_ZPM_Disassembler, Machine_UV_Disassembler,
|
||||
Machine_LV_Bundler, Machine_MV_Bundler, Machine_HV_Bundler, Machine_EV_Bundler, Machine_IV_Bundler, Machine_LuV_Bundler, Machine_ZPM_Bundler, Machine_UV_Bundler,
|
||||
Machine_LV_Massfab, Machine_MV_Massfab, Machine_HV_Massfab, Machine_EV_Massfab, Machine_IV_Massfab, Machine_LuV_Massfab, Machine_ZPM_Massfab, Machine_UV_Massfab,
|
||||
Machine_LV_Amplifab, Machine_MV_Amplifab, Machine_HV_Amplifab, Machine_EV_Amplifab, Machine_IV_Amplifab, Machine_LuV_Amplifab, Machine_ZPM_Amplifab, Machine_UV_Amplifab,
|
||||
Machine_LV_Replicator, Machine_MV_Replicator, Machine_HV_Replicator, Machine_EV_Replicator, Machine_IV_Replicator, Machine_LuV_Replicator, Machine_ZPM_Replicator, Machine_UV_Replicator,
|
||||
Machine_LV_Brewery, Machine_MV_Brewery, Machine_HV_Brewery, Machine_EV_Brewery, Machine_IV_Brewery, Machine_LuV_Brewery, Machine_ZPM_Brewery, Machine_UV_Brewery,
|
||||
Machine_LV_Fermenter, Machine_MV_Fermenter, Machine_HV_Fermenter, Machine_EV_Fermenter, Machine_IV_Fermenter, Machine_LuV_Fermenter, Machine_ZPM_Fermenter, Machine_UV_Fermenter,
|
||||
Machine_LV_FluidExtractor, Machine_MV_FluidExtractor, Machine_HV_FluidExtractor, Machine_EV_FluidExtractor, Machine_IV_FluidExtractor, Machine_LuV_FluidExtractor, Machine_ZPM_FluidExtractor, Machine_UV_FluidExtractor,
|
||||
Machine_LV_FluidSolidifier, Machine_MV_FluidSolidifier, Machine_HV_FluidSolidifier, Machine_EV_FluidSolidifier, Machine_IV_FluidSolidifier, Machine_LuV_FluidSolidifier, Machine_ZPM_FluidSolidifier, Machine_UV_FluidSolidifier,
|
||||
Machine_LV_Distillery, Machine_MV_Distillery, Machine_HV_Distillery, Machine_EV_Distillery, Machine_IV_Distillery, Machine_LuV_Distillery, Machine_ZPM_Distillery, Machine_UV_Distillery,
|
||||
Machine_LV_ChemicalBath, Machine_MV_ChemicalBath, Machine_HV_ChemicalBath, Machine_EV_ChemicalBath, Machine_IV_ChemicalBath, Machine_LuV_ChemicalBath, Machine_ZPM_ChemicalBath, Machine_UV_ChemicalBath,
|
||||
Machine_LV_Polarizer, Machine_MV_Polarizer, Machine_HV_Polarizer, Machine_EV_Polarizer, Machine_IV_Polarizer, Machine_LuV_Polarizer, Machine_ZPM_Polarizer, Machine_UV_Polarizer,
|
||||
Machine_LV_ElectromagneticSeparator, Machine_MV_ElectromagneticSeparator, Machine_HV_ElectromagneticSeparator, Machine_EV_ElectromagneticSeparator, Machine_IV_ElectromagneticSeparator, Machine_LuV_ElectromagneticSeparator, Machine_ZPM_ElectromagneticSeparator, Machine_UV_ElectromagneticSeparator,
|
||||
Machine_LV_Autoclave, Machine_MV_Autoclave, Machine_HV_Autoclave, Machine_EV_Autoclave, Machine_IV_Autoclave, Machine_LuV_Autoclave, Machine_ZPM_Autoclave, Machine_UV_Autoclave,
|
||||
Machine_LV_Mixer, Machine_MV_Mixer, Machine_HV_Mixer, Machine_EV_Mixer, Machine_IV_Mixer, Machine_LuV_Mixer, Machine_ZPM_Mixer, Machine_UV_Mixer,
|
||||
Machine_LV_LaserEngraver, Machine_MV_LaserEngraver, Machine_HV_LaserEngraver, Machine_EV_LaserEngraver, Machine_IV_LaserEngraver, Machine_LuV_LaserEngraver, Machine_ZPM_LaserEngraver, Machine_UV_LaserEngraver,
|
||||
Machine_LV_Press, Machine_MV_Press, Machine_HV_Press, Machine_EV_Press, Machine_IV_Press, Machine_LuV_Press, Machine_ZPM_Press, Machine_UV_Press,
|
||||
Machine_LV_Hammer, Machine_MV_Hammer, Machine_HV_Hammer, Machine_EV_Hammer, Machine_IV_Hammer, Machine_LuV_Hammer, Machine_ZPM_Hammer, Machine_UV_Hammer,
|
||||
Machine_LV_FluidHeater, Machine_MV_FluidHeater, Machine_HV_FluidHeater, Machine_EV_FluidHeater, Machine_IV_FluidHeater, Machine_LuV_FluidHeater, Machine_ZPM_FluidHeater, Machine_UV_FluidHeater,
|
||||
Machine_LV_AlloySmelter, Machine_MV_AlloySmelter, Machine_HV_AlloySmelter, Machine_EV_AlloySmelter, Machine_IV_AlloySmelter,
|
||||
Machine_LV_Assembler, Machine_MV_Assembler, Machine_HV_Assembler, Machine_EV_Assembler, Machine_IV_Assembler,
|
||||
Machine_LV_Bender, Machine_MV_Bender, Machine_HV_Bender, Machine_EV_Bender, Machine_IV_Bender,
|
||||
Machine_LV_Canner, Machine_MV_Canner, Machine_HV_Canner, Machine_EV_Canner, Machine_IV_Canner,
|
||||
Machine_LV_Compressor, Machine_MV_Compressor, Machine_HV_Compressor, Machine_EV_Compressor, Machine_IV_Compressor,
|
||||
Machine_LV_Cutter, Machine_MV_Cutter, Machine_HV_Cutter, Machine_EV_Cutter, Machine_IV_Cutter,
|
||||
Machine_LV_Slicer, Machine_MV_Slicer, Machine_HV_Slicer, Machine_EV_Slicer, Machine_IV_Slicer,
|
||||
Machine_LV_Sifter, Machine_MV_Sifter, Machine_HV_Sifter, Machine_EV_Sifter, Machine_IV_Sifter,
|
||||
Machine_LV_ArcFurnace, Machine_MV_ArcFurnace, Machine_HV_ArcFurnace, Machine_EV_ArcFurnace, Machine_IV_ArcFurnace,
|
||||
Machine_LV_PlasmaArcFurnace, Machine_MV_PlasmaArcFurnace, Machine_HV_PlasmaArcFurnace, Machine_EV_PlasmaArcFurnace, Machine_IV_PlasmaArcFurnace,
|
||||
Machine_LV_Oven, Machine_MV_Oven, Machine_HV_Oven, Machine_EV_Oven, Machine_IV_Oven,
|
||||
Machine_LV_E_Furnace, Machine_MV_E_Furnace, Machine_HV_E_Furnace, Machine_EV_E_Furnace, Machine_IV_E_Furnace,
|
||||
Machine_LV_Extractor, Machine_MV_Extractor, Machine_HV_Extractor, Machine_EV_Extractor, Machine_IV_Extractor,
|
||||
Machine_LV_Extruder, Machine_MV_Extruder, Machine_HV_Extruder, Machine_EV_Extruder, Machine_IV_Extruder,
|
||||
Machine_LV_Lathe, Machine_MV_Lathe, Machine_HV_Lathe, Machine_EV_Lathe, Machine_IV_Lathe,
|
||||
Machine_LV_Macerator, Machine_MV_Macerator, Machine_HV_Macerator, Machine_EV_Macerator, Machine_IV_Macerator,
|
||||
Machine_LV_Microwave, Machine_MV_Microwave, Machine_HV_Microwave, Machine_EV_Microwave, Machine_IV_Microwave,
|
||||
Machine_LV_Printer, Machine_MV_Printer, Machine_HV_Printer, Machine_EV_Printer, Machine_IV_Printer,
|
||||
Machine_LV_Recycler, Machine_MV_Recycler, Machine_HV_Recycler, Machine_EV_Recycler, Machine_IV_Recycler,
|
||||
Machine_LV_Scanner, Machine_MV_Scanner, Machine_HV_Scanner, Machine_EV_Scanner, Machine_IV_Scanner,
|
||||
Machine_LV_Wiremill, Machine_MV_Wiremill, Machine_HV_Wiremill, Machine_EV_Wiremill, Machine_IV_Wiremill,
|
||||
Machine_LV_Electrolyzer, Machine_MV_Electrolyzer, Machine_HV_Electrolyzer, Machine_EV_Electrolyzer, Machine_IV_Electrolyzer,
|
||||
Machine_LV_Centrifuge, Machine_MV_Centrifuge, Machine_HV_Centrifuge, Machine_EV_Centrifuge, Machine_IV_Centrifuge,
|
||||
Machine_LV_ThermalCentrifuge, Machine_MV_ThermalCentrifuge, Machine_HV_ThermalCentrifuge, Machine_EV_ThermalCentrifuge, Machine_IV_ThermalCentrifuge,
|
||||
Machine_LV_OreWasher, Machine_MV_OreWasher, Machine_HV_OreWasher, Machine_EV_OreWasher, Machine_IV_OreWasher,
|
||||
Machine_LV_RockBreaker, Machine_MV_RockBreaker, Machine_HV_RockBreaker, Machine_EV_RockBreaker, Machine_IV_RockBreaker,
|
||||
Machine_LV_Boxinator, Machine_MV_Boxinator, Machine_HV_Boxinator, Machine_EV_Boxinator, Machine_IV_Boxinator,
|
||||
Machine_LV_Unboxinator, Machine_MV_Unboxinator, Machine_HV_Unboxinator, Machine_EV_Unboxinator, Machine_IV_Unboxinator,
|
||||
Machine_LV_ChemicalReactor, Machine_MV_ChemicalReactor, Machine_HV_ChemicalReactor, Machine_EV_ChemicalReactor, Machine_IV_ChemicalReactor,
|
||||
Machine_LV_FluidCanner, Machine_MV_FluidCanner, Machine_HV_FluidCanner, Machine_EV_FluidCanner, Machine_IV_FluidCanner,
|
||||
Machine_LV_Disassembler, Machine_MV_Disassembler, Machine_HV_Disassembler, Machine_EV_Disassembler, Machine_IV_Disassembler,
|
||||
Machine_LV_Bundler, Machine_MV_Bundler, Machine_HV_Bundler, Machine_EV_Bundler, Machine_IV_Bundler,
|
||||
Machine_LV_Massfab, Machine_MV_Massfab, Machine_HV_Massfab, Machine_EV_Massfab, Machine_IV_Massfab,
|
||||
Machine_LV_Amplifab, Machine_MV_Amplifab, Machine_HV_Amplifab, Machine_EV_Amplifab, Machine_IV_Amplifab,
|
||||
Machine_LV_Replicator, Machine_MV_Replicator, Machine_HV_Replicator, Machine_EV_Replicator, Machine_IV_Replicator,
|
||||
Machine_LV_Brewery, Machine_MV_Brewery, Machine_HV_Brewery, Machine_EV_Brewery, Machine_IV_Brewery,
|
||||
Machine_LV_Fermenter, Machine_MV_Fermenter, Machine_HV_Fermenter, Machine_EV_Fermenter, Machine_IV_Fermenter,
|
||||
Machine_LV_FluidExtractor, Machine_MV_FluidExtractor, Machine_HV_FluidExtractor, Machine_EV_FluidExtractor, Machine_IV_FluidExtractor,
|
||||
Machine_LV_FluidSolidifier, Machine_MV_FluidSolidifier, Machine_HV_FluidSolidifier, Machine_EV_FluidSolidifier, Machine_IV_FluidSolidifier,
|
||||
Machine_LV_Distillery, Machine_MV_Distillery, Machine_HV_Distillery, Machine_EV_Distillery, Machine_IV_Distillery,
|
||||
Machine_LV_ChemicalBath, Machine_MV_ChemicalBath, Machine_HV_ChemicalBath, Machine_EV_ChemicalBath, Machine_IV_ChemicalBath,
|
||||
Machine_LV_Polarizer, Machine_MV_Polarizer, Machine_HV_Polarizer, Machine_EV_Polarizer, Machine_IV_Polarizer,
|
||||
Machine_LV_ElectromagneticSeparator, Machine_MV_ElectromagneticSeparator, Machine_HV_ElectromagneticSeparator, Machine_EV_ElectromagneticSeparator, Machine_IV_ElectromagneticSeparator,
|
||||
Machine_LV_Autoclave, Machine_MV_Autoclave, Machine_HV_Autoclave, Machine_EV_Autoclave, Machine_IV_Autoclave,
|
||||
Machine_LV_Mixer, Machine_MV_Mixer, Machine_HV_Mixer, Machine_EV_Mixer, Machine_IV_Mixer,
|
||||
Machine_LV_LaserEngraver, Machine_MV_LaserEngraver, Machine_HV_LaserEngraver, Machine_EV_LaserEngraver, Machine_IV_LaserEngraver,
|
||||
Machine_LV_Press, Machine_MV_Press, Machine_HV_Press, Machine_EV_Press, Machine_IV_Press,
|
||||
Machine_LV_Hammer, Machine_MV_Hammer, Machine_HV_Hammer, Machine_EV_Hammer, Machine_IV_Hammer,
|
||||
Machine_LV_FluidHeater, Machine_MV_FluidHeater, Machine_HV_FluidHeater, Machine_EV_FluidHeater, Machine_IV_FluidHeater,
|
||||
|
||||
Neutron_Reflector,
|
||||
Reactor_Coolant_He_1, Reactor_Coolant_He_3, Reactor_Coolant_He_6, Reactor_Coolant_NaK_1, Reactor_Coolant_NaK_3, Reactor_Coolant_NaK_6,
|
||||
Reactor_Coolant_He_1, Reactor_Coolant_He_3, Reactor_Coolant_He_6, Reactor_Coolant_NaK_1, Reactor_Coolant_NaK_3, Reactor_Coolant_NaK_6,neutroniumHeatCapacitor,
|
||||
ThoriumCell_1, ThoriumCell_2, ThoriumCell_4,
|
||||
FusionComputer_LuV, FusionComputer_ZPMV, FusionComputer_UV,
|
||||
Casing_Fusion_Coil, Casing_Fusion, Casing_Fusion2,
|
||||
|
@ -622,7 +631,9 @@ public enum ItemList implements IItemContainer {
|
|||
MagicEnergyAbsorber_LV, MagicEnergyAbsorber_MV, MagicEnergyAbsorber_HV, MagicEnergyAbsorber_EV,
|
||||
Depleted_Thorium_1, Depleted_Thorium_2, Depleted_Thorium_4,
|
||||
Processing_Array, Distillation_Tower, Energy_LapotronicOrb2,
|
||||
ZPM2, Quantum_Tank_LV, Quantum_Tank_MV, Quantum_Tank_HV, Quantum_Tank_EV, Quantum_Tank_IV, Quantum_Chest_LV, Quantum_Chest_MV, Quantum_Chest_HV, Quantum_Chest_EV, Quantum_Chest_IV,
|
||||
ZPM3,ZPM2,
|
||||
Quantum_Tank_LV, Quantum_Tank_MV, Quantum_Tank_HV, Quantum_Tank_EV, Quantum_Tank_IV, Quantum_Chest_LV, Quantum_Chest_MV, Quantum_Chest_HV, Quantum_Chest_EV, Quantum_Chest_IV,
|
||||
Super_Tank_LV, Super_Tank_MV, Super_Tank_HV, Super_Tank_EV, Super_Tank_IV, Super_Chest_LV, Super_Chest_MV, Super_Chest_HV, Super_Chest_EV, Super_Chest_IV,
|
||||
|
||||
NULL, Cover_RedstoneTransmitterExternal, Cover_RedstoneTransmitterInternal, Cover_RedstoneReceiverExternal, Cover_RedstoneReceiverInternal,
|
||||
LargeSteamTurbine, LargeGasTurbine, LargeHPSteamTurbine, LargePlasmaTurbine,
|
||||
|
@ -630,6 +641,7 @@ public enum ItemList implements IItemContainer {
|
|||
Pump_LV, Pump_MV, Pump_HV, Pump_EV, Pump_IV, Pump_LuV, Pump_ZPM, Pump_UV,
|
||||
Teleporter, Cover_NeedsMaintainance, Casing_Turbine, Casing_Turbine1, Casing_Turbine2, Casing_Turbine3, Casing_EngineIntake,
|
||||
Casing_Coil_Cupronickel, Casing_Coil_Kanthal, Casing_Coil_Nichrome, Casing_Coil_TungstenSteel, Casing_Coil_HSSG, Casing_Coil_Naquadah, Casing_Coil_NaquadahAlloy,
|
||||
Casing_Tank_1, Casing_Tank_2, Casing_Tank_3, Casing_Tank_4, Casing_Tank_5, Casing_Tank_6, Casing_Tank_7, Casing_Tank_8, Casing_Tank_9, Casing_Tank_10, Casing_Tank_11, Casing_Tank_12, Casing_Tank_13, Casing_Tank_14, Casing_Tank_15, Casing_Tank_0,
|
||||
MobRep_LV, MobRep_MV, MobRep_HV, MobRep_EV, MobRep_IV, MobRep_LuV, MobRep_ZPM, MobRep_UV, Cover_PlayerDetector, Machine_Multi_HeatExchanger,
|
||||
Block_BronzePlate, Block_IridiumTungstensteel, Block_Plascrete, Block_TungstenSteelReinforced,
|
||||
Honeycomb, Charcoal_Pile, Block_BrittleCharcoal, Seismic_Prospector, Seismic_Prospector_Adv, OilDrill, AdvancedMiner2, PyrolyseOven, OilCracker, Crop_Drop_UUMBerry, Crop_Drop_UUABerry, Empty_Board_Basic, Empty_Board_Elite,
|
||||
|
@ -648,8 +660,10 @@ public enum ItemList implements IItemContainer {
|
|||
Circuit_Chip_CrystalCPU, Circuit_Chip_CrystalSoC, Circuit_Chip_NeuroCPU, Circuit_Chip_Stemcell,
|
||||
Circuit_Processor, Circuit_Computer, Circuit_Nanoprocessor, Circuit_Nanocomputer, Circuit_Elitenanocomputer, Circuit_Quantumprocessor, Circuit_Quantumcomputer, Circuit_Masterquantumcomputer,
|
||||
Circuit_Quantummainframe, Circuit_Crystalprocessor, Circuit_Crystalcomputer, Circuit_Crystalmainframe, Circuit_Neuroprocessor, Circuit_Wetwarecomputer, Circuit_Wetwaresupercomputer, Circuit_Wetwaremainframe, Circuit_Parts_RawCrystalChip,
|
||||
Machine_LV_CircuitAssembler, Machine_MV_CircuitAssembler, Machine_HV_CircuitAssembler, Machine_EV_CircuitAssembler, Machine_IV_CircuitAssembler, Machine_LuV_CircuitAssembler, Machine_ZPM_CircuitAssembler, Machine_UV_CircuitAssembler, Circuit_Integrated_Good, Machine_IV_LightningRod, Machine_HV_LightningRod, Machine_EV_LightningRod;
|
||||
|
||||
Machine_LV_CircuitAssembler, Machine_MV_CircuitAssembler, Machine_HV_CircuitAssembler, Machine_EV_CircuitAssembler, Machine_IV_CircuitAssembler, Machine_LuV_CircuitAssembler, Machine_ZPM_CircuitAssembler, Machine_UV_CircuitAssembler, Circuit_Integrated_Good, Machine_IV_LightningRod, Machine_HV_LightningRod, Machine_EV_LightningRod,
|
||||
|
||||
Depleted_MNq_1, Depleted_MNq_2, Depleted_MNq_4,
|
||||
MNqCell_1, MNqCell_2, MNqCell_4,;
|
||||
public static final ItemList[]
|
||||
DYE_ONLY_ITEMS = {Color_00, Color_01, Color_02, Color_03, Color_04, Color_05, Color_06, Color_07, Color_08, Color_09, Color_10, Color_11, Color_12, Color_13, Color_14, Color_15}, SPRAY_CAN_DYES = {Spray_Color_00, Spray_Color_01, Spray_Color_02, Spray_Color_03, Spray_Color_04, Spray_Color_05, Spray_Color_06, Spray_Color_07, Spray_Color_08, Spray_Color_09, Spray_Color_10, Spray_Color_11, Spray_Color_12, Spray_Color_13, Spray_Color_14, Spray_Color_15}, SPRAY_CAN_DYES_USED = {Spray_Color_Used_00, Spray_Color_Used_01, Spray_Color_Used_02, Spray_Color_Used_03, Spray_Color_Used_04, Spray_Color_Used_05, Spray_Color_Used_06, Spray_Color_Used_07, Spray_Color_Used_08, Spray_Color_Used_09, Spray_Color_Used_10, Spray_Color_Used_11, Spray_Color_Used_12, Spray_Color_Used_13, Spray_Color_Used_14, Spray_Color_Used_15}, TRANSFORMERS = {Transformer_LV_ULV, Transformer_MV_LV, Transformer_HV_MV, Transformer_EV_HV, Transformer_IV_EV, Transformer_LuV_IV, Transformer_ZPM_LuV, Transformer_UV_ZPM, Transformer_MAX_UV}, MACHINE_HULLS = {Hull_ULV, Hull_LV, Hull_MV, Hull_HV, Hull_EV, Hull_IV, Hull_LuV, Hull_ZPM, Hull_UV, Hull_MAX}, HATCHES_DYNAMO = {Hatch_Dynamo_ULV, Hatch_Dynamo_LV, Hatch_Dynamo_MV, Hatch_Dynamo_HV, Hatch_Dynamo_EV, Hatch_Dynamo_IV, Hatch_Dynamo_LuV, Hatch_Dynamo_ZPM, Hatch_Dynamo_UV, Hatch_Dynamo_MAX}, HATCHES_ENERGY = {Hatch_Energy_ULV, Hatch_Energy_LV, Hatch_Energy_MV, Hatch_Energy_HV, Hatch_Energy_EV, Hatch_Energy_IV, Hatch_Energy_LuV, Hatch_Energy_ZPM, Hatch_Energy_UV, Hatch_Energy_MAX}, HATCHES_INPUT = {Hatch_Input_ULV, Hatch_Input_LV, Hatch_Input_MV, Hatch_Input_HV, Hatch_Input_EV, Hatch_Input_IV, Hatch_Input_LuV, Hatch_Input_ZPM, Hatch_Input_UV, Hatch_Input_MAX}, HATCHES_INPUT_BUS = {Hatch_Input_Bus_ULV, Hatch_Input_Bus_LV, Hatch_Input_Bus_MV, Hatch_Input_Bus_HV, Hatch_Input_Bus_EV, Hatch_Input_Bus_IV, Hatch_Input_Bus_LuV, Hatch_Input_Bus_ZPM, Hatch_Input_Bus_UV, Hatch_Input_Bus_MAX}, HATCHES_OUTPUT = {Hatch_Output_ULV, Hatch_Output_LV, Hatch_Output_MV, Hatch_Output_HV, Hatch_Output_EV, Hatch_Output_IV, Hatch_Output_LuV, Hatch_Output_ZPM, Hatch_Output_UV, Hatch_Output_MAX}, HATCHES_OUTPUT_BUS = {Hatch_Output_Bus_ULV, Hatch_Output_Bus_LV, Hatch_Output_Bus_MV, Hatch_Output_Bus_HV, Hatch_Output_Bus_EV, Hatch_Output_Bus_IV, Hatch_Output_Bus_LuV, Hatch_Output_Bus_ZPM, Hatch_Output_Bus_UV, Hatch_Output_Bus_MAX}, HATCHES_MUFFLER = {Hatch_Muffler_LV, Hatch_Muffler_LV, Hatch_Muffler_MV, Hatch_Muffler_HV, Hatch_Muffler_EV, Hatch_Muffler_IV, Hatch_Muffler_LuV, Hatch_Muffler_ZPM, Hatch_Muffler_UV, Hatch_Muffler_MAX};
|
||||
public static Fluid sOilExtraHeavy, sEpichlorhydrin, sDrillingFluid, sNitricAcid, sBlueVitriol, sNickelSulfate, sToluene, sNitrationMixture, sRocketFuel, sHydricSulfur, sIndiumConcentrate, sLeadZincSolution;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -137,7 +137,7 @@ public enum OrePrefixes {
|
|||
compressedDirt("9^X Compressed Dirt", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
|
||||
compressedGravel("9^X Compressed Gravel", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
|
||||
compressedSand("9^X Compressed Sand", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
|
||||
compressed("Compressed Materials", "Compressed ", "", true, true, false, false, false, false, true, false, false, false, 0, M * 2, 64, -1), // Compressed Material, worth 1 Unit. Introduced by Galacticraft
|
||||
compressed("Compressed Materials", "Compressed ", "", true, true, false, false, false, false, true, false, false, false, 0, M * 3, 64, -1), // Compressed Material, worth 1 Unit. Introduced by Galacticraft
|
||||
glass("Glasses", "", "", false, false, true, false, true, false, false, false, false, false, 0, -1, 64, -1),
|
||||
paneGlass("Glass Panes", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64, -1),
|
||||
blockGlass("Glass Blocks", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64, -1),
|
||||
|
@ -200,6 +200,7 @@ public enum OrePrefixes {
|
|||
wireGt04("4x Wires", "4x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M * 2, 64, -1),
|
||||
wireGt02("2x Wires", "2x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M * 1, 64, -1),
|
||||
wireGt01("1x Wires", "1x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M / 2, 64, -1),
|
||||
cableGt16("16x Cables", "16x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0, M * 8, 64, -1),
|
||||
cableGt12("12x Cables", "12x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0, M * 6, 64, -1),
|
||||
cableGt08("8x Cables", "8x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0, M * 4, 64, -1),
|
||||
cableGt04("4x Cables", "4x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0, M * 2, 64, -1),
|
||||
|
@ -374,6 +375,9 @@ public enum OrePrefixes {
|
|||
dust.mNotGeneratedItems.add(Materials.Gunpowder);
|
||||
dust.mNotGeneratedItems.add(Materials.Sugar);
|
||||
dust.mNotGeneratedItems.add(Materials.Blaze);
|
||||
//dust.mNotGeneratedItems.add(Materials.Ichorium);
|
||||
//dustSmall.mNotGeneratedItems.add(Materials.Ichorium);
|
||||
//dustTiny.mNotGeneratedItems.add(Materials.Ichorium);
|
||||
stick.mNotGeneratedItems.add(Materials.Wood);
|
||||
stick.mNotGeneratedItems.add(Materials.Bone);
|
||||
stick.mNotGeneratedItems.add(Materials.Blaze);
|
||||
|
@ -383,6 +387,7 @@ public enum OrePrefixes {
|
|||
ingot.mNotGeneratedItems.add(Materials.BrickNether);
|
||||
ingot.mNotGeneratedItems.add(Materials.WoodSealed);
|
||||
ingot.mNotGeneratedItems.add(Materials.Wood);
|
||||
//ingot.mNotGeneratedItems.add(Materials.Ichorium);
|
||||
nugget.mNotGeneratedItems.add(Materials.Gold);
|
||||
plate.mNotGeneratedItems.add(Materials.Paper);
|
||||
cell.mNotGeneratedItems.add(Materials.Empty);
|
||||
|
@ -426,7 +431,7 @@ public enum OrePrefixes {
|
|||
plate.mGeneratedItems.add(Materials.GraniteRed);
|
||||
plate.mGeneratedItems.add(Materials.GraniteBlack);
|
||||
plate.mGeneratedItems.add(Materials.Glowstone);
|
||||
plate.mGeneratedItems.add(Materials.Nikolite);
|
||||
plate.mGeneratedItems.add(Materials.Electrotine);
|
||||
plate.mGeneratedItems.add(Materials.Obsidian);
|
||||
|
||||
plate.mGeneratedItems.add(Materials.Paper);
|
||||
|
@ -496,11 +501,11 @@ public enum OrePrefixes {
|
|||
pipeRestrictiveMedium.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 3);
|
||||
pipeRestrictiveLarge.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 4);
|
||||
pipeRestrictiveHuge.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 5);
|
||||
cableGt12.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount * 4);
|
||||
cableGt08.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount * 3);
|
||||
cableGt04.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount * 2);
|
||||
cableGt02.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount);
|
||||
cableGt01.mSecondaryMaterial = new MaterialStack(Materials.Ash, dustSmall.mMaterialAmount);
|
||||
cableGt12.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 4);
|
||||
cableGt08.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 3);
|
||||
cableGt04.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 2);
|
||||
cableGt02.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount);
|
||||
cableGt01.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount);
|
||||
bucket.mSecondaryMaterial = new MaterialStack(Materials.Iron, ingot.mMaterialAmount * 3);
|
||||
cell.mSecondaryMaterial = new MaterialStack(Materials.Tin, plate.mMaterialAmount * 2);
|
||||
cellPlasma.mSecondaryMaterial = new MaterialStack(Materials.Tin, plate.mMaterialAmount * 2);
|
||||
|
@ -794,6 +799,8 @@ public enum OrePrefixes {
|
|||
for (OrePrefixes tPrefix : values())
|
||||
if (aOre.startsWith(tPrefix.toString())) {
|
||||
if (tPrefix == oreNether && aOre.equals("oreNetherQuartz")) return ore;
|
||||
if (tPrefix == oreNether && aOre.equals("oreNetherStar")) return ore;
|
||||
if (tPrefix == oreBasalt && aOre.equals("oreBasalticMineralSand")) return ore;
|
||||
return tPrefix;
|
||||
}
|
||||
return null;
|
||||
|
@ -1038,4 +1045,4 @@ public enum OrePrefixes {
|
|||
// Use Standard Localization
|
||||
return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + mLocalizedMaterialPost;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,8 +12,25 @@ import net.minecraft.util.ResourceLocation;
|
|||
import static gregtech.api.enums.GT_Values.RES_PATH_BLOCK;
|
||||
import static gregtech.api.enums.GT_Values.RES_PATH_ITEM;
|
||||
|
||||
|
||||
public class Textures {
|
||||
public enum BlockIcons implements IIconContainer, Runnable {
|
||||
//ADDED
|
||||
MACHINE_UEV_SIDE, MACHINE_UIV_SIDE,
|
||||
MACHINE_UMV_SIDE, MACHINE_UXV_SIDE,
|
||||
MACHINE_OPV_SIDE, MACHINE_MAXV_SIDE,
|
||||
MACHINE_UEV_TOP, MACHINE_UIV_TOP,
|
||||
MACHINE_UMV_TOP, MACHINE_UXV_TOP,
|
||||
MACHINE_OPV_TOP, MACHINE_MAXV_TOP,
|
||||
MACHINE_UEV_BOTTOM, MACHINE_UIV_BOTTOM,
|
||||
MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM,
|
||||
MACHINE_OPV_BOTTOM, MACHINE_MAXV_BOTTOM,
|
||||
OVERLAY_SCHEST, OVERLAY_STANK,
|
||||
MACHINE_CASING_TANK_1, MACHINE_CASING_TANK_2, MACHINE_CASING_TANK_3, MACHINE_CASING_TANK_4,
|
||||
MACHINE_CASING_TANK_5, MACHINE_CASING_TANK_6, MACHINE_CASING_TANK_7, MACHINE_CASING_TANK_8,
|
||||
MACHINE_CASING_TANK_9, MACHINE_CASING_TANK_10,MACHINE_CASING_TANK_11,MACHINE_CASING_TANK_12,
|
||||
MACHINE_CASING_TANK_13,MACHINE_CASING_TANK_14,MACHINE_CASING_TANK_15,MACHINE_CASING_TANK_0;
|
||||
//
|
||||
VOID // The Empty Texture
|
||||
, RENDERING_ERROR, PIPE_RESTRICTOR, INSULATION_FULL, INSULATION_TINY, INSULATION_SMALL, INSULATION_MEDIUM, INSULATION_LARGE, INSULATION_HUGE, CFOAM_FRESH,
|
||||
CFOAM_HARDENED, SOLARPANEL, SOLARPANEL_8V, SOLARPANEL_LV, SOLARPANEL_MV, SOLARPANEL_HV, SOLARPANEL_EV, SOLARPANEL_IV, SOLARPANEL_LuV, SOLARPANEL_ZPM,
|
||||
|
@ -147,12 +164,12 @@ public class Textures {
|
|||
MACHINE_ZPM_SIDE,
|
||||
MACHINE_UV_SIDE,
|
||||
MACHINE_MAX_SIDE,
|
||||
MACHINE_MAX_SIDE,
|
||||
MACHINE_MAX_SIDE,
|
||||
MACHINE_MAX_SIDE,
|
||||
MACHINE_MAX_SIDE,
|
||||
MACHINE_MAX_SIDE,
|
||||
MACHINE_MAX_SIDE,
|
||||
MACHINE_UEV_SIDE,
|
||||
MACHINE_UIV_SIDE,
|
||||
MACHINE_UMV_SIDE,
|
||||
MACHINE_UXV_SIDE,
|
||||
MACHINE_OPV_SIDE,
|
||||
MACHINE_MAXV_SIDE,
|
||||
},
|
||||
MACHINECASINGS_TOP = new IIconContainer[]{
|
||||
MACHINE_8V_TOP,
|
||||
|
@ -165,12 +182,12 @@ public class Textures {
|
|||
MACHINE_ZPM_TOP,
|
||||
MACHINE_UV_TOP,
|
||||
MACHINE_MAX_TOP,
|
||||
MACHINE_MAX_TOP,
|
||||
MACHINE_MAX_TOP,
|
||||
MACHINE_MAX_TOP,
|
||||
MACHINE_MAX_TOP,
|
||||
MACHINE_MAX_TOP,
|
||||
MACHINE_MAX_TOP,
|
||||
MACHINE_UEV_TOP,
|
||||
MACHINE_UIV_TOP,
|
||||
MACHINE_UMV_TOP,
|
||||
MACHINE_UXV_TOP,
|
||||
MACHINE_OPV_TOP,
|
||||
MACHINE_MAXV_TOP,
|
||||
},
|
||||
MACHINECASINGS_BOTTOM = new IIconContainer[]{
|
||||
MACHINE_8V_BOTTOM,
|
||||
|
@ -183,12 +200,12 @@ public class Textures {
|
|||
MACHINE_ZPM_BOTTOM,
|
||||
MACHINE_UV_BOTTOM,
|
||||
MACHINE_MAX_BOTTOM,
|
||||
MACHINE_MAX_BOTTOM,
|
||||
MACHINE_MAX_BOTTOM,
|
||||
MACHINE_MAX_BOTTOM,
|
||||
MACHINE_MAX_BOTTOM,
|
||||
MACHINE_MAX_BOTTOM,
|
||||
MACHINE_MAX_BOTTOM,
|
||||
MACHINE_UEV_BOTTOM,
|
||||
MACHINE_UIV_BOTTOM,
|
||||
MACHINE_UMV_BOTTOM,
|
||||
MACHINE_UXV_BOTTOM,
|
||||
MACHINE_OPV_BOTTOM,
|
||||
MACHINE_MAXV_BOTTOM,
|
||||
},
|
||||
GRANITES = new IIconContainer[]{
|
||||
GRANITE_BLACK_STONE,
|
||||
|
@ -423,7 +440,7 @@ public class Textures {
|
|||
BLOCK_MANGANESE,
|
||||
BLOCK_METEORICIRON,
|
||||
BLOCK_METEORICSTEEL,
|
||||
BLOCK_MIDASIUM,
|
||||
BLOCK_TRINIUM,
|
||||
BLOCK_MITHRIL,
|
||||
BLOCK_MOLYBDENUM,
|
||||
BLOCK_NAQUADAH,
|
||||
|
@ -497,7 +514,9 @@ public class Textures {
|
|||
BLOCK_VANADIUMSTEEL,
|
||||
BLOCK_HSSG,
|
||||
BLOCK_HSSE,
|
||||
BLOCK_HSSS
|
||||
BLOCK_HSSS,
|
||||
BLOCK_STEELEAF,
|
||||
BLOCK_ICHORIUM
|
||||
},
|
||||
STORAGE_BLOCKS9 = new IIconContainer[]{
|
||||
BLOCK_AERCRYSTAL,
|
||||
|
@ -547,52 +566,112 @@ public class Textures {
|
|||
new GT_RenderedTexture(RENDERING_ERROR)
|
||||
},
|
||||
OVERLAYS_ENERGY_IN = new ITexture[]{
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{180, 180, 180, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{255, 100, 0, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{255, 255, 30, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{128, 128, 128, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{220, 220, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{200, 200, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{180, 180, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{160, 160, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{140, 140, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{120, 120, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{100, 100, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{80, 80, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{60, 60, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{40, 40, 245, 0}),
|
||||
},
|
||||
OVERLAYS_ENERGY_OUT = new ITexture[]{
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{180, 180, 180, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{255, 100, 0, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{255, 255, 30, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{128, 128, 128, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{220, 220, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{200, 200, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{180, 180, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{160, 160, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{140, 140, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{120, 120, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{100, 100, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{80, 80, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{60, 60, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{40, 40, 245, 0}),
|
||||
},
|
||||
OVERLAYS_ENERGY_IN_MULTI = new ITexture[]{
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{180, 180, 180, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{255, 100, 0, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{255, 255, 30, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{128, 128, 128, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{220, 220, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{200, 200, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{180, 180, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{160, 160, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{140, 140, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{120, 120, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{100, 100, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{80, 80, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{60, 60, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{40, 40, 245, 0}),
|
||||
},
|
||||
OVERLAYS_ENERGY_OUT_MULTI = new ITexture[]{
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{180, 180, 180, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{255, 100, 0, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{255, 255, 30, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{128, 128, 128, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{220, 220, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{200, 200, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{180, 180, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{160, 160, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{140, 140, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{120, 120, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{100, 100, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{80, 80, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{60, 60, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{40, 40, 245, 0}),
|
||||
},
|
||||
OVERLAYS_ENERGY_IN_POWER = new ITexture[]{
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{180, 180, 180, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{255, 100, 0, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{255, 255, 30, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{128, 128, 128, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{220, 220, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{200, 200, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{180, 180, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{160, 160, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{140, 140, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{120, 120, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{100, 100, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{80, 80, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{60, 60, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{40, 40, 245, 0}),
|
||||
},
|
||||
OVERLAYS_ENERGY_OUT_POWER = new ITexture[]{
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{180, 180, 180, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{220, 220, 220, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{255, 100, 0, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{255, 255, 30, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{128, 128, 128, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{240, 240, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{220, 220, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{200, 200, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{180, 180, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{160, 160, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{140, 140, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{120, 120, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{100, 100, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{80, 80, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{60, 60, 245, 0}),
|
||||
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{40, 40, 245, 0}),
|
||||
},
|
||||
LOCKERS = new ITexture[]{
|
||||
new GT_RenderedTexture(OVERLAY_LOCKER_000),
|
||||
|
@ -608,10 +687,10 @@ public class Textures {
|
|||
new GT_RenderedTexture(OVERLAY_LOCKER_010),
|
||||
new GT_RenderedTexture(OVERLAY_LOCKER_011),
|
||||
new GT_RenderedTexture(OVERLAY_LOCKER_012),
|
||||
new GT_RenderedTexture(OVERLAY_LOCKER_013),
|
||||
new GT_RenderedTexture(OVERLAY_LOCKER_013)
|
||||
},
|
||||
CASING_BLOCKS = new ITexture[128],
|
||||
MACHINE_CASINGS[] = new ITexture[10][17];
|
||||
MACHINE_CASINGS[] = new ITexture[16][17];
|
||||
|
||||
static {
|
||||
for (byte i = 0; i < MACHINE_CASINGS.length; i++)
|
||||
|
|
|
@ -9,13 +9,21 @@ public class Tier {
|
|||
new Tier(SubTag.ENERGY_ELECTRICITY, 0, 8, 1, 1, 1, Materials.WroughtIron, ItemList.Hull_ULV, OrePrefixes.cableGt01.get(Materials.Lead), OrePrefixes.cableGt04.get(Materials.Lead), OrePrefixes.circuit.get(Materials.Primitive), OrePrefixes.circuit.get(Materials.Basic)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 1, 32, 1, 1, 1, Materials.Steel, ItemList.Hull_LV, OrePrefixes.cableGt01.get(Materials.Tin), OrePrefixes.cableGt04.get(Materials.Tin), OrePrefixes.circuit.get(Materials.Basic), OrePrefixes.circuit.get(Materials.Good)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 2, 128, 1, 1, 1, Materials.Aluminium, ItemList.Hull_MV, OrePrefixes.cableGt01.get(Materials.AnyCopper), OrePrefixes.cableGt04.get(Materials.AnyCopper), OrePrefixes.circuit.get(Materials.Good), OrePrefixes.circuit.get(Materials.Advanced)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 3, 512, 1, 1, 1, Materials.StainlessSteel, ItemList.Hull_HV, OrePrefixes.cableGt01.get(Materials.Gold), OrePrefixes.cableGt04.get(Materials.Gold), OrePrefixes.circuit.get(Materials.Advanced), OrePrefixes.circuit.get(Materials.Data)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 4, 2048, 1, 1, 1, Materials.Titanium, ItemList.Hull_EV, OrePrefixes.cableGt01.get(Materials.Aluminium), OrePrefixes.cableGt04.get(Materials.Aluminium), OrePrefixes.circuit.get(Materials.Data), OrePrefixes.circuit.get(Materials.Elite)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 5, 8192, 1, 1, 1, Materials.TungstenSteel, ItemList.Hull_IV, OrePrefixes.cableGt01.get(Materials.Platinum), OrePrefixes.cableGt04.get(Materials.Platinum), OrePrefixes.circuit.get(Materials.Elite), OrePrefixes.circuit.get(Materials.Master)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 6, 32768, 1, 1, 1, Materials.Chrome, ItemList.Hull_LuV, OrePrefixes.cableGt01.get(Materials.NiobiumTitanium), OrePrefixes.cableGt04.get(Materials.NiobiumTitanium), OrePrefixes.circuit.get(Materials.Master), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 7, 131072, 1, 1, 1, Materials.Iridium, ItemList.Hull_ZPM, OrePrefixes.cableGt01.get(Materials.Naquadah), OrePrefixes.cableGt04.get(Materials.Naquadah), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Superconductor)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 8, 524288, 1, 1, 1, Materials.Osmium, ItemList.Hull_UV, OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), OrePrefixes.cableGt01.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Infinite)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 9, Integer.MAX_VALUE, 1, 1, 1, Materials.Neutronium, ItemList.Hull_MAX, OrePrefixes.wireGt01.get(Materials.Superconductor), OrePrefixes.wireGt04.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Infinite), OrePrefixes.circuit.get(Materials.Infinite)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 3, 512, 1, 1, 1, Materials.StainlessSteel, ItemList.Hull_HV, OrePrefixes.cableGt01.get(Materials.Gold), OrePrefixes.cableGt04.get(Materials.Gold), OrePrefixes.circuit.get(Materials.Advanced), OrePrefixes.circuit.get(Materials.Elite)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 4, 2048, 1, 1, 1, Materials.Titanium, ItemList.Hull_EV, OrePrefixes.cableGt01.get(Materials.Aluminium), OrePrefixes.cableGt04.get(Materials.Aluminium), OrePrefixes.circuit.get(Materials.Elite), OrePrefixes.circuit.get(Materials.Master)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 5, 8192, 1, 1, 1, Materials.TungstenSteel, ItemList.Hull_IV, OrePrefixes.cableGt01.get(Materials.Platinum), OrePrefixes.cableGt04.get(Materials.Platinum), OrePrefixes.circuit.get(Materials.Master), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 6, 32768, 1, 1, 1, Materials.Chrome, ItemList.Hull_LuV, OrePrefixes.cableGt01.get(Materials.NiobiumTitanium), OrePrefixes.cableGt04.get(Materials.NiobiumTitanium), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 7, 131072, 1, 1, 1, Materials.Iridium, ItemList.Hull_ZPM, OrePrefixes.cableGt01.get(Materials.Naquadah), OrePrefixes.cableGt04.get(Materials.Naquadah), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 8, 524288, 1, 1, 1, Materials.Osmium, ItemList.Hull_UV, OrePrefixes.cableGt04.get(Materials.NaquadahAlloy), OrePrefixes.wireGt01.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY, 9, 2097152, 1, 1, 1, Materials.Neutronium, ItemList.Hull_MAX, OrePrefixes.wireGt01.get(Materials.Superconductor), OrePrefixes.wireGt04.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY,10, 8388608, 1, 1, 1, Materials.Neutronium, ItemList.Hull_MAX, OrePrefixes.wireGt01.get(Materials.Superconductor), OrePrefixes.wireGt04.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY,11, 33554432, 1, 1, 1, Materials.Neutronium, ItemList.Hull_MAX, OrePrefixes.wireGt01.get(Materials.Superconductor), OrePrefixes.wireGt04.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY,12, 134217728, 1, 1, 1, Materials.Neutronium, ItemList.Hull_MAX, OrePrefixes.wireGt01.get(Materials.Superconductor), OrePrefixes.wireGt04.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY,13, 536870912, 1, 1, 1, Materials.Neutronium, ItemList.Hull_MAX, OrePrefixes.wireGt01.get(Materials.Superconductor), OrePrefixes.wireGt04.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY,14, 1073741824, 1, 1, 1, Materials.Neutronium, ItemList.Hull_MAX, OrePrefixes.wireGt01.get(Materials.Superconductor), OrePrefixes.wireGt04.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
new Tier(SubTag.ENERGY_ELECTRICITY,15, Integer.MAX_VALUE-7, 1, 1, 1, Materials.Neutronium, ItemList.Hull_MAX, OrePrefixes.wireGt01.get(Materials.Superconductor), OrePrefixes.wireGt04.get(Materials.Superconductor), OrePrefixes.circuit.get(Materials.Ultimate), OrePrefixes.circuit.get(Materials.Ultimate)),
|
||||
//READ GT_VALUES CLASS BEFORE YOU START ADDING STUFF TO TIERS 8+ - and probably dont do it in GT but in GTNH core mod - that way we shouldnt need to set the tier class
|
||||
//TODO:test if that above actually works as intended (tier class should be ignored) when adding stuff with coremod
|
||||
}, ROTATIONAL = new Tier[]{
|
||||
new Tier(SubTag.ENERGY_ROTATIONAL, 1, 32, 1, 1, 1, Materials.Wood, OrePrefixes.frameGt.get(Materials.Wood), OrePrefixes.stick.get(Materials.Wood), OrePrefixes.ingot.get(Materials.Wood), OrePrefixes.gearGt.get(Materials.Wood), OrePrefixes.gearGt.get(Materials.Stone)),
|
||||
new Tier(SubTag.ENERGY_ROTATIONAL, 1, 32, 1, 2, 2, Materials.WoodSealed, OrePrefixes.frameGt.get(Materials.WoodSealed), OrePrefixes.stick.get(Materials.WoodSealed), OrePrefixes.ingot.get(Materials.WoodSealed), OrePrefixes.gearGt.get(Materials.WoodSealed), OrePrefixes.gearGt.get(Materials.Stone)),
|
||||
|
@ -27,14 +35,14 @@ public class Tier {
|
|||
new Tier(SubTag.ENERGY_ROTATIONAL, 4, 2048, 1, 2, 2, Materials.Titanium, OrePrefixes.frameGt.get(Materials.Titanium), OrePrefixes.stick.get(Materials.Titanium), OrePrefixes.ingot.get(Materials.Titanium), OrePrefixes.gearGt.get(Materials.Titanium), OrePrefixes.gearGt.get(Materials.TungstenSteel)),
|
||||
new Tier(SubTag.ENERGY_ROTATIONAL, 5, 8192, 1, 1, 1, Materials.TungstenSteel, OrePrefixes.frameGt.get(Materials.TungstenSteel), OrePrefixes.stick.get(Materials.TungstenSteel), OrePrefixes.ingot.get(Materials.TungstenSteel), OrePrefixes.gearGt.get(Materials.TungstenSteel), OrePrefixes.gearGt.get(Materials.Iridium)),
|
||||
new Tier(SubTag.ENERGY_ROTATIONAL, 6, 32768, 1, 1, 1, Materials.Iridium, OrePrefixes.frameGt.get(Materials.Iridium), OrePrefixes.stick.get(Materials.Iridium), OrePrefixes.ingot.get(Materials.Iridium), OrePrefixes.gearGt.get(Materials.Iridium), OrePrefixes.gearGt.get(Materials.Neutronium)),
|
||||
new Tier(SubTag.ENERGY_ROTATIONAL, 9, Integer.MAX_VALUE, 1, 1, 1, Materials.Neutronium, OrePrefixes.frameGt.get(Materials.Neutronium), OrePrefixes.stick.get(Materials.Neutronium), OrePrefixes.ingot.get(Materials.Neutronium), OrePrefixes.gearGt.get(Materials.Neutronium), OrePrefixes.gearGt.get(Materials.Neutronium)),
|
||||
new Tier(SubTag.ENERGY_ROTATIONAL, 9, Integer.MAX_VALUE-7, 1, 1, 1, Materials.Neutronium, OrePrefixes.frameGt.get(Materials.Neutronium), OrePrefixes.stick.get(Materials.Neutronium), OrePrefixes.ingot.get(Materials.Neutronium), OrePrefixes.gearGt.get(Materials.Neutronium), OrePrefixes.gearGt.get(Materials.Neutronium)),
|
||||
}, STEAM = new Tier[]{
|
||||
new Tier(SubTag.ENERGY_STEAM, 1, 32, 1, 1, 1, Materials.Bronze, OrePrefixes.frameGt.get(Materials.Bronze), OrePrefixes.pipeMedium.get(Materials.Bronze), OrePrefixes.pipeHuge.get(Materials.Bronze), OrePrefixes.pipeMedium.get(Materials.Bronze), OrePrefixes.pipeLarge.get(Materials.Bronze)),
|
||||
new Tier(SubTag.ENERGY_STEAM, 2, 128, 1, 1, 1, Materials.Steel, OrePrefixes.frameGt.get(Materials.Steel), OrePrefixes.pipeMedium.get(Materials.Steel), OrePrefixes.pipeHuge.get(Materials.Steel), OrePrefixes.pipeMedium.get(Materials.Steel), OrePrefixes.pipeLarge.get(Materials.Steel)),
|
||||
new Tier(SubTag.ENERGY_STEAM, 3, 512, 1, 1, 1, Materials.Titanium, OrePrefixes.frameGt.get(Materials.Titanium), OrePrefixes.pipeMedium.get(Materials.Titanium), OrePrefixes.pipeHuge.get(Materials.Titanium), OrePrefixes.pipeMedium.get(Materials.Titanium), OrePrefixes.pipeLarge.get(Materials.Titanium)),
|
||||
new Tier(SubTag.ENERGY_STEAM, 4, 2048, 1, 1, 1, Materials.TungstenSteel, OrePrefixes.frameGt.get(Materials.TungstenSteel), OrePrefixes.pipeMedium.get(Materials.TungstenSteel), OrePrefixes.pipeHuge.get(Materials.TungstenSteel), OrePrefixes.pipeMedium.get(Materials.TungstenSteel), OrePrefixes.pipeLarge.get(Materials.TungstenSteel)),
|
||||
new Tier(SubTag.ENERGY_STEAM, 5, 8192, 1, 1, 1, Materials.Iridium, OrePrefixes.frameGt.get(Materials.Iridium), OrePrefixes.pipeMedium.get(Materials.Iridium), OrePrefixes.pipeHuge.get(Materials.Iridium), OrePrefixes.pipeMedium.get(Materials.Iridium), OrePrefixes.pipeLarge.get(Materials.Iridium)),
|
||||
new Tier(SubTag.ENERGY_STEAM, 9, Integer.MAX_VALUE, 1, 1, 1, Materials.Neutronium, OrePrefixes.frameGt.get(Materials.Neutronium), OrePrefixes.pipeMedium.get(Materials.Neutronium), OrePrefixes.pipeHuge.get(Materials.Neutronium), OrePrefixes.pipeMedium.get(Materials.Neutronium), OrePrefixes.pipeLarge.get(Materials.Neutronium)),
|
||||
new Tier(SubTag.ENERGY_STEAM, 9, Integer.MAX_VALUE-7, 1, 1, 1, Materials.Neutronium, OrePrefixes.frameGt.get(Materials.Neutronium), OrePrefixes.pipeMedium.get(Materials.Neutronium), OrePrefixes.pipeHuge.get(Materials.Neutronium), OrePrefixes.pipeMedium.get(Materials.Neutronium), OrePrefixes.pipeLarge.get(Materials.Neutronium)),
|
||||
};
|
||||
/**
|
||||
* Used for Crafting Recipes
|
||||
|
|
|
@ -267,7 +267,8 @@ public class GT_Container extends Container {
|
|||
|
||||
mTileEntity.markDirty();
|
||||
|
||||
if (getSlotCount() > 0 && !(slotObject instanceof GT_Slot_Holo) && slotObject.getHasStack()) {
|
||||
//null checks and checks if the item can be stacked (maxStackSize > 1)
|
||||
if (getSlotCount() > 0 && slotObject != null && slotObject.getHasStack() && !(slotObject instanceof GT_Slot_Holo)) {
|
||||
ItemStack stackInSlot = slotObject.getStack();
|
||||
stack = GT_Utility.copy(stackInSlot);
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package gregtech.api.gui;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.Dyes;
|
||||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemDye;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
/**
|
||||
|
@ -28,11 +28,11 @@ public class GT_GUIContainerMetaTile_Machine extends GT_GUIContainer {
|
|||
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
|
||||
super.drawGuiContainerBackgroundLayer(par1, par2, par3);
|
||||
if (GregTech_API.sColoredGUI && mContainer != null && mContainer.mTileEntity != null) {
|
||||
int tColor = mContainer.mTileEntity.getColorization() & 15;
|
||||
if (tColor < ItemDye.field_150922_c.length) {
|
||||
tColor = ItemDye.field_150922_c[tColor];
|
||||
GL11.glColor4f(((tColor >> 16) & 255) / 255.0F, ((tColor >> 8) & 255) / 255.0F, (tColor & 255) / 255.0F, 1.0F);
|
||||
} else GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
} else GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
byte colorByte=mContainer.mTileEntity.getColorization();
|
||||
Dyes color;
|
||||
if(colorByte != -1) color= Dyes.get(colorByte);
|
||||
else color=Dyes.MACHINE_METAL;
|
||||
GL11.glColor3ub((byte)color.mRGBa[0], (byte)color.mRGBa[1], (byte)color.mRGBa[2]);
|
||||
} else GL11.glColor3ub((byte)255,(byte)255,(byte)255);
|
||||
}
|
||||
}
|
|
@ -29,7 +29,7 @@ public class GT_GUIContainer_MultiMachine extends GT_GUIContainerMetaTile_Machin
|
|||
protected void drawGuiContainerForegroundLayer(int par1, int par2) {
|
||||
fontRendererObj.drawString(mName, 10, 8, 16448255);
|
||||
|
||||
if (mContainer != null) {
|
||||
if (mContainer != null) {//(mWrench ? 0 : 1) | (mScrewdriver ? 0 : 2) | (mSoftHammer ? 0 : 4) | (mHardHammer ? 0 : 8) | (mSolderingTool ? 0 : 16) | (mCrowbar ? 0 : 32) | (mMachine ? 0 : 64));
|
||||
if ((((GT_Container_MultiMachine) mContainer).mDisplayErrorCode & 1) != 0)
|
||||
fontRendererObj.drawString("Pipe is loose.", 10, 16, 16448255);
|
||||
if ((((GT_Container_MultiMachine) mContainer).mDisplayErrorCode & 2) != 0)
|
||||
|
@ -47,7 +47,7 @@ public class GT_GUIContainer_MultiMachine extends GT_GUIContainerMetaTile_Machin
|
|||
|
||||
if (((GT_Container_MultiMachine) mContainer).mDisplayErrorCode == 0) {
|
||||
if (((GT_Container_MultiMachine) mContainer).mActive == 0) {
|
||||
fontRendererObj.drawString("Hit with Soft Hammer", 10, 16, 16448255);
|
||||
fontRendererObj.drawString("Hit with Soft Mallet", 10, 16, 16448255);
|
||||
fontRendererObj.drawString("to (re-)start the Machine", 10, 24, 16448255);
|
||||
fontRendererObj.drawString("if it doesn't start.", 10, 32, 16448255);
|
||||
} else {
|
||||
|
|
|
@ -17,7 +17,7 @@ public interface IGT_RecipeAdder {
|
|||
*
|
||||
* @param aInput1 = first Input (not null, and respects StackSize)
|
||||
* @param aInput2 = second Input (not null, and respects StackSize)
|
||||
* @param aOutput = Output of the Fusion (can be null, and respects StackSize)
|
||||
* @param aOutput1 = Output of the Fusion (can be null, and respects StackSize)
|
||||
* @param aFusionDurationInTicks = How many ticks the Fusion lasts (must be > 0)
|
||||
* @param aFusionEnergyPerTick = The EU generated per Tick (can even be negative!)
|
||||
* @param aEnergyNeededForStartingFusion = EU needed for heating the Reactor up (must be >= 0)
|
||||
|
@ -38,6 +38,8 @@ public interface IGT_RecipeAdder {
|
|||
*/
|
||||
public boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration);
|
||||
|
||||
public boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt);
|
||||
|
||||
/**
|
||||
* Adds a Centrifuge Recipe
|
||||
*
|
||||
|
@ -92,31 +94,24 @@ public interface IGT_RecipeAdder {
|
|||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aInput2 must be != null
|
||||
* @param aOutput1 must be != null
|
||||
* @param aOutput must be != null
|
||||
* @param aDuration must be > 0
|
||||
*/
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration);
|
||||
|
||||
/**
|
||||
* Adds a Chemical Recipe
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aInput2 must be != null
|
||||
* @param aOutput1 must be != null
|
||||
* @param aDuration must be > 0
|
||||
*/
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration);
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration, int aEUt);
|
||||
|
||||
/**
|
||||
* Adds a Chemical Recipe
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aInput2 must be != null
|
||||
* @param aOutput1 must be != null
|
||||
* @param aOutput must be != null
|
||||
* @param aDuration must be > 0
|
||||
* @param aEUtick must be > 0
|
||||
*/
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUtick);
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration);
|
||||
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt);
|
||||
|
||||
|
||||
/**
|
||||
|
@ -239,8 +234,8 @@ public interface IGT_RecipeAdder {
|
|||
/**
|
||||
* Adds a Wiremill Recipe
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aOutput1 must be != null
|
||||
* @param aInput must be != null
|
||||
* @param aOutput must be != null
|
||||
* @param aDuration must be > 0
|
||||
* @param aEUt should be > 0
|
||||
*/
|
||||
|
@ -249,8 +244,8 @@ public interface IGT_RecipeAdder {
|
|||
/**
|
||||
* Adds a Polariser Recipe
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aOutput1 must be != null
|
||||
* @param aInput must be != null
|
||||
* @param aOutput must be != null
|
||||
* @param aDuration must be > 0
|
||||
* @param aEUt should be > 0
|
||||
*/
|
||||
|
@ -259,8 +254,8 @@ public interface IGT_RecipeAdder {
|
|||
/**
|
||||
* Adds a Plate Bending Machine Recipe
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aOutput1 must be != null
|
||||
* @param aInput must be != null
|
||||
* @param aOutput must be != null
|
||||
* @param aDuration must be > 0
|
||||
* @param aEUt should be > 0
|
||||
*/
|
||||
|
@ -269,9 +264,9 @@ public interface IGT_RecipeAdder {
|
|||
/**
|
||||
* Adds a Extruder Machine Recipe
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aInput must be != null
|
||||
* @param aShape must be != null, Set the stackSize to 0 if you don't want to let it consume this Item.
|
||||
* @param aOutput1 must be != null
|
||||
* @param aOutput must be != null
|
||||
* @param aDuration must be > 0
|
||||
* @param aEUt should be > 0
|
||||
*/
|
||||
|
@ -280,9 +275,9 @@ public interface IGT_RecipeAdder {
|
|||
/**
|
||||
* Adds a Slicer Machine Recipe
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aInput must be != null
|
||||
* @param aShape must be != null, Set the stackSize to 0 if you don't want to let it consume this Item.
|
||||
* @param aOutput1 must be != null
|
||||
* @param aOutput must be != null
|
||||
* @param aDuration must be > 0
|
||||
* @param aEUt should be > 0
|
||||
*/
|
||||
|
@ -324,7 +319,7 @@ public interface IGT_RecipeAdder {
|
|||
/**
|
||||
* Adds a Distillation Tower Recipe
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aInput must be != null
|
||||
* @param aOutputs must be != null 1-5 Fluids
|
||||
* @param aOutput2 can be null
|
||||
*/
|
||||
|
@ -387,6 +382,8 @@ public interface IGT_RecipeAdder {
|
|||
*/
|
||||
public boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration);
|
||||
|
||||
public boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt);
|
||||
|
||||
/**
|
||||
* Adds a Fuel for My Generators
|
||||
*
|
||||
|
@ -407,11 +404,15 @@ public interface IGT_RecipeAdder {
|
|||
*/
|
||||
public boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, boolean aHidden);
|
||||
|
||||
public boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, int aDuration, int aEUt, boolean aHidden);
|
||||
|
||||
/**
|
||||
* Adds a Recipe for the Fermenter
|
||||
*/
|
||||
public boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, boolean aHidden);
|
||||
|
||||
public boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUT, boolean aHidden);
|
||||
|
||||
/**
|
||||
* Adds a Recipe for the Fluid Heater
|
||||
*/
|
||||
|
@ -447,6 +448,7 @@ public interface IGT_RecipeAdder {
|
|||
*/
|
||||
public boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput);
|
||||
|
||||
public boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration,int aEUt);
|
||||
/**
|
||||
* Adds a Recipe for the Chemical Bath
|
||||
*/
|
||||
|
@ -526,7 +528,7 @@ public interface IGT_RecipeAdder {
|
|||
* Adds a Distillation Tower Recipe
|
||||
* Every Fluid also gets seperate distillation recipes
|
||||
*
|
||||
* @param aInput1 must be != null
|
||||
* @param aInput must be != null
|
||||
* @param aOutputs must be != null 1-5 Fluids
|
||||
* @param aOutput2 can be null
|
||||
*/
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
package gregtech.api.interfaces.tileentity;
|
||||
|
||||
import cofh.api.energy.IEnergyReceiver;
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.GT_Pollution;
|
||||
import ic2.api.energy.tile.IEnergySink;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.ChunkPosition;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
|
@ -71,20 +74,41 @@ public interface IEnergyConnected extends IColoredTileEntity, IHasWorldObjectAnd
|
|||
}
|
||||
} else if (GregTech_API.mOutputRF && tTileEntity instanceof IEnergyReceiver) {
|
||||
ForgeDirection tDirection = ForgeDirection.getOrientation(i).getOpposite();
|
||||
int rfOut = (int) (aVoltage * GregTech_API.mEUtoRF / 100);
|
||||
int rfOut = GT_Utility.safeInt(aVoltage * GregTech_API.mEUtoRF / 100);
|
||||
if (((IEnergyReceiver) tTileEntity).receiveEnergy(tDirection, rfOut, true) == rfOut) {
|
||||
((IEnergyReceiver) tTileEntity).receiveEnergy(tDirection, rfOut, false);
|
||||
rUsedAmperes++;
|
||||
}
|
||||
if (GregTech_API.mRFExplosions && GregTech_API.sMachineExplosions && ((IEnergyReceiver) tTileEntity).getMaxEnergyStored(tDirection) < rfOut * 600) {
|
||||
if (rfOut > 32 * GregTech_API.mEUtoRF / 100) {
|
||||
if (GregTech_API.mRFExplosions && GregTech_API.sMachineExplosions && ((IEnergyReceiver) tTileEntity).getMaxEnergyStored(tDirection) < rfOut * 600L) {
|
||||
if (rfOut > 32L * GregTech_API.mEUtoRF / 100L) {
|
||||
int aExplosionPower = rfOut;
|
||||
float tStrength = aExplosionPower < V[0] ? 1.0F : aExplosionPower < V[1] ? 2.0F : aExplosionPower < V[2] ? 3.0F : aExplosionPower < V[3] ? 4.0F : aExplosionPower < V[4] ? 5.0F : aExplosionPower < V[4] * 2 ? 6.0F : aExplosionPower < V[5] ? 7.0F : aExplosionPower < V[6] ? 8.0F : aExplosionPower < V[7] ? 9.0F : 10.0F;
|
||||
float tStrength =
|
||||
aExplosionPower < V[0] ? 1.0F :
|
||||
aExplosionPower < V[1] ? 2.0F :
|
||||
aExplosionPower < V[2] ? 3.0F :
|
||||
aExplosionPower < V[3] ? 4.0F :
|
||||
aExplosionPower < V[4] ? 5.0F :
|
||||
aExplosionPower < V[4] * 2 ? 6.0F :
|
||||
aExplosionPower < V[5] ? 7.0F :
|
||||
aExplosionPower < V[6] ? 8.0F :
|
||||
aExplosionPower < V[7] ? 9.0F :
|
||||
aExplosionPower < V[8] ? 10.0F :
|
||||
aExplosionPower < V[8] * 2 ? 11.0F :
|
||||
aExplosionPower < V[9] ? 12.0F :
|
||||
aExplosionPower < V[10] ? 13.0F :
|
||||
aExplosionPower < V[11] ? 14.0F :
|
||||
aExplosionPower < V[12] ? 15.0F :
|
||||
aExplosionPower < V[12] * 2 ? 16.0F :
|
||||
aExplosionPower < V[13] ? 17.0F :
|
||||
aExplosionPower < V[14] ? 18.0F :
|
||||
aExplosionPower < V[15] ? 19.0F : 20.0F;
|
||||
int tX = tTileEntity.xCoord, tY = tTileEntity.yCoord, tZ = tTileEntity.zCoord;
|
||||
World tWorld = tTileEntity.getWorldObj();
|
||||
GT_Utility.sendSoundToPlayers(tWorld, GregTech_API.sSoundList.get(209), 1.0F, -1, tX, tY, tZ);
|
||||
tWorld.setBlock(tX, tY, tZ, Blocks.air);
|
||||
if (GregTech_API.sMachineExplosions)
|
||||
if(GT_Mod.gregtechproxy.mPollution)
|
||||
GT_Pollution.addPollution(new ChunkPosition(tX, tY, tZ), 100000);
|
||||
tWorld.createExplosion(null, tX + 0.5, tY + 0.5, tZ + 0.5, tStrength, true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci
|
|||
* 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 GT_MetaBase_Item(String aUnlocalized) {
|
||||
super(aUnlocalized, "Generated Item", null, false);
|
||||
|
@ -254,7 +255,9 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci
|
|||
Long[] tStats = 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;
|
||||
long tChargeBefore = 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)));
|
||||
//REALLY?? THIS IS THE CULPRIT THAT CHARGES ITEMS AT INSTANT!!!
|
||||
//long tChargeBefore = 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)));
|
||||
long tChargeBefore = getRealCharge(aStack), tNewCharge = Math.min(Math.abs(tStats[0]), tChargeBefore + (aIgnoreTransferLimit ? (long) aCharge : Math.min(tStats[1], (long) aCharge)));
|
||||
if (!aSimulate) setCharge(aStack, tNewCharge);
|
||||
return tNewCharge - tChargeBefore;
|
||||
}
|
||||
|
@ -607,4 +610,4 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci
|
|||
public boolean getIsRepairable(ItemStack aStack, ItemStack aMaterial) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,10 @@ import net.minecraft.world.World;
|
|||
import squeek.applecore.api.food.FoodValues;
|
||||
import squeek.applecore.api.food.IEdible;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.BitSet;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import static gregtech.api.enums.GT_Values.*;
|
||||
|
|
|
@ -309,12 +309,20 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
|
|||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public final void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) {
|
||||
for (int i = 0; i < 32766; i += 2)
|
||||
for (int i = 0; i < 32766; i += 2) {
|
||||
if (getToolStats(new ItemStack(this, 1, i)) != null) {
|
||||
ItemStack tStack = new ItemStack(this, 1, i);
|
||||
isItemStackUsable(tStack);
|
||||
aList.add(tStack);
|
||||
//aList.add(getToolWithStats(i,1,Materials.Lead,Materials.Lead,null));
|
||||
//aList.add(getToolWithStats(i,1,Materials.Nickel,Materials.Nickel,null));
|
||||
//aList.add(getToolWithStats(i,1,Materials.Cobalt,Materials.Cobalt,null));
|
||||
//aList.add(getToolWithStats(i,1,Materials.Osmium,Materials.Osmium,null));
|
||||
//aList.add(getToolWithStats(i,1,Materials.Adamantium,Materials.Adamantium,null));
|
||||
aList.add(getToolWithStats(i,1,Materials.Neutronium,Materials.Neutronium,null));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -337,12 +345,13 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
|
|||
if (tStats != null) {
|
||||
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")) {
|
||||
int aOptFlow=GT_Utility.safeInt((long)Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool) aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool) aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed * 50));
|
||||
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 " + getHarvestLevel(aStack, "") + EnumChatFormatting.GRAY);
|
||||
aList.add(tOffset + 2, EnumChatFormatting.WHITE + "Turbine Efficency: " + EnumChatFormatting.BLUE + (50.0F + (10.0F * 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 * 2000) + EnumChatFormatting.GRAY + "EU/t");
|
||||
aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Steam flow: " + EnumChatFormatting.GOLD + aOptFlow + EnumChatFormatting.GRAY + " L/t");
|
||||
aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Gas flow (Burn energy per tick): " + EnumChatFormatting.GOLD + aOptFlow + EnumChatFormatting.GRAY + " EU/t");
|
||||
aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Plasma flow (Plasma energy per tick): " + EnumChatFormatting.GOLD + aOptFlow*40 + EnumChatFormatting.GRAY + " EU/s");
|
||||
|
||||
} else {
|
||||
aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY);
|
||||
|
@ -684,4 +693,4 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
|
|||
public boolean getIsRepairable(ItemStack aStack, ItemStack aMaterial) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
|
@ -57,7 +58,7 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
super.writeToNBT(aNBT);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
try {
|
||||
|
@ -70,7 +71,7 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
aNBT.setByte("mStrongRedstone", mStrongRedstone);
|
||||
aNBT.setBoolean("mWorks", !mWorks);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
try {
|
||||
|
@ -90,12 +91,12 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
mMetaTileEntity.saveNBTData(aNBT);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
|
@ -142,7 +143,7 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
mMetaTileEntity.loadNBTData(aNBT);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered Exception while loading MetaTileEntity, the Server should've crashed now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered Exception while loading MetaTileEntity, the Server should've crashed now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
|
@ -204,77 +205,77 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
issueTextureUpdate();
|
||||
}
|
||||
|
||||
if (mNeedsUpdate) {
|
||||
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
//worldObj.func_147479_m(xCoord, yCoord, zCoord);
|
||||
mNeedsUpdate = false;
|
||||
if (mNeedsUpdate) {
|
||||
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
//worldObj.func_147479_m(xCoord, yCoord, zCoord);
|
||||
mNeedsUpdate = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
if (isServerSide() && mTickTimer > 10) {
|
||||
for (byte i = (byte) (tCode - 2); i < 6; i++)
|
||||
if (getCoverIDAtSide(i) != 0) {
|
||||
tCode++;
|
||||
GT_CoverBehavior tCover = getCoverBehaviorAtSide(i);
|
||||
int tCoverTickRate = tCover.getTickRate(i, getCoverIDAtSide(i), mCoverData[i], this);
|
||||
if (tCoverTickRate > 0 && mTickTimer % tCoverTickRate == 0) {
|
||||
mCoverData[i] = tCover.doCoverThings(i, getInputRedstoneSignal(i), getCoverIDAtSide(i), mCoverData[i], this, mTickTimer);
|
||||
if (!hasValidMetaTileEntity()) return;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
if (isServerSide() && mTickTimer > 10) {
|
||||
for (byte i = (byte) (tCode - 2); i < 6; i++)
|
||||
if (getCoverIDAtSide(i) != 0) {
|
||||
tCode++;
|
||||
GT_CoverBehavior tCover = getCoverBehaviorAtSide(i);
|
||||
int tCoverTickRate = tCover.getTickRate(i, getCoverIDAtSide(i), mCoverData[i], this);
|
||||
if (tCoverTickRate > 0 && mTickTimer % tCoverTickRate == 0) {
|
||||
mCoverData[i] = tCover.doCoverThings(i, getInputRedstoneSignal(i), getCoverIDAtSide(i), mCoverData[i], this, mTickTimer);
|
||||
if (!hasValidMetaTileEntity()) return;
|
||||
}
|
||||
}
|
||||
mConnections = (byte) (mMetaTileEntity.mConnections | (mConnections & ~63));
|
||||
if ((mConnections & -64) == 64 && getRandomNumber(1000) == 0) {
|
||||
mConnections = (byte) ((mConnections & ~64) | -128);
|
||||
}
|
||||
}
|
||||
case 8:
|
||||
tCode = 9;
|
||||
mMetaTileEntity.onPreTick(this, mTickTimer);
|
||||
if (!hasValidMetaTileEntity()) return;
|
||||
case 9:
|
||||
tCode++;
|
||||
if (isServerSide()) {
|
||||
if (mTickTimer == 10) {
|
||||
for (byte i = 0; i < 6; i++)
|
||||
mCoverBehaviors[i] = GregTech_API.getCoverBehavior(mCoverSides[i]);
|
||||
issueBlockUpdate();
|
||||
}
|
||||
|
||||
if (xCoord != oX || yCoord != oY || zCoord != oZ) {
|
||||
oX = xCoord;
|
||||
oY = yCoord;
|
||||
oZ = zCoord;
|
||||
issueClientUpdate();
|
||||
clearTileEntityBuffer();
|
||||
}
|
||||
}
|
||||
case 10:
|
||||
tCode++;
|
||||
mMetaTileEntity.onPostTick(this, mTickTimer);
|
||||
if (!hasValidMetaTileEntity()) return;
|
||||
case 11:
|
||||
tCode++;
|
||||
if (isServerSide()) {
|
||||
if (mTickTimer % 10 == 0) {
|
||||
if (mSendClientData) {
|
||||
NW.sendPacketToAllPlayersInRange(worldObj, new GT_Packet_TileEntity(xCoord, (short) yCoord, zCoord, mID, mCoverSides[0], mCoverSides[1], mCoverSides[2], mCoverSides[3], mCoverSides[4], mCoverSides[5], oTextureData = mConnections, oUpdateData = hasValidMetaTileEntity() ? mMetaTileEntity.getUpdateData() : 0, oRedstoneData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0)), oColor = mColor), xCoord, zCoord);
|
||||
mSendClientData = false;
|
||||
}
|
||||
}
|
||||
mConnections = (byte) (mMetaTileEntity.mConnections | (mConnections & ~63));
|
||||
if ((mConnections & -64) == 64 && getRandomNumber(1000) == 0) {
|
||||
mConnections = (byte) ((mConnections & ~64) | -128);
|
||||
}
|
||||
}
|
||||
case 8:
|
||||
tCode = 9;
|
||||
mMetaTileEntity.onPreTick(this, mTickTimer);
|
||||
if (!hasValidMetaTileEntity()) return;
|
||||
case 9:
|
||||
tCode++;
|
||||
if (isServerSide()) {
|
||||
if (mTickTimer == 10) {
|
||||
for (byte i = 0; i < 6; i++)
|
||||
mCoverBehaviors[i] = GregTech_API.getCoverBehavior(mCoverSides[i]);
|
||||
issueBlockUpdate();
|
||||
}
|
||||
|
||||
if (xCoord != oX || yCoord != oY || zCoord != oZ) {
|
||||
oX = xCoord;
|
||||
oY = yCoord;
|
||||
oZ = zCoord;
|
||||
issueClientUpdate();
|
||||
clearTileEntityBuffer();
|
||||
}
|
||||
}
|
||||
case 10:
|
||||
tCode++;
|
||||
mMetaTileEntity.onPostTick(this, mTickTimer);
|
||||
if (!hasValidMetaTileEntity()) return;
|
||||
case 11:
|
||||
tCode++;
|
||||
if (isServerSide()) {
|
||||
if (mTickTimer % 10 == 0) {
|
||||
if (mSendClientData) {
|
||||
NW.sendPacketToAllPlayersInRange(worldObj, new GT_Packet_TileEntity(xCoord, (short) yCoord, zCoord, mID, mCoverSides[0], mCoverSides[1], mCoverSides[2], mCoverSides[3], mCoverSides[4], mCoverSides[5], oTextureData = mConnections, oUpdateData = hasValidMetaTileEntity() ? mMetaTileEntity.getUpdateData() : 0, oRedstoneData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0)), oColor = mColor), xCoord, zCoord);
|
||||
mSendClientData = false;
|
||||
if (mTickTimer > 10) {
|
||||
if (mConnections != oTextureData) sendBlockEvent((byte) 0, oTextureData = mConnections);
|
||||
byte tData = mMetaTileEntity.getUpdateData();
|
||||
if (tData != oUpdateData) sendBlockEvent((byte) 1, oUpdateData = tData);
|
||||
if (mColor != oColor) sendBlockEvent((byte) 2, oColor = mColor);
|
||||
tData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0));
|
||||
if (tData != oRedstoneData) sendBlockEvent((byte) 3, oRedstoneData = tData);
|
||||
}
|
||||
}
|
||||
|
||||
if (mTickTimer > 10) {
|
||||
if (mConnections != oTextureData) sendBlockEvent((byte) 0, oTextureData = mConnections);
|
||||
byte tData = mMetaTileEntity.getUpdateData();
|
||||
if (tData != oUpdateData) sendBlockEvent((byte) 1, oUpdateData = tData);
|
||||
if (mColor != oColor) sendBlockEvent((byte) 2, oColor = mColor);
|
||||
tData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0));
|
||||
if (tData != oRedstoneData) sendBlockEvent((byte) 3, oRedstoneData = tData);
|
||||
}
|
||||
|
||||
if (mNeedsBlockUpdate) {
|
||||
worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, getBlockOffset(0, 0, 0));
|
||||
|
@ -338,7 +339,7 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
mMetaTileEntity.receiveClientEvent((byte) aEventID, (byte) aValue);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered Exception while receiving Data from the Server, the Client should've been crashed by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered Exception while receiving Data from the Server, the Client should've been crashed by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
|
@ -384,18 +385,18 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
public ArrayList<String> getDebugInfo(EntityPlayer aPlayer, int aLogLevel) {
|
||||
ArrayList<String> tList = new ArrayList<String>();
|
||||
if (aLogLevel > 2) {
|
||||
tList.add("Meta-ID: " + mID + (hasValidMetaTileEntity() ? " valid" : " invalid") + (mMetaTileEntity == null ? " MetaTileEntity == null!" : " "));
|
||||
tList.add("Meta-ID: " + EnumChatFormatting.BLUE+ mID +EnumChatFormatting.RESET + (hasValidMetaTileEntity() ? EnumChatFormatting.GREEN+" valid"+EnumChatFormatting.RESET : EnumChatFormatting.RED+" invalid"+EnumChatFormatting.RESET) + (mMetaTileEntity == null ? EnumChatFormatting.RED+" MetaTileEntity == null!"+EnumChatFormatting.RESET : " "));
|
||||
}
|
||||
if (aLogLevel > 1) {
|
||||
if (mTimeStatistics.length > 0) {
|
||||
double tAverageTime = 0;
|
||||
for (int tTime : mTimeStatistics) tAverageTime += tTime;
|
||||
tList.add("This particular TileEntity has caused an average CPU-load of ~" + (tAverageTime / mTimeStatistics.length) + "ms over the last " + mTimeStatistics.length + " ticks.");
|
||||
tList.add("Average CPU-load of ~" + (tAverageTime / mTimeStatistics.length) + "ms since " + mTimeStatistics.length + " ticks.");
|
||||
}
|
||||
if (mLagWarningCount > 0) {
|
||||
tList.add("This TileEntity has also caused " + (mLagWarningCount >= 10 ? "more than 10" : mLagWarningCount) + " Lag Spike Warnings (anything taking longer than " + GregTech_API.MILLISECOND_THRESHOLD_UNTIL_LAG_WARNING + "ms) on the Server.");
|
||||
tList.add("Caused " + (mLagWarningCount >= 10 ? "more than 10" : mLagWarningCount) + " Lag Spike Warnings (anything taking longer than " + GregTech_API.MILLISECOND_THRESHOLD_UNTIL_LAG_WARNING + "ms) on the Server.");
|
||||
}
|
||||
tList.add("Is" + (mMetaTileEntity.isAccessAllowed(aPlayer) ? " " : " not ") + "accessible for you");
|
||||
tList.add("Is" + (mMetaTileEntity.isAccessAllowed(aPlayer) ? " " : EnumChatFormatting.RED+" not "+EnumChatFormatting.RESET) + "accessible for you");
|
||||
}
|
||||
return mMetaTileEntity.getSpecialDebugInfo(this, aPlayer, aLogLevel, tList);
|
||||
}
|
||||
|
@ -855,7 +856,7 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
if (hasValidMetaTileEntity()) return mMetaTileEntity.onRightclick(this, aPlayer, aSide, aX, aY, aZ);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered Exception while rightclicking TileEntity, the Game should've crashed now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered Exception while rightclicking TileEntity, the Game should've crashed now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
|
||||
|
@ -867,7 +868,7 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
if (aPlayer != null && hasValidMetaTileEntity()) mMetaTileEntity.onLeftclick(this, aPlayer);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered Exception while leftclicking TileEntity, the Game should've crashed now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered Exception while leftclicking TileEntity, the Game should've crashed now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
|
@ -1312,4 +1313,4 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
|
|||
public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity collider) {
|
||||
mMetaTileEntity.onEntityCollidedWithBlock(aWorld, aX, aY, aZ, collider);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import net.minecraft.nbt.NBTTagList;
|
|||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.ChunkPosition;
|
||||
import net.minecraft.world.EnumSkyBlock;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -94,7 +95,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
super.writeToNBT(aNBT);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
try {
|
||||
|
@ -121,7 +122,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
aNBT.setBoolean("mOutputDisabled", mOutputDisabled);
|
||||
aNBT.setTag("GT.CraftingComponents", mRecipeStuff);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
try {
|
||||
|
@ -141,12 +142,12 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
mMetaTileEntity.saveNBTData(aNBT);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould've been corrupted by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
|
@ -211,7 +212,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
mMetaTileEntity.loadNBTData(aNBT);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered Exception while loading MetaTileEntity, the Server should've crashed now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered Exception while loading MetaTileEntity, the Server should've crashed now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
|
@ -599,7 +600,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
mMetaTileEntity.receiveClientEvent((byte) aEventID, (byte) aValue);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered Exception while receiving Data from the Server, the Client should've been crashed by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered Exception while receiving Data from the Server, the Client should've been crashed by now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
|
@ -651,25 +652,25 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
public ArrayList<String> getDebugInfo(EntityPlayer aPlayer, int aLogLevel) {
|
||||
ArrayList<String> tList = new ArrayList<String>();
|
||||
if (aLogLevel > 2) {
|
||||
tList.add("Meta-ID: " + mID + (canAccessData() ? " valid" : " invalid") + (mMetaTileEntity == null ? " MetaTileEntity == null!" : " "));
|
||||
tList.add("Meta-ID: " +EnumChatFormatting.BLUE+ mID +EnumChatFormatting.RESET + (canAccessData() ? EnumChatFormatting.GREEN+" valid"+EnumChatFormatting.RESET : EnumChatFormatting.RED+" invalid"+EnumChatFormatting.RESET) + (mMetaTileEntity == null ? EnumChatFormatting.RED+" MetaTileEntity == null!"+EnumChatFormatting.RESET : " "));
|
||||
}
|
||||
if (aLogLevel > 1) {
|
||||
if (mTimeStatistics.length > 0) {
|
||||
double tAverageTime = 0;
|
||||
for (int tTime : mTimeStatistics) tAverageTime += tTime;
|
||||
tList.add("This particular TileEntity has caused an average CPU-load of ~" + (tAverageTime / mTimeStatistics.length) + "ms over the last " + mTimeStatistics.length + " ticks.");
|
||||
tList.add("Average CPU-load of ~" + (tAverageTime / mTimeStatistics.length) + "ms since " + mTimeStatistics.length + " ticks.");
|
||||
}
|
||||
if (mLagWarningCount > 0) {
|
||||
tList.add("This TileEntity has also caused " + (mLagWarningCount >= 10 ? "more than 10" : mLagWarningCount) + " Lag Spike Warnings (anything taking longer than " + GregTech_API.MILLISECOND_THRESHOLD_UNTIL_LAG_WARNING + "ms) on the Server.");
|
||||
tList.add("Caused " + (mLagWarningCount >= 10 ? "more than 10" : mLagWarningCount) + " Lag Spike Warnings (anything taking longer than " + GregTech_API.MILLISECOND_THRESHOLD_UNTIL_LAG_WARNING + "ms) on the Server.");
|
||||
}
|
||||
tList.add("Is" + (mMetaTileEntity.isAccessAllowed(aPlayer) ? " " : " not ") + "accessible for you");
|
||||
tList.add("Is" + (mMetaTileEntity.isAccessAllowed(aPlayer) ? " " : EnumChatFormatting.RED+" not "+EnumChatFormatting.RESET) + "accessible for you");
|
||||
}
|
||||
if (aLogLevel > 0) {
|
||||
if (getSteamCapacity() > 0 && hasSteamEngineUpgrade())
|
||||
tList.add(getStoredSteam() + " of " + getSteamCapacity() + " Steam");
|
||||
tList.add("Machine is " + (mActive ? "active" : "inactive"));
|
||||
tList.add("Machine is " + (mActive ? EnumChatFormatting.GREEN+"active"+EnumChatFormatting.RESET : EnumChatFormatting.RED+"inactive"+EnumChatFormatting.RESET));
|
||||
if (!mHasEnoughEnergy)
|
||||
tList.add("ATTENTION: This Device consumes Energy at a higher Rate than you input. You could insert more to speed up the process.");
|
||||
tList.add(EnumChatFormatting.RED+"ATTENTION: This Device needs more power."+EnumChatFormatting.RESET);
|
||||
}
|
||||
return mMetaTileEntity.getSpecialDebugInfo(this, aPlayer, aLogLevel, tList);
|
||||
}
|
||||
|
@ -1321,7 +1322,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
if (hasValidMetaTileEntity()) return mMetaTileEntity.onRightclick(this, aPlayer, aSide, aX, aY, aZ);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered Exception while rightclicking TileEntity, the Game should've crashed now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered Exception while rightclicking TileEntity, the Game should've crashed now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
|
||||
|
@ -1333,7 +1334,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
try {
|
||||
if (aPlayer != null && hasValidMetaTileEntity()) mMetaTileEntity.onLeftclick(this, aPlayer);
|
||||
} catch (Throwable e) {
|
||||
GT_Log.err.println("Encountered Exception while leftclicking TileEntity, the Game should've crashed now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
|
||||
GT_Log.err.println("Encountered Exception while leftclicking TileEntity, the Game should've crashed now, but I prevented that. Please report immediately to GregTech Intergalactical!!!");
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package gregtech.api.metatileentity;
|
|||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
|
||||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
||||
|
@ -9,6 +10,7 @@ import gregtech.api.objects.GT_ItemStack;
|
|||
import gregtech.api.util.GT_Config;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.GT_Pollution;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
|
@ -20,6 +22,7 @@ import net.minecraft.init.Blocks;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.world.ChunkPosition;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
@ -167,7 +170,7 @@ public abstract class MetaPipeEntity implements IMetaTileEntity {
|
|||
tCovered = true;
|
||||
}
|
||||
//System.out.println("Cover: "+mBaseMetaTileEntity.getCoverIDAtSide(aSide));
|
||||
//toDo: filter cover ids that actually protect against temperature (rubber/plastic maybe?)
|
||||
//toDo: filter cover ids that actually protect against temperature (rubber/plastic maybe?, more like asbestos)
|
||||
return tCovered;
|
||||
}
|
||||
|
||||
|
@ -640,11 +643,32 @@ public abstract class MetaPipeEntity implements IMetaTileEntity {
|
|||
|
||||
@Override
|
||||
public void doExplosion(long aExplosionPower) {
|
||||
float tStrength = aExplosionPower < V[0] ? 1.0F : aExplosionPower < V[1] ? 2.0F : aExplosionPower < V[2] ? 3.0F : aExplosionPower < V[3] ? 4.0F : aExplosionPower < V[4] ? 5.0F : aExplosionPower < V[4] * 2 ? 6.0F : aExplosionPower < V[5] ? 7.0F : aExplosionPower < V[6] ? 8.0F : aExplosionPower < V[7] ? 9.0F : 10.0F;
|
||||
float tStrength =
|
||||
aExplosionPower < V[0] ? 1.0F :
|
||||
aExplosionPower < V[1] ? 2.0F :
|
||||
aExplosionPower < V[2] ? 3.0F :
|
||||
aExplosionPower < V[3] ? 4.0F :
|
||||
aExplosionPower < V[4] ? 5.0F :
|
||||
aExplosionPower < V[4] * 2 ? 6.0F :
|
||||
aExplosionPower < V[5] ? 7.0F :
|
||||
aExplosionPower < V[6] ? 8.0F :
|
||||
aExplosionPower < V[7] ? 9.0F :
|
||||
aExplosionPower < V[8] ? 10.0F :
|
||||
aExplosionPower < V[8] * 2 ? 11.0F :
|
||||
aExplosionPower < V[9] ? 12.0F :
|
||||
aExplosionPower < V[10] ? 13.0F :
|
||||
aExplosionPower < V[11] ? 14.0F :
|
||||
aExplosionPower < V[12] ? 15.0F :
|
||||
aExplosionPower < V[12] * 2 ? 16.0F :
|
||||
aExplosionPower < V[13] ? 17.0F :
|
||||
aExplosionPower < V[14] ? 18.0F :
|
||||
aExplosionPower < V[15] ? 19.0F : 20.0F;
|
||||
int tX = getBaseMetaTileEntity().getXCoord(), tY = getBaseMetaTileEntity().getYCoord(), tZ = getBaseMetaTileEntity().getZCoord();
|
||||
World tWorld = getBaseMetaTileEntity().getWorld();
|
||||
tWorld.setBlock(tX, tY, tZ, Blocks.air);
|
||||
if (GregTech_API.sMachineExplosions)
|
||||
if(GT_Mod.gregtechproxy.mPollution)
|
||||
GT_Pollution.addPollution(new ChunkPosition(tX, tY, tZ), 100000);
|
||||
tWorld.createExplosion(null, tX + 0.5, tY + 0.5, tZ + 0.5, tStrength, true);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package gregtech.api.metatileentity;
|
|||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
|
||||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
||||
|
@ -10,6 +11,7 @@ import gregtech.api.util.GT_Config;
|
|||
import gregtech.api.util.GT_LanguageManager;
|
||||
import gregtech.api.util.GT_ModHandler;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.GT_Pollution;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
|
@ -20,6 +22,7 @@ import net.minecraft.init.Blocks;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.world.ChunkPosition;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
@ -829,12 +832,33 @@ public abstract class MetaTileEntity implements IMetaTileEntity {
|
|||
|
||||
@Override
|
||||
public void doExplosion(long aExplosionPower) {
|
||||
float tStrength = aExplosionPower < V[0] ? 1.0F : aExplosionPower < V[1] ? 2.0F : aExplosionPower < V[2] ? 3.0F : aExplosionPower < V[3] ? 4.0F : aExplosionPower < V[4] ? 5.0F : aExplosionPower < V[4] * 2 ? 6.0F : aExplosionPower < V[5] ? 7.0F : aExplosionPower < V[6] ? 8.0F : aExplosionPower < V[7] ? 9.0F : 10.0F;
|
||||
float tStrength =
|
||||
aExplosionPower < V[0] ? 1.0F :
|
||||
aExplosionPower < V[1] ? 2.0F :
|
||||
aExplosionPower < V[2] ? 3.0F :
|
||||
aExplosionPower < V[3] ? 4.0F :
|
||||
aExplosionPower < V[4] ? 5.0F :
|
||||
aExplosionPower < V[4] * 2 ? 6.0F :
|
||||
aExplosionPower < V[5] ? 7.0F :
|
||||
aExplosionPower < V[6] ? 8.0F :
|
||||
aExplosionPower < V[7] ? 9.0F :
|
||||
aExplosionPower < V[8] ? 10.0F :
|
||||
aExplosionPower < V[8] * 2 ? 11.0F :
|
||||
aExplosionPower < V[9] ? 12.0F :
|
||||
aExplosionPower < V[10] ? 13.0F :
|
||||
aExplosionPower < V[11] ? 14.0F :
|
||||
aExplosionPower < V[12] ? 15.0F :
|
||||
aExplosionPower < V[12] * 2 ? 16.0F :
|
||||
aExplosionPower < V[13] ? 17.0F :
|
||||
aExplosionPower < V[14] ? 18.0F :
|
||||
aExplosionPower < V[15] ? 19.0F : 20.0F;
|
||||
int tX = getBaseMetaTileEntity().getXCoord(), tY = getBaseMetaTileEntity().getYCoord(), tZ = getBaseMetaTileEntity().getZCoord();
|
||||
World tWorld = getBaseMetaTileEntity().getWorld();
|
||||
GT_Utility.sendSoundToPlayers(tWorld, GregTech_API.sSoundList.get(209), 1.0F, -1, tX, tY, tZ);
|
||||
tWorld.setBlock(tX, tY, tZ, Blocks.air);
|
||||
if (GregTech_API.sMachineExplosions)
|
||||
if(GT_Mod.gregtechproxy.mPollution)
|
||||
GT_Pollution.addPollution(new ChunkPosition(tX, tY, tZ), 100000);
|
||||
tWorld.createExplosion(null, tX + 0.5, tY + 0.5, tZ + 0.5, tStrength, true);
|
||||
}
|
||||
|
||||
|
|
|
@ -31,11 +31,11 @@ public class GT_MetaTileEntity_E_Furnace extends GT_MetaTileEntity_BasicMachine
|
|||
@Override
|
||||
public int checkRecipe() {
|
||||
if (null != (mOutputItems[0] = GT_ModHandler.getSmeltingOutput(getInputAt(0), true, getOutputAt(0)))) {
|
||||
mEUt = 4 * (1 << (mTier - 1)) * (1 << (mTier - 1));
|
||||
mMaxProgresstime = 128 / (1 << (mTier - 1));
|
||||
return 2;
|
||||
calculateOverclockedNess(4,128);
|
||||
if(mMaxProgresstime==Integer.MAX_VALUE-1 && mEUt==Integer.MAX_VALUE-1) return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
|
||||
return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
|
||||
}
|
||||
return 0;
|
||||
return DID_NOT_FIND_RECIPE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -17,6 +17,7 @@ import gregtech.api.metatileentity.BaseMetaPipeEntity;
|
|||
import gregtech.api.metatileentity.MetaPipeEntity;
|
||||
import gregtech.api.objects.GT_RenderedTexture;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.GT_Client;
|
||||
import ic2.api.energy.tile.IEnergySink;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
|
@ -38,9 +39,11 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
public final Materials mMaterial;
|
||||
public final long mCableLossPerMeter, mAmperage, mVoltage;
|
||||
public final boolean mInsulated, mCanShock;
|
||||
public long mTransferredAmperage = 0, mTransferredAmperageLast20 = 0, mTransferredVoltageLast20 = 0;
|
||||
public int mTransferredAmperage = 0, mTransferredAmperageLast20 = 0,mTransferredAmperageLast20OK=0,mTransferredAmperageOK=0;
|
||||
public long mTransferredVoltageLast20 = 0, mTransferredVoltage = 0,mTransferredVoltageLast20OK=0,mTransferredVoltageOK=0;
|
||||
public long mRestRF;
|
||||
public short mOverheat;
|
||||
public static short mMaxOverheat=(short) (GT_Mod.gregtechproxy.mWireHeatingTicks * 100);
|
||||
|
||||
public GT_MetaPipeEntity_Cable(int aID, String aName, String aNameRegional, float aThickNess, Materials aMaterial, long aCableLossPerMeter, long aAmperage, long aVoltage, boolean aInsulated, boolean aCanShock) {
|
||||
super(aID, aName, aNameRegional, 0);
|
||||
|
@ -80,13 +83,17 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], Dyes.getModulation(aColorIndex, mMaterial.mRGBa) )};
|
||||
if (aConnected) {
|
||||
float tThickNess = getThickNess();
|
||||
if (tThickNess < 0.37F)
|
||||
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(mMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], mMaterial.mRGBa), new GT_RenderedTexture(Textures.BlockIcons.INSULATION_TINY, Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa))};
|
||||
if (tThickNess < 0.49F)
|
||||
if (tThickNess < 0.499F)//0.500 x2
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], mMaterial.mRGBa), new GT_RenderedTexture(Textures.BlockIcons.INSULATION_SMALL, Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa))};
|
||||
if (tThickNess < 0.74F)
|
||||
if (tThickNess < 0.624F)//0.625 x4
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], mMaterial.mRGBa), new GT_RenderedTexture(Textures.BlockIcons.INSULATION_MEDIUM, Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa))};
|
||||
if (tThickNess < 0.99F)
|
||||
if (tThickNess < 0.749F)//0.750 x8
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], mMaterial.mRGBa), new GT_RenderedTexture(Textures.BlockIcons.INSULATION_MEDIUM_PLUS, Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa))};
|
||||
if (tThickNess < 0.874F)//0.825 x12
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], mMaterial.mRGBa), new GT_RenderedTexture(Textures.BlockIcons.INSULATION_LARGE, Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa))};
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[TextureSet.INDEX_wire], mMaterial.mRGBa), new GT_RenderedTexture(Textures.BlockIcons.INSULATION_HUGE, Dyes.getModulation(aColorIndex, Dyes.CABLE_INSULATION.mRGBa))};
|
||||
}
|
||||
|
@ -101,8 +108,8 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) {
|
||||
if (!mCanShock) return super.getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ);
|
||||
return AxisAlignedBB.getBoundingBox(aX + 0.125D, aY + 0.125D, aZ + 0.125D, aX + 0.875D, aY + 0.875D, aZ + 0.875D);
|
||||
//if (!mCanShock) return super.getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ);
|
||||
return AxisAlignedBB.getBoundingBox(aX + 0.0625D, aY + 0.0625D, aZ + 0.0625D, aX + 0.9375D, aY + 0.9375D, aZ + 0.9375D);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -175,7 +182,8 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
}
|
||||
} else if (GregTech_API.mOutputRF && tTileEntity instanceof IEnergyReceiver) {
|
||||
ForgeDirection tDirection = ForgeDirection.getOrientation(i).getOpposite();
|
||||
int rfOut = (int) (aVoltage * GregTech_API.mEUtoRF / 100);
|
||||
long rfOUT = aVoltage * GregTech_API.mEUtoRF / 100;
|
||||
int rfOut = rfOUT>Integer.MAX_VALUE ? Integer.MAX_VALUE : (int)rfOUT;
|
||||
if (((IEnergyReceiver) tTileEntity).receiveEnergy(tDirection, rfOut, true) == rfOut) {
|
||||
((IEnergyReceiver) tTileEntity).receiveEnergy(tDirection, rfOut, false);
|
||||
rUsedAmperes++;
|
||||
|
@ -195,24 +203,33 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
}
|
||||
}
|
||||
}
|
||||
mTransferredVoltage=(Math.max(mTransferredVoltage,aVoltage));
|
||||
mTransferredAmperage += rUsedAmperes;
|
||||
mTransferredVoltageLast20 = Math.max(mTransferredVoltageLast20, aVoltage);
|
||||
mTransferredVoltageLast20 = (Math.max(mTransferredVoltageLast20, aVoltage));
|
||||
mTransferredAmperageLast20 = Math.max(mTransferredAmperageLast20, mTransferredAmperage);
|
||||
if (aVoltage > mVoltage || mTransferredAmperage > mAmperage) {
|
||||
if(mOverheat>GT_Mod.gregtechproxy.mWireHeatingTicks * 100){
|
||||
getBaseMetaTileEntity().setToFire();}else{mOverheat +=100;}
|
||||
if(mOverheat>mMaxOverheat)
|
||||
getBaseMetaTileEntity().setToFire();
|
||||
else
|
||||
mOverheat +=100;
|
||||
return aAmperage;
|
||||
}
|
||||
return rUsedAmperes;
|
||||
//Always return amount of used amperes, used all on overheat
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
|
||||
if (aBaseMetaTileEntity.isServerSide()) {
|
||||
mTransferredVoltageOK=mTransferredVoltage;
|
||||
mTransferredVoltage=0;
|
||||
mTransferredAmperageOK=mTransferredAmperage;
|
||||
mTransferredAmperage = 0;
|
||||
if(mOverheat>0)mOverheat--;
|
||||
if (aTick % 20 == 0) {
|
||||
mTransferredVoltageLast20OK=mTransferredVoltageLast20;
|
||||
mTransferredVoltageLast20 = 0;
|
||||
mTransferredAmperageLast20OK=mTransferredAmperageLast20;
|
||||
mTransferredAmperageLast20 = 0;
|
||||
mConnections = 0;
|
||||
for (byte i = 0, j = 0; i < 6; i++) {
|
||||
|
@ -251,7 +268,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(aBaseMetaTileEntity.isClientSide() && GT_Client.changeDetected==4) aBaseMetaTileEntity.issueTextureUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -275,6 +292,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
|
||||
@Override
|
||||
public float getThickNess() {
|
||||
if(GT_Client.hideValue==1) return 0.0625F;
|
||||
return mThickNess;
|
||||
}
|
||||
|
||||
|
@ -287,4 +305,28 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
|
|||
public void loadNBTData(NBTTagCompound aNBT) {
|
||||
//
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGivingInformation() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getInfoData() {
|
||||
return new String[]{
|
||||
//EnumChatFormatting.BLUE + mName + EnumChatFormatting.RESET,
|
||||
"Heat: "+
|
||||
EnumChatFormatting.RED+ mOverheat +EnumChatFormatting.RESET+" / "+EnumChatFormatting.YELLOW+ mMaxOverheat + EnumChatFormatting.RESET,
|
||||
"Max Load (1t):",
|
||||
EnumChatFormatting.GREEN + Integer.toString(mTransferredAmperageOK) + EnumChatFormatting.RESET +" A / "+
|
||||
EnumChatFormatting.YELLOW + Long.toString(mAmperage) + EnumChatFormatting.RESET +" A",
|
||||
"Max EU/p (1t):",
|
||||
EnumChatFormatting.GREEN + Long.toString(mTransferredVoltageOK) + EnumChatFormatting.RESET +" EU / "+
|
||||
EnumChatFormatting.YELLOW + Long.toString(mVoltage) + EnumChatFormatting.RESET +" EU",
|
||||
"Max Load (20t): "+
|
||||
EnumChatFormatting.GREEN + Integer.toString(mTransferredAmperageLast20OK) + EnumChatFormatting.RESET +" A",
|
||||
"Max EU/p (20t): "+
|
||||
EnumChatFormatting.GREEN + Long.toString(mTransferredVoltageLast20OK) + EnumChatFormatting.RESET +" EU"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
package gregtech.api.metatileentity.implementations;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.Dyes;
|
||||
import gregtech.api.enums.ItemList;
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.enums.OrePrefixes;
|
||||
import gregtech.api.enums.SubTag;
|
||||
import gregtech.api.enums.*;
|
||||
import gregtech.api.interfaces.ITexture;
|
||||
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
|
||||
import gregtech.api.interfaces.tileentity.ICoverable;
|
||||
|
@ -16,6 +12,7 @@ import gregtech.api.objects.GT_RenderedTexture;
|
|||
import gregtech.api.objects.XSTR;
|
||||
import gregtech.api.util.GT_Log;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.GT_Client;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -74,13 +71,15 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
|
|||
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) {
|
||||
if (aConnected) {
|
||||
float tThickNess = getThickNess();
|
||||
if (tThickNess < 0.37F)
|
||||
if (tThickNess < 0.124F)
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipe.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
if (tThickNess < 0.374F)//0.375
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeTiny.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
if (tThickNess < 0.49F)
|
||||
if (tThickNess < 0.499F)//0.500
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeSmall.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
if (tThickNess < 0.74F)
|
||||
if (tThickNess < 0.749F)//0.750
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeMedium.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
if (tThickNess < 0.99F)
|
||||
if (tThickNess < 0.874F)//0.825
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeLarge.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeHuge.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
}
|
||||
|
@ -143,7 +142,7 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
|
|||
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) {
|
||||
return AxisAlignedBB.getBoundingBox(aX + 0.125D, aY + 0.125D, aZ + 0.125D, aX + 0.875D, aY + 0.875D, aZ + 0.875D);
|
||||
return AxisAlignedBB.getBoundingBox(aX + 0.0625D, aY + 0.0625D, aZ + 0.0625D, aX + 0.9375D, aY + 0.9375D, aZ + 0.9375D);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -269,7 +268,7 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
|
|||
}
|
||||
|
||||
oLastReceivedFrom = mLastReceivedFrom;
|
||||
}
|
||||
}else if(aBaseMetaTileEntity.isClientSide() && GT_Client.changeDetected==4) aBaseMetaTileEntity.issueTextureUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -386,6 +385,7 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
|
|||
|
||||
@Override
|
||||
public float getThickNess() {
|
||||
if(GT_Client.hideValue==1) return 0.0625F;
|
||||
return mThickNess;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import gregtech.api.metatileentity.BaseMetaPipeEntity;
|
|||
import gregtech.api.metatileentity.MetaPipeEntity;
|
||||
import gregtech.api.objects.GT_RenderedTexture;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.GT_Client;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -17,6 +18,8 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.tileentity.TileEntityDispenser;
|
||||
import net.minecraft.tileentity.TileEntityHopper;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
@ -67,18 +70,25 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE
|
|||
return new GT_MetaPipeEntity_Item(mName, mThickNess, mMaterial, mInventory.length, mStepSize, mIsRestrictive);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) {
|
||||
return AxisAlignedBB.getBoundingBox(aX + 0.0625D, aY + 0.0625D, aZ + 0.0625D, aX + 0.9375D, aY + 0.9375D, aZ + 0.9375D);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) {
|
||||
if (mIsRestrictive) {
|
||||
if (aConnected) {
|
||||
float tThickNess = getThickNess();
|
||||
if (tThickNess < 0.37F)
|
||||
if (tThickNess < 0.124F)
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipe.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.PIPE_RESTRICTOR)};
|
||||
if (tThickNess < 0.374F)//0.375
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeTiny.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.PIPE_RESTRICTOR)};
|
||||
if (tThickNess < 0.49F)
|
||||
if (tThickNess < 0.499F)//0.500
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeSmall.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.PIPE_RESTRICTOR)};
|
||||
if (tThickNess < 0.74F)
|
||||
if (tThickNess < 0.749F)//0.750
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeMedium.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.PIPE_RESTRICTOR)};
|
||||
if (tThickNess < 0.99F)
|
||||
if (tThickNess < 0.874F)//0.825
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeLarge.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.PIPE_RESTRICTOR)};
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeHuge.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.PIPE_RESTRICTOR)};
|
||||
}
|
||||
|
@ -86,13 +96,15 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE
|
|||
}
|
||||
if (aConnected) {
|
||||
float tThickNess = getThickNess();
|
||||
if (tThickNess < 0.37F)
|
||||
if (tThickNess < 0.124F)
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipe.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
if (tThickNess < 0.374F)//0.375
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeTiny.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
if (tThickNess < 0.49F)
|
||||
if (tThickNess < 0.499F)//0.500
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeSmall.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
if (tThickNess < 0.74F)
|
||||
if (tThickNess < 0.749F)//0.750
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeMedium.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
if (tThickNess < 0.99F)
|
||||
if (tThickNess < 0.874F)//0.825
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeLarge.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
return new ITexture[]{new GT_RenderedTexture(mMaterial.mIconSet.mTextures[OrePrefixes.pipeHuge.mTextureIndex], Dyes.getModulation(aColorIndex, mMaterial.mRGBa))};
|
||||
}
|
||||
|
@ -217,7 +229,7 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE
|
|||
|
||||
if (isInventoryEmpty()) mLastReceivedFrom = 6;
|
||||
oLastReceivedFrom = mLastReceivedFrom;
|
||||
}
|
||||
}else if(aBaseMetaTileEntity.isClientSide() && GT_Client.changeDetected==4) aBaseMetaTileEntity.issueTextureUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -306,6 +318,7 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE
|
|||
|
||||
@Override
|
||||
public float getThickNess() {
|
||||
if(GT_Client.hideValue==1) return 0.0625F;
|
||||
return mThickNess;
|
||||
}
|
||||
}
|
|
@ -13,6 +13,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
|||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
import static gregtech.api.enums.GT_Values.V;
|
||||
|
||||
|
@ -47,7 +48,7 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier
|
|||
ITexture[][][] rTextures = new ITexture[2][17][];
|
||||
for (byte i = -1; i < 16; i++) {
|
||||
rTextures[0][i + 1] = new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1]};
|
||||
rTextures[1][i + 1] = new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], mInventory.length > 4 ? Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[mTier] : Textures.BlockIcons.OVERLAYS_ENERGY_OUT[mTier]};
|
||||
rTextures[1][i + 1] = new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][i + 1], mInventory.length==16 ? Textures.BlockIcons.OVERLAYS_ENERGY_OUT_POWER[mTier] : mInventory.length > 4 ? Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[mTier] : Textures.BlockIcons.OVERLAYS_ENERGY_OUT[mTier]};
|
||||
}
|
||||
return rTextures;
|
||||
}
|
||||
|
@ -109,12 +110,12 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier
|
|||
|
||||
@Override
|
||||
public long getMinimumStoredEU() {
|
||||
return V[mTier] * 16 * mInventory.length;
|
||||
return V[mTier] * 16L * mInventory.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxEUStore() {
|
||||
return V[mTier] * 64 * mInventory.length;
|
||||
return V[mTier] * 64L * mInventory.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -129,7 +130,7 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier
|
|||
|
||||
@Override
|
||||
public long maxAmperesIn() {
|
||||
return mChargeableCount * 2;
|
||||
return mChargeableCount * 2L;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -309,14 +310,15 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier
|
|||
}
|
||||
|
||||
return new String[]{
|
||||
getLocalName(),
|
||||
EnumChatFormatting.BLUE+getLocalName()+EnumChatFormatting.RESET,
|
||||
"Stored Items:",
|
||||
GT_Utility.formatNumbers(mStored) + " EU /",
|
||||
GT_Utility.formatNumbers(mMax) + " EU"};
|
||||
EnumChatFormatting.GREEN+GT_Utility.formatNumbers(mStored) +EnumChatFormatting.RESET+ " EU / "+
|
||||
EnumChatFormatting.YELLOW+GT_Utility.formatNumbers(mMax) +EnumChatFormatting.RESET+ " EU"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGivingInformation() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import gregtech.api.interfaces.ITexture;
|
|||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
||||
import gregtech.api.util.GT_Recipe;
|
||||
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.GT_Pollution;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -133,17 +134,18 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
|
|||
|
||||
@Override
|
||||
public long maxEUOutput() {
|
||||
return getBaseMetaTileEntity().isAllowedToWork() ? V[mTier] : 0;
|
||||
return getBaseMetaTileEntity().isAllowedToWork() ? V[mTier] : 0L;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxEUStore() {
|
||||
return Math.max(getEUVar(), V[mTier] * 40 + getMinimumStoredEU());
|
||||
return Math.max(getEUVar(), V[mTier] * 40L + getMinimumStoredEU());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doesFillContainers() {
|
||||
return getBaseMetaTileEntity().isAllowedToWork();
|
||||
//return getBaseMetaTileEntity().isAllowedToWork();
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -176,6 +178,12 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
|
|||
return getFuelValue(aFluid) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLiquidOutput(byte aSide) {
|
||||
//return super.isLiquidOutput(aSide);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
|
||||
if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && aTick % 10 == 0) {
|
||||
|
@ -191,7 +199,8 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
|
|||
} else {
|
||||
int tFuelValue = getFuelValue(mFluid), tConsumed = consumedFluidPerOperation(mFluid);
|
||||
if (tFuelValue > 0 && tConsumed > 0 && mFluid.amount > tConsumed) {
|
||||
long tFluidAmountToUse = Math.min(mFluid.amount / tConsumed, (maxEUStore() - aBaseMetaTileEntity.getUniversalEnergyStored()) / tFuelValue);
|
||||
//long tFluidAmountToUse = Math.min(mFluid.amount / tConsumed, (maxEUStore() - aBaseMetaTileEntity.getUniversalEnergyStored()) / tFuelValue);//TODO CHECK?
|
||||
long tFluidAmountToUse = Math.min(mFluid.amount / tConsumed, (maxEUOutput() * 20 + getMinimumStoredEU() - aBaseMetaTileEntity.getUniversalEnergyStored()) / tFuelValue);
|
||||
if (tFluidAmountToUse > 0 && aBaseMetaTileEntity.increaseStoredEnergyUnits(tFluidAmountToUse * tFuelValue, true)) {
|
||||
tProducedEU = tFluidAmountToUse * tFuelValue;
|
||||
mFluid.amount -= tFluidAmountToUse * tConsumed;
|
||||
|
@ -211,7 +220,7 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
|
|||
}
|
||||
if(tProducedEU>0&&getPollution()>0){
|
||||
GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()),
|
||||
(int) ((tProducedEU * getPollution()/(500*mTier))+1));
|
||||
(int) ((tProducedEU * getPollution()/(250*(mTier+1)))));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ import net.minecraft.item.ItemStack;
|
|||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.IFluidHandler;
|
||||
|
@ -199,12 +200,12 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
|
||||
@Override
|
||||
public long getMinimumStoredEU() {
|
||||
return V[mTier] * 16;
|
||||
return V[mTier] * 16L;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxEUStore() {
|
||||
return V[mTier] * 64;
|
||||
return V[mTier] * 64L;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -219,7 +220,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
|
||||
@Override
|
||||
public long maxAmperesIn() {
|
||||
return (mEUt * 2) / V[mTier] + 1;
|
||||
return ((long)mEUt * 2L) / V[mTier] + 1L;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -426,8 +427,8 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
endProcess();
|
||||
}
|
||||
if (mProgresstime > 5) mStuttering = false;
|
||||
XSTR aXSTR = new XSTR();
|
||||
if(GT_Mod.gregtechproxy.mAprilFool && aXSTR.nextInt(5000)==0)GT_Utility.sendSoundToPlayers(aBaseMetaTileEntity.getWorld(), GregTech_API.sSoundList.get(5), 10.0F, -1.0F, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(),aBaseMetaTileEntity.getZCoord());
|
||||
//XSTR aXSTR = new XSTR();
|
||||
//if(GT_Mod.gregtechproxy.mAprilFool && aXSTR.nextInt(5000)==0)GT_Utility.sendSoundToPlayers(aBaseMetaTileEntity.getWorld(), GregTech_API.sSoundList.get(5), 10.0F, -1.0F, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(),aBaseMetaTileEntity.getZCoord());
|
||||
} else {
|
||||
if (!mStuttering) {
|
||||
stutterProcess();
|
||||
|
@ -467,7 +468,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
|
||||
if (allowToCheckRecipe()) {
|
||||
if (mMaxProgresstime <= 0 && aBaseMetaTileEntity.isAllowedToWork() && (tRemovedOutputFluid || tSucceeded || aBaseMetaTileEntity.hasInventoryBeenModified() || aTick % 600 == 0 || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) && hasEnoughEnergyToCheckRecipe()) {
|
||||
if (checkRecipe() == 2) {
|
||||
if (checkRecipe() == FOUND_AND_SUCCESSFULLY_USED_RECIPE) {
|
||||
if (mInventory[3] != null && mInventory[3].stackSize <= 0) mInventory[3] = null;
|
||||
for (int i = getInputSlot(), j = i + mInputSlotCount; i < j; i++)
|
||||
if (mInventory[i] != null && mInventory[i].stackSize <= 0) mInventory[i] = null;
|
||||
|
@ -530,16 +531,46 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
calculateOverclockedNess(aRecipe.mEUt, aRecipe.mDuration);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcualtes overclocked ness using long integers
|
||||
* @param aEUt - recipe EUt
|
||||
* @param aDuration - recipe Duration
|
||||
*/
|
||||
protected void calculateOverclockedNess(int aEUt, int aDuration) {
|
||||
if (aEUt <= 16) {
|
||||
mEUt = aEUt * (1 << (mTier - 1)) * (1 << (mTier - 1));
|
||||
mMaxProgresstime = aDuration / (1 << (mTier - 1));
|
||||
} else {
|
||||
mEUt = aEUt;
|
||||
if(mTier==0){
|
||||
//Long time calculation
|
||||
long xMaxProgresstime = ((long)aDuration)<<1;
|
||||
if(xMaxProgresstime>Integer.MAX_VALUE-1){
|
||||
//make impossible if too long
|
||||
mEUt=Integer.MAX_VALUE-1;
|
||||
mMaxProgresstime=Integer.MAX_VALUE-1;
|
||||
}else{
|
||||
mEUt=aEUt>>2;
|
||||
mMaxProgresstime=(int)xMaxProgresstime;
|
||||
}
|
||||
}else{
|
||||
//Long EUt calculation
|
||||
long xEUt=aEUt;
|
||||
//Isnt too low EUt check?
|
||||
long tempEUt = xEUt<V[1] ? V[1] : xEUt;
|
||||
|
||||
mMaxProgresstime = aDuration;
|
||||
while (mEUt <= V[mTier - 1] * mAmperage) {
|
||||
mEUt *= 4;
|
||||
mMaxProgresstime /= 2;
|
||||
|
||||
while (tempEUt <= V[mTier -1] * (long)mAmperage) {
|
||||
tempEUt<<=2;//this actually controls overclocking
|
||||
//xEUt *= 4;//this is effect of everclocking
|
||||
mMaxProgresstime>>=1;//this is effect of overclocking
|
||||
xEUt = mMaxProgresstime==0 ? xEUt>>1 : xEUt<<2;//U know, if the time is less than 1 tick make the machine use 2x less power
|
||||
}
|
||||
if(xEUt>Integer.MAX_VALUE-1){
|
||||
mEUt = Integer.MAX_VALUE-1;
|
||||
mMaxProgresstime = Integer.MAX_VALUE-1;
|
||||
}else{
|
||||
mEUt = (int)xEUt;
|
||||
if(mEUt==0)
|
||||
mEUt = 1;
|
||||
if(mMaxProgresstime==0)
|
||||
mMaxProgresstime = 1;//set time to 1 tick
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -675,12 +706,17 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
@Override
|
||||
public String[] getInfoData() {
|
||||
return new String[]{
|
||||
mNEIName,
|
||||
"Progress:", (mProgresstime / 20) + " secs",
|
||||
(mMaxProgresstime / 20) + " secs",
|
||||
EnumChatFormatting.BLUE + mNEIName + EnumChatFormatting.RESET,
|
||||
"Progress:",
|
||||
EnumChatFormatting.GREEN + Integer.toString(mProgresstime/20) + EnumChatFormatting.RESET +" s / "+
|
||||
EnumChatFormatting.YELLOW + Integer.toString(mMaxProgresstime/20) + EnumChatFormatting.RESET +" s",
|
||||
"Stored Energy:",
|
||||
getBaseMetaTileEntity().getStoredEU() + "EU",
|
||||
getBaseMetaTileEntity().getEUCapacity() + "EU"};
|
||||
EnumChatFormatting.GREEN + Long.toString(getBaseMetaTileEntity().getStoredEU()) + EnumChatFormatting.RESET +" EU / "+
|
||||
EnumChatFormatting.YELLOW + Long.toString(getBaseMetaTileEntity().getEUCapacity()) + EnumChatFormatting.RESET +" EU",
|
||||
"Probably uses: " +
|
||||
EnumChatFormatting.RED + Integer.toString(mEUt) + EnumChatFormatting.RESET + " EU/t at " +
|
||||
EnumChatFormatting.RED + Integer.toString(mEUt==0?0:mAmperage) + EnumChatFormatting.RESET +" A"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -732,6 +768,15 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
* @return see constants above
|
||||
*/
|
||||
public int checkRecipe() {
|
||||
return checkRecipe(false);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param skipOC disables OverclockedNess calculation and check - if you do you must implement your own method...
|
||||
* @return
|
||||
*/
|
||||
public int checkRecipe(boolean skipOC){
|
||||
GT_Recipe_Map tMap = getRecipeList();
|
||||
if (tMap == null) return DID_NOT_FIND_RECIPE;
|
||||
GT_Recipe tRecipe = tMap.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, V[mTier], new FluidStack[]{getFillableStack()}, getSpecialSlot(), getAllInputs());
|
||||
|
@ -754,7 +799,12 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
if (mOutputItems[i] != null && getBaseMetaTileEntity().getRandomNumber(10000) > mCleanroom.mEfficiency)
|
||||
mOutputItems[i] = null;
|
||||
mOutputFluid = tRecipe.getFluidOutput(0);
|
||||
calculateOverclockedNess(tRecipe);
|
||||
if(!skipOC){
|
||||
calculateOverclockedNess(tRecipe);
|
||||
//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;
|
||||
}
|
||||
return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
|
||||
}
|
||||
|
||||
|
@ -813,4 +863,4 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
|
|||
public ITexture[] getSideFacingPipeInactive(byte aColor) {
|
||||
return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,6 +46,8 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
|
|||
mGUIParameterA = (byte) aGUIParameterA;
|
||||
mGUIParameterB = (byte) aGUIParameterB;
|
||||
|
||||
|
||||
//TODO: CHECK
|
||||
if (aRecipe != null) {
|
||||
for (int i = 3; i < aRecipe.length; i++) {
|
||||
if (aRecipe[i] == X.CIRCUIT) {
|
||||
|
@ -74,6 +76,13 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
|
|||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
aRecipe[i] = Ic2Items.reinforcedGlass;
|
||||
break;
|
||||
default:
|
||||
|
@ -111,7 +120,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
|
|||
aRecipe[i] = OrePrefixes.plate.get(Materials.Neutronium);
|
||||
break;
|
||||
default:
|
||||
aRecipe[i] = OrePrefixes.plate.get(Materials.TungstenSteel);
|
||||
aRecipe[i] = OrePrefixes.plate.get(Materials.Neutronium);
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
|
@ -145,7 +154,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
|
|||
aRecipe[i] = OrePrefixes.pipeLarge.get(Materials.Ultimate);
|
||||
break;
|
||||
default:
|
||||
aRecipe[i] = OrePrefixes.pipeMedium.get(Materials.TungstenSteel);
|
||||
aRecipe[i] = OrePrefixes.pipeMedium.get(Materials.Ultimate);
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
|
@ -179,7 +188,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
|
|||
aRecipe[i] = OrePrefixes.wireGt02.get(Materials.NaquadahAlloy);
|
||||
break;
|
||||
default:
|
||||
aRecipe[i] = OrePrefixes.wireGt08.get(Materials.Nichrome);
|
||||
aRecipe[i] = OrePrefixes.wireGt08.get(Materials.NaquadahAlloy);
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
|
@ -213,7 +222,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
|
|||
aRecipe[i] = OrePrefixes.wireGt04.get(Materials.NaquadahAlloy);
|
||||
break;
|
||||
default:
|
||||
aRecipe[i] = OrePrefixes.wireGt16.get(Materials.Nichrome);
|
||||
aRecipe[i] = OrePrefixes.wireGt16.get(Materials.NaquadahAlloy);
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
|
@ -244,10 +253,10 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
|
|||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
aRecipe[i] = OrePrefixes.stickLong.get(Materials.NeodymiumMagnetic);
|
||||
aRecipe[i] = OrePrefixes.stickLong.get(Materials.Samarium);
|
||||
break;
|
||||
default:
|
||||
aRecipe[i] = OrePrefixes.block.get(Materials.NeodymiumMagnetic);
|
||||
aRecipe[i] = OrePrefixes.block.get(Materials.Samarium);
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
|
@ -687,5 +696,5 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
|
|||
return !mSharedTank;
|
||||
}
|
||||
|
||||
public static enum X {PUMP, WIRE, WIRE4, HULL, PIPE, GLASS, PLATE, MOTOR, ROTOR, SENSOR, PISTON, CIRCUIT, EMITTER, CONVEYOR, ROBOT_ARM, COIL_HEATING, COIL_ELECTRIC, STICK_MAGNETIC, STICK_DISTILLATION, BETTER_CIRCUIT, FIELD_GENERATOR, COIL_HEATING_DOUBLE, STICK_ELECTROMAGNETIC;}
|
||||
public static enum X {PUMP, WIRE, WIRE4, HULL, PIPE, GLASS, PLATE, MOTOR, ROTOR, SENSOR, PISTON, CIRCUIT, EMITTER, CONVEYOR, ROBOT_ARM, COIL_HEATING, COIL_ELECTRIC, STICK_MAGNETIC, STICK_DISTILLATION, BETTER_CIRCUIT, FIELD_GENERATOR, COIL_HEATING_DOUBLE, STICK_ELECTROMAGNETIC}
|
||||
}
|
||||
|
|
|
@ -137,12 +137,12 @@ public abstract class GT_MetaTileEntity_Buffer extends GT_MetaTileEntity_TieredM
|
|||
|
||||
@Override
|
||||
public long getMinimumStoredEU() {
|
||||
return 512;
|
||||
return 512L;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxEUStore() {
|
||||
return 512 + V[mTier] * 50;
|
||||
return 512L + V[mTier] * 50L;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -152,7 +152,7 @@ public abstract class GT_MetaTileEntity_Buffer extends GT_MetaTileEntity_TieredM
|
|||
|
||||
@Override
|
||||
public long maxEUOutput() {
|
||||
return bOutput ? V[mTier] : 0;
|
||||
return bOutput ? V[mTier] : 0L;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -70,7 +70,7 @@ public class GT_MetaTileEntity_Hatch_Dynamo extends GT_MetaTileEntity_Hatch {
|
|||
|
||||
@Override
|
||||
public long maxEUStore() {
|
||||
return 512 + V[mTier + 1] * 2;
|
||||
return 512L + V[mTier + 1] * 2L;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -70,7 +70,7 @@ public class GT_MetaTileEntity_Hatch_Energy extends GT_MetaTileEntity_Hatch {
|
|||
|
||||
@Override
|
||||
public long maxEUStore() {
|
||||
return 512 + V[mTier] * 8;
|
||||
return 512L + V[mTier] * 8L;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -15,7 +15,7 @@ public class GT_MetaTileEntity_Hatch_Input extends GT_MetaTileEntity_Hatch {
|
|||
public GT_Recipe_Map mRecipeMap = null;
|
||||
|
||||
public GT_MetaTileEntity_Hatch_Input(int aID, String aName, String aNameRegional, int aTier) {
|
||||
super(aID, aName, aNameRegional, aTier, 3, "Fluid Input for Multiblocks (" + 8000 * (aTier + 1) + "L)");
|
||||
super(aID, aName, aNameRegional, aTier, 3, "Fluid Input for Multiblocks (" + (8000+8000*(aTier*(aTier+1)>>1)) + "L)");
|
||||
}
|
||||
|
||||
public GT_MetaTileEntity_Hatch_Input(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
|
||||
|
@ -61,7 +61,8 @@ public class GT_MetaTileEntity_Hatch_Input extends GT_MetaTileEntity_Hatch {
|
|||
|
||||
@Override
|
||||
public boolean doesFillContainers() {
|
||||
return true;
|
||||
//return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -111,7 +112,7 @@ public class GT_MetaTileEntity_Hatch_Input extends GT_MetaTileEntity_Hatch {
|
|||
|
||||
@Override
|
||||
public int getCapacity() {
|
||||
return 8000 * (mTier + 1);
|
||||
return 8000+8000*(mTier*(mTier+1)>>1);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -48,17 +48,19 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
|
|||
|
||||
@Override
|
||||
public String[] getDescription() {
|
||||
if(mAuto)return new String[]{mDescription,"4 Ducttape, 2 Lubricant Cells","4 Steel Screws, 2 Adv Circuits","For each autorepair"};
|
||||
if(mAuto)return new String[]{mDescription, "4 Duct tape, 2 Lubricant Cells","4 Steel Screws, 2 Adv. Circuits","For each auto-repair"};
|
||||
return new String[]{mDescription, "Cannot be shared between Multiblocks!"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
|
||||
if(mAuto)return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_AUTOMAINTENANCE_IDLE)};
|
||||
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_MAINTENANCE)};
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
|
||||
if(mAuto)return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_AUTOMAINTENANCE)};
|
||||
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_MAINTENANCE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_DUCTTAPE)};
|
||||
}
|
||||
|
||||
|
@ -111,56 +113,66 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
|
|||
if(mAuto) return new GT_GUIContainer_2by2(aPlayerInventory, aBaseMetaTileEntity, getLocalName());
|
||||
return new GT_GUIContainer_MaintenanceHatch(aPlayerInventory, aBaseMetaTileEntity);
|
||||
}
|
||||
|
||||
public boolean autoMaintainance() {
|
||||
boolean tSuccess = true;
|
||||
ItemStack[] mInputs = new ItemStack[]{ItemList.Duct_Tape.get(4, new Object[]{}),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Lubricant, 2),GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4),GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2)};
|
||||
List<ItemStack> aInputs = Arrays.asList(mInventory);
|
||||
if (mInputs.length > 0 && aInputs == null) tSuccess = false;
|
||||
int amt = 0;
|
||||
for (ItemStack tStack : mInputs) {
|
||||
if (tStack != null) {
|
||||
amt = tStack.stackSize;
|
||||
boolean temp = true;
|
||||
for (ItemStack aStack : aInputs) {
|
||||
if ((GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true))) {
|
||||
|
||||
@Override
|
||||
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
|
||||
super.onPostTick(aBaseMetaTileEntity, aTick);
|
||||
if(aBaseMetaTileEntity.isServerSide() && mAuto && aTick % 100L ==0L){
|
||||
aBaseMetaTileEntity.setActive(!isRecipeInputEqual(false));
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isRecipeInputEqual(boolean aDecreaseStacksizeBySuccess) {
|
||||
ItemStack[] mInputs=new ItemStack[]{ItemList.Duct_Tape.get(4, new Object[]{}),
|
||||
GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Lubricant, 2),
|
||||
GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4),
|
||||
GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2)};
|
||||
|
||||
int amt;
|
||||
|
||||
for (ItemStack tStack : mInputs) {
|
||||
if (tStack != null) {
|
||||
amt = tStack.stackSize;
|
||||
boolean temp = true;
|
||||
for (ItemStack aStack : mInventory) {
|
||||
if ((GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true))) {
|
||||
amt -= aStack.stackSize;
|
||||
if (amt < 1) {
|
||||
temp = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (temp) return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (aDecreaseStacksizeBySuccess) {
|
||||
for (ItemStack tStack : mInputs) {
|
||||
if (tStack != null) {
|
||||
amt = tStack.stackSize;
|
||||
for (ItemStack aStack : mInventory) {
|
||||
if ((GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true))) {
|
||||
if (aStack.stackSize < amt){
|
||||
amt -= aStack.stackSize;
|
||||
if (amt < 1) {
|
||||
temp = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (temp) tSuccess = false;
|
||||
}
|
||||
}
|
||||
if(tSuccess){
|
||||
for (ItemStack tStack : mInputs) {
|
||||
if (tStack != null) {
|
||||
amt = tStack.stackSize;
|
||||
for (ItemStack aStack : aInputs) {
|
||||
if ((GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true))) {
|
||||
if (aStack.stackSize < amt){
|
||||
amt -= aStack.stackSize;
|
||||
aStack.stackSize = 0;
|
||||
}else{
|
||||
aStack.stackSize -= amt;
|
||||
amt = 0;
|
||||
break;
|
||||
}
|
||||
aStack.stackSize = 0;
|
||||
}else{
|
||||
aStack.stackSize -= amt;
|
||||
amt = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mCrowbar = true;
|
||||
this.mHardHammer = true;
|
||||
this.mScrewdriver = true;
|
||||
this.mSoftHammer = true;
|
||||
this.mSolderingTool = true;
|
||||
this.mWrench = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
this.mCrowbar = true;
|
||||
this.mHardHammer = true;
|
||||
this.mScrewdriver = true;
|
||||
this.mSoftHammer = true;
|
||||
this.mSolderingTool = true;
|
||||
this.mWrench = true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void onToolClick(ItemStack aStack, EntityLivingBase aPlayer) {
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
package gregtech.api.metatileentity.implementations;
|
||||
|
||||
import gregtech.GT_Mod;
|
||||
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.objects.XSTR;
|
||||
import gregtech.common.GT_Pollution;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.ChunkPosition;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class GT_MetaTileEntity_Hatch_Muffler extends GT_MetaTileEntity_Hatch {
|
||||
public GT_MetaTileEntity_Hatch_Muffler(int aID, String aName, String aNameRegional, int aTier) {
|
||||
super(aID, aName, aNameRegional, aTier, 0, "Outputs the Pollution (Might cause acidic rains and poisoning)");
|
||||
super(aID, aName, aNameRegional, aTier, 0, "Outputs the Pollution (Might cause ... things)");
|
||||
}
|
||||
|
||||
public GT_MetaTileEntity_Hatch_Muffler(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
|
||||
|
@ -68,7 +72,7 @@ public class GT_MetaTileEntity_Hatch_Muffler extends GT_MetaTileEntity_Hatch {
|
|||
}
|
||||
|
||||
public int calculatePollutionReduction(int aPollution){
|
||||
return (int) (aPollution *(Math.pow(0.7, mTier-1)));
|
||||
return (int) (aPollution *(Math.pow(0.85F, mTier-1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -80,4 +84,57 @@ public class GT_MetaTileEntity_Hatch_Muffler extends GT_MetaTileEntity_Hatch {
|
|||
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
|
||||
super.onPostTick(aBaseMetaTileEntity, aTick);
|
||||
if(aBaseMetaTileEntity.isClientSide() && this.getBaseMetaTileEntity().isActive())
|
||||
pollutionParticles(this.getBaseMetaTileEntity().getWorld(),"largesmoke");
|
||||
}
|
||||
|
||||
private static XSTR floatGen=new XSTR();
|
||||
|
||||
public void pollutionParticles(World aWorld,String name){
|
||||
boolean chk1,chk2,chk3;
|
||||
float ran1=floatGen.nextFloat(),ran2=0,ran3=0;
|
||||
chk1=ran1*100<calculatePollutionReduction(100);
|
||||
if(GT_Pollution.getPollutionAtCoords(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getZCoord())>= GT_Mod.gregtechproxy.mPollutionSmogLimit){
|
||||
ran2=floatGen.nextFloat();
|
||||
ran3=floatGen.nextFloat();
|
||||
chk2=ran2*100<calculatePollutionReduction(100);
|
||||
chk3=ran3*100<calculatePollutionReduction(100);
|
||||
if(!(chk1||chk2||chk3))return;
|
||||
}else{
|
||||
if(!chk1)return;
|
||||
chk2=chk3=false;
|
||||
}
|
||||
|
||||
IGregTechTileEntity aMuffler=this.getBaseMetaTileEntity();
|
||||
ForgeDirection aDir=ForgeDirection.getOrientation(aMuffler.getFrontFacing());
|
||||
float xPos=aDir.offsetX*0.76F+aMuffler.getXCoord()+0.25F;
|
||||
float yPos=aDir.offsetY*0.76F+aMuffler.getYCoord()+0.25F;
|
||||
float zPos=aDir.offsetZ*0.76F+aMuffler.getZCoord()+0.25F;
|
||||
|
||||
float ySpd=aDir.offsetY*0.1F+0.2F+0.1F*floatGen.nextFloat();
|
||||
float xSpd;
|
||||
float zSpd;
|
||||
|
||||
if(aDir.offsetY==-1){
|
||||
float temp=floatGen.nextFloat()*2*(float)Math.PI;
|
||||
xSpd=(float)Math.sin(temp)*0.1F;
|
||||
zSpd=(float)Math.cos(temp)*0.1F;
|
||||
}else{
|
||||
xSpd=aDir.offsetX*(0.1F+0.2F*floatGen.nextFloat());
|
||||
zSpd=aDir.offsetZ*(0.1F+0.2F*floatGen.nextFloat());
|
||||
}
|
||||
|
||||
if(chk1)
|
||||
aWorld.spawnParticle(name, xPos + ran1*0.5F, yPos + floatGen.nextFloat()*0.5F, zPos + floatGen.nextFloat()*0.5F, xSpd, ySpd, zSpd);
|
||||
|
||||
if(chk2)
|
||||
aWorld.spawnParticle(name, xPos + ran2*0.5F, yPos + floatGen.nextFloat()*0.5F, zPos + floatGen.nextFloat()*0.5F, xSpd, ySpd, zSpd);
|
||||
|
||||
if(chk3)
|
||||
aWorld.spawnParticle(name, xPos + ran3*0.5F, yPos + floatGen.nextFloat()*0.5F, zPos + floatGen.nextFloat()*0.5F, xSpd, ySpd, zSpd);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ public class GT_MetaTileEntity_Hatch_Output extends GT_MetaTileEntity_Hatch {
|
|||
public byte mMode = 0;
|
||||
|
||||
public GT_MetaTileEntity_Hatch_Output(int aID, String aName, String aNameRegional, int aTier) {
|
||||
super(aID, aName, aNameRegional, aTier, 3, "Fluid Output for Multiblocks (" + 8000 * (aTier + 1) + "L) (Screwdriver for output type)");
|
||||
super(aID, aName, aNameRegional, aTier, 3, "Fluid Output for Multiblocks (" + (8000+8000*(aTier*(aTier+1)>>1)) + "L) (Screwdriver for output type)");
|
||||
}
|
||||
|
||||
public GT_MetaTileEntity_Hatch_Output(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
|
||||
|
@ -106,7 +106,7 @@ public class GT_MetaTileEntity_Hatch_Output extends GT_MetaTileEntity_Hatch {
|
|||
|
||||
@Override
|
||||
public boolean doesEmptyContainers() {
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -141,7 +141,7 @@ public class GT_MetaTileEntity_Hatch_Output extends GT_MetaTileEntity_Hatch {
|
|||
|
||||
@Override
|
||||
public int getCapacity() {
|
||||
return 8000 * (mTier + 1);
|
||||
return 8000+8000*(mTier*(mTier+1)>>1);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -84,8 +84,6 @@ public class GT_MetaTileEntity_Hatch_OutputBus extends GT_MetaTileEntity_Hatch {
|
|||
return new GT_GUIContainer_2by2(aPlayerInventory, aBaseMetaTileEntity, "Output Bus");
|
||||
case 2:
|
||||
return new GT_GUIContainer_3by3(aPlayerInventory, aBaseMetaTileEntity, "Output Bus");
|
||||
case 3:
|
||||
return new GT_GUIContainer_4by4(aPlayerInventory, aBaseMetaTileEntity, "Output Bus");
|
||||
default:
|
||||
return new GT_GUIContainer_4by4(aPlayerInventory, aBaseMetaTileEntity, "Output Bus");
|
||||
}
|
||||
|
|
|
@ -16,11 +16,14 @@ import gregtech.api.util.GT_ModHandler;
|
|||
import gregtech.api.util.GT_OreDictUnificator;
|
||||
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.GT_Pollution;
|
||||
import gregtech.common.items.GT_MetaGenerated_Tool_01;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.ChunkPosition;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -221,29 +224,29 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
if (mMachine) {
|
||||
for (GT_MetaTileEntity_Hatch_Maintenance tHatch : mMaintenanceHatches) {
|
||||
if (isValidMetaTileEntity(tHatch)) {
|
||||
if (!this.disableMaintenance) {
|
||||
if(tHatch.mAuto && (!mWrench||!mScrewdriver||!mSoftHammer||!mHardHammer||!mSolderingTool||!mCrowbar))tHatch.autoMaintainance();
|
||||
if (tHatch.mWrench) mWrench = true;
|
||||
if (tHatch.mScrewdriver) mScrewdriver = true;
|
||||
if (tHatch.mSoftHammer) mSoftHammer = true;
|
||||
if (tHatch.mHardHammer) mHardHammer = true;
|
||||
if (tHatch.mSolderingTool) mSolderingTool = true;
|
||||
if (tHatch.mCrowbar) mCrowbar = true;
|
||||
} else {
|
||||
if (disableMaintenance){
|
||||
mWrench = true;
|
||||
mScrewdriver = true;
|
||||
mSoftHammer = true;
|
||||
mHardHammer = true;
|
||||
mSolderingTool = true;
|
||||
mCrowbar = true;
|
||||
}
|
||||
} else {
|
||||
if (tHatch.mAuto && !(mWrench&&mScrewdriver&&mSoftHammer&&mHardHammer&&mSolderingTool&&mCrowbar))tHatch.isRecipeInputEqual(true);
|
||||
if (tHatch.mWrench) mWrench = true;
|
||||
if (tHatch.mScrewdriver) mScrewdriver = true;
|
||||
if (tHatch.mSoftHammer) mSoftHammer = true;
|
||||
if (tHatch.mHardHammer) mHardHammer = true;
|
||||
if (tHatch.mSolderingTool) mSolderingTool = true;
|
||||
if (tHatch.mCrowbar) mCrowbar = true;
|
||||
|
||||
tHatch.mWrench = false;
|
||||
tHatch.mScrewdriver = false;
|
||||
tHatch.mSoftHammer = false;
|
||||
tHatch.mHardHammer = false;
|
||||
tHatch.mSolderingTool = false;
|
||||
tHatch.mCrowbar = false;
|
||||
tHatch.mWrench = false;
|
||||
tHatch.mScrewdriver = false;
|
||||
tHatch.mSoftHammer = false;
|
||||
tHatch.mHardHammer = false;
|
||||
tHatch.mSolderingTool = false;
|
||||
tHatch.mCrowbar = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (getRepairStatus() > 0) {
|
||||
|
@ -300,6 +303,9 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
}
|
||||
aBaseMetaTileEntity.setErrorDisplayID((aBaseMetaTileEntity.getErrorDisplayID() & ~127) | (mWrench ? 0 : 1) | (mScrewdriver ? 0 : 2) | (mSoftHammer ? 0 : 4) | (mHardHammer ? 0 : 8) | (mSolderingTool ? 0 : 16) | (mCrowbar ? 0 : 32) | (mMachine ? 0 : 64));
|
||||
aBaseMetaTileEntity.setActive(mMaxProgresstime > 0);
|
||||
boolean active=aBaseMetaTileEntity.isActive() && mPollution>0;
|
||||
for(GT_MetaTileEntity_Hatch_Muffler aMuffler:mMufflerHatches)
|
||||
aMuffler.getBaseMetaTileEntity().setActive(active);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -366,6 +372,13 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
*/
|
||||
public abstract int getDamageToComponent(ItemStack aStack);
|
||||
|
||||
/**
|
||||
* Gets the Amount of possibly outputted Items for loading the Output Stack Array from NBT.
|
||||
* This should be the largest Amount that can ever happen legitimately.
|
||||
*/
|
||||
@Override
|
||||
public int getAmountOfOutputs(){return -1;}
|
||||
|
||||
/**
|
||||
* If it explodes when the Component has to be replaced.
|
||||
*/
|
||||
|
@ -477,7 +490,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
|
||||
}
|
||||
}
|
||||
((GT_MetaGenerated_Tool) mInventory[1].getItem()).doDamage(mInventory[1], (long) Math.min(mEUt / this.damageFactorLow, Math.pow(mEUt, this.damageFactorHigh)));
|
||||
((GT_MetaGenerated_Tool) mInventory[1].getItem()).doDamage(mInventory[1], (long)getDamageToComponent(mInventory[1]) * (long) Math.min(mEUt / this.damageFactorLow, Math.pow(mEUt, this.damageFactorHigh)));
|
||||
if (mInventory[1].stackSize == 0) mInventory[1] = null;
|
||||
}
|
||||
}
|
||||
|
@ -486,6 +499,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
}
|
||||
|
||||
public void explodeMultiblock() {
|
||||
GT_Pollution.addPollution(new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 300000);
|
||||
mInventory[1] = null;
|
||||
for (MetaTileEntity tTileEntity : mInputBusses) tTileEntity.getBaseMetaTileEntity().doExplosion(V[8]);
|
||||
for (MetaTileEntity tTileEntity : mOutputBusses) tTileEntity.getBaseMetaTileEntity().doExplosion(V[8]);
|
||||
|
@ -517,6 +531,52 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
return rVoltage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcualtes overclocked ness using long integers
|
||||
* @param aEUt - recipe EUt
|
||||
* @param aDuration - recipe Duration
|
||||
* @param mAmperage - should be 1 ?
|
||||
*/
|
||||
protected void calculateOverclockedNessMulti(int aEUt, int aDuration, int mAmperage, long maxInputVoltage) {
|
||||
byte mTier=(byte)Math.max(0,GT_Utility.getTier(maxInputVoltage));
|
||||
if(mTier==0){
|
||||
//Long time calculation
|
||||
long xMaxProgresstime = ((long)aDuration)<<1;
|
||||
if(xMaxProgresstime>Integer.MAX_VALUE-1){
|
||||
//make impossible if too long
|
||||
mEUt=Integer.MAX_VALUE-1;
|
||||
mMaxProgresstime=Integer.MAX_VALUE-1;
|
||||
}else{
|
||||
mEUt=aEUt>>2;
|
||||
mMaxProgresstime=(int)xMaxProgresstime;
|
||||
}
|
||||
}else{
|
||||
//Long EUt calculation
|
||||
long xEUt=aEUt;
|
||||
//Isnt too low EUt check?
|
||||
long tempEUt = xEUt<V[1] ? V[1] : xEUt;
|
||||
|
||||
mMaxProgresstime = aDuration;
|
||||
|
||||
while (tempEUt <= V[mTier -1] * mAmperage) {
|
||||
tempEUt<<=2;//this actually controls overclocking
|
||||
//xEUt *= 4;//this is effect of everclocking
|
||||
mMaxProgresstime>>=1;//this is effect of overclocking
|
||||
xEUt = mMaxProgresstime==0 ? xEUt>>1 : xEUt<<2;//U know, if the time is less than 1 tick make the machine use less power
|
||||
}
|
||||
if(xEUt>Integer.MAX_VALUE-1){
|
||||
mEUt = Integer.MAX_VALUE-1;
|
||||
mMaxProgresstime = Integer.MAX_VALUE-1;
|
||||
}else{
|
||||
mEUt = (int)xEUt;
|
||||
if(mEUt==0)
|
||||
mEUt = 1;
|
||||
if(mMaxProgresstime==0)
|
||||
mMaxProgresstime = 1;//set time to 1 tick
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean drainEnergyInput(long aEU) {
|
||||
if (aEU <= 0) return true;
|
||||
for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches)
|
||||
|
@ -637,11 +697,11 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
|
||||
public ArrayList<ItemStack> getStoredOutputs() {
|
||||
ArrayList<ItemStack> rList = new ArrayList<ItemStack>();
|
||||
for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) {
|
||||
if (isValidMetaTileEntity(tHatch)) {
|
||||
rList.add(tHatch.getBaseMetaTileEntity().getStackInSlot(1));
|
||||
}
|
||||
}
|
||||
//for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) {
|
||||
// if (isValidMetaTileEntity(tHatch)) {
|
||||
// rList.add(tHatch.getBaseMetaTileEntity().getStackInSlot(1));
|
||||
// }
|
||||
//}
|
||||
for (GT_MetaTileEntity_Hatch_OutputBus tHatch : mOutputBusses) {
|
||||
if (isValidMetaTileEntity(tHatch)) {
|
||||
for (int i = tHatch.getBaseMetaTileEntity().getSizeInventory() - 1; i >= 0; i--) {
|
||||
|
@ -665,12 +725,12 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
|
||||
public ArrayList<ItemStack> getStoredInputs() {
|
||||
ArrayList<ItemStack> rList = new ArrayList<ItemStack>();
|
||||
for (GT_MetaTileEntity_Hatch_Input tHatch : mInputHatches) {
|
||||
tHatch.mRecipeMap = getRecipeMap();
|
||||
if (isValidMetaTileEntity(tHatch) && tHatch.getBaseMetaTileEntity().getStackInSlot(0) != null) {
|
||||
rList.add(tHatch.getBaseMetaTileEntity().getStackInSlot(0));
|
||||
}
|
||||
}
|
||||
//for (GT_MetaTileEntity_Hatch_Input tHatch : mInputHatches) {
|
||||
// tHatch.mRecipeMap = getRecipeMap();
|
||||
// if (isValidMetaTileEntity(tHatch) && tHatch.getBaseMetaTileEntity().getStackInSlot(0) != null) {
|
||||
// rList.add(tHatch.getBaseMetaTileEntity().getStackInSlot(0));
|
||||
// }
|
||||
//}
|
||||
for (GT_MetaTileEntity_Hatch_InputBus tHatch : mInputBusses) {
|
||||
tHatch.mRecipeMap = getRecipeMap();
|
||||
if (isValidMetaTileEntity(tHatch)) {
|
||||
|
@ -799,7 +859,39 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
|
||||
@Override
|
||||
public String[] getInfoData() {
|
||||
return new String[]{"Progress:", (mProgresstime / 20) + "secs", (mMaxProgresstime / 20) + "secs", "Efficiency:", (mEfficiency / 100.0F) + "%", "Problems:", String.valueOf((getIdealStatus() - getRepairStatus()))};
|
||||
int mPollutionReduction=0;
|
||||
for (GT_MetaTileEntity_Hatch_Muffler tHatch : mMufflerHatches) {
|
||||
if (isValidMetaTileEntity(tHatch)) {
|
||||
mPollutionReduction=Math.max(tHatch.calculatePollutionReduction(100),mPollutionReduction);
|
||||
}
|
||||
}
|
||||
|
||||
long storedEnergy=0;
|
||||
long maxEnergy=0;
|
||||
for(GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) {
|
||||
if (isValidMetaTileEntity(tHatch)) {
|
||||
storedEnergy+=tHatch.getBaseMetaTileEntity().getStoredEU();
|
||||
maxEnergy+=tHatch.getBaseMetaTileEntity().getEUCapacity();
|
||||
}
|
||||
}
|
||||
|
||||
return new String[]{
|
||||
"Progress:",
|
||||
EnumChatFormatting.GREEN + Integer.toString(mProgresstime/20) + EnumChatFormatting.RESET +" s / "+
|
||||
EnumChatFormatting.YELLOW + Integer.toString(mMaxProgresstime/20) + EnumChatFormatting.RESET +" s",
|
||||
"Stored Energy:",
|
||||
EnumChatFormatting.GREEN + Long.toString(storedEnergy) + EnumChatFormatting.RESET +" EU / "+
|
||||
EnumChatFormatting.YELLOW + Long.toString(maxEnergy) + EnumChatFormatting.RESET +" EU",
|
||||
"Probably uses: "+
|
||||
EnumChatFormatting.RED + Integer.toString(-mEUt) + EnumChatFormatting.RESET + " EU/t",
|
||||
"Maximum total power (to all Energy Hatches, not single ones): ",
|
||||
EnumChatFormatting.YELLOW+Long.toString(getMaxInputVoltage())+EnumChatFormatting.RESET+ " EU/t * 2A",
|
||||
"Problems: "+
|
||||
EnumChatFormatting.RED+ (getIdealStatus() - getRepairStatus())+EnumChatFormatting.RESET+
|
||||
" Efficiency: "+
|
||||
EnumChatFormatting.YELLOW+Float.toString(mEfficiency / 100.0F)+EnumChatFormatting.RESET + " %",
|
||||
"Pollution reduced to: "+ EnumChatFormatting.GREEN + mPollutionReduction+ EnumChatFormatting.RESET+" %"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -8,6 +8,7 @@ import static gregtech.api.enums.GT_Values.GT;
|
|||
public abstract class GT_MetaTileEntity_TieredMachineBlock extends MetaTileEntity {
|
||||
/**
|
||||
* Value between [0 - 9] to describe the Tier of this Machine.
|
||||
* PLZ [0-15] works - READ! GT_Values class.
|
||||
*/
|
||||
public final byte mTier;
|
||||
|
||||
|
@ -23,7 +24,7 @@ public abstract class GT_MetaTileEntity_TieredMachineBlock extends MetaTileEntit
|
|||
|
||||
public GT_MetaTileEntity_TieredMachineBlock(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String aDescription, ITexture... aTextures) {
|
||||
super(aID, aName, aNameRegional, aInvSlotCount);
|
||||
mTier = (byte) Math.max(0, Math.min(aTier, 9));
|
||||
mTier = (byte) Math.max(0, Math.min(aTier, 15));
|
||||
mDescription = aDescription;
|
||||
|
||||
// must always be the last call!
|
||||
|
|
|
@ -113,27 +113,27 @@ public class GT_MetaTileEntity_Transformer extends GT_MetaTileEntity_TieredMachi
|
|||
|
||||
@Override
|
||||
public long maxEUStore() {
|
||||
return 512 + V[mTier + 1] * 2;
|
||||
return 512L + V[mTier + 1] * 2L;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxEUInput() {
|
||||
return V[getBaseMetaTileEntity().isAllowedToWork() ? mTier + 1 : mTier];
|
||||
return V[getBaseMetaTileEntity().isActive() ? mTier + 1 : mTier];
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxEUOutput() {
|
||||
return V[getBaseMetaTileEntity().isAllowedToWork() ? mTier : mTier + 1];
|
||||
return V[getBaseMetaTileEntity().isActive() ? mTier : mTier + 1];
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxAmperesOut() {
|
||||
return getBaseMetaTileEntity().isAllowedToWork() ? V[mTier + 1] / V[mTier] : 1;
|
||||
return getBaseMetaTileEntity().isActive() ? (V[mTier + 1] / V[mTier] < 4 ? 4 : V[mTier + 1] / V[mTier]) : 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long maxAmperesIn() {
|
||||
return getBaseMetaTileEntity().isAllowedToWork() ? 1 : V[mTier + 1] / V[mTier];
|
||||
return getBaseMetaTileEntity().isActive() ? 1 : (V[mTier + 1] / V[mTier] < 4 ? 4 : V[mTier + 1] / V[mTier]);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -151,22 +151,22 @@ public class GT_MetaTileEntity_Transformer extends GT_MetaTileEntity_TieredMachi
|
|||
((IEnergySource) tTileEntity).drawEnergy(tEU);
|
||||
aBaseMetaTileEntity.injectEnergyUnits((byte) 6, tEU, 1);
|
||||
} else if (GregTech_API.mInputRF && tTileEntity instanceof IEnergyProvider && ((IEnergyProvider) tTileEntity).extractEnergy(ForgeDirection.getOrientation(GT_Utility.getOppositeSide(i)), 1, true) == 1) {
|
||||
long tEU = (long) ((IEnergyProvider) tTileEntity).extractEnergy(ForgeDirection.getOrientation(GT_Utility.getOppositeSide(i)), (int) maxEUInput() * 100 / GregTech_API.mRFtoEU, false);
|
||||
long tEU = (long) ((IEnergyProvider) tTileEntity).extractEnergy(ForgeDirection.getOrientation(GT_Utility.getOppositeSide(i)), GT_Utility.safeInt(maxEUInput() * 100L / GregTech_API.mRFtoEU), false);
|
||||
tEU = tEU * GregTech_API.mRFtoEU / 100;
|
||||
aBaseMetaTileEntity.injectEnergyUnits((byte) 6, Math.min(tEU, maxEUInput()), 1);
|
||||
} else if (GregTech_API.mInputRF && tTileEntity instanceof IEnergyStorage && ((IEnergyStorage) tTileEntity).extractEnergy(1, true) == 1) {
|
||||
long tEU = (long) ((IEnergyStorage) tTileEntity).extractEnergy((int) maxEUInput() * 100 / GregTech_API.mRFtoEU, false);
|
||||
long tEU = (long) ((IEnergyStorage) tTileEntity).extractEnergy(GT_Utility.safeInt(maxEUInput() * 100L / GregTech_API.mRFtoEU), false);
|
||||
tEU = tEU * GregTech_API.mRFtoEU / 100;
|
||||
aBaseMetaTileEntity.injectEnergyUnits((byte) 6, Math.min(tEU, maxEUInput()), 1);
|
||||
} else if (GregTech_API.mInputRF && GregTech_API.meIOLoaded && tTileEntity instanceof IPowerContainer && ((IPowerContainer) tTileEntity).getEnergyStored() > 0) {
|
||||
int storedRF = ((IPowerContainer) tTileEntity).getEnergyStored();
|
||||
int extractRF = (int) maxEUInput() * 100 / GregTech_API.mRFtoEU;
|
||||
int extractRF = GT_Utility.safeInt(maxEUInput() * 100L / GregTech_API.mRFtoEU);
|
||||
long tEU = 0;
|
||||
if (tTileEntity instanceof TileCapBank) {
|
||||
ICapBankNetwork network = ((TileCapBank) tTileEntity).getNetwork();
|
||||
if (network != null && network.getEnergyStoredL() > 0) {
|
||||
tEU = Math.min((Math.min(Math.min(network.getEnergyStoredL(), storedRF - extractRF), network.getMaxOutput())) * GregTech_API.mRFtoEU / 100, maxEUInput());
|
||||
network.addEnergy((int) -(tEU * 100 / GregTech_API.mRFtoEU));
|
||||
tEU = Math.min((Math.min(Math.min(network.getEnergyStoredL(), storedRF - extractRF), network.getMaxOutput())) * (long)GregTech_API.mRFtoEU / 100L, maxEUInput());
|
||||
network.addEnergy(GT_Utility.safeInt(-(tEU * 100 / GregTech_API.mRFtoEU)));
|
||||
}
|
||||
} else {
|
||||
if (storedRF > extractRF) {
|
||||
|
@ -174,7 +174,7 @@ public class GT_MetaTileEntity_Transformer extends GT_MetaTileEntity_TieredMachi
|
|||
tEU = maxEUInput();
|
||||
} else {
|
||||
((IPowerContainer) tTileEntity).setEnergyStored(0);
|
||||
tEU = storedRF * GregTech_API.mRFtoEU / 100;
|
||||
tEU = storedRF * (long)GregTech_API.mRFtoEU / 100L;
|
||||
}
|
||||
}
|
||||
aBaseMetaTileEntity.injectEnergyUnits((byte) 6, Math.min(tEU, maxEUInput()), 1);
|
||||
|
|
|
@ -24,7 +24,7 @@ public class ElementStack implements Cloneable {
|
|||
public boolean equals(Object aObject) {
|
||||
if (aObject == this) return true;
|
||||
if (aObject == null) return false;
|
||||
if (aObject instanceof Element) {return aObject == mElement;}
|
||||
if (aObject instanceof Element) return aObject == mElement;
|
||||
if (aObject instanceof ElementStack)
|
||||
return ((ElementStack) aObject).mElement == mElement && (mAmount < 0 || ((ElementStack) aObject).mAmount < 0 || ((ElementStack) aObject).mAmount == mAmount);
|
||||
return false;
|
||||
|
|
|
@ -45,7 +45,6 @@ public class GT_FluidStack extends FluidStack {
|
|||
}
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public final void fixFluidIDForFucksSake() {
|
||||
if (ForgeVersion.getBuildVersion() < 1355 && ForgeVersion.getRevisionVersion() < 4) {
|
||||
int fluidID;
|
||||
|
|
|
@ -16,7 +16,7 @@ public class GT_UO_Fluid {
|
|||
public int Chance = 0;
|
||||
public int DecreasePerOperationAmount = 5;
|
||||
|
||||
public GT_UO_Fluid(ConfigCategory aConfigCategory) {
|
||||
public GT_UO_Fluid(ConfigCategory aConfigCategory) {//TODO CONFIGURE
|
||||
if (aConfigCategory.containsKey("Registry"))
|
||||
{
|
||||
aConfigCategory.get("Registry").comment = "Fluid registry";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package gregtech.api.util;
|
||||
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.ConfigCategories;
|
||||
import gregtech.api.enums.Materials;
|
||||
|
@ -21,7 +20,6 @@ import speiger.src.crops.api.ICropCardInfo;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import static gregtech.api.enums.GT_Values.E;
|
||||
|
||||
|
|
|
@ -2000,4 +2000,4 @@ public class GT_ModHandler {
|
|||
FMLInterModComms.sendMessage("ThermalExpansion", "Coolant", toSend);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -261,6 +261,18 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
|
|||
}
|
||||
}
|
||||
|
||||
public GT_Recipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt, int VACUUM) {
|
||||
this(true, new ItemStack[]{aInput1}, new ItemStack[]{aOutput1}, null, null, null, null, Math.max(aDuration, 1), aEUt, 0);
|
||||
if (mInputs.length > 0 && mOutputs[0] != null) {
|
||||
GT_Recipe_Map.sVacuumRecipes.addRecipe(this);
|
||||
}
|
||||
}
|
||||
|
||||
//Dummy GT_Recipe maker...
|
||||
public GT_Recipe(ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, int[] aChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue){
|
||||
this(true, aInputs, aOutputs, aSpecialItems, aChances, aFluidInputs, aFluidOutputs, aDuration, aEUt, aSpecialValue);
|
||||
}
|
||||
|
||||
public static void reInit() {
|
||||
GT_Log.out.println("GT_Mod: Re-Unificating Recipes.");
|
||||
for (GT_Recipe_Map tMapEntry : GT_Recipe_Map.sMappings) tMapEntry.reInit();
|
||||
|
@ -489,7 +501,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
|
|||
public static final GT_Recipe_Map sByProductList = new GT_Recipe_Map(new HashSet<GT_Recipe>(1000), "gt.recipe.byproductlist", "Ore Byproduct List", null, RES_PATH_GUI + "basicmachines/Default", 1, 6, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sReplicatorFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(100), "gt.recipe.replicator", "Replicator", null, RES_PATH_GUI + "basicmachines/Replicator", 0, 1, 0, 1, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sAssemblylineFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(30), "gt.recipe.scanner", "Scanner", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
|
||||
public static final GT_Recipe_Map sAssemblylineFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(30), "gt.recipe.fakeAssemblylineProcess", "Assemblyline Process", null, RES_PATH_GUI + "FakeAssemblyline", 1, 1, 1, 0, 1, E, 1, E, true, false);
|
||||
public static final GT_Recipe_Map sPlasmaArcFurnaceRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10000), "gt.recipe.plasmaarcfurnace", "Plasma Arc Furnace", null, RES_PATH_GUI + "basicmachines/PlasmaArcFurnace", 1, 4, 1, 1, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sArcFurnaceRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10000), "gt.recipe.arcfurnace", "Arc Furnace", null, RES_PATH_GUI + "basicmachines/ArcFurnace", 1, 4, 1, 1, 3, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sPrinterRecipes = new GT_Recipe_Map_Printer(new HashSet<GT_Recipe>(100), "gt.recipe.printer", "Printer", null, RES_PATH_GUI + "basicmachines/Printer", 1, 1, 1, 1, 1, E, 1, E, true, true);
|
||||
|
@ -522,30 +534,32 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
|
|||
public static final GT_Recipe_Map sCrakingRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.craker", "Oil Cracker", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 1, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sPyrolyseRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.pyro", "Pyrolyse Oven", null, RES_PATH_GUI + "basicmachines/Default", 2, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sWiremillRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.wiremill", "Wiremill", null, RES_PATH_GUI + "basicmachines/Wiremill", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sBenderRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(400), "gt.recipe.metalbender", "Metal Bender", null, RES_PATH_GUI + "basicmachines/Bender", 2, 1, 2, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sBenderRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(400), "gt.recipe.metalbender", "Bending Machine", null, RES_PATH_GUI + "basicmachines/Bender", 2, 1, 2, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sAlloySmelterRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(3000), "gt.recipe.alloysmelter", "Alloy Smelter", null, RES_PATH_GUI + "basicmachines/AlloySmelter", 2, 1, 2, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sAssemblerRecipes = new GT_Recipe_Map_Assembler(new HashSet<GT_Recipe>(300), "gt.recipe.assembler", "Assembler", null, RES_PATH_GUI + "basicmachines/Assembler", 2, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sAssemblerRecipes = new GT_Recipe_Map_Assembler(new HashSet<GT_Recipe>(300), "gt.recipe.assembler", "Assembling Machine", null, RES_PATH_GUI + "basicmachines/Assembler", 2, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sCircuitAssemblerRecipes = new GT_Recipe_Map_Assembler(new HashSet<GT_Recipe>(300), "gt.recipe.circuitassembler", "Circuit Assembler", null, RES_PATH_GUI + "basicmachines/CircuitAssembler", 6, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sCannerRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(300), "gt.recipe.canner", "Canning Machine", null, RES_PATH_GUI + "basicmachines/Canner", 2, 2, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sCNCRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(100), "gt.recipe.cncmachine", "CNC Machine", null, RES_PATH_GUI + "basicmachines/Default", 2, 1, 2, 1, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sLatheRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(400), "gt.recipe.lathe", "Lathe", null, RES_PATH_GUI + "basicmachines/Lathe", 1, 2, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sCutterRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.cuttingsaw", "Cutting Saw", null, RES_PATH_GUI + "basicmachines/Cutter", 1, 2, 1, 1, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sSlicerRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.slicer", "Slicer", null, RES_PATH_GUI + "basicmachines/Slicer", 2, 1, 2, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sCutterRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.cuttingsaw", "CCutting Machine", null, RES_PATH_GUI + "basicmachines/Cutter", 1, 2, 1, 1, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sSlicerRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.slicer", "Slicing Machine", null, RES_PATH_GUI + "basicmachines/Slicer", 2, 1, 2, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sExtruderRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(1000), "gt.recipe.extruder", "Extruder", null, RES_PATH_GUI + "basicmachines/Extruder", 2, 1, 2, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sHammerRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.hammer", "Hammer", null, RES_PATH_GUI + "basicmachines/Hammer", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sAmplifiers = new GT_Recipe_Map(new HashSet<GT_Recipe>(10), "gt.recipe.uuamplifier", "UU Amplifier", null, RES_PATH_GUI + "basicmachines/Amplifabricator", 1, 0, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sHammerRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.hammer", "Forge Hammer", null, RES_PATH_GUI + "basicmachines/Hammer", 1, 1, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sAmplifiers = new GT_Recipe_Map(new HashSet<GT_Recipe>(10), "gt.recipe.uuamplifier", "Amplifabricator", null, RES_PATH_GUI + "basicmachines/Amplifabricator", 1, 0, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map sMassFabFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10), "gt.recipe.massfab", "Mass Fabrication", null, RES_PATH_GUI + "basicmachines/Massfabricator", 1, 0, 1, 0, 1, E, 1, E, true, true);
|
||||
public static final GT_Recipe_Map_Fuel sDieselFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.dieselgeneratorfuel", "Diesel Generator Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sTurbineFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.gasturbinefuel", "Gas Turbine Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sHotFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.thermalgeneratorfuel", "Thermal Generator Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, false);
|
||||
public static final GT_Recipe_Map_Fuel sDenseLiquidFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.semifluidboilerfuels", "Semifluid Boiler Fuels", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sPlasmaFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.plasmageneratorfuels", "Plasma generator Fuels", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sMagicFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.magicfuels", "Magic Fuels", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sSmallNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.smallnaquadahreactor", "Small Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sLargeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.largenaquadahreactor", "Large Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sFluidNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.fluidnaquadahreactor", "Fluid Naquadah Reactor", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sPlasmaFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.plasmageneratorfuels", "Plasma Generator Fuels", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sMagicFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.magicfuels", "Magic Energy Absorber", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sSmallNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.smallnaquadahreactor", "Naquadah Reactor MkI", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sLargeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.largenaquadahreactor", "Naquadah Reactor MkII", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sFluidNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.fluidnaquadahreactor", "Naquadah Reactor MkIII", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sHugeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.hugenaquadahreactor", "Naquadah Reactor MkIV", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Fuel sExtraHugeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.extrahugenaquadahreactor", "Naquadah Reactor MkV", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
|
||||
public static final GT_Recipe_Map_Large_Boiler_Fake_Fuels sLargeBoilerFakeFuels = new GT_Recipe_Map_Large_Boiler_Fake_Fuels();
|
||||
|
||||
|
||||
/**
|
||||
* HashMap of Recipes based on their Items
|
||||
*/
|
||||
|
@ -647,6 +661,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
|
|||
public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) {
|
||||
return addFakeRecipe(aCheckForCollisions, new GT_Recipe(false, aInputs, aOutputs, aSpecial, null, aFluidInputs, aFluidOutputs, aDuration, aEUt, aSpecialValue));
|
||||
}
|
||||
public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue,boolean hidden) {
|
||||
return addFakeRecipe(aCheckForCollisions, new GT_Recipe(false, aInputs, aOutputs, aSpecial, null, aFluidInputs, aFluidOutputs, aDuration, aEUt, aSpecialValue),hidden);
|
||||
}
|
||||
|
||||
/**
|
||||
* Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes! findRecipe wont find fake Recipes, containsInput WILL find fake Recipes
|
||||
|
@ -654,6 +671,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
|
|||
public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe) {
|
||||
return addRecipe(aRecipe, aCheckForCollisions, true, false);
|
||||
}
|
||||
public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe,boolean hidden) {
|
||||
return addRecipe(aRecipe, aCheckForCollisions, true, hidden);
|
||||
}
|
||||
|
||||
public GT_Recipe add(GT_Recipe aRecipe) {
|
||||
mRecipeList.add(aRecipe);
|
||||
|
@ -838,6 +858,11 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue,boolean hidden) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe) {
|
||||
return null;
|
||||
|
|
|
@ -151,6 +151,10 @@ public class GT_RecipeRegistrator {
|
|||
ItemData tData = GT_OreDictUnificator.getItemData(aStack);
|
||||
boolean tHide = aStack.getUnlocalizedName().startsWith("gt.blockmachines")&&(GT_Mod.gregtechproxy.mHideRecyclingRecipes);
|
||||
if(GT_Mod.gregtechproxy.mHideRecyclingRecipes&&tData!=null&&tData.hasValidPrefixData()&&!(tData.mPrefix==OrePrefixes.dust||tData.mPrefix==OrePrefixes.ingot||tData.mPrefix==OrePrefixes.block|tData.mPrefix==OrePrefixes.plate)){tHide=true;}
|
||||
// boolean tHide = (aMaterial != Materials.Iron && aMaterial!= Materials.Redstone)&&(GT_Mod.gregtechproxy.mHideRecyclingRecipes);
|
||||
// if(tHide && tData!=null&&tData.hasValidPrefixData()&&tData.mPrefix==OrePrefixes.ingot){
|
||||
// tHide=false;
|
||||
// }
|
||||
RA.addFluidSmelterRecipe(GT_Utility.copyAmount(1, aStack), aByproduct == null ? null : aByproduct.mMaterial.contains(SubTag.NO_SMELTING) || !aByproduct.mMaterial.contains(SubTag.METAL) ? aByproduct.mMaterial.contains(SubTag.FLAMMABLE) ? GT_OreDictUnificator.getDust(Materials.Ash, aByproduct.mAmount / 2) : aByproduct.mMaterial.contains(SubTag.UNBURNABLE) ? GT_OreDictUnificator.getDustOrIngot(aByproduct.mMaterial.mSmeltInto, aByproduct.mAmount) : null : GT_OreDictUnificator.getIngotOrDust(aByproduct.mMaterial.mSmeltInto, aByproduct.mAmount), aMaterial.mSmeltInto.getMolten((L * aMaterialAmount) / (M * aStack.stackSize)), 10000, (int) Math.max(1, (24 * aMaterialAmount) / M), Math.max(8, (int) Math.sqrt(2 * aMaterial.mSmeltInto.mStandardMoltenFluid.getTemperature())), tHide);
|
||||
}
|
||||
|
||||
|
@ -346,4 +350,4 @@ public class GT_RecipeRegistrator {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@ package gregtech.api.util;
|
|||
|
||||
import cofh.api.transport.IItemDuct;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.damagesources.GT_DamageSources;
|
||||
import gregtech.api.enchants.Enchantment_Radioactivity;
|
||||
|
@ -18,8 +17,8 @@ import gregtech.api.items.GT_EnergyArmor_Item;
|
|||
import gregtech.api.items.GT_Generic_Item;
|
||||
import gregtech.api.net.GT_Packet_Sound;
|
||||
import gregtech.api.objects.GT_ItemStack;
|
||||
import gregtech.api.objects.GT_UO_Fluid;
|
||||
import gregtech.api.objects.ItemData;
|
||||
import gregtech.api.objects.XSTR;
|
||||
import gregtech.api.threads.GT_Runnable_Sound;
|
||||
import gregtech.common.GT_Proxy;
|
||||
import ic2.api.recipe.IRecipeInput;
|
||||
|
@ -46,13 +45,14 @@ import net.minecraft.nbt.NBTTagList;
|
|||
import net.minecraft.nbt.NBTTagString;
|
||||
import net.minecraft.network.play.server.S07PacketRespawn;
|
||||
import net.minecraft.network.play.server.S1DPacketEntityEffect;
|
||||
import net.minecraft.network.play.server.S1FPacketSetExperience;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.tileentity.TileEntityChest;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.ChunkPosition;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -96,6 +96,14 @@ public class GT_Utility {
|
|||
GregTech_API.sItemStackMappings.add(sEmptyContainerToFluidToData);
|
||||
}
|
||||
|
||||
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 Field getPublicField(Object aObject, String aField) {
|
||||
Field rField = null;
|
||||
try {
|
||||
|
@ -1449,80 +1457,118 @@ public class GT_Utility {
|
|||
|
||||
/**
|
||||
* This checks if the Dimension is really a Dimension and not another Planet or something.
|
||||
* Used for my Teleporter.
|
||||
* Used for my Teleporter. //I have a different opinion... Planets are fine :P
|
||||
*/
|
||||
public static boolean isRealDimension(int aDimensionID) {
|
||||
try {
|
||||
if (DimensionManager.getProvider(aDimensionID).getClass().getName().contains("com.xcompwiz.mystcraft"))
|
||||
return true;
|
||||
} catch (Throwable e) {/*Do nothing*/}
|
||||
try {
|
||||
if (DimensionManager.getProvider(aDimensionID).getClass().getName().contains("TwilightForest")) return true;
|
||||
} catch (Throwable e) {/*Do nothing*/}
|
||||
try {
|
||||
if (DimensionManager.getProvider(aDimensionID).getClass().getName().contains("galacticraft")) return true;
|
||||
} catch (Throwable e) {/*Do nothing*/}
|
||||
return GregTech_API.sDimensionalList.contains(aDimensionID);
|
||||
if(aDimensionID<=1 && aDimensionID>=-1 && !GregTech_API.sDimensionalList.contains(aDimensionID)) return true;
|
||||
return !GregTech_API.sDimensionalList.contains(aDimensionID) && DimensionManager.isDimensionRegistered(aDimensionID);
|
||||
}
|
||||
|
||||
//public static boolean isRealDimension(int aDimensionID) {
|
||||
// try {
|
||||
// if (DimensionManager.getProvider(aDimensionID).getClass().getName().contains("com.xcompwiz.mystcraft"))
|
||||
// return true;
|
||||
// } catch (Throwable e) {/*Do nothing*/}
|
||||
// try {
|
||||
// if (DimensionManager.getProvider(aDimensionID).getClass().getName().contains("TwilightForest")) return true;
|
||||
// } catch (Throwable e) {/*Do nothing*/}
|
||||
// try {
|
||||
// if (DimensionManager.getProvider(aDimensionID).getClass().getName().contains("galacticraft")) return true;
|
||||
// } catch (Throwable e) {/*Do nothing*/}
|
||||
// return GregTech_API.sDimensionalList.contains(aDimensionID);
|
||||
//}
|
||||
|
||||
public static boolean moveEntityToDimensionAtCoords(Entity entity, int aDimension, double aX, double aY, double aZ) {
|
||||
//Credit goes to BrandonCore Author :!:
|
||||
|
||||
public static boolean moveEntityToDimensionAtCoords(Entity aEntity, int aDimension, double aX, double aY, double aZ) {
|
||||
WorldServer tTargetWorld = DimensionManager.getWorld(aDimension), tOriginalWorld = DimensionManager.getWorld(aEntity.worldObj.provider.dimensionId);
|
||||
if (tTargetWorld != null && tOriginalWorld != null && tTargetWorld != tOriginalWorld) {
|
||||
if (aEntity.ridingEntity != null) aEntity.mountEntity(null);
|
||||
if (aEntity.riddenByEntity != null) aEntity.riddenByEntity.mountEntity(null);
|
||||
if (aEntity instanceof EntityPlayerMP) {
|
||||
EntityPlayerMP aPlayer = (EntityPlayerMP) aEntity;
|
||||
// aPlayer.dimension = aDimension;
|
||||
// aPlayer.playerNetServerHandler.sendPacket(new S07PacketRespawn(aPlayer.dimension, aPlayer.worldObj.difficultySetting, aPlayer.worldObj.getWorldInfo().getTerrainType(), aPlayer.theItemInWorldManager.getGameType()));
|
||||
// tOriginalWorld.removePlayerEntityDangerously(aPlayer);
|
||||
// aPlayer.isDead = false;
|
||||
// aPlayer.setWorld(tTargetWorld);
|
||||
// MinecraftServer.getServer().getConfigurationManager().func_72375_a(aPlayer, tOriginalWorld);
|
||||
// aPlayer.playerNetServerHandler.setPlayerLocation(aX + 0.5, aY + 0.5, aZ + 0.5, aPlayer.rotationYaw, aPlayer.rotationPitch);
|
||||
// aPlayer.theItemInWorldManager.setWorld(tTargetWorld);
|
||||
// MinecraftServer.getServer().getConfigurationManager().updateTimeAndWeatherForPlayer(aPlayer, tTargetWorld);
|
||||
// MinecraftServer.getServer().getConfigurationManager().syncPlayerInventory(aPlayer);
|
||||
// Iterator tIterator = aPlayer.getActivePotionEffects().iterator();
|
||||
// while (tIterator.hasNext()) {
|
||||
// PotionEffect potioneffect = (PotionEffect) tIterator.next();
|
||||
// aPlayer.playerNetServerHandler.sendPacket(new S1DPacketEntityEffect(aPlayer.getEntityId(), potioneffect));
|
||||
// }
|
||||
// FMLCommonHandler.instance().firePlayerChangedDimensionEvent(aPlayer, tOriginalWorld.provider.dimensionId, aDimension);
|
||||
aPlayer.travelToDimension(aDimension);
|
||||
aPlayer.playerNetServerHandler.setPlayerLocation(aX + 0.5, aY + 0.5, aZ + 0.5, aPlayer.rotationYaw, aPlayer.rotationPitch);
|
||||
|
||||
} else {
|
||||
aEntity.setPosition(aX + 0.5, aY + 0.5, aZ + 0.5);
|
||||
aEntity.worldObj.removeEntity(aEntity);
|
||||
aEntity.dimension = aDimension;
|
||||
aEntity.isDead = false;
|
||||
Entity tNewEntity = EntityList.createEntityByName(EntityList.getEntityString(aEntity), tTargetWorld);
|
||||
if (tNewEntity != null) {
|
||||
tNewEntity.copyDataFrom(aEntity, true);
|
||||
aEntity.setDead();
|
||||
tNewEntity.isDead = false;
|
||||
boolean temp = tNewEntity.forceSpawn;
|
||||
tNewEntity.forceSpawn = true;
|
||||
tTargetWorld.spawnEntityInWorld(tNewEntity);
|
||||
tNewEntity.forceSpawn = temp;
|
||||
tNewEntity.isDead = false;
|
||||
aEntity = tNewEntity;
|
||||
}
|
||||
if (entity == null || entity.worldObj.isRemote) return false;
|
||||
if (entity.ridingEntity != null) entity.mountEntity(null);
|
||||
if (entity.riddenByEntity != null) entity.riddenByEntity.mountEntity(null);
|
||||
|
||||
World startWorld = entity.worldObj;
|
||||
World destinationWorld = FMLCommonHandler.instance().getMinecraftServerInstance().worldServerForDimension(aDimension);
|
||||
|
||||
if (destinationWorld == null) {return false;}
|
||||
|
||||
boolean interDimensional = startWorld.provider.dimensionId != destinationWorld.provider.dimensionId;
|
||||
if(!interDimensional)return false;
|
||||
startWorld.updateEntityWithOptionalForce(entity, false);//added
|
||||
|
||||
if ((entity instanceof EntityPlayerMP) && interDimensional) {
|
||||
EntityPlayerMP player = (EntityPlayerMP) entity;
|
||||
player.closeScreen();//added
|
||||
player.dimension = aDimension;
|
||||
player.playerNetServerHandler.sendPacket(new S07PacketRespawn(player.dimension, player.worldObj.difficultySetting, destinationWorld.getWorldInfo().getTerrainType(), player.theItemInWorldManager.getGameType()));
|
||||
((WorldServer) startWorld).getPlayerManager().removePlayer(player);
|
||||
|
||||
startWorld.playerEntities.remove(player);
|
||||
startWorld.updateAllPlayersSleepingFlag();
|
||||
int i = entity.chunkCoordX;
|
||||
int j = entity.chunkCoordZ;
|
||||
if ((entity.addedToChunk) && (startWorld.getChunkProvider().chunkExists(i, j))) {
|
||||
startWorld.getChunkFromChunkCoords(i, j).removeEntity(entity);
|
||||
startWorld.getChunkFromChunkCoords(i, j).isModified = true;
|
||||
}
|
||||
|
||||
if (aEntity instanceof EntityLivingBase) {
|
||||
((EntityLivingBase) aEntity).setPositionAndUpdate(aX, aY, aZ);
|
||||
} else {
|
||||
aEntity.setPosition(aX, aY, aZ);
|
||||
}
|
||||
|
||||
tOriginalWorld.resetUpdateEntityTick();
|
||||
tTargetWorld.resetUpdateEntityTick();
|
||||
return true;
|
||||
startWorld.loadedEntityList.remove(entity);
|
||||
startWorld.onEntityRemoved(entity);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
entity.setLocationAndAngles(aX, aY, aY, entity.rotationYaw, entity.rotationPitch);
|
||||
|
||||
((WorldServer) destinationWorld).theChunkProviderServer.loadChunk((int) aX >> 4, (int) aZ >> 4);
|
||||
|
||||
destinationWorld.theProfiler.startSection("placing");
|
||||
if (interDimensional) {
|
||||
if (!(entity instanceof EntityPlayer)) {
|
||||
NBTTagCompound entityNBT = new NBTTagCompound();
|
||||
entity.isDead = false;
|
||||
entityNBT.setString("id", EntityList.getEntityString(entity));
|
||||
entity.writeToNBT(entityNBT);
|
||||
entity.isDead = true;
|
||||
entity = EntityList.createEntityFromNBT(entityNBT, destinationWorld);
|
||||
if (entity == null) {
|
||||
return false;
|
||||
}
|
||||
entity.dimension = destinationWorld.provider.dimensionId;
|
||||
}
|
||||
destinationWorld.spawnEntityInWorld(entity);
|
||||
entity.setWorld(destinationWorld);
|
||||
}
|
||||
entity.setLocationAndAngles(aX, aY, aY, entity.rotationYaw, entity.rotationPitch);
|
||||
|
||||
destinationWorld.updateEntityWithOptionalForce(entity, false);
|
||||
entity.setLocationAndAngles(aX, aY, aY, entity.rotationYaw, entity.rotationPitch);
|
||||
|
||||
if ((entity instanceof EntityPlayerMP)) {
|
||||
EntityPlayerMP player = (EntityPlayerMP) entity;
|
||||
if (interDimensional) {
|
||||
player.mcServer.getConfigurationManager().func_72375_a(player, (WorldServer) destinationWorld);
|
||||
}
|
||||
player.playerNetServerHandler.setPlayerLocation(aX, aY, aY, player.rotationYaw, player.rotationPitch);
|
||||
}
|
||||
|
||||
destinationWorld.updateEntityWithOptionalForce(entity, false);
|
||||
|
||||
if (((entity instanceof EntityPlayerMP)) && interDimensional) {
|
||||
EntityPlayerMP player = (EntityPlayerMP) entity;
|
||||
player.theItemInWorldManager.setWorld((WorldServer) destinationWorld);
|
||||
player.mcServer.getConfigurationManager().updateTimeAndWeatherForPlayer(player, (WorldServer) destinationWorld);
|
||||
player.mcServer.getConfigurationManager().syncPlayerInventory(player);
|
||||
|
||||
for (PotionEffect potionEffect : (Iterable<PotionEffect>) player.getActivePotionEffects()) {
|
||||
player.playerNetServerHandler.sendPacket(new S1DPacketEntityEffect(player.getEntityId(), potionEffect));
|
||||
}
|
||||
|
||||
player.playerNetServerHandler.sendPacket(new S1FPacketSetExperience(player.experience, player.experienceTotal, player.experienceLevel));
|
||||
FMLCommonHandler.instance().firePlayerChangedDimensionEvent(player, startWorld.provider.dimensionId, destinationWorld.provider.dimensionId);
|
||||
}
|
||||
entity.setLocationAndAngles(aX, aY, aY, entity.rotationYaw, entity.rotationPitch);
|
||||
|
||||
destinationWorld.theProfiler.endSection();
|
||||
entity.fallDistance = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
public static int getScaleCoordinates(double aValue, int aScale) {
|
||||
return (int)Math.floor(aValue / aScale);
|
||||
}
|
||||
|
@ -1531,12 +1577,12 @@ public class GT_Utility {
|
|||
return getUndergroundOil(aWorld, aX, aZ, false);
|
||||
}
|
||||
|
||||
public static FluidStack getUndergroundOil(World aWorld, int aX, int aZ, boolean needConsumeOil) {
|
||||
public static FluidStack getUndergroundOil(World aWorld, int aX, int aZ, boolean needConsumeOil) {//TODO RETROGEN!, CHECK FLUIDS AVAILABLE, REWORK
|
||||
|
||||
if (GT_Mod.gregtechproxy.mUndergroundOil.CheckBlackList(aWorld.provider.dimensionId))
|
||||
return null;
|
||||
|
||||
Random tRandom = new Random((aWorld.getSeed() + aWorld.provider.dimensionId * 2 + (getScaleCoordinates(aX,96)) + (7 * (getScaleCoordinates(aZ,96)))));
|
||||
XSTR tRandom = new XSTR((aWorld.getSeed() + aWorld.provider.dimensionId * 2 + (getScaleCoordinates(aX,96)) + (7 * (getScaleCoordinates(aZ,96)))));
|
||||
int tAmount = 0;
|
||||
int tFluidId = 0;
|
||||
int tDecreasePerOperationAmount = 5;
|
||||
|
@ -1590,6 +1636,50 @@ public class GT_Utility {
|
|||
return new FluidStack(tFluid, tAmount);
|
||||
return null;
|
||||
}
|
||||
|
||||
//private static FluidStack getUndergroundOilFromInfo(int type,int amnt){
|
||||
// switch (type) {//0 is old system
|
||||
// case 1:
|
||||
// return new FluidStack(Materials.OilLight .mFluid,amnt);
|
||||
// case 2:
|
||||
// return new FluidStack(Materials.OilMedium.mFluid,amnt);
|
||||
// case 3:
|
||||
// return new FluidStack(Materials.OilHeavy .mFluid,amnt);
|
||||
// case 4:
|
||||
// return new FluidStack(Materials.Oil .mFluid,amnt);
|
||||
// }
|
||||
// return new FluidStack(Materials.NatruralGas.mGas,amnt);//5
|
||||
//}
|
||||
//
|
||||
//private static FluidStack setUndergroundOil(World aWorld, int aX, int aZ,ChunkPosition tPos,int[] tInts) {
|
||||
// XSTR tRandom = new XSTR(aWorld.getSeed() ^ ((long)(aX / 6) + (long)(7000 * (aZ / 6))));
|
||||
// int type=tRandom.nextInt(5);//type slowly changes
|
||||
// int amnt = (int)(Math.ceil(Math.pow(2D+(double)(tRandom.nextInt(48))+(new XSTR()).nextDouble(),8D)/200000D));
|
||||
// //roughly uses 28 bits
|
||||
// FluidStack tFluidStack;
|
||||
// switch (type) {//0 is old system
|
||||
// case 1:
|
||||
// tFluidStack=new FluidStack(Materials.OilLight .mFluid,amnt);
|
||||
// break;
|
||||
// case 2:
|
||||
// tFluidStack=new FluidStack(Materials.OilMedium.mFluid,amnt);
|
||||
// break;
|
||||
// case 3:
|
||||
// tFluidStack=new FluidStack(Materials.OilHeavy .mFluid,amnt);
|
||||
// break;
|
||||
// case 4:
|
||||
// tFluidStack=new FluidStack(Materials.Oil .mFluid,amnt);
|
||||
// break;
|
||||
// default://case 0; -> 5
|
||||
// type=5;//important, 0 is invalid !
|
||||
// tFluidStack=new FluidStack(Materials.NatruralGas.mGas,amnt);//5
|
||||
// }
|
||||
//
|
||||
// tInts[0]=(type<<28)+amnt;//here since the switch changes type
|
||||
// //tInts[2]|=0x01;
|
||||
// GT_Proxy.chunkData.put(tPos, tInts);
|
||||
// return tFluidStack;
|
||||
//}
|
||||
|
||||
public static int getCoordinateScan(ArrayList<String> aList, EntityPlayer aPlayer, World aWorld, int aScanLevel, int aX, int aY, int aZ, int aSide, float aClickX, float aClickY, float aClickZ) {
|
||||
if (aList == null) return 0;
|
||||
|
@ -1601,15 +1691,15 @@ public class GT_Utility {
|
|||
|
||||
Block tBlock = aWorld.getBlock(aX, aY, aZ);
|
||||
|
||||
tList.add("----- X: " + aX + " Y: " + aY + " Z: " + aZ + " -----");
|
||||
tList.add("----- X: " +EnumChatFormatting.AQUA+ aX +EnumChatFormatting.RESET + " Y: " +EnumChatFormatting.AQUA+ aY +EnumChatFormatting.RESET+ " Z: " +EnumChatFormatting.AQUA+ aZ +EnumChatFormatting.RESET+ " -----");
|
||||
try {
|
||||
if (tTileEntity instanceof IInventory)
|
||||
tList.add("Name: " + ((IInventory) tTileEntity).getInventoryName() + " MetaData: " + aWorld.getBlockMetadata(aX, aY, aZ));
|
||||
if (tTileEntity != null && tTileEntity instanceof IInventory)
|
||||
tList.add("Name: " + EnumChatFormatting.BLUE+ ((IInventory) tTileEntity).getInventoryName()+EnumChatFormatting.RESET + " MetaData: " +EnumChatFormatting.AQUA+ aWorld.getBlockMetadata(aX, aY, aZ)+EnumChatFormatting.RESET);
|
||||
else
|
||||
tList.add("Name: " + tBlock.getUnlocalizedName() + " MetaData: " + aWorld.getBlockMetadata(aX, aY, aZ));
|
||||
tList.add("Name: " +EnumChatFormatting.BLUE+ tBlock.getUnlocalizedName() +EnumChatFormatting.RESET+ " MetaData: " +EnumChatFormatting.AQUA+ aWorld.getBlockMetadata(aX, aY, aZ)+EnumChatFormatting.RESET);
|
||||
|
||||
tList.add("Hardness: " + tBlock.getBlockHardness(aWorld, aX, aY, aZ) + " Blast Resistance: " + tBlock.getExplosionResistance(aPlayer, aWorld, aX, aY, aZ, aPlayer.posX, aPlayer.posY, aPlayer.posZ));
|
||||
if (tBlock.isBeaconBase(aWorld, aX, aY, aZ, aX, aY + 1, aZ)) tList.add("Is valid Beacon Pyramid Material");
|
||||
tList.add("Hardness: " +EnumChatFormatting.YELLOW+ tBlock.getBlockHardness(aWorld, aX, aY, aZ) +EnumChatFormatting.RESET+ " Blast Resistance: " +EnumChatFormatting.YELLOW+ tBlock.getExplosionResistance(aPlayer, aWorld, aX, aY, aZ, aPlayer.posX, aPlayer.posY, aPlayer.posZ)+EnumChatFormatting.RESET);
|
||||
if (tBlock.isBeaconBase(aWorld, aX, aY, aZ, aX, aY + 1, aZ)) tList.add(EnumChatFormatting.GOLD+"Is valid Beacon Pyramid Material"+EnumChatFormatting.RESET );
|
||||
} catch (Throwable e) {
|
||||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
|
@ -1619,7 +1709,7 @@ public class GT_Utility {
|
|||
rEUAmount += 500;
|
||||
FluidTankInfo[] tTanks = ((IFluidHandler) tTileEntity).getTankInfo(ForgeDirection.getOrientation(aSide));
|
||||
if (tTanks != null) for (byte i = 0; i < tTanks.length; i++) {
|
||||
tList.add("Tank " + i + ": " + GT_Utility.formatNumbers((tTanks[i].fluid == null ? 0 : tTanks[i].fluid.amount)) + " / " + GT_Utility.formatNumbers(tTanks[i].capacity) + " " + getFluidName(tTanks[i].fluid, true));
|
||||
tList.add("Tank " + i + ": " +EnumChatFormatting.GREEN+ GT_Utility.formatNumbers((tTanks[i].fluid == null ? 0 : tTanks[i].fluid.amount)) +EnumChatFormatting.RESET+ " L / " +EnumChatFormatting.YELLOW+ GT_Utility.formatNumbers(tTanks[i].capacity) +EnumChatFormatting.RESET+ " L of " +EnumChatFormatting.GOLD+ getFluidName(tTanks[i].fluid, true)+EnumChatFormatting.RESET);
|
||||
}
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
|
@ -1636,8 +1726,8 @@ public class GT_Utility {
|
|||
try {
|
||||
if (tTileEntity instanceof ic2.api.reactor.IReactor) {
|
||||
rEUAmount += 500;
|
||||
tList.add("Heat: " + ((ic2.api.reactor.IReactor) tTileEntity).getHeat() + "/" + ((ic2.api.reactor.IReactor) tTileEntity).getMaxHeat()
|
||||
+ " HEM: " + ((ic2.api.reactor.IReactor) tTileEntity).getHeatEffectModifier() + " Base EU Output: "/* + ((ic2.api.reactor.IReactor)tTileEntity).getOutput()*/);
|
||||
tList.add("Heat: " +EnumChatFormatting.GREEN+ ((ic2.api.reactor.IReactor) tTileEntity).getHeat() +EnumChatFormatting.RESET+ " / " +EnumChatFormatting.YELLOW+ ((ic2.api.reactor.IReactor) tTileEntity).getMaxHeat()+EnumChatFormatting.RESET);
|
||||
tList.add("HEM: " +EnumChatFormatting.YELLOW+((ic2.api.reactor.IReactor) tTileEntity).getHeatEffectModifier() +EnumChatFormatting.RESET/*+ " Base EU Output: " + ((ic2.api.reactor.IReactor)tTileEntity).getOutput()*/);//TODO WHAT?
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
|
@ -1645,8 +1735,8 @@ public class GT_Utility {
|
|||
try {
|
||||
if (tTileEntity instanceof ic2.api.tile.IWrenchable) {
|
||||
rEUAmount += 100;
|
||||
tList.add("Facing: " + ((ic2.api.tile.IWrenchable) tTileEntity).getFacing() + " / Chance: " + (((ic2.api.tile.IWrenchable) tTileEntity).getWrenchDropRate() * 100) + "%");
|
||||
tList.add(((ic2.api.tile.IWrenchable) tTileEntity).wrenchCanRemove(aPlayer) ? "You can remove this with a Wrench" : "You can NOT remove this with a Wrench");
|
||||
tList.add("Facing: " +EnumChatFormatting.GREEN+ ((ic2.api.tile.IWrenchable) tTileEntity).getFacing() +EnumChatFormatting.RESET+ " / Chance: " +EnumChatFormatting.YELLOW+ (((ic2.api.tile.IWrenchable) tTileEntity).getWrenchDropRate() * 100) +EnumChatFormatting.RESET+ "%");
|
||||
tList.add(((ic2.api.tile.IWrenchable) tTileEntity).wrenchCanRemove(aPlayer) ? EnumChatFormatting.GREEN+"You can remove this with a Wrench"+EnumChatFormatting.RESET : EnumChatFormatting.RED+"You can NOT remove this with a Wrench"+EnumChatFormatting.RESET);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
|
@ -1680,7 +1770,7 @@ public class GT_Utility {
|
|||
try {
|
||||
if (tTileEntity instanceof ic2.api.energy.tile.IEnergyConductor) {
|
||||
rEUAmount += 200;
|
||||
tList.add("Conduction Loss: " + ((ic2.api.energy.tile.IEnergyConductor) tTileEntity).getConductionLoss());
|
||||
tList.add("Conduction Loss: " +EnumChatFormatting.YELLOW+ ((ic2.api.energy.tile.IEnergyConductor) tTileEntity).getConductionLoss()+EnumChatFormatting.RESET);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
|
@ -1688,7 +1778,7 @@ public class GT_Utility {
|
|||
try {
|
||||
if (tTileEntity instanceof ic2.api.tile.IEnergyStorage) {
|
||||
rEUAmount += 200;
|
||||
tList.add("Contained Energy: " + ((ic2.api.tile.IEnergyStorage) tTileEntity).getStored() + " of " + ((ic2.api.tile.IEnergyStorage) tTileEntity).getCapacity());
|
||||
tList.add("Contained Energy: " +EnumChatFormatting.YELLOW+ ((ic2.api.tile.IEnergyStorage) tTileEntity).getStored() +EnumChatFormatting.RESET+ " EU / " +EnumChatFormatting.YELLOW+ ((ic2.api.tile.IEnergyStorage) tTileEntity).getCapacity()+EnumChatFormatting.RESET+" EU");
|
||||
//aList.add(((ic2.api.tile.IEnergyStorage)tTileEntity).isTeleporterCompatible(ic2.api.Direction.YP)?"Teleporter Compatible":"Not Teleporter Compatible");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
|
@ -1697,7 +1787,7 @@ public class GT_Utility {
|
|||
try {
|
||||
if (tTileEntity instanceof IUpgradableMachine) {
|
||||
rEUAmount += 500;
|
||||
if (((IUpgradableMachine) tTileEntity).hasMufflerUpgrade()) tList.add("Has Muffler Upgrade");
|
||||
if (((IUpgradableMachine) tTileEntity).hasMufflerUpgrade()) tList.add(EnumChatFormatting.GREEN+"Has Muffler Upgrade"+EnumChatFormatting.RESET);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
|
@ -1707,7 +1797,7 @@ public class GT_Utility {
|
|||
rEUAmount += 400;
|
||||
int tValue = 0;
|
||||
if (0 < (tValue = ((IMachineProgress) tTileEntity).getMaxProgress()))
|
||||
tList.add("Progress: " + GT_Utility.formatNumbers(tValue) + " / " + GT_Utility.formatNumbers(((IMachineProgress) tTileEntity).getProgress()));
|
||||
tList.add("Progress/Load: " +EnumChatFormatting.GREEN+GT_Utility.formatNumbers(((IMachineProgress) tTileEntity).getProgress()) +EnumChatFormatting.RESET+ " / " +EnumChatFormatting.YELLOW+GT_Utility.formatNumbers(tValue) +EnumChatFormatting.RESET);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
|
@ -1723,16 +1813,16 @@ public class GT_Utility {
|
|||
}
|
||||
try {
|
||||
if (tTileEntity instanceof IBasicEnergyContainer && ((IBasicEnergyContainer) tTileEntity).getEUCapacity() > 0) {
|
||||
tList.add("Max IN: " + ((IBasicEnergyContainer) tTileEntity).getInputVoltage() + " EU");
|
||||
tList.add("Max OUT: " + ((IBasicEnergyContainer) tTileEntity).getOutputVoltage() + " EU at " + ((IBasicEnergyContainer) tTileEntity).getOutputAmperage() + " Amperes");
|
||||
tList.add("Energy: " + GT_Utility.formatNumbers(((IBasicEnergyContainer) tTileEntity).getStoredEU()) + " / " + GT_Utility.formatNumbers(((IBasicEnergyContainer) tTileEntity).getEUCapacity()) + "EU");
|
||||
tList.add("Max IN: " +EnumChatFormatting.RED+ ((IBasicEnergyContainer) tTileEntity).getInputVoltage() + " (" + GT_Values.VN[GT_Utility.getTier(((IBasicEnergyContainer) tTileEntity).getInputVoltage())] + ") " +EnumChatFormatting.RESET+ " EU at "+EnumChatFormatting.RED+((IBasicEnergyContainer)tTileEntity).getInputAmperage()+EnumChatFormatting.RESET+" A");
|
||||
tList.add("Max OUT: " +EnumChatFormatting.RED+ ((IBasicEnergyContainer) tTileEntity).getOutputVoltage() + " (" + GT_Values.VN[GT_Utility.getTier(((IBasicEnergyContainer) tTileEntity).getOutputVoltage())] + ") " +EnumChatFormatting.RESET+ " EU at " +EnumChatFormatting.RED+ ((IBasicEnergyContainer) tTileEntity).getOutputAmperage() +EnumChatFormatting.RESET+ " A");
|
||||
tList.add("Energy: " +EnumChatFormatting.GREEN+ GT_Utility.formatNumbers(((IBasicEnergyContainer) tTileEntity).getStoredEU()) +EnumChatFormatting.RESET+ " EU / " +EnumChatFormatting.YELLOW+ GT_Utility.formatNumbers(((IBasicEnergyContainer) tTileEntity).getEUCapacity()) +EnumChatFormatting.RESET+ " EU");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
try {
|
||||
if (tTileEntity instanceof IGregTechTileEntity) {
|
||||
tList.add("Owned by: " + ((IGregTechTileEntity) tTileEntity).getOwnerName());
|
||||
tList.add("Owned by: " +EnumChatFormatting.BLUE+ ((IGregTechTileEntity) tTileEntity).getOwnerName()+EnumChatFormatting.RESET);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
|
@ -1779,21 +1869,23 @@ public class GT_Utility {
|
|||
if (D1) e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
}
|
||||
if (aPlayer.capabilities.isCreativeMode&>_Values.D1) {
|
||||
if (aPlayer.capabilities.isCreativeMode && GT_Values.D1) {
|
||||
FluidStack tFluid = getUndergroundOil(aWorld, aX, aZ);
|
||||
if (tFluid!=null)
|
||||
tList.add("Oil in Chunk: " + tFluid.amount + " " + tFluid.getLocalizedName());
|
||||
tList.add(EnumChatFormatting.GOLD+tFluid.getLocalizedName()+EnumChatFormatting.RESET+": " +EnumChatFormatting.YELLOW+ tFluid.amount +EnumChatFormatting.RESET+" L");
|
||||
}
|
||||
// if(aPlayer.capabilities.isCreativeMode){
|
||||
ChunkPosition tPos = new ChunkPosition(getScaleCoordinates(aX,16), aWorld.provider.dimensionId, getScaleCoordinates(aZ,16));
|
||||
if(GT_Proxy.chunkData.containsKey(tPos)){
|
||||
int[] tPollution = GT_Proxy.chunkData.get(tPos);
|
||||
if(tPollution.length>1){
|
||||
tList.add("Pollution in Chunk: "+tPollution[1]);
|
||||
tList.add("Pollution in Chunk: "+EnumChatFormatting.RED+tPollution[1]+EnumChatFormatting.RESET+" gibbl");
|
||||
}else{
|
||||
tList.add("No Pollution in Chunk");
|
||||
tList.add(EnumChatFormatting.GREEN+"No Pollution in Chunk! HAYO!"+EnumChatFormatting.RESET);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
tList.add(EnumChatFormatting.GREEN+"No Pollution in Chunk! HAYO!"+EnumChatFormatting.RESET);
|
||||
}
|
||||
// }
|
||||
|
||||
try {
|
||||
|
@ -2029,16 +2121,16 @@ public class GT_Utility {
|
|||
|
||||
public static void setProspectionData(ItemStack aStack, int aX, int aY, int aZ, int aDim, FluidStack aFluid, String[] aOres) {
|
||||
NBTTagCompound tNBT = getNBT(aStack);
|
||||
String tData = aX + "," + aY + "," + aZ + "," + aDim + ",";
|
||||
if (aFluid!=null)
|
||||
tData += (aFluid.amount / 5000) + "," + aFluid.getLocalizedName() + ",";
|
||||
String tData = aX + "," + aY + "," + aZ + "," + aDim + "," + aFluid.amount + "," + aFluid.getLocalizedName() + ",";//fixed dividing 1L=1mB
|
||||
for (String tString : aOres) {
|
||||
tData += tString + ",";
|
||||
}
|
||||
tNBT.setString("prospection", tData);
|
||||
setNBT(aStack, tNBT);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public static void setAdvancedProspectionData(
|
||||
byte aTier,
|
||||
ItemStack aStack,
|
||||
|
@ -2052,7 +2144,7 @@ public class GT_Utility {
|
|||
setBookTitle(aStack, "Raw Prospection Data");
|
||||
|
||||
NBTTagCompound tNBT = GT_Utility.ItemNBT.getNBT(aStack);
|
||||
|
||||
|
||||
tNBT.setByte("prospection_tier", aTier);
|
||||
tNBT.setString("prospection_pos", "X: " + aX + " Y: " + aY + " Z: " + aZ + " Dim: " + aDim);
|
||||
|
||||
|
|
|
@ -9,14 +9,18 @@ import codechicken.lib.vec.Rotation;
|
|||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.ConfigCategories;
|
||||
import gregtech.api.enums.GT_Values;
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.interfaces.tileentity.ICoverable;
|
||||
import gregtech.api.interfaces.tileentity.ITurnable;
|
||||
import gregtech.api.metatileentity.BaseMetaPipeEntity;
|
||||
import gregtech.api.objects.GT_FluidStack;
|
||||
import gregtech.api.util.GT_Log;
|
||||
import gregtech.api.util.GT_PlayedSound;
|
||||
import gregtech.api.util.GT_Recipe;
|
||||
import gregtech.api.util.GT_Utility;
|
||||
import gregtech.common.entities.GT_Entity_Arrow;
|
||||
import gregtech.common.entities.GT_Entity_Arrow_Potion;
|
||||
|
@ -27,9 +31,12 @@ import net.minecraft.client.Minecraft;
|
|||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.stats.StatFileWriter;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import java.net.URL;
|
||||
|
@ -69,12 +76,17 @@ public class GT_Client extends GT_Proxy
|
|||
private final List mMoltenNegB;
|
||||
private final List mMoltenNegA = Arrays.asList(new Object[0]);
|
||||
private long mAnimationTick;
|
||||
/**This is the place to def the value used below**/
|
||||
private long afterSomeTime;
|
||||
private boolean mAnimationDirection;
|
||||
|
||||
private boolean isFirstClientPlayerTick;
|
||||
private String mMessage;
|
||||
public GT_Client() {
|
||||
mCapeRenderer = new GT_CapeRenderer(mCapeList);
|
||||
mCapeRenderer = new GT_CapeRenderer(mCapeList);
|
||||
mAnimationTick = 0L;
|
||||
mAnimationDirection = false;
|
||||
isFirstClientPlayerTick = true;
|
||||
mMessage = "";
|
||||
mPosR = Arrays.asList(new Materials[]{
|
||||
/**Materials.ChargedCertusQuartz, **/Materials.Enderium, Materials.Vinteum, Materials.Uranium235, Materials.InfusedGold, Materials.Plutonium241, Materials.NaquadahEnriched, Materials.Naquadria, Materials.InfusedOrder, Materials.Force,
|
||||
Materials.Pyrotheum, Materials.Sunnarium, Materials.Glowstone, Materials.Thaumium, Materials.InfusedVis, Materials.InfusedAir, Materials.InfusedFire, Materials.FierySteel, Materials.Firestone
|
||||
|
@ -182,6 +194,7 @@ public class GT_Client extends GT_Proxy
|
|||
String tName = arr$[i$];
|
||||
mCapeList.add(tName.toLowerCase());
|
||||
}
|
||||
|
||||
(new Thread(this)).start();
|
||||
}
|
||||
|
||||
|
@ -206,7 +219,9 @@ public class GT_Client extends GT_Proxy
|
|||
GregTech_API.METATILEENTITIES[i].getStackForm(1L).getTooltip(null, true);
|
||||
i++;
|
||||
} while (true);
|
||||
} catch (Throwable e) {e.printStackTrace(GT_Log.err);}
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace(GT_Log.err);
|
||||
}
|
||||
|
||||
|
||||
// super.onPostLoad();
|
||||
|
@ -222,7 +237,7 @@ public class GT_Client extends GT_Proxy
|
|||
|
||||
public void run() {
|
||||
try {
|
||||
GT_Log.out.println("Skip: GT_Mod: Downloading Cape List.");
|
||||
GT_Log.out.println("GT_Mod: Downloading Cape List.");
|
||||
@SuppressWarnings("resource")
|
||||
Scanner tScanner = new Scanner(new URL("http://gregtech.overminddl1.com/com/gregoriust/gregtech/supporterlist.txt").openStream());
|
||||
while (tScanner.hasNextLine()) {
|
||||
|
@ -233,15 +248,35 @@ public class GT_Client extends GT_Proxy
|
|||
}
|
||||
} catch (Throwable e) {
|
||||
}
|
||||
/**try {
|
||||
GT_Log.out.println("Skip: GT_Mod: Downloading News.");
|
||||
try {
|
||||
GT_Log.out.println("GT New Horizons: Downloading Cape List.");
|
||||
@SuppressWarnings("resource")
|
||||
Scanner tScanner = new Scanner(new URL("https://raw.githubusercontent.com/GTNewHorizons/CustomGTCapeHook-Cape-List/master/capes.txt").openStream());
|
||||
while (tScanner.hasNextLine()) {
|
||||
String tName = tScanner.nextLine();
|
||||
if (tName.contains(":")) {
|
||||
int splitLocation = tName.indexOf(":");
|
||||
String username = tName.substring(0, splitLocation);
|
||||
if (!this.mCapeList.contains(username.toLowerCase()) && !this.mCapeList.contains(tName.toLowerCase())) {
|
||||
this.mCapeList.add(tName.toLowerCase());
|
||||
}
|
||||
} else {
|
||||
if (!this.mCapeList.contains(tName.toLowerCase())) {
|
||||
this.mCapeList.add(tName.toLowerCase());
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
}
|
||||
try {
|
||||
GT_Log.out.println("GT_Mod: Downloading News.");
|
||||
@SuppressWarnings("resource")
|
||||
Scanner tScanner = new Scanner(new URL("http://files.minecraftforge.net/maven/com/gregoriust/gregtech/message.txt").openStream());
|
||||
while (tScanner.hasNextLine()) {
|
||||
this.mMessage = (this.mMessage + tScanner.nextLine() + " ");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
}**/
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
@ -252,6 +287,16 @@ public class GT_Client extends GT_Proxy
|
|||
@SubscribeEvent
|
||||
public void onPlayerTickEventClient(TickEvent.PlayerTickEvent aEvent) {
|
||||
if ((aEvent.side.isClient()) && (aEvent.phase == TickEvent.Phase.END) && (!aEvent.player.isDead)) {
|
||||
afterSomeTime++;
|
||||
if(afterSomeTime>=100L){
|
||||
afterSomeTime=0;
|
||||
StatFileWriter sfw= Minecraft.getMinecraft().thePlayer.getStatFileWriter();
|
||||
try {
|
||||
for(GT_Recipe recipe:GT_Recipe.GT_Recipe_Map.sAssemblylineFakeRecipes.mRecipeList){
|
||||
recipe.mHidden=!sfw.hasAchievementUnlocked(GT_Mod.achievements.getAchievement(recipe.getOutput(0).getUnlocalizedName()));
|
||||
}
|
||||
}catch (Exception e){}
|
||||
}
|
||||
ArrayList<GT_PlayedSound> tList = new ArrayList();
|
||||
for (Map.Entry<GT_PlayedSound, Integer> tEntry : GT_Utility.sPlayedSoundMap.entrySet()) {
|
||||
if (tEntry.getValue().intValue() < 0) {//Integer -> Integer -> int? >_<, fix
|
||||
|
@ -327,6 +372,12 @@ public class GT_Client extends GT_Proxy
|
|||
@SubscribeEvent
|
||||
public void onClientTickEvent(cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent aEvent) {
|
||||
if (aEvent.phase == cpw.mods.fml.common.gameevent.TickEvent.Phase.END) {
|
||||
if(changeDetected>0)changeDetected--;
|
||||
int newHideValue=shouldHeldItemHideThings();
|
||||
if(newHideValue!=hideValue){
|
||||
hideValue=newHideValue;
|
||||
changeDetected=5;
|
||||
}
|
||||
mAnimationTick++;
|
||||
if (mAnimationTick % 50L == 0L)
|
||||
{mAnimationDirection = !mAnimationDirection;}
|
||||
|
@ -493,4 +544,27 @@ public class GT_Client extends GT_Proxy
|
|||
else
|
||||
aWorld.playSound(aX, aY, aZ, tString, 3F, tString.startsWith("note.") ? (float) Math.pow(2D, (double) (aStack.stackSize - 13) / 12D) : 1.0F, false);
|
||||
}
|
||||
}
|
||||
|
||||
public static int hideValue=0;
|
||||
public static int changeDetected=0;
|
||||
|
||||
private static int shouldHeldItemHideThings() {
|
||||
try {
|
||||
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||
if (player == null) return 0;
|
||||
ItemStack held = player.getCurrentEquippedItem();
|
||||
if (held == null) return 0;
|
||||
int[] ids = OreDictionary.getOreIDs(held);
|
||||
int hide = 0;
|
||||
for (int i : ids) {
|
||||
if (OreDictionary.getOreName(i).equals("craftingToolSolderingIron")) {
|
||||
hide |= 0x1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return hide;
|
||||
}catch(Exception e){
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,132 +1,132 @@
|
|||
package gregtech.common;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.profiler.Profiler;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.WorldProvider;
|
||||
import net.minecraft.world.WorldSettings;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.chunk.storage.IChunkLoader;
|
||||
import net.minecraft.world.storage.IPlayerFileData;
|
||||
import net.minecraft.world.storage.ISaveHandler;
|
||||
import net.minecraft.world.storage.WorldInfo;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class GT_DummyWorld
|
||||
extends World {
|
||||
public GT_IteratorRandom mRandom = new GT_IteratorRandom();
|
||||
public ItemStack mLastSetBlock = null;
|
||||
|
||||
public GT_DummyWorld(ISaveHandler par1iSaveHandler, String par2Str, WorldProvider par3WorldProvider, WorldSettings par4WorldSettings, Profiler par5Profiler) {
|
||||
super(par1iSaveHandler, par2Str, par4WorldSettings, par3WorldProvider, par5Profiler);
|
||||
this.rand = this.mRandom;
|
||||
}
|
||||
|
||||
public GT_DummyWorld() {
|
||||
this(new ISaveHandler() {
|
||||
public void saveWorldInfoWithPlayer(WorldInfo var1, NBTTagCompound var2) {
|
||||
}
|
||||
|
||||
public void saveWorldInfo(WorldInfo var1) {
|
||||
}
|
||||
|
||||
public WorldInfo loadWorldInfo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public IPlayerFileData getSaveHandler() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public File getMapFileFromName(String var1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public IChunkLoader getChunkLoader(WorldProvider var1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void flush() {
|
||||
}
|
||||
|
||||
public void checkSessionLock() {
|
||||
}
|
||||
|
||||
public String getWorldDirectoryName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public File getWorldDirectory() {
|
||||
return null;
|
||||
}
|
||||
}, "DUMMY_DIMENSION", null,
|
||||
// new WorldProvider(),
|
||||
//
|
||||
//
|
||||
//
|
||||
// new WorldSettings(new WorldInfo(new NBTTagCompound()))
|
||||
// {
|
||||
// public String getDimensionName()
|
||||
// {
|
||||
// return "DUMMY_DIMENSION";
|
||||
// }
|
||||
// }
|
||||
new WorldSettings(new WorldInfo(new NBTTagCompound())), new Profiler());
|
||||
}
|
||||
|
||||
protected IChunkProvider createChunkProvider() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Entity getEntityByID(int aEntityID) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean setBlock(int aX, int aY, int aZ, Block aBlock, int aMeta, int aFlags) {
|
||||
this.mLastSetBlock = new ItemStack(aBlock, 1, aMeta);
|
||||
return true;
|
||||
}
|
||||
|
||||
public float getSunBrightnessFactor(float p_72967_1_) {
|
||||
return 1.0F;
|
||||
}
|
||||
|
||||
public BiomeGenBase getBiomeGenForCoords(int aX, int aZ) {
|
||||
if ((aX >= 16) && (aZ >= 16) && (aX < 32) && (aZ < 32)) {
|
||||
return BiomeGenBase.plains;
|
||||
}
|
||||
return BiomeGenBase.ocean;
|
||||
}
|
||||
|
||||
public int getFullBlockLightValue(int aX, int aY, int aZ) {
|
||||
return 10;
|
||||
}
|
||||
|
||||
public Block getBlock(int aX, int aY, int aZ) {
|
||||
if ((aX >= 16) && (aZ >= 16) && (aX < 32) && (aZ < 32)) {
|
||||
return aY == 64 ? Blocks.grass : Blocks.air;
|
||||
}
|
||||
return Blocks.air;
|
||||
}
|
||||
|
||||
public int getBlockMetadata(int aX, int aY, int aZ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean canBlockSeeTheSky(int aX, int aY, int aZ) {
|
||||
if ((aX >= 16) && (aZ >= 16) && (aX < 32) && (aZ < 32)) {
|
||||
return aY > 64;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected int func_152379_p() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
package gregtech.common;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.profiler.Profiler;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.WorldProvider;
|
||||
import net.minecraft.world.WorldSettings;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.chunk.storage.IChunkLoader;
|
||||
import net.minecraft.world.storage.IPlayerFileData;
|
||||
import net.minecraft.world.storage.ISaveHandler;
|
||||
import net.minecraft.world.storage.WorldInfo;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class GT_DummyWorld
|
||||
extends World {
|
||||
public GT_IteratorRandom mRandom = new GT_IteratorRandom();
|
||||
public ItemStack mLastSetBlock = null;
|
||||
|
||||
public GT_DummyWorld(ISaveHandler par1iSaveHandler, String par2Str, WorldProvider par3WorldProvider, WorldSettings par4WorldSettings, Profiler par5Profiler) {
|
||||
super(par1iSaveHandler, par2Str, par4WorldSettings, par3WorldProvider, par5Profiler);
|
||||
this.rand = this.mRandom;
|
||||
}
|
||||
|
||||
public GT_DummyWorld() {
|
||||
this(new ISaveHandler() {
|
||||
public void saveWorldInfoWithPlayer(WorldInfo var1, NBTTagCompound var2) {
|
||||
}
|
||||
|
||||
public void saveWorldInfo(WorldInfo var1) {
|
||||
}
|
||||
|
||||
public WorldInfo loadWorldInfo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public IPlayerFileData getSaveHandler() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public File getMapFileFromName(String var1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public IChunkLoader getChunkLoader(WorldProvider var1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void flush() {
|
||||
}
|
||||
|
||||
public void checkSessionLock() {
|
||||
}
|
||||
|
||||
public String getWorldDirectoryName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public File getWorldDirectory() {
|
||||
return null;
|
||||
}
|
||||
}, "DUMMY_DIMENSION", null,
|
||||
// new WorldProvider(),
|
||||
//
|
||||
//
|
||||
//
|
||||
// new WorldSettings(new WorldInfo(new NBTTagCompound()))
|
||||
// {
|
||||
// public String getDimensionName()
|
||||
// {
|
||||
// return "DUMMY_DIMENSION";
|
||||
// }
|
||||
// }
|
||||
new WorldSettings(new WorldInfo(new NBTTagCompound())), new Profiler());
|
||||
}
|
||||
|
||||
protected IChunkProvider createChunkProvider() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Entity getEntityByID(int aEntityID) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean setBlock(int aX, int aY, int aZ, Block aBlock, int aMeta, int aFlags) {
|
||||
this.mLastSetBlock = new ItemStack(aBlock, 1, aMeta);
|
||||
return true;
|
||||
}
|
||||
|
||||
public float getSunBrightnessFactor(float p_72967_1_) {
|
||||
return 1.0F;
|
||||
}
|
||||
|
||||
public BiomeGenBase getBiomeGenForCoords(int aX, int aZ) {
|
||||
if ((aX >= 16) && (aZ >= 16) && (aX < 32) && (aZ < 32)) {
|
||||
return BiomeGenBase.plains;
|
||||
}
|
||||
return BiomeGenBase.ocean;
|
||||
}
|
||||
|
||||
public int getFullBlockLightValue(int aX, int aY, int aZ) {
|
||||
return 10;
|
||||
}
|
||||
|
||||
public Block getBlock(int aX, int aY, int aZ) {
|
||||
if ((aX >= 16) && (aZ >= 16) && (aX < 32) && (aZ < 32)) {
|
||||
return aY == 64 ? Blocks.grass : Blocks.air;
|
||||
}
|
||||
return Blocks.air;
|
||||
}
|
||||
|
||||
public int getBlockMetadata(int aX, int aY, int aZ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean canBlockSeeTheSky(int aX, int aY, int aZ) {
|
||||
if ((aX >= 16) && (aZ >= 16) && (aX < 32) && (aZ < 32)) {
|
||||
return aY > 64;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected int func_152379_p() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
package gregtech.common;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class GT_IteratorRandom
|
||||
extends Random {
|
||||
private static final long serialVersionUID = 1L;
|
||||
public int mIterationStep = 2147483647;
|
||||
|
||||
public int nextInt(int aParameter) {
|
||||
if ((this.mIterationStep == 0) || (this.mIterationStep > aParameter)) {
|
||||
this.mIterationStep = aParameter;
|
||||
}
|
||||
return --this.mIterationStep;
|
||||
}
|
||||
}
|
||||
package gregtech.common;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class GT_IteratorRandom
|
||||
extends Random {
|
||||
private static final long serialVersionUID = 1L;
|
||||
public int mIterationStep = 2147483647;
|
||||
|
||||
public int nextInt(int aParameter) {
|
||||
if ((this.mIterationStep == 0) || (this.mIterationStep > aParameter)) {
|
||||
this.mIterationStep = aParameter;
|
||||
}
|
||||
return --this.mIterationStep;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,81 +1,81 @@
|
|||
package gregtech.common;
|
||||
|
||||
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.WorldGenerator;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class GT_MinableOreGenerator
|
||||
extends WorldGenerator {
|
||||
private Block minableBlockId;
|
||||
private Block mBlock;
|
||||
private int minableBlockMeta = 0;
|
||||
private int numberOfBlocks;
|
||||
private boolean allowVoid = false;
|
||||
|
||||
public GT_MinableOreGenerator(Block par1, int par2) {
|
||||
this.minableBlockId = par1;
|
||||
this.numberOfBlocks = par2;
|
||||
}
|
||||
|
||||
public GT_MinableOreGenerator(Block id, int meta, int number, boolean aAllowVoid, Block aBlock) {
|
||||
this(id, number);
|
||||
this.minableBlockMeta = meta;
|
||||
this.allowVoid = aAllowVoid;
|
||||
this.mBlock = aBlock;
|
||||
}
|
||||
|
||||
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) {
|
||||
float math_pi = 3.141593F;//FB: CNT - CNT_ROUGH_CONSTANT_VALUE
|
||||
float var6 = par2Random.nextFloat() * math_pi;
|
||||
float var1s = this.numberOfBlocks / 8.0F;
|
||||
int var4s = par4 - 2;int var5s = par3 + 8;int var6s = par5 + 8;
|
||||
float var7s = this.numberOfBlocks / 16.0F;
|
||||
float var8s = math_pi / this.numberOfBlocks;
|
||||
float mh_s_0 = MathHelper.sin(var6) * var1s;float mh_c_0 = MathHelper.cos(var6) * var1s;
|
||||
float var7 = var5s + mh_s_0;
|
||||
float var11 = var6s + mh_c_0;
|
||||
int var15r = par2Random.nextInt(3);int var17r = par2Random.nextInt(3);
|
||||
int mh_n_4=var17r - var15r;
|
||||
int var15 = var4s + var15r;
|
||||
float mh_n_0 = -2*mh_s_0;float mh_n_1 = -2*mh_c_0;
|
||||
for (int var19 = 0; var19 <= this.numberOfBlocks; var19++) {
|
||||
float mh_n_2 = var19 / this.numberOfBlocks;
|
||||
float var20 = var7 + mh_n_0 * mh_n_2;
|
||||
float var22 = var15 + mh_n_4 * mh_n_2;
|
||||
float var24 = var11 + mh_n_1 * mh_n_2;
|
||||
float var26 = par2Random.nextFloat() * var7s;
|
||||
float var1c = var19 * var8s;
|
||||
float var28 = ((MathHelper.sin(var1c) + 1.0F) * var26 + 1.0F) / 2.0F;
|
||||
int var32 = MathHelper.floor_float(var20 - var28);
|
||||
int var33 = MathHelper.floor_float(var22 - var28);
|
||||
int var34 = MathHelper.floor_float(var24 - var28);
|
||||
int var35 = MathHelper.floor_float(var20 + var28);
|
||||
int var36 = MathHelper.floor_float(var22 + var28);
|
||||
int var37 = MathHelper.floor_float(var24 + var28);
|
||||
for (int var38 = var32; var38 <= var35; var38++) {
|
||||
float var39 = (var38 + 0.5F - var20) / (var28);
|
||||
float var5c = var39 * var39;
|
||||
if (var5c < 1.0F) {
|
||||
for (int var41 = var33; var41 <= var36; var41++) {
|
||||
float var42 = (var41 + 0.5F - var22) / (var28);
|
||||
float var7c = var5c + var42 * var42;
|
||||
if (var7c < 1.0F) {
|
||||
for (int var44 = var34; var44 <= var37; var44++) {
|
||||
float var45 = (var44 + 0.5F - var24) / (var28);
|
||||
Block block = par1World.getBlock(var38, var41, var44);
|
||||
if ((var7c + var45 * var45 < 1.0F) && (((this.allowVoid) && (par1World.getBlock(var38, var41, var44) == Blocks.air)) || ((block != null) && (block.isReplaceableOreGen(par1World, var38, var41, var44, this.mBlock))))) {
|
||||
par1World.setBlock(var38, var41, var44, this.minableBlockId, this.minableBlockMeta, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
package gregtech.common;
|
||||
|
||||
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.WorldGenerator;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class GT_MinableOreGenerator
|
||||
extends WorldGenerator {
|
||||
private Block minableBlockId;
|
||||
private Block mBlock;
|
||||
private int minableBlockMeta = 0;
|
||||
private int numberOfBlocks;
|
||||
private boolean allowVoid = false;
|
||||
|
||||
public GT_MinableOreGenerator(Block par1, int par2) {
|
||||
this.minableBlockId = par1;
|
||||
this.numberOfBlocks = par2;
|
||||
}
|
||||
|
||||
public GT_MinableOreGenerator(Block id, int meta, int number, boolean aAllowVoid, Block aBlock) {
|
||||
this(id, number);
|
||||
this.minableBlockMeta = meta;
|
||||
this.allowVoid = aAllowVoid;
|
||||
this.mBlock = aBlock;
|
||||
}
|
||||
|
||||
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) {
|
||||
float math_pi = 3.141593F;//FB: CNT - CNT_ROUGH_CONSTANT_VALUE
|
||||
float var6 = par2Random.nextFloat() * math_pi;
|
||||
float var1s = this.numberOfBlocks / 8.0F;
|
||||
int var4s = par4 - 2;int var5s = par3 + 8;int var6s = par5 + 8;
|
||||
float var7s = this.numberOfBlocks / 16.0F;
|
||||
float var8s = math_pi / this.numberOfBlocks;
|
||||
float mh_s_0 = MathHelper.sin(var6) * var1s;float mh_c_0 = MathHelper.cos(var6) * var1s;
|
||||
float var7 = var5s + mh_s_0;
|
||||
float var11 = var6s + mh_c_0;
|
||||
int var15r = par2Random.nextInt(3);int var17r = par2Random.nextInt(3);
|
||||
int mh_n_4=var17r - var15r;
|
||||
int var15 = var4s + var15r;
|
||||
float mh_n_0 = -2*mh_s_0;float mh_n_1 = -2*mh_c_0;
|
||||
for (int var19 = 0; var19 <= this.numberOfBlocks; var19++) {
|
||||
float mh_n_2 = var19 / this.numberOfBlocks;
|
||||
float var20 = var7 + mh_n_0 * mh_n_2;
|
||||
float var22 = var15 + mh_n_4 * mh_n_2;
|
||||
float var24 = var11 + mh_n_1 * mh_n_2;
|
||||
float var26 = par2Random.nextFloat() * var7s;
|
||||
float var1c = var19 * var8s;
|
||||
float var28 = ((MathHelper.sin(var1c) + 1.0F) * var26 + 1.0F) / 2.0F;
|
||||
int var32 = MathHelper.floor_float(var20 - var28);
|
||||
int var33 = MathHelper.floor_float(var22 - var28);
|
||||
int var34 = MathHelper.floor_float(var24 - var28);
|
||||
int var35 = MathHelper.floor_float(var20 + var28);
|
||||
int var36 = MathHelper.floor_float(var22 + var28);
|
||||
int var37 = MathHelper.floor_float(var24 + var28);
|
||||
for (int var38 = var32; var38 <= var35; var38++) {
|
||||
float var39 = (var38 + 0.5F - var20) / (var28);
|
||||
float var5c = var39 * var39;
|
||||
if (var5c < 1.0F) {
|
||||
for (int var41 = var33; var41 <= var36; var41++) {
|
||||
float var42 = (var41 + 0.5F - var22) / (var28);
|
||||
float var7c = var5c + var42 * var42;
|
||||
if (var7c < 1.0F) {
|
||||
for (int var44 = var34; var44 <= var37; var44++) {
|
||||
float var45 = (var44 + 0.5F - var24) / (var28);
|
||||
Block block = par1World.getBlock(var38, var41, var44);
|
||||
if ((var7c + var45 * var45 < 1.0F) && (((this.allowVoid) && (par1World.getBlock(var38, var41, var44) == Blocks.air)) || ((block != null) && (block.isReplaceableOreGen(par1World, var38, var41, var44, this.mBlock))))) {
|
||||
par1World.setBlock(var38, var41, var44, this.minableBlockId, this.minableBlockMeta, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,90 +1,90 @@
|
|||
package gregtech.common;
|
||||
|
||||
import com.google.common.io.ByteArrayDataInput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import cpw.mods.fml.common.network.FMLEmbeddedChannel;
|
||||
import cpw.mods.fml.common.network.FMLOutboundHandler;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import gregtech.api.enums.GT_Values;
|
||||
import gregtech.api.net.*;
|
||||
import gregtech.common.blocks.GT_Packet_Ores;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.ChannelHandler;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import io.netty.handler.codec.MessageToMessageCodec;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
|
||||
import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
|
||||
@ChannelHandler.Sharable
|
||||
public class GT_Network
|
||||
extends MessageToMessageCodec<FMLProxyPacket, GT_Packet>
|
||||
implements IGT_NetworkHandler {
|
||||
private final EnumMap<Side, FMLEmbeddedChannel> mChannel;
|
||||
private final GT_Packet[] mSubChannels;
|
||||
|
||||
public GT_Network() {
|
||||
this.mChannel = NetworkRegistry.INSTANCE.newChannel("GregTech", new ChannelHandler[]{this, new HandlerShared()});
|
||||
this.mSubChannels = new GT_Packet[]{new GT_Packet_TileEntity(), new GT_Packet_Sound(), new GT_Packet_Block_Event(), new GT_Packet_Ores()};
|
||||
}
|
||||
|
||||
protected void encode(ChannelHandlerContext aContext, GT_Packet aPacket, List<Object> aOutput)
|
||||
throws Exception {
|
||||
aOutput.add(new FMLProxyPacket(Unpooled.buffer().writeByte(aPacket.getPacketID()).writeBytes(aPacket.encode()).copy(), (String) aContext.channel().attr(NetworkRegistry.FML_CHANNEL).get()));
|
||||
}
|
||||
|
||||
protected void decode(ChannelHandlerContext aContext, FMLProxyPacket aPacket, List<Object> aOutput)
|
||||
throws Exception {
|
||||
ByteArrayDataInput aData = ByteStreams.newDataInput(aPacket.payload().array());
|
||||
aOutput.add(this.mSubChannels[aData.readByte()].decode(aData));
|
||||
}
|
||||
|
||||
public void sendToPlayer(GT_Packet aPacket, EntityPlayerMP aPlayer) {
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(aPlayer);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).writeAndFlush(aPacket);
|
||||
}
|
||||
|
||||
public void sendToAllAround(GT_Packet aPacket, NetworkRegistry.TargetPoint aPosition) {
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(aPosition);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).writeAndFlush(aPacket);
|
||||
}
|
||||
|
||||
public void sendToServer(GT_Packet aPacket) {
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.CLIENT)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.CLIENT)).writeAndFlush(aPacket);
|
||||
}
|
||||
|
||||
public void sendPacketToAllPlayersInRange(World aWorld, GT_Packet aPacket, int aX, int aZ) {
|
||||
if (!aWorld.isRemote) {
|
||||
for (Object tObject : aWorld.playerEntities) {
|
||||
if (!(tObject instanceof EntityPlayerMP)) {
|
||||
break;
|
||||
}
|
||||
EntityPlayerMP tPlayer = (EntityPlayerMP) tObject;
|
||||
Chunk tChunk = aWorld.getChunkFromBlockCoords(aX, aZ);
|
||||
if (tPlayer.getServerForPlayer().getPlayerManager().isPlayerWatchingChunk(tPlayer, tChunk.xPosition, tChunk.zPosition)) {
|
||||
sendToPlayer(aPacket, tPlayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ChannelHandler.Sharable
|
||||
static final class HandlerShared
|
||||
extends SimpleChannelInboundHandler<GT_Packet> {
|
||||
protected void channelRead0(ChannelHandlerContext ctx, GT_Packet aPacket)
|
||||
throws Exception {
|
||||
EntityPlayer aPlayer = GT_Values.GT.getThePlayer();
|
||||
aPacket.process(aPlayer == null ? null : GT_Values.GT.getThePlayer().worldObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
package gregtech.common;
|
||||
|
||||
import com.google.common.io.ByteArrayDataInput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import cpw.mods.fml.common.network.FMLEmbeddedChannel;
|
||||
import cpw.mods.fml.common.network.FMLOutboundHandler;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import gregtech.api.enums.GT_Values;
|
||||
import gregtech.api.net.*;
|
||||
import gregtech.common.blocks.GT_Packet_Ores;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.ChannelHandler;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import io.netty.handler.codec.MessageToMessageCodec;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
|
||||
import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
|
||||
@ChannelHandler.Sharable
|
||||
public class GT_Network
|
||||
extends MessageToMessageCodec<FMLProxyPacket, GT_Packet>
|
||||
implements IGT_NetworkHandler {
|
||||
private final EnumMap<Side, FMLEmbeddedChannel> mChannel;
|
||||
private final GT_Packet[] mSubChannels;
|
||||
|
||||
public GT_Network() {
|
||||
this.mChannel = NetworkRegistry.INSTANCE.newChannel("GregTech", new ChannelHandler[]{this, new HandlerShared()});
|
||||
this.mSubChannels = new GT_Packet[]{new GT_Packet_TileEntity(), new GT_Packet_Sound(), new GT_Packet_Block_Event(), new GT_Packet_Ores()};
|
||||
}
|
||||
|
||||
protected void encode(ChannelHandlerContext aContext, GT_Packet aPacket, List<Object> aOutput)
|
||||
throws Exception {
|
||||
aOutput.add(new FMLProxyPacket(Unpooled.buffer().writeByte(aPacket.getPacketID()).writeBytes(aPacket.encode()).copy(), (String) aContext.channel().attr(NetworkRegistry.FML_CHANNEL).get()));
|
||||
}
|
||||
|
||||
protected void decode(ChannelHandlerContext aContext, FMLProxyPacket aPacket, List<Object> aOutput)
|
||||
throws Exception {
|
||||
ByteArrayDataInput aData = ByteStreams.newDataInput(aPacket.payload().array());
|
||||
aOutput.add(this.mSubChannels[aData.readByte()].decode(aData));
|
||||
}
|
||||
|
||||
public void sendToPlayer(GT_Packet aPacket, EntityPlayerMP aPlayer) {
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(aPlayer);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).writeAndFlush(aPacket);
|
||||
}
|
||||
|
||||
public void sendToAllAround(GT_Packet aPacket, NetworkRegistry.TargetPoint aPosition) {
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(aPosition);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).writeAndFlush(aPacket);
|
||||
}
|
||||
|
||||
public void sendToServer(GT_Packet aPacket) {
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.CLIENT)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER);
|
||||
((FMLEmbeddedChannel) this.mChannel.get(Side.CLIENT)).writeAndFlush(aPacket);
|
||||
}
|
||||
|
||||
public void sendPacketToAllPlayersInRange(World aWorld, GT_Packet aPacket, int aX, int aZ) {
|
||||
if (!aWorld.isRemote) {
|
||||
for (Object tObject : aWorld.playerEntities) {
|
||||
if (!(tObject instanceof EntityPlayerMP)) {
|
||||
break;
|
||||
}
|
||||
EntityPlayerMP tPlayer = (EntityPlayerMP) tObject;
|
||||
Chunk tChunk = aWorld.getChunkFromBlockCoords(aX, aZ);
|
||||
if (tPlayer.getServerForPlayer().getPlayerManager().isPlayerWatchingChunk(tPlayer, tChunk.xPosition, tChunk.zPosition)) {
|
||||
sendToPlayer(aPacket, tPlayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ChannelHandler.Sharable
|
||||
static final class HandlerShared
|
||||
extends SimpleChannelInboundHandler<GT_Packet> {
|
||||
protected void channelRead0(ChannelHandlerContext ctx, GT_Packet aPacket)
|
||||
throws Exception {
|
||||
EntityPlayer aPlayer = GT_Values.GT.getThePlayer();
|
||||
aPacket.process(aPlayer == null ? null : GT_Values.GT.getThePlayer().worldObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
package gregtech.common;
|
||||
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.util.GT_Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class GT_PlayerActivityLogger
|
||||
implements Runnable {
|
||||
public void run() {
|
||||
try {
|
||||
for (; ; ) {
|
||||
if (GT_Log.pal == null) {
|
||||
return;
|
||||
}
|
||||
ArrayList<String> tList = GT_Mod.gregtechproxy.mBufferedPlayerActivity;
|
||||
GT_Mod.gregtechproxy.mBufferedPlayerActivity = new ArrayList();
|
||||
String tLastOutput = "";
|
||||
int i = 0;
|
||||
for (int j = tList.size(); i < j; i++) {
|
||||
if (!tLastOutput.equals(tList.get(i))) {
|
||||
GT_Log.pal.println((String) tList.get(i));
|
||||
}
|
||||
tLastOutput = (String) tList.get(i);
|
||||
}
|
||||
Thread.sleep(10000L);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
package gregtech.common;
|
||||
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.util.GT_Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class GT_PlayerActivityLogger
|
||||
implements Runnable {
|
||||
public void run() {
|
||||
try {
|
||||
for (; ; ) {
|
||||
if (GT_Log.pal == null) {
|
||||
return;
|
||||
}
|
||||
ArrayList<String> tList = GT_Mod.gregtechproxy.mBufferedPlayerActivity;
|
||||
GT_Mod.gregtechproxy.mBufferedPlayerActivity = new ArrayList();
|
||||
String tLastOutput = "";
|
||||
int i = 0;
|
||||
for (int j = tList.size(); i < j; i++) {
|
||||
if (!tLastOutput.equals(tList.get(i))) {
|
||||
GT_Log.pal.println((String) tList.get(i));
|
||||
}
|
||||
tLastOutput = (String) tList.get(i);
|
||||
}
|
||||
Thread.sleep(10000L);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,9 @@ import net.minecraftforge.common.DimensionManager;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class GT_Pollution {
|
||||
//import net.minecraft.entity.EntityLiving;
|
||||
|
||||
public class GT_Pollution {//TODO REWORK
|
||||
/**
|
||||
* Pollution dispersion until effects start:
|
||||
* Calculation: ((Limit * 0.01) + 2000) * (4 <- spreading rate)
|
||||
|
@ -50,94 +52,108 @@ public class GT_Pollution {
|
|||
* LV (0%), MV (30%), HV (52%), EV (66%), IV (76%), LuV (84%), ZPM (89%), UV (92%), MAX (95%)
|
||||
*/
|
||||
|
||||
static List<ChunkPosition> tList = null;
|
||||
static TreeMap<Integer,List<ChunkPosition>> tList = null;
|
||||
static int loops = 1;
|
||||
static XSTR tRan = new XSTR();
|
||||
|
||||
public static void onWorldTick(World aWorld, int aTick){
|
||||
if(!GT_Mod.gregtechproxy.mPollution)return;
|
||||
if(!GT_Mod.gregtechproxy.mPollution) return;
|
||||
int aWorldID=aWorld.provider.dimensionId;
|
||||
if(aTick == 0 || (tList==null && GT_Proxy.chunkData!=null)){
|
||||
tList = new ArrayList<ChunkPosition>(GT_Proxy.chunkData.keySet());
|
||||
tList = new TreeMap<>();
|
||||
tList.put(aWorld,new ArrayList<ChunkPosition>(GT_Proxy.chunkData.keySet()));
|
||||
loops = (tList.size()/1200) + 1;
|
||||
// System.out.println("new Pollution loop"+aTick);
|
||||
//System.out.println("new Pollution loop"+aTick);
|
||||
}
|
||||
if(tList!=null && tList.size() > 0){
|
||||
int i = 0;
|
||||
for(; i < loops ; i++){
|
||||
if(tList.size()>0){
|
||||
ChunkPosition tPos = tList.get(0);
|
||||
tList.remove(0);
|
||||
if(tPos!=null && GT_Proxy.chunkData.containsKey(tPos)){
|
||||
if(tList!=null && tList.size() > 0) for(int i = 0; i < loops ; i++) if(tList.size()>0){
|
||||
ChunkPosition tPos = tList.get(0);
|
||||
tList.remove(0);
|
||||
if(tPos!=null && GT_Proxy.chunkData.containsKey(tPos)){
|
||||
int tPollution = GT_Proxy.chunkData.get(tPos)[1];
|
||||
// System.out.println("process: "+tPos.chunkPosY+" "+tPos.chunkPosX+" "+tPos.chunkPosZ+" "+tPollution);
|
||||
//System.out.println("process: "+tPos.chunkPosX+" "+tPos.chunkPosZ+" "+tPollution);
|
||||
//Reduce pollution in chunk
|
||||
tPollution = (int)(0.99f*tPollution);
|
||||
tPollution -= 2000;
|
||||
if(tPollution<=0){tPollution = 0;}
|
||||
//Spread Pollution
|
||||
if(tPollution>50000){
|
||||
List<ChunkPosition> tNeighbor = new ArrayList();
|
||||
tNeighbor.add(new ChunkPosition(tPos.chunkPosX+1, tPos.chunkPosY, tPos.chunkPosZ));
|
||||
tNeighbor.add(new ChunkPosition(tPos.chunkPosX-1, tPos.chunkPosY, tPos.chunkPosZ));
|
||||
tNeighbor.add(new ChunkPosition(tPos.chunkPosX, tPos.chunkPosY, tPos.chunkPosZ+1));
|
||||
tNeighbor.add(new ChunkPosition(tPos.chunkPosX, tPos.chunkPosY, tPos.chunkPosZ-1));
|
||||
for(ChunkPosition tNPos : tNeighbor){
|
||||
if(GT_Proxy.chunkData.containsKey(tNPos)){
|
||||
int tNPol = GT_Proxy.chunkData.get(tNPos)[1];
|
||||
if(tNPol<tPollution && tNPol*12 < tPollution*10){
|
||||
int tDiff = tPollution - tNPol;
|
||||
tDiff = tDiff/10;
|
||||
tNPol += tDiff;
|
||||
tPollution -= tDiff;
|
||||
GT_Proxy.chunkData.get(tNPos)[1] = tNPol;
|
||||
tPollution = (int)(0.9945f*tPollution);
|
||||
//tPollution -= 2000;
|
||||
if(tPollution<=0) tPollution = 0;
|
||||
//Spread Pollution
|
||||
else if(tPollution>400000){
|
||||
List<ChunkPosition> tNeighbor = new ArrayList();
|
||||
tNeighbor.add(new ChunkPosition(tPos.chunkPosX+1, tPos.chunkPosY, tPos.chunkPosZ));
|
||||
tNeighbor.add(new ChunkPosition(tPos.chunkPosX-1, tPos.chunkPosY, tPos.chunkPosZ));
|
||||
tNeighbor.add(new ChunkPosition(tPos.chunkPosX, tPos.chunkPosY, tPos.chunkPosZ+1));
|
||||
tNeighbor.add(new ChunkPosition(tPos.chunkPosX, tPos.chunkPosY, tPos.chunkPosZ-1));
|
||||
for(ChunkPosition tNPos : tNeighbor){
|
||||
if(!GT_Proxy.chunkData.containsKey(tNPos))
|
||||
GT_Utility.undergroundOil(aWorld,tNPos.chunkPosX,tNPos.chunkPosZ,false,0);
|
||||
|
||||
//if(GT_Proxy.chunkData.containsKey(tNPos)){
|
||||
int tNPol = GT_Proxy.chunkData.get(tNPos)[1];
|
||||
if(tNPol*6 < tPollution*5){
|
||||
int tDiff = tPollution - tNPol;
|
||||
tDiff = tDiff/20;
|
||||
tNPol = GT_Utility.safeInt((long)tNPol+tDiff);//tNPol += tDiff;
|
||||
tPollution -= tDiff;
|
||||
GT_Proxy.chunkData.get(tNPos)[1] = tNPol;
|
||||
}
|
||||
}else{
|
||||
GT_Utility.getUndergroundOil(aWorld,tNPos.chunkPosX<<4,tNPos.chunkPosZ<<4);
|
||||
//}
|
||||
}
|
||||
}}
|
||||
}
|
||||
int[] tArray = GT_Proxy.chunkData.get(tPos);
|
||||
tArray[1] = tPollution;
|
||||
GT_Proxy.chunkData.remove(tPos);
|
||||
GT_Proxy.chunkData.put(tPos, tArray);
|
||||
//Create Pollution effects
|
||||
// Smog filter TODO
|
||||
if(tPollution > GT_Mod.gregtechproxy.mPollutionSmogLimit){
|
||||
AxisAlignedBB chunk = AxisAlignedBB.getBoundingBox(tPos.chunkPosX<<4, 0, tPos.chunkPosZ<<4, (tPos.chunkPosX<<4)+16, 256, (tPos.chunkPosZ<<4)+16);
|
||||
List<EntityLivingBase> tEntitys = aWorld.getEntitiesWithinAABB(EntityLivingBase.class, chunk);
|
||||
for(EntityLivingBase tEnt : tEntitys){
|
||||
if(!GT_Utility.isWearingFullGasHazmat(tEnt) && tRan.nextInt(tPollution/2000) > 40){
|
||||
int ran = tRan.nextInt(3);
|
||||
if(ran==0)tEnt.addPotionEffect(new PotionEffect(Potion.weakness.id, Math.min(tPollution/2500,1000), tPollution/400000));
|
||||
if(ran==1)tEnt.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, Math.min(tPollution/2500,1000), tPollution/400000));
|
||||
if(ran==2)tEnt.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, Math.min(tPollution/2500,1000), tPollution/400000));
|
||||
//Smog filter TODO
|
||||
if(tPollution > GT_Mod.gregtechproxy.mPollutionSmogLimit) {
|
||||
AxisAlignedBB chunk = AxisAlignedBB.getBoundingBox(tPos.chunkPosX << 4, 0, tPos.chunkPosZ << 4, (tPos.chunkPosX << 4) + 16, 256, (tPos.chunkPosZ << 4) + 16);
|
||||
List<EntityLivingBase> tEntitys = aWorld.getEntitiesWithinAABB(EntityLivingBase.class, chunk);
|
||||
for (EntityLivingBase tEnt : tEntitys) {
|
||||
if (!GT_Utility.isWearingFullGasHazmat(tEnt)) {
|
||||
switch (tRan.nextInt(3)) {
|
||||
default:
|
||||
tEnt.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, Math.min(tPollution / 1000, 1000), tPollution / 400000));
|
||||
case 1:
|
||||
tEnt.addPotionEffect(new PotionEffect(Potion.weakness.id, Math.min(tPollution / 1000, 1000), tPollution / 400000));
|
||||
case 2:
|
||||
tEnt.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, Math.min(tPollution / 1000, 1000), tPollution / 400000));
|
||||
}
|
||||
}
|
||||
}
|
||||
// Poison effects
|
||||
if(tPollution > GT_Mod.gregtechproxy.mPollutionPoisonLimit){
|
||||
for(EntityLivingBase tEnt : tEntitys){
|
||||
if(!GT_Utility.isWearingFullGasHazmat(tEnt) && tRan.nextInt(tPollution/2000) > 20){
|
||||
int ran = tRan.nextInt(3);
|
||||
if(ran==0)tEnt.addPotionEffect(new PotionEffect(Potion.poison.id, Math.min(tPollution/2500,1000), tPollution/500000));
|
||||
if(ran==1)tEnt.addPotionEffect(new PotionEffect(Potion.confusion.id, Math.min(tPollution/2500,1000), 1));
|
||||
if(ran==2)tEnt.addPotionEffect(new PotionEffect(Potion.blindness.id, Math.min(tPollution/2500,1000), 1));
|
||||
}
|
||||
}
|
||||
// killing plants
|
||||
if(tPollution > GT_Mod.gregtechproxy.mPollutionVegetationLimit){
|
||||
int f = 20;
|
||||
for(;f<(tPollution/25000);f++){
|
||||
int x =tPos.chunkPosX<<4+(tRan.nextInt(16));;
|
||||
int y =60 +(-f+tRan.nextInt(f*2+1));
|
||||
int z =tPos.chunkPosZ<<4+(tRan.nextInt(16));
|
||||
damageBlock(x, y, z, tPollution > GT_Mod.gregtechproxy.mPollutionSourRainLimit);
|
||||
}}}}
|
||||
}
|
||||
// Poison effects
|
||||
if (tPollution > GT_Mod.gregtechproxy.mPollutionPoisonLimit) {
|
||||
//AxisAlignedBB chunk = AxisAlignedBB.getBoundingBox(tPos.chunkPosX*16, 0, tPos.chunkPosZ*16, tPos.chunkPosX*16+16, 256, tPos.chunkPosZ*16+16);
|
||||
//List<EntityLiving> tEntitys = aWorld.getEntitiesWithinAABB(EntityLiving.class, chunk);
|
||||
for (EntityLivingBase tEnt : tEntitys) {
|
||||
if (!GT_Utility.isWearingFullGasHazmat(tEnt)) {
|
||||
switch (tRan.nextInt(4)) {
|
||||
default:
|
||||
tEnt.addPotionEffect(new PotionEffect(Potion.hunger.id, tPollution / 500000));
|
||||
case 1:
|
||||
tEnt.addPotionEffect(new PotionEffect(Potion.confusion.id, Math.min(tPollution / 2000, 1000), 1));
|
||||
case 2:
|
||||
tEnt.addPotionEffect(new PotionEffect(Potion.poison.id, Math.min(tPollution / 4000, 1000), tPollution / 500000));
|
||||
case 3:
|
||||
tEnt.addPotionEffect(new PotionEffect(Potion.blindness.id, Math.min(tPollution / 2000, 1000), 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
// killing plants
|
||||
if (tPollution > GT_Mod.gregtechproxy.mPollutionVegetationLimit) {
|
||||
int f = 20;
|
||||
for (; f < (tPollution / 25000); f++) {
|
||||
int x = (tPos.chunkPosX << 4) + tRan.nextInt(16);
|
||||
int y = 60 + (-f + tRan.nextInt(f * 2 + 1));
|
||||
int z = (tPos.chunkPosZ << 4) + tRan.nextInt(16);
|
||||
damageBlock(aWorld, x, y, z, tPollution > GT_Mod.gregtechproxy.mPollutionSourRainLimit);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
||||
public static void damageBlock(int x, int y, int z, boolean sourRain){
|
||||
World world = DimensionManager.getWorld(0);
|
||||
public static void damageBlock(World world, int x, int y, int z, boolean sourRain){
|
||||
if (world.isRemote) return;
|
||||
Block tBlock = world.getBlock(x, y, z);
|
||||
int tMeta = world.getBlockMetadata(x, y, z);
|
||||
|
@ -207,4 +223,17 @@ public class GT_Pollution {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
public static int getPollutionAtCoords(World aWorld, int aX, int aZ){//TODO FIX
|
||||
ChunkPosition tPos = new ChunkPosition(aX>>4, aWorld.provider.dimensionId, aZ>>4);
|
||||
if(GT_Proxy.chunkData.containsKey(tPos)){
|
||||
int[] tPollution = GT_Proxy.chunkData.get(tPos);
|
||||
if(tPollution.length>1 && tPollution[1]>0){
|
||||
return tPollution[1];
|
||||
}else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -176,7 +176,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
public int mGraniteHavestLevel=3;
|
||||
public int mMaxHarvestLevel=7;
|
||||
public int mWireHeatingTicks = 4;
|
||||
public int mPollutionSmogLimit = 500000;
|
||||
public int mPollutionSmogLimit = 550000;
|
||||
public int mPollutionPoisonLimit = 750000;
|
||||
public int mPollutionVegetationLimit = 1000000;
|
||||
public int mPollutionSourRainLimit = 2000000;
|
||||
|
@ -527,6 +527,172 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
GT_Log.out.println("GT_Mod: Adding Tool Usage Crafting Recipes for OreDict Items.");
|
||||
for (Materials aMaterial : Materials.values()) {
|
||||
if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial)) {
|
||||
if (!aMaterial.contains(SubTag.NO_SMASHING)) {//TODO CHECK
|
||||
if (GregTech_API.sRecipeFile.get(ConfigCategories.Tools.hammerplating, aMaterial.toString(), true)) {
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), tBits, new Object[]{"h", "X", "X",
|
||||
'X', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), tBits,
|
||||
new Object[]{"h", "X", 'X', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), tBits,
|
||||
new Object[]{"H", "X", 'H', ToolDictNames.craftingToolForgeHammer, 'X',
|
||||
OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(
|
||||
GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L),
|
||||
tBits,
|
||||
new Object[]{"H", "X", 'H', ToolDictNames.craftingToolForgeHammer, 'X',
|
||||
OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), tBits,
|
||||
new Object[]{"h", "X", 'X', OrePrefixes.ingotDouble.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L), tBits,
|
||||
new Object[]{"H", "X", 'H', ToolDictNames.craftingToolForgeHammer, 'X',
|
||||
OrePrefixes.ingotDouble.get(aMaterial)});
|
||||
}
|
||||
if (GregTech_API.sRecipeFile.get(ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) {
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotDouble, aMaterial, 1L), tBits, new Object[]{"I", "I", "h",
|
||||
'I', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotTriple, aMaterial, 1L), tBits, new Object[]{"I", "B", "h",
|
||||
'I', OrePrefixes.ingotDouble.get(aMaterial), 'B', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler
|
||||
.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotQuadruple, aMaterial, 1L), tBits,
|
||||
new Object[]{"I", "B", "h", 'I', OrePrefixes.ingotTriple.get(aMaterial), 'B',
|
||||
OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotQuintuple, aMaterial, 1L), tBits,
|
||||
new Object[]{"I", "B", "h", 'I', OrePrefixes.ingotQuadruple.get(aMaterial), 'B',
|
||||
OrePrefixes.ingot.get(aMaterial)});
|
||||
}
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial, 1L), tBits, new Object[]{"PIh", "P ",
|
||||
"f ", 'P', OrePrefixes.plate.get(aMaterial), 'I', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadHammer, aMaterial, 1L), tBits, new Object[]{"II ", "IIh",
|
||||
"II ", 'P', OrePrefixes.plate.get(aMaterial), 'I', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial, 1L), tBits, new Object[]{"PIh", "f ",
|
||||
'P', OrePrefixes.plate.get(aMaterial), 'I', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial, 1L), tBits, new Object[]{"PII", "f h",
|
||||
'P', OrePrefixes.plate.get(aMaterial), 'I', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadPlow, aMaterial, 1L), tBits, new Object[]{"PP", "PP", "hf",
|
||||
'P', OrePrefixes.plate.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSaw, aMaterial, 1L), tBits, new Object[]{"PP ", "fh ",
|
||||
'P', OrePrefixes.plate.get(aMaterial), 'I', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSense, aMaterial, 1L), tBits, new Object[]{"PPI", "hf ",
|
||||
'P', OrePrefixes.plate.get(aMaterial), 'I', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(
|
||||
GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial, 1L),
|
||||
tBits,
|
||||
new Object[]{"fPh", 'P', OrePrefixes.plate.get(aMaterial), 'I',
|
||||
OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial, 1L), tBits, new Object[]{" P ", "fPh",
|
||||
'P', OrePrefixes.plate.get(aMaterial), 'I', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L), tBits,
|
||||
new Object[]{"h ", "fX", 'X', OrePrefixes.stick.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L), tBits,
|
||||
new Object[]{"ShS", 'S', OrePrefixes.stick.get(aMaterial)});
|
||||
}
|
||||
if (!aMaterial.contains(SubTag.NO_WORKING)) {
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 2L), tBits,
|
||||
new Object[]{"s", "X", 'X', OrePrefixes.stickLong.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L), tBits,
|
||||
new Object[]{"f ", " X", 'X', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 2L), tBits,
|
||||
new Object[]{"s ", " X", 'X', OrePrefixes.stick.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 1L), tBits,
|
||||
new Object[]{"fX", "X ", 'X', OrePrefixes.bolt.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.round, aMaterial, 4L), tBits,
|
||||
new Object[]{"fX", 'X', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.rotor, aMaterial, 1L), tBits, new Object[]{"PhP", "SRf", "PdP",
|
||||
'P', aMaterial == Materials.Wood ? OrePrefixes.plank.get(aMaterial) : OrePrefixes.plate.get(aMaterial),
|
||||
'R', OrePrefixes.ring.get(aMaterial), 'S', OrePrefixes.screw.get(aMaterial)});
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L), Materials.Tin.getMolten(32), GT_OreDictUnificator.get(OrePrefixes.rotor, aMaterial, 1L), 240, 24);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L), Materials.Lead.getMolten(48), GT_OreDictUnificator.get(OrePrefixes.rotor, aMaterial, 1L), 240, 24);
|
||||
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L), Materials.SolderingAlloy.getMolten(16), GT_OreDictUnificator.get(OrePrefixes.rotor, aMaterial, 1L), 240, 24);
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L), tBits,
|
||||
new Object[]{"sf", "G ", 'G', OrePrefixes.gemFlawless.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 2L), tBits,
|
||||
new Object[]{"sf", "G ", 'G', OrePrefixes.gemExquisite.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 1L), tBits,
|
||||
new Object[]{"Xx", 'X', OrePrefixes.plate.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 1L), tBits,
|
||||
new Object[]{"Xx", 'X', OrePrefixes.foil.get(aMaterial)});
|
||||
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 1L), tBits, new Object[]{"fPd", "SPS", " P ",
|
||||
'P', aMaterial == Materials.Wood ? OrePrefixes.plank.get(aMaterial) : OrePrefixes.plateDouble.get(aMaterial),
|
||||
'R', OrePrefixes.ring.get(aMaterial), 'S', OrePrefixes.screw.get(aMaterial)});
|
||||
|
||||
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.arrowGtWood, aMaterial, 1L), tBits, new Object[]{" A", " S ",
|
||||
"F ", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', OreDictNames.craftingFeather,
|
||||
'A', OrePrefixes.toolHeadArrow.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.arrowGtPlastic, aMaterial, 1L), tBits, new Object[]{" A", " S ",
|
||||
"F ", 'S', OrePrefixes.stick.get(Materials.Plastic), 'F', OreDictNames.craftingFeather,
|
||||
'A', OrePrefixes.toolHeadArrow.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadArrow, aMaterial, 1L), tBits,
|
||||
new Object[]{"Xf", 'X', OrePrefixes.gemChipped.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadArrow, aMaterial, 3L), tBits,
|
||||
new Object[]{(aMaterial.contains(SubTag.WOOD) ? 115 : 'x') + "Pf", 'P', OrePrefixes.plate.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial, 1L), tBits, new Object[]{"GG ", "G ",
|
||||
"f ", 'G', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial, 1L), tBits, new Object[]{"GG ", "f ",
|
||||
" ", 'G', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial, 1L), tBits, new Object[]{"GGG", "f ",
|
||||
'G', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadPlow, aMaterial, 1L), tBits, new Object[]{"GG", "GG", " f",
|
||||
'G', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSaw, aMaterial, 1L), tBits,
|
||||
new Object[]{"GGf", 'G', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSense, aMaterial, 1L), tBits, new Object[]{"GGG", " f ",
|
||||
" ", 'G', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial, 1L), tBits,
|
||||
new Object[]{"fG", 'G', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial, 1L), tBits, new Object[]{" G", "fG",
|
||||
'G', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadUniversalSpade, aMaterial, 1L), tBits, new Object[]{"fX",
|
||||
'X', OrePrefixes.toolHeadShovel.get(aMaterial)});
|
||||
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadBuzzSaw, aMaterial, 1L), tBits, new Object[]{"wXh", "X X",
|
||||
"fXx", 'X', OrePrefixes.plate.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadWrench, aMaterial, 1L), tBits, new Object[]{"hXW", "XRX",
|
||||
"WXd", 'X', OrePrefixes.plate.get(aMaterial), 'S', OrePrefixes.plate.get(Materials.Steel),
|
||||
'R', OrePrefixes.ring.get(Materials.Steel), 'W', OrePrefixes.screw.get(Materials.Steel)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadChainsaw, aMaterial, 1L), tBits, new Object[]{"SRS", "XhX",
|
||||
"SRS", 'X', OrePrefixes.plate.get(aMaterial), 'S', OrePrefixes.plate.get(Materials.Steel),
|
||||
'R', OrePrefixes.ring.get(Materials.Steel)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadDrill, aMaterial, 1L), tBits, new Object[]{"XSX", "XSX",
|
||||
"ShS", 'X', OrePrefixes.plate.get(aMaterial), 'S', OrePrefixes.plate.get(Materials.Steel)});
|
||||
switch (aMaterial) {
|
||||
case Wood:
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, aMaterial, 1L), tBits, new Object[]{"P ", " s",
|
||||
'P', OrePrefixes.plank.get(aMaterial)});
|
||||
break;
|
||||
case Stone:
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, aMaterial, 1L), tBits, new Object[]{"P ", " f",
|
||||
'P', OrePrefixes.stoneSmooth});
|
||||
break;
|
||||
default:
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, aMaterial, 1L), tBits,
|
||||
new Object[]{" S ", "hPx"," S ", 'S', OrePrefixes.stick.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial)});
|
||||
//new Object[]{"P ", aMaterial.contains(SubTag.WOOD) ? " s" : " h", 'P', OrePrefixes.plate.get(aMaterial)});
|
||||
//TODO CHECK
|
||||
|
||||
}
|
||||
switch (aMaterial) {
|
||||
case Wood:
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gearGt, aMaterial, 1L), tBits, new Object[]{"SPS", "PsP", "SPS",
|
||||
'P', OrePrefixes.plank.get(aMaterial), 'S', OrePrefixes.stick.get(aMaterial)});
|
||||
break;
|
||||
case Stone:
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gearGt, aMaterial, 1L), tBits, new Object[]{"SPS", "PfP", "SPS",
|
||||
'P', OrePrefixes.stoneSmooth, 'S', new ItemStack(Blocks.stone_button, 1, 32767)});
|
||||
break;
|
||||
default:
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gearGt, aMaterial, 1L), tBits, new Object[]{"SPS", "PwP", "SPS",
|
||||
'P', OrePrefixes.plate.get(aMaterial), 'S', OrePrefixes.stick.get(aMaterial)});
|
||||
}
|
||||
}
|
||||
if (aMaterial.contains(SubTag.SMELTING_TO_GEM)) {
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L), tBits, new Object[]{"XXX", "XXX", "XXX",
|
||||
'X', OrePrefixes.nugget.get(aMaterial)});
|
||||
} else {
|
||||
// GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), tBits, new Object[]{"XXX", "XXX", "XXX",
|
||||
// 'X', OrePrefixes.nugget.get(aMaterial)});
|
||||
}//TODO CHECK END
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), tBits, new Object[]{"h", "X",
|
||||
'X', OrePrefixes.crushedCentrifuged.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), tBits, new Object[]{"h", "X",
|
||||
|
@ -555,6 +721,40 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
new Object[]{"XX", "XX", 'X', OrePrefixes.dustSmall.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), tBits,
|
||||
new Object[]{"XXX", "XXX", "XXX", 'X', OrePrefixes.dustTiny.get(aMaterial)});
|
||||
//TODO CHECK
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L), tBits, new Object[]{"Xc", 'X',
|
||||
OrePrefixes.crateGtDust.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 16L), tBits, new Object[]{"Xc", 'X',
|
||||
OrePrefixes.crateGtGem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 16L), tBits, new Object[]{"Xc",
|
||||
'X', OrePrefixes.crateGtIngot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 16L), tBits, new Object[]{"Xc",
|
||||
'X', OrePrefixes.crateGtPlate.get(aMaterial)});
|
||||
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L), tBits,
|
||||
new Object[]{"h", "X", 'X', OrePrefixes.gemFlawed.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L), tBits,
|
||||
new Object[]{"h", "X", 'X', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L), tBits,
|
||||
new Object[]{"h", "X", 'X', OrePrefixes.gemFlawless.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L), tBits,
|
||||
new Object[]{"h", "X", 'X', OrePrefixes.gemExquisite.get(aMaterial)});
|
||||
if ((aMaterial.contains(SubTag.MORTAR_GRINDABLE)) && (GregTech_API.sRecipeFile.get(ConfigCategories.Tools.mortar, aMaterial.name(), true))) {
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L), tBits,
|
||||
new Object[]{"X", "m", 'X', OrePrefixes.gemChipped.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L), tBits,
|
||||
new Object[]{"X", "m", 'X', OrePrefixes.gemFlawed.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), tBits,
|
||||
new Object[]{"X", "m", 'X', OrePrefixes.gem.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L), tBits,
|
||||
new Object[]{"X", "m", 'X', OrePrefixes.gemFlawless.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 4L), tBits,
|
||||
new Object[]{"X", "m", 'X', OrePrefixes.gemExquisite.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), tBits,
|
||||
new Object[]{"X", "m", 'X', OrePrefixes.ingot.get(aMaterial)});
|
||||
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), tBits,
|
||||
new Object[]{"X", "m", 'X', OrePrefixes.plate.get(aMaterial)});
|
||||
}//TODO CHECK END
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -849,7 +1049,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
GT_OreDictUnificator.registerOre(OreDictNames.craftingWireCopper, aEvent.Ore);
|
||||
}
|
||||
else if (aEvent.Name.equals("oreHeeEndrium")) {
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.ore, Materials.Endium, aEvent.Ore);
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.ore, Materials.HeeEndium, aEvent.Ore);
|
||||
}
|
||||
else if (aEvent.Name.equals("sheetPlastic")) {
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.plate, Materials.Plastic, aEvent.Ore);
|
||||
|
@ -1406,9 +1606,9 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
return null;
|
||||
}
|
||||
|
||||
public Object getRightItemGui(EntityPlayer player, int ID){
|
||||
ItemStack mStack = player.getEquipmentInSlot(ID/100);
|
||||
if(mStack==null||!(mStack.getItem() instanceof ModularArmor_Item))return null;
|
||||
public Object getRightItemGui(EntityPlayer player, int ID){
|
||||
ItemStack mStack = player.getEquipmentInSlot(ID/100);
|
||||
if(mStack==null||!(mStack.getItem() instanceof ModularArmor_Item))return null;
|
||||
|
||||
switch(ID % 100){
|
||||
case 0:
|
||||
|
@ -1420,7 +1620,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int getBurnTime(ItemStack aFuel) {
|
||||
if ((aFuel == null) || (aFuel.getItem() == null)) {
|
||||
|
@ -1531,7 +1731,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
rFuelValue = Math.max(rFuelValue, 600);
|
||||
} else if (GT_Utility.areStacksEqual(aFuel, ItemList.Block_MSSFUEL.get(1, new Object[0]))) {
|
||||
rFuelValue = Math.max(rFuelValue, 150000);
|
||||
}if (GT_Utility.areStacksEqual(aFuel, ItemList.Block_SSFUEL.get(1, new Object[0]))) {
|
||||
}
|
||||
if (GT_Utility.areStacksEqual(aFuel, ItemList.Block_SSFUEL.get(1, new Object[0]))) {
|
||||
rFuelValue = Math.max(rFuelValue, 100000);
|
||||
}
|
||||
|
||||
|
@ -1543,6 +1744,11 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
aMaterial.mMoltenRGBa, 4, aMaterial.mMeltingPoint <= 0 ? 1000 : aMaterial.mMeltingPoint, null, null, 0);
|
||||
}
|
||||
|
||||
public Fluid addAutogeneratedWetFluid(Materials aMaterial) {
|
||||
return addFluid("wet." + aMaterial.mName.toLowerCase(Locale.ENGLISH), "wet.autogenerated", "Wet " + aMaterial.mDefaultLocalName, aMaterial,
|
||||
aMaterial.mMoltenRGBa, 4, aMaterial.mMeltingPoint <= 0 ? 1000 : aMaterial.mMeltingPoint, GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
|
||||
}
|
||||
|
||||
public Fluid addAutogeneratedPlasmaFluid(Materials aMaterial) {
|
||||
return addFluid("plasma." + aMaterial.mName.toLowerCase(Locale.ENGLISH), "plasma.autogenerated", aMaterial.mDefaultLocalName + " Plasma", aMaterial,
|
||||
aMaterial.mMoltenRGBa, 3, 10000, GT_OreDictUnificator.get(OrePrefixes.cellPlasma, aMaterial, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
|
||||
|
@ -1701,8 +1907,10 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
|
||||
public static final HashMap<ChunkPosition, int[]> chunkData = new HashMap<ChunkPosition, int[]>(5000);
|
||||
|
||||
private static final byte oilVer=(byte)0x20;
|
||||
|
||||
@SubscribeEvent
|
||||
public void handleChunkSaveEvent(ChunkDataEvent.Save event)
|
||||
public void handleChunkSaveEvent(ChunkDataEvent.Save event)//TODO FIX +RETROGEN
|
||||
{
|
||||
ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,event.getChunk().worldObj.provider.dimensionId,event.getChunk().zPosition);
|
||||
if(chunkData.containsKey(tPos)){
|
||||
|
@ -1714,7 +1922,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void handleChunkLoadEvent(ChunkDataEvent.Load event)
|
||||
public void handleChunkLoadEvent(ChunkDataEvent.Load event)//TODO FIX +RETROGEN
|
||||
{
|
||||
int tOil = 0;
|
||||
int tOilFluid = 0;
|
||||
|
@ -1756,4 +1964,4 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
|
|||
this.mModID = ((aModID == null) || (aModID.equals("UNKNOWN")) ? null : aModID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,14 +16,13 @@ import net.minecraft.item.ItemStack;
|
|||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
public class GT_RecipeAdder
|
||||
implements IGT_RecipeAdder {
|
||||
public class GT_RecipeAdder implements IGT_RecipeAdder {
|
||||
@Deprecated
|
||||
public boolean addFusionReactorRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt, int aStartEU) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Override //Really?
|
||||
public boolean addFusionReactorRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, int aEUt, int aStartEU) {
|
||||
if (aInput1 == null || aInput2 == null || aOutput1 == null || aDuration < 1 || aEUt < 1 || aStartEU < 1) {
|
||||
return false;
|
||||
|
@ -39,6 +38,10 @@ public class GT_RecipeAdder
|
|||
return addCentrifugeRecipe(aInput1, aInput2 < 0 ? ItemList.IC2_Fuel_Can_Empty.get(-aInput2, new Object[0]) : aInput2 > 0 ? ItemList.Cell_Empty.get(aInput2, new Object[0]) : null, null, null, aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6, null, aDuration, 5);
|
||||
}
|
||||
|
||||
public boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt) {
|
||||
return addCentrifugeRecipe(aInput1, aInput2 < 0 ? ItemList.IC2_Fuel_Can_Empty.get(-aInput2, new Object[0]) : aInput2 > 0 ? ItemList.Cell_Empty.get(aInput2, new Object[0]) : null, null, null, aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6, null, aDuration, aEUt);
|
||||
}
|
||||
|
||||
public boolean addCentrifugeRecipe(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))) {
|
||||
return false;
|
||||
|
@ -86,6 +89,10 @@ public class GT_RecipeAdder
|
|||
return addChemicalRecipe(aInput1, aInput2, null, null, aOutput, aDuration);
|
||||
}
|
||||
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration, int aEUt) {
|
||||
return addChemicalRecipe(aInput1, aInput2, null, null, aOutput, aDuration, aEUt);
|
||||
}
|
||||
|
||||
public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration) {
|
||||
return addChemicalRecipe(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aDuration, 30);
|
||||
}
|
||||
|
@ -155,11 +162,12 @@ public class GT_RecipeAdder
|
|||
return true;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean addCNCRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) {
|
||||
if ((aInput1 == null) || (aOutput1 == null)) {
|
||||
return false;
|
||||
}
|
||||
if ((GregTech_API.sRecipeFile.get("cnc", aOutput1, aDuration)) <= 0) {
|
||||
if ((aDuration = GregTech_API.sRecipeFile.get("cnc", aOutput1, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@ -370,6 +378,17 @@ public class GT_RecipeAdder
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) {
|
||||
if ((aInput1 == null) || (aOutput1 == null)) {
|
||||
return false;
|
||||
}
|
||||
if ((aDuration = GregTech_API.sRecipeFile.get("vacuumfreezer", aInput1, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
new GT_Recipe(aInput1, aOutput1, aDuration, aEUt, 0);//Since all other methods are taken
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration) {
|
||||
if ((aInput1 == null) || (aOutput1 == null)) {
|
||||
return false;
|
||||
|
@ -381,6 +400,7 @@ public class GT_RecipeAdder
|
|||
return true;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean addGrinderRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4) {
|
||||
return false;
|
||||
}
|
||||
|
@ -462,14 +482,32 @@ public class GT_RecipeAdder
|
|||
return true;
|
||||
}
|
||||
|
||||
public boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, boolean aHidden) {
|
||||
public boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, int aDuration, int aEUt, boolean aHidden) {
|
||||
if ((aIngredient == null) || (aInput == null) || (aOutput == null)) {
|
||||
return false;
|
||||
}
|
||||
if (!GregTech_API.sRecipeFile.get("brewing", aOutput.getUnlocalizedName(), true)) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sBrewingRecipes.addRecipe(false, new ItemStack[]{aIngredient}, null, null, new FluidStack[]{new FluidStack(aInput, 750)}, new FluidStack[]{new FluidStack(aOutput, 750)}, 128, 4, 0);
|
||||
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sBrewingRecipes.addRecipe(false, new ItemStack[]{aIngredient}, null, null, new FluidStack[]{new FluidStack(aInput, 750)}, new FluidStack[]{new FluidStack(aOutput, 750)}, aDuration, aEUt, 0);
|
||||
if ((aHidden) && (tRecipe != null)) {
|
||||
tRecipe.mHidden = true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, boolean aHidden) {
|
||||
return addBrewingRecipe(aIngredient, aInput, aOutput, 128, 4, aHidden);
|
||||
}
|
||||
|
||||
public boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt, boolean aHidden) {
|
||||
if ((aInput == null) || (aOutput == null)) {
|
||||
return false;
|
||||
}
|
||||
if ((aDuration = GregTech_API.sRecipeFile.get("fermenting", aOutput.getFluid().getUnlocalizedName(), aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sFermentingRecipes.addRecipe(false, null, null, null, new FluidStack[]{aInput}, new FluidStack[]{aOutput}, aDuration, aEUt, 0);
|
||||
if ((aHidden) && (tRecipe != null)) {
|
||||
tRecipe.mHidden = true;
|
||||
}
|
||||
|
@ -477,17 +515,7 @@ public class GT_RecipeAdder
|
|||
}
|
||||
|
||||
public boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, boolean aHidden) {
|
||||
if ((aInput == null) || (aOutput == null)) {
|
||||
return false;
|
||||
}
|
||||
if ((aDuration = GregTech_API.sRecipeFile.get("fermenting", aOutput.getFluid().getUnlocalizedName(), aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sFermentingRecipes.addRecipe(false, null, null, null, new FluidStack[]{aInput}, new FluidStack[]{aOutput}, aDuration, 2, 0);
|
||||
if ((aHidden) && (tRecipe != null)) {
|
||||
tRecipe.mHidden = true;
|
||||
}
|
||||
return true;
|
||||
return addFermentingRecipe(aInput, aOutput, aDuration, 2, aHidden);
|
||||
}
|
||||
|
||||
public boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt, boolean aHidden) {
|
||||
|
@ -564,6 +592,8 @@ public class GT_RecipeAdder
|
|||
}
|
||||
|
||||
public boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput) {
|
||||
int aDuration= aFluidOutput == null ? aFluidInput.amount / 62 : aFluidOutput.amount / 62;
|
||||
|
||||
if ((aInput != null) && (aOutput != null)) {
|
||||
if ((aFluidInput == null ? 1 : 0) != (aFluidOutput == null ? 1 : 0)) {
|
||||
}
|
||||
|
@ -573,7 +603,27 @@ public class GT_RecipeAdder
|
|||
if (!GregTech_API.sRecipeFile.get("fluidcanner", aOutput, true)) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes.addRecipe(true, new ItemStack[]{aInput}, new ItemStack[]{aOutput}, null, new FluidStack[]{aFluidInput == null ? null : aFluidInput}, new FluidStack[]{aFluidOutput == null ? null : aFluidOutput}, aFluidOutput == null ? aFluidInput.amount / 62 : aFluidOutput.amount / 62, 1, 0);
|
||||
if ((aDuration = GregTech_API.sRecipeFile.get("fluidcanner", aInput, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes.addRecipe(true, new ItemStack[]{aInput}, new ItemStack[]{aOutput}, null, new FluidStack[]{aFluidInput == null ? null : aFluidInput}, new FluidStack[]{aFluidOutput == null ? null : aFluidOutput}, aDuration, 1, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt) {
|
||||
if ((aInput != null) && (aOutput != null)) {
|
||||
if ((aFluidInput == null ? 1 : 0) != (aFluidOutput == null ? 1 : 0)) {
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
if (!GregTech_API.sRecipeFile.get("fluidcanner", aOutput, true)) {
|
||||
return false;
|
||||
}
|
||||
if ((aDuration = GregTech_API.sRecipeFile.get("fluidcanner", aInput, aDuration)) <= 0) {
|
||||
return false;
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes.addRecipe(true, new ItemStack[]{aInput}, new ItemStack[]{aOutput}, null, new FluidStack[]{aFluidInput == null ? null : aFluidInput}, new FluidStack[]{aFluidOutput == null ? null : aFluidOutput}, aDuration, aEUt, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -843,10 +893,10 @@ public class GT_RecipeAdder
|
|||
return false;
|
||||
}
|
||||
for(ItemStack tItem : aInputs){
|
||||
if(tItem==null)System.out.println("addAssemblylineRecipe"+aResearchItem.getDisplayName());
|
||||
if(tItem==null)System.out.println("addAssemblinglineRecipe"+aResearchItem.getDisplayName());
|
||||
}
|
||||
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Research result", new Object[0])}, null, null, aResearchTime, 30, 0);
|
||||
|
||||
GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result", new Object[0])}, null, null, aResearchTime, 30, 0);
|
||||
GT_Recipe.GT_Recipe_Map.sAssemblylineFakeRecipes.addFakeRecipe(false, aInputs, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result", new Object[0])}, aFluidInputs, null, aDuration, aEUt, 0,true);
|
||||
GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe_AssemblyLine( aResearchItem, aResearchTime, aInputs, aFluidInputs, aOutput, aDuration, aEUt));
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
package gregtech.common;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class GT_Server
|
||||
extends GT_Proxy {
|
||||
public boolean isServerSide() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isClientSide() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isBukkitSide() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void doSonictronSound(ItemStack aStack, World aWorld, double aX, double aY, double aZ) {
|
||||
}
|
||||
|
||||
public int addArmor(String aPrefix) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public EntityPlayer getThePlayer() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
package gregtech.common;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class GT_Server
|
||||
extends GT_Proxy {
|
||||
public boolean isServerSide() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isClientSide() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isBukkitSide() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void doSonictronSound(ItemStack aStack, World aWorld, double aX, double aY, double aZ) {
|
||||
}
|
||||
|
||||
public int addArmor(String aPrefix) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public EntityPlayer getThePlayer() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,9 +4,11 @@ import gregtech.GT_Mod;
|
|||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.GT_Values;
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.util.GT_Log;
|
||||
import gregtech.api.world.GT_Worldgen;
|
||||
import gregtech.common.blocks.GT_TileEntity_Ores;
|
||||
import gregtech.loaders.misc.GT_Achievements;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
|
@ -14,6 +16,8 @@ import net.minecraft.world.chunk.IChunkProvider;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
|
||||
import static gregtech.api.enums.GT_Values.D1;
|
||||
|
||||
public class GT_Worldgen_GT_Ore_Layer
|
||||
extends GT_Worldgen {
|
||||
public static ArrayList<GT_Worldgen_GT_Ore_Layer> sList = new ArrayList();
|
||||
|
@ -27,25 +31,26 @@ public class GT_Worldgen_GT_Ore_Layer
|
|||
public final short mSecondaryMeta;
|
||||
public final short mBetweenMeta;
|
||||
public final short mSporadicMeta;
|
||||
//public final String mBiome;
|
||||
public final String mRestrictBiome;
|
||||
public final boolean mOverworld;
|
||||
public final boolean mNether;
|
||||
public final boolean mEnd;
|
||||
public final boolean mEndAsteroid;
|
||||
public final boolean mMoon;
|
||||
public final boolean mMars;
|
||||
public final boolean mAsteroid;
|
||||
//public final boolean mMoon;
|
||||
//public final boolean mMars;
|
||||
//public final boolean mAsteroid;
|
||||
public final String aTextWorldgen = "worldgen.";
|
||||
|
||||
public GT_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 aMoon, boolean aMars, boolean aAsteroid, Materials aPrimary, Materials aSecondary, Materials aBetween, Materials aSporadic) {
|
||||
public GT_Worldgen_GT_Ore_Layer(String aName, boolean aDefault, int aMinY, int aMaxY, int aWeight, int aDensity, int aSize, boolean aOverworld, boolean aNether, boolean aEnd, Materials aPrimary, Materials aSecondary, Materials aBetween, Materials aSporadic) {
|
||||
super(aName, sList, aDefault);
|
||||
this.mOverworld = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Overworld", aOverworld);
|
||||
this.mNether = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Nether", aNether);
|
||||
this.mEnd = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "TheEnd", aEnd);
|
||||
this.mEndAsteroid = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "EndAsteroid", aEnd);
|
||||
this.mMoon = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Moon", aMoon);
|
||||
this.mMars = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Mars", aMars);
|
||||
this.mAsteroid = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Asteroid", aAsteroid);
|
||||
//this.mMoon = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Moon", aMoon);
|
||||
//this.mMars = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Mars", aMars);
|
||||
//this.mAsteroid = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Asteroid", aAsteroid);
|
||||
this.mMinY = ((short) GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "MinHeight", aMinY));
|
||||
this.mMaxY = ((short) Math.max(this.mMinY + 5, GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "MaxHeight", aMaxY)));
|
||||
this.mWeight = ((short) GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "RandomWeight", aWeight));
|
||||
|
@ -79,13 +84,16 @@ public class GT_Worldgen_GT_Ore_Layer
|
|||
if (!this.mRestrictBiome.equals("None") && !(this.mRestrictBiome.equals(aBiome))) {
|
||||
return false; //Not the correct biome for ore mix
|
||||
}
|
||||
if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aWorld.provider.getDimensionName().equals("Moon")) && (this.mMoon)) || ((aWorld.provider.getDimensionName().equals("Mars")) && (this.mMars)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) {
|
||||
//if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aWorld.provider.getDimensionName().equals("Moon")) && (this.mMoon)) || ((aWorld.provider.getDimensionName().equals("Mars")) && (this.mMars)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) {
|
||||
if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) {
|
||||
return false;
|
||||
}
|
||||
int tMinY = this.mMinY + aRandom.nextInt(this.mMaxY - this.mMinY - 5);
|
||||
|
||||
int cX = aChunkX - aRandom.nextInt(this.mSize);
|
||||
int eX = aChunkX + 16 + aRandom.nextInt(this.mSize);
|
||||
|
||||
int[] execCount=new int[4];
|
||||
for (int tX = cX; tX <= eX; tX++) {
|
||||
int cZ = aChunkZ - aRandom.nextInt(this.mSize);
|
||||
int eZ = aChunkZ + 16 + aRandom.nextInt(this.mSize);
|
||||
|
@ -94,27 +102,40 @@ public class GT_Worldgen_GT_Ore_Layer
|
|||
for (int i = tMinY - 1; i < tMinY + 2; i++) {
|
||||
if ((aRandom.nextInt(Math.max(1, Math.max(MathHelper.abs_int(cZ - tZ), MathHelper.abs_int(eZ - tZ)) / this.mDensity)) == 0) || (aRandom.nextInt(Math.max(1, Math.max(MathHelper.abs_int(cX - tX), MathHelper.abs_int(eX - tX)) / this.mDensity)) == 0)) {
|
||||
GT_TileEntity_Ores.setOreBlock(aWorld, tX, i, tZ, this.mSecondaryMeta, false);
|
||||
execCount[1]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((this.mBetweenMeta > 0) && ((aRandom.nextInt(Math.max(1, Math.max(MathHelper.abs_int(cZ - tZ), MathHelper.abs_int(eZ - tZ)) / this.mDensity)) == 0) || (aRandom.nextInt(Math.max(1, Math.max(MathHelper.abs_int(cX - tX), MathHelper.abs_int(eX - tX)) / this.mDensity)) == 0))) {
|
||||
GT_TileEntity_Ores.setOreBlock(aWorld, tX, tMinY + 2 + aRandom.nextInt(2), tZ, this.mBetweenMeta, false);
|
||||
execCount[2]++;
|
||||
}
|
||||
if (this.mPrimaryMeta > 0) {
|
||||
for (int i = tMinY + 3; i < tMinY + 6; i++) {
|
||||
if ((aRandom.nextInt(Math.max(1, Math.max(MathHelper.abs_int(cZ - tZ), MathHelper.abs_int(eZ - tZ)) / this.mDensity)) == 0) || (aRandom.nextInt(Math.max(1, Math.max(MathHelper.abs_int(cX - tX), MathHelper.abs_int(eX - tX)) / this.mDensity)) == 0)) {
|
||||
GT_TileEntity_Ores.setOreBlock(aWorld, tX, i, tZ, this.mPrimaryMeta, false);
|
||||
execCount[0]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((this.mSporadicMeta > 0) && ((aRandom.nextInt(Math.max(1, Math.max(MathHelper.abs_int(cZ - tZ), MathHelper.abs_int(eZ - tZ)) / this.mDensity)) == 0) || (aRandom.nextInt(Math.max(1, Math.max(MathHelper.abs_int(cX - tX), MathHelper.abs_int(eX - tX)) / this.mDensity)) == 0))) {
|
||||
GT_TileEntity_Ores.setOreBlock(aWorld, tX, tMinY - 1 + aRandom.nextInt(7), tZ, this.mSporadicMeta, false);
|
||||
execCount[3]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (GT_Values.D1) {
|
||||
System.out.println("Generated Orevein: " + this.mWorldGenName+" "+aChunkX +" "+ aChunkZ);
|
||||
if (D1) {
|
||||
GT_Log.out.println(
|
||||
"Generated Orevein:" + this.mWorldGenName +
|
||||
" @ dim="+aDimensionType+
|
||||
" chunkX="+aChunkX+
|
||||
" chunkZ="+aChunkZ+
|
||||
" Secondary="+execCount[1]+" "+new ItemStack(GregTech_API.sBlockOres1,1,mPrimaryMeta).getDisplayName()+
|
||||
" Between="+execCount[2]+" "+new ItemStack(GregTech_API.sBlockOres1,1,mPrimaryMeta).getDisplayName()+
|
||||
" Primary="+execCount[0]+" "+new ItemStack(GregTech_API.sBlockOres1,1,mPrimaryMeta).getDisplayName()+
|
||||
" Sporadic="+execCount[3]+" "+new ItemStack(GregTech_API.sBlockOres1,1,mPrimaryMeta).getDisplayName()
|
||||
);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,57 +1,67 @@
|
|||
package gregtech.common;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.world.GT_Worldgen;
|
||||
import gregtech.common.blocks.GT_TileEntity_Ores;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class GT_Worldgen_GT_Ore_SmallPieces
|
||||
extends GT_Worldgen {
|
||||
public final short mMinY;
|
||||
public final short mMaxY;
|
||||
public final short mAmount;
|
||||
public final short mMeta;
|
||||
public final boolean mOverworld;
|
||||
public final boolean mNether;
|
||||
public final boolean mEnd;
|
||||
public final boolean mMoon;
|
||||
public final boolean mMars;
|
||||
public final boolean mAsteroid;
|
||||
public final String mRestrictBiome;
|
||||
public final String aTextWorldgen = "worldgen.";
|
||||
|
||||
public GT_Worldgen_GT_Ore_SmallPieces(String aName, boolean aDefault, int aMinY, int aMaxY, int aAmount, boolean aOverworld, boolean aNether, boolean aEnd, boolean aMoon, boolean aMars, boolean aAsteroid, Materials aPrimary) {
|
||||
super(aName, GregTech_API.sWorldgenList, aDefault);
|
||||
this.mOverworld = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Overworld", aOverworld);
|
||||
this.mNether = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Nether", aNether);
|
||||
this.mEnd = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "TheEnd", aEnd);
|
||||
this.mMoon = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Moon", aMoon);
|
||||
this.mMars = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Mars", aMars);
|
||||
this.mAsteroid = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Asteroid", aAsteroid);
|
||||
this.mMinY = ((short) GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "MinHeight", aMinY));
|
||||
this.mMaxY = ((short) Math.max(this.mMinY + 1, GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "MaxHeight", aMaxY)));
|
||||
this.mAmount = ((short) Math.max(1, GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Amount", aAmount)));
|
||||
this.mMeta = ((short) GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Ore", aPrimary.mMetaItemSubID));
|
||||
this.mRestrictBiome = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "RestrictToBiomeName", "None");
|
||||
}
|
||||
|
||||
public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
|
||||
if (!this.mRestrictBiome.equals("None") && !(this.mRestrictBiome.equals(aBiome))) {
|
||||
return false; //Not the correct biome for small ore
|
||||
}
|
||||
if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) || ((aWorld.provider.getDimensionName().equals("Moon")) && (this.mMoon)) || ((aWorld.provider.getDimensionName().equals("Mars")) && (this.mMars)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) {
|
||||
return false;
|
||||
}
|
||||
if (this.mMeta > 0) {
|
||||
int i = 0;
|
||||
for (int j = Math.max(1, this.mAmount / 2 + aRandom.nextInt(this.mAmount) / 2); i < j; i++) {
|
||||
GT_TileEntity_Ores.setOreBlock(aWorld, aChunkX + aRandom.nextInt(16), this.mMinY + aRandom.nextInt(Math.max(1, this.mMaxY - this.mMinY)), aChunkZ + aRandom.nextInt(16), this.mMeta, true);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
package gregtech.common;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.util.GT_Log;
|
||||
import gregtech.api.world.GT_Worldgen;
|
||||
import gregtech.common.blocks.GT_TileEntity_Ores;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import static gregtech.api.enums.GT_Values.D1;
|
||||
|
||||
public class GT_Worldgen_GT_Ore_SmallPieces
|
||||
extends GT_Worldgen {
|
||||
public final short mMinY;
|
||||
public final short mMaxY;
|
||||
public final short mAmount;
|
||||
public final short mMeta;
|
||||
public final boolean mOverworld;
|
||||
public final boolean mNether;
|
||||
public final boolean mEnd;
|
||||
|
||||
public final String mBiome;
|
||||
public final String aTextWorldgen = "worldgen.";
|
||||
|
||||
public GT_Worldgen_GT_Ore_SmallPieces(String aName, boolean aDefault, int aMinY, int aMaxY, int aAmount, boolean aOverworld, boolean aNether, boolean aEnd, Materials aPrimary) {
|
||||
super(aName, GregTech_API.sWorldgenList, aDefault);
|
||||
this.mOverworld = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Overworld", aOverworld);
|
||||
this.mNether = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Nether", aNether);
|
||||
this.mEnd = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "TheEnd", aEnd);
|
||||
this.mMinY = ((short) GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "MinHeight", aMinY));
|
||||
this.mMaxY = ((short) Math.max(this.mMinY + 1, GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "MaxHeight", aMaxY)));
|
||||
this.mAmount = ((short) Math.max(1, GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Amount", aAmount)));
|
||||
this.mMeta = ((short) GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "Ore", aPrimary.mMetaItemSubID));
|
||||
this.mBiome = GregTech_API.sWorldgenFile.get(aTextWorldgen + this.mWorldGenName, "BiomeName", "None");
|
||||
}
|
||||
|
||||
public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
|
||||
if (!this.mBiome.equals("None") && !(this.mBiome.equals(aBiome))) {
|
||||
return false; //Not the correct biome for ore mix
|
||||
}
|
||||
if (!isGenerationAllowed(aWorld, aDimensionType, ((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld)) || ((aDimensionType == 1) && (this.mEnd)) ? aDimensionType : aDimensionType ^ 0xFFFFFFFF)) {
|
||||
return false;
|
||||
}
|
||||
int count=0;
|
||||
if (this.mMeta > 0) {
|
||||
int i = 0;
|
||||
for (int j = Math.max(1, this.mAmount / 2 + aRandom.nextInt(this.mAmount) / 2); i < j; i++) {
|
||||
GT_TileEntity_Ores.setOreBlock(aWorld, aChunkX + aRandom.nextInt(16), this.mMinY + aRandom.nextInt(Math.max(1, this.mMaxY - this.mMinY)), aChunkZ + aRandom.nextInt(16), this.mMeta, true);
|
||||
count++;
|
||||
}
|
||||
}
|
||||
if(D1){
|
||||
GT_Log.out.println(
|
||||
"Small Ore:" + this.mWorldGenName +
|
||||
" @ dim="+aDimensionType+
|
||||
" chunkX="+aChunkX+
|
||||
" chunkZ="+aChunkZ+
|
||||
" ore="+count+" "+new ItemStack(GregTech_API.sBlockOres1,1,mMeta).getDisplayName()
|
||||
);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,90 +1,90 @@
|
|||
package gregtech.common;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.world.GT_Worldgen_Ore;
|
||||
import gregtech.common.blocks.GT_Block_Ores_Abstract;
|
||||
import gregtech.common.blocks.GT_TileEntity_Ores;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Random;
|
||||
|
||||
public class GT_Worldgen_Stone
|
||||
extends GT_Worldgen_Ore {
|
||||
public GT_Worldgen_Stone(String aName, boolean aDefault, Block aBlock, int aBlockMeta, int aDimensionType, int aAmount, int aSize, int aProbability, int aMinY, int aMaxY, Collection<String> aBiomeList, boolean aAllowToGenerateinVoid) {
|
||||
super(aName, aDefault, aBlock, aBlockMeta, aDimensionType, aAmount, aSize, aProbability, aMinY, aMaxY, aBiomeList, aAllowToGenerateinVoid);
|
||||
}
|
||||
|
||||
public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
|
||||
if ((isGenerationAllowed(aWorld, aDimensionType, this.mDimensionType)) && ((this.mBiomeList.isEmpty()) || (this.mBiomeList.contains(aBiome))) && ((this.mProbability <= 1) || (aRandom.nextInt(this.mProbability) == 0))) {
|
||||
for (int i = 0; i < this.mAmount; i++) {
|
||||
int tX = aChunkX + aRandom.nextInt(16);
|
||||
int tY = this.mMinY + aRandom.nextInt(this.mMaxY - this.mMinY);
|
||||
int tZ = aChunkZ + aRandom.nextInt(16);
|
||||
if ((this.mAllowToGenerateinVoid) || (!aWorld.getBlock(tX, tY, tZ).isAir(aWorld, tX, tY, tZ))) {
|
||||
float math_pi = 3.141593F;//FB: CNT - CNT_ROUGH_CONSTANT_VALUE
|
||||
float var6 = aRandom.nextFloat() * math_pi;
|
||||
float var1d = this.mSize / 8.0F;int var2d = tX + 8;int var3d = tZ + 8;int var4d = tY - 2;
|
||||
float mh_s_0 = MathHelper.sin(var6) * var1d;float mh_c_0 = MathHelper.cos(var6) * var1d;
|
||||
float var7 = var2d + mh_s_0;
|
||||
float var11 = var3d + mh_c_0;
|
||||
int var15r = aRandom.nextInt(3);int var17r = aRandom.nextInt(3);
|
||||
int var15 = var4d + var15r;
|
||||
int mh_n_4=var17r - var15r;
|
||||
float mh_n_0 = -2*mh_s_0;float mh_n_1 = -2*mh_c_0;
|
||||
for (int var19 = 0; var19 <= this.mSize; var19++) {
|
||||
float var5d = var19 / this.mSize;
|
||||
float var20 = var7 + mh_n_0 * var5d;
|
||||
float var22 = var15 + mh_n_4 * var5d;
|
||||
float var24 = var11 + mh_n_1 * var5d;
|
||||
float var6d = var19 * math_pi / this.mSize;
|
||||
float var26 = aRandom.nextFloat() * this.mSize / 16.0F;
|
||||
float var28 = ((MathHelper.sin(var6d) + 1.0F) * var26 + 1.0F) / 2.0F;
|
||||
int tMinX = MathHelper.floor_float(var20 - var28);
|
||||
int tMinY = MathHelper.floor_float(var22 - var28);
|
||||
int tMinZ = MathHelper.floor_float(var24 - var28);
|
||||
int tMaxX = MathHelper.floor_float(var20 + var28);
|
||||
int tMaxY = MathHelper.floor_float(var22 + var28);
|
||||
int tMaxZ = MathHelper.floor_float(var24 + var28);
|
||||
for (int eX = tMinX; eX <= tMaxX; eX++) {
|
||||
float var39 = (eX + 0.5F - var20) / (var28);
|
||||
float var10d = var39 * var39;
|
||||
if (var10d < 1.0F) {
|
||||
for (int eY = tMinY; eY <= tMaxY; eY++) {
|
||||
float var42 = (eY + 0.5F - var22) / (var28);
|
||||
float var12d = var10d + var42 * var42;
|
||||
if (var12d < 1.0F) {
|
||||
for (int eZ = tMinZ; eZ <= tMaxZ; eZ++) {
|
||||
float var45 = (eZ + 0.5F - var24) / (var28);
|
||||
if (var12d + var45 * var45 < 1.0F) {
|
||||
Block tTargetedBlock = aWorld.getBlock(eX, eY, eZ);
|
||||
if (tTargetedBlock instanceof GT_Block_Ores_Abstract) {
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(eX, eY, eZ);
|
||||
if ((tTileEntity instanceof GT_TileEntity_Ores)) {
|
||||
if (tTargetedBlock != GregTech_API.sBlockOres1) {
|
||||
((GT_TileEntity_Ores) tTileEntity).convertOreBlock(aWorld, eX, eY, eZ);
|
||||
}
|
||||
((GT_TileEntity_Ores)tTileEntity).overrideOreBlockMaterial(this.mBlock, (byte) this.mBlockMeta);
|
||||
}
|
||||
} else if (((this.mAllowToGenerateinVoid) && (aWorld.getBlock(eX, eY, eZ).isAir(aWorld, eX, eY, eZ))) || ((tTargetedBlock != null) && ((tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, Blocks.stone)) || (tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, Blocks.end_stone)) || (tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, Blocks.netherrack)) || (tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, GregTech_API.sBlockGranites)) || (tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, GregTech_API.sBlockStones))))) {
|
||||
aWorld.setBlock(eX, eY, eZ, this.mBlock, this.mBlockMeta, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
package gregtech.common;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.world.GT_Worldgen_Ore;
|
||||
import gregtech.common.blocks.GT_Block_Ores_Abstract;
|
||||
import gregtech.common.blocks.GT_TileEntity_Ores;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Random;
|
||||
|
||||
public class GT_Worldgen_Stone
|
||||
extends GT_Worldgen_Ore {
|
||||
public GT_Worldgen_Stone(String aName, boolean aDefault, Block aBlock, int aBlockMeta, int aDimensionType, int aAmount, int aSize, int aProbability, int aMinY, int aMaxY, Collection<String> aBiomeList, boolean aAllowToGenerateinVoid) {
|
||||
super(aName, aDefault, aBlock, aBlockMeta, aDimensionType, aAmount, aSize, aProbability, aMinY, aMaxY, aBiomeList, aAllowToGenerateinVoid);
|
||||
}
|
||||
|
||||
public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
|
||||
if ((isGenerationAllowed(aWorld, aDimensionType, this.mDimensionType)) && ((this.mBiomeList.isEmpty()) || (this.mBiomeList.contains(aBiome))) && ((this.mProbability <= 1) || (aRandom.nextInt(this.mProbability) == 0))) {
|
||||
for (int i = 0; i < this.mAmount; i++) {
|
||||
int tX = aChunkX + aRandom.nextInt(16);
|
||||
int tY = this.mMinY + aRandom.nextInt(this.mMaxY - this.mMinY);
|
||||
int tZ = aChunkZ + aRandom.nextInt(16);
|
||||
if ((this.mAllowToGenerateinVoid) || (!aWorld.getBlock(tX, tY, tZ).isAir(aWorld, tX, tY, tZ))) {
|
||||
float math_pi = 3.141593F;//FB: CNT - CNT_ROUGH_CONSTANT_VALUE
|
||||
float var6 = aRandom.nextFloat() * math_pi;
|
||||
float var1d = this.mSize / 8.0F;int var2d = tX + 8;int var3d = tZ + 8;int var4d = tY - 2;
|
||||
float mh_s_0 = MathHelper.sin(var6) * var1d;float mh_c_0 = MathHelper.cos(var6) * var1d;
|
||||
float var7 = var2d + mh_s_0;
|
||||
float var11 = var3d + mh_c_0;
|
||||
int var15r = aRandom.nextInt(3);int var17r = aRandom.nextInt(3);
|
||||
int var15 = var4d + var15r;
|
||||
int mh_n_4=var17r - var15r;
|
||||
float mh_n_0 = -2*mh_s_0;float mh_n_1 = -2*mh_c_0;
|
||||
for (int var19 = 0; var19 <= this.mSize; var19++) {
|
||||
float var5d = var19 / this.mSize;
|
||||
float var20 = var7 + mh_n_0 * var5d;
|
||||
float var22 = var15 + mh_n_4 * var5d;
|
||||
float var24 = var11 + mh_n_1 * var5d;
|
||||
float var6d = var19 * math_pi / this.mSize;
|
||||
float var26 = aRandom.nextFloat() * this.mSize / 16.0F;
|
||||
float var28 = ((MathHelper.sin(var6d) + 1.0F) * var26 + 1.0F) / 2.0F;
|
||||
int tMinX = MathHelper.floor_float(var20 - var28);
|
||||
int tMinY = MathHelper.floor_float(var22 - var28);
|
||||
int tMinZ = MathHelper.floor_float(var24 - var28);
|
||||
int tMaxX = MathHelper.floor_float(var20 + var28);
|
||||
int tMaxY = MathHelper.floor_float(var22 + var28);
|
||||
int tMaxZ = MathHelper.floor_float(var24 + var28);
|
||||
for (int eX = tMinX; eX <= tMaxX; eX++) {
|
||||
float var39 = (eX + 0.5F - var20) / (var28);
|
||||
float var10d = var39 * var39;
|
||||
if (var10d < 1.0F) {
|
||||
for (int eY = tMinY; eY <= tMaxY; eY++) {
|
||||
float var42 = (eY + 0.5F - var22) / (var28);
|
||||
float var12d = var10d + var42 * var42;
|
||||
if (var12d < 1.0F) {
|
||||
for (int eZ = tMinZ; eZ <= tMaxZ; eZ++) {
|
||||
float var45 = (eZ + 0.5F - var24) / (var28);
|
||||
if (var12d + var45 * var45 < 1.0F) {
|
||||
Block tTargetedBlock = aWorld.getBlock(eX, eY, eZ);
|
||||
if (tTargetedBlock instanceof GT_Block_Ores_Abstract) {
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(eX, eY, eZ);
|
||||
if ((tTileEntity instanceof GT_TileEntity_Ores)) {
|
||||
if (tTargetedBlock != GregTech_API.sBlockOres1) {
|
||||
((GT_TileEntity_Ores) tTileEntity).convertOreBlock(aWorld, eX, eY, eZ);
|
||||
}
|
||||
((GT_TileEntity_Ores)tTileEntity).overrideOreBlockMaterial(this.mBlock, (byte) this.mBlockMeta);
|
||||
}
|
||||
} else if (((this.mAllowToGenerateinVoid) && (aWorld.getBlock(eX, eY, eZ).isAir(aWorld, eX, eY, eZ))) || ((tTargetedBlock != null) && ((tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, Blocks.stone)) || (tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, Blocks.end_stone)) || (tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, Blocks.netherrack)) || (tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, GregTech_API.sBlockGranites)) || (tTargetedBlock.isReplaceableOreGen(aWorld, eX, eY, eZ, GregTech_API.sBlockStones))))) {
|
||||
aWorld.setBlock(eX, eY, eZ, this.mBlock, this.mBlockMeta, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,19 +17,24 @@ import net.minecraft.world.chunk.IChunkProvider;
|
|||
import net.minecraft.world.gen.ChunkProviderEnd;
|
||||
import net.minecraft.world.gen.ChunkProviderHell;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class GT_Worldgenerator
|
||||
implements IWorldGenerator {
|
||||
//public static boolean sAsteroids = true;
|
||||
private static int mEndAsteroidProbability = 300;
|
||||
private static int mGCAsteroidProbability = 50;
|
||||
//private static int mGCAsteroidProbability = 50;
|
||||
private static int mSize = 100;
|
||||
private static int endMinSize = 50;
|
||||
private static int endMaxSize = 200;
|
||||
private static int gcMinSize = 100;
|
||||
private static int gcMaxSize = 400;
|
||||
//private static int gcMinSize = 100;
|
||||
//private static int gcMaxSize = 400;
|
||||
private static boolean endAsteroids = true;
|
||||
private static boolean gcAsteroids = true;
|
||||
public List<Runnable> mList = new ArrayList();
|
||||
public boolean mIsGenerating = false;
|
||||
//private static boolean gcAsteroids = true;
|
||||
|
||||
|
||||
public GT_Worldgenerator() {
|
||||
|
@ -37,21 +42,34 @@ public class GT_Worldgenerator
|
|||
endMinSize = GregTech_API.sWorldgenFile.get("endasteroids", "AsteroidMinSize", 50);
|
||||
endMaxSize = GregTech_API.sWorldgenFile.get("endasteroids", "AsteroidMaxSize", 200);
|
||||
mEndAsteroidProbability = GregTech_API.sWorldgenFile.get("endasteroids", "AsteroidProbability", 300);
|
||||
gcAsteroids = GregTech_API.sWorldgenFile.get("gcasteroids", "GenerateGCAsteroids", true);
|
||||
gcMinSize = GregTech_API.sWorldgenFile.get("gcasteroids", "GCAsteroidMinSize", 100);
|
||||
gcMaxSize = GregTech_API.sWorldgenFile.get("gcasteroids", "GCAsteroidMaxSize", 400);
|
||||
mGCAsteroidProbability = GregTech_API.sWorldgenFile.get("gcasteroids", "GCAsteroidProbability", 300);
|
||||
//gcAsteroids = GregTech_API.sWorldgenFile.get("gcasteroids", "GenerateGCAsteroids", true);
|
||||
//gcMinSize = GregTech_API.sWorldgenFile.get("gcasteroids", "GCAsteroidMinSize", 100);
|
||||
//gcMaxSize = GregTech_API.sWorldgenFile.get("gcasteroids", "GCAsteroidMaxSize", 400);
|
||||
//mGCAsteroidProbability = GregTech_API.sWorldgenFile.get("gcasteroids", "GCAsteroidProbability", 300);
|
||||
GameRegistry.registerWorldGenerator(this, 1073741823);
|
||||
}
|
||||
|
||||
public synchronized void generate(Random aRandom, int aX, int aZ, World aWorld, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
|
||||
int tempDimensionId = aWorld.provider.dimensionId;
|
||||
if (tempDimensionId != -1 && tempDimensionId != 1 && !aChunkGenerator.getClass().getName().contains("galacticraft")) {
|
||||
tempDimensionId = 0;
|
||||
public void generate(Random aRandom, int aX, int aZ, World aWorld, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
|
||||
this.mList.add(new WorldGenContainer(new XSTR(aRandom.nextInt()), aX * 16, aZ * 16, ((aChunkGenerator instanceof ChunkProviderEnd)) || (aWorld.getBiomeGenForCoords(aX * 16 + 8, aZ * 16 + 8) == BiomeGenBase.sky) ? 1 : ((aChunkGenerator instanceof ChunkProviderHell)) || (aWorld.getBiomeGenForCoords(aX * 16 + 8, aZ * 16 + 8) == BiomeGenBase.hell) ? -1 : 0, aWorld, aChunkGenerator, aChunkProvider, aWorld.getBiomeGenForCoords(aX * 16 + 8, aZ * 16 + 8).biomeName));
|
||||
if (!this.mIsGenerating) {
|
||||
this.mIsGenerating = true;
|
||||
int mList_sS=this.mList.size();
|
||||
for (int i = 0; i < mList_sS; i++) {
|
||||
((Runnable) this.mList.get(i)).run();
|
||||
}
|
||||
this.mList.clear();
|
||||
this.mIsGenerating = false;
|
||||
}
|
||||
new WorldGenContainer(new XSTR(aRandom.nextInt()), aX * 16, aZ * 16, tempDimensionId, aWorld, aChunkGenerator, aChunkProvider, aWorld.getBiomeGenForCoords(aX * 16 + 8, aZ * 16 + 8).biomeName).run();
|
||||
}
|
||||
|
||||
//public synchronized void generate(Random aRandom, int aX, int aZ, World aWorld, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {//TODO CHECK???
|
||||
// int tempDimensionId = aWorld.provider.dimensionId;
|
||||
// if (tempDimensionId != -1 && tempDimensionId != 1 && !aChunkGenerator.getClass().getName().contains("galacticraft")) {
|
||||
// tempDimensionId = 0;
|
||||
// }
|
||||
// new WorldGenContainer(new XSTR(aRandom.nextInt()), aX * 16, aZ * 16, tempDimensionId, aWorld, aChunkGenerator, aChunkProvider, aWorld.getBiomeGenForCoords(aX * 16 + 8, aZ * 16 + 8).biomeName).run();
|
||||
//}
|
||||
|
||||
public static class WorldGenContainer
|
||||
implements Runnable {
|
||||
public final Random mRandom;
|
||||
|
@ -101,6 +119,9 @@ public class GT_Worldgenerator
|
|||
int j = 0;
|
||||
for (int tZ = this.mZ - 16; j < 3; tZ += 16) {
|
||||
String tBiome = this.mWorld.getBiomeGenForCoords(tX + 8, tZ + 8).biomeName;
|
||||
//if (tBiome == null) {//TODO NEEDED?
|
||||
// tBiome = BiomeGenBase.plains.biomeName;
|
||||
//}
|
||||
try {
|
||||
for (GT_Worldgen tWorldGen : GregTech_API.sWorldgenList) {
|
||||
tWorldGen.executeWorldgen(this.mWorld, this.mRandom, this.mBiome, this.mDimensionType, tX, tZ, this.mChunkGenerator, this.mChunkProvider);
|
||||
|
@ -115,10 +136,11 @@ public class GT_Worldgenerator
|
|||
}
|
||||
//Asteroid Worldgen
|
||||
int tDimensionType = this.mWorld.provider.dimensionId;
|
||||
String tDimensionName = this.mWorld.provider.getDimensionName();
|
||||
//String tDimensionName = this.mWorld.provider.getDimensionName();
|
||||
Random aRandom = new Random();
|
||||
if (((tDimensionType == 1) && endAsteroids && ((mEndAsteroidProbability <= 1) || (aRandom.nextInt(mEndAsteroidProbability) == 0))) || ((tDimensionName.equals("Asteroids")) && gcAsteroids && ((mGCAsteroidProbability <= 1) || (aRandom.nextInt(mGCAsteroidProbability) == 0)))) {
|
||||
short primaryMeta = 0;
|
||||
//if (((tDimensionType == 1) && endAsteroids && ((mEndAsteroidProbability <= 1) || (aRandom.nextInt(mEndAsteroidProbability) == 0))) || ((tDimensionName.equals("Asteroids")) && gcAsteroids && ((mGCAsteroidProbability <= 1) || (aRandom.nextInt(mGCAsteroidProbability) == 0)))) {
|
||||
if (((tDimensionType == 1) && endAsteroids && ((mEndAsteroidProbability <= 1) || (aRandom.nextInt(mEndAsteroidProbability) == 0)))) {
|
||||
short primaryMeta = 0;
|
||||
short secondaryMeta = 0;
|
||||
short betweenMeta = 0;
|
||||
short sporadicMeta = 0;
|
||||
|
@ -131,7 +153,8 @@ public class GT_Worldgenerator
|
|||
tRandomWeight -= ((GT_Worldgen_GT_Ore_Layer) tWorldGen).mWeight;
|
||||
if (tRandomWeight <= 0) {
|
||||
try {
|
||||
if ((tWorldGen.mEndAsteroid && tDimensionType == 1) || (tWorldGen.mAsteroid && tDimensionType == -30)) {
|
||||
//if ((tWorldGen.mEndAsteroid && tDimensionType == 1) || (tWorldGen.mAsteroid && tDimensionType == -30)) {
|
||||
if (tWorldGen.mEndAsteroid && tDimensionType == 1) {
|
||||
primaryMeta = tWorldGen.mPrimaryMeta;
|
||||
secondaryMeta = tWorldGen.mSecondaryMeta;
|
||||
betweenMeta = tWorldGen.mBetweenMeta;
|
||||
|
@ -146,14 +169,14 @@ public class GT_Worldgenerator
|
|||
}
|
||||
}
|
||||
}
|
||||
if(GT_Values.D1)System.out.println("do asteroid gen: "+this.mX+" "+this.mZ);
|
||||
//if(GT_Values.D1)System.out.println("do asteroid gen: "+this.mX+" "+this.mZ);
|
||||
int tX = mX + aRandom.nextInt(16);
|
||||
int tY = 50 + aRandom.nextInt(200 - 50);
|
||||
int tZ = mZ + aRandom.nextInt(16);
|
||||
if (tDimensionType == 1) {
|
||||
mSize = aRandom.nextInt((int) (endMaxSize - endMinSize));
|
||||
} else if (tDimensionName.equals("Asteroids")) {
|
||||
mSize = aRandom.nextInt((int) (gcMaxSize - gcMinSize));
|
||||
//} else if (tDimensionName.equals("Asteroids")) {
|
||||
// mSize = aRandom.nextInt((int) (gcMaxSize - gcMinSize));
|
||||
}
|
||||
if ((mWorld.getBlock(tX, tY, tZ).isAir(mWorld, tX, tY, tZ))) {
|
||||
float var6 = aRandom.nextFloat() * 3.141593F;
|
||||
|
@ -195,16 +218,16 @@ public class GT_Worldgenerator
|
|||
} else if (ranOre < 10) {
|
||||
GT_TileEntity_Ores.setOreBlock(mWorld, eX, eY, eZ, sporadicMeta, false, true);
|
||||
} else {
|
||||
if (tDimensionType == 1) {
|
||||
mWorld.setBlock(eX, eY, eZ, Blocks.end_stone, 0, 2);
|
||||
} else if (tDimensionName.equals("Asteroids")) {
|
||||
//int asteroidType = aRandom.nextInt(20);
|
||||
//if (asteroidType == 19) { //Rare Asteroid?
|
||||
//if (tDimensionType == 1) {//TODO CHECK
|
||||
mWorld.setBlock(eX, eY, eZ, Blocks.end_stone, 0, 0);
|
||||
//} else if (tDimensionName.equals("Asteroids")) {
|
||||
////int asteroidType = aRandom.nextInt(20);
|
||||
////if (asteroidType == 19) { //Rare Asteroid?
|
||||
////mWorld.setBlock(eX, eY, eZ, GregTech_API.sBlockGranites, 8, 3);
|
||||
////} else {
|
||||
//mWorld.setBlock(eX, eY, eZ, GregTech_API.sBlockGranites, 8, 3);
|
||||
//} else {
|
||||
mWorld.setBlock(eX, eY, eZ, GregTech_API.sBlockGranites, 8, 3);
|
||||
//}
|
||||
}
|
||||
////}
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -224,4 +247,4 @@ public class GT_Worldgenerator
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.enums.ItemList;
|
||||
import gregtech.api.enums.Textures;
|
||||
import gregtech.api.objects.GT_CopiedBlockTexture;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
public class GT_Block_Casings1
|
||||
extends GT_Block_Casings_Abstract {
|
||||
public GT_Block_Casings1() {
|
||||
super(GT_Item_Casings1.class, "gt.blockcasings", GT_Material_Casings.INSTANCE);
|
||||
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
|
||||
Textures.BlockIcons.CASING_BLOCKS[i] = new GT_CopiedBlockTexture(this, 6, i);
|
||||
}
|
||||
Textures.BlockIcons.CASING_BLOCKS[120] = new GT_CopiedBlockTexture(this, 6, 0);
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "ULV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "LV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "MV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "HV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "EV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "IV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "LuV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "ZPM Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "UV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "MAX Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Bronze Plated Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Heat Proof Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Cupronickel Coil Block (Deprecated)");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Kanthal Coil Block (Deprecated)");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Nichrome Coil Block (Deprecated)");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Superconducting Coil Block");
|
||||
ItemList.Casing_ULV.set(new ItemStack(this, 1, 0));
|
||||
ItemList.Casing_LV.set(new ItemStack(this, 1, 1));
|
||||
ItemList.Casing_MV.set(new ItemStack(this, 1, 2));
|
||||
ItemList.Casing_HV.set(new ItemStack(this, 1, 3));
|
||||
ItemList.Casing_EV.set(new ItemStack(this, 1, 4));
|
||||
ItemList.Casing_IV.set(new ItemStack(this, 1, 5));
|
||||
ItemList.Casing_LuV.set(new ItemStack(this, 1, 6));
|
||||
ItemList.Casing_ZPM.set(new ItemStack(this, 1, 7));
|
||||
ItemList.Casing_UV.set(new ItemStack(this, 1, 8));
|
||||
ItemList.Casing_MAX.set(new ItemStack(this, 1, 9));
|
||||
ItemList.Casing_BronzePlatedBricks.set(new ItemStack(this, 1, 10));
|
||||
ItemList.Casing_HeatProof.set(new ItemStack(this, 1, 11));
|
||||
ItemList.Casing_Coil_Cupronickel_Deprecated.set(new ItemStack(this, 1, 12));
|
||||
ItemList.Casing_Coil_Kanthal_Deprecated.set(new ItemStack(this, 1, 13));
|
||||
ItemList.Casing_Coil_Nichrome_Deprecated.set(new ItemStack(this, 1, 14));
|
||||
ItemList.Casing_Coil_Superconductor.set(new ItemStack(this, 1, 15));
|
||||
}
|
||||
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
if ((aMeta >= 0) && (aMeta < 16)) {
|
||||
switch (aMeta) {
|
||||
case 10:
|
||||
return Textures.BlockIcons.MACHINE_BRONZEPLATEDBRICKS.getIcon();
|
||||
case 11:
|
||||
return Textures.BlockIcons.MACHINE_HEATPROOFCASING.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.MACHINE_COIL_SUPERCONDUCTOR.getIcon();
|
||||
}
|
||||
if (aSide == 0) {
|
||||
return Textures.BlockIcons.MACHINECASINGS_BOTTOM[aMeta].getIcon();
|
||||
}
|
||||
if (aSide == 1) {
|
||||
return Textures.BlockIcons.MACHINECASINGS_TOP[aMeta].getIcon();
|
||||
}
|
||||
return Textures.BlockIcons.MACHINECASINGS_SIDE[aMeta].getIcon();
|
||||
}
|
||||
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
|
||||
}
|
||||
|
||||
public int colorMultiplier(IBlockAccess aWorld, int aX, int aY, int aZ) {
|
||||
return aWorld.getBlockMetadata(aX, aY, aZ) > 9 ? super.colorMultiplier(aWorld, aX, aY, aZ) : gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[0] << 16 | gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[1] << 8 | gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[2];
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.enums.ItemList;
|
||||
import gregtech.api.enums.Textures;
|
||||
import gregtech.api.objects.GT_CopiedBlockTexture;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
public class GT_Block_Casings1
|
||||
extends GT_Block_Casings_Abstract {
|
||||
public GT_Block_Casings1() {
|
||||
super(GT_Item_Casings1.class, "gt.blockcasings", GT_Material_Casings.INSTANCE);
|
||||
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
|
||||
Textures.BlockIcons.CASING_BLOCKS[i] = new GT_CopiedBlockTexture(this, 6, i);
|
||||
}
|
||||
Textures.BlockIcons.CASING_BLOCKS[120] = new GT_CopiedBlockTexture(this, 6, 0);
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "ULV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "LV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "MV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "HV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "EV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "IV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "LuV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "ZPM Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "UV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "UHV Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Bronze Plated Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Heat Proof Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Cupronickel Coil Block (Deprecated)");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Kanthal Coil Block (Deprecated)");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Nichrome Coil Block (Deprecated)");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Superconducting Coil Block");
|
||||
ItemList.Casing_ULV.set(new ItemStack(this, 1, 0));
|
||||
ItemList.Casing_LV.set(new ItemStack(this, 1, 1));
|
||||
ItemList.Casing_MV.set(new ItemStack(this, 1, 2));
|
||||
ItemList.Casing_HV.set(new ItemStack(this, 1, 3));
|
||||
ItemList.Casing_EV.set(new ItemStack(this, 1, 4));
|
||||
ItemList.Casing_IV.set(new ItemStack(this, 1, 5));
|
||||
ItemList.Casing_LuV.set(new ItemStack(this, 1, 6));
|
||||
ItemList.Casing_ZPM.set(new ItemStack(this, 1, 7));
|
||||
ItemList.Casing_UV.set(new ItemStack(this, 1, 8));
|
||||
ItemList.Casing_MAX.set(new ItemStack(this, 1, 9));
|
||||
ItemList.Casing_BronzePlatedBricks.set(new ItemStack(this, 1, 10));
|
||||
ItemList.Casing_HeatProof.set(new ItemStack(this, 1, 11));
|
||||
ItemList.Casing_Coil_Cupronickel_Deprecated.set(new ItemStack(this, 1, 12));
|
||||
ItemList.Casing_Coil_Kanthal_Deprecated.set(new ItemStack(this, 1, 13));
|
||||
ItemList.Casing_Coil_Nichrome_Deprecated.set(new ItemStack(this, 1, 14));
|
||||
ItemList.Casing_Coil_Superconductor.set(new ItemStack(this, 1, 15));
|
||||
}
|
||||
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
if ((aMeta >= 0) && (aMeta < 16)) {
|
||||
switch (aMeta) {
|
||||
case 10:
|
||||
return Textures.BlockIcons.MACHINE_BRONZEPLATEDBRICKS.getIcon();
|
||||
case 11:
|
||||
return Textures.BlockIcons.MACHINE_HEATPROOFCASING.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.MACHINE_COIL_SUPERCONDUCTOR.getIcon();
|
||||
}
|
||||
if (aSide == 0) {
|
||||
return Textures.BlockIcons.MACHINECASINGS_BOTTOM[aMeta].getIcon();
|
||||
}
|
||||
if (aSide == 1) {
|
||||
return Textures.BlockIcons.MACHINECASINGS_TOP[aMeta].getIcon();
|
||||
}
|
||||
return Textures.BlockIcons.MACHINECASINGS_SIDE[aMeta].getIcon();
|
||||
}
|
||||
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
|
||||
}
|
||||
|
||||
public int colorMultiplier(IBlockAccess aWorld, int aX, int aY, int aZ) {
|
||||
return aWorld.getBlockMetadata(aX, aY, aZ) > 9 ? super.colorMultiplier(aWorld, aX, aY, aZ) : gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[0] << 16 | gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[1] << 8 | gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[2];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,95 +1,95 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.enums.ItemList;
|
||||
import gregtech.api.enums.Textures;
|
||||
import gregtech.api.objects.GT_CopiedBlockTexture;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class GT_Block_Casings2
|
||||
extends GT_Block_Casings_Abstract {
|
||||
public GT_Block_Casings2() {
|
||||
super(GT_Item_Casings2.class, "gt.blockcasings2", GT_Material_Casings.INSTANCE);
|
||||
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
|
||||
Textures.BlockIcons.CASING_BLOCKS[(i + 16)] = new GT_CopiedBlockTexture(this, 6, i);
|
||||
}
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Solid Steel Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Frost Proof Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Bronze Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Steel Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Titanium Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Assembling Line Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Processor Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Data Drive Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Containment Field Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "Assembler Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Pump Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Motor Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Bronze Pipe Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Steel Pipe Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Titanium Pipe Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Tungstensteel Pipe Machine Casing");
|
||||
ItemList.Casing_SolidSteel.set(new ItemStack(this, 1, 0));
|
||||
ItemList.Casing_FrostProof.set(new ItemStack(this, 1, 1));
|
||||
ItemList.Casing_Gearbox_Bronze.set(new ItemStack(this, 1, 2));
|
||||
ItemList.Casing_Gearbox_Steel.set(new ItemStack(this, 1, 3));
|
||||
ItemList.Casing_Gearbox_Titanium.set(new ItemStack(this, 1, 4));
|
||||
ItemList.Casing_Gearbox_TungstenSteel.set(new ItemStack(this, 1, 5));
|
||||
ItemList.Casing_Processor.set(new ItemStack(this, 1, 6));
|
||||
ItemList.Casing_DataDrive.set(new ItemStack(this, 1, 7));
|
||||
ItemList.Casing_ContainmentField.set(new ItemStack(this, 1, 8));
|
||||
ItemList.Casing_Assembler.set(new ItemStack(this, 1, 9));
|
||||
ItemList.Casing_Pump.set(new ItemStack(this, 1, 10));
|
||||
ItemList.Casing_Motor.set(new ItemStack(this, 1, 11));
|
||||
ItemList.Casing_Pipe_Bronze.set(new ItemStack(this, 1, 12));
|
||||
ItemList.Casing_Pipe_Steel.set(new ItemStack(this, 1, 13));
|
||||
ItemList.Casing_Pipe_Titanium.set(new ItemStack(this, 1, 14));
|
||||
ItemList.Casing_Pipe_TungstenSteel.set(new ItemStack(this, 1, 15));
|
||||
}
|
||||
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
switch (aMeta) {
|
||||
case 0:
|
||||
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
|
||||
case 1:
|
||||
return Textures.BlockIcons.MACHINE_CASING_FROST_PROOF.getIcon();
|
||||
case 2:
|
||||
return Textures.BlockIcons.MACHINE_CASING_GEARBOX_BRONZE.getIcon();
|
||||
case 3:
|
||||
return Textures.BlockIcons.MACHINE_CASING_GEARBOX_STEEL.getIcon();
|
||||
case 4:
|
||||
return Textures.BlockIcons.MACHINE_CASING_GEARBOX_TITANIUM.getIcon();
|
||||
case 5:
|
||||
return Textures.BlockIcons.MACHINE_CASING_GEARBOX_TUNGSTENSTEEL.getIcon();
|
||||
case 6:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PROCESSOR.getIcon();
|
||||
case 7:
|
||||
return Textures.BlockIcons.MACHINE_CASING_DATA_DRIVE.getIcon();
|
||||
case 8:
|
||||
return Textures.BlockIcons.MACHINE_CASING_CONTAINMENT_FIELD.getIcon();
|
||||
case 9:
|
||||
return Textures.BlockIcons.MACHINE_CASING_ASSEMBLER.getIcon();
|
||||
case 10:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PUMP.getIcon();
|
||||
case 11:
|
||||
return Textures.BlockIcons.MACHINE_CASING_MOTOR.getIcon();
|
||||
case 12:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PIPE_BRONZE.getIcon();
|
||||
case 13:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PIPE_STEEL.getIcon();
|
||||
case 14:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PIPE_TITANIUM.getIcon();
|
||||
case 15:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PIPE_TUNGSTENSTEEL.getIcon();
|
||||
}
|
||||
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
|
||||
}
|
||||
|
||||
public float getExplosionResistance(Entity aTNT, World aWorld, int aX, int aY, int aZ, double eX, double eY, double eZ) {
|
||||
return aWorld.getBlockMetadata(aX, aY, aZ) == 8 ? Blocks.bedrock.getExplosionResistance(aTNT) : super.getExplosionResistance(aTNT, aWorld, aX, aY, aZ, eX, eY, eZ);
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.enums.ItemList;
|
||||
import gregtech.api.enums.Textures;
|
||||
import gregtech.api.objects.GT_CopiedBlockTexture;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class GT_Block_Casings2
|
||||
extends GT_Block_Casings_Abstract {
|
||||
public GT_Block_Casings2() {
|
||||
super(GT_Item_Casings2.class, "gt.blockcasings2", GT_Material_Casings.INSTANCE);
|
||||
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
|
||||
Textures.BlockIcons.CASING_BLOCKS[(i + 16)] = new GT_CopiedBlockTexture(this, 6, i);
|
||||
}
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Solid Steel Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Frost Proof Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Bronze Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Steel Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Titanium Gear Box Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Assembling Line Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Processor Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Data Drive Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Containment Field Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "Assembler Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Pump Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Motor Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Bronze Pipe Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Steel Pipe Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Titanium Pipe Machine Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Tungstensteel Pipe Machine Casing");
|
||||
ItemList.Casing_SolidSteel.set(new ItemStack(this, 1, 0));
|
||||
ItemList.Casing_FrostProof.set(new ItemStack(this, 1, 1));
|
||||
ItemList.Casing_Gearbox_Bronze.set(new ItemStack(this, 1, 2));
|
||||
ItemList.Casing_Gearbox_Steel.set(new ItemStack(this, 1, 3));
|
||||
ItemList.Casing_Gearbox_Titanium.set(new ItemStack(this, 1, 4));
|
||||
ItemList.Casing_Gearbox_TungstenSteel.set(new ItemStack(this, 1, 5));
|
||||
ItemList.Casing_Processor.set(new ItemStack(this, 1, 6));
|
||||
ItemList.Casing_DataDrive.set(new ItemStack(this, 1, 7));
|
||||
ItemList.Casing_ContainmentField.set(new ItemStack(this, 1, 8));
|
||||
ItemList.Casing_Assembler.set(new ItemStack(this, 1, 9));
|
||||
ItemList.Casing_Pump.set(new ItemStack(this, 1, 10));
|
||||
ItemList.Casing_Motor.set(new ItemStack(this, 1, 11));
|
||||
ItemList.Casing_Pipe_Bronze.set(new ItemStack(this, 1, 12));
|
||||
ItemList.Casing_Pipe_Steel.set(new ItemStack(this, 1, 13));
|
||||
ItemList.Casing_Pipe_Titanium.set(new ItemStack(this, 1, 14));
|
||||
ItemList.Casing_Pipe_TungstenSteel.set(new ItemStack(this, 1, 15));
|
||||
}
|
||||
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
switch (aMeta) {
|
||||
case 0:
|
||||
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
|
||||
case 1:
|
||||
return Textures.BlockIcons.MACHINE_CASING_FROST_PROOF.getIcon();
|
||||
case 2:
|
||||
return Textures.BlockIcons.MACHINE_CASING_GEARBOX_BRONZE.getIcon();
|
||||
case 3:
|
||||
return Textures.BlockIcons.MACHINE_CASING_GEARBOX_STEEL.getIcon();
|
||||
case 4:
|
||||
return Textures.BlockIcons.MACHINE_CASING_GEARBOX_TITANIUM.getIcon();
|
||||
case 5:
|
||||
return Textures.BlockIcons.MACHINE_CASING_GEARBOX_TUNGSTENSTEEL.getIcon();
|
||||
case 6:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PROCESSOR.getIcon();
|
||||
case 7:
|
||||
return Textures.BlockIcons.MACHINE_CASING_DATA_DRIVE.getIcon();
|
||||
case 8:
|
||||
return Textures.BlockIcons.MACHINE_CASING_CONTAINMENT_FIELD.getIcon();
|
||||
case 9:
|
||||
return Textures.BlockIcons.MACHINE_CASING_ASSEMBLER.getIcon();
|
||||
case 10:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PUMP.getIcon();
|
||||
case 11:
|
||||
return Textures.BlockIcons.MACHINE_CASING_MOTOR.getIcon();
|
||||
case 12:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PIPE_BRONZE.getIcon();
|
||||
case 13:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PIPE_STEEL.getIcon();
|
||||
case 14:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PIPE_TITANIUM.getIcon();
|
||||
case 15:
|
||||
return Textures.BlockIcons.MACHINE_CASING_PIPE_TUNGSTENSTEEL.getIcon();
|
||||
}
|
||||
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
|
||||
}
|
||||
|
||||
public float getExplosionResistance(Entity aTNT, World aWorld, int aX, int aY, int aZ, double eX, double eY, double eZ) {
|
||||
return aWorld.getBlockMetadata(aX, aY, aZ) == 8 ? Blocks.bedrock.getExplosionResistance(aTNT) : super.getExplosionResistance(aTNT, aWorld, aX, aY, aZ, eX, eY, eZ);
|
||||
}
|
||||
}
|
||||
|
|
99
src/main/java/gregtech/common/blocks/GT_Block_Casings6.java
Normal file
99
src/main/java/gregtech/common/blocks/GT_Block_Casings6.java
Normal file
|
@ -0,0 +1,99 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import gregtech.api.enums.ItemList;
|
||||
import gregtech.api.enums.Textures;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
public class GT_Block_Casings6
|
||||
extends GT_Block_Casings_Abstract {
|
||||
public GT_Block_Casings6() {
|
||||
super(GT_Item_Casings6.class, "gt.blockcasings6", GT_Material_Casings.INSTANCE);
|
||||
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Hermetic Casing");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Hermetic Casing I");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Hermetic Casing II");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Hermetic Casing III");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Hermetic Casing IV");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Hermetic Casing V");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Hermetic Casing VI");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Hermetic Casing VII");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Hermetic Casing VII");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "Hermetic Casing IX");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Hermetic Casing X");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Hermetic Casing XI");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Hermetic Casing XII");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Hermetic Casing XIII");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Hermetic Casing XIV");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Hermetic Casing XV");
|
||||
|
||||
ItemList.Casing_Tank_0.set(new ItemStack(this, 1, 0));
|
||||
ItemList.Casing_Tank_1.set(new ItemStack(this, 1, 1));
|
||||
ItemList.Casing_Tank_2.set(new ItemStack(this, 1, 2));
|
||||
ItemList.Casing_Tank_3.set(new ItemStack(this, 1, 3));
|
||||
ItemList.Casing_Tank_4.set(new ItemStack(this, 1, 4));
|
||||
ItemList.Casing_Tank_5.set(new ItemStack(this, 1, 5));
|
||||
ItemList.Casing_Tank_6.set(new ItemStack(this, 1, 6));
|
||||
ItemList.Casing_Tank_7.set(new ItemStack(this, 1, 7));
|
||||
ItemList.Casing_Tank_8.set(new ItemStack(this, 1, 8));
|
||||
ItemList.Casing_Tank_9.set(new ItemStack(this, 1, 9));
|
||||
ItemList.Casing_Tank_10.set(new ItemStack(this, 1, 10));
|
||||
ItemList.Casing_Tank_11.set(new ItemStack(this, 1, 11));
|
||||
ItemList.Casing_Tank_12.set(new ItemStack(this, 1, 12));
|
||||
ItemList.Casing_Tank_13.set(new ItemStack(this, 1, 13));
|
||||
ItemList.Casing_Tank_14.set(new ItemStack(this, 1, 14));
|
||||
ItemList.Casing_Tank_15.set(new ItemStack(this, 1, 15));
|
||||
}
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
if (aSide == 0) {
|
||||
return Textures.BlockIcons.MACHINECASINGS_BOTTOM[aMeta].getIcon();
|
||||
}
|
||||
if (aSide == 1) {
|
||||
return Textures.BlockIcons.MACHINECASINGS_TOP[aMeta].getIcon();
|
||||
}
|
||||
switch (aMeta) {
|
||||
case 1:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_1.getIcon();
|
||||
case 2:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_2.getIcon();
|
||||
case 3:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_3.getIcon();
|
||||
case 4:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_4.getIcon();
|
||||
case 5:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_5.getIcon();
|
||||
case 6:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_6.getIcon();
|
||||
case 7:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_7.getIcon();
|
||||
case 8:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_8.getIcon();
|
||||
case 9:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_9.getIcon();
|
||||
case 10:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_10.getIcon();
|
||||
case 11:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_11.getIcon();
|
||||
case 12:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_12.getIcon();
|
||||
case 13:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_13.getIcon();
|
||||
case 14:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_14.getIcon();
|
||||
case 15:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_15.getIcon();
|
||||
default:
|
||||
return Textures.BlockIcons.MACHINE_CASING_TANK_0.getIcon();
|
||||
}
|
||||
}
|
||||
|
||||
public int colorMultiplier(IBlockAccess aWorld, int aX, int aY, int aZ) {
|
||||
return gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[0] << 16 | gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[1] << 8 | gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[2];
|
||||
}
|
||||
}
|
|
@ -1,95 +1,95 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.enums.OrePrefixes;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import gregtech.api.util.GT_OreDictUnificator;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockLiquid;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fluids.IFluidBlock;
|
||||
|
||||
public class GT_Block_Concretes
|
||||
extends GT_Block_Stones_Abstract {
|
||||
public GT_Block_Concretes() {
|
||||
super(GT_Item_Concretes.class, "gt.blockconcretes");
|
||||
setResistance(20.0F);
|
||||
this.slipperiness = 0.9F;
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Dark Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Dark Concrete Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Mossy Dark Concrete Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Dark Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Cracked Dark Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Mossy Dark Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Chiseled Dark Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Smooth Dark Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Light Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "Light Concrete Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Mossy Light Concrete Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Light Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Cracked Light Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Mossy Light Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Chiseled Light Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Smooth Light Concrete");
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 0));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 1));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 2));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 3));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 4));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 5));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 6));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 7));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 8));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 9));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 10));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 11));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 12));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 13));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 14));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 15));
|
||||
}
|
||||
|
||||
public int getHarvestLevel(int aMeta) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public float getBlockHardness(World aWorld, int aX, int aY, int aZ) {
|
||||
return this.blockHardness = Blocks.stone.getBlockHardness(aWorld, aX, aY, aZ);
|
||||
}
|
||||
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
if ((aMeta >= 0) && (aMeta < 16)) {
|
||||
return gregtech.api.enums.Textures.BlockIcons.CONCRETES[aMeta].getIcon();
|
||||
}
|
||||
return gregtech.api.enums.Textures.BlockIcons.CONCRETES[0].getIcon();
|
||||
}
|
||||
|
||||
public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity aEntity) {
|
||||
Block tBlock = aWorld.getBlock(aX, aY + 1, aZ);
|
||||
if (((aEntity instanceof EntityLivingBase)) && (!(tBlock instanceof IFluidBlock)) && (!(tBlock instanceof BlockLiquid)) && (aEntity.onGround) && (!aEntity.isInWater()) && (!aEntity.isWet())) {
|
||||
if (aEntity.isSneaking()) {
|
||||
aEntity.motionX *= 0.8999999761581421D;
|
||||
aEntity.motionZ *= 0.8999999761581421D;
|
||||
} else {
|
||||
if (aEntity.motionX < 6.0 && aEntity.motionZ < 6.0) {
|
||||
aEntity.motionX *= 1.100000023841858D;
|
||||
aEntity.motionZ *= 1.100000023841858D;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) {
|
||||
Block tBlock = aWorld.getBlock(aX, aY + 1, aZ);
|
||||
if (((tBlock instanceof IFluidBlock)) || ((tBlock instanceof BlockLiquid))) {
|
||||
return super.getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ);
|
||||
}
|
||||
return AxisAlignedBB.getBoundingBox(aX, aY, aZ, aX + 1, aY + 0.875D, aZ + 1);
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.enums.OrePrefixes;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import gregtech.api.util.GT_OreDictUnificator;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockLiquid;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fluids.IFluidBlock;
|
||||
|
||||
public class GT_Block_Concretes
|
||||
extends GT_Block_Stones_Abstract {
|
||||
public GT_Block_Concretes() {
|
||||
super(GT_Item_Concretes.class, "gt.blockconcretes");
|
||||
setResistance(20.0F);
|
||||
this.slipperiness = 0.9F;
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Dark Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Dark Concrete Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Mossy Dark Concrete Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Dark Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Cracked Dark Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Mossy Dark Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Chiseled Dark Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Smooth Dark Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Light Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "Light Concrete Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Mossy Light Concrete Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Light Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Cracked Light Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Mossy Light Concrete Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Chiseled Light Concrete");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Smooth Light Concrete");
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 0));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 1));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 2));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 3));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 4));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 5));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 6));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 7));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 8));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 9));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 10));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 11));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 12));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 13));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 14));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Concrete, new ItemStack(this, 1, 15));
|
||||
}
|
||||
|
||||
public int getHarvestLevel(int aMeta) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public float getBlockHardness(World aWorld, int aX, int aY, int aZ) {
|
||||
return this.blockHardness = Blocks.stone.getBlockHardness(aWorld, aX, aY, aZ);
|
||||
}
|
||||
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
if ((aMeta >= 0) && (aMeta < 16)) {
|
||||
return gregtech.api.enums.Textures.BlockIcons.CONCRETES[aMeta].getIcon();
|
||||
}
|
||||
return gregtech.api.enums.Textures.BlockIcons.CONCRETES[0].getIcon();
|
||||
}
|
||||
|
||||
public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity aEntity) {
|
||||
Block tBlock = aWorld.getBlock(aX, aY + 1, aZ);
|
||||
if (((aEntity instanceof EntityLivingBase)) && (!(tBlock instanceof IFluidBlock)) && (!(tBlock instanceof BlockLiquid)) && (aEntity.onGround) && (!aEntity.isInWater()) && (!aEntity.isWet())) {
|
||||
if (aEntity.isSneaking()) {
|
||||
aEntity.motionX *= 0.8999999761581421D;
|
||||
aEntity.motionZ *= 0.8999999761581421D;
|
||||
} else {
|
||||
if (aEntity.motionX < 6.0 && aEntity.motionZ < 6.0) {
|
||||
aEntity.motionX *= 1.100000023841858D;
|
||||
aEntity.motionZ *= 1.100000023841858D;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) {
|
||||
Block tBlock = aWorld.getBlock(aX, aY + 1, aZ);
|
||||
if (((tBlock instanceof IFluidBlock)) || ((tBlock instanceof BlockLiquid))) {
|
||||
return super.getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ);
|
||||
}
|
||||
return AxisAlignedBB.getBoundingBox(aX, aY, aZ, aX + 1, aY + 0.875D, aZ + 1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,72 +1,72 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.enums.OrePrefixes;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import gregtech.api.util.GT_OreDictUnificator;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.boss.EntityWither;
|
||||
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;
|
||||
|
||||
public class GT_Block_Granites
|
||||
extends GT_Block_Stones_Abstract {
|
||||
public GT_Block_Granites() {
|
||||
super(GT_Item_Granites.class, "gt.blockgranites");
|
||||
setResistance(60.0F);
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Black Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Black Granite Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Mossy Black Granite Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Black Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Cracked Black Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Mossy Black Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Chiseled Black Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Smooth Black Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Red Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "Red Granite Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Mossy Red Granite Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Red Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Cracked Red Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Mossy Red Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Chiseled Red Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Smooth Red Granite");
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 0));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 1));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 2));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 3));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 4));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 5));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 6));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 7));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 8));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 9));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 10));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 11));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 12));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 13));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 14));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 15));
|
||||
}
|
||||
|
||||
public int getHarvestLevel(int aMeta) {
|
||||
return 3;
|
||||
}
|
||||
|
||||
public float getBlockHardness(World aWorld, int aX, int aY, int aZ) {
|
||||
return this.blockHardness = Blocks.stone.getBlockHardness(aWorld, aX, aY, aZ) * 3.0F;
|
||||
}
|
||||
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
if ((aMeta >= 0) && (aMeta < 16)) {
|
||||
return gregtech.api.enums.Textures.BlockIcons.GRANITES[aMeta].getIcon();
|
||||
}
|
||||
return gregtech.api.enums.Textures.BlockIcons.GRANITES[0].getIcon();
|
||||
}
|
||||
|
||||
public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) {
|
||||
return !(entity instanceof EntityWither);
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.enums.OrePrefixes;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import gregtech.api.util.GT_OreDictUnificator;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.boss.EntityWither;
|
||||
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;
|
||||
|
||||
public class GT_Block_Granites
|
||||
extends GT_Block_Stones_Abstract {
|
||||
public GT_Block_Granites() {
|
||||
super(GT_Item_Granites.class, "gt.blockgranites");
|
||||
setResistance(60.0F);
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Black Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Black Granite Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Mossy Black Granite Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Black Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Cracked Black Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Mossy Black Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Chiseled Black Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Smooth Black Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Red Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "Red Granite Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Mossy Red Granite Cobblestone");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Red Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Cracked Red Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Mossy Red Granite Bricks");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Chiseled Red Granite");
|
||||
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Smooth Red Granite");
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 0));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 1));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 2));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 3));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 4));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 5));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 6));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(this, 1, 7));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 8));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 9));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 10));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 11));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 12));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 13));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 14));
|
||||
GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(this, 1, 15));
|
||||
}
|
||||
|
||||
public int getHarvestLevel(int aMeta) {
|
||||
return 3;
|
||||
}
|
||||
|
||||
public float getBlockHardness(World aWorld, int aX, int aY, int aZ) {
|
||||
return this.blockHardness = Blocks.stone.getBlockHardness(aWorld, aX, aY, aZ) * 3.0F;
|
||||
}
|
||||
|
||||
public IIcon getIcon(int aSide, int aMeta) {
|
||||
if ((aMeta >= 0) && (aMeta < 16)) {
|
||||
return gregtech.api.enums.Textures.BlockIcons.GRANITES[aMeta].getIcon();
|
||||
}
|
||||
return gregtech.api.enums.Textures.BlockIcons.GRANITES[0].getIcon();
|
||||
}
|
||||
|
||||
public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) {
|
||||
return !(entity instanceof EntityWither);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -196,6 +196,38 @@ public class GT_Block_Machines
|
|||
return super.getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public AxisAlignedBB getSelectedBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ)
|
||||
{
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
|
||||
if (((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null)) {
|
||||
return ((IGregTechTileEntity) tTileEntity).getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ);
|
||||
}
|
||||
return super.getSelectedBoundingBoxFromPool(aWorld, aX, aY, aZ);
|
||||
}
|
||||
|
||||
@Override //THIS
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, int aX, int aY, int aZ) {
|
||||
TileEntity tTileEntity = blockAccess.getTileEntity(aX,aY,aZ);
|
||||
if (((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null)) {
|
||||
AxisAlignedBB bbb=((IGregTechTileEntity)tTileEntity).getCollisionBoundingBoxFromPool(((IGregTechTileEntity)tTileEntity).getWorld(), 0, 0, 0);
|
||||
minX=bbb.minX;
|
||||
minY=bbb.minY;
|
||||
minZ=bbb.minZ;
|
||||
maxX=bbb.maxX;
|
||||
maxY=bbb.maxY;
|
||||
maxZ=bbb.maxZ;
|
||||
return;
|
||||
}
|
||||
super.setBlockBoundsBasedOnState(blockAccess,aX,aY,aZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBlockBoundsForItemRender() {
|
||||
super.setBlockBounds(0,0,0,1,1,1);
|
||||
}
|
||||
|
||||
public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity collider) {
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
|
||||
if (((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null)) {
|
||||
|
|
|
@ -47,11 +47,27 @@ public class GT_Block_Ores extends GT_Block_Ores_Abstract {
|
|||
|
||||
@Override
|
||||
public Materials[] getDroppedDusts() { //Must have 8 entries; can be null.
|
||||
return new Materials[]{Materials.Stone, Materials.Netherrack, Materials.Endstone, Materials.GraniteBlack, Materials.GraniteRed, Materials.Marble, Materials.Basalt, Materials.Stone};
|
||||
return new Materials[]{Materials.Stone, Materials.Netherrack, Materials.Endstone, Materials.GraniteBlack, Materials.GraniteRed, Materials.Marble, Materials.Basalt, null};
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITexture[] getTextureSet() { //Must have 16 entries.
|
||||
return new ITexture[]{new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.netherrack, 0, 0), new GT_CopiedBlockTexture(Blocks.end_stone, 0, 0), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_BLACK_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.MARBLE_STONE), new GT_RenderedTexture(Textures.BlockIcons.BASALT_STONE), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0)};
|
||||
return new ITexture[]{
|
||||
new GT_CopiedBlockTexture(Blocks.stone, 0, 0),
|
||||
new GT_CopiedBlockTexture(Blocks.netherrack, 0, 0),
|
||||
new GT_CopiedBlockTexture(Blocks.end_stone, 0, 0),
|
||||
new GT_RenderedTexture(Textures.BlockIcons.GRANITE_BLACK_STONE),
|
||||
new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE),
|
||||
new GT_RenderedTexture(Textures.BlockIcons.MARBLE_STONE),
|
||||
new GT_RenderedTexture(Textures.BlockIcons.BASALT_STONE),
|
||||
new GT_CopiedBlockTexture(Blocks.stone, 0, 0),
|
||||
new GT_CopiedBlockTexture(Blocks.stone, 0, 0),
|
||||
new GT_CopiedBlockTexture(Blocks.netherrack, 0, 0),
|
||||
new GT_CopiedBlockTexture(Blocks.end_stone, 0, 0),
|
||||
new GT_RenderedTexture(Textures.BlockIcons.GRANITE_BLACK_STONE),
|
||||
new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE),
|
||||
new GT_RenderedTexture(Textures.BlockIcons.MARBLE_STONE),
|
||||
new GT_RenderedTexture(Textures.BlockIcons.BASALT_STONE),
|
||||
new GT_CopiedBlockTexture(Blocks.stone, 0, 0)};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.enums.Materials;
|
||||
import gregtech.api.enums.OrePrefixes;
|
||||
import gregtech.api.interfaces.ITexture;
|
||||
import gregtech.api.objects.GT_CopiedBlockTexture;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.init.Blocks;
|
||||
|
||||
public class GT_Block_Ores_GC extends GT_Block_Ores_Abstract {
|
||||
Block aMoonBlock = GameRegistry.findBlock("GalacticraftCore", "tile.moonBlock");
|
||||
Block aMarsBlock = GameRegistry.findBlock("GalacticraftMars", "tile.mars");
|
||||
|
||||
public GT_Block_Ores_GC() {
|
||||
super("gt.blockores.gc", 4, true, Material.rock);
|
||||
if (aMoonBlock == null) aMoonBlock = Blocks.stone;
|
||||
if (aMarsBlock == null) aMarsBlock = Blocks.stone;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
return "gt.blockores.gc";
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrePrefixes[] getProcessingPrefix() { //Must have 8 entries.
|
||||
return new OrePrefixes[]{OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore, OrePrefixes.ore};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Block getDroppedBlock() {
|
||||
return GregTech_API.sBlockOresGC;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Materials[] getDroppedDusts() { //Must have 8 entries; can be null.
|
||||
return new Materials[]{Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone, Materials.Stone};
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITexture[] getTextureSet() { //Must have 16 entries.
|
||||
return new ITexture[]{new GT_CopiedBlockTexture(aMoonBlock, 0, 3), new GT_CopiedBlockTexture(aMoonBlock, 0, 4), new GT_CopiedBlockTexture(aMoonBlock, 0, 6), new GT_CopiedBlockTexture(aMarsBlock, 0, 9), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0),new GT_CopiedBlockTexture(aMoonBlock, 0, 3), new GT_CopiedBlockTexture(aMoonBlock, 0, 4), new GT_CopiedBlockTexture(aMoonBlock, 0, 6), new GT_CopiedBlockTexture(aMarsBlock, 0, 9), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0)};
|
||||
}
|
||||
}
|
|
@ -47,4 +47,4 @@ public class GT_Block_Ores_UB3 extends GT_Block_Ores_Abstract {
|
|||
public ITexture[] getTextureSet() { //Must have 16 entries.
|
||||
return new ITexture[]{new GT_CopiedBlockTexture(aUBBlock, 0, 0), new GT_CopiedBlockTexture(aUBBlock, 0, 1), new GT_CopiedBlockTexture(aUBBlock, 0, 2), new GT_CopiedBlockTexture(aUBBlock, 0, 3), new GT_CopiedBlockTexture(aUBBlock, 0, 4), new GT_CopiedBlockTexture(aUBBlock, 0, 5), new GT_CopiedBlockTexture(aUBBlock, 0, 6), new GT_CopiedBlockTexture(aUBBlock, 0, 7), new GT_CopiedBlockTexture(aUBBlock, 0, 0), new GT_CopiedBlockTexture(aUBBlock, 0, 1), new GT_CopiedBlockTexture(aUBBlock, 0, 2), new GT_CopiedBlockTexture(aUBBlock, 0, 3), new GT_CopiedBlockTexture(aUBBlock, 0, 4), new GT_CopiedBlockTexture(aUBBlock, 0, 5), new GT_CopiedBlockTexture(aUBBlock, 0, 6), new GT_CopiedBlockTexture(aUBBlock, 0, 7)};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ public class GT_Block_Stones extends GT_Block_Stones_Abstract {
|
|||
}
|
||||
|
||||
public int getHarvestLevel(int aMeta) {
|
||||
return 1;
|
||||
return 2;
|
||||
}
|
||||
|
||||
public float getBlockHardness(World aWorld, int aX, int aY, int aZ) {
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
public class GT_Item_Casings1
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings1(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
int tMeta = getDamage(aStack);
|
||||
if (tMeta >= 12 && tMeta <= 14) {
|
||||
aList.add(EnumChatFormatting.ITALIC + this.mCoilOverheated1Tooltip);
|
||||
aList.add(EnumChatFormatting.ITALIC + this.mCoilOverheated2Tooltip);
|
||||
}
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GT_Item_Casings1
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings1(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
int tMeta = getDamage(aStack);
|
||||
if (tMeta >= 12 && tMeta <= 14) {
|
||||
aList.add(EnumChatFormatting.ITALIC + this.mCoilOverheated1Tooltip);
|
||||
aList.add(EnumChatFormatting.ITALIC + this.mCoilOverheated2Tooltip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GT_Item_Casings2
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings2(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
switch (getDamage(aStack)) {
|
||||
case 8:
|
||||
aList.add(this.mBlastProofTooltip);
|
||||
}
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GT_Item_Casings2
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings2(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
switch (getDamage(aStack)) {
|
||||
case 8:
|
||||
aList.add(this.mBlastProofTooltip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class GT_Item_Casings3
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings3(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class GT_Item_Casings3
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings3(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class GT_Item_Casings4
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings4(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class GT_Item_Casings4
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings4(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GT_Item_Casings5
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings5(Block par1) {
|
||||
|
|
10
src/main/java/gregtech/common/blocks/GT_Item_Casings6.java
Normal file
10
src/main/java/gregtech/common/blocks/GT_Item_Casings6.java
Normal file
|
@ -0,0 +1,10 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class GT_Item_Casings6
|
||||
extends GT_Item_Casings_Abstract {
|
||||
public GT_Item_Casings6(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
}
|
|
@ -1,46 +1,46 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public abstract class GT_Item_Casings_Abstract
|
||||
extends ItemBlock {
|
||||
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!");
|
||||
protected final String mCoil01Tooltip = GT_LanguageManager.addStringLocalization("gt.coil01tooltip", "Base Heating Capacity = 1800 Kelvin");
|
||||
protected final String mCoil02Tooltip = GT_LanguageManager.addStringLocalization("gt.coil02tooltip", "Base Heating Capacity = 2700 Kelvin");
|
||||
protected final String mCoil03Tooltip = GT_LanguageManager.addStringLocalization("gt.coil03tooltip", "Base Heating Capacity = 3600 Kelvin");
|
||||
protected final String mCoil04Tooltip = GT_LanguageManager.addStringLocalization("gt.coil04tooltip", "Base Heating Capacity = 4500 Kelvin");
|
||||
protected final String mCoil05Tooltip = GT_LanguageManager.addStringLocalization("gt.coil05tooltip", "Base Heating Capacity = 5400 Kelvin");
|
||||
protected final String mCoil06Tooltip = GT_LanguageManager.addStringLocalization("gt.coil06tooltip", "Base Heating Capacity = 7200 Kelvin");
|
||||
protected final String mCoil07Tooltip = GT_LanguageManager.addStringLocalization("gt.coil07tooltip", "Base Heating Capacity = 9001 Kelvin");
|
||||
protected final String mCoilOverheated1Tooltip = GT_LanguageManager.addStringLocalization("gt.coil.overheated1.tooltip", "These coils are deprecated");
|
||||
protected final String mCoilOverheated2Tooltip = GT_LanguageManager.addStringLocalization("gt.coil.overheated2.tooltip", "Place in crafting grid to get regular coils");
|
||||
protected final String mBlastProofTooltip = GT_LanguageManager.addStringLocalization("gt.blastprooftooltip", "This Block is Blast Proof");
|
||||
public GT_Item_Casings_Abstract(Block par1) {
|
||||
super(par1);
|
||||
setMaxDamage(0);
|
||||
setHasSubtypes(true);
|
||||
setCreativeTab(GregTech_API.TAB_GREGTECH_MATERIALS);
|
||||
}
|
||||
|
||||
public int getMetadata(int aMeta) {
|
||||
return aMeta;
|
||||
}
|
||||
|
||||
public String getUnlocalizedName(ItemStack aStack) {
|
||||
return this.field_150939_a.getUnlocalizedName() + "." + getDamage(aStack);
|
||||
}
|
||||
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
aList.add(this.mNoMobsToolTip);
|
||||
aList.add(this.mNoTileEntityToolTip);
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public abstract class GT_Item_Casings_Abstract
|
||||
extends ItemBlock {
|
||||
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!");
|
||||
protected final String mCoil01Tooltip = GT_LanguageManager.addStringLocalization("gt.coil01tooltip", "Base Heating Capacity = 1800 Kelvin");
|
||||
protected final String mCoil02Tooltip = GT_LanguageManager.addStringLocalization("gt.coil02tooltip", "Base Heating Capacity = 2700 Kelvin");
|
||||
protected final String mCoil03Tooltip = GT_LanguageManager.addStringLocalization("gt.coil03tooltip", "Base Heating Capacity = 3600 Kelvin");
|
||||
protected final String mCoil04Tooltip = GT_LanguageManager.addStringLocalization("gt.coil04tooltip", "Base Heating Capacity = 4500 Kelvin");
|
||||
protected final String mCoil05Tooltip = GT_LanguageManager.addStringLocalization("gt.coil05tooltip", "Base Heating Capacity = 5400 Kelvin");
|
||||
protected final String mCoil06Tooltip = GT_LanguageManager.addStringLocalization("gt.coil06tooltip", "Base Heating Capacity = 7200 Kelvin");
|
||||
protected final String mCoil07Tooltip = GT_LanguageManager.addStringLocalization("gt.coil07tooltip", "Base Heating Capacity = 9001 Kelvin");
|
||||
protected final String mCoilOverheated1Tooltip = GT_LanguageManager.addStringLocalization("gt.coil.overheated1.tooltip", "These coils are deprecated");
|
||||
protected final String mCoilOverheated2Tooltip = GT_LanguageManager.addStringLocalization("gt.coil.overheated2.tooltip", "Place in crafting grid to get regular coils");
|
||||
protected final String mBlastProofTooltip = GT_LanguageManager.addStringLocalization("gt.blastprooftooltip", "This Block is Blast Proof");
|
||||
public GT_Item_Casings_Abstract(Block par1) {
|
||||
super(par1);
|
||||
setMaxDamage(0);
|
||||
setHasSubtypes(true);
|
||||
setCreativeTab(GregTech_API.TAB_GREGTECH_MATERIALS);
|
||||
}
|
||||
|
||||
public int getMetadata(int aMeta) {
|
||||
return aMeta;
|
||||
}
|
||||
|
||||
public String getUnlocalizedName(ItemStack aStack) {
|
||||
return this.field_150939_a.getUnlocalizedName() + "." + getDamage(aStack);
|
||||
}
|
||||
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
aList.add(this.mNoMobsToolTip);
|
||||
aList.add(this.mNoTileEntityToolTip);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GT_Item_Concretes
|
||||
extends GT_Item_Stones_Abstract {
|
||||
private final String mRunFasterToolTip = GT_LanguageManager.addStringLocalization("gt.runfastertooltip", "You can walk faster on this Block");
|
||||
|
||||
public GT_Item_Concretes(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
aList.add(this.mRunFasterToolTip);
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GT_Item_Concretes
|
||||
extends GT_Item_Stones_Abstract {
|
||||
private final String mRunFasterToolTip = GT_LanguageManager.addStringLocalization("gt.runfastertooltip", "You can walk faster on this Block");
|
||||
|
||||
public GT_Item_Concretes(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
aList.add(this.mRunFasterToolTip);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class GT_Item_Granites
|
||||
extends GT_Item_Stones_Abstract {
|
||||
public GT_Item_Granites(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class GT_Item_Granites
|
||||
extends GT_Item_Stones_Abstract {
|
||||
public GT_Item_Granites(Block par1) {
|
||||
super(par1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,16 +33,21 @@ public class GT_Item_Machines
|
|||
if ((tDamage <= 0) || (tDamage >= GregTech_API.METATILEENTITIES.length)) {
|
||||
return;
|
||||
}
|
||||
TileEntity temp = GregTech_API.sBlockMachines.createTileEntity(aPlayer == null ? GT_Values.DW : aPlayer.worldObj, GregTech_API.METATILEENTITIES[tDamage] == null ? 0 : GregTech_API.METATILEENTITIES[tDamage].getTileEntityBaseType());
|
||||
temp.setWorldObj(aPlayer == null ? GT_Values.DW : aPlayer.worldObj);
|
||||
temp.xCoord = 0;
|
||||
temp.yCoord = 0;
|
||||
temp.zCoord = 0;
|
||||
if ((temp instanceof IGregTechTileEntity)) {
|
||||
IGregTechTileEntity tTileEntity = (IGregTechTileEntity) temp;
|
||||
tTileEntity.setInitialValuesAsNBT(new NBTTagCompound(), (short) tDamage);
|
||||
if (tTileEntity.getDescription() != null) {
|
||||
int i = 0;
|
||||
if (tDamage == 0) {
|
||||
aList.add("WARNING, THE EXISTENCE OF THIS ITEM IS A BUG");
|
||||
aList.add("IF YOU GOT IT IN SURVIVAL THEN PLEASE REPORT IT");
|
||||
} else {
|
||||
TileEntity temp = GregTech_API.sBlockMachines.createTileEntity(aPlayer == null ? GT_Values.DW : aPlayer.worldObj, GregTech_API.METATILEENTITIES[tDamage] == null ? 0 : GregTech_API.METATILEENTITIES[tDamage].getTileEntityBaseType());
|
||||
if (temp != null) {
|
||||
temp.setWorldObj(aPlayer == null ? GT_Values.DW : aPlayer.worldObj);
|
||||
temp.xCoord = 0;
|
||||
temp.yCoord = 0;
|
||||
temp.zCoord = 0;
|
||||
if ((temp instanceof IGregTechTileEntity)) {
|
||||
IGregTechTileEntity tTileEntity = (IGregTechTileEntity) temp;
|
||||
tTileEntity.setInitialValuesAsNBT(new NBTTagCompound(), (short) tDamage);
|
||||
if (tTileEntity.getDescription() != null) {
|
||||
int i = 0;
|
||||
for (String tDescription : tTileEntity.getDescription()) {
|
||||
if (GT_Utility.isStringValid(tDescription)) {
|
||||
if(tDescription.contains("%%%")){
|
||||
|
@ -54,18 +59,20 @@ public class GT_Item_Machines
|
|||
aList.add(tTranslated.equals("") ? tDescription : tTranslated);}
|
||||
}else i++;
|
||||
}
|
||||
}
|
||||
if (tTileEntity.getEUCapacity() > 0L) {
|
||||
if (tTileEntity.getInputVoltage() > 0L) {
|
||||
aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_IN", "Voltage IN: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.GREEN + tTileEntity.getInputVoltage() + " (" + GT_Values.VN[GT_Utility.getTier(tTileEntity.getInputVoltage())] + ")" + EnumChatFormatting.GRAY);
|
||||
}
|
||||
if (tTileEntity.getEUCapacity() > 0L) {
|
||||
if (tTileEntity.getInputVoltage() > 0L) {
|
||||
aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_IN", "Voltage IN: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.GREEN + tTileEntity.getInputVoltage() + " (" + GT_Values.VN[GT_Utility.getTier(tTileEntity.getInputVoltage())] + ")" + EnumChatFormatting.GRAY);
|
||||
}
|
||||
if (tTileEntity.getOutputVoltage() > 0L) {
|
||||
aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_OUT", "Voltage OUT: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.GREEN + tTileEntity.getOutputVoltage() + " (" + GT_Values.VN[GT_Utility.getTier(tTileEntity.getOutputVoltage())] + ")" + EnumChatFormatting.GRAY);
|
||||
}
|
||||
if (tTileEntity.getOutputAmperage() > 1L) {
|
||||
aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_AMOUNT", "Amperage: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.YELLOW + tTileEntity.getOutputAmperage() + EnumChatFormatting.GRAY);
|
||||
}
|
||||
aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_STORE", "EU Capacity: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.BLUE + tTileEntity.getEUCapacity() + EnumChatFormatting.GRAY);
|
||||
}
|
||||
}
|
||||
if (tTileEntity.getOutputVoltage() > 0L) {
|
||||
aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_OUT", "Voltage OUT: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.GREEN + tTileEntity.getOutputVoltage() + " (" + GT_Values.VN[GT_Utility.getTier(tTileEntity.getOutputVoltage())] + ")" + EnumChatFormatting.GRAY);
|
||||
}
|
||||
if (tTileEntity.getOutputAmperage() > 1L) {
|
||||
aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_AMOUNT", "Amperage: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.YELLOW + tTileEntity.getOutputAmperage() + EnumChatFormatting.GRAY);
|
||||
}
|
||||
aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_STORE", "Capacity: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.BLUE + tTileEntity.getEUCapacity() + EnumChatFormatting.GRAY);
|
||||
}
|
||||
}
|
||||
NBTTagCompound aNBT = aStack.getTagCompound();
|
||||
|
@ -142,4 +149,4 @@ public class GT_Item_Machines
|
|||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,37 +1,37 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GT_Item_Stones_Abstract
|
||||
extends ItemBlock {
|
||||
private final String mNoMobsToolTip = GT_LanguageManager.addStringLocalization("gt.nomobspawnsonthisblock", "Mobs cannot Spawn on this Block");
|
||||
|
||||
public GT_Item_Stones_Abstract(Block par1) {
|
||||
super(par1);
|
||||
setMaxDamage(0);
|
||||
setHasSubtypes(true);
|
||||
setCreativeTab(GregTech_API.TAB_GREGTECH_MATERIALS);
|
||||
}
|
||||
|
||||
public String getUnlocalizedName(ItemStack aStack) {
|
||||
return this.field_150939_a.getUnlocalizedName() + "." + getDamage(aStack);
|
||||
}
|
||||
|
||||
public int getMetadata(int aMeta) {
|
||||
return aMeta;
|
||||
}
|
||||
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
if (aStack.getItemDamage() % 8 >= 3) {
|
||||
aList.add(this.mNoMobsToolTip);
|
||||
}
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import gregtech.api.GregTech_API;
|
||||
import gregtech.api.util.GT_LanguageManager;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GT_Item_Stones_Abstract
|
||||
extends ItemBlock {
|
||||
private final String mNoMobsToolTip = GT_LanguageManager.addStringLocalization("gt.nomobspawnsonthisblock", "Mobs cannot Spawn on this Block");
|
||||
|
||||
public GT_Item_Stones_Abstract(Block par1) {
|
||||
super(par1);
|
||||
setMaxDamage(0);
|
||||
setHasSubtypes(true);
|
||||
setCreativeTab(GregTech_API.TAB_GREGTECH_MATERIALS);
|
||||
}
|
||||
|
||||
public String getUnlocalizedName(ItemStack aStack) {
|
||||
return this.field_150939_a.getUnlocalizedName() + "." + getDamage(aStack);
|
||||
}
|
||||
|
||||
public int getMetadata(int aMeta) {
|
||||
return aMeta;
|
||||
}
|
||||
|
||||
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
|
||||
super.addInformation(aStack, aPlayer, aList, aF3_H);
|
||||
if (aStack.getItemDamage() % 8 >= 3) {
|
||||
aList.add(this.mNoMobsToolTip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.material.MapColor;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class GT_Material_Casings
|
||||
extends Material {
|
||||
public static final Material INSTANCE = new GT_Material_Casings();
|
||||
|
||||
private GT_Material_Casings() {
|
||||
super(MapColor.ironColor);
|
||||
setRequiresTool();
|
||||
}
|
||||
|
||||
public boolean isOpaque() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.material.MapColor;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class GT_Material_Casings
|
||||
extends Material {
|
||||
public static final Material INSTANCE = new GT_Material_Casings();
|
||||
|
||||
private GT_Material_Casings() {
|
||||
super(MapColor.ironColor);
|
||||
setRequiresTool();
|
||||
}
|
||||
|
||||
public boolean isOpaque() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.material.MapColor;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class GT_Material_Machines
|
||||
extends Material {
|
||||
public GT_Material_Machines() {
|
||||
super(MapColor.ironColor);
|
||||
setRequiresTool();
|
||||
setImmovableMobility();
|
||||
setAdventureModeExempt();
|
||||
}
|
||||
|
||||
public boolean isOpaque() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import net.minecraft.block.material.MapColor;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class GT_Material_Machines
|
||||
extends Material {
|
||||
public GT_Material_Machines() {
|
||||
super(MapColor.ironColor);
|
||||
setRequiresTool();
|
||||
setImmovableMobility();
|
||||
setAdventureModeExempt();
|
||||
}
|
||||
|
||||
public boolean isOpaque() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
package gregtech.common.blocks;
|
||||
|
||||
import com.google.common.io.ByteArrayDataInput;
|
||||
import com.google.common.io.ByteArrayDataOutput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import gregtech.api.net.GT_Packet;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class GT_Packet_Ores
|
||||
extends GT_Packet {
|
||||
private int mX;
|
||||
private int mZ;
|
||||
private short mY;
|
||||
private short mMetaData;
|
||||
|
||||
public GT_Packet_Ores() {
|
||||
super(true);
|
||||
}
|
||||
|
||||
public GT_Packet_Ores(int aX, short aY, int aZ, short aMetaData) {
|
||||
super(false);
|
||||
this.mX = aX;
|
||||
this.mY = aY;
|
||||
this.mZ = aZ;
|
||||
this.mMetaData = aMetaData;
|
||||
}
|
||||
|
||||
public byte[] encode() {
|
||||
ByteArrayDataOutput tOut = ByteStreams.newDataOutput(12);
|
||||
|
||||
tOut.writeInt(this.mX);
|
||||
tOut.writeShort(this.mY);
|
||||
tOut.writeInt(this.mZ);
|
||||
tOut.writeShort(this.mMetaData);
|
||||
|
||||
return tOut.toByteArray();
|
||||
}
|
||||
|
||||
public GT_Packet decode(ByteArrayDataInput aData) {
|
||||
return new GT_Packet_Ores(aData.readInt(), aData.readShort(), aData.readInt(), aData.readShort());
|
||||
}
|
||||
|
||||
public void process(IBlockAccess aWorld) {
|
||||
if (aWorld != null) {
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(this.mX, this.mY, this.mZ);
|
||||
if ((tTileEntity instanceof GT_TileEntity_Ores)) {
|
||||
((GT_TileEntity_Ores) tTileEntity).mMetaData = this.mMetaData;
|
||||
}
|
||||
if (((aWorld instanceof World)) && (((World) aWorld).isRemote)) {
|
||||
((World) aWorld).markBlockForUpdate(this.mX, this.mY, this.mZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public byte getPacketID() {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
package gregtech.common.blocks;
|
||||
|
||||
import com.google.common.io.ByteArrayDataInput;
|
||||
import com.google.common.io.ByteArrayDataOutput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import gregtech.api.net.GT_Packet;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class GT_Packet_Ores
|
||||
extends GT_Packet {
|
||||
private int mX;
|
||||
private int mZ;
|
||||
private short mY;
|
||||
private short mMetaData;
|
||||
|
||||
public GT_Packet_Ores() {
|
||||
super(true);
|
||||
}
|
||||
|
||||
public GT_Packet_Ores(int aX, short aY, int aZ, short aMetaData) {
|
||||
super(false);
|
||||
this.mX = aX;
|
||||
this.mY = aY;
|
||||
this.mZ = aZ;
|
||||
this.mMetaData = aMetaData;
|
||||
}
|
||||
|
||||
public byte[] encode() {
|
||||
ByteArrayDataOutput tOut = ByteStreams.newDataOutput(12);
|
||||
|
||||
tOut.writeInt(this.mX);
|
||||
tOut.writeShort(this.mY);
|
||||
tOut.writeInt(this.mZ);
|
||||
tOut.writeShort(this.mMetaData);
|
||||
|
||||
return tOut.toByteArray();
|
||||
}
|
||||
|
||||
public GT_Packet decode(ByteArrayDataInput aData) {
|
||||
return new GT_Packet_Ores(aData.readInt(), aData.readShort(), aData.readInt(), aData.readShort());
|
||||
}
|
||||
|
||||
public void process(IBlockAccess aWorld) {
|
||||
if (aWorld != null) {
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(this.mX, this.mY, this.mZ);
|
||||
if ((tTileEntity instanceof GT_TileEntity_Ores)) {
|
||||
((GT_TileEntity_Ores) tTileEntity).mMetaData = this.mMetaData;
|
||||
}
|
||||
if (((aWorld instanceof World)) && (((World) aWorld).isRemote)) {
|
||||
((World) aWorld).markBlockForUpdate(this.mX, this.mY, this.mZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public byte getPacketID() {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,31 +55,34 @@ public class GT_TileEntity_Ores extends TileEntity implements ITexturedTileEntit
|
|||
if (GregTech_API.sBlockOresUb1 != null) {
|
||||
tOreBlock = GregTech_API.sBlockOresUb1;
|
||||
aMetaData += (BlockMeta * 1000);
|
||||
//System.out.println("Block changed to UB1");
|
||||
}
|
||||
} else if (BlockName.equals("tile.metamorphicStone")) {
|
||||
if (GregTech_API.sBlockOresUb2 != null) {
|
||||
tOreBlock = GregTech_API.sBlockOresUb2;
|
||||
aMetaData += (BlockMeta * 1000);
|
||||
//System.out.println("Block changed to UB2");
|
||||
}
|
||||
} else if (BlockName.equals("tile.sedimentaryStone")) {
|
||||
if (GregTech_API.sBlockOresUb3 != null) {
|
||||
tOreBlock = GregTech_API.sBlockOresUb3;
|
||||
aMetaData += (BlockMeta * 1000);
|
||||
//System.out.println("Block changed to UB3");
|
||||
}
|
||||
} else if (BlockName.equals("tile.moonBlock") && (BlockMeta == 3 || BlockMeta == 4)) {
|
||||
if (GregTech_API.sBlockOresGC != null) {
|
||||
switch (BlockMeta) {
|
||||
case 3: tOreBlock = GregTech_API.sBlockOresGC; break;
|
||||
case 4: aMetaData += 1000; tOreBlock = GregTech_API.sBlockOresGC; break;
|
||||
}
|
||||
}
|
||||
} else if (BlockName.equals("tile.mars") && (BlockMeta == 6 || BlockMeta == 9)) {
|
||||
if (GregTech_API.sBlockOresGC != null) {
|
||||
switch (BlockMeta) {
|
||||
case 6: aMetaData += 2000; tOreBlock = GregTech_API.sBlockOresGC; break;
|
||||
case 9: aMetaData += 3000; tOreBlock = GregTech_API.sBlockOresGC; break;
|
||||
}
|
||||
}
|
||||
//} else if (BlockName.equals("tile.moonBlock") && (BlockMeta == 3 || BlockMeta == 4)) {
|
||||
// if (GregTech_API.sBlockOresGC != null) {
|
||||
// switch (BlockMeta) {
|
||||
// case 3: tOreBlock = GregTech_API.sBlockOresGC; break;
|
||||
// case 4: aMetaData += 1000; tOreBlock = GregTech_API.sBlockOresGC; break;
|
||||
// }
|
||||
// }
|
||||
//} else if (BlockName.equals("tile.mars") && (BlockMeta == 6 || BlockMeta == 9)) {
|
||||
// if (GregTech_API.sBlockOresGC != null) {
|
||||
// switch (BlockMeta) {
|
||||
// case 6: aMetaData += 2000; tOreBlock = GregTech_API.sBlockOresGC; break;
|
||||
// case 9: aMetaData += 3000; tOreBlock = GregTech_API.sBlockOresGC; break;
|
||||
// }
|
||||
// }
|
||||
} else if (tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.netherrack)) {
|
||||
aMetaData += 1000;
|
||||
} else if (tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.end_stone)) {
|
||||
|
@ -107,6 +110,7 @@ public class GT_TileEntity_Ores extends TileEntity implements ITexturedTileEntit
|
|||
} else if (!tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.stone)) {
|
||||
return false;
|
||||
}
|
||||
//System.out.println(tOreBlock);
|
||||
aWorld.setBlock(aX, aY, aZ, tOreBlock, getHarvestData((short) aMetaData, ((GT_Block_Ores_Abstract) tOreBlock).getBaseBlockHarvestLevel(aMetaData % 16000 / 1000)), 0);
|
||||
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
|
||||
if ((tTileEntity instanceof GT_TileEntity_Ores)) {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue