From cea198eec0ae567c85a25df1104eeda862656a75 Mon Sep 17 00:00:00 2001 From: JAWolfe04 Date: Sun, 3 Jul 2016 03:33:44 -0500 Subject: [PATCH] Summoning Altar, chest place fix and hopper mold --- build.prop | 2 +- builds/TerraFirmaPunkTweaks-1.7.10-1.17.jar | Bin 0 -> 140611 bytes changelog.txt | 10 + .../blocks/BlockTFPAltar.java | 177 ++++++++++++++++++ .../blocks/BlockTFPAltarBlock.java | 140 ++++++++++++++ .../blocks/BlockTFPLigntningRod.java | 122 ++++++++++++ .../blocks/TFPBlocks.java | 11 ++ .../handlers/GUIHandler.java | 7 + .../handlers/PlayerInteractionHandler.java | 10 + .../inventory/GUITFPAltar.java | 35 ++++ .../containers/ContainerTFPAltar.java | 109 +++++++++++ .../containers/SlotSummoningAltar.java | 43 +++++ .../terrafirmapunktweaks/items/TFPItems.java | 7 + .../items/TFPNecronomicon.java | 124 ++++++++++++ .../items/TFPNecronomiconRenderer.java | 105 +++++++++++ .../proxy/ClientProxy.java | 13 ++ .../proxy/CommonProxy.java | 5 + .../terrafirmapunktweaks/reference/GUIs.java | 3 +- .../terrafirmapunktweaks/tiles/TEAltar.java | 61 ++++++ .../terrafirmapunktweaks/lang/en_US.lang | 10 + .../textures/items/Hopper Mold.png | Bin 0 -> 291 bytes 21 files changed, 992 insertions(+), 2 deletions(-) create mode 100644 builds/TerraFirmaPunkTweaks-1.7.10-1.17.jar create mode 100644 src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPAltar.java create mode 100644 src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPAltarBlock.java create mode 100644 src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPLigntningRod.java create mode 100644 src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/GUITFPAltar.java create mode 100644 src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/containers/ContainerTFPAltar.java create mode 100644 src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/containers/SlotSummoningAltar.java create mode 100644 src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPNecronomicon.java create mode 100644 src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPNecronomiconRenderer.java create mode 100644 src/main/java/com/JAWolfe/terrafirmapunktweaks/tiles/TEAltar.java create mode 100644 src/main/resources/assets/terrafirmapunktweaks/textures/items/Hopper Mold.png diff --git a/build.prop b/build.prop index 5054af7..671c100 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.16 +mod_version=1.17 mod_id=TerraFirmaPunkTweaks group_name=com.JAWolfe.TerraFirmaPunkTweaks \ No newline at end of file diff --git a/builds/TerraFirmaPunkTweaks-1.7.10-1.17.jar b/builds/TerraFirmaPunkTweaks-1.7.10-1.17.jar new file mode 100644 index 0000000000000000000000000000000000000000..d270f77ec38e74833fd6585d635b131425f2edca GIT binary patch literal 140611 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

?DW)K>vA1Q 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 ML!QMOc!I(H0){JuGXMYp literal 0 HcmV?d00001 diff --git a/changelog.txt b/changelog.txt index 9eba9da..fc81d10 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,15 @@ Changelog ================================================= +------------------------------------------------- +TFP Tweaks 1.17 +------------------------------------------------- +New Features ++Added Necromancy Summoning Altar Compatibility ++Add Hopper Metal Press + +Tweaks ++Vanilla chests can no longer be placed + ------------------------------------------------- TFP Tweaks 1.16 ------------------------------------------------- diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPAltar.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPAltar.java new file mode 100644 index 0000000..7dcd95d --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPAltar.java @@ -0,0 +1,177 @@ +package com.JAWolfe.terrafirmapunktweaks.blocks; + +import java.util.Random; + +import com.JAWolfe.terrafirmapunktweaks.TerraFirmaPunkTweaks; +import com.JAWolfe.terrafirmapunktweaks.items.TFPItems; +import com.JAWolfe.terrafirmapunktweaks.reference.GUIs; +import com.JAWolfe.terrafirmapunktweaks.tiles.TEAltar; +import com.sirolf2009.necromancy.block.BlockAltar; + +import cpw.mods.fml.common.Loader; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import steamcraft.common.init.InitBlocks; + +public class BlockTFPAltar extends BlockAltar +{ + public BlockTFPAltar() + { + super(); + setCreativeTab(null); + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.5F, 1.0F); + } + + @Override + public TileEntity createNewTileEntity(World var1, int i) + { + return new TEAltar(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) + { + TEAltar tileEntity = (TEAltar) world.getTileEntity(x, y, z); + if (tileEntity == null) + return false; + else if (player.isSneaking() && (tileEntity.canSpawn() || player.capabilities.isCreativeMode)) + { + tileEntity.spawn(player); + return true; + } + else + { + player.openGui(TerraFirmaPunkTweaks.instance, GUIs.TFPALTAR.ordinal(), world, x, y, z); + return true; + } + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) + { + TEAltar te = (TEAltar) world.getTileEntity(x, y, z); + Random rand = new Random(); + ItemStack[] blockTypes = null; + if (te != null) + { + blockTypes = te.getBlockTypes(); + + for (int i = 0; i < te.getSizeInventory(); ++i) + { + ItemStack var9 = te.getStackInSlot(i); + + if (var9 != null) + { + float var10 = rand.nextFloat() * 0.8F + 0.1F; + float var11 = rand.nextFloat() * 0.8F + 0.1F; + float var12 = rand.nextFloat() * 0.8F + 0.1F; + + while (var9.stackSize > 0) + { + int var13 = rand.nextInt(21) + 10; + + if (var13 > var9.stackSize) + { + var13 = var9.stackSize; + } + + var9.stackSize -= var13; + EntityItem var14 = + new EntityItem(world, x + var10, y + var11, z + var12, new ItemStack(var9.getItem(), var13, var9.getItemDamage())); + + var14.motionX = (float) rand.nextGaussian() * 0.05F; + var14.motionY = (float) rand.nextGaussian() * 0.05F + 0.2F; + var14.motionZ = (float) rand.nextGaussian() * 0.05F; + world.spawnEntityInWorld(var14); + } + } + } + + EntityItem book = new EntityItem(world, x + 0.5f, y + 0.5f, z + 0.5f, new ItemStack(TFPItems.TFPNecronomicon)); + book.motionX = (float) rand.nextGaussian() * 0.05F; + book.motionY = (float) rand.nextGaussian() * 0.05F + 0.2F; + book.motionZ = (float) rand.nextGaussian() * 0.05F; + world.spawnEntityInWorld(book); + } + + world.removeTileEntity(x, y, z); + + if(blockTypes != null && blockTypes[0] != null && blockTypes[1] != null && blockTypes[2] != null) + { + world.setBlock(x, y, z, Block.getBlockFromItem(blockTypes[0].getItem()), blockTypes[0].getItemDamage(), 3); + switch (meta) + { + case 2: + { + world.setBlock(x, y, z - 1, Block.getBlockFromItem(blockTypes[1].getItem()), blockTypes[1].getItemDamage(), 3); + world.setBlock(x, y, z - 2, Block.getBlockFromItem(blockTypes[2].getItem()), blockTypes[2].getItemDamage(), 3); + if(Loader.isModLoaded("Steamcraft")) + { + world.setBlock(x + 2, y, z - 4, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x + 2, y, z + 2, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x - 2, y, z - 4, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x - 2, y, z + 2, InitBlocks.blockLightningRod, 0, 3); + } + break; + } + case 0: + { + world.setBlock(x, y, z + 1, Block.getBlockFromItem(blockTypes[1].getItem()), blockTypes[1].getItemDamage(), 3); + world.setBlock(x, y, z + 2, Block.getBlockFromItem(blockTypes[2].getItem()), blockTypes[2].getItemDamage(), 3); + if(Loader.isModLoaded("Steamcraft")) + { + world.setBlock(x + 2, y, z + 4, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x + 2, y, z - 2, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x - 2, y, z + 4, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x - 2, y, z - 2, InitBlocks.blockLightningRod, 0, 3); + } + break; + } + case 1: + { + world.setBlock(x - 1, y, z, Block.getBlockFromItem(blockTypes[1].getItem()), blockTypes[1].getItemDamage(), 3); + world.setBlock(x - 2, y, z, Block.getBlockFromItem(blockTypes[2].getItem()), blockTypes[2].getItemDamage(), 3); + if(Loader.isModLoaded("Steamcraft")) + { + world.setBlock(x - 4, y, z + 2, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x + 2, y, z + 2, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x - 4, y, z - 2, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x + 2, y, z - 2, InitBlocks.blockLightningRod, 0, 3); + } + break; + } + case 3: + { + world.setBlock(x + 1, y, z, Block.getBlockFromItem(blockTypes[1].getItem()), blockTypes[1].getItemDamage(), 3); + world.setBlock(x + 2, y, z, Block.getBlockFromItem(blockTypes[2].getItem()), blockTypes[2].getItemDamage(), 3); + if(Loader.isModLoaded("Steamcraft")) + { + world.setBlock(x + 4, y, z + 2, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x - 2, y, z + 2, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x + 4, y, z - 2, InitBlocks.blockLightningRod, 0, 3); + world.setBlock(x - 2, y, z - 2, InitBlocks.blockLightningRod, 0, 3); + } + break; + } + } + } + } + + @Override + public void onBlockDestroyedByPlayer(World par1World, int x, int y, int z, int par5) + { + + } + + @Override + public void registerBlockIcons(IIconRegister register) + { + this.blockIcon = Blocks.planks.getIcon(0, 0); + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPAltarBlock.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPAltarBlock.java new file mode 100644 index 0000000..799fe9b --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPAltarBlock.java @@ -0,0 +1,140 @@ +package com.JAWolfe.terrafirmapunktweaks.blocks; + +import com.JAWolfe.terrafirmapunktweaks.TerraFirmaPunkTweaks; +import com.JAWolfe.terrafirmapunktweaks.reference.GUIs; +import com.sirolf2009.necromancy.block.BlockAltarBlock; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class BlockTFPAltarBlock extends BlockAltarBlock +{ + public BlockTFPAltarBlock() + { + super(); + } + + private TileEntity getTileEntity(World par1World, int x, int y, int z) + { + switch (par1World.getBlockMetadata(x, y, z)) + { + case 2: + if (par1World.getBlock(x, y, z + 1) == this) + return par1World.getTileEntity(x, y, z + 2); + else + return par1World.getTileEntity(x, y, z + 1); + case 0: + if (par1World.getBlock(x, y, z - 1) == this) + return par1World.getTileEntity(x, y, z - 2); + else + return par1World.getTileEntity(x, y, z - 1); + case 1: + if (par1World.getBlock(x + 1, y, z) == this) + return par1World.getTileEntity(x + 2, y, z); + else + return par1World.getTileEntity(x + 1, y, z); + case 3: + if (par1World.getBlock(x - 1, y, z) == this) + return par1World.getTileEntity(x - 2, y, z); + else + return par1World.getTileEntity(x - 1, y, z); + } + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) + { + TileEntity tileEntity = getTileEntity(world, x, y, z); + if (tileEntity == null || player.isSneaking()) + return false; + else + { + player.openGui(TerraFirmaPunkTweaks.instance, GUIs.TFPALTAR.ordinal(), world, tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); + return true; + } + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) + { + Block altar = null; + int metaAltar = 0, x1 = 0, y1 = 0, z1 = 0; + + switch (meta) + { + case 2: + { + if (world.getBlock(x, y, z + 1) == this) + { + x1 = x; y1 = y; z1 = z + 2; + } + else + { + x1 = x; y1 = y; z1 = z + 1; + } + break; + } + case 0: + { + if (world.getBlock(x, y, z - 1) == this) + { + x1 = x; y1 = y; z1 = z - 2; + } + else + { + x1 = x; y1 = y; z1 = z - 1; + } + break; + } + case 1: + { + if (world.getBlock(x + 1, y, z) == this) + { + x1 = x + 2; y1 = y; z1 = z; + } + else + { + x1 = x + 1; y1 = y; z1 = z; + } + break; + } + case 3: + { + if (world.getBlock(x - 1, y, z) == this) + { + x1 = x - 2; y1 = y; z1 = z; + } + else + { + x1 = x - 1; y1 = y; z1 = z; + } + break; + } + } + + altar = world.getBlock(x1, y1, z1); + metaAltar = world.getBlockMetadata(x1, y1, z1); + + if(altar instanceof BlockTFPAltar) + { + ((BlockTFPAltar)altar).breakBlock(world, x1, y1, z1, altar, metaAltar); + } + } + + @Override + public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int meta) + { + + } + + @Override + public void registerBlockIcons(IIconRegister register) + { + this.blockIcon = Blocks.cobblestone.getIcon(0, 0); + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPLigntningRod.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPLigntningRod.java new file mode 100644 index 0000000..d515853 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/BlockTFPLigntningRod.java @@ -0,0 +1,122 @@ +package com.JAWolfe.terrafirmapunktweaks.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import steamcraft.common.blocks.machines.BlockLightningRod; +import steamcraft.common.init.InitBlocks; + +public class BlockTFPLigntningRod extends BlockLightningRod +{ + public BlockTFPLigntningRod() + { + super(Material.iron); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) + { + Block altar = null; + int metaAltar = 0, x1 = 0, y1 = 0, z1 = 0; + + switch (meta) + { + case 2: + { + if (world.getBlock(x - 2, y, z + 4) instanceof BlockTFPAltar) + { + x1 = x - 2; y1 = y; z1 = z + 4; + } + else if (world.getBlock(x - 2, y, z - 2) instanceof BlockTFPAltar) + { + x1 = x - 2; y1 = y; z1 = z - 2; + } + else if (world.getBlock(x + 2, y, z + 4) instanceof BlockTFPAltar) + { + x1 = x + 2; y1 = y; z1 = z + 4; + } + else if (world.getBlock(x + 2, y, z - 2) instanceof BlockTFPAltar) + { + x1 = x + 2; y1 = y; z1 = z - 2; + } + break; + } + case 0: + { + if (world.getBlock(x - 2, y, z - 4) instanceof BlockTFPAltar) + { + x1 = x - 2; y1 = y; z1 = z - 4; + } + else if (world.getBlock(x - 2, y, z + 2) instanceof BlockTFPAltar) + { + x1 = x - 2; y1 = y; z1 = z + 2; + } + else if (world.getBlock(x + 2, y, z - 4) instanceof BlockTFPAltar) + { + x1 = x + 2; y1 = y; z1 = z - 4; + } + else if (world.getBlock(x + 2, y, z + 2) instanceof BlockTFPAltar) + { + x1 = x + 2; y1 = y; z1 = z + 2; + } + break; + } + case 1: + { + if (world.getBlock(x + 4, y, z - 2) instanceof BlockTFPAltar) + { + x1 = x + 4; y1 = y; z1 = z - 2; + } + else if (world.getBlock(x - 2, y, z - 2) instanceof BlockTFPAltar) + { + x1 = x - 2; y1 = y; z1 = z - 2; + } + else if (world.getBlock(x + 4, y, z + 2) instanceof BlockTFPAltar) + { + x1 = x + 4; y1 = y; z1 = z + 2; + } + else if (world.getBlock(x - 2, y, z + 2) instanceof BlockTFPAltar) + { + x1 = x - 2; y1 = y; z1 = z + 2; + } + break; + } + case 3: + { + if (world.getBlock(x - 4, y, z - 2) instanceof BlockTFPAltar) + { + x1 = x - 4; y1 = y; z1 = z - 2; + } + else if (world.getBlock(x + 2, y, z - 2) instanceof BlockTFPAltar) + { + x1 = x + 2; y1 = y; z1 = z - 2; + } + else if (world.getBlock(x - 4, y, z + 2) instanceof BlockTFPAltar) + { + x1 = x - 4; y1 = y; z1 = z + 2; + } + else if (world.getBlock(x + 2, y, z + 2) instanceof BlockTFPAltar) + { + x1 = x + 2; y1 = y; z1 = z + 2; + } + break; + } + } + + altar = world.getBlock(x1, y1, z1); + metaAltar = world.getBlockMetadata(x1, y1, z1); + + if(altar instanceof BlockTFPAltar) + { + ((BlockTFPAltar)altar).breakBlock(world, x1, y1, z1, altar, metaAltar); + } + } + + @Override + public void registerBlockIcons(IIconRegister register) + { + this.blockIcon = Blocks.anvil.getIcon(0, 0); + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPBlocks.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPBlocks.java index 0ae7941..4dc9175 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPBlocks.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/blocks/TFPBlocks.java @@ -21,6 +21,9 @@ public class TFPBlocks public static Block tfpBlood; public static Block oliveOil; public static Block tfpWhaleOil; + public static Block tfpAltar; + public static Block tfpAltarBlock; + public static Block tfpLightningRod; public static int brickOvenRenderID; @@ -43,10 +46,12 @@ public class TFPBlocks tweakedboiler = new TweakedBoiler(false).setBlockName(SteamcraftBlocks.boiler.getUnlocalizedName().substring(5)).setHardness(5.0F).setResistance(10.0F); tweakedboilerOn = new TweakedBoiler(true).setBlockName(SteamcraftBlocks.boilerOn.getUnlocalizedName().substring(5)).setHardness(5.0F).setResistance(10.0F); tweakedFlashBoiler = new TweakedFlashBoiler().setBlockName(SteamcraftBlocks.flashBoiler.getUnlocalizedName().substring(5)).setHardness(5.0f).setResistance(10.0F); + tfpLightningRod = new BlockTFPLigntningRod().setBlockName("tfpLightningRod"); GameRegistry.registerBlock(tweakedboiler, "tweakedboiler"); GameRegistry.registerBlock(tweakedboilerOn, "tweakedboilerOn"); GameRegistry.registerBlock(tweakedFlashBoiler, "tweakedFlashBoiler"); + GameRegistry.registerBlock(tfpLightningRod, "tfpLightningRod"); } if(Loader.isModLoaded("necromancy")) @@ -54,6 +59,12 @@ public class TFPBlocks tfpBlood = new TFPCustomFluids(TFPFluids.tfpFluidBlood, Material.water).setBlockName("tfpBlood"); GameRegistry.registerBlock(tfpBlood, "tfpBlood"); TFPFluids.tfpFluidBlood.setBlock(tfpBlood); + + tfpAltar = new BlockTFPAltar().setHardness(4).setBlockName("tfpSummoningAltar"); + GameRegistry.registerBlock(tfpAltar, "tfpSummoningAltar"); + + tfpAltarBlock = new BlockTFPAltarBlock().setHardness(4).setBlockName("tfpAltarBuildingBlock"); + GameRegistry.registerBlock(tfpAltarBlock, "tfpAltarBuildingBlock"); } if(Loader.isModLoaded("steamcraft2")) diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/GUIHandler.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/GUIHandler.java index 8fbc4dd..bf32b98 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/GUIHandler.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/GUIHandler.java @@ -1,8 +1,11 @@ package com.JAWolfe.terrafirmapunktweaks.handlers; import com.JAWolfe.terrafirmapunktweaks.inventory.GUIBrickOven; +import com.JAWolfe.terrafirmapunktweaks.inventory.GUITFPAltar; import com.JAWolfe.terrafirmapunktweaks.inventory.containers.ContainerBrickOven; +import com.JAWolfe.terrafirmapunktweaks.inventory.containers.ContainerTFPAltar; import com.JAWolfe.terrafirmapunktweaks.reference.GUIs; +import com.JAWolfe.terrafirmapunktweaks.tiles.TEAltar; import com.JAWolfe.terrafirmapunktweaks.tiles.TEBrickOven; import cpw.mods.fml.common.network.IGuiHandler; @@ -20,6 +23,8 @@ public class GUIHandler implements IGuiHandler if(ID == GUIs.BRICKOVEN.ordinal() && entity != null && entity instanceof TEBrickOven) return new ContainerBrickOven(player.inventory, (TEBrickOven)entity); + else if(ID == GUIs.TFPALTAR.ordinal() && entity != null && entity instanceof TEAltar) + return new ContainerTFPAltar(player.inventory, (TEAltar) player.worldObj.getTileEntity(x, y, z)); return null; } @@ -31,6 +36,8 @@ public class GUIHandler implements IGuiHandler if(ID == GUIs.BRICKOVEN.ordinal() && entity != null && entity instanceof TEBrickOven) return new GUIBrickOven(player.inventory, (TEBrickOven)entity, world, x, y, z); + else if(ID == GUIs.TFPALTAR.ordinal() && entity != null && entity instanceof TEAltar) + return new GUITFPAltar(player.inventory, (TEAltar) player.worldObj.getTileEntity(x, y, z)); return null; } diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerInteractionHandler.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerInteractionHandler.java index 357bfe3..9bf2f9f 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerInteractionHandler.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerInteractionHandler.java @@ -103,6 +103,16 @@ public class PlayerInteractionHandler event.entityPlayer.getCurrentEquippedItem().stackSize--; } } + + if(event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(Blocks.chest)) + { + event.setCanceled(true); + + if(event.entityPlayer.getCurrentEquippedItem().stackSize == 1) + event.entityPlayer.setCurrentItemOrArmor(0, null); + else + event.entityPlayer.getCurrentEquippedItem().stackSize--; + } } } diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/GUITFPAltar.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/GUITFPAltar.java new file mode 100644 index 0000000..93433e3 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/GUITFPAltar.java @@ -0,0 +1,35 @@ +package com.JAWolfe.terrafirmapunktweaks.inventory; + +import org.lwjgl.opengl.GL11; + +import com.JAWolfe.terrafirmapunktweaks.inventory.containers.ContainerTFPAltar; +import com.JAWolfe.terrafirmapunktweaks.tiles.TEAltar; +import com.sirolf2009.necromancy.lib.ReferenceNecromancy; + +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.entity.player.InventoryPlayer; + +public class GUITFPAltar extends GuiContainer +{ + public GUITFPAltar(InventoryPlayer par1InventoryPlayer, TEAltar par2TileEntityAltar) + { + super(new ContainerTFPAltar(par1InventoryPlayer, par2TileEntityAltar)); + } + + @Override + protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) + { + fontRendererObj.drawString("Blood", 21, 60, 0xFFFFFF); + fontRendererObj.drawString("Soul", 132, 60, 0xFFFFFF); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) + { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + mc.renderEngine.bindTexture(ReferenceNecromancy.TEXTURES_GUI_ALTAR); + int var5 = (width - xSize) / 2; + int var6 = (height - ySize) / 2; + drawTexturedModalRect(var5, var6, 0, 0, xSize, ySize); + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/containers/ContainerTFPAltar.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/containers/ContainerTFPAltar.java new file mode 100644 index 0000000..3714a82 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/containers/ContainerTFPAltar.java @@ -0,0 +1,109 @@ +package com.JAWolfe.terrafirmapunktweaks.inventory.containers; + +import com.JAWolfe.terrafirmapunktweaks.blocks.TFPBlocks; +import com.JAWolfe.terrafirmapunktweaks.tiles.TEAltar; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ContainerTFPAltar extends Container +{ + private TEAltar altar; + private World worldObj; + private int posX; + private int posY; + private int posZ; + + public ContainerTFPAltar(InventoryPlayer inventory, TEAltar tileEntityAltar) + { + worldObj = tileEntityAltar.getWorldObj(); + posX = tileEntityAltar.xCoord; + posY = tileEntityAltar.yCoord; + posZ = tileEntityAltar.zCoord; + altar = tileEntityAltar; + addSlotToContainer(new SlotSummoningAltar(altar, 0, 26, 40)); // blood + addSlotToContainer(new SlotSummoningAltar(altar, 1, 134, 39)); // soul + addSlotToContainer(new SlotSummoningAltar(altar, 2, 80, 19)); // head + addSlotToContainer(new SlotSummoningAltar(altar, 3, 80, 36)); // body + addSlotToContainer(new SlotSummoningAltar(altar, 4, 80, 53)); // legs + addSlotToContainer(new SlotSummoningAltar(altar, 5, 63, 36)); // right-arm + addSlotToContainer(new SlotSummoningAltar(altar, 6, 97, 36)); // left-arm + int var3; + for (var3 = 0; var3 < 3; ++var3) + { + for (int var4 = 0; var4 < 9; ++var4) + { + this.addSlotToContainer(new Slot(inventory, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18)); + } + } + + for (var3 = 0; var3 < 9; ++var3) + { + this.addSlotToContainer(new Slot(inventory, var3, 8 + var3 * 18, 142)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer par1EntityPlayer) + { + return worldObj.getBlock(posX, posY, posZ) == TFPBlocks.tfpAltar + ? par1EntityPlayer.getDistanceSq(posX + 0.5D, posY + 0.5D, posZ + 0.5D) <= 64D : false; + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer entityPlayer, int slotIndex) + { + ItemStack origStack = null; + Slot slot = (Slot) inventorySlots.get(slotIndex); + + if (slot != null && slot.getHasStack()) + { + ItemStack slotStack = slot.getStack(); + origStack = slotStack.copy(); + + //From altar to inventory + if (slotIndex < 7) + { + if (!mergeItemStack(slotStack, 7, inventorySlots.size(), true)) + return null; + } + //From inventory to altar + else + { + for(int i = 0; i < 6; i++) + { + if(((Slot) inventorySlots.get(i)).isItemValid(slotStack) && i < 5) + { + if (!mergeItemStack(slotStack, i, i + 1, true)) + return null; + else + break; + } + else if(((Slot) inventorySlots.get(i)).isItemValid(slotStack)) + { + if (!mergeItemStack(slotStack, i, i + 1, true)) + { + if (!mergeItemStack(slotStack, i + 1, i + 2, true)) + return null; + } + } + } + } + + if (slotStack.stackSize == 0) + slot.putStack(null); + else + slot.onSlotChanged(); + + if (slotStack.stackSize == origStack.stackSize) + return null; + + slot.onPickupFromSlot(entityPlayer, slotStack); + } + return origStack; + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/containers/SlotSummoningAltar.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/containers/SlotSummoningAltar.java new file mode 100644 index 0000000..413b5c8 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/inventory/containers/SlotSummoningAltar.java @@ -0,0 +1,43 @@ +package com.JAWolfe.terrafirmapunktweaks.inventory.containers; + +import com.sirolf2009.necromancy.item.ItemBodyPart; +import com.sirolf2009.necromancy.item.ItemGeneric; + +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class SlotSummoningAltar extends Slot +{ + public SlotSummoningAltar(IInventory iinventory, int slotID, int x, int y) + { + super(iinventory, slotID, x, y); + } + + @Override + public boolean isItemValid(ItemStack itemstack) + { + if(getSlotIndex() == 0 && itemstack.getItem() instanceof ItemGeneric && itemstack.getItemDamage() == 2) + return true; + else if(getSlotIndex() == 1 && itemstack.getItem() instanceof ItemGeneric && itemstack.getItemDamage() == 1) + return true; + else if(getSlotIndex() == 2 && itemstack.getItem() instanceof ItemBodyPart && ItemBodyPart.necroEntities.get(itemstack.getItemDamage()).contains("Head")) + return true; + else if(getSlotIndex() == 3 && itemstack.getItem() instanceof ItemBodyPart && ItemBodyPart.necroEntities.get(itemstack.getItemDamage()).contains("Torso")) + return true; + else if(getSlotIndex() == 4 && itemstack.getItem() instanceof ItemBodyPart && ItemBodyPart.necroEntities.get(itemstack.getItemDamage()).contains("Legs")) + return true; + else if(getSlotIndex() == 5 && itemstack.getItem() instanceof ItemBodyPart && ItemBodyPart.necroEntities.get(itemstack.getItemDamage()).contains("Arm")) + return true; + else if(getSlotIndex() == 6 && itemstack.getItem() instanceof ItemBodyPart && ItemBodyPart.necroEntities.get(itemstack.getItemDamage()).contains("Arm")) + return true; + + return false; + } + + @Override + public int getSlotStackLimit() + { + return 1; + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPItems.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPItems.java index cce064c..2f67e9b 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPItems.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPItems.java @@ -21,6 +21,8 @@ public class TFPItems public static Item NailMold; public static Item NutMold; public static Item WasherMold; + public static Item HopperMold; + public static Item TFPNecronomicon; public static void initialise() { @@ -38,6 +40,9 @@ public class TFPItems { CustomBucketBlood = new TFPCustomBucket().setUnlocalizedName("Wooden Bucket Blood"); GameRegistry.registerItem(CustomBucketBlood, CustomBucketBlood.getUnlocalizedName()); + + TFPNecronomicon = new TFPNecronomicon().setUnlocalizedName("TFPNecronomicon"); + GameRegistry.registerItem(TFPNecronomicon, TFPNecronomicon.getUnlocalizedName()); } if(Loader.isModLoaded("ImmersiveEngineering")) @@ -53,6 +58,7 @@ public class TFPItems NailMold = new MetalMold().setUnlocalizedName("Nail Mold"); NutMold = new MetalMold().setUnlocalizedName("Nut Mold"); WasherMold = new MetalMold().setUnlocalizedName("Washer Mold"); + HopperMold = new MetalMold().setUnlocalizedName("Hopper Mold"); GameRegistry.registerItem(BlockMold, BlockMold.getUnlocalizedName()); GameRegistry.registerItem(FenceMold, FenceMold.getUnlocalizedName()); @@ -65,6 +71,7 @@ public class TFPItems GameRegistry.registerItem(NailMold, NailMold.getUnlocalizedName()); GameRegistry.registerItem(NutMold, NutMold.getUnlocalizedName()); GameRegistry.registerItem(WasherMold, WasherMold.getUnlocalizedName()); + GameRegistry.registerItem(HopperMold, HopperMold.getUnlocalizedName()); } if(Loader.isModLoaded("steamcraft2")) diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPNecronomicon.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPNecronomicon.java new file mode 100644 index 0000000..d042405 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPNecronomicon.java @@ -0,0 +1,124 @@ +package com.JAWolfe.terrafirmapunktweaks.items; + +import com.JAWolfe.terrafirmapunktweaks.blocks.TFPBlocks; +import com.JAWolfe.terrafirmapunktweaks.tiles.TEAltar; +import com.bioxx.tfc.BlockSetup; +import com.bioxx.tfc.Blocks.Terrain.BlockCobble; +import com.bioxx.tfc.Items.ItemTerra; +import com.sirolf2009.necromancy.achievement.AchievementNecromancy; + +import cpw.mods.fml.common.Loader; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import steamcraft.common.blocks.machines.BlockLightningRod; + +public class TFPNecronomicon extends ItemTerra +{ + public TFPNecronomicon() + { + super(); + setMaxStackSize(1); + } + + @Override + public boolean onItemUse(ItemStack usedItem, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) + { + if (world.getBlock(x, y, z) == BlockSetup.planks || world.getBlock(x, y, z) == BlockSetup.planks2) + { + if (world.getBlock(x + 1, y, z) instanceof BlockCobble && world.getBlock(x + 2, y, z) instanceof BlockCobble) + { + if(Loader.isModLoaded("Steamcraft")) + { + if(world.getBlock(x + 4, y, z + 2) instanceof BlockLightningRod && world.getBlock(x - 2, y, z + 2) instanceof BlockLightningRod && + world.getBlock(x + 4, y, z - 2) instanceof BlockLightningRod && world.getBlock(x - 2, y, z - 2) instanceof BlockLightningRod) + { + setLightningRods(3, x + 4, x - 2, x + 4, x - 2, z + 2, z + 2, z - 2, z - 2, y, world); + setBlocks(3, x + 1, z, x + 2, z, world, x, y, z, player, usedItem); + } + } + else + setBlocks(3, x + 1, z, x + 2, z, world, x, y, z, player, usedItem); + + return true; + + } + if (world.getBlock(x - 1, y, z) instanceof BlockCobble && world.getBlock(x - 2, y, z) instanceof BlockCobble) + { + if(Loader.isModLoaded("Steamcraft")) + { + if(world.getBlock(x - 4, y, z + 2) instanceof BlockLightningRod && world.getBlock(x + 2, y, z + 2) instanceof BlockLightningRod && + world.getBlock(x - 4, y, z - 2) instanceof BlockLightningRod && world.getBlock(x + 2, y, z - 2) instanceof BlockLightningRod) + { + setLightningRods(1, x - 4, x + 2, x - 4, x + 2, z + 2, z + 2, z - 2, z - 2, y, world); + setBlocks(1, x - 1, z, x - 2, z, world, x, y, z, player, usedItem); + } + } + else + setBlocks(1, x - 1, z, x - 2, z, world, x, y, z, player, usedItem); + + return true; + } + if (world.getBlock(x, y, z + 1) instanceof BlockCobble && world.getBlock(x, y, z + 2) instanceof BlockCobble) + { + if(Loader.isModLoaded("Steamcraft")) + { + if(world.getBlock(x + 2, y, z + 4) instanceof BlockLightningRod && world.getBlock(x + 2, y, z - 2) instanceof BlockLightningRod && + world.getBlock(x - 2, y, z + 4) instanceof BlockLightningRod && world.getBlock(x - 2, y, z - 2) instanceof BlockLightningRod) + { + setLightningRods(0, x + 2, x + 2, x - 2, x - 2, z + 4, z - 2, z + 4, z - 2, y, world); + setBlocks(0, x, z + 1, x, z + 2, world, x, y, z, player, usedItem); + } + } + else + setBlocks(0, x, z + 1, x, z + 2, world, x, y, z, player, usedItem); + + return true; + } + if (world.getBlock(x, y, z - 1) instanceof BlockCobble && world.getBlock(x, y, z - 2) instanceof BlockCobble) + { + if(Loader.isModLoaded("Steamcraft")) + { + if(world.getBlock(x + 2, y, z - 4) instanceof BlockLightningRod && world.getBlock(x + 2, y, z + 2) instanceof BlockLightningRod && + world.getBlock(x - 2, y, z - 4) instanceof BlockLightningRod && world.getBlock(x - 2, y, z + 2) instanceof BlockLightningRod) + { + setLightningRods(2, x + 2, x + 2, x - 2, x - 2, z - 4, z + 2, z - 4, z + 2, y, world); + setBlocks(2, x, z - 1, x, z - 2, world, x, y, z, player, usedItem); + } + } + else + setBlocks(2, x, z - 1, x, z - 2, world, x, y, z, player, usedItem); + + return true; + } + } + + return false; + } + + private void setBlocks(int meta, int x1, int z1, int x2, int z2, World world, int x, int y, int z, EntityPlayer player, ItemStack usedItem) + { + ItemStack[] blockTypes = new ItemStack[3]; + + blockTypes[0] = new ItemStack(Item.getItemFromBlock(world.getBlock(x, y, z)), 1, world.getBlockMetadata(x, y, z)); + blockTypes[1] = new ItemStack(Item.getItemFromBlock(world.getBlock(x1, y, z1)), 1, world.getBlockMetadata(x1, y, z1)); + blockTypes[2] = new ItemStack(Item.getItemFromBlock(world.getBlock(x2, y, z2)), 1, world.getBlockMetadata(x2, y, z2)); + + world.setBlock(x, y, z, TFPBlocks.tfpAltar, meta, 3); + world.setBlock(x1, y, z1, TFPBlocks.tfpAltarBlock, meta, 3); + world.setBlock(x2, y, z2, TFPBlocks.tfpAltarBlock, meta, 3); + player.addStat(AchievementNecromancy.AltarAchieve, 1); + --usedItem.stackSize; + if(world.getTileEntity(x, y, z) instanceof TEAltar) + ((TEAltar)world.getTileEntity(x, y, z)).setBlockTypes(blockTypes); + } + + private void setLightningRods(int meta, int x1, int x2, int x3, int x4, int z1, int z2, int z3, int z4, int y, World world) + { + world.setBlock(x1, y, z1, TFPBlocks.tfpLightningRod, meta, 3); + world.setBlock(x2, y, z2, TFPBlocks.tfpLightningRod, meta, 3); + world.setBlock(x3, y, z3, TFPBlocks.tfpLightningRod, meta, 3); + world.setBlock(x4, y, z4, TFPBlocks.tfpLightningRod, meta, 3); + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPNecronomiconRenderer.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPNecronomiconRenderer.java new file mode 100644 index 0000000..5c320e1 --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/items/TFPNecronomiconRenderer.java @@ -0,0 +1,105 @@ +package com.JAWolfe.terrafirmapunktweaks.items; + +import org.lwjgl.opengl.GL11; + +import com.sirolf2009.necromancy.Necromancy; +import com.sirolf2009.necromancy.client.model.ModelNecronomicon; +import com.sirolf2009.necromancy.core.proxy.ClientProxy; +import com.sirolf2009.necromancy.lib.ReferenceNecromancy; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; + +public class TFPNecronomiconRenderer implements IItemRenderer +{ + private final ModelNecronomicon modelInteractive; + private final ModelNecronomicon modelStatic; + + public String[] leftPageContent = {}, rightPageContent = {}; + + private final FontRenderer font; + + public TFPNecronomiconRenderer() + { + modelInteractive = new ModelNecronomicon(); + modelStatic = new ModelNecronomicon(); + font = Minecraft.getMinecraft().fontRenderer; + } + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) + { + if (type.equals(ItemRenderType.ENTITY)) + { + renderNecronomIIconStatic(0F, 0.2F, 0F, 180F, 1F, 1F, 0.004F); + } + else if (type.equals(ItemRenderType.EQUIPPED)) + { + renderNecronomiconInteractive(0.8F, 1.3F, 0.6F, 180F, 180F, 0F, 0.009F); + } + else if (type.equals(ItemRenderType.EQUIPPED_FIRST_PERSON)) + { + renderNecronomiconInteractive(0.8F, 1F, -1F, 20F, 100F, 160F, 0.01F); + } + else if (type.equals(ItemRenderType.INVENTORY)) + { + renderNecronomIIconStatic(-0.2F, 0.2F, 0.2F, 100F, -20F, -20F, 0.007F); + } + } + + private void renderNecronomiconInteractive(float posX, float posY, float posZ, float rotX, float rotY, float rotZ, float scale) + { + modelInteractive.setRotationAngles(100, 0, 0, 0, 0, 0, null); + GL11.glPushMatrix(); + GL11.glTranslatef(posX, posY, posZ); + GL11.glRotatef(rotX, 1, 0, 0); + GL11.glRotatef(rotY, 0, 1, 0); + GL11.glRotatef(rotZ, 0, 0, 1); + GL11.glScalef(scale, scale, scale); + ClientProxy.mc.renderEngine.bindTexture(ReferenceNecromancy.TEXTURES_MODELS_NECRONOMICON); + modelInteractive.render(null, 1, 0, 0, 0, 1, 1); + GL11.glRotatef(-54, 0, 1, 0); + GL11.glTranslatef(8, -20, -30); + GL11.glScalef(0.8F, 0.8F, 0.8F); + for (int i = 0; i < rightPageContent.length; i++) + { + font.drawString(rightPageContent[i], 10, -50 + i * 10, 7208960); + } + + GL11.glRotatef(-69, 0, 1, 0); + GL11.glTranslatef(-104, 0, 3); + for (int i = 0; i < leftPageContent.length; i++) + { + font.drawString(leftPageContent[i], 10, -50 + i * 10, 7208960); + } + GL11.glPopMatrix(); + } + + private void renderNecronomIIconStatic(float posX, float posY, float posZ, float rotX, float rotY, float rotZ, float scale) + { + modelInteractive.setRotationAngles(100, 0, 0, 0, 0, 0, null); + GL11.glPushMatrix(); + GL11.glTranslatef(posX, posY, posZ); + GL11.glRotatef(rotX, 1, 0, 0); + GL11.glRotatef(rotY, 0, 1, 0); + GL11.glRotatef(rotZ, 0, 0, 1); + GL11.glScalef(scale, scale, scale); + Necromancy.proxy.bindTexture(ReferenceNecromancy.TEXTURES_MODELS_NECRONOMICON); + modelStatic.render(null, 0, 0, 0, 0f, 1, 1); + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/ClientProxy.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/ClientProxy.java index 6a17fe3..aaf22c2 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/ClientProxy.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/ClientProxy.java @@ -2,10 +2,17 @@ package com.JAWolfe.terrafirmapunktweaks.proxy; import com.JAWolfe.terrafirmapunktweaks.blocks.TFPBlocks; import com.JAWolfe.terrafirmapunktweaks.blocks.TFPBrickOvenRenderer; +import com.JAWolfe.terrafirmapunktweaks.items.TFPItems; +import com.JAWolfe.terrafirmapunktweaks.items.TFPNecronomiconRenderer; +import com.JAWolfe.terrafirmapunktweaks.tiles.TEAltar; +import com.sirolf2009.necromancy.client.renderer.tileentity.TileEntityAltarRenderer; +import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.item.Item; +import net.minecraftforge.client.MinecraftForgeClient; public class ClientProxy extends CommonProxy { @@ -21,5 +28,11 @@ public class ClientProxy extends CommonProxy TFPBlocks.brickOvenRenderID = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(TFPBlocks.brickOvenRenderID, new TFPBrickOvenRenderer()); + MinecraftForgeClient.registerItemRenderer(TFPItems.TFPNecronomicon, new TFPNecronomiconRenderer()); + + ClientRegistry.bindTileEntitySpecialRenderer(TEAltar.class, new TileEntityAltarRenderer()); + + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(TFPBlocks.tfpAltar), new TileEntityAltarRenderer()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(TFPBlocks.tfpAltarBlock), new TileEntityAltarRenderer()); } } diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/CommonProxy.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/CommonProxy.java index 1fc8cf0..4439e8c 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/CommonProxy.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/proxy/CommonProxy.java @@ -2,6 +2,7 @@ package com.JAWolfe.terrafirmapunktweaks.proxy; import com.JAWolfe.terrafirmapunktweaks.TFPFluids; import com.JAWolfe.terrafirmapunktweaks.items.TFPItems; +import com.JAWolfe.terrafirmapunktweaks.tiles.TEAltar; import com.JAWolfe.terrafirmapunktweaks.tiles.TEBoiler; import com.JAWolfe.terrafirmapunktweaks.tiles.TEBrickOven; import com.JAWolfe.terrafirmapunktweaks.tiles.TEFlashBoiler; @@ -29,6 +30,10 @@ public class CommonProxy GameRegistry.registerTileEntity(TEBoiler.class, "TEBoiler"); GameRegistry.registerTileEntity(TEFlashBoiler.class, "TEFlashBoiler"); } + if(Loader.isModLoaded("necromancy")) + { + GameRegistry.registerTileEntity(TEAltar.class, "TEAltar"); + } } public void registerFluids() diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/reference/GUIs.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/reference/GUIs.java index c655900..3840ff1 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/reference/GUIs.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/reference/GUIs.java @@ -2,5 +2,6 @@ package com.JAWolfe.terrafirmapunktweaks.reference; public enum GUIs { - BRICKOVEN + BRICKOVEN, + TFPALTAR } diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/tiles/TEAltar.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/tiles/TEAltar.java new file mode 100644 index 0000000..4b533be --- /dev/null +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/tiles/TEAltar.java @@ -0,0 +1,61 @@ +package com.JAWolfe.terrafirmapunktweaks.tiles; + +import com.sirolf2009.necromancy.tileentity.TileEntityAltar; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; + +public class TEAltar extends TileEntityAltar +{ + ItemStack[] blockTypes = new ItemStack[3]; + + public TEAltar() + { + super(); + } + + public void setBlockTypes(ItemStack[] types) + { + blockTypes = types; + } + + public ItemStack[] getBlockTypes() + { + return blockTypes; + } + + @Override + public void writeToNBT(NBTTagCompound par1NBTTagCompound) + { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + for(int i = 0; i < blockTypes.length; i++) + { + if(blockTypes[i] != null) + { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte)i); + blockTypes[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + par1NBTTagCompound.setTag("blockTypes", nbttaglist); + } + + @Override + public void readFromNBT(NBTTagCompound par1NBTTagCompound) + { + super.readFromNBT(par1NBTTagCompound); + + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("blockTypes", 10); + blockTypes = new ItemStack[3]; + for(int i = 0; i < nbttaglist.tagCount(); i++) + { + NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i); + byte byte0 = nbttagcompound1.getByte("Slot"); + if(byte0 >= 0 && byte0 < blockTypes.length) + blockTypes[byte0] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } +} diff --git a/src/main/resources/assets/terrafirmapunktweaks/lang/en_US.lang b/src/main/resources/assets/terrafirmapunktweaks/lang/en_US.lang index e4e700e..dd36fa1 100644 --- a/src/main/resources/assets/terrafirmapunktweaks/lang/en_US.lang +++ b/src/main/resources/assets/terrafirmapunktweaks/lang/en_US.lang @@ -11,6 +11,11 @@ gui.tfptweaks.watertank=Water Tank gui.tfptweaks.steamtank=Steam Tank +#============ +#= Entities = +#============ +entity.minionNecro.name=Minion + #========= #= Items = #========= @@ -29,6 +34,8 @@ 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 +item.Hopper Mold.name=Metal Press Mold: Hopper +item.TFPNecronomicon.name=Necronomicon #=========== #= Effects = @@ -61,6 +68,9 @@ tile.TFPBrickOven Phyllite.name=Phyllite Brick Oven tile.TFPBrickOven Schist.name=Schist Brick Oven tile.TFPBrickOven Gneiss.name=Gneiss Brick Oven tile.TFPBrickOven Marble.name=Marble Brick Oven +tile.tfpSummoningAltar.name=Summoning Altar +tile.tfpAltarBuildingBlock.name=Summoning Altar +tile.tfpLightningRod.name=Lightning Rod #========== #= Fluids = diff --git a/src/main/resources/assets/terrafirmapunktweaks/textures/items/Hopper Mold.png b/src/main/resources/assets/terrafirmapunktweaks/textures/items/Hopper Mold.png new file mode 100644 index 0000000000000000000000000000000000000000..dd22a03d6f9a5da67b7ea9f9f51b97ce1a3c7a5a GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ>#Bd(*uBNrg*wIhFJKYon*~*KtaI8wrB6$ty9GXJ~BtW`s+Wz;K(0S!ATBmV$){c zUEcA;)KioFSVVZ@wl%&@iY+&0iyzW?UNe_{>z2EVru^gl@Pn7(gk`y-!Q!p|I0T$_ zv?y%8c8yVUsp7E;?t*h$8Fw^(-^bNx{@jL56!i hYv}1yw}J(YnCARiAFdMeY!lFZ44$rjF6*2UngG8IX(Rvu literal 0 HcmV?d00001