Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main;
- import java.util.ArrayList;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerLevelChangeEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitTask;
- import config.System;
- import prison.Prison;
- import prison.PrisonSet;
- import character.Character;
- public class Main extends JavaPlugin implements Listener {
- public static Main main;
- static List<Player> online = new ArrayList<>();
- static BukkitTask time = null;
- static BukkitTask test = null;
- static int t_MBC, t_AMBCP, t_KMC;
- @SuppressWarnings("deprecation")
- public void onEnable() {
- main = this;
- getServer().getPluginManager().registerEvents(this, this);
- //getServer().getPluginManager().registerEvents(this, new PrisonSet());
- //getServer().getPluginManager().registerEvents(this, new Character_add());
- //getServer().getPluginManager().registerEvents(this, new Character_minus());
- this.saveDefaultConfig();
- System.saveDefault();
- getConfig().options().copyDefaults(true);
- System.get().options().copyDefaults(true);
- saveConfig();
- System.save();
- Main.time();
- Main.test();
- Main.reload(getConfig().getInt("Max_bad_Character"), getConfig().getInt("Achieve_Max_bad_Character_Prison"),
- getConfig().getInt("Kill_Monster_Character"));
- for (String name : System.get().getStringList("online")) {
- try {
- online.add(Bukkit.getServer().getPlayer(name));
- } catch (Exception e) {
- }
- }
- }
- public void onDisable() {
- //time.cancel();
- //test.cancel();
- System.get().set("online", null);
- for (Player n : online) {
- System.get().set("online", n.getName());
- }
- System.save();
- }
- public static void reload(int MBC, int AMBCP, int KMC) {
- t_MBC = MBC;
- t_AMBCP = AMBCP;
- t_KMC = KMC;
- }
- public static void test() {
- test = Bukkit.getScheduler().runTaskTimer(Main.main, new Runnable() {
- public void run() {
- }
- }, 0, 100);// 5秒
- }
- public static void time() {
- time = Bukkit.getScheduler().runTaskTimer(Main.main, new Runnable() {
- public void run() {
- int newtime = System.get().getInt("Time");
- if (newtime >= 5184000) {
- System.get().set("Time", 0);
- System.save();
- } else {
- System.get().set("Time", newtime++);
- System.save();
- }
- for (Player p : online) {
- if (System.get().getBoolean(p.getName() + ".inprison")) {
- Prison.tp(p);
- }
- if (Character.get(p) >= t_MBC) {
- Prison.add(p, t_AMBCP, "人品值過低");
- Character.add(p, (int) (t_MBC / 3));
- }
- }
- }
- }, 0, 3600);// 60秒跑一次
- }
- public void onPlayerleverEvent(PlayerLevelChangeEvent e) {
- Player p = e.getPlayer();
- online.remove(p);
- }
- @EventHandler
- public void onPlayerJoinEvent(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- online.add(p);
- System.get().set(p.getName(), true);
- if (!(System.get().getBoolean(p.getName() + ".join"))) {
- System.get().set(p.getName() + ".join", true);
- System.get().set(p.getName() + ".character", 0);
- System.get().set(p.getName() + ".prison", 0);
- System.get().set(p.getName() + ".inprison", false);
- System.save();
- }
- }
- ///// command
- @SuppressWarnings("deprecation")
- public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) {
- Player p = (Player) sender;
- if (lable.equalsIgnoreCase("optools")) {
- if (args[0] != null) {
- if (!(p.hasPermission("server.OP"))) {
- p.sendMessage(ChatColor.DARK_RED + "你沒有權限");
- return true;
- } else {
- if (args[0].equalsIgnoreCase("reload")) {
- reloadConfig();
- System.reload();
- System.reload();
- Main.reload(getConfig().getInt("Max_bad_Character"), getConfig().getInt("Achieve_Max_bad_Character_Prison"),
- getConfig().getInt("Kill_Monster_Character"));
- p.sendMessage(ChatColor.GREEN + "已重新載入");
- return true;
- }
- return true;
- }
- } else {
- p.sendMessage(ChatColor.DARK_RED + "請輸入功能");
- return true;
- }
- } else if (lable.equalsIgnoreCase("character")) {
- if (!(p.hasPermission("server.OP.character"))) {
- p.sendMessage(ChatColor.DARK_RED + "你沒有權限");
- return true;
- } else {
- Player player = Bukkit.getPlayer(args[0]);
- if (args.length == 3) {
- if (player != null) {
- if (args[1].equalsIgnoreCase("set")) {
- Character.set(player, Integer.parseInt(args[2]));
- p.sendMessage(ChatColor.GREEN + player.getName() + "的人品值以設為" + Integer.parseInt(args[2]));
- return true;
- } else if (args[1].equalsIgnoreCase("add")) {
- Character.add(player, Integer.parseInt(args[2]));
- p.sendMessage(ChatColor.GREEN + player.getName() + "人品值以改變" + Integer.parseInt(args[2]));
- return true;
- } else {
- p.sendMessage(ChatColor.DARK_RED + "用法錯誤 /character <Player> <add|set> <值>");
- return true;
- }
- } else {
- p.sendMessage(ChatColor.DARK_RED + "玩家不在線");
- return true;
- }
- } else {
- p.sendMessage(ChatColor.DARK_RED + "用法錯誤: /character <Player> <add|set> <值>");
- return true;
- }
- }
- } else if (lable.equalsIgnoreCase("prison")) {// prison <Player>
- // <add|set> <值> [原因]
- if (!(p.hasPermission("server.OP.prison"))) {
- p.sendMessage(ChatColor.DARK_RED + "你沒有權限");
- return true;
- } else {
- if (args.length >= 3) {
- p.sendMessage(ChatColor.DARK_RED + "用法錯誤: /prison <Player> <add|set> <值(分鐘)> [原因]");
- return true;
- } else {
- if (Bukkit.getServer().getPlayer(args[0]) != null) {
- int i = 0;
- try {
- i = Integer.parseInt(args[2]);
- } catch (Exception e) {
- p.sendMessage(ChatColor.DARK_RED + "用法錯誤: /prison <Player> <add|set> <值(分鐘)> [原因]");
- }
- String s = null;
- for (int si = 3; si < args.length; si++) {
- s += " " + args[si];
- }
- if (args[1].endsWith("add")) {
- Prison.add(Bukkit.getServer().getPlayer(args[0]), i, s);
- return true;
- } else if (args[1].endsWith("set")) {
- Prison.set(Bukkit.getServer().getPlayer(args[0]), i);
- p.sendMessage(ChatColor.DARK_GREEN + "將" + Bukkit.getServer().getPlayer(args[0]).getName() + "設為" + i);
- return true;
- } else {
- p.sendMessage(ChatColor.DARK_RED + "用法錯誤: /prison <Player> <add|set> <值(分鐘)> [原因]");
- p.sendMessage(ChatColor.DARK_GREEN + "將" + Bukkit.getServer().getPlayer(args[0]).getName() + "增加" + i);
- return true;
- }
- } else {
- p.sendMessage(ChatColor.DARK_RED + "玩家不在線!");
- return true;
- }
- }
- }
- } else if (lable.equalsIgnoreCase("setprison")) {
- if (!(p.hasPermission("server.OP.setprison"))) {
- p.sendMessage(ChatColor.DARK_RED + "你沒有權限");
- return true;
- } else {
- if (PrisonSet.getA() == null) {
- p.sendMessage(ChatColor.DARK_RED + "請先設定A點");
- return true;
- } else if (PrisonSet.getB() == null) {
- p.sendMessage(ChatColor.DARK_RED + "請先設定B點");
- return true;
- } else {
- if (PrisonSet.getA().getWorld() == PrisonSet.getB().getWorld()) {
- System.get().set("Prison.pointA.world", PrisonSet.getA().getWorld().getName());
- System.get().set("Prison.pointA.x", PrisonSet.getA().getX());
- System.get().set("Prison.pointA.y", PrisonSet.getA().getY());
- System.get().set("Prison.pointA.z", PrisonSet.getA().getZ());
- ///
- System.get().set("Prison.pointB.world", PrisonSet.getB().getWorld().getName());
- System.get().set("Prison.pointB.x", PrisonSet.getB().getX());
- System.get().set("Prison.pointB.y", PrisonSet.getB().getY());
- System.get().set("Prison.pointB.z", PrisonSet.getB().getZ());
- System.save();
- p.sendMessage(ChatColor.DARK_GREEN + "監獄範圍這定完成");
- p.sendMessage(ChatColor.DARK_PURPLE + "[小提示]記得設定傳送點/setpoint");
- return true;
- } else {
- p.sendMessage(ChatColor.DARK_RED + "AB點請在同一個世界");
- return true;// 快崩潰orz
- }
- }
- }
- } else if (lable.equalsIgnoreCase("setpoint")) {
- if (!(p.hasPermission("server.OP.setprison"))) {
- p.sendMessage(ChatColor.DARK_RED + "你沒有權限");
- return true;
- } else {
- System.get().set("Prison.point.x", p.getLocation().getBlockX());
- System.get().set("Prison.point.y", p.getLocation().getBlockY());
- System.get().set("Prison.point.z", p.getLocation().getBlockZ());
- System.save();
- p.sendMessage(ChatColor.DARK_GREEN + "成功設定傳送點");
- return true;
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement