LexManos

Forge getSpawnPacket function

Feb 10th, 2012
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.12 KB | None | 0 0
  1.     public static Packet getEntitySpawnPacket(Entity entity)
  2.     {
  3.         EntityTrackerInfo info = MinecraftForge.getEntityTrackerInfo(entity, false);
  4.         if (info == null)
  5.         {
  6.             return null;
  7.         }
  8.         ByteArrayOutputStream bytes = new ByteArrayOutputStream();
  9.         DataOutputStream data = new DataOutputStream(bytes);
  10.         try {
  11.             data.writeInt(FORGE_PACKET_SPAWN);
  12.             data.writeInt(info.Mod.toString().hashCode());
  13.             data.writeInt(info.ID);
  14.             if (entity instanceof IOwnableEntity)
  15.             {
  16.                 Entity owner = ((IOwnableEntity)entity).getOwner();
  17.                 data.writeInt(owner == null ? 0 : owner.entityId);
  18.             }
  19.             if (entity instanceof ISpawnHandler)
  20.             {
  21.                 ((ISpawnHandler)entity).writeSpawnData(data);
  22.             }
  23.             data.flush();
  24.         }
  25.         catch (IOException e)
  26.         {
  27.             e.printStackTrace();
  28.         }
  29.        
  30.         Packet250CustomPayload pkt = new Packet250CustomPayload();
  31.         pkt.channel = "Forge";
  32.         pkt.data = bytes.toByteArray();
  33.         pkt.length = pkt.data.length;
  34.         return pkt;
  35.     }
Advertisement
Add Comment
Please, Sign In to add comment