mrjaime1999

Untitled

Sep 10th, 2016
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. public final class Test extends JavaPlugin {
  2. private ProtocolManager manager;
  3.  
  4. @Override
  5. public void onEnable() {
  6. manager = ProtocolLibrary.getProtocolManager();
  7. }
  8.  
  9. @Override
  10. public void onDisable() {
  11.  
  12. }
  13.  
  14. @Override
  15. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  16. if (sender instanceof Player) {
  17. Player player = (Player) sender;
  18. sendSignEdit(player, "Hello", "there", "my", "friend");
  19. } else {
  20. sender.sendMessage("This command can only be executed by a player");
  21. }
  22. return true;
  23. }
  24.  
  25. public void sendSignEdit(Player player, String... lines) {
  26. BlockPosition position = new BlockPosition(100, 100, 100);
  27.  
  28. PacketContainer blockPacket = manager.createPacket(PacketType.Play.Server.BLOCK_CHANGE);
  29. blockPacket.getBlockPositionModifier().write(0, position);
  30. blockPacket.getBlockData().write(0, WrappedBlockData.createData(Material.SIGN_POST));
  31.  
  32. PacketContainer dataPacket = manager.createPacket(PacketType.Play.Server.TILE_ENTITY_DATA);
  33. dataPacket.getBlockPositionModifier().write(0, position);
  34. dataPacket.getIntegers().write(0, 9);
  35.  
  36. NbtCompound compound = (NbtCompound) dataPacket.getNbtModifier().read(0);
  37. for(int i = 0; i < 4; i++) {
  38. compound.put("Text" + (i + 1), "{\"extra\":[{\"text\":\"" + lines[i] + "\"}],\"text\":\"\"}");
  39. }
  40. dataPacket.getNbtModifier().write(0, compound);
  41.  
  42. PacketContainer editorPacket = manager.createPacket(PacketType.Play.Server.OPEN_SIGN_EDITOR);
  43. editorPacket.getBlockPositionModifier().write(0, position);
  44.  
  45. try {
  46. manager.sendServerPacket(player, blockPacket);
  47. manager.sendServerPacket(player, dataPacket);
  48. manager.sendServerPacket(player, editorPacket);
  49. } catch (InvocationTargetException e) {
  50. e.printStackTrace();
  51. }
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment