SHARE
TWEET

Untitled

a guest Aug 12th, 2017 59 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package net.minecraft.src;
  2.  
  3. public class TileEntityDragonEgg extends TileEntity
  4. {
  5.    
  6.     public TileEntityDragonEgg()
  7.     {
  8.         eggTime = 0;
  9.         dragonNumber = -1;
  10.         child = null;
  11.     }
  12.    
  13.     public void updateEntity()
  14.     {
  15.         dragonID();
  16.         if(worldObj.rand.nextInt(5) == 0) {
  17.             eggTime++;
  18.         }
  19.         if(eggTime >= 23000) {
  20.             hatchEgg(xCoord, yCoord, zCoord);
  21.         }
  22.     }
  23.    
  24.     public void dragonID()
  25.     {
  26.         switch(dragonNumber) {
  27.             case 0: child = new EntityDragon(worldObj); break;
  28.             case 1: child = new EntityDragonGreen(worldObj); break;
  29.             case 2: child = new EntityDragonE2(worldObj); break;
  30.             default: child = null; break;
  31.         }
  32.     }
  33.    
  34.     public void hatchEgg(int i, int j , int k)
  35.     {
  36.         if(child != null) {
  37.             child.setPosition((double)xCoord, (double)yCoord, (double)zCoord);
  38.             worldObj.entityJoinedWorld(child);
  39.             worldObj.playSoundAtEntity(child, "hatch", 1.0F, 0.8F);
  40.             child.isOffspring = true;
  41.             child.bodySize = 0.4F;
  42.             for(int ii = 0; ii < worldObj.loadedEntityList.size(); ii++) {
  43.                 Entity e = (Entity)worldObj.loadedEntityList.get(ii);
  44.                 if(!(e instanceof EntityDragon)) {
  45.                     continue;
  46.                 }
  47.                 EntityDragon dragon = (EntityDragon)e;
  48.                 EntityDragon dragon2 = (EntityDragon)e;
  49.                 double dist1 = dragon.getDistance(child.posX, child.posY, child.posZ);
  50.                 double dist2 = dragon2.getDistance(child.posX, child.posY, child.posZ);
  51.                 if((dist1 < dist2) && ((dist1 < 25D) || (dist2 < 25D))) {
  52.                     child.mother = dragon;
  53.                     child.isTamed = dragon.isTamed;
  54.                 } else {
  55.                     child.mother = dragon2;
  56.                     child.isTamed = dragon2.isTamed;
  57.                 }
  58.             }
  59.         }
  60.         worldObj.setBlockAndMetadataWithNotify(xCoord, yCoord, zCoord, 0, 0);
  61.     }
  62.    
  63.     public void writeToNBT(NBTTagCompound nbttagcompound)
  64.     {
  65.         super.writeToNBT(nbttagcompound);
  66.         nbttagcompound.setInteger("eggTime", eggTime);
  67.         nbttagcompound.setShort("dragonNumber", dragonNumber);
  68.     }
  69.    
  70.     public void readFromNBT(NBTTagCompound nbttagcompound)
  71.     {
  72.         super.readFromNBT(nbttagcompound);
  73.         eggTime = nbttagcompound.getInteger("eggTime");
  74.         dragonNumber = nbttagcompound.getShort("dragonNumber");
  75.     }
  76.    
  77.     public int eggTime;
  78.     public short dragonNumber;
  79.     public EntityDragon child;
  80. }
RAW Paste Data
Top