Advertisement
Mazetar

PortalBlock.java

Feb 3rd, 2013
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.94 KB | None | 0 0
  1. package skycraft.blocks;
  2.  
  3. import java.util.Iterator;
  4. import java.util.List;
  5. import java.util.Random;
  6. import net.minecraft.block.Block;
  7. import net.minecraft.block.material.Material;
  8. import net.minecraft.entity.Entity;
  9. import net.minecraft.entity.item.EntityItem;
  10. import net.minecraft.entity.player.EntityPlayerMP;
  11. import net.minecraft.item.Item;
  12. import net.minecraft.item.ItemMonsterPlacer;
  13. import net.minecraft.item.ItemStack;
  14. import net.minecraft.util.AxisAlignedBB;
  15. import net.minecraft.world.IBlockAccess;
  16. import net.minecraft.world.World;
  17. import skycraft.SkyCraft;
  18. import skycraft.SkyCraftBlocks;
  19. import skycraft.core.client.ClientProxySkyCraft;
  20. import skycraft.core.common.CommonProxySkyCraft;
  21. import skycraft.skydimension.SkyTeleporter;
  22. import cpw.mods.fml.relauncher.Side;
  23. import cpw.mods.fml.relauncher.SideOnly;
  24.  
  25. public class PortalBlock extends Block
  26. {
  27.    public PortalBlock(int id, int texture, Material material)
  28.     {
  29.        super(id, texture, material);
  30.        this.setBlockName("Portal");
  31.        this.setStepSound(Block.soundGlassFootstep);
  32.        this.setLightValue(0.75F);
  33.        this.setHardness(-1.0F);
  34.        this.setCreativeTab(SkyCraft.tabSkyCraftBlocks);
  35.        this.setTickRandomly(true);
  36.     }
  37.  
  38.    public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
  39.    {
  40.       if (par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null)
  41.       {
  42.          if (par5Entity instanceof EntityPlayerMP)
  43.          {
  44.          
  45.          }
  46.          EntityPlayerMP thePlayer = (EntityPlayerMP) par5Entity;
  47.          if (par5Entity.dimension != SkyCraft.dimension)
  48.          {
  49.             thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, SkyCraft.dimension, new SkyTeleporter(thePlayer.mcServer.worldServerForDimension(SkyCraft.dimension)));
  50.          }
  51.          else
  52.          {
  53.             thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, 0, new SkyTeleporter(thePlayer.mcServer.worldServerForDimension(0)));
  54.          }
  55.       }
  56.    }
  57.    
  58.     public int getRenderBlockPass()
  59.     {
  60.         return 1;
  61.     }
  62.    
  63.     public boolean isOpaqueCube()
  64.     {
  65.         return false;
  66.     }
  67.    
  68.     public boolean renderAsNormalBlock()
  69.     {
  70.         return false;
  71.     }
  72.    
  73.     public int quantityDropped(Random par1Random)
  74.     {
  75.         return 0;
  76.     }
  77.    
  78.     //Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been cleared to be reused)
  79.     public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)
  80.     {
  81.         return null;
  82.     }
  83.  
  84.     //Updates the blocks bounds based on its current state. Args: world, x, y, z
  85.     public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
  86.     {
  87.         if (par1IBlockAccess.getBlockId(par2 - 1, par3, par4) != this.blockID && par1IBlockAccess.getBlockId(par2 + 1, par3, par4) != this.blockID)
  88.         {
  89.             this.setBlockBounds(0F, 0.4F, 0F, 1F, 0.6F, 1F);
  90.         }
  91.         else
  92.         {
  93.             this.setBlockBounds(0F, 0.4F, 0F, 1F, 0.6F, 1F);
  94.         }
  95.     }
  96.  
  97.     public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random)
  98.     {
  99.         for (int var6 = 0; var6 < 4; ++var6)
  100.         {
  101.             double var7 = (double)((float)par2 + par5Random.nextFloat());
  102.             double var9 = (double)((float)par3 + par5Random.nextFloat());
  103.             double var11 = (double)((float)par4 + par5Random.nextFloat());
  104.             double var13 = 0.0D;
  105.             double var15 = 0.0D;
  106.             double var17 = 0.0D;
  107.             int var19 = par5Random.nextInt(2) * 2 - 1;
  108.             var13 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D;
  109.             var15 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D;
  110.             var17 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D;
  111.  
  112.             if (par1World.getBlockId(par2 - 1, par3, par4) != this.blockID && par1World.getBlockId(par2 + 1, par3, par4) != this.blockID)
  113.             {
  114.                 var7 = (double)par2 + 0.5D + 0.25D * (double)var19;
  115.                 var13 = (double)(par5Random.nextFloat() * 2.0F * (float)var19);
  116.             }
  117.             else
  118.             {
  119.                 var11 = (double)par4 + 0.5D + 0.25D * (double)var19;
  120.                 var17 = (double)(par5Random.nextFloat() * 2.0F * (float)var19);
  121.             }
  122.  
  123.         }
  124.     }
  125.    
  126.     //Pistons can move block = 0
  127.     //Pistons can move on top of block = 1
  128.     //Pistons can't move at all = 2
  129.     public int getMobilityFlag()
  130.     {
  131.         return 2;
  132.     }
  133.    
  134.     //Only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem
  135.     public int idPicked(World par1World, int par2, int par3, int par4)
  136.     {
  137.         return 0;
  138.     }
  139.    
  140.     public String getTextureFile()
  141.     {
  142.         return CommonProxySkyCraft.Blocks_PNG;
  143.     }
  144.  
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement