diff --git a/build.prop b/build.prop index a0d4d54..5054af7 100644 --- a/build.prop +++ b/build.prop @@ -1,6 +1,6 @@ minecraft_version=1.7.10 forge_version=10.13.4.1566-1.7.10 tfc_version=0.79.27 -mod_version=1.15 +mod_version=1.16 mod_id=TerraFirmaPunkTweaks group_name=com.JAWolfe.TerraFirmaPunkTweaks \ No newline at end of file diff --git a/builds/TerraFirmaPunkTweaks-1.7.10-1.16.jar b/builds/TerraFirmaPunkTweaks-1.7.10-1.16.jar new file mode 100644 index 0000000..3241cef Binary files /dev/null and b/builds/TerraFirmaPunkTweaks-1.7.10-1.16.jar differ diff --git a/changelog.txt b/changelog.txt index 3ef8206..9eba9da 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,17 @@ Changelog ================================================= +------------------------------------------------- +TFP Tweaks 1.16 +------------------------------------------------- +New Features ++Added Immersive Engineering Metal Press Molds for nuts, bolts, washers, bearing and nails ++Added TFC Barrel compatibility for whale oil and a whale oil bucket ++Added Olive oil bucket ++Added Minetweaker methods to add fuels for the Immersive Engineering diesel engines and Railcraft liquid boilers + +Tweaks ++Fixed damage from Cogs of the Machine Mechanical Saw + ------------------------------------------------- TFP Tweaks 1.15 ------------------------------------------------- diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/TFPFluids.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/TFPFluids.java new file mode 100644 index 0000000..cfd14eb --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/TFPFluids.java @@ -0,0 +1,11 @@ +package com.JAWolfe.terrafirmapunktweaks; + +import com.bioxx.tfc.Core.FluidBaseTFC; + +import net.minecraftforge.fluids.Fluid; + +public class TFPFluids +{ + public static Fluid tfpFluidBlood = new FluidBaseTFC("tfpBlood"); + public static Fluid tfpFluidWhaleOil = new FluidBaseTFC("tfpWhaleOil"); +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/TerraFirmaPunkTweaks.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/TerraFirmaPunkTweaks.java index c0bbb8d..3dde1b2 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/TerraFirmaPunkTweaks.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/TerraFirmaPunkTweaks.java @@ -32,6 +32,8 @@ public class TerraFirmaPunkTweaks ConfigHandler.init(event.getSuggestedConfigurationFile()); FMLCommonHandler.instance().bus().register(new ConfigHandler()); + proxy.registerFluids(); + TFPItems.initialise(); TFPBlocks.initialise(); diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockOliveOil.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockOliveOil.java new file mode 100644 index 0000000..ac2e156 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockOliveOil.java @@ -0,0 +1,22 @@ +package com.JAWolfe.terrafirmapunktweaks.blocks; + +import com.bioxx.tfc.Blocks.Liquids.BlockCustomLiquid; + +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; + +public class BlockOliveOil extends BlockCustomLiquid +{ + public BlockOliveOil(Fluid fluid) + { + super(fluid, Material.water); + } + + @Override + public void registerBlockIcons(IIconRegister register) + { + icons = new IIcon[]{getFluid().getStillIcon(), getFluid().getFlowingIcon()}; + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPBlocks.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPBlocks.java index 6e50736..0ae7941 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPBlocks.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPBlocks.java @@ -1,5 +1,7 @@ package com.JAWolfe.terrafirmapunktweaks.blocks; +import com.JAWolfe.terrafirmapunktweaks.TFPFluids; +import com.bioxx.tfc.api.TFCFluids; import com.bioxx.tfc.api.Constant.Global; import com.google.common.collect.ObjectArrays; @@ -7,8 +9,7 @@ import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; import flaxbeard.steamcraft.SteamcraftBlocks; import net.minecraft.block.Block; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; +import net.minecraft.block.material.Material; public class TFPBlocks { @@ -18,7 +19,8 @@ public class TFPBlocks public static Block tweakedFlashBoiler; public static Block[] tfpBrickOven; public static Block tfpBlood; - public static Fluid tfpFluidBlood; + public static Block oliveOil; + public static Block tfpWhaleOil; public static int brickOvenRenderID; @@ -33,6 +35,9 @@ public class TFPBlocks GameRegistry.registerBlock(tfpBrickOven[i], "tfpBrickOven" + IgStone[i]); } + oliveOil = new BlockOliveOil(TFCFluids.OLIVEOIL).setHardness(100.0F).setLightOpacity(3).setBlockName("OliveOil"); + GameRegistry.registerBlock(oliveOil,"OliveOil"); + if(Loader.isModLoaded("Steamcraft")) { tweakedboiler = new TweakedBoiler(false).setBlockName(SteamcraftBlocks.boiler.getUnlocalizedName().substring(5)).setHardness(5.0F).setResistance(10.0F); @@ -45,13 +50,17 @@ public class TFPBlocks } if(Loader.isModLoaded("necromancy")) - { - tfpFluidBlood = new Fluid("tfpBlood"); - FluidRegistry.registerFluid(tfpFluidBlood); - - tfpBlood = new TFPBlood(tfpFluidBlood).setBlockName("tfpBlood"); + { + tfpBlood = new TFPCustomFluids(TFPFluids.tfpFluidBlood, Material.water).setBlockName("tfpBlood"); GameRegistry.registerBlock(tfpBlood, "tfpBlood"); - tfpFluidBlood.setBlock(tfpBlood); + TFPFluids.tfpFluidBlood.setBlock(tfpBlood); + } + + if(Loader.isModLoaded("steamcraft2")) + { + tfpWhaleOil = new TFPCustomFluids(TFPFluids.tfpFluidWhaleOil, Material.water).setHardness(100.0F).setLightOpacity(3).setBlockName("WhaleOil"); + GameRegistry.registerBlock(tfpWhaleOil, "WhaleOil"); + TFPFluids.tfpFluidWhaleOil.setBlock(tfpWhaleOil); } } } diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPCustomFluids.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPCustomFluids.java new file mode 100644 index 0000000..8bceb31 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPCustomFluids.java @@ -0,0 +1,97 @@ +package com.JAWolfe.terrafirmapunktweaks.blocks; + +import java.util.Random; + +import com.JAWolfe.terrafirmapunktweaks.TFPFluids; +import com.JAWolfe.terrafirmapunktweaks.reference.References; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockDynamicLiquid; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidBlock; +import steamcraft.common.lib.ModInfo; + +public class TFPCustomFluids extends BlockDynamicLiquid implements IFluidBlock +{ + protected Fluid fluidType; + protected IIcon[] icons; + + protected TFPCustomFluids(Fluid fluid, Material material) + { + super(material); + fluidType = fluid; + } + + @Override + public void registerBlockIcons(IIconRegister register) + { + if(this.getFluid() == TFPFluids.tfpFluidBlood) + { + this.getFluid().setIcons(register.registerIcon(References.ModID + ":blood_still"), + register.registerIcon(References.ModID + ":blood_flow")); + } + else if(this.getFluid() == TFPFluids.tfpFluidWhaleOil) + { + this.getFluid().setIcons(register.registerIcon(ModInfo.PREFIX + "whaleoil"), + register.registerIcon(ModInfo.PREFIX + "whaleoil_flow")); + } + + icons = new IIcon[]{getFluid().getStillIcon(), getFluid().getFlowingIcon()}; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) + { + return side != 0 && side != 1 ? this.icons[1] : this.icons[0]; + } + + @Override + public Fluid getFluid() + { + return fluidType; + } + + @Override + public void randomDisplayTick(World world, int x, int y, int z, Random rand) + { + super.randomDisplayTick(world, x, y, z, rand); + if(this.getFluid() == TFPFluids.tfpFluidBlood) + { + if (rand.nextInt(10) == 0 + && World.doesBlockHaveSolidTopSurface(world, x, y - 1, z) + && !world.getBlock(x, y - 2, z).getMaterial().blocksMovement()) + { + + double px = (double) ((float) x + rand.nextFloat()); + double py = (double) y - 1.05D; + double pz = (double) ((float) z + rand.nextFloat()); + world.spawnParticle("dripLava", px, py, pz, 0, 0, 0); + } + } + } + + @Override + public FluidStack drain(World world, int x, int y, int z, boolean doDrain) + { + return null; + } + + @Override + public boolean canDrain(World world, int x, int y, int z) + { + return false; + } + + @Override + public float getFilledPercentage(World world, int x, int y, int z) + { + return 1; + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerDamageHandler.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerDamageHandler.java index 8327429..e974b2b 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerDamageHandler.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerDamageHandler.java @@ -85,6 +85,14 @@ public class PlayerDamageHandler event.ammount = applyArmorCalculations(event.entityLiving, event.source, event.ammount > damage ? event.ammount : damage); } + + //Fix Cogs of the Machine's Custom Damage + else if(event.ammount < 20 && ConfigSettings.VanillaDamageScaling && event.source.toString().contains("deatrathias")) + { + float damage = (event.ammount * ConfigSettings.VanillaMobDamageMultipier) / 2; + + event.ammount = applyArmorCalculations(event.entityLiving, event.source, event.ammount > damage ? event.ammount : damage); + } } /** diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/CustomBucketBlood.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/CustomBucketBlood.java deleted file mode 100644 index 0af22ca..0000000 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/CustomBucketBlood.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.JAWolfe.terrafirmapunktweaks.items; - -import com.JAWolfe.terrafirmapunktweaks.reference.References; -import com.bioxx.tfc.Items.Tools.ItemCustomBucket; -import com.bioxx.tfc.api.Enums.EnumSize; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.Item; - -public class CustomBucketBlood extends ItemCustomBucket -{ - public CustomBucketBlood(Block contents) - { - super(contents); - this.setFolder("tools/"); - this.setSize(EnumSize.MEDIUM); - } - - public CustomBucketBlood(Block contents, Item container) - { - this(contents); - this.setContainerItem(container); - } - - @Override - public void registerIcons(IIconRegister registerer) - { - this.itemIcon = registerer.registerIcon(References.ModID + ":" + this.getUnlocalizedName().replace("item.", "")); - } -} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/CustomBucketOil.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/CustomBucketOil.java deleted file mode 100644 index 57651a0..0000000 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/CustomBucketOil.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.JAWolfe.terrafirmapunktweaks.items; - -import com.JAWolfe.terrafirmapunktweaks.reference.References; -import com.bioxx.tfc.Items.Tools.ItemCustomBucket; -import com.bioxx.tfc.api.Enums.EnumSize; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.Item; - -public class CustomBucketOil extends ItemCustomBucket -{ - public CustomBucketOil(Block contents) - { - super(contents); - this.setFolder("tools/"); - this.setSize(EnumSize.MEDIUM); - } - - public CustomBucketOil(Block contents, Item container) - { - this(contents); - this.setContainerItem(container); - } - - @Override - public void registerIcons(IIconRegister registerer) - { - this.itemIcon = registerer.registerIcon(References.ModID + ":" + this.getUnlocalizedName().replace("item.", "")); - } -} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPCustomBucket.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPCustomBucket.java new file mode 100644 index 0000000..aa233fb --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPCustomBucket.java @@ -0,0 +1,52 @@ +package com.JAWolfe.terrafirmapunktweaks.items; + +import com.JAWolfe.terrafirmapunktweaks.reference.References; +import com.bioxx.tfc.Items.ItemTerra; +import com.bioxx.tfc.api.TFCItems; +import com.bioxx.tfc.api.Enums.EnumItemReach; +import com.bioxx.tfc.api.Enums.EnumSize; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class TFPCustomBucket extends ItemTerra +{ + public TFPCustomBucket() + { + super(); + this.setSize(EnumSize.MEDIUM); + this.setContainerItem(TFCItems.woodenBucketEmpty); + } + + @Override + public boolean canStack() + { + return false; + } + + @Override + public void registerIcons(IIconRegister registerer) + { + this.itemIcon = registerer.registerIcon(References.ModID + ":" + this.getUnlocalizedName().replace("item.", "")); + } + + @Override + public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) + { + return is; + } + + @Override + public boolean onItemUse(ItemStack is, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) + { + return false; + } + + @Override + public EnumItemReach getReach(ItemStack is) + { + return EnumItemReach.SHORT; + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPItems.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPItems.java index 1ca0028..cce064c 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPItems.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPItems.java @@ -1,9 +1,5 @@ package com.JAWolfe.terrafirmapunktweaks.items; -import com.JAWolfe.terrafirmapunktweaks.blocks.TFPBlocks; -import com.bioxx.tfc.api.TFCItems; - -import buildcraft.BuildCraftEnergy; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.item.Item; @@ -12,25 +8,35 @@ public class TFPItems { public static Item CustomBucketOil; public static Item CustomBucketBlood; + public static Item CustomBucketOliveOil; + public static Item CustomBucketWhaleOil; public static Item BlockMold; public static Item FenceMold; public static Item HalfSlabMold; public static Item MechCompMold; public static Item PistonMold; public static Item WireCoilMold; + public static Item BearingMold; + public static Item BoltMold; + public static Item NailMold; + public static Item NutMold; + public static Item WasherMold; public static void initialise() { + CustomBucketOliveOil = new TFPCustomBucket().setUnlocalizedName("Wooden Bucket Olive Oil"); + GameRegistry.registerItem(CustomBucketOliveOil, CustomBucketOliveOil.getUnlocalizedName()); + if(Loader.isModLoaded("BuildCraft|Core")) { - CustomBucketOil = new CustomBucketOil(BuildCraftEnergy.blockOil, TFCItems.woodenBucketEmpty).setUnlocalizedName("Wooden Bucket Oil"); + CustomBucketOil = new TFPCustomBucket().setUnlocalizedName("Wooden Bucket Oil"); GameRegistry.registerItem(CustomBucketOil, CustomBucketOil.getUnlocalizedName()); } if(Loader.isModLoaded("necromancy")) { - CustomBucketBlood = new CustomBucketBlood(TFPBlocks.tfpBlood, TFCItems.woodenBucketEmpty).setUnlocalizedName("Wooden Bucket Blood"); + CustomBucketBlood = new TFPCustomBucket().setUnlocalizedName("Wooden Bucket Blood"); GameRegistry.registerItem(CustomBucketBlood, CustomBucketBlood.getUnlocalizedName()); } @@ -42,6 +48,11 @@ public class TFPItems MechCompMold = new MetalMold().setUnlocalizedName("Mechanical Component Mold"); PistonMold = new MetalMold().setUnlocalizedName("Piston Mold"); WireCoilMold = new MetalMold().setUnlocalizedName("Wire Coil Mold"); + BearingMold = new MetalMold().setUnlocalizedName("Bearing Mold"); + BoltMold = new MetalMold().setUnlocalizedName("Bolt Mold"); + NailMold = new MetalMold().setUnlocalizedName("Nail Mold"); + NutMold = new MetalMold().setUnlocalizedName("Nut Mold"); + WasherMold = new MetalMold().setUnlocalizedName("Washer Mold"); GameRegistry.registerItem(BlockMold, BlockMold.getUnlocalizedName()); GameRegistry.registerItem(FenceMold, FenceMold.getUnlocalizedName()); @@ -49,6 +60,17 @@ public class TFPItems GameRegistry.registerItem(MechCompMold, MechCompMold.getUnlocalizedName()); GameRegistry.registerItem(PistonMold, PistonMold.getUnlocalizedName()); GameRegistry.registerItem(WireCoilMold, WireCoilMold.getUnlocalizedName()); + GameRegistry.registerItem(BearingMold, BearingMold.getUnlocalizedName()); + GameRegistry.registerItem(BoltMold, BoltMold.getUnlocalizedName()); + GameRegistry.registerItem(NailMold, NailMold.getUnlocalizedName()); + GameRegistry.registerItem(NutMold, NutMold.getUnlocalizedName()); + GameRegistry.registerItem(WasherMold, WasherMold.getUnlocalizedName()); + } + + if(Loader.isModLoaded("steamcraft2")) + { + CustomBucketWhaleOil = new TFPCustomBucket().setUnlocalizedName("Wooden Bucket Whale Oil"); + GameRegistry.registerItem(CustomBucketWhaleOil, CustomBucketWhaleOil.getUnlocalizedName()); } } } diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/IE/IEFuels.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/IE/IEFuels.java new file mode 100644 index 0000000..a7bbdb7 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/IE/IEFuels.java @@ -0,0 +1,135 @@ +package com.JAWolfe.terrafirmapunktweaks.minetweaker.IE; + +import minetweaker.IUndoableAction; +import minetweaker.MineTweakerAPI; +import minetweaker.api.liquid.ILiquidStack; +import minetweaker.api.minecraft.MineTweakerMC; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; +import java.util.HashMap; +import blusunrize.immersiveengineering.api.energy.DieselHandler; + +@ZenClass("mods.tfptweaks.IEFuels") +public class IEFuels +{ + //Ex. Biodiesel/125, Fuel/375, Diesel/175 + @ZenMethod + public static void addFuel(ILiquidStack fluidstack, int time) + { + Fluid fluid = MineTweakerMC.getLiquidStack(fluidstack).getFluid(); + + MineTweakerAPI.apply(new addIEFuels(fluid, time)); + } + + @ZenMethod + public static void removeFuel(ILiquidStack fluidstack) + { + Fluid fluid = MineTweakerMC.getLiquidStack(fluidstack).getFluid(); + + MineTweakerAPI.apply(new removeIEFuels(fluid)); + } + + private static class addIEFuels implements IUndoableAction + { + Fluid fluid; + int burnTime; + + public addIEFuels(Fluid fuel, int time) + { + this.fluid = fuel; + this.burnTime = time; + } + + @Override + public void apply() + { + DieselHandler.registerFuel(fluid, burnTime); + } + + @Override + public String describe() + { + return "Adding fuel '" + fluid.getLocalizedName(new FluidStack(fluid, 1000)) + "' to IE fuels.'"; + } + + @Override + public boolean canUndo() + { + return true; + } + + @Override + public void undo() + { + HashMap fuelHandler = DieselHandler.getFuelValues(); + + fuelHandler.remove(fluid.getName(), burnTime); + } + + @Override + public String describeUndo() + { + return "Removing fuel '" + fluid.getLocalizedName(new FluidStack(fluid, 1000)) + "' from IE fuels.'"; + } + + @Override + public Object getOverrideKey() + { + return null; + } + } + + private static class removeIEFuels implements IUndoableAction + { + Fluid fluid; + int burnTime; + + public removeIEFuels(Fluid fuel) + { + this.fluid = fuel; + burnTime = DieselHandler.getBurnTime(fluid); + } + + @Override + public void apply() + { + HashMap fuelHandler = DieselHandler.getFuelValues(); + + if(burnTime != 0) + fuelHandler.remove(fluid.getName(), burnTime); + } + + @Override + public String describe() + { + return "Removing fuel '" + fluid.getLocalizedName(new FluidStack(fluid, 1000)) + "' from IE fuels."; + } + + @Override + public boolean canUndo() + { + return true; + } + + @Override + public void undo() + { + if(burnTime != 0) + DieselHandler.registerFuel(fluid, burnTime); + } + + @Override + public String describeUndo() + { + return "Adding fuel '" + fluid.getLocalizedName(new FluidStack(fluid, 1000)) + "' to IE fuels."; + } + + @Override + public Object getOverrideKey() + { + return null; + } + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/Railcraft/RCBoiler.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/Railcraft/RCBoiler.java new file mode 100644 index 0000000..5d3b360 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/Railcraft/RCBoiler.java @@ -0,0 +1,135 @@ +package com.JAWolfe.terrafirmapunktweaks.minetweaker.Railcraft; + +import java.util.Map; +import minetweaker.IUndoableAction; +import minetweaker.MineTweakerAPI; +import minetweaker.api.liquid.ILiquidStack; +import minetweaker.api.minecraft.MineTweakerMC; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; +import mods.railcraft.api.fuel.FuelManager; + +@ZenClass("mods.tfptweaks.RCBoiler") +public class RCBoiler +{ + //Ex. Biodiesel/16000, creosote/4800, bioethanol/16000, fuel/48000 + @ZenMethod + public static void addFuel(ILiquidStack fluidstack, int time) + { + Fluid fluid = MineTweakerMC.getLiquidStack(fluidstack).getFluid(); + + MineTweakerAPI.apply(new addRCFuels(fluid, time)); + } + + @ZenMethod + public static void removeFuel(ILiquidStack fluidstack) + { + Fluid fluid = MineTweakerMC.getLiquidStack(fluidstack).getFluid(); + + MineTweakerAPI.apply(new removeRCFuels(fluid)); + } + + private static class addRCFuels implements IUndoableAction + { + Fluid fluid; + int heat; + + public addRCFuels(Fluid fuel, int heat) + { + this.fluid = fuel; + this.heat = heat; + } + + @Override + public void apply() + { + FuelManager.addBoilerFuel(fluid, heat); + } + + @Override + public String describe() + { + return "Adding fuel '" + fluid.getLocalizedName(new FluidStack(fluid, 1000)) + "' to RC fuels.'"; + } + + @Override + public boolean canUndo() + { + return true; + } + + @Override + public void undo() + { + Map fuelHandler = FuelManager.boilerFuel; + + fuelHandler.remove(fluid, heat); + } + + @Override + public String describeUndo() + { + return "Removing fuel '" + fluid.getLocalizedName(new FluidStack(fluid, 1000)) + "' from RC fuels.'"; + } + + @Override + public Object getOverrideKey() + { + return null; + } + } + + private static class removeRCFuels implements IUndoableAction + { + Fluid fluid; + int heat; + + public removeRCFuels(Fluid fuel) + { + this.fluid = fuel; + heat = FuelManager.getBoilerFuelValue(fluid); + } + + @Override + public void apply() + { + Map fuelHandler = FuelManager.boilerFuel; + + if(heat != 0) + fuelHandler.remove(fluid, heat); + } + + @Override + public String describe() + { + return "Removing fuel '" + fluid.getLocalizedName(new FluidStack(fluid, 1000)) + "' from RC fuels."; + } + + @Override + public boolean canUndo() + { + return true; + } + + @Override + public void undo() + { + if(heat != 0) + FuelManager.addBoilerFuel(fluid, heat); + } + + @Override + public String describeUndo() + { + return "Adding fuel '" + fluid.getLocalizedName(new FluidStack(fluid, 1000)) + "' to RC fuels."; + } + + @Override + public Object getOverrideKey() + { + return null; + } + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/TFCTweaker.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/TFCTweaker.java index 41e6e56..3e854c2 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/TFCTweaker.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/minetweaker/TFCTweaker.java @@ -2,6 +2,8 @@ package com.JAWolfe.terrafirmapunktweaks.minetweaker; import com.JAWolfe.terrafirmapunktweaks.minetweaker.Buildcraft.AssemblyTable; import com.JAWolfe.terrafirmapunktweaks.minetweaker.Forestry.Squeezer; +import com.JAWolfe.terrafirmapunktweaks.minetweaker.IE.IEFuels; +import com.JAWolfe.terrafirmapunktweaks.minetweaker.Railcraft.RCBoiler; import com.JAWolfe.terrafirmapunktweaks.reference.ConfigSettings; import cpw.mods.fml.common.Loader; @@ -24,6 +26,16 @@ public class TFCTweaker { MineTweakerAPI.registerClass(Squeezer.class); } + + if(Loader.isModLoaded("ImmersiveEngineering")) + { + MineTweakerAPI.registerClass(IEFuels.class); + } + + if(Loader.isModLoaded("Railcraft")) + { + MineTweakerAPI.registerClass(RCBoiler.class); + } } } } diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/ClientProxy.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/ClientProxy.java index 29b3b49..6a17fe3 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/ClientProxy.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/ClientProxy.java @@ -8,7 +8,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ClientProxy extends CommonProxy -{ +{ public void registerTileEntities() { super.registerTileEntities(); diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/CommonProxy.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/CommonProxy.java index b976bf8..1fc8cf0 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/CommonProxy.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/CommonProxy.java @@ -1,10 +1,11 @@ package com.JAWolfe.terrafirmapunktweaks.proxy; -import com.JAWolfe.terrafirmapunktweaks.blocks.TFPBlocks; +import com.JAWolfe.terrafirmapunktweaks.TFPFluids; import com.JAWolfe.terrafirmapunktweaks.items.TFPItems; import com.JAWolfe.terrafirmapunktweaks.tiles.TEBoiler; import com.JAWolfe.terrafirmapunktweaks.tiles.TEBrickOven; import com.JAWolfe.terrafirmapunktweaks.tiles.TEFlashBoiler; +import com.bioxx.tfc.api.TFCFluids; import com.bioxx.tfc.api.TFCItems; import com.sirolf2009.necromancy.item.ItemGeneric; @@ -30,8 +31,16 @@ public class CommonProxy } } + public void registerFluids() + { + FluidRegistry.registerFluid(TFPFluids.tfpFluidBlood); + FluidRegistry.registerFluid(TFPFluids.tfpFluidWhaleOil); + } + public void setupFluids() { + FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluid(TFCFluids.OLIVEOIL.getName()), new ItemStack(TFPItems.CustomBucketOliveOil), new ItemStack(TFCItems.woodenBucketEmpty)); + if(Loader.isModLoaded("BuildCraft|Core")) { FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluid(BuildCraftEnergy.fluidOil.getName()), new ItemStack(TFPItems.CustomBucketOil), new ItemStack(TFCItems.woodenBucketEmpty)); @@ -39,8 +48,13 @@ public class CommonProxy if(Loader.isModLoaded("necromancy")) { - FluidContainerRegistry.registerFluidContainer(new FluidStack(TFPBlocks.tfpFluidBlood, 1000), new ItemStack(TFPItems.CustomBucketBlood), new ItemStack(TFCItems.woodenBucketEmpty)); - FluidContainerRegistry.registerFluidContainer(new FluidStack(TFPBlocks.tfpFluidBlood, 250), ItemGeneric.getItemStackFromName("Jar of Blood"), new ItemStack(TFCItems.glassBottle)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(TFPFluids.tfpFluidBlood, 1000), new ItemStack(TFPItems.CustomBucketBlood), new ItemStack(TFCItems.woodenBucketEmpty)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(TFPFluids.tfpFluidBlood, 250), ItemGeneric.getItemStackFromName("Jar of Blood"), new ItemStack(TFCItems.glassBottle)); + } + + if(Loader.isModLoaded("steamcraft2")) + { + FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluid(TFPFluids.tfpFluidWhaleOil.getName()), new ItemStack(TFPItems.CustomBucketWhaleOil), new ItemStack(TFCItems.woodenBucketEmpty)); } } diff --git a/src/main/resources/assets/terrafirmapunktweaks/lang/en_US.lang b/src/main/resources/assets/terrafirmapunktweaks/lang/en_US.lang index 691b16f..e4e700e 100644 --- a/src/main/resources/assets/terrafirmapunktweaks/lang/en_US.lang +++ b/src/main/resources/assets/terrafirmapunktweaks/lang/en_US.lang @@ -16,12 +16,19 @@ gui.tfptweaks.steamtank=Steam Tank #========= item.Wooden Bucket Oil.name=Wooden Bucket (Oil) item.Wooden Bucket Blood.name=Wooden Bucket (Blood) +item.Wooden Bucket Olive Oil.name=Wooden Bucket (Olive Oil) +item.Wooden Bucket Whale Oil.name=Wooden Bucket (Whale Oil) item.Block Mold.name=Metal Press Mold: Block item.Fence Mold.name=Metal Press Mold: Fence item.Half Slab Mold.name=Metal Press Mold: Half Slab item.Mechanical Component Mold.name=Metal Press Mold: Mechanical Component item.Piston Mold.name=Metal Press Mold: Piston item.Wire Coil Mold.name=Metal Press Mold: Wire Coil +item.Bearing Mold.name=Metal Press Mold: Bearing +item.Bolt Mold.name=Metal Press Mold: Bolt +item.Nail Mold.name=Metal Press Mold: Nail +item.Nut Mold.name=Metal Press Mold: Nut +item.Washer Mold.name=Metal Press Mold: Washer #=========== #= Effects = @@ -32,6 +39,7 @@ effect.bleed.postfix=Potion of Bleeding #= Blocks = #========== tile.tfpBlood.name=Blood +tile.WhaleOil.name=Whale Oil tile.TFPBrickOven Granite.name=Granite Brick Oven tile.TFPBrickOven Diorite.name=Diorite Brick Oven tile.TFPBrickOven Gabbro.name=Gabbro Brick Oven @@ -57,4 +65,5 @@ tile.TFPBrickOven Marble.name=Marble Brick Oven #========== #= Fluids = #========== -fluid.tfpBlood=Blood \ No newline at end of file +fluid.tfpBlood=Blood +fluid.tfpWhaleOil=Whale Oil \ No newline at end of file diff --git a/src/main/resources/assets/terrafirmapunktweaks/textures/items/Bearing Mold.png b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Bearing Mold.png new file mode 100644 index 0000000..7d346aa Binary files /dev/null and b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Bearing Mold.png differ diff --git a/src/main/resources/assets/terrafirmapunktweaks/textures/items/Bolt Mold.png b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Bolt Mold.png new file mode 100644 index 0000000..fbfb22e Binary files /dev/null and b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Bolt Mold.png differ diff --git a/src/main/resources/assets/terrafirmapunktweaks/textures/items/Nail Mold.png b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Nail Mold.png new file mode 100644 index 0000000..7a0e852 Binary files /dev/null and b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Nail Mold.png differ diff --git a/src/main/resources/assets/terrafirmapunktweaks/textures/items/Nut Mold.png b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Nut Mold.png new file mode 100644 index 0000000..a4ced62 Binary files /dev/null and b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Nut Mold.png differ diff --git a/src/main/resources/assets/terrafirmapunktweaks/textures/items/Washer Mold.png b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Washer Mold.png new file mode 100644 index 0000000..50b8100 Binary files /dev/null and b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Washer Mold.png differ diff --git a/src/main/resources/assets/terrafirmapunktweaks/textures/items/Wooden Bucket Olive Oil.png b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Wooden Bucket Olive Oil.png new file mode 100644 index 0000000..72fe8ca Binary files /dev/null and b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Wooden Bucket Olive Oil.png differ diff --git a/src/main/resources/assets/terrafirmapunktweaks/textures/items/Wooden Bucket Whale Oil.png b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Wooden Bucket Whale Oil.png new file mode 100644 index 0000000..155d650 Binary files /dev/null and b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Wooden Bucket Whale Oil.png differ