diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-06-26 22:28:21 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-06-26 22:28:21 +1000 |
commit | 87bfa35039be5fae405619baa0fbb05d4b1cf491 (patch) | |
tree | 3b9c66ee14c44e9b47a4f758640417ac244d110d /src/Java/miscutil/core | |
parent | 0cb9dc85ec330225e27fc946ab16d712ad2ba03d (diff) | |
download | GT5-Unofficial-87bfa35039be5fae405619baa0fbb05d4b1cf491.tar.gz GT5-Unofficial-87bfa35039be5fae405619baa0fbb05d4b1cf491.tar.bz2 GT5-Unofficial-87bfa35039be5fae405619baa0fbb05d4b1cf491.zip |
+Electric Blast Furnace clone - For Testing
+Added Blazing Pyrotheum
+Added Gelid Cryotheum
+Added Blizz Rods
Diffstat (limited to 'src/Java/miscutil/core')
13 files changed, 638 insertions, 15 deletions
diff --git a/src/Java/miscutil/core/common/CommonProxy.java b/src/Java/miscutil/core/common/CommonProxy.java index ac1aa32801..3197eaffca 100644 --- a/src/Java/miscutil/core/common/CommonProxy.java +++ b/src/Java/miscutil/core/common/CommonProxy.java @@ -36,6 +36,7 @@ public class CommonProxy { Utils.LOG_WARNING("Development mode not set."); } AddToCreativeTab.initialiseTabs(); + COMPAT_IntermodStaging.preInit(); //Apparently I should do this here. Might put it in Init for a test. //Growthcraft_Handler.run(); } @@ -53,7 +54,7 @@ public class CommonProxy { COMPAT_HANDLER.registerMyModsOreDictEntries(); COMPAT_HANDLER.registerGregtechMachines(); COMPAT_HANDLER.intermodOreDictionarySupport(); - COMPAT_IntermodStaging.load(); + COMPAT_IntermodStaging.init(); } public void postInit(FMLPostInitializationEvent e) { @@ -63,6 +64,7 @@ public class CommonProxy { COMPAT_HANDLER.InitialiseHandlerThenAddRecipes(); COMPAT_HANDLER.RemoveRecipesFromOtherMods(); COMPAT_HANDLER.startLoadingGregAPIBasedRecipes(); + COMPAT_IntermodStaging.postInit(); } diff --git a/src/Java/miscutil/core/handler/COMPAT_HANDLER.java b/src/Java/miscutil/core/handler/COMPAT_HANDLER.java index 4ab66d3099..a62d7c6734 100644 --- a/src/Java/miscutil/core/handler/COMPAT_HANDLER.java +++ b/src/Java/miscutil/core/handler/COMPAT_HANDLER.java @@ -121,7 +121,7 @@ public class COMPAT_HANDLER { } if (LoadedMods.IndustrialCraft2){ COMPAT_IC2.OreDict(); - } + } } public static void RemoveRecipesFromOtherMods(){ diff --git a/src/Java/miscutil/core/handler/COMPAT_IntermodStaging.java b/src/Java/miscutil/core/handler/COMPAT_IntermodStaging.java index b3c7934c9a..668487c5b7 100644 --- a/src/Java/miscutil/core/handler/COMPAT_IntermodStaging.java +++ b/src/Java/miscutil/core/handler/COMPAT_IntermodStaging.java @@ -1,18 +1,27 @@ package miscutil.core.handler; -import growthcraft.core.GrowthCraftCore; -import miscutil.core.intermod.growthcraft.Growthcraft_Handler; -import miscutil.core.lib.LoadedMods; +import miscutil.core.intermod.growthcraft.HANDLER_Growthcraft; +import miscutil.core.intermod.thermalfoundation.HANDLER_ThermalFoundation; +import miscutil.gregtech.HANDLER_Gregtech; public class COMPAT_IntermodStaging { - public static void load(){ - if (LoadedMods.Growthcraft || GrowthCraftCore.instance != null){ - Growthcraft_Handler.run(); - } - + public static void preInit(){ + HANDLER_Growthcraft.preInit(); + HANDLER_ThermalFoundation.preInit(); + HANDLER_Gregtech.preInit(); } - - + + public static void init(){ + HANDLER_ThermalFoundation.Init(); + HANDLER_Gregtech.init(); + } + + public static void postInit(){ + HANDLER_ThermalFoundation.postInit(); + HANDLER_Gregtech.postInit(); + } + + } diff --git a/src/Java/miscutil/core/handler/registration/gregtech/GregtechSteamCondenser.java b/src/Java/miscutil/core/handler/registration/gregtech/GregtechSteamCondenser.java index afc899410b..781daccde3 100644 --- a/src/Java/miscutil/core/handler/registration/gregtech/GregtechSteamCondenser.java +++ b/src/Java/miscutil/core/handler/registration/gregtech/GregtechSteamCondenser.java @@ -3,6 +3,7 @@ package miscutil.core.handler.registration.gregtech; import miscutil.core.util.Utils; import miscutil.gregtech.api.enums.GregtechItemList; import miscutil.gregtech.api.metatileentity.implementations.GregtechMetaCondensor; +import miscutil.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntityElectricBlastFurnace; import miscutil.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntityIronBlastFurnace; public class GregtechSteamCondenser @@ -27,6 +28,7 @@ public class GregtechSteamCondenser GregtechItemList.Machine_Iron_BlastFurnace.set(new GregtechMetaTileEntityIronBlastFurnace(768, "ironmachine.blastfurnace", "Iron Plated Blast Furnace").getStackForm(1L)); + GregtechItemList.Machine_Electric_BlastFurnace.set(new GregtechMetaTileEntityElectricBlastFurnace(796, "electric.blastfurnace", "Electric Blast Furnace").getStackForm(1L)); //ItemUtils.recipeBuilder(slot_1, slot_2, slot_3, slot_4, slot_5, slot_6, slot_7, slot_8, slot_9, resultItem); diff --git a/src/Java/miscutil/core/intermod/growthcraft/Growthcraft_Handler.java b/src/Java/miscutil/core/intermod/growthcraft/HANDLER_Growthcraft.java index 96912df9bc..9ff80c735a 100644 --- a/src/Java/miscutil/core/intermod/growthcraft/Growthcraft_Handler.java +++ b/src/Java/miscutil/core/intermod/growthcraft/HANDLER_Growthcraft.java @@ -7,7 +7,9 @@ import growthcraft.cellar.item.ItemBoozeBottle; import growthcraft.cellar.item.ItemBoozeBucketDEPRECATED; import growthcraft.cellar.item.ItemBucketBooze; import growthcraft.cellar.utils.BoozeRegistryHelper; +import growthcraft.core.GrowthCraftCore; import growthcraft.hops.GrowthCraftHops; +import miscutil.core.lib.LoadedMods; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.potion.Potion; @@ -15,7 +17,7 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import cpw.mods.fml.common.registry.GameRegistry; -public class Growthcraft_Handler { +public class HANDLER_Growthcraft { public static BlockFluidBooze[] jackDanielsWhiskeyFluids; public static Item jackDaniels; @@ -28,8 +30,10 @@ public class Growthcraft_Handler { private static int internalColour = 0000000; //Run me during Pre-Init - public static void run(){ - start(); + public static void preInit(){ + if (LoadedMods.Growthcraft || GrowthCraftCore.instance != null){ + start(); + } } private static void start(){ diff --git a/src/Java/miscutil/core/intermod/thermalfoundation/HANDLER_ThermalFoundation.java b/src/Java/miscutil/core/intermod/thermalfoundation/HANDLER_ThermalFoundation.java new file mode 100644 index 0000000000..e5eb609fe8 --- /dev/null +++ b/src/Java/miscutil/core/intermod/thermalfoundation/HANDLER_ThermalFoundation.java @@ -0,0 +1,37 @@ +package miscutil.core.intermod.thermalfoundation; + +import miscutil.core.intermod.thermalfoundation.block.TF_Blocks; +import miscutil.core.intermod.thermalfoundation.fluid.TF_Fluids; +import miscutil.core.intermod.thermalfoundation.item.TF_Items; +import miscutil.core.intermod.thermalfoundation.recipe.TF_Gregtech_Recipes; +import miscutil.core.lib.LoadedMods; + +public class HANDLER_ThermalFoundation { + + public static void preInit(){ + if (LoadedMods.CoFHCore){ + TF_Fluids.preInit(); + TF_Items.preInit(); + TF_Blocks.preInit(); + } + } + + public static void Init(){ + if (LoadedMods.CoFHCore){ + TF_Fluids.init(); + TF_Items.init(); + TF_Blocks.init(); + } + } + + public static void postInit(){ + if (LoadedMods.CoFHCore){ + TF_Fluids.postInit(); + TF_Items.postInit(); + TF_Blocks.postInit(); + if(LoadedMods.Gregtech){ + TF_Gregtech_Recipes.run(); + } + } + } +} diff --git a/src/Java/miscutil/core/intermod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java b/src/Java/miscutil/core/intermod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java new file mode 100644 index 0000000000..cc9094714e --- /dev/null +++ b/src/Java/miscutil/core/intermod/thermalfoundation/block/TF_Block_Fluid_Cryotheum.java @@ -0,0 +1,187 @@ +package miscutil.core.intermod.thermalfoundation.block; + +import java.util.Random; + +import miscutil.core.intermod.thermalfoundation.fluid.TF_Fluids; +import net.minecraft.block.Block; +import net.minecraft.block.material.MapColor; +import net.minecraft.block.material.Material; +import net.minecraft.block.material.MaterialLiquid; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityBlaze; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntitySnowman; +import net.minecraft.entity.monster.EntityZombie; +import net.minecraft.init.Blocks; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import cofh.core.fluid.BlockFluidInteractive; +import cofh.lib.util.BlockWrapper; +import cofh.lib.util.helpers.DamageHelper; +import cofh.lib.util.helpers.ServerHelper; +import cpw.mods.fml.common.registry.GameRegistry; + +public class TF_Block_Fluid_Cryotheum + extends BlockFluidInteractive +{ + Random random = new Random(); + public static final int LEVELS = 5; + public static final Material materialFluidCryotheum = new MaterialLiquid(MapColor.iceColor); + private static boolean enableSourceFall = true; + private static boolean effect = true; + + public TF_Block_Fluid_Cryotheum() + { + super("MiscUtils", TF_Fluids.fluidCryotheum, materialFluidCryotheum, "cryotheum"); + setQuantaPerBlock(5); + setTickRate(15); + + setHardness(1000.0F); + setLightOpacity(1); + setParticleColor(0.15F, 0.7F, 1.0F); + } + + public boolean preInit() + { + GameRegistry.registerBlock(this, "FluidCryotheum"); + + addInteraction(Blocks.grass, Blocks.dirt); + addInteraction(Blocks.water, 0, Blocks.ice); + addInteraction(Blocks.water, Blocks.snow); + addInteraction(Blocks.flowing_water, 0, Blocks.ice); + addInteraction(Blocks.flowing_water, Blocks.snow); + addInteraction(Blocks.lava, 0, Blocks.obsidian); + addInteraction(Blocks.lava, Blocks.stone); + addInteraction(Blocks.flowing_lava, 0, Blocks.obsidian); + addInteraction(Blocks.flowing_lava, Blocks.stone); + addInteraction(Blocks.leaves, Blocks.air); + addInteraction(Blocks.tallgrass, Blocks.air); + addInteraction(Blocks.fire, Blocks.air); + //addInteraction(TFBlocks.blockFluidGlowstone, 0, Blocks.glowstone); + + String str1 = "Fluid.Cryotheum"; + String str2 = "Enable this for Fluid Cryotheum to be worse than lava, except cold."; + effect = true; + + str2 = "Enable this for Fluid Cryotheum Source blocks to gradually fall downwards."; + enableSourceFall = true; + + return true; + } + + public void onEntityCollidedWithBlock(World paramWorld, int paramInt1, int paramInt2, int paramInt3, Entity paramEntity) + { + paramEntity.extinguish(); + if (!effect) { + return; + } + if ((paramEntity.motionY < -0.05D) || (paramEntity.motionY > 0.05D)) { + paramEntity.motionY *= 0.05D; + } + if ((paramEntity.motionZ < -0.05D) || (paramEntity.motionZ > 0.05D)) { + paramEntity.motionZ *= 0.05D; + } + if ((paramEntity.motionX < -0.05D) || (paramEntity.motionX > 0.05D)) { + paramEntity.motionX *= 0.05D; + } + if (ServerHelper.isClientWorld(paramWorld)) { + return; + } + if (paramWorld.getTotalWorldTime() % 8L != 0L) { + return; + } + if (((paramEntity instanceof EntityZombie)) || ((paramEntity instanceof EntityCreeper))) + { + EntitySnowman localEntitySnowman = new EntitySnowman(paramWorld); + localEntitySnowman.setLocationAndAngles(paramEntity.posX, paramEntity.posY, paramEntity.posZ, paramEntity.rotationYaw, paramEntity.rotationPitch); + paramWorld.spawnEntityInWorld(localEntitySnowman); + + paramEntity.setDead(); + } + else if (/*((paramEntity instanceof EntityBlizz)) ||*/((paramEntity instanceof EntitySnowman))) + { + ((EntityLivingBase)paramEntity).addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 120, 0)); + ((EntityLivingBase)paramEntity).addPotionEffect(new PotionEffect(Potion.regeneration.id, 120, 0)); + } + else if ((paramEntity instanceof EntityBlaze)) + { + paramEntity.attackEntityFrom(DamageHelper.cryotheum, 10.0F); + } + else + { + boolean bool = paramEntity.velocityChanged; + paramEntity.attackEntityFrom(DamageHelper.cryotheum, 2.0F); + paramEntity.velocityChanged = bool; + } + } + + public int getLightValue(IBlockAccess paramIBlockAccess, int paramInt1, int paramInt2, int paramInt3) + { + return TF_Fluids.fluidCryotheum.getLuminosity(); + } + + public void updateTick(World paramWorld, int paramInt1, int paramInt2, int paramInt3, Random paramRandom) + { + if (effect) { + checkForInteraction(paramWorld, paramInt1, paramInt2, paramInt3); + } + if ((enableSourceFall) && (paramWorld.getBlockMetadata(paramInt1, paramInt2, paramInt3) == 0)) + { + Block localBlock = paramWorld.getBlock(paramInt1, paramInt2 + this.densityDir, paramInt3); + int i = paramWorld.getBlockMetadata(paramInt1, paramInt2 + this.densityDir, paramInt3); + if ((localBlock == this) && (i != 0)) + { + paramWorld.setBlock(paramInt1, paramInt2 + this.densityDir, paramInt3, this, 0, 3); + paramWorld.setBlockToAir(paramInt1, paramInt2, paramInt3); + return; + } + } + super.updateTick(paramWorld, paramInt1, paramInt2, paramInt3, paramRandom); + } + + protected void checkForInteraction(World paramWorld, int paramInt1, int paramInt2, int paramInt3) + { + if (paramWorld.getBlock(paramInt1, paramInt2, paramInt3) != this) { + return; + } + int i = paramInt1; + int j = paramInt2; + int k = paramInt3; + for (int m = 0; m < 6; m++) + { + i = paramInt1 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][0]; + j = paramInt2 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][1]; + k = paramInt3 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][2]; + + interactWithBlock(paramWorld, i, j, k); + } + interactWithBlock(paramWorld, paramInt1 - 1, paramInt2, paramInt3 - 1); + interactWithBlock(paramWorld, paramInt1 - 1, paramInt2, paramInt3 + 1); + interactWithBlock(paramWorld, paramInt1 + 1, paramInt2, paramInt3 - 1); + interactWithBlock(paramWorld, paramInt1 + 1, paramInt2, paramInt3 + 1); + } + + protected void interactWithBlock(World paramWorld, int paramInt1, int paramInt2, int paramInt3) + { + Block localBlock = paramWorld.getBlock(paramInt1, paramInt2, paramInt3); + if ((localBlock == Blocks.air) || (localBlock == this)) { + return; + } + int i = paramWorld.getBlockMetadata(paramInt1, paramInt2, paramInt3); + if (hasInteraction(localBlock, i)) + { + BlockWrapper localBlockWrapper = getInteraction(localBlock, i); + paramWorld.setBlock(paramInt1, paramInt2, paramInt3, localBlockWrapper.block, localBlockWrapper.metadata, 3); + } + else if ((paramWorld.isSideSolid(paramInt1, paramInt2, paramInt3, ForgeDirection.UP)) && (paramWorld.isAirBlock(paramInt1, paramInt2 + 1, paramInt3))) + { + paramWorld.setBlock(paramInt1, paramInt2 + 1, paramInt3, Blocks.snow_layer, 0, 3); + } + } + + protected void triggerInteractionEffects(World paramWorld, int paramInt1, int paramInt2, int paramInt3) {} +} diff --git a/src/Java/miscutil/core/intermod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java b/src/Java/miscutil/core/intermod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java new file mode 100644 index 0000000000..461f4cdbef --- /dev/null +++ b/src/Java/miscutil/core/intermod/thermalfoundation/block/TF_Block_Fluid_Pyrotheum.java @@ -0,0 +1,180 @@ +package miscutil.core.intermod.thermalfoundation.block; + +import java.util.Random; + +import miscutil.core.intermod.thermalfoundation.fluid.TF_Fluids; +import net.minecraft.block.Block; +import net.minecraft.block.material.MapColor; +import net.minecraft.block.material.Material; +import net.minecraft.block.material.MaterialLiquid; +import net.minecraft.entity.Entity; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import cofh.core.fluid.BlockFluidInteractive; +import cofh.lib.util.BlockWrapper; +import cofh.lib.util.helpers.ServerHelper; +import cpw.mods.fml.common.registry.GameRegistry; + +public class TF_Block_Fluid_Pyrotheum + extends BlockFluidInteractive +{ + Random random = new Random(); + public static final int LEVELS = 5; + public static final Material materialFluidPyrotheum = new MaterialLiquid(MapColor.tntColor); + private static boolean effect = true; + private static boolean enableSourceFall = true; + + public TF_Block_Fluid_Pyrotheum() + { + super("MiscUtils", TF_Fluids.fluidPyrotheum, Material.lava, "pyrotheum"); + setQuantaPerBlock(5); + setTickRate(10); + + setHardness(1000.0F); + setLightOpacity(1); + setParticleColor(1.0F, 0.7F, 0.15F); + } + + public boolean preInit() + { + GameRegistry.registerBlock(this, "FluidPyrotheum"); + + addInteraction(Blocks.cobblestone, Blocks.stone); + addInteraction(Blocks.grass, Blocks.dirt); + addInteraction(Blocks.sand, Blocks.glass); + addInteraction(Blocks.water, Blocks.stone); + addInteraction(Blocks.flowing_water, Blocks.stone); + addInteraction(Blocks.clay, Blocks.hardened_clay); + addInteraction(Blocks.ice, Blocks.stone); + addInteraction(Blocks.snow, Blocks.air); + addInteraction(Blocks.snow_layer, Blocks.air); + for (int i = 0; i < 8; i++) { + addInteraction(Blocks.stone_stairs, i, Blocks.stone_brick_stairs, i); + } + String str1 = "Fluid.Pyrotheum"; + String str2 = "Enable this for Fluid Pyrotheum to be worse than lava."; + effect = true; + + str2 = "Enable this for Fluid Pyrotheum Source blocks to gradually fall downwards."; + enableSourceFall = true; + + return true; + } + + public void onEntityCollidedWithBlock(World paramWorld, int paramInt1, int paramInt2, int paramInt3, Entity paramEntity) + { + if (!effect) { + return; + } + if (ServerHelper.isClientWorld(paramWorld)) { + return; + } + if (!(paramEntity instanceof EntityPlayer)) { + if ((paramEntity instanceof EntityCreeper)) + { + paramWorld.createExplosion(paramEntity, paramEntity.posX, paramEntity.posY, paramEntity.posZ, 6.0F, paramEntity.worldObj.getGameRules().getGameRuleBooleanValue("mobGriefing")); + paramEntity.setDead(); + } + } + } + + public int getLightValue(IBlockAccess paramIBlockAccess, int paramInt1, int paramInt2, int paramInt3) + { + return TF_Fluids.fluidPyrotheum.getLuminosity(); + } + + public int getFireSpreadSpeed(IBlockAccess paramIBlockAccess, int paramInt1, int paramInt2, int paramInt3, ForgeDirection paramForgeDirection) + { + return effect ? 800 : 0; + } + + public int getFlammability(IBlockAccess paramIBlockAccess, int paramInt1, int paramInt2, int paramInt3, ForgeDirection paramForgeDirection) + { + return 0; + } + + public boolean isFlammable(IBlockAccess paramIBlockAccess, int paramInt1, int paramInt2, int paramInt3, ForgeDirection paramForgeDirection) + { + return (effect) && (paramForgeDirection.ordinal() > ForgeDirection.UP.ordinal()) && (paramIBlockAccess.getBlock(paramInt1, paramInt2 - 1, paramInt3) != this); + } + + public boolean isFireSource(World paramWorld, int paramInt1, int paramInt2, int paramInt3, ForgeDirection paramForgeDirection) + { + return effect; + } + + public void updateTick(World paramWorld, int paramInt1, int paramInt2, int paramInt3, Random paramRandom) + { + if (effect) { + checkForInteraction(paramWorld, paramInt1, paramInt2, paramInt3); + } + if ((enableSourceFall) && (paramWorld.getBlockMetadata(paramInt1, paramInt2, paramInt3) == 0)) + { + Block localBlock = paramWorld.getBlock(paramInt1, paramInt2 + this.densityDir, paramInt3); + int i = paramWorld.getBlockMetadata(paramInt1, paramInt2 + this.densityDir, paramInt3); + if (((localBlock == this) && (i != 0)) || (localBlock.isFlammable(paramWorld, paramInt1, paramInt2 + this.densityDir, paramInt3, ForgeDirection.UP))) + { + paramWorld.setBlock(paramInt1, paramInt2 + this.densityDir, paramInt3, this, 0, 3); + paramWorld.setBlockToAir(paramInt1, paramInt2, paramInt3); + return; + } + } + super.updateTick(paramWorld, paramInt1, paramInt2, paramInt3, paramRandom); + } + + protected void checkForInteraction(World paramWorld, int paramInt1, int paramInt2, int paramInt3) + { + if (paramWorld.getBlock(paramInt1, paramInt2, paramInt3) != this) { + return; + } + int i = paramInt1; + int j = paramInt2; + int k = paramInt3; + for (int m = 0; m < 6; m++) + { + i = paramInt1 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][0]; + j = paramInt2 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][1]; + k = paramInt3 + cofh.lib.util.helpers.BlockHelper.SIDE_COORD_MOD[m][2]; + + interactWithBlock(paramWorld, i, j, k); + } + interactWithBlock(paramWorld, paramInt1 - 1, paramInt2, paramInt3 - 1); + interactWithBlock(paramWorld, paramInt1 - 1, paramInt2, paramInt3 + 1); + interactWithBlock(paramWorld, paramInt1 + 1, paramInt2, paramInt3 - 1); + interactWithBlock(paramWorld, paramInt1 + 1, paramInt2, paramInt3 + 1); + } + + protected void interactWithBlock(World paramWorld, int paramInt1, int paramInt2, int paramInt3) + { + Block localBlock = paramWorld.getBlock(paramInt1, paramInt2, paramInt3); + if ((localBlock == Blocks.air) || (localBlock == this)) { + return; + } + int i = paramWorld.getBlockMetadata(paramInt1, paramInt2, paramInt3); + if (hasInteraction(localBlock, i)) + { + BlockWrapper localBlockWrapper = getInteraction(localBlock, i); + paramWorld.setBlock(paramInt1, paramInt2, paramInt3, localBlockWrapper.block, localBlockWrapper.metadata, 3); + triggerInteractionEffects(paramWorld, paramInt1, paramInt2, paramInt3); + } + else if (localBlock.isFlammable(paramWorld, paramInt1, paramInt2, paramInt3, ForgeDirection.UP)) + { + paramWorld.setBlock(paramInt1, paramInt2, paramInt3, Blocks.fire); + } + else if ((paramWorld.isSideSolid(paramInt1, paramInt2, paramInt3, ForgeDirection.UP)) && (paramWorld.isAirBlock(paramInt1, paramInt2 + 1, paramInt3))) + { + paramWorld.setBlock(paramInt1, paramInt2 + 1, paramInt3, Blocks.fire, 0, 3); + } + } + + protected void triggerInteractionEffects(World paramWorld, int paramInt1, int paramInt2, int paramInt3) + { + if (this.random.nextInt(16) == 0) { + paramWorld.playSoundEffect(paramInt1 + 0.5F, paramInt2 + 0.5F, paramInt3 + 0.5F, "random.fizz", 0.5F, 2.2F + (paramWorld.rand.nextFloat() - paramWorld.rand.nextFloat()) * 0.8F); + } + } +} diff --git a/src/Java/miscutil/core/intermod/thermalfoundation/block/TF_Blocks.java b/src/Java/miscutil/core/intermod/thermalfoundation/block/TF_Blocks.java new file mode 100644 index 0000000000..4dadc4b688 --- /dev/null +++ b/src/Java/miscutil/core/intermod/thermalfoundation/block/TF_Blocks.java @@ -0,0 +1,26 @@ +package miscutil.core.intermod.thermalfoundation.block; + +import cofh.core.fluid.BlockFluidCoFHBase; + +public class TF_Blocks +{ + + public static BlockFluidCoFHBase blockFluidPyrotheum; + public static BlockFluidCoFHBase blockFluidCryotheum; + + + public static void preInit() + { + blockFluidPyrotheum = new TF_Block_Fluid_Pyrotheum(); + blockFluidCryotheum = new TF_Block_Fluid_Cryotheum(); + blockFluidPyrotheum.preInit(); + blockFluidCryotheum.preInit(); + } + + public static void init() {} + + public static void postInit() + { + + } +} diff --git a/src/Java/miscutil/core/intermod/thermalfoundation/fluid/TF_Fluids.java b/src/Java/miscutil/core/intermod/thermalfoundation/fluid/TF_Fluids.java new file mode 100644 index 0000000000..7554a9a594 --- /dev/null +++ b/src/Java/miscutil/core/intermod/thermalfoundation/fluid/TF_Fluids.java @@ -0,0 +1,42 @@ +package miscutil.core.intermod.thermalfoundation.fluid; + +import miscutil.core.intermod.thermalfoundation.item.TF_Items; +import net.minecraft.block.BlockDispenser; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import cofh.core.util.fluid.DispenserEmptyBucketHandler; +import cofh.core.util.fluid.DispenserFilledBucketHandler; + +public class TF_Fluids +{ + public static Fluid fluidPyrotheum; + public static Fluid fluidCryotheum; + + public static void preInit() + { + fluidPyrotheum = new Fluid("pyrotheum").setLuminosity(15).setDensity(2000).setViscosity(1200).setTemperature(4000).setRarity(EnumRarity.rare); + fluidCryotheum = new Fluid("cryotheum").setLuminosity(0).setDensity(4000).setViscosity(3000).setTemperature(50).setRarity(EnumRarity.rare); + registerFluid(fluidPyrotheum, "pyrotheum"); + registerFluid(fluidCryotheum, "cryotheum"); + } + + public static void init() {} + + public static void postInit() {} + + public static void registerFluid(Fluid paramFluid, String paramString) + { + if (!FluidRegistry.isFluidRegistered(paramString)) { + FluidRegistry.registerFluid(paramFluid); + } + paramFluid = FluidRegistry.getFluid(paramString); + } + + public static void registerDispenserHandlers() + { + BlockDispenser.dispenseBehaviorRegistry.putObject(TF_Items.itemBucket, new DispenserFilledBucketHandler()); + BlockDispenser.dispenseBehaviorRegistry.putObject(Items.bucket, new DispenserEmptyBucketHandler()); + } +} diff --git a/src/Java/miscutil/core/intermod/thermalfoundation/item/TF_Items.java b/src/Java/miscutil/core/intermod/thermalfoundation/item/TF_Items.java new file mode 100644 index 0000000000..0853580c6b --- /dev/null +++ b/src/Java/miscutil/core/intermod/thermalfoundation/item/TF_Items.java @@ -0,0 +1,66 @@ +package miscutil.core.intermod.thermalfoundation.item; + +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.intermod.thermalfoundation.block.TF_Blocks; +import miscutil.core.intermod.thermalfoundation.fluid.TF_Fluids; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidContainerRegistry; +import cofh.core.item.ItemBase; +import cofh.core.item.ItemBucket; +import cofh.core.util.energy.FurnaceFuelHandler; +import cofh.core.util.fluid.BucketHandler; +import cofh.lib.util.helpers.ItemHelper; + +public class TF_Items { + + public static ItemBase itemMaterial; + public static ItemStack rodBlizz; + public static ItemStack dustBlizz; + public static ItemStack dustPyrotheum; + public static ItemStack dustCryotheum; + public static ItemBucket itemBucket; + public static ItemStack bucketPyrotheum; + public static ItemStack bucketCryotheum; + + public static void preInit(){ + + + itemBucket = (ItemBucket)new ItemBucket("MiscUtils").setUnlocalizedName("bucket").setCreativeTab(AddToCreativeTab.tabMisc); + itemMaterial = (ItemBase)new ItemBase("MiscUtils").setUnlocalizedName("material").setCreativeTab(AddToCreativeTab.tabMisc); + + bucketPyrotheum = itemBucket.addOreDictItem(6661, "bucketPyrotheum", 2); + bucketCryotheum = itemBucket.addOreDictItem(6662, "bucketCryotheum", 2); + dustPyrotheum = itemMaterial.addOreDictItem(6663, "dustPyrotheum", 2); + dustCryotheum = itemMaterial.addOreDictItem(6664, "dustCryotheum", 2); + + FurnaceFuelHandler.registerFuel(dustPyrotheum, 2400); + + rodBlizz = itemMaterial.addOreDictItem(6665, "rodBlizz"); + dustBlizz = itemMaterial.addOreDictItem(6666, "dustBlizz"); + + + + } + + public static void init(){ + + BucketHandler.registerBucket(TF_Blocks.blockFluidPyrotheum, 0, bucketPyrotheum); + BucketHandler.registerBucket(TF_Blocks.blockFluidCryotheum, 0, bucketCryotheum); + FluidContainerRegistry.registerFluidContainer(TF_Fluids.fluidPyrotheum, bucketPyrotheum, FluidContainerRegistry.EMPTY_BUCKET); + FluidContainerRegistry.registerFluidContainer(TF_Fluids.fluidCryotheum, bucketCryotheum, FluidContainerRegistry.EMPTY_BUCKET); + + + } + + public static void postInit(){ + + ItemHelper.addRecipe(ItemHelper.ShapelessRecipe(ItemHelper.cloneStack(dustPyrotheum, 1), new Object[] { "dustCoal", "dustSulfur", "dustRedstone", Items.blaze_powder })); + ItemHelper.addRecipe(ItemHelper.ShapelessRecipe(ItemHelper.cloneStack(dustCryotheum, 1), new Object[] { Items.snowball, "dustSaltpeter", "dustRedstone", "dustBlizz" })); + //ItemHelper.addRecipe(ItemHelper.ShapelessRecipe(ItemHelper.cloneStack(dustBlizz, 2), new Object[] { "rodBlizz" })); + + + + } + +} diff --git a/src/Java/miscutil/core/intermod/thermalfoundation/recipe/TF_Gregtech_Recipes.java b/src/Java/miscutil/core/intermod/thermalfoundation/recipe/TF_Gregtech_Recipes.java new file mode 100644 index 0000000000..75f50e7634 --- /dev/null +++ b/src/Java/miscutil/core/intermod/thermalfoundation/recipe/TF_Gregtech_Recipes.java @@ -0,0 +1,48 @@ +package miscutil.core.intermod.thermalfoundation.recipe; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import miscutil.core.intermod.thermalfoundation.item.TF_Items; +import miscutil.core.util.Utils; +import miscutil.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class TF_Gregtech_Recipes { + + public static void run(){ + start(); + } + + private static void start(){ + //Get Items to work with + Item dust_Cryotheum = TF_Items.dustCryotheum.getItem(); + Item dust_Pyrotheum = TF_Items.dustPyrotheum.getItem(); + Item dust_Blizz = TF_Items.dustBlizz.getItem(); + Item rod_Blizz = TF_Items.rodBlizz.getItem(); + + //Gelid Cryotheum + Utils.LOG_INFO("Adding Recipes for Gelid Cryotheum"); + GT_Values.RA.addFluidExtractionRecipe(new ItemStack(dust_Cryotheum, 6664, 1), GT_Values.NI, GT_Materials.Cryotheum.getFluid(250L), 10000, 32, 2); + GT_Values.RA.addChemicalBathRecipe((GT_OreDictUnificator.get(OrePrefixes.ore, Materials.Cinnabar, 1L)), GT_Materials.Cryotheum.getFluid(200L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cinnabar, 2L), GT_Values.NI, GT_Values.NI, null, 400, 2); + + //Blizz Powder + Utils.LOG_INFO("Adding Recipes for Blizz Powder"); + GT_Values.RA.addChemicalBathRecipe(new ItemStack(Items.snowball, 1), Materials.Redstone.getFluid(200L), new ItemStack(dust_Blizz, 6666, 1), GT_Values.NI, GT_Values.NI, null, 400, 2); + + //Blizz Rod + Utils.LOG_INFO("Adding Recipes for Blizz Rod"); + GT_ModHandler.addPulverisationRecipe(new ItemStack(rod_Blizz, 6665, 1), new ItemStack(dust_Blizz, 6666, 3), new ItemStack(Items.snowball, 1), 50, false); + + + //Blazing Pyrotheum + GT_Values.RA.addFluidExtractionRecipe(new ItemStack(dust_Pyrotheum, 6663, 1), GT_Values.NI, GT_Materials.Pyrotheum.getFluid(250L), 10000, 32, 2); + Utils.LOG_INFO("Adding Recipes for Blazing Pyrotheum"); + + } + +} diff --git a/src/Java/miscutil/core/lib/LoadedMods.java b/src/Java/miscutil/core/lib/LoadedMods.java index 7e234b970b..6baa6c115a 100644 --- a/src/Java/miscutil/core/lib/LoadedMods.java +++ b/src/Java/miscutil/core/lib/LoadedMods.java @@ -22,6 +22,7 @@ public class LoadedMods { public static boolean CompactWindmills = false; public static boolean Railcraft = false; public static boolean Growthcraft = false; + public static boolean CoFHCore = false; public static boolean MiscUtils = true; //Dummy For MetaData Lookups in MT Wrapper @@ -31,6 +32,7 @@ public class LoadedMods { Utils.LOG_INFO("Looking for optional mod prereqs."); if (Loader.isModLoaded("gregtech") == true ){ Gregtech = true; + Utils.LOG_INFO("Components enabled for: Gregtech"); if (Gregtech){ try { CORE.sRecipeAdder = CORE.RA = new GregtechRecipeAdder(); @@ -44,54 +46,72 @@ public class LoadedMods { } if (Loader.isModLoaded("EnderIO") == true){ EnderIO = true; + Utils.LOG_INFO("Components enabled for: EnderIO"); totalMods++; } if (Loader.isModLoaded("BigReactors") == true){ Big_Reactors = true; + Utils.LOG_INFO("Components enabled for: Big Reactors"); totalMods++; } if (Loader.isModLoaded("IC2") == true){ IndustrialCraft2 = true; + Utils.LOG_INFO("Components enabled for: IndustrialCraft2"); totalMods++; } if (Loader.isModLoaded("simplyjetpacks") == true){ Simply_Jetpacks = true; + Utils.LOG_INFO("Components enabled for: Simply Jetpacks"); totalMods++; } if (Loader.isModLoaded("rftools") == true){ RFTools = true; + Utils.LOG_INFO("Components enabled for: RFTools"); totalMods++; } if (Loader.isModLoaded("Thaumcraft") == true){ Thaumcraft = true; + Utils.LOG_INFO("Components enabled for: Thaumcraft"); totalMods++; } if (Loader.isModLoaded("ExtraUtilities") == true){ Extra_Utils = true; + Utils.LOG_INFO("Components enabled for: Extra_Utils"); totalMods++; } if (Loader.isModLoaded("PneumaticCraft") == true){ PneumaticCraft = true; + Utils.LOG_INFO("Components enabled for: PneumaticCraft"); totalMods++; } if (Loader.isModLoaded("MorePlanet") == true){ MorePlanets = true; + Utils.LOG_INFO("Components enabled for: MorePlanets"); totalMods++; } if (Loader.isModLoaded("ForbiddenMagic") == true){ ForbiddenMagic = true; + Utils.LOG_INFO("Components enabled for: ForbiddenMagic"); totalMods++; } if (Loader.isModLoaded("CompactWindmills") == true){ CompactWindmills = true; + Utils.LOG_INFO("Components enabled for: CompactWindmills"); totalMods++; } if (Loader.isModLoaded("Railcraft") == true){ Railcraft = true; + Utils.LOG_INFO("Components enabled for: Railcraft"); totalMods++; } if (Loader.isModLoaded("Growthcraft") == true){ Growthcraft = true; + Utils.LOG_INFO("Components enabled for: Growthcraft"); + totalMods++; + } + if (Loader.isModLoaded("CoFHCore") == true){ + CoFHCore = true; + Utils.LOG_INFO("Components enabled for: CoFHCore"); totalMods++; } |