Advertisement
Guest User

Untitled

a guest
Jul 12th, 2014
780
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. package com.zombiekiller753.tutorial.util.message;
  2.  
  3. import net.minecraft.server.v1_7_R3.ChatSerializer;
  4. import net.minecraft.server.v1_7_R3.NBTTagCompound;
  5. import net.minecraft.server.v1_7_R3.PacketPlayOutOpenSignEditor;
  6. import net.minecraft.server.v1_7_R3.PacketPlayOutTileEntityData;
  7. import net.minecraft.server.v1_7_R3.TileEntityCommand;
  8.  
  9. import org.bukkit.Location;
  10. import org.bukkit.Material;
  11. import org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer;
  12. import org.bukkit.entity.Player;
  13.  
  14. public class CommandBlockGUI extends MessageGUI {
  15. private String def;
  16.  
  17. public CommandBlockGUI(Player p, String message) {
  18. super(p, MessageType.COMMAND_BLOCK, null);
  19. this.p = p;
  20. this.def = message;
  21. createCommandBlockGUI("", "");
  22. }
  23.  
  24. public CommandBlockGUI(Player p, MessageHandler handler, String def) {
  25. super(p, MessageType.COMMAND_BLOCK, handler);
  26. this.def = def;
  27. }
  28.  
  29. @Override
  30. public MessageGUI start() {
  31. this.createCommandBlockGUI("", "");
  32. return this;
  33. }
  34.  
  35. @Override
  36. public MessageGUI start(String placeholder, String message) {
  37. this.createCommandBlockGUI(placeholder, message);
  38. return this;
  39. }
  40.  
  41. protected void createCommandBlockGUI(String placeholder, String m) {
  42. Location l = p.getLocation().add(0, 0, 0);
  43. TileEntityCommand cmd = new TileEntityCommand();
  44. cmd.a().a(placeholder);
  45. cmd.a().b(ChatSerializer.a("{text:\"" + m + "\"}"));
  46. cmd.a().e = def;
  47. p.sendBlockChange(l, Material.COMMAND.getId(), (byte) 0);
  48. NBTTagCompound nbt = new NBTTagCompound();
  49. cmd.b(nbt);
  50. ((CraftPlayer) p).getHandle().playerConnection.sendPacket(new PacketPlayOutTileEntityData(l.getBlockX(), l.getBlockY(), l.getBlockZ(), 2, nbt));
  51. ((CraftPlayer) p).getHandle().playerConnection.sendPacket(new PacketPlayOutOpenSignEditor(l.getBlockX(), l.getBlockY(), l.getBlockZ()));
  52. p.sendBlockChange(l, l.getBlock().getType().getId(), l.getBlock().getData());
  53. }
  54.  
  55. @Override
  56. protected void callback(String response) {
  57. CommandBlockEvent e = new CommandBlockEvent(response);
  58. this.handler.onMessageReceived(e);
  59. if (!e.isCancelled() && !e.isComplete()) {
  60. this.messages.add(e.getMessage());
  61. }
  62. if (!e.isComplete()) {
  63. this.start(e.getPlaceholder(), e.getInformation());
  64. } else {
  65. this.handler.onComplete(new MessageCompleteEvent(this.messages));
  66. }
  67. }
  68.  
  69. public class CommandBlockEvent extends MessageReceivedEvent {
  70. private String placeholder = "";
  71. private String information = "";
  72.  
  73. public CommandBlockEvent(String message) {
  74. super(message);
  75. }
  76.  
  77. public void setPlaceholder(String message) {
  78. this.placeholder = message;
  79. }
  80.  
  81. public String getPlaceholder() {
  82. return placeholder;
  83. }
  84.  
  85. public void setInformation(String message) {
  86. this.information = message;
  87. }
  88.  
  89. public String getInformation() {
  90. return information;
  91. }
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement