Guest User

Untitled

a guest
Jan 27th, 2016
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. package com.dungeonmaster.block.SoulFurnace;
  2.  
  3. import java.util.Random;
  4.  
  5. import javax.swing.Icon;
  6.  
  7. import com.dungeonmaster.main.DungeonMasterMain;
  8.  
  9. import cpw.mods.fml.relauncher.Side;
  10. import cpw.mods.fml.relauncher.SideOnly;
  11. import net.minecraft.block.Block;
  12. import net.minecraft.block.BlockDirectional;
  13. import net.minecraft.block.BlockFurnace;
  14. import net.minecraft.block.BlockMobSpawner;
  15. import net.minecraft.block.ITileEntityProvider;
  16. import net.minecraft.block.material.Material;
  17. import net.minecraft.client.renderer.texture.IIconRegister;
  18. import net.minecraft.creativetab.CreativeTabs;
  19. import net.minecraft.entity.EntityLiving;
  20. import net.minecraft.entity.EntityLivingBase;
  21. import net.minecraft.entity.item.EntityItem;
  22. import net.minecraft.entity.player.EntityPlayer;
  23. import net.minecraft.init.Items;
  24. import net.minecraft.item.ItemStack;
  25. import net.minecraft.tileentity.TileEntity;
  26. import net.minecraft.util.IIcon;
  27. import net.minecraft.util.MathHelper;
  28. import net.minecraft.world.World;
  29.  
  30.  
  31. public class EvilPumpkin extends Block implements ITileEntityProvider{
  32.  
  33. int position;
  34. public static String name = "Vile Pumpkin Totem";
  35. private String privatename = "Vile Pumpkin Totem";
  36.  
  37. @SideOnly(Side.CLIENT)
  38. public IIcon Side0;
  39. @SideOnly(Side.CLIENT)
  40. public IIcon Side1;
  41. @SideOnly(Side.CLIENT)
  42. public IIcon Side2;
  43. @SideOnly(Side.CLIENT)
  44. public IIcon Side3;
  45. @SideOnly(Side.CLIENT)
  46. public IIcon Side4;
  47. @SideOnly(Side.CLIENT)
  48. public IIcon Side5;
  49.  
  50. public EvilPumpkin(Material pumpkin)
  51. {
  52. super(pumpkin);
  53. this.setHardness(1.5F);
  54. this.setResistance(3.0F);
  55. this.setStepSound(soundTypeWood);
  56. this.setBlockName("Vile Pumpkin");
  57. this.setCreativeTab(CreativeTabs.tabDecorations);
  58. this.setLightLevel(0.3F);
  59.  
  60.  
  61.  
  62. }
  63.  
  64.  
  65.  
  66.  
  67. @SideOnly(Side.CLIENT)
  68. public void registerBlockIcons(IIconRegister reg)
  69. {
  70.  
  71.  
  72. this.Side0 = reg.registerIcon("dungeon:PumpkinTop");
  73. this.Side1 = reg.registerIcon("dungeon:PumpkinTop");
  74. this.Side2 = reg.registerIcon("dungeon:PumpkinFace");
  75. this.Side3 = reg.registerIcon("dungeon:PumpkinFace");
  76. this.Side4 = reg.registerIcon("dungeon:PumpkinFace");
  77. this.Side5 = reg.registerIcon("dungeon:PumpkinFace");
  78.  
  79.  
  80. }
  81.  
  82.  
  83. public IIcon getIcon(int side, int meta)
  84. {
  85.  
  86. if(side == 0){
  87.  
  88. return Side0;
  89.  
  90. }else if(side == 1){
  91.  
  92. return Side1;
  93.  
  94. }else if(side == 2){
  95.  
  96. return Side2;
  97.  
  98. }else if(side == 3){
  99.  
  100. return Side3;
  101.  
  102. }else if(side == 4){
  103.  
  104. return Side4;
  105.  
  106. }else{
  107.  
  108. return Side5;
  109.  
  110. }
  111.  
  112. }
  113.  
  114. @SideOnly(Side.CLIENT)
  115. public void onBlockAdded(World world, int x, int y, int z){
  116. super.onBlockAdded(world, x, y, z);
  117. this.direction(world, x, y, z);
  118.  
  119. }
  120.  
  121.  
  122. public void direction(World world, int x, int y, int z){
  123. if(!world.isRemote){
  124. Block direction = world.getBlock(x, y, z-1);
  125. Block direction1 = world.getBlock(x, y, z+1);
  126. Block direction2 = world.getBlock(x-1, y, z);
  127. Block direction3 = world.getBlock(x+1, y, z);
  128. byte byte0 = 3;
  129.  
  130.  
  131. if(direction.func_149730_j() && direction.func_149730_j()){
  132.  
  133. byte0 = 3;
  134.  
  135. }
  136.  
  137. if(direction1.func_149730_j() && direction1.func_149730_j()){
  138.  
  139. byte0 = 2;
  140.  
  141. }
  142.  
  143. if(direction2.func_149730_j() && direction2.func_149730_j()){
  144.  
  145. byte0 = 5;
  146.  
  147. }
  148.  
  149. if(direction3.func_149730_j() && direction3.func_149730_j()){
  150.  
  151. byte0 = 4;
  152.  
  153. }
  154.  
  155. world.setBlockMetadataWithNotify(x, y, z, byte0, 2);
  156.  
  157. }
  158.  
  159.  
  160. }
  161.  
  162. public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack itemstack){
  163. int direction = MathHelper.floor_double((double)(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
  164.  
  165. if(direction == 0){
  166.  
  167. world.setBlockMetadataWithNotify(x, y, z, 2, 2);
  168.  
  169. }
  170.  
  171. if(direction == 1){
  172.  
  173. world.setBlockMetadataWithNotify(x, y, z, 5, 2);
  174.  
  175. }
  176.  
  177. if(direction == 2){
  178.  
  179. world.setBlockMetadataWithNotify(x, y, z, 3, 2);
  180.  
  181. }
  182.  
  183. if(direction == 3){
  184.  
  185. world.setBlockMetadataWithNotify(x, y, z, 4, 2);
  186.  
  187. }
  188.  
  189.  
  190. if(itemstack.hasDisplayName()){
  191.  
  192.  
  193.  
  194. }
  195.  
  196.  
  197. }
  198.  
  199. @Override
  200. public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int metadata, float sideX, float sideY, float sideZ) {
  201. if (!world.isRemote) {
  202.  
  203. ItemStack held = player.getHeldItem();
  204.  
  205. if(held == new ItemStack(Items.bone)){
  206.  
  207. ItemStack out = new ItemStack(Items.iron_ingot);
  208. EntityItem entity = new EntityItem(world, player.posX, player.posY, player.posZ, out);
  209. world.spawnEntityInWorld(entity);
  210.  
  211. }
  212.  
  213.  
  214. }
  215.  
  216. return true;
  217. }
  218.  
  219. @Override
  220. public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
  221.  
  222. return new TileEntityPumpkin();
  223. }
  224.  
  225. @Override
  226. public boolean hasTileEntity(int metadata){
  227. return true;
  228.  
  229. }
  230.  
  231.  
  232.  
  233. }
Advertisement
Add Comment
Please, Sign In to add comment