Guest User

Untitled

a guest
Feb 20th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 14.35 KB | None | 0 0
  1. package net.minecraft.src;
  2.  
  3. import java.util.Random;
  4.  
  5. // Referenced classes of package net.minecraft.src:
  6. //            BlockContainer, Material, Block, World,
  7. //            IBlockAccess, TileEntityFurnace, EntityPlayer, TileEntity,
  8. //            EntityLiving, MathHelper, IInventory, ItemStack,
  9. //            EntityItem
  10.  
  11. public class BlockFreezer extends BlockContainer
  12. {
  13.     private World world;
  14.     private int x, y, z;
  15.     private byte faceDirection;
  16.    
  17.     private void setFaceDirection(byte direction)
  18.     {
  19.         faceDirection = direction;
  20.         world.setBlockMetadataWithNotify(x, y, z, faceDirection);
  21.     }
  22.  
  23.     protected BlockFreezer(int i, boolean flag)
  24.     {
  25.         super(i, Material.ground);
  26.         freezerRand = new Random();
  27.         isActive = flag;
  28.     }
  29.  
  30.     public int idDropped(int i, Random random)
  31.     {
  32.         return mod_NewAge.freezer.blockID;
  33.     }
  34.  
  35.     public void onBlockAdded(World world, int x, int y, int z)
  36.     {
  37.         super.onBlockAdded(world, x, y, z);
  38.         this.world = world;
  39.         setDefaultDirection(world, x, y, z);
  40.     }
  41.  
  42.     private void setDefaultDirection(World world, int x, int y, int z)
  43.     {
  44.         if(world.multiplayerWorld)
  45.         {
  46.             return;
  47.         }
  48.         int leftBlock = world.getBlockId(x, y, z - 1);
  49.         int rightBlock = world.getBlockId(x, y, z + 1);
  50.         int backBlock = world.getBlockId(x - 1, y, z);
  51.         int frontBlock = world.getBlockId(x + 1, y, z);
  52.         byte faceDirection = 3; // Right
  53.         if(Block.opaqueCubeLookup[leftBlock] && !Block.opaqueCubeLookup[rightBlock])
  54.         {
  55.             faceDirection = 3; // Right (Towards z)
  56.         }
  57.         if(Block.opaqueCubeLookup[rightBlock] && !Block.opaqueCubeLookup[leftBlock])
  58.         {
  59.             faceDirection = 2; // Left (Away from z)
  60.         }
  61.         if(Block.opaqueCubeLookup[backBlock] && !Block.opaqueCubeLookup[frontBlock])
  62.         {
  63.             faceDirection = 5; // Front (Towards x)
  64.         }
  65.         if(Block.opaqueCubeLookup[frontBlock] && !Block.opaqueCubeLookup[backBlock])
  66.         {
  67.             faceDirection = 4; // Back (Away from x)
  68.         }
  69.         setFaceDirection(faceDirection);
  70.     }
  71.  
  72.     public int getBlockTextureFromSide(int side)
  73.     {
  74.         if(side == 1)
  75.         {
  76.             return mod_NewAge.freezerTopBottom;
  77.         }
  78.         if(side == 0)
  79.         {
  80.             return mod_NewAge.freezerTopBottom;
  81.         }
  82.         switch (faceDirection)
  83.         {
  84.             case 2 : // Away from z
  85.                 switch (side)
  86.                 {
  87.                     case 2 : // Away from z (Relative front)
  88.                         return mod_NewAge.freezerFront;
  89.                    
  90.                     case 3 : // Towards z (Relative back)
  91.                         return mod_NewAge.freezerBack;
  92.                    
  93.                     case 4 : // Away from x (Relative right)
  94.                         return mod_NewAge.freezerRight;
  95.                        
  96.                     case 5 : // Towards x (Relative left)
  97.                         return mod_NewAge.freezerLeft;
  98.                 }
  99.            
  100.             case 3 : // Towards z
  101.                 switch (side)
  102.                 {
  103.                     case 2 : // Away from z (Relative back)
  104.                         return mod_NewAge.freezerBack;
  105.                    
  106.                     case 3 : // Towards z (Relative front)
  107.                         return mod_NewAge.freezerFront;
  108.                    
  109.                     case 4 : // Away from x (Relative left)
  110.                         return mod_NewAge.freezerLeft;
  111.                        
  112.                     case 5 : // Towards x (Relative right)
  113.                         return mod_NewAge.freezerRight;
  114.                 }
  115.                
  116.             case 4 : // Away from x
  117.                 switch (side)
  118.                 {
  119.                     case 2 : // Away from z (Relative right)
  120.                         return mod_NewAge.freezerRight;
  121.                    
  122.                     case 3 : // Towards z (Relative left)
  123.                         return mod_NewAge.freezerLeft;
  124.                    
  125.                     case 4 : // Away from x (Relative front)
  126.                         return mod_NewAge.freezerFront;
  127.                        
  128.                     case 5 : // Towards x (Relative back)
  129.                         return mod_NewAge.freezerBack;
  130.                 }
  131.                
  132.             case 5 : // Towards x
  133.                 switch (side)
  134.                 {
  135.                     case 2 : // Away from z (Relative left)
  136.                         return mod_NewAge.freezerLeft;
  137.                    
  138.                     case 3 : // Towards z (Relative right)
  139.                         return mod_NewAge.freezerRight;
  140.                    
  141.                     case 4 : // Away from x (Relative back)
  142.                         return mod_NewAge.freezerBack;
  143.                        
  144.                     case 5 : // Towards x (Relative front)
  145.                         return mod_NewAge.freezerFront;
  146.                 }
  147.         }
  148.     }
  149.  
  150.     public boolean blockActivated(World world, int i, int j, int k, EntityPlayer entityplayer)
  151.     {
  152.         if(world.multiplayerWorld)
  153.         {
  154.             return true;
  155.         } else
  156.         {
  157.             TileEntityFreezer tileentityfreezer = (TileEntityFreezer)world.getBlockTileEntity(i, j, k);
  158.             ModLoader.OpenGUI(entityplayer, new GuiFreezer(entityplayer.inventory, tileentityfreezer));
  159.             return true;
  160.         }
  161.     }
  162.     public TileEntity getBlockEntity()
  163.     {
  164.         return new TileEntityFreezer();
  165.     }
  166.  
  167.     public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving)
  168.     {
  169.         int l = MathHelper.floor_double((double)((entityliving.rotationYaw * 4F) / 360F) + 0.5D) & 3;
  170.         if(l == 0)
  171.             setFaceDirection((byte)2);
  172.         if(l == 1)
  173.             setFaceDirection((byte)5);
  174.         if(l == 2)
  175.             setFaceDirection((byte)3);
  176.         if(l == 3)
  177.             setFaceDirection((byte)4);
  178.     }
  179.  
  180.     public void onBlockRemoval(World world, int i, int j, int k)
  181.     {
  182.         if(!keepFreezerInventory)
  183.         {
  184.             TileEntityFreezer tileentityfreezer = (TileEntityFreezer)world.getBlockTileEntity(i, j, k);
  185. label0:
  186.             for(int l = 0; l < tileentityfreezer.getSizeInventory(); l++)
  187.             {
  188.                 ItemStack itemstack = tileentityfreezer.getStackInSlot(l);
  189.                 if(itemstack == null)
  190.                 {
  191.                     continue;
  192.                 }
  193.                 float f = freezerRand.nextFloat() * 0.8F + 0.1F;
  194.                 float f1 = freezerRand.nextFloat() * 0.8F + 0.1F;
  195.                 float f2 = freezerRand.nextFloat() * 0.8F + 0.1F;
  196.                 do
  197.                 {
  198.                     if(itemstack.stackSize <= 0)
  199.                     {
  200.                         continue label0;
  201.                     }
  202.                     int i1 = freezerRand.nextInt(21) + 10;
  203.                     if(i1 > itemstack.stackSize)
  204.                     {
  205.                         i1 = itemstack.stackSize;
  206.                     }
  207.                     itemstack.stackSize -= i1;
  208.                     EntityItem entityitem = new EntityItem(world, (float)i + f, (float)j + f1, (float)k + f2, new ItemStack(itemstack.itemID, i1, itemstack.getItemDamage()));
  209.                     float f3 = 0.05F;
  210.                     entityitem.motionX = (float)freezerRand.nextGaussian() * f3;
  211.                     entityitem.motionY = (float)freezerRand.nextGaussian() * f3 + 0.2F;
  212.                     entityitem.motionZ = (float)freezerRand.nextGaussian() * f3;
  213.                     world.entityJoinedWorld(entityitem);
  214.                 } while(true);
  215.             }
  216.  
  217.         }
  218.         super.onBlockRemoval(world, i, j, k);
  219.     }
  220.  
  221.     private Random freezerRand;
  222.     private final boolean isActive;
  223.     private static boolean keepFreezerInventory = false;
  224.  
  225. }
  226.  
  227. package net.minecraft.src;
  228.  
  229. public class mod_NewAge extends BaseMod{
  230.    
  231. //Properties
  232.     public static Block PolystyreneFoam = new BlockPolystyreneFoam(166, 0).setHardness(1.0F).setResistance(1.0F).setBlockName("Polystyrene");
  233.     public static Block MoonRock = new BlockMoonRock(167, 0).setHardness(1.0F).setResistance(1.0F).setBlockName("MoonRock");
  234.     public static Block Crystal = new BlockCrystal(168, 0).setHardness(1.0F).setResistance(1.0F).setBlockName("Crystal");
  235.     public static Block  extractor = new BlockExtractor(165, false).setHardness(1.0F).setResistance(0F).setStepSound(Block.soundMetalFootstep).setBlockName("extractor");
  236.        public static int extractorSide = ModLoader.addOverride("/terrain.png", "/Oxide/Extractor.png");
  237.        public static int extractorFront = ModLoader.addOverride("/terrain.png", "/Oxide/ExtractorFront.png");
  238.     public static Block  freezer = new BlockFreezer(169, false).setHardness(1.0F).setResistance(0F).setStepSound(Block.soundMetalFootstep).setBlockName("extractor");
  239.        public static int freezerRight = ModLoader.addOverride("/terrain.png", "/Oxide/Freezer.png");
  240.        public static int freezerTopBottom = ModLoader.addOverride("/terrain.png", "/Oxide/Freezer1.png");
  241.        public static int freezerLeft = ModLoader.addOverride("/terrain.png", "/Oxide/Freezer2.png");
  242.        public static int freezerFront = ModLoader.addOverride("/terrain.png", "/Oxide/FreezerFront.png");
  243.        public static int freezerBack = ModLoader.addOverride("/terrain.png", "/Oxide/FreezerBack.png");
  244.     public static Item LargeIce = new Item(1009).setItemName("LargeIce");
  245.     public static Item Oil = new Item(1000).setItemName("Oil");
  246.     public static Item PolystyrenePiece = new Item(1001).setItemName("PolystyrenePiece");
  247.     public static Item Saltpetre = new Item(1002).setItemName("Saltpetre");
  248.     public static Item Crystal1 = new Item(1008).setItemName("Crystal");
  249.     public static final Item polystyrenePick = new ItemPickaxe(1003, EnumToolMaterial.IRON).setItemName("polystyrenepick");
  250.     public static final Item polystyreneShovel = new ItemSpade(1004, EnumToolMaterial.IRON).setItemName("polystyreneshovel");
  251.     public static final Item polystyreneAxe = new ItemAxe(1005, EnumToolMaterial.IRON).setItemName("polystyreneaxe");
  252.     public static final Item polystyreneHoe = new ItemHoe(1006, EnumToolMaterial.IRON).setItemName("polystyrenehoe");
  253.     public static final Item polystyreneSword = new ItemSword(1007, EnumToolMaterial.IRON).setItemName("polystyrenesword");
  254.    
  255. public String Version()
  256.     {
  257.         return "New Age 1.0 for 1.8.1";
  258.     }
  259.  
  260.   public mod_NewAge()
  261.   {
  262.  //inGameName      
  263.  ModLoader.AddName(Oil, "Oil");
  264.  ModLoader.AddName(PolystyreneFoam, "Polystyrene");
  265.  ModLoader.AddName(PolystyrenePiece , "PolystyrenePiece");
  266.  ModLoader.AddName(extractor, "Extractor");
  267.  ModLoader.AddName(freezer, "Freezer");
  268.  ModLoader.AddName(polystyrenePick, "Polystyrene Pickaxe");
  269.  ModLoader.AddName(polystyreneShovel, "Polystyrene Shovel");
  270.  ModLoader.AddName(polystyreneAxe, "Polystyrene Axe");
  271.  ModLoader.AddName(polystyreneHoe, "Polystyrene Hoe");
  272.  ModLoader.AddName(polystyreneSword, "Polystyrene Sword");
  273.  ModLoader.AddName(MoonRock, "Moon Rock");
  274.  ModLoader.AddName(Crystal, "Quartz");
  275.  ModLoader.AddName(Crystal1, "Quartz");
  276.  ModLoader.AddName(LargeIce, "Large Block of Ice");
  277. //Register
  278.  ModLoader.RegisterBlock(MoonRock);
  279.  ModLoader.RegisterBlock(Crystal);
  280.  ModLoader.RegisterBlock(PolystyreneFoam);
  281.  ModLoader.RegisterBlock(extractor);
  282.  ModLoader.RegisterTileEntity(net.minecraft.src.TileEntityExtractor.class, "Extractor");
  283.  ModLoader.RegisterBlock(freezer);
  284.  ModLoader.RegisterTileEntity(net.minecraft.src.TileEntityFreezer.class, "Freezer");
  285.  //Textures
  286.  Crystal.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/Oxide/Crystal.png");
  287.  PolystyreneFoam.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/Oxide/Polystyrene.png");
  288.  MoonRock.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/Oxide/MoonRock.png");
  289.  Oil.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/Oil.png");
  290.  Saltpetre.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/Saltpetre.png");
  291.  Crystal1.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/Crystal.png");
  292.  LargeIce.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/LargeIce.png");
  293.  PolystyrenePiece .iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyrenePiece.png");
  294.  polystyrenePick.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyrenePick.png");
  295.  polystyreneShovel.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyreneSpade.png");
  296.  polystyreneAxe.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyreneAxe.png");
  297.  polystyreneHoe.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyreneHoe.png");
  298.  polystyreneSword.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyreneSword.png");
  299. //Recipe  
  300. ModLoader.AddRecipe(new ItemStack(PolystyreneFoam, 1), new Object[]{ " P ", "P P", " P ", Character.valueOf('P'),  mod_NewAge.PolystyrenePiece});
  301. ModLoader.AddRecipe(new ItemStack(polystyrenePick, 1), new Object[] { "PPP", " | ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
  302.     Character.valueOf('|'), Item.stick});
  303. ModLoader.AddRecipe(new ItemStack(polystyreneShovel, 1), new Object[] { " P ", " | ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
  304.     Character.valueOf('|'), Item.stick});
  305. ModLoader.AddRecipe(new ItemStack(polystyreneAxe, 1), new Object[] { "PP ", "P| ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
  306.     Character.valueOf('|'), Item.stick});
  307. ModLoader.AddRecipe(new ItemStack(polystyreneHoe, 1), new Object[] { "PP ", " | ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
  308.     Character.valueOf('|'), Item.stick});
  309. ModLoader.AddRecipe(new ItemStack(polystyreneSword, 1), new Object[] { " P ", " P ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
  310.     Character.valueOf('|'), Item.stick});
  311. ModLoader.AddRecipe(new ItemStack(extractor, 1), new Object [] { "CCC", "CGC", "CDC", Character.valueOf('C'), Block.cobblestone,
  312.     Character.valueOf('G'), Block.glass, Character.valueOf('D'), Item.diamond});  
  313. ModLoader.AddRecipe(new ItemStack(freezer, 1), new Object [] { "III", "IBI", "IRI", Character.valueOf('I'), Item.ingotIron,
  314.     Character.valueOf('B'), Item.bucketWater, Character.valueOf('R'), Item.redstone});
  315. ModLoader.AddRecipe(new ItemStack(Block.ice, 24), new Object[] { "I", Character.valueOf('I'), mod_NewAge.LargeIce});
  316. }
  317. }
Add Comment
Please, Sign In to add comment