Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.minecraft.src;
- import java.util.Random;
- // Referenced classes of package net.minecraft.src:
- // BlockContainer, Material, Block, World,
- // IBlockAccess, TileEntityFurnace, EntityPlayer, TileEntity,
- // EntityLiving, MathHelper, IInventory, ItemStack,
- // EntityItem
- public class BlockFreezer extends BlockContainer
- {
- private World world;
- private int x, y, z;
- private byte faceDirection;
- private void setFaceDirection(byte direction)
- {
- faceDirection = direction;
- world.setBlockMetadataWithNotify(x, y, z, faceDirection);
- }
- protected BlockFreezer(int i, boolean flag)
- {
- super(i, Material.ground);
- freezerRand = new Random();
- isActive = flag;
- }
- public int idDropped(int i, Random random)
- {
- return mod_NewAge.freezer.blockID;
- }
- public void onBlockAdded(World world, int x, int y, int z)
- {
- super.onBlockAdded(world, x, y, z);
- this.world = world;
- setDefaultDirection(world, x, y, z);
- }
- private void setDefaultDirection(World world, int x, int y, int z)
- {
- if(world.multiplayerWorld)
- {
- return;
- }
- int leftBlock = world.getBlockId(x, y, z - 1);
- int rightBlock = world.getBlockId(x, y, z + 1);
- int backBlock = world.getBlockId(x - 1, y, z);
- int frontBlock = world.getBlockId(x + 1, y, z);
- byte faceDirection = 3; // Right
- if(Block.opaqueCubeLookup[leftBlock] && !Block.opaqueCubeLookup[rightBlock])
- {
- faceDirection = 3; // Right (Towards z)
- }
- if(Block.opaqueCubeLookup[rightBlock] && !Block.opaqueCubeLookup[leftBlock])
- {
- faceDirection = 2; // Left (Away from z)
- }
- if(Block.opaqueCubeLookup[backBlock] && !Block.opaqueCubeLookup[frontBlock])
- {
- faceDirection = 5; // Front (Towards x)
- }
- if(Block.opaqueCubeLookup[frontBlock] && !Block.opaqueCubeLookup[backBlock])
- {
- faceDirection = 4; // Back (Away from x)
- }
- setFaceDirection(faceDirection);
- }
- public int getBlockTextureFromSide(int side)
- {
- if(side == 1)
- {
- return mod_NewAge.freezerTopBottom;
- }
- if(side == 0)
- {
- return mod_NewAge.freezerTopBottom;
- }
- switch (faceDirection)
- {
- case 2 : // Away from z
- switch (side)
- {
- case 2 : // Away from z (Relative front)
- return mod_NewAge.freezerFront;
- case 3 : // Towards z (Relative back)
- return mod_NewAge.freezerBack;
- case 4 : // Away from x (Relative right)
- return mod_NewAge.freezerRight;
- case 5 : // Towards x (Relative left)
- return mod_NewAge.freezerLeft;
- }
- case 3 : // Towards z
- switch (side)
- {
- case 2 : // Away from z (Relative back)
- return mod_NewAge.freezerBack;
- case 3 : // Towards z (Relative front)
- return mod_NewAge.freezerFront;
- case 4 : // Away from x (Relative left)
- return mod_NewAge.freezerLeft;
- case 5 : // Towards x (Relative right)
- return mod_NewAge.freezerRight;
- }
- case 4 : // Away from x
- switch (side)
- {
- case 2 : // Away from z (Relative right)
- return mod_NewAge.freezerRight;
- case 3 : // Towards z (Relative left)
- return mod_NewAge.freezerLeft;
- case 4 : // Away from x (Relative front)
- return mod_NewAge.freezerFront;
- case 5 : // Towards x (Relative back)
- return mod_NewAge.freezerBack;
- }
- case 5 : // Towards x
- switch (side)
- {
- case 2 : // Away from z (Relative left)
- return mod_NewAge.freezerLeft;
- case 3 : // Towards z (Relative right)
- return mod_NewAge.freezerRight;
- case 4 : // Away from x (Relative back)
- return mod_NewAge.freezerBack;
- case 5 : // Towards x (Relative front)
- return mod_NewAge.freezerFront;
- }
- }
- }
- public boolean blockActivated(World world, int i, int j, int k, EntityPlayer entityplayer)
- {
- if(world.multiplayerWorld)
- {
- return true;
- } else
- {
- TileEntityFreezer tileentityfreezer = (TileEntityFreezer)world.getBlockTileEntity(i, j, k);
- ModLoader.OpenGUI(entityplayer, new GuiFreezer(entityplayer.inventory, tileentityfreezer));
- return true;
- }
- }
- public TileEntity getBlockEntity()
- {
- return new TileEntityFreezer();
- }
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving)
- {
- int l = MathHelper.floor_double((double)((entityliving.rotationYaw * 4F) / 360F) + 0.5D) & 3;
- if(l == 0)
- setFaceDirection((byte)2);
- if(l == 1)
- setFaceDirection((byte)5);
- if(l == 2)
- setFaceDirection((byte)3);
- if(l == 3)
- setFaceDirection((byte)4);
- }
- public void onBlockRemoval(World world, int i, int j, int k)
- {
- if(!keepFreezerInventory)
- {
- TileEntityFreezer tileentityfreezer = (TileEntityFreezer)world.getBlockTileEntity(i, j, k);
- label0:
- for(int l = 0; l < tileentityfreezer.getSizeInventory(); l++)
- {
- ItemStack itemstack = tileentityfreezer.getStackInSlot(l);
- if(itemstack == null)
- {
- continue;
- }
- float f = freezerRand.nextFloat() * 0.8F + 0.1F;
- float f1 = freezerRand.nextFloat() * 0.8F + 0.1F;
- float f2 = freezerRand.nextFloat() * 0.8F + 0.1F;
- do
- {
- if(itemstack.stackSize <= 0)
- {
- continue label0;
- }
- int i1 = freezerRand.nextInt(21) + 10;
- if(i1 > itemstack.stackSize)
- {
- i1 = itemstack.stackSize;
- }
- itemstack.stackSize -= i1;
- EntityItem entityitem = new EntityItem(world, (float)i + f, (float)j + f1, (float)k + f2, new ItemStack(itemstack.itemID, i1, itemstack.getItemDamage()));
- float f3 = 0.05F;
- entityitem.motionX = (float)freezerRand.nextGaussian() * f3;
- entityitem.motionY = (float)freezerRand.nextGaussian() * f3 + 0.2F;
- entityitem.motionZ = (float)freezerRand.nextGaussian() * f3;
- world.entityJoinedWorld(entityitem);
- } while(true);
- }
- }
- super.onBlockRemoval(world, i, j, k);
- }
- private Random freezerRand;
- private final boolean isActive;
- private static boolean keepFreezerInventory = false;
- }
- package net.minecraft.src;
- public class mod_NewAge extends BaseMod{
- //Properties
- public static Block PolystyreneFoam = new BlockPolystyreneFoam(166, 0).setHardness(1.0F).setResistance(1.0F).setBlockName("Polystyrene");
- public static Block MoonRock = new BlockMoonRock(167, 0).setHardness(1.0F).setResistance(1.0F).setBlockName("MoonRock");
- public static Block Crystal = new BlockCrystal(168, 0).setHardness(1.0F).setResistance(1.0F).setBlockName("Crystal");
- public static Block extractor = new BlockExtractor(165, false).setHardness(1.0F).setResistance(0F).setStepSound(Block.soundMetalFootstep).setBlockName("extractor");
- public static int extractorSide = ModLoader.addOverride("/terrain.png", "/Oxide/Extractor.png");
- public static int extractorFront = ModLoader.addOverride("/terrain.png", "/Oxide/ExtractorFront.png");
- public static Block freezer = new BlockFreezer(169, false).setHardness(1.0F).setResistance(0F).setStepSound(Block.soundMetalFootstep).setBlockName("extractor");
- public static int freezerRight = ModLoader.addOverride("/terrain.png", "/Oxide/Freezer.png");
- public static int freezerTopBottom = ModLoader.addOverride("/terrain.png", "/Oxide/Freezer1.png");
- public static int freezerLeft = ModLoader.addOverride("/terrain.png", "/Oxide/Freezer2.png");
- public static int freezerFront = ModLoader.addOverride("/terrain.png", "/Oxide/FreezerFront.png");
- public static int freezerBack = ModLoader.addOverride("/terrain.png", "/Oxide/FreezerBack.png");
- public static Item LargeIce = new Item(1009).setItemName("LargeIce");
- public static Item Oil = new Item(1000).setItemName("Oil");
- public static Item PolystyrenePiece = new Item(1001).setItemName("PolystyrenePiece");
- public static Item Saltpetre = new Item(1002).setItemName("Saltpetre");
- public static Item Crystal1 = new Item(1008).setItemName("Crystal");
- public static final Item polystyrenePick = new ItemPickaxe(1003, EnumToolMaterial.IRON).setItemName("polystyrenepick");
- public static final Item polystyreneShovel = new ItemSpade(1004, EnumToolMaterial.IRON).setItemName("polystyreneshovel");
- public static final Item polystyreneAxe = new ItemAxe(1005, EnumToolMaterial.IRON).setItemName("polystyreneaxe");
- public static final Item polystyreneHoe = new ItemHoe(1006, EnumToolMaterial.IRON).setItemName("polystyrenehoe");
- public static final Item polystyreneSword = new ItemSword(1007, EnumToolMaterial.IRON).setItemName("polystyrenesword");
- public String Version()
- {
- return "New Age 1.0 for 1.8.1";
- }
- public mod_NewAge()
- {
- //inGameName
- ModLoader.AddName(Oil, "Oil");
- ModLoader.AddName(PolystyreneFoam, "Polystyrene");
- ModLoader.AddName(PolystyrenePiece , "PolystyrenePiece");
- ModLoader.AddName(extractor, "Extractor");
- ModLoader.AddName(freezer, "Freezer");
- ModLoader.AddName(polystyrenePick, "Polystyrene Pickaxe");
- ModLoader.AddName(polystyreneShovel, "Polystyrene Shovel");
- ModLoader.AddName(polystyreneAxe, "Polystyrene Axe");
- ModLoader.AddName(polystyreneHoe, "Polystyrene Hoe");
- ModLoader.AddName(polystyreneSword, "Polystyrene Sword");
- ModLoader.AddName(MoonRock, "Moon Rock");
- ModLoader.AddName(Crystal, "Quartz");
- ModLoader.AddName(Crystal1, "Quartz");
- ModLoader.AddName(LargeIce, "Large Block of Ice");
- //Register
- ModLoader.RegisterBlock(MoonRock);
- ModLoader.RegisterBlock(Crystal);
- ModLoader.RegisterBlock(PolystyreneFoam);
- ModLoader.RegisterBlock(extractor);
- ModLoader.RegisterTileEntity(net.minecraft.src.TileEntityExtractor.class, "Extractor");
- ModLoader.RegisterBlock(freezer);
- ModLoader.RegisterTileEntity(net.minecraft.src.TileEntityFreezer.class, "Freezer");
- //Textures
- Crystal.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/Oxide/Crystal.png");
- PolystyreneFoam.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/Oxide/Polystyrene.png");
- MoonRock.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/Oxide/MoonRock.png");
- Oil.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/Oil.png");
- Saltpetre.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/Saltpetre.png");
- Crystal1.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/Crystal.png");
- LargeIce.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/LargeIce.png");
- PolystyrenePiece .iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyrenePiece.png");
- polystyrenePick.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyrenePick.png");
- polystyreneShovel.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyreneSpade.png");
- polystyreneAxe.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyreneAxe.png");
- polystyreneHoe.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyreneHoe.png");
- polystyreneSword.iconIndex = ModLoader.addOverride("/gui/items.png", "/Oxide/PolystyreneSword.png");
- //Recipe
- ModLoader.AddRecipe(new ItemStack(PolystyreneFoam, 1), new Object[]{ " P ", "P P", " P ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece});
- ModLoader.AddRecipe(new ItemStack(polystyrenePick, 1), new Object[] { "PPP", " | ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
- Character.valueOf('|'), Item.stick});
- ModLoader.AddRecipe(new ItemStack(polystyreneShovel, 1), new Object[] { " P ", " | ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
- Character.valueOf('|'), Item.stick});
- ModLoader.AddRecipe(new ItemStack(polystyreneAxe, 1), new Object[] { "PP ", "P| ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
- Character.valueOf('|'), Item.stick});
- ModLoader.AddRecipe(new ItemStack(polystyreneHoe, 1), new Object[] { "PP ", " | ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
- Character.valueOf('|'), Item.stick});
- ModLoader.AddRecipe(new ItemStack(polystyreneSword, 1), new Object[] { " P ", " P ", " | ", Character.valueOf('P'), mod_NewAge.PolystyrenePiece,
- Character.valueOf('|'), Item.stick});
- ModLoader.AddRecipe(new ItemStack(extractor, 1), new Object [] { "CCC", "CGC", "CDC", Character.valueOf('C'), Block.cobblestone,
- Character.valueOf('G'), Block.glass, Character.valueOf('D'), Item.diamond});
- ModLoader.AddRecipe(new ItemStack(freezer, 1), new Object [] { "III", "IBI", "IRI", Character.valueOf('I'), Item.ingotIron,
- Character.valueOf('B'), Item.bucketWater, Character.valueOf('R'), Item.redstone});
- ModLoader.AddRecipe(new ItemStack(Block.ice, 24), new Object[] { "I", Character.valueOf('I'), mod_NewAge.LargeIce});
- }
- }
Add Comment
Please, Sign In to add comment