Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.13 KB | None | 0 0
  1. package net.tererun.plugin.commandlog.commandlog;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.command.Command;
  6. import org.bukkit.command.CommandSender;
  7. import org.bukkit.configuration.file.FileConfiguration;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  12. import org.bukkit.event.player.PlayerJoinEvent;
  13. import org.bukkit.plugin.java.JavaPlugin;
  14. import org.bukkit.scoreboard.DisplaySlot;
  15. import org.bukkit.scoreboard.Objective;
  16. import org.bukkit.scoreboard.Score;
  17. import org.bukkit.scoreboard.Scoreboard;
  18. import org.bukkit.scoreboard.ScoreboardManager;
  19.  
  20. public final class CommandLog extends JavaPlugin implements Listener {
  21.  
  22. @Override
  23. public void onEnable() {
  24. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  25. this.getLogger().info("tererun / てれるん の CommandLog Plugin が起動されました。");
  26. this.saveDefaultConfig();
  27.  
  28. }
  29.  
  30. @EventHandler
  31. public void onPlayerJoin(PlayerJoinEvent e) {
  32.  
  33. ScoreboardManager sm = Bukkit.getScoreboardManager();
  34. Scoreboard board = sm.getNewScoreboard();
  35. Objective objective = board.getObjective("logtoggle");
  36. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
  37. Score score = objective.getScore(e.getPlayer().getName());
  38. score.setScore(0);
  39.  
  40. e.getPlayer().setScoreboard(board);
  41.  
  42. }
  43.  
  44. @EventHandler
  45. public void onCommandSend(PlayerCommandPreprocessEvent e) {
  46. for (Player player : Bukkit.getOnlinePlayers()) {
  47. if (player.getScoreboard().getObjective("logtoggle").getScore(player.getName()).getScore() == 1) {
  48. if (player.hasPermission("cmdlog.mes")) {
  49. player.sendMessage(ChatColor.GRAY + "[CommandLog]" + e.getPlayer().getName() + ": " + e.getMessage());
  50. }
  51. }
  52. }
  53. }
  54.  
  55. @Override
  56. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
  57.  
  58. if (cmd.getName().equalsIgnoreCase("cmdlog")) {
  59. if (sender.hasPermission("cmdlog.cmd")) {
  60. if (args.length == 0) {
  61. sender.sendMessage(ChatColor.WHITE + "----- " + ChatColor.GOLD + "" + ChatColor.BOLD + "CommandLog Plugin" + ChatColor.WHITE + " -----");
  62. sender.sendMessage(ChatColor.GREEN + "/cmdlog: " + ChatColor.WHITE + "このヘルプを表示します。");
  63. sender.sendMessage(ChatColor.GREEN + "/cmdlog toggle: " + ChatColor.WHITE + "コマンドログを表示するかをトグルします。");
  64. sender.sendMessage(ChatColor.GREEN + "/cmdlog reload: " + ChatColor.WHITE + "コマンドログをリロードします。");
  65. return true;
  66. }
  67.  
  68. if (args.length != 0) {
  69.  
  70. if (args[0].equalsIgnoreCase("toggle")) {
  71. if (sender.hasPermission("cmdlog.cmd.toggle")) {
  72. Player player = (Player) sender;
  73.  
  74. ScoreboardManager sm = Bukkit.getScoreboardManager();
  75. Scoreboard board = sm.getNewScoreboard();
  76. Objective objective = board.getObjective("logtoggle");
  77.  
  78. Score score = objective.getScore(player.getName());
  79.  
  80. if (score.getScore() == 0) {
  81. score.setScore(1);
  82. }
  83.  
  84. if (score.getScore() == 1) {
  85. score.setScore(0);
  86. }
  87.  
  88. return true;
  89. } else {
  90. sender.sendMessage(ChatColor.DARK_RED + "あなたは必要なパーミッションをもっていません!");
  91. return true;
  92. }
  93. }
  94.  
  95. if (args[0].equalsIgnoreCase("reload")) {
  96. if (sender.hasPermission("cmdlog.cmd.reload")) {
  97. this.reloadConfig();
  98. this.saveDefaultConfig();
  99. sender.sendMessage(ChatColor.GOLD + "CommandLog のConfigがリロードされました。");
  100. return true;
  101. } else {
  102. sender.sendMessage(ChatColor.DARK_RED + "あなたは必要なパーミッションをもっていません!");
  103. return true;
  104. }
  105. }
  106.  
  107. return true;
  108. } else { sender.sendMessage(ChatColor.DARK_RED + "構文が間違っています。/cmdlogで構文を確認してください。"); }
  109. return true;
  110. } else {
  111. sender.sendMessage(ChatColor.DARK_RED + "あなたは必要なパーミッションをもっていません!");
  112. return true;
  113. }
  114. }
  115. return false;
  116. }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement