Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void spawnCorpse(Player player, int currentEntId) {
- PacketPlayOutNamedEntitySpawn npc = new PacketPlayOutNamedEntitySpawn(
- ((CraftPlayer) player).getHandle());
- PacketPlayOutBed sleep = new PacketPlayOutBed();
- PacketPlayOutEntityEquipment helmet = new PacketPlayOutEntityEquipment(
- this.currentEntId, 1, CraftItemStack.asNMSCopy(player
- .getInventory().getHelmet()));
- PacketPlayOutEntityEquipment chestplate = new PacketPlayOutEntityEquipment(
- this.currentEntId, 2, CraftItemStack.asNMSCopy(player
- .getInventory().getChestplate()));
- PacketPlayOutEntityEquipment leggings = new PacketPlayOutEntityEquipment(
- this.currentEntId, 3, CraftItemStack.asNMSCopy(player
- .getInventory().getLeggings()));
- PacketPlayOutEntityEquipment boots = new PacketPlayOutEntityEquipment(
- this.currentEntId, 4, CraftItemStack.asNMSCopy(player
- .getInventory().getBoots()));
- PacketPlayOutRelEntityMove move = new PacketPlayOutRelEntityMove(
- this.currentEntId, (byte) 0, (byte) ((player.getLocation()
- .getY() - 1.7 - player.getLocation().getY()) * 32),
- (byte) 0, false);
- try {
- Field npca = npc.getClass().getDeclaredField("a");
- npca.setAccessible(true);
- npca.setInt(npc, this.currentEntId);
- npca.setAccessible(!npca.isAccessible());
- Field npch = npc.getClass().getDeclaredField("h");
- npch.setAccessible(true);
- npch.setInt(npc, Item.getId(Item.getItemOf(Blocks.RED_FLOWER)));
- npch.setAccessible(!npch.isAccessible());
- Field npcd = npc.getClass().getDeclaredField("d");
- npcd.setAccessible(true);
- npcd.setInt(npc, MathHelper.floor((player.getLocation().getY() + 2) * 32));
- npcd.setAccessible(!npcd.isAccessible());
- Field sleepa = sleep.getClass().getDeclaredField("a");
- sleepa.setAccessible(true);
- sleepa.setInt(sleep, this.currentEntId);
- sleepa.setAccessible(!sleepa.isAccessible());
- Field sleepb = sleep.getClass().getDeclaredField("b");
- sleepb.setAccessible(true);
- sleepb.setInt(sleep, (int) player.getLocation().getX());
- sleepb.setAccessible(!npca.isAccessible());
- Field sleepc = sleep.getClass().getDeclaredField("c");
- sleepc.setAccessible(true);
- sleepc.setInt(sleep, (int) player.getLocation().getY());
- sleepc.setAccessible(!sleepc.isAccessible());
- Field sleepd = sleep.getClass().getDeclaredField("d");
- sleepd.setAccessible(true);
- sleepd.setInt(sleep, (int) player.getLocation().getZ());
- sleepd.setAccessible(!sleepd.isAccessible());
- Field npcf = npc.getClass().getDeclaredField("f");
- npcf.setAccessible(true);
- npcf.setByte(npc, (byte) (145 * 256.0F / 360.0F));
- npcf.setAccessible(!npcf.isAccessible());
- Field npcg = npc.getClass().getDeclaredField("g");
- npcg.setAccessible(true);
- npcg.setByte(npc, (byte) 0);
- npcg.setAccessible(!npcg.isAccessible());
- } catch (Exception x) {
- x.printStackTrace();
- }
- for (Player p : player.getWorld().getPlayers()) {
- if (p != player) {
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(npc);
- ((CraftPlayer) p).getHandle().playerConnection
- .sendPacket(helmet);
- ((CraftPlayer) p).getHandle().playerConnection
- .sendPacket(chestplate);
- ((CraftPlayer) p).getHandle().playerConnection
- .sendPacket(leggings);
- ((CraftPlayer) p).getHandle().playerConnection
- .sendPacket(boots);
- ((CraftPlayer) p).getHandle().playerConnection
- .sendPacket(sleep);
- ((CraftPlayer) p).getHandle().playerConnection.sendPacket(move);
- }
- }
- this.currentEntId++;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement