SieuDoge

lithuyet

Apr 8th, 2020
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.64 KB | None | 0 0
  1. Phần Hướng dẫn Project chưa ghi :v
  2.  
  3.  
  4.  
  5. Event
  6. public class EventAmen implements Listener {
  7. khai báo 1 class có tên là EventAmen thuộc kiểu implements Listener (kiểu này là kiểu dành cho Class)
  8. nếu không muốn tách ra 2 class riêng biệt thì có thể xài
  9. public class Main extends JavaPlugin implements Listener {
  10. nhưng mà khuyên là không nên vì đơn giản là dài dòng, khi 2 cái ko liên quan ở chung 1 class là (1), rối rắm khi sử dụng nhiều hơn 1 event là (2)
  11. mà nếu code Event ở 1 class khác mà không phải class chính thì cần phải đăng ký event đó bên class chính
  12. this.getServer().getPluginManager().registerEvents(new EventAmen(), this);
  13.  
  14. đó là cú pháp đăng ký Event ở class chính D:
  15.  
  16. Player player = event.getPlayer();
  17. Player player = event.getPlayer();
  18. nghĩa là gán biến "player" thuộc kiểu dữ liệu player
  19. lấy dự liệu từ player ở sự kiện (event)
  20. có thể gán biến khác p...
  21. boolean DaVao = player.hasPlayedBefore();
  22. giới thiệu qua cái biến boolean
  23. boolean ở đây nghĩa là biến 1 trong 2
  24. cái dạng mà true vs false thì đó là biến boolean đó
  25. boolean DaVao = player.hasPlayedBefore();
  26. giới thiệu qua cái biến boolean
  27. boolean ở đây nghĩa là biến 1 trong 2
  28. cái dạng mà true vs false thì đó là biến boolean đó
  29. nếu người chơi đã vào trước đó
  30. thì ngán biến DaVao
  31. gán cái dữ liệu "nếu player đã vào trước đó" vào cái biến "DaVao"
  32. nói chung là làm cho nó ngắn gọn thôi
  33. if(!DaVao) {
  34. cái ! nói rồi đúng ko, nghĩa là ngược lại
  35. trong biến boolean ngược lại của cái này chỉ có thể là cái kia
  36. if (!DaVao) {
  37. nếu
  38. Người chơi CHƯA VÀO TRƯỚC ĐÓ
  39. event.setJoinMessage(ChatColor.YELLOW + player.getName() + " lần đầu chơi Gum");
  40. nó sẽ xảy ra 1 sự kiện là set cái tin nhắn vào là Tên Player lần đầu chơi Gum
  41. bình thường cái tin nhắn mặc định của minecraft là SieuDoge has join server gì đó
  42. thì code nó sẽ xét, nếu thằng này chưa chịch gum (chưa vào lần nào) thì nó sẽ đổi lại cái tin nhắn SieuDoge has join server thành "Lần đầu chơi gum"
  43. nên ta có event.setJoinMessage
  44. } else {
  45. ngược lại
  46. ngược lại của cái chưa vào trước đó nghĩa là vào trước đó rồi
  47. player.sendMessage(ChatColor.BLUE + "Chào mừng quay trở lại với trải nghiệm bị con gái");
  48. player.sendMessage đơn giản là gửi tin nhắn cho Player thôi
  49. nếu ở cái Player player = event.getPlayer(); mà thay player = p thì ta có p.sendMessage đơn giản là gửi tin nhắn cho Player thôi
  50. còn cái @EventHandler đơn giản là 1 cái nhãn mác để nó biết đây là dạng public event thôi
  51. @Override ||| Commands
  52. cũng giống như @EventHandler
  53. cái này nó dùng như 1 cái nhãn mác để Spigot nó hiểu
  54. @Override thường đc sử dụng ở command và onEnable onDisable
  55. hiện tại thì ông chưa xài @Override cho onEnable onDisable vì ông chưa học tới config :v
  56. cứ hiểu @Override là nguyên tắc cho command giống như 1+1 phải = 2 đó
  57. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  58. tui hiểu đơn giản nó là cú pháp để khai báo command thôi
  59. tiếp
  60. if (cmd.getName().equalsIgnoreCase("AdvChestCommands")) {
  61. nếu
  62. nó sẽ lấy dữ liệu từ cmd, equals Ignore Case nghĩa là ko phân biệt chữ hoa chữ thường
  63. nó lấy tên của command không phân biệt chữ hoa hay chữ thường
  64. nếu đúng là "AdvChestCommands"
  65. là sang phần kế tiếp
  66. ở đây Player p = (Player) sender;
  67. cái này cũng giống như Player player = event.getPlayer(); vậy đó
  68. mà cái kia là dành cho event
  69. còn cái này dành cho cái khác không phải event
  70. sender là người gửip.sendTitle("§dCái này là Tittle", "§fCái này là subtittle", 10, 20, 10);
  71. return true;
  72. nghĩa là nó xét tới đó nó sẽ dừng lại nó không xét thêm nữa
  73. ví dụ:
  74. giờ mình có 2 cái command khác nhau
  75. /chaoem
  76. 1 cái là
  77. /chaoem vuemtoqua
  78. bây giờ
  79. sau khi nhập cái /chaoem thì nó thực hiện đến cuối, nếu là return true nó sẽ dừng lại không cần xét tới cái /chaoem vuemtoqua nữa, còn nếu return false; nó sẽ tiếp tục xét, lúc này /chaoem khác với /chaoem vuemtoqua nên nó sẽ sinh lỗi
  80. Vì vậy nên là
  81. Ở CUỐI CÁC CÂU LỆNH BẮT BUỘC PHẢI RETURN TRUE;
  82. NHƯNG Ở CUỐI PUBLIC COMMAND BẮT BUỘC PHẢI RETURN FALSE;
Advertisement
Add Comment
Please, Sign In to add comment