From bffae3162fbfa3d09d3fd433c0810a70d74c6915 Mon Sep 17 00:00:00 2001 From: Minenash Date: Sun, 6 Jan 2019 22:01:45 -0500 Subject: Started Survival Module. Added Majority Sleep --- .../com/redstoner/modules/survival/Survival.cmd | 0 .../com/redstoner/modules/survival/Survival.java | 83 ++++++++++++++++++++++ .../com/redstoner/modules/survival/module.info | 3 + 3 files changed, 86 insertions(+) create mode 100644 src/main/java/com/redstoner/modules/survival/Survival.cmd create mode 100644 src/main/java/com/redstoner/modules/survival/Survival.java create mode 100644 src/main/java/com/redstoner/modules/survival/module.info diff --git a/src/main/java/com/redstoner/modules/survival/Survival.cmd b/src/main/java/com/redstoner/modules/survival/Survival.cmd new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java new file mode 100644 index 0000000..b7fa7ae --- /dev/null +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -0,0 +1,83 @@ +package com.redstoner.modules.survival; + +import java.util.List; + +import org.bukkit.Bukkit; +import org.bukkit.World; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.event.player.PlayerTeleportEvent; + +import com.redstoner.annotations.AutoRegisterListener; +import com.redstoner.annotations.Commands; +import com.redstoner.annotations.Version; +import com.redstoner.misc.CommandHolderType; +import com.redstoner.misc.Main; +import com.redstoner.modules.Module; +import com.redstoner.modules.datamanager.DataManager; + +import net.nemez.chatapi.ChatAPI; + +@Commands(CommandHolderType.File) +@AutoRegisterListener +@Version(major = 5, minor = 0, revision = 0, compatible = 4) +public class Survival implements Module, Listener { + + @EventHandler + public void onPlayerTeleport(PlayerTeleportEvent e) { + World w1 = e.getFrom().getWorld(); + World w2 = e.getTo().getWorld(); + + checkSleep(w1); + if (!w1.getName().equals(w2.getName())) + checkSleep(w2); + } + + @EventHandler + public void onLeave(PlayerQuitEvent e) { + checkSleep(e.getPlayer().getWorld()); + } + + boolean suspendEvents = false; + + public void checkSleep(World world) { + if (suspendEvents || isDay(world.getTime())) + return; + + int sleepingPlayers = 0; + for (Player p : world.getPlayers()) + if (p.isSleeping()) + sleepingPlayers++; + + int perSleeping = 100 * sleepingPlayers / world.getPlayers().size(); + int perNeeded = (Integer) DataManager.getConfigOrDefault("perNeededToSleep", 51); + + if (perSleeping >= perNeeded) { + notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 were sleeping. The &6sun&0 is rising!"); + world.setTime(23450); + world.setStorm(false); + world.setThundering(false); + suspendEvents = true; + Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> resumeEvents(), 20); + } + else + notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 are sleeping. &e" + perNeeded + "%&0 needed"); + + } + + public boolean resumeEvents() { + suspendEvents = false; + return true; + } + + public boolean isDay(long time) { + return time < 12300 || time > 23850; + } + + public void notifyPlayers(List players, String msg) { + for (Player p : players) + ChatAPI.sendActionBar(p, "&0[&2Sleep&0] " + msg); + } +} diff --git a/src/main/java/com/redstoner/modules/survival/module.info b/src/main/java/com/redstoner/modules/survival/module.info new file mode 100644 index 0000000..c8a5a00 --- /dev/null +++ b/src/main/java/com/redstoner/modules/survival/module.info @@ -0,0 +1,3 @@ +displayName: Survival +category: Other +description: A module to contain features related to the survival worlds \ No newline at end of file -- cgit v1.2.3 From 89ac9cd907adf057156f0f299e2d59ba240f1c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Pani=C4=87?= Date: Mon, 7 Jan 2019 21:17:52 +0100 Subject: Made gradle check for dependency updates every build --- build.gradle | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build.gradle b/build.gradle index 7d53907..1227eac 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,10 @@ apply plugin: "java" +configurations.all { + // Check for updates every build + resolutionStrategy.cacheChangingModulesFor 0, 'seconds' +} + repositories { jcenter() maven { url "https://jitpack.io" } -- cgit v1.2.3 From 6b7f687c079ab3ba6b12d9c356b8d183b7995ddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Pani=C4=87?= Date: Mon, 7 Jan 2019 21:20:22 +0100 Subject: Fixed water flow --- src/main/java/com/redstoner/modules/misc/Misc.java | 30 ++++++++++++++-------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/redstoner/modules/misc/Misc.java b/src/main/java/com/redstoner/modules/misc/Misc.java index c773e6b..c01c34a 100644 --- a/src/main/java/com/redstoner/modules/misc/Misc.java +++ b/src/main/java/com/redstoner/modules/misc/Misc.java @@ -13,6 +13,9 @@ import net.nemez.chatapi.click.Message; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.data.BlockData; +import org.bukkit.block.data.Waterlogged; import org.bukkit.command.CommandSender; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; @@ -86,19 +89,26 @@ public class Misc implements Module, Listener { } } + private static final Material[] LIQUID_FLOW_EXCEPTIONS = { + Material.AIR, + Material.CAVE_AIR, + Material.VOID_AIR + }; + // Disables water and lava breaking stuff @EventHandler public void onLiquidFlow(BlockFromToEvent event) { - Material m = event.getToBlock().getType(); - - switch (m) { - case AIR: - case WATER: - case LAVA: - return; - default: { - event.setCancelled(true); - } + Block toBlock = event.getToBlock(); + Material m = toBlock.getType(); + + for (Material exception : LIQUID_FLOW_EXCEPTIONS) { + if (m == exception) return; + } + + BlockData data = toBlock.getBlockData(); + + if (!(data instanceof Waterlogged)) { + event.setCancelled(true); } } -- cgit v1.2.3 From 1ffd4d43b5708893ddba26535efdffcb59d728f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Pani=C4=87?= Date: Mon, 7 Jan 2019 21:28:41 +0100 Subject: Removed chatalias debug spam, fixes #39 --- src/main/java/com/redstoner/modules/chatalias/Chatalias.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/com/redstoner/modules/chatalias/Chatalias.java b/src/main/java/com/redstoner/modules/chatalias/Chatalias.java index df7e8e1..ce9ec07 100644 --- a/src/main/java/com/redstoner/modules/chatalias/Chatalias.java +++ b/src/main/java/com/redstoner/modules/chatalias/Chatalias.java @@ -88,10 +88,6 @@ public class Chatalias implements Module, Listener { keyword = keyword.replace("RND;", ""); String[] results = replacement.split(" \\|\\| "); - for (String str : results) { - System.out.println(str); - } - int rand = ThreadLocalRandom.current().nextInt(0, results.length); replacement = results[rand]; -- cgit v1.2.3 From 2750813de0e8b2209d1284924412b317c5926332 Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 7 Jan 2019 16:48:06 -0500 Subject: Added the ability to majority sleep through a thunderstorm --- src/main/java/com/redstoner/modules/survival/Survival.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index b7fa7ae..bf80208 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -43,7 +43,7 @@ public class Survival implements Module, Listener { boolean suspendEvents = false; public void checkSleep(World world) { - if (suspendEvents || isDay(world.getTime())) + if (suspendEvents || !canSleep(world.getTime(), world.isThundering())) return; int sleepingPlayers = 0; @@ -72,8 +72,8 @@ public class Survival implements Module, Listener { return true; } - public boolean isDay(long time) { - return time < 12300 || time > 23850; + public boolean canSleep(long time, boolean thundering) { + return !(time < 12300 || time > 23850) || thundering; } public void notifyPlayers(List players, String msg) { -- cgit v1.2.3 From 82a8c9b24b4956c8d9f22621ee565eb5bdbc355e Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 7 Jan 2019 17:30:16 -0500 Subject: Fixed bug where it'd throw an error if there were 0 players in te world --- src/main/java/com/redstoner/modules/survival/Survival.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index bf80208..ef3c37f 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -43,7 +43,7 @@ public class Survival implements Module, Listener { boolean suspendEvents = false; public void checkSleep(World world) { - if (suspendEvents || !canSleep(world.getTime(), world.isThundering())) + if (suspendEvents || !canSleep(world.getTime(), world.isThundering()) || world.getPlayers().size() == 0) return; int sleepingPlayers = 0; -- cgit v1.2.3 From adb99ea5bac31bd3acfeb5f6cfd8ff4c6f60a639 Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 7 Jan 2019 18:03:09 -0500 Subject: The majority sleep now only counts players in survival mode --- src/main/java/com/redstoner/modules/survival/Survival.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index ef3c37f..f3999a4 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -3,6 +3,7 @@ package com.redstoner.modules.survival; import java.util.List; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -22,7 +23,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 0, compatible = 4) +@Version(major = 5, minor = 0, revision = 1, compatible = 4) public class Survival implements Module, Listener { @EventHandler @@ -47,11 +48,20 @@ public class Survival implements Module, Listener { return; int sleepingPlayers = 0; + int totalPlayers = 0; + for (Player p : world.getPlayers()) if (p.isSleeping()) sleepingPlayers++; - int perSleeping = 100 * sleepingPlayers / world.getPlayers().size(); + for (Player p : world.getPlayers()) + if (p.getGameMode() == GameMode.SURVIVAL) + totalPlayers++; + + if (totalPlayers == 0) + return; + + int perSleeping = 100 * sleepingPlayers / totalPlayers; int perNeeded = (Integer) DataManager.getConfigOrDefault("perNeededToSleep", 51); if (perSleeping >= perNeeded) { -- cgit v1.2.3 From fb9fb0af382cb69818d61d3b87acc668cf774fd4 Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 7 Jan 2019 18:11:41 -0500 Subject: Removed Vanilla join messages --- src/main/java/com/redstoner/modules/misc/Misc.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/redstoner/modules/misc/Misc.java b/src/main/java/com/redstoner/modules/misc/Misc.java index c01c34a..591722e 100644 --- a/src/main/java/com/redstoner/modules/misc/Misc.java +++ b/src/main/java/com/redstoner/modules/misc/Misc.java @@ -24,6 +24,7 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockFromToEvent; import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerTeleportEvent; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; import org.bukkit.potion.PotionEffect; @@ -33,7 +34,7 @@ import java.util.UUID; @Commands (CommandHolderType.File) @AutoRegisterListener -@Version (major = 5, minor = 0, revision = 0, compatible = 4) +@Version (major = 5, minor = 1, revision = 0, compatible = 4) public class Misc implements Module, Listener { private static final String[] SUDO_BLACKLIST = new String[] { "(.*:)?e?sudo", @@ -75,6 +76,13 @@ public class Misc implements Module, Listener { player.teleport(player.getWorld().getSpawnLocation()); } + + event.setJoinMessage(null); + } + + @EventHandler + public void onQuit(PlayerQuitEvent event) { + event.setQuitMessage(null); } // Disables spectator teleportation -- cgit v1.2.3 From 857dfe32ca67cc0a41068ba4cbb0b69b060fb2f2 Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 7 Jan 2019 21:05:14 -0500 Subject: [Teleport] Fixed exceptions when a player quits --- .../com/redstoner/modules/teleport/Teleport.java | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/redstoner/modules/teleport/Teleport.java b/src/main/java/com/redstoner/modules/teleport/Teleport.java index b43d820..7475fcc 100644 --- a/src/main/java/com/redstoner/modules/teleport/Teleport.java +++ b/src/main/java/com/redstoner/modules/teleport/Teleport.java @@ -1,6 +1,7 @@ package com.redstoner.modules.teleport; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import java.util.Stack; @@ -461,27 +462,35 @@ public class Teleport implements Module, Listener last_request.remove(p); last_request_got.remove(p); - for (Player fl : pending_requests.keySet()) { + Iterator pr_iterator = pending_requests.keySet().iterator(); + while (pr_iterator.hasNext()) { + Player fl = pr_iterator.next(); Map m = pending_requests.get(fl); m.remove(p); if (m.isEmpty()) - pending_requests.remove(fl); + pr_iterator.remove(); else pending_requests.put(fl, m); } - for (Player fl : last_request.keySet()) { + + Iterator lr_iterator = last_request.keySet().iterator(); + while (lr_iterator.hasNext()) { + Player fl = lr_iterator.next(); Stack s = last_request.get(fl); s.remove(p); if (s.isEmpty()) - last_request.remove(fl); + lr_iterator.remove(); else last_request.put(fl, s); } - for (Player fl : last_request_got.keySet()) { + + Iterator lrg_iterator = last_request_got.keySet().iterator(); + while (lrg_iterator.hasNext()) { + Player fl = lrg_iterator.next(); Stack s = last_request_got.get(fl); s.remove(p); if (s.isEmpty()) - last_request_got.remove(fl); + lrg_iterator.remove(); else last_request_got.put(fl, s); } -- cgit v1.2.3 From 5a9c34851b6340516ec43a570e0a719d753405d7 Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 7 Jan 2019 21:17:25 -0500 Subject: Fixed unarchiving mail --- src/main/java/com/redstoner/modules/mail/Mail.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/redstoner/modules/mail/Mail.java b/src/main/java/com/redstoner/modules/mail/Mail.java index ee26842..5cae0b7 100644 --- a/src/main/java/com/redstoner/modules/mail/Mail.java +++ b/src/main/java/com/redstoner/modules/mail/Mail.java @@ -400,7 +400,7 @@ public class Mail implements Module, Listener String uuid = ((Player)sender).getUniqueId().toString(); Map list = archives.get(uuid); - if (id < 0 || id >= list.size()) { + if (id < 0 || list == null || !list.containsKey(id)) { getLogger().message(sender, true, "You have no archived messages with that ID."); return; } -- cgit v1.2.3 From 76563a12f8f9ca74711141da4e57bf7eb13beb54 Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 7 Jan 2019 21:27:24 -0500 Subject: Fixed Versions --- src/main/java/com/redstoner/modules/mail/Mail.java | 2 +- src/main/java/com/redstoner/modules/misc/Misc.java | 2 +- src/main/java/com/redstoner/modules/teleport/Teleport.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/redstoner/modules/mail/Mail.java b/src/main/java/com/redstoner/modules/mail/Mail.java index 5cae0b7..5fa3f62 100644 --- a/src/main/java/com/redstoner/modules/mail/Mail.java +++ b/src/main/java/com/redstoner/modules/mail/Mail.java @@ -37,7 +37,7 @@ import net.nemez.chatapi.ChatAPI; @AutoRegisterListener @Commands(CommandHolderType.File) -@Version(major = 5, minor = 0, revision = 0, compatible = 4) +@Version(major = 5, minor = 0, revision = 1, compatible = 4) public class Mail implements Module, Listener { diff --git a/src/main/java/com/redstoner/modules/misc/Misc.java b/src/main/java/com/redstoner/modules/misc/Misc.java index 591722e..9b9b1ea 100644 --- a/src/main/java/com/redstoner/modules/misc/Misc.java +++ b/src/main/java/com/redstoner/modules/misc/Misc.java @@ -34,7 +34,7 @@ import java.util.UUID; @Commands (CommandHolderType.File) @AutoRegisterListener -@Version (major = 5, minor = 1, revision = 0, compatible = 4) +@Version (major = 5, minor = 1, revision = 1, compatible = 4) public class Misc implements Module, Listener { private static final String[] SUDO_BLACKLIST = new String[] { "(.*:)?e?sudo", diff --git a/src/main/java/com/redstoner/modules/teleport/Teleport.java b/src/main/java/com/redstoner/modules/teleport/Teleport.java index 7475fcc..77f2f11 100644 --- a/src/main/java/com/redstoner/modules/teleport/Teleport.java +++ b/src/main/java/com/redstoner/modules/teleport/Teleport.java @@ -26,7 +26,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 0, compatible = 4) +@Version(major = 5, minor = 0, revision = 1, compatible = 4) public class Teleport implements Module, Listener { public static final String PERMISSION_TELEPORT = "utils.teleport.tp"; -- cgit v1.2.3 From df2a26965b1329440d150a616add085fd0badb59 Mon Sep 17 00:00:00 2001 From: Minenash Date: Tue, 8 Jan 2019 07:39:55 -0500 Subject: Added Water and Lava to the exception list --- src/main/java/com/redstoner/modules/misc/Misc.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/redstoner/modules/misc/Misc.java b/src/main/java/com/redstoner/modules/misc/Misc.java index 9b9b1ea..0946671 100644 --- a/src/main/java/com/redstoner/modules/misc/Misc.java +++ b/src/main/java/com/redstoner/modules/misc/Misc.java @@ -100,7 +100,9 @@ public class Misc implements Module, Listener { private static final Material[] LIQUID_FLOW_EXCEPTIONS = { Material.AIR, Material.CAVE_AIR, - Material.VOID_AIR + Material.VOID_AIR, + Material.WATER, + Material.LAVA }; // Disables water and lava breaking stuff @@ -352,4 +354,4 @@ public class Misc implements Module, Listener { return typeE; } -} \ No newline at end of file +} -- cgit v1.2.3 From 20a7b09eac111283e794d16223626bfbfc152252 Mon Sep 17 00:00:00 2001 From: Minenash Date: Tue, 8 Jan 2019 18:32:42 -0500 Subject: The Majority Sleep feature is now restricted to worlds whom opt-in --- .../com/redstoner/modules/survival/Survival.java | 27 ++++++++++++++++------ 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index f3999a4..41855e1 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -23,7 +23,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 1, compatible = 4) +@Version(major = 5, minor = 0, revision = 2, compatible = 4) public class Survival implements Module, Listener { @EventHandler @@ -47,33 +47,45 @@ public class Survival implements Module, Listener { if (suspendEvents || !canSleep(world.getTime(), world.isThundering()) || world.getPlayers().size() == 0) return; + System.out.println("A"); + + if (!((String)DataManager.getConfigOrDefault(world.getName() + ".enabled", "true")).equals("true")) + return; + System.out.println("B"); int sleepingPlayers = 0; int totalPlayers = 0; - + System.out.println("C"); for (Player p : world.getPlayers()) if (p.isSleeping()) sleepingPlayers++; - + System.out.println("D"); for (Player p : world.getPlayers()) if (p.getGameMode() == GameMode.SURVIVAL) totalPlayers++; - + System.out.println("E"); if (totalPlayers == 0) return; - + System.out.println("F"); int perSleeping = 100 * sleepingPlayers / totalPlayers; - int perNeeded = (Integer) DataManager.getConfigOrDefault("perNeededToSleep", 51); + int perNeeded = (Integer) DataManager.getConfigOrDefault(world.getName() + ".perNeededToSleep", 51); + + System.out.println("1"); if (perSleeping >= perNeeded) { + System.out.println("2"); notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 were sleeping. The &6sun&0 is rising!"); + System.out.println("3"); world.setTime(23450); world.setStorm(false); world.setThundering(false); suspendEvents = true; Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> resumeEvents(), 20); + System.out.println("4"); } - else + else { + System.out.println("5"); notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 are sleeping. &e" + perNeeded + "%&0 needed"); + } } @@ -87,6 +99,7 @@ public class Survival implements Module, Listener { } public void notifyPlayers(List players, String msg) { + System.out.println("I made It!"); for (Player p : players) ChatAPI.sendActionBar(p, "&0[&2Sleep&0] " + msg); } -- cgit v1.2.3 From 965e9360a6a78e2fb8609e4300a45a95f03dadae Mon Sep 17 00:00:00 2001 From: Minenash Date: Tue, 8 Jan 2019 18:33:14 -0500 Subject: Made config option to protect everything or just redstone from water --- src/main/java/com/redstoner/modules/misc/Misc.java | 37 ++++++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/redstoner/modules/misc/Misc.java b/src/main/java/com/redstoner/modules/misc/Misc.java index 0946671..6436191 100644 --- a/src/main/java/com/redstoner/modules/misc/Misc.java +++ b/src/main/java/com/redstoner/modules/misc/Misc.java @@ -34,7 +34,7 @@ import java.util.UUID; @Commands (CommandHolderType.File) @AutoRegisterListener -@Version (major = 5, minor = 1, revision = 1, compatible = 4) +@Version (major = 5, minor = 2, revision = 0, compatible = 4) public class Misc implements Module, Listener { private static final String[] SUDO_BLACKLIST = new String[] { "(.*:)?e?sudo", @@ -104,22 +104,53 @@ public class Misc implements Module, Listener { Material.WATER, Material.LAVA }; + + private static final Material[] PROTECTED_REDSTONE_BLOCKS = { + Material.REDSTONE_WIRE, Material.REDSTONE_TORCH, Material.REDSTONE_WALL_TORCH, + Material.COMPARATOR, Material.REPEATER, Material.RAIL, Material.ACTIVATOR_RAIL, + Material.DETECTOR_RAIL, Material.TRIPWIRE, Material.TRIPWIRE_HOOK, + Material.ACACIA_BUTTON,Material.BIRCH_BUTTON, Material.DARK_OAK_BUTTON, + Material.JUNGLE_BUTTON, Material.OAK_BUTTON, Material.SPRUCE_BUTTON, + Material.STONE_BUTTON, Material.LEVER, Material.ACACIA_PRESSURE_PLATE, + Material.BIRCH_PRESSURE_PLATE, Material.DARK_OAK_PRESSURE_PLATE, + Material.HEAVY_WEIGHTED_PRESSURE_PLATE, Material.JUNGLE_PRESSURE_PLATE, + Material.LIGHT_WEIGHTED_PRESSURE_PLATE, Material.OAK_PRESSURE_PLATE, + Material.SPRUCE_PRESSURE_PLATE, Material.STONE_PRESSURE_PLATE + }; // Disables water and lava breaking stuff @EventHandler public void onLiquidFlow(BlockFromToEvent event) { Block toBlock = event.getToBlock(); Material m = toBlock.getType(); - - for (Material exception : LIQUID_FLOW_EXCEPTIONS) { + String world = toBlock.getWorld().getName(); + String protectionLevel = (String) DataManager.getConfigOrDefault(world, "rs-only"); + + for (Material exception : LIQUID_FLOW_EXCEPTIONS) if (m == exception) return; + + if (protectionLevel.equals("rs-only")) { + for (Material rs : PROTECTED_REDSTONE_BLOCKS) + if (m == rs) { + event.setCancelled(true); + return; + } + return; + } + else if (!protectionLevel.equals("all")){ + DataManager.setConfig(world, "rs-only"); + getLogger().warn("Invalid config option for Water in the world, &e" + world + "&7. Setting to default."); + onLiquidFlow(event); } + BlockData data = toBlock.getBlockData(); if (!(data instanceof Waterlogged)) { event.setCancelled(true); } + + } @Command (hook = "tempadddef") -- cgit v1.2.3 From b5d33ec11c6b4d53966a87f2ef98586e3d2f14ec Mon Sep 17 00:00:00 2001 From: Minenash Date: Tue, 8 Jan 2019 18:36:21 -0500 Subject: Removed debuging statements. I *really* got to stop forgettign to delete them. --- .../java/com/redstoner/modules/survival/Survival.java | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index 41855e1..91e82f7 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -47,43 +47,36 @@ public class Survival implements Module, Listener { if (suspendEvents || !canSleep(world.getTime(), world.isThundering()) || world.getPlayers().size() == 0) return; - System.out.println("A"); - if (!((String)DataManager.getConfigOrDefault(world.getName() + ".enabled", "true")).equals("true")) return; - System.out.println("B"); + int sleepingPlayers = 0; int totalPlayers = 0; - System.out.println("C"); + for (Player p : world.getPlayers()) if (p.isSleeping()) sleepingPlayers++; - System.out.println("D"); + for (Player p : world.getPlayers()) if (p.getGameMode() == GameMode.SURVIVAL) totalPlayers++; - System.out.println("E"); + if (totalPlayers == 0) return; - System.out.println("F"); + int perSleeping = 100 * sleepingPlayers / totalPlayers; int perNeeded = (Integer) DataManager.getConfigOrDefault(world.getName() + ".perNeededToSleep", 51); - System.out.println("1"); if (perSleeping >= perNeeded) { - System.out.println("2"); notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 were sleeping. The &6sun&0 is rising!"); - System.out.println("3"); world.setTime(23450); world.setStorm(false); world.setThundering(false); suspendEvents = true; Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> resumeEvents(), 20); - System.out.println("4"); } else { - System.out.println("5"); notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 are sleeping. &e" + perNeeded + "%&0 needed"); } @@ -99,7 +92,6 @@ public class Survival implements Module, Listener { } public void notifyPlayers(List players, String msg) { - System.out.println("I made It!"); for (Player p : players) ChatAPI.sendActionBar(p, "&0[&2Sleep&0] " + msg); } -- cgit v1.2.3 From 318554098cb461ac8083bc634890b3951d70d605 Mon Sep 17 00:00:00 2001 From: Minenash Date: Tue, 8 Jan 2019 19:26:17 -0500 Subject: Fixed non-survival users counting in who's asleep --- src/main/java/com/redstoner/modules/survival/Survival.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index 91e82f7..a743b2b 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -23,7 +23,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 2, compatible = 4) +@Version(major = 5, minor = 0, revision = 3, compatible = 4) public class Survival implements Module, Listener { @EventHandler @@ -54,7 +54,7 @@ public class Survival implements Module, Listener { int totalPlayers = 0; for (Player p : world.getPlayers()) - if (p.isSleeping()) + if (p.isSleeping() && p.getGameMode() == GameMode.SURVIVAL) sleepingPlayers++; for (Player p : world.getPlayers()) -- cgit v1.2.3 From 977176de863417a7f23ad1739c1a7a0fc138d7a7 Mon Sep 17 00:00:00 2001 From: Minenash Date: Wed, 9 Jan 2019 17:41:15 -0500 Subject: Fixed `/tp player1 player2` --- src/main/java/com/redstoner/modules/survival/Survival.java | 4 +++- src/main/java/com/redstoner/modules/teleport/Teleport.java | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index a743b2b..97b7b9a 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -19,6 +19,8 @@ import com.redstoner.misc.Main; import com.redstoner.modules.Module; import com.redstoner.modules.datamanager.DataManager; +import net.md_5.bungee.api.ChatMessageType; +import net.md_5.bungee.api.chat.TextComponent; import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @@ -93,6 +95,6 @@ public class Survival implements Module, Listener { public void notifyPlayers(List players, String msg) { for (Player p : players) - ChatAPI.sendActionBar(p, "&0[&2Sleep&0] " + msg); + p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(ChatAPI.colorify(null, "&0[&2Sleep&0] " + msg))); } } diff --git a/src/main/java/com/redstoner/modules/teleport/Teleport.java b/src/main/java/com/redstoner/modules/teleport/Teleport.java index 77f2f11..c9d1d55 100644 --- a/src/main/java/com/redstoner/modules/teleport/Teleport.java +++ b/src/main/java/com/redstoner/modules/teleport/Teleport.java @@ -89,14 +89,14 @@ public class Teleport implements Module, Listener } Player p1 = Bukkit.getPlayer(player); - Player p2 = Bukkit.getPlayer(player); + Player p2 = Bukkit.getPlayer(player2); if (p1 == null) playerDoesNotExistError(sender, player); else if (p2 == null) playerDoesNotExistError(sender, player2); else if (p1.getName().equals(p2.getName())) - cannotTpToYourself(sender); + getLogger().message(sender, true, "You can't teleport a player to themselves."); else { p1.teleport(p2, TeleportCause.COMMAND); getLogger().message(sender, "&e" +p1.getDisplayName() + "&7 has been teleported to &e" + -- cgit v1.2.3 From aeaa5e83b02db157ea8dbd00dc059e8d86a61441 Mon Sep 17 00:00:00 2001 From: Minenash Date: Wed, 9 Jan 2019 17:41:37 -0500 Subject: Fixed Version --- src/main/java/com/redstoner/modules/teleport/Teleport.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/redstoner/modules/teleport/Teleport.java b/src/main/java/com/redstoner/modules/teleport/Teleport.java index c9d1d55..61c962b 100644 --- a/src/main/java/com/redstoner/modules/teleport/Teleport.java +++ b/src/main/java/com/redstoner/modules/teleport/Teleport.java @@ -26,7 +26,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 1, compatible = 4) +@Version(major = 5, minor = 0, revision = 2, compatible = 4) public class Teleport implements Module, Listener { public static final String PERMISSION_TELEPORT = "utils.teleport.tp"; -- cgit v1.2.3 From cfd8de0e4994d31c53cfa9352f7857ca100b42e9 Mon Sep 17 00:00:00 2001 From: Minenash Date: Wed, 9 Jan 2019 17:43:48 -0500 Subject: Fixed bug where you couln't tp yourself to a set of cords, if you do... `/tp yourname x y z` --- src/main/java/com/redstoner/modules/teleport/Teleport.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/redstoner/modules/teleport/Teleport.java b/src/main/java/com/redstoner/modules/teleport/Teleport.java index 61c962b..73f03bd 100644 --- a/src/main/java/com/redstoner/modules/teleport/Teleport.java +++ b/src/main/java/com/redstoner/modules/teleport/Teleport.java @@ -50,8 +50,6 @@ public class Teleport implements Module, Listener if (p == null) playerDoesNotExistError(sender, player); - else if (sender.getName().equals(p.getName())) - cannotTpToYourself(sender); else { p.teleport(new Location(p.getWorld(), x, y, z), TeleportCause.COMMAND); getLogger().message(sender, "Teleported &e" + p.getDisplayName() + -- cgit v1.2.3 From 97979908a47992b234ec7f0b9a3726392d2889f5 Mon Sep 17 00:00:00 2001 From: Dico Karssiens Date: Thu, 10 Jan 2019 20:03:10 +0000 Subject: Fix build on windows --- src/main/java/com/redstoner/modules/mentio/Mentio.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/redstoner/modules/mentio/Mentio.java b/src/main/java/com/redstoner/modules/mentio/Mentio.java index 0f2169e..6ffce96 100644 --- a/src/main/java/com/redstoner/modules/mentio/Mentio.java +++ b/src/main/java/com/redstoner/modules/mentio/Mentio.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.UUID; import java.util.regex.Pattern; +import org.bukkit.ChatColor; import org.bukkit.Sound; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -142,7 +143,7 @@ public class Mentio implements Module, Listener char lastChar = ' '; for (char c : temp.toCharArray()) { - if (lastChar == '§') + if (lastChar == ChatColor.COLOR_CHAR) lastColorCodes += "§" + c; lastChar = c; } -- cgit v1.2.3 From 4b84297d202dd94db4b68b1a25d63b6c44930d79 Mon Sep 17 00:00:00 2001 From: Minenash Date: Thu, 10 Jan 2019 17:17:17 -0500 Subject: Improved Majority-Sleep feature (read description for more info) - Made it opt-in instead of opt-out. - Creative players no longer trigger the message. - If the percentage is the same, it won't redisplay the message. - Majority-Check now runs when a user switches to or from survival mode. - Made the text white instead of black for easier reading. --- .../com/redstoner/modules/survival/Survival.java | 33 ++++++++++++++-------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index 97b7b9a..42bdd48 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -8,6 +8,7 @@ import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerGameModeChangeEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerTeleportEvent; @@ -19,8 +20,6 @@ import com.redstoner.misc.Main; import com.redstoner.modules.Module; import com.redstoner.modules.datamanager.DataManager; -import net.md_5.bungee.api.ChatMessageType; -import net.md_5.bungee.api.chat.TextComponent; import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @@ -30,6 +29,8 @@ public class Survival implements Module, Listener { @EventHandler public void onPlayerTeleport(PlayerTeleportEvent e) { + if (e.getPlayer().getGameMode() != GameMode.SURVIVAL) + return; World w1 = e.getFrom().getWorld(); World w2 = e.getTo().getWorld(); @@ -40,16 +41,25 @@ public class Survival implements Module, Listener { @EventHandler public void onLeave(PlayerQuitEvent e) { - checkSleep(e.getPlayer().getWorld()); + if (e.getPlayer().getGameMode() == GameMode.SURVIVAL) + checkSleep(e.getPlayer().getWorld()); + } + + @EventHandler + public void onGamemodeChange(PlayerGameModeChangeEvent e) { + if (e.getNewGameMode() == GameMode.SURVIVAL || e.getPlayer().getGameMode() == GameMode.SURVIVAL) + Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> checkSleep(e.getPlayer().getWorld()), 20); } boolean suspendEvents = false; + private int lastPer = 0; + public void checkSleep(World world) { if (suspendEvents || !canSleep(world.getTime(), world.isThundering()) || world.getPlayers().size() == 0) return; - if (!((String)DataManager.getConfigOrDefault(world.getName() + ".enabled", "true")).equals("true")) + if (!((String)DataManager.getConfigOrDefault(world.getName() + ".enabled", "false")).equals("true")) return; int sleepingPlayers = 0; @@ -69,23 +79,24 @@ public class Survival implements Module, Listener { int perSleeping = 100 * sleepingPlayers / totalPlayers; int perNeeded = (Integer) DataManager.getConfigOrDefault(world.getName() + ".perNeededToSleep", 51); - + if (perSleeping == lastPer) + return; if (perSleeping >= perNeeded) { - notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 were sleeping. The &6sun&0 is rising!"); + notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&f were sleeping. The &6sun&f is rising!"); world.setTime(23450); world.setStorm(false); world.setThundering(false); suspendEvents = true; Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> resumeEvents(), 20); } - else { - notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 are sleeping. &e" + perNeeded + "%&0 needed"); - } - + else + notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&f are sleeping. &e" + perNeeded + "%&f needed"); + lastPer = perSleeping; } public boolean resumeEvents() { suspendEvents = false; + lastPer = 0; return true; } @@ -95,6 +106,6 @@ public class Survival implements Module, Listener { public void notifyPlayers(List players, String msg) { for (Player p : players) - p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(ChatAPI.colorify(null, "&0[&2Sleep&0] " + msg))); + ChatAPI.sendActionBar(p, "&0[&2Sleep&0] " + msg); } } -- cgit v1.2.3 From ee105649fb07412366df312ede290540d10dc91e Mon Sep 17 00:00:00 2001 From: Minenash Date: Thu, 10 Jan 2019 17:21:20 -0500 Subject: Fixed Version number --- src/main/java/com/redstoner/modules/survival/Survival.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index 42bdd48..beca0a2 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -24,7 +24,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 3, compatible = 4) +@Version(major = 5, minor = 0, revision = 4, compatible = 4) public class Survival implements Module, Listener { @EventHandler -- cgit v1.2.3 From 1d7302d81b42efb251009dfa90612e55eb58cdf2 Mon Sep 17 00:00:00 2001 From: Minenash Date: Fri, 11 Jan 2019 23:43:05 -0500 Subject: HotFix: Fixed crashing while reading mail from offline players. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a temp fix, and the features removed/ignored will be readded again soon™. --- src/main/java/com/redstoner/modules/mail/Msg.java | 51 +++++++++-------------- 1 file changed, 19 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/redstoner/modules/mail/Msg.java b/src/main/java/com/redstoner/modules/mail/Msg.java index 8bb666f..e596914 100644 --- a/src/main/java/com/redstoner/modules/mail/Msg.java +++ b/src/main/java/com/redstoner/modules/mail/Msg.java @@ -3,6 +3,7 @@ package com.redstoner.modules.mail; import java.util.UUID; import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.json.simple.JSONObject; @@ -56,9 +57,9 @@ public class Msg { } public String getChain() { - Player p = Bukkit.getOfflinePlayer(UUID.fromString(sender)).getPlayer(); + OfflinePlayer p = Bukkit.getOfflinePlayer(UUID.fromString(sender)); - String line = getPrefix(p) + p.getName() + "&7:&f " + message; + String line = "&9" + p.getName() + "&7:&f " + message; if (chain == null) return line; @@ -67,17 +68,14 @@ public class Msg { } public void showMinimal(CommandSender viewer, Theme theme, boolean showDisplayName) { - Player p = Bukkit.getOfflinePlayer(UUID.fromString(sender)).getPlayer(); - String name = getPrefix(p) + p.getName(); + OfflinePlayer p = Bukkit.getOfflinePlayer(UUID.fromString(sender)); + String name = "&9" + p.getName(); Message msg = ChatAPI.createMessage(viewer) .appendText(theme.getBracketColor() + "[") .appendTextHover(theme.getInfoColor() + "I", "&9Time Sent:\n&7" + timeSent + "\nID: " + id) .appendText(theme.getBracketColor() + "] "); - if (showDisplayName) - msg.appendTextHover(p.getDisplayName(), name); - else - msg.appendText(name); + msg.appendText(name); msg.appendText(theme.getColonColor() + ": "); if (chain == null) msg.appendText(message).send(); @@ -86,8 +84,8 @@ public class Msg { } public void showSimple(CommandSender viewer, Theme theme, boolean showDisplayName) { - Player p = Bukkit.getOfflinePlayer(UUID.fromString(sender)).getPlayer(); - String name = getPrefix(p) + p.getName(); + OfflinePlayer p = Bukkit.getOfflinePlayer(UUID.fromString(sender)); + String name = "&9" + p.getName(); Message msg = ChatAPI.createMessage(viewer) .appendText(theme.getBracketColor() + "[") @@ -95,10 +93,7 @@ public class Msg { .appendText(theme.getBracketColor() + "][") .appendTextHover(theme.getInfoColor() + "I", "&9Time Sent:\n&7" + timeSent + "\nID: " + id) .appendText(theme.getBracketColor() + "] "); - if (showDisplayName) - msg.appendTextHover(p.getDisplayName(), name); - else - msg.appendText(name); + msg.appendText(name); msg.appendText(theme.getColonColor() + ": "); if (chain == null) msg.appendText(message).send(); @@ -107,8 +102,8 @@ public class Msg { } public void showNormal(CommandSender viewer, Theme theme, boolean showDisplayName) { - Player p = Bukkit.getOfflinePlayer(UUID.fromString(sender)).getPlayer(); - String name = getPrefix(p) + p.getName(); + OfflinePlayer p = Bukkit.getOfflinePlayer(UUID.fromString(sender)); + String name = "&9" + p.getName(); Message msg = ChatAPI.createMessage(viewer) .appendText(theme.getBracketColor() + "[") @@ -118,10 +113,7 @@ public class Msg { .appendText(theme.getBracketColor() + "][") .appendSuggestHover(theme.getReplyColor() + "Reply", "/mail reply " + id + " ", "&7Reply") .appendText(theme.getBracketColor() + "] "); - if (showDisplayName) - msg.appendTextHover(p.getDisplayName(), name); - else - msg.appendText(name); + msg.appendText(name); msg.appendText(theme.getColonColor() + ": "); if (chain == null) msg.appendText(message).send(); @@ -130,8 +122,8 @@ public class Msg { } public void showFull(CommandSender viewer, Theme theme, boolean showDisplayName) { - Player p = Bukkit.getOfflinePlayer(UUID.fromString(sender)).getPlayer(); - String name = getPrefix(p) + p.getName(); + OfflinePlayer p = Bukkit.getOfflinePlayer(UUID.fromString(sender)).getPlayer(); + String name = "&9" + p.getName(); Message msg = ChatAPI.createMessage(viewer) .appendText(theme.getBracketColor() + "[") @@ -143,10 +135,7 @@ public class Msg { .appendText(theme.getBracketColor() + "][") .appendSendChatHover(theme.getArchiveColor() + "Archive", "/mail archive " + id + " ", "&6Archive") .appendText(theme.getBracketColor() + "] "); - if (showDisplayName) - msg.appendTextHover(p.getDisplayName(), name); - else - msg.appendText(name); + msg.appendText(name); msg.appendText(theme.getColonColor() + ": "); if (chain == null) msg.appendText(message).send(); @@ -155,8 +144,8 @@ public class Msg { } public void showArchived(CommandSender viewer, Theme theme, boolean showDisplayName) { - Player p = Bukkit.getOfflinePlayer(UUID.fromString(sender)).getPlayer(); - String name = getPrefix(p) + p.getName(); + OfflinePlayer p = Bukkit.getOfflinePlayer(UUID.fromString(sender)); + String name = "&9" + p.getName(); Message msg = ChatAPI.createMessage(viewer) .appendText(theme.getBracketColor() + "[") @@ -164,16 +153,14 @@ public class Msg { .appendText(theme.getBracketColor() + "][") .appendTextHover(theme.getInfoColor() + "I", "&9Time Sent:\n&7" + timeSent + "\nID: " + id) .appendText(theme.getBracketColor() + "] "); - if (showDisplayName) - msg.appendTextHover(p.getDisplayName(), name); - else - msg.appendText(name); + msg.appendText(name); msg.appendText(theme.getColonColor() + ": "); if (chain == null) msg.appendText(message).send(); else msg.appendTextHover(message, chain).send(); } + private String getPrefix(Player player) { -- cgit v1.2.3 From 075b5816db669c1984dc78176608e7306aedf56a Mon Sep 17 00:00:00 2001 From: Minenash Date: Fri, 11 Jan 2019 23:48:21 -0500 Subject: Fixed version for hotfix --- src/main/java/com/redstoner/modules/mail/Mail.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/redstoner/modules/mail/Mail.java b/src/main/java/com/redstoner/modules/mail/Mail.java index 5fa3f62..306bb5b 100644 --- a/src/main/java/com/redstoner/modules/mail/Mail.java +++ b/src/main/java/com/redstoner/modules/mail/Mail.java @@ -37,7 +37,7 @@ import net.nemez.chatapi.ChatAPI; @AutoRegisterListener @Commands(CommandHolderType.File) -@Version(major = 5, minor = 0, revision = 1, compatible = 4) +@Version(major = 5, minor = 0, revision = 2, compatible = 4) public class Mail implements Module, Listener { -- cgit v1.2.3 From d6e74483aa769ccd578d65a28c428fa05a402bdc Mon Sep 17 00:00:00 2001 From: Minenash Date: Sat, 12 Jan 2019 16:56:19 -0500 Subject: Fixed hotfix --- src/main/java/com/redstoner/modules/mail/Mail.java | 2 +- src/main/java/com/redstoner/modules/mail/Msg.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/redstoner/modules/mail/Mail.java b/src/main/java/com/redstoner/modules/mail/Mail.java index 306bb5b..b52aff3 100644 --- a/src/main/java/com/redstoner/modules/mail/Mail.java +++ b/src/main/java/com/redstoner/modules/mail/Mail.java @@ -37,7 +37,7 @@ import net.nemez.chatapi.ChatAPI; @AutoRegisterListener @Commands(CommandHolderType.File) -@Version(major = 5, minor = 0, revision = 2, compatible = 4) +@Version(major = 5, minor = 0, revision = 3, compatible = 4) public class Mail implements Module, Listener { diff --git a/src/main/java/com/redstoner/modules/mail/Msg.java b/src/main/java/com/redstoner/modules/mail/Msg.java index e596914..bdab5af 100644 --- a/src/main/java/com/redstoner/modules/mail/Msg.java +++ b/src/main/java/com/redstoner/modules/mail/Msg.java @@ -122,7 +122,7 @@ public class Msg { } public void showFull(CommandSender viewer, Theme theme, boolean showDisplayName) { - OfflinePlayer p = Bukkit.getOfflinePlayer(UUID.fromString(sender)).getPlayer(); + OfflinePlayer p = Bukkit.getOfflinePlayer(UUID.fromString(sender)); String name = "&9" + p.getName(); Message msg = ChatAPI.createMessage(viewer) -- cgit v1.2.3 From 39f7cf1759062e28484c3e257def0631787e5f13 Mon Sep 17 00:00:00 2001 From: Minenash Date: Sat, 12 Jan 2019 20:46:21 -0500 Subject: Continuing to make the hotfix fully hotfixed. --- src/main/java/com/redstoner/modules/mail/Mail.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/redstoner/modules/mail/Mail.java b/src/main/java/com/redstoner/modules/mail/Mail.java index b52aff3..339b381 100644 --- a/src/main/java/com/redstoner/modules/mail/Mail.java +++ b/src/main/java/com/redstoner/modules/mail/Mail.java @@ -37,7 +37,7 @@ import net.nemez.chatapi.ChatAPI; @AutoRegisterListener @Commands(CommandHolderType.File) -@Version(major = 5, minor = 0, revision = 3, compatible = 4) +@Version(major = 5, minor = 0, revision = 4, compatible = 4) public class Mail implements Module, Listener { @@ -226,7 +226,7 @@ public class Mail implements Module, Listener if (!op.hasPlayedBefore()) getLogger().message(sender, true, "&e" + player + "&7 has never joined the server."); else - sendMessage(sender, op.getPlayer().getUniqueId().toString(), message, null); + sendMessage(sender, op.getUniqueId().toString(), message, null); } @Command(hook = "reply") @@ -247,13 +247,13 @@ public class Mail implements Module, Listener public void sendMessage(CommandSender sender, String r_uuid, String message, String chain) { - Player r = Bukkit.getOfflinePlayer(UUID.fromString(r_uuid)).getPlayer(); + OfflinePlayer r = Bukkit.getOfflinePlayer(UUID.fromString(r_uuid)); - if (ModuleLoader.exists("Ignore") ? !Ignore.getIgnoredBy(sender).sendTo(r) : false) - { - getLogger().message(sender, true, Utils.getName(r) + " has ignored you. Your message was not sent."); - return; - } + //if (ModuleLoader.exists("Ignore") ? !Ignore.getIgnoredBy(sender).sendTo(r) : false) + //{ + // getLogger().message(sender, true, Utils.getName(r) + " has ignored you. Your message was not sent."); + // return; + //} String s_uuid = ((Player)sender).getUniqueId().toString(); @@ -283,7 +283,7 @@ public class Mail implements Module, Listener if (r.isOnline()) { int num = playerToMsg.get(r_uuid).size(); - ChatAPI.createMessage(r) + ChatAPI.createMessage((Player)r) .appendText(getLogger().getPrefix() + "&7You got &e" + num + "&7 message" + (num == 1? "" : "s") + "! Do ") .appendSendChatHover("&e/mail", "/mail", "Click to read your messages") .appendText("&7 to read them.") -- cgit v1.2.3 From 49b14be1c8dd59fecef9da6a808005ca795b346a Mon Sep 17 00:00:00 2001 From: Minenash Date: Sun, 13 Jan 2019 22:29:35 -0500 Subject: Made chat and all chat commands use the Mentio Module *Mentio now no longer handles chat. *ChatOnly indicator no longer has a hover text describing it. --- src/main/java/com/redstoner/modules/chat/Chat.java | 51 ++++++++++------ .../java/com/redstoner/modules/mentio/Mentio.java | 70 +++++++++------------- 2 files changed, 62 insertions(+), 59 deletions(-) diff --git a/src/main/java/com/redstoner/modules/chat/Chat.java b/src/main/java/com/redstoner/modules/chat/Chat.java index ebe2d07..1e09ea9 100644 --- a/src/main/java/com/redstoner/modules/chat/Chat.java +++ b/src/main/java/com/redstoner/modules/chat/Chat.java @@ -1,5 +1,6 @@ package com.redstoner.modules.chat; +import java.lang.reflect.Method; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -7,6 +8,7 @@ import java.util.Set; import java.util.UUID; import org.bukkit.Bukkit; +import org.bukkit.Sound; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.entity.Player; @@ -29,7 +31,6 @@ import com.redstoner.modules.datamanager.DataManager; import com.redstoner.modules.ignore.Ignore; import net.nemez.chatapi.ChatAPI; -import net.nemez.chatapi.click.Message; @Commands(CommandHolderType.File) @AutoRegisterListener @@ -46,7 +47,6 @@ public class Chat implements Module, Listener { defaults.put("shrug", " %n %c§7→§r %m ¯\\_(ツ)_/¯"); defaults.put("print", "%m"); defaults.put("%c", "§c*"); - defaults.put("%c-hover", "§cChat Only"); } @Override @@ -203,28 +203,43 @@ public class Chat implements Module, Listener { } String raw = (String) DataManager.getConfigOrDefault(format, defaults.get(format)); - String formatted = raw.replace("%n", name).replace("%m", message); + String formatted = raw.replace("%n", name); BroadcastFilter filter = wrap(ModuleLoader.exists("Ignore") ? Ignore.getIgnoredBy(sender) : null, event); - if (isChatOnly) { - - String part1 = formatted.substring(0, formatted.indexOf("%c")); - String part2 = formatted.substring(formatted.indexOf("%c") + 2); - String indicatior = (String) DataManager.getConfigOrDefault("%c", defaults.get("%c")); - String indicatiorHover = (String) DataManager.getConfigOrDefault("%c-hover", defaults.get("%c-hover")); + formatted = !isChatOnly? formatted.replaceAll("%c", "") : formatted.replace("%c", (String) DataManager.getConfigOrDefault("%c", defaults.get("%c"))); + + if (ModuleLoader.exists("Mentio")) { + for (Player player : Bukkit.getOnlinePlayers()) + if (filter.sendTo(player)) { + ChatAPI.createMessage(player, sender).appendText(getMentioMessage(sender, player, formatted, message)).send(); + } - Message msg = ChatAPI.createMessage(null) - .appendText(part1) - .appendTextHover(indicatior, indicatiorHover) - .appendText(part2); - Utils.broadcast("", msg, filter); - return true; } - - Utils.broadcast("", ChatAPI.colorify(sender, formatted.replace("%c", "")), filter); - + else + Utils.broadcast("", ChatAPI.colorify(sender, formatted.replace("%m", message)), filter); + return true; } + + private String getMentioMessage(CommandSender sender, Player player, String format, String message) { + try { + Module mod = ModuleLoader.getModule("Mentio"); + Method m = mod.getClass().getDeclaredMethod("motifyMessageWithMentio", CommandSender.class, Player.class, String.class); + m.setAccessible(true); + + String msg = (String) m.invoke(mod, sender, player, message); + + if (msg != null) { + player.playSound(player.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1, 1); + return format.replace("%m", msg); + } + else + return format.replace("%m", message); + + } catch (Exception e) { + return format.replace("%m", message); + } + } public BroadcastFilter wrap(BroadcastFilter filter, AsyncPlayerChatEvent event) { if (event == null) return filter; diff --git a/src/main/java/com/redstoner/modules/mentio/Mentio.java b/src/main/java/com/redstoner/modules/mentio/Mentio.java index 6ffce96..f54cd64 100644 --- a/src/main/java/com/redstoner/modules/mentio/Mentio.java +++ b/src/main/java/com/redstoner/modules/mentio/Mentio.java @@ -3,16 +3,10 @@ package com.redstoner.modules.mentio; import java.io.File; import java.util.ArrayList; import java.util.UUID; -import java.util.regex.Pattern; -import org.bukkit.ChatColor; -import org.bukkit.Sound; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; import org.json.simple.JSONArray; import org.json.simple.JSONObject; @@ -20,14 +14,12 @@ import com.nemez.cmdmgr.Command; import com.redstoner.annotations.AutoRegisterListener; import com.redstoner.annotations.Commands; import com.redstoner.annotations.Version; -import com.redstoner.coremods.moduleLoader.ModuleLoader; import com.redstoner.misc.CommandHolderType; import com.redstoner.misc.JsonManager; import com.redstoner.misc.Main; import com.redstoner.modules.Module; -import com.redstoner.modules.ignore.Ignore; -import net.nemez.chatapi.click.Message; +import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener @@ -36,10 +28,12 @@ public class Mentio implements Module, Listener { private File mentioLocation = new File(Main.plugin.getDataFolder(), "mentio.json"); private JSONObject mentios; + public static Mentio instance; @Override public boolean onEnable() { + instance = this; loadMentios(); return true; } @@ -120,43 +114,37 @@ public class Mentio implements Module, Listener return mentios; } - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerChat(AsyncPlayerChatEvent event) + public String motifyMessageWithMentio(CommandSender permholder, Player player, String message) { - if (event.isCancelled()) - return; - for (Player player : event.getRecipients()) + UUID uuid = player.getUniqueId(); + JSONArray playerMentios = (JSONArray) mentios.get(uuid.toString()); + playerMentios = defaultMentio(playerMentios, player); + + for (Object raw : playerMentios) { - if (ModuleLoader.exists("Ignore") ? !Ignore.getIgnoredBy(event.getPlayer()).sendTo(player) : false) - return; - UUID uuid = player.getUniqueId(); - JSONArray playerMentios = (JSONArray) mentios.get(uuid.toString()); - playerMentios = defaultMentio(playerMentios, player); - for (Object raw : playerMentios) - { - String mentio = (String) raw; - if (event.getMessage().toLowerCase().contains(mentio.toLowerCase())) - { - event.getRecipients().remove(player); - String temp = event.getMessage().replaceAll("(?i)" + Pattern.quote(mentio) + ".*", ""); - String lastColorCodes = "§r"; - char lastChar = ' '; - for (char c : temp.toCharArray()) - { - if (lastChar == ChatColor.COLOR_CHAR) - lastColorCodes += "§" + c; - lastChar = c; - } - Message m = new Message(player, event.getPlayer()); - m.appendText(event.getFormat().replace("%1$s", event.getPlayer().getDisplayName()).replace("%2$s", - event.getMessage().replaceFirst("(?i)(" + Pattern.quote(mentio) + ")([^ ]*)", - "§a§o$1$2" + lastColorCodes))); - m.send(); - player.playSound(player.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1, 1); - return; + String mentio = (String) raw; + + String messageLC = message.toLowerCase(); + String mentioLC = mentio.toLowerCase(); + if (messageLC.contains(mentioLC)) + { + char color = 'r'; + int index = messageLC.indexOf(mentioLC); + for (int i = index; i > 0; i--) { + char next = messageLC.charAt(i-1); + char cur = messageLC.charAt(i); + if((next == '§' || next == '&') && ("" + cur).matches("[a-f0-9r]")) { + color = cur; + break; + } } + return ChatAPI.colorify(permholder, message.substring(0, index) + + "§a§o" + message.substring(index, index + mentio.length()) + "§r" + (permholder.hasPermission(ChatAPI.PERMISSION_CHAT_COLOR)? "&" + color : "")) + + message.substring(index + mentio.length()); } } + return null; + } private void loadMentios() -- cgit v1.2.3 From 6466001b9a32d49cccc6b883a3da0efd64fca51f Mon Sep 17 00:00:00 2001 From: Minenash Date: Sun, 13 Jan 2019 22:38:39 -0500 Subject: Fixed spelling in method (and method call) --- src/main/java/com/redstoner/modules/chat/Chat.java | 2 +- src/main/java/com/redstoner/modules/mentio/Mentio.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/redstoner/modules/chat/Chat.java b/src/main/java/com/redstoner/modules/chat/Chat.java index 1e09ea9..5a2f8d7 100644 --- a/src/main/java/com/redstoner/modules/chat/Chat.java +++ b/src/main/java/com/redstoner/modules/chat/Chat.java @@ -224,7 +224,7 @@ public class Chat implements Module, Listener { private String getMentioMessage(CommandSender sender, Player player, String format, String message) { try { Module mod = ModuleLoader.getModule("Mentio"); - Method m = mod.getClass().getDeclaredMethod("motifyMessageWithMentio", CommandSender.class, Player.class, String.class); + Method m = mod.getClass().getDeclaredMethod("modifyMessageWithMentio", CommandSender.class, Player.class, String.class); m.setAccessible(true); String msg = (String) m.invoke(mod, sender, player, message); diff --git a/src/main/java/com/redstoner/modules/mentio/Mentio.java b/src/main/java/com/redstoner/modules/mentio/Mentio.java index f54cd64..e7cb278 100644 --- a/src/main/java/com/redstoner/modules/mentio/Mentio.java +++ b/src/main/java/com/redstoner/modules/mentio/Mentio.java @@ -114,7 +114,7 @@ public class Mentio implements Module, Listener return mentios; } - public String motifyMessageWithMentio(CommandSender permholder, Player player, String message) + public String modifyMessageWithMentio(CommandSender permholder, Player player, String message) { UUID uuid = player.getUniqueId(); JSONArray playerMentios = (JSONArray) mentios.get(uuid.toString()); -- cgit v1.2.3 From 5459c791e2629f68eda952f0fe99df7d11f8b1f0 Mon Sep 17 00:00:00 2001 From: Minenash Date: Sun, 13 Jan 2019 23:09:20 -0500 Subject: Added world-specific arrow colors. Added format reset command*. *Can not reset world-specific settings --- src/main/java/com/redstoner/modules/chat/Chat.cmd | 8 +++++++- src/main/java/com/redstoner/modules/chat/Chat.java | 22 ++++++++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/redstoner/modules/chat/Chat.cmd b/src/main/java/com/redstoner/modules/chat/Chat.cmd index 339e128..d51d56b 100644 --- a/src/main/java/com/redstoner/modules/chat/Chat.cmd +++ b/src/main/java/com/redstoner/modules/chat/Chat.cmd @@ -87,4 +87,10 @@ command chatonly { help Shows that you're onlu able to chat, nothing else.; type player; } -} \ No newline at end of file +} + +command resetchatformating { + run resetformating; + help Resets the formatting to defaults.; + type console; +} diff --git a/src/main/java/com/redstoner/modules/chat/Chat.java b/src/main/java/com/redstoner/modules/chat/Chat.java index 5a2f8d7..9f494b3 100644 --- a/src/main/java/com/redstoner/modules/chat/Chat.java +++ b/src/main/java/com/redstoner/modules/chat/Chat.java @@ -40,13 +40,14 @@ public class Chat implements Module, Listener { private Set chatonly = new HashSet<>(); public Chat() { - defaults.put("chat", " %n %c§7→§r %m"); + defaults.put("chat", " %n %c%w→§r %m"); defaults.put("me", " §7- %n %c§7⇦ %m"); defaults.put("action", " §7- %n %c§7⇦ %m"); - defaults.put("say", " §7[§9%n§7]%c§7:§r %m"); - defaults.put("shrug", " %n %c§7→§r %m ¯\\_(ツ)_/¯"); + defaults.put("say", " §7[§9%n§7]%c%w:§r %m"); + defaults.put("shrug", " %n %c%w→§r %m ¯\\_(ツ)_/¯"); defaults.put("print", "%m"); defaults.put("%c", "§c*"); + defaults.put("%w-default", "§7"); } @Override @@ -58,9 +59,15 @@ public class Chat implements Module, Listener { DataManager.setConfig("shrug", defaults.get("shrug")); DataManager.setConfig("print", defaults.get("print")); DataManager.setConfig("%c", defaults.get("%c")); - DataManager.setConfig("%c-hover", defaults.get("%c-hover")); + DataManager.setConfig("%w-default", defaults.get("§7")); } + @Command(hook = "resetformating") + public void resetFormating(CommandSender sender) { + firstLoad(); + sender.sendMessage("Chat Formats have been reset to defaults."); + } + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerChat(AsyncPlayerChatEvent event) { Player player = event.getPlayer(); @@ -208,6 +215,13 @@ public class Chat implements Module, Listener { formatted = !isChatOnly? formatted.replaceAll("%c", "") : formatted.replace("%c", (String) DataManager.getConfigOrDefault("%c", defaults.get("%c"))); + + if (sender instanceof Player) + formatted = formatted.replace("%w", (String) DataManager.getConfigOrDefault(((Player)sender).getWorld().getName() + ".%w", + (String) DataManager.getConfigOrDefault("%w-default", defaults.get("%w-default")))); + else + formatted = formatted.replace("%w", ""); + if (ModuleLoader.exists("Mentio")) { for (Player player : Bukkit.getOnlinePlayers()) if (filter.sendTo(player)) { -- cgit v1.2.3 From 88427616de25e4731339ad5e3b10832a037419c7 Mon Sep 17 00:00:00 2001 From: Minenash Date: Sun, 13 Jan 2019 23:10:44 -0500 Subject: Fixed Chat and Mentio versions --- src/main/java/com/redstoner/modules/chat/Chat.java | 2 +- src/main/java/com/redstoner/modules/mentio/Mentio.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/redstoner/modules/chat/Chat.java b/src/main/java/com/redstoner/modules/chat/Chat.java index 9f494b3..9fcae4b 100644 --- a/src/main/java/com/redstoner/modules/chat/Chat.java +++ b/src/main/java/com/redstoner/modules/chat/Chat.java @@ -34,7 +34,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 0, compatible = 4) +@Version(major = 5, minor = 1, revision = 0, compatible = 4) public class Chat implements Module, Listener { private final Map defaults = new HashMap<>(); private Set chatonly = new HashSet<>(); diff --git a/src/main/java/com/redstoner/modules/mentio/Mentio.java b/src/main/java/com/redstoner/modules/mentio/Mentio.java index e7cb278..bca0d3c 100644 --- a/src/main/java/com/redstoner/modules/mentio/Mentio.java +++ b/src/main/java/com/redstoner/modules/mentio/Mentio.java @@ -23,7 +23,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 0, compatible = 4) +@Version(major = 5, minor = 1, revision = 0, compatible = 4) public class Mentio implements Module, Listener { private File mentioLocation = new File(Main.plugin.getDataFolder(), "mentio.json"); -- cgit v1.2.3 From c40d8655e214c119e8dbf32f0bbf3dcda3b6d44c Mon Sep 17 00:00:00 2001 From: Minenash Date: Sun, 13 Jan 2019 23:16:15 -0500 Subject: Fixed `resetchatformatting` command --- src/main/java/com/redstoner/modules/chat/Chat.cmd | 10 ++++++---- src/main/java/com/redstoner/modules/chat/Chat.java | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/redstoner/modules/chat/Chat.cmd b/src/main/java/com/redstoner/modules/chat/Chat.cmd index d51d56b..fcd91fc 100644 --- a/src/main/java/com/redstoner/modules/chat/Chat.cmd +++ b/src/main/java/com/redstoner/modules/chat/Chat.cmd @@ -89,8 +89,10 @@ command chatonly { } } -command resetchatformating { - run resetformating; - help Resets the formatting to defaults.; - type console; +command resetchatformatting { + [empty] { + run reset_formatting; + help Resets the formatting to defaults.; + type console; + } } diff --git a/src/main/java/com/redstoner/modules/chat/Chat.java b/src/main/java/com/redstoner/modules/chat/Chat.java index 9fcae4b..629ae39 100644 --- a/src/main/java/com/redstoner/modules/chat/Chat.java +++ b/src/main/java/com/redstoner/modules/chat/Chat.java @@ -62,8 +62,8 @@ public class Chat implements Module, Listener { DataManager.setConfig("%w-default", defaults.get("§7")); } - @Command(hook = "resetformating") - public void resetFormating(CommandSender sender) { + @Command(hook = "reset_formatting") + public void resetFormatting(CommandSender sender) { firstLoad(); sender.sendMessage("Chat Formats have been reset to defaults."); } -- cgit v1.2.3 From ac97d14d42091e0b6131583fae0f5b3e3b0afab8 Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 14 Jan 2019 13:24:44 -0500 Subject: Fixed console not seeing messages. --- src/main/java/com/redstoner/modules/chat/Chat.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/redstoner/modules/chat/Chat.java b/src/main/java/com/redstoner/modules/chat/Chat.java index 629ae39..663dded 100644 --- a/src/main/java/com/redstoner/modules/chat/Chat.java +++ b/src/main/java/com/redstoner/modules/chat/Chat.java @@ -227,6 +227,7 @@ public class Chat implements Module, Listener { if (filter.sendTo(player)) { ChatAPI.createMessage(player, sender).appendText(getMentioMessage(sender, player, formatted, message)).send(); } + Bukkit.getConsoleSender().sendMessage(ChatAPI.colorify(sender, formatted.replace("%m", message))); } else -- cgit v1.2.3 From a06b181ef8effe6822ff25a3d1f4559c581818ee Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 14 Jan 2019 13:27:04 -0500 Subject: Fixed Version --- src/main/java/com/redstoner/modules/chat/Chat.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/redstoner/modules/chat/Chat.java b/src/main/java/com/redstoner/modules/chat/Chat.java index 663dded..7472ced 100644 --- a/src/main/java/com/redstoner/modules/chat/Chat.java +++ b/src/main/java/com/redstoner/modules/chat/Chat.java @@ -34,7 +34,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 1, revision = 0, compatible = 4) +@Version(major = 5, minor = 1, revision = 1, compatible = 4) public class Chat implements Module, Listener { private final Map defaults = new HashMap<>(); private Set chatonly = new HashSet<>(); -- cgit v1.2.3 From 8fb9945e73efea8780c2d9fa2a5c2acb824b14e8 Mon Sep 17 00:00:00 2001 From: Minenash Date: Tue, 15 Jan 2019 18:35:30 -0500 Subject: Converted a config to use string isntead of pure ints. --- src/main/java/com/redstoner/modules/survival/Survival.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index beca0a2..54d05fd 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -24,7 +24,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 4, compatible = 4) +@Version(major = 5, minor = 0, revision = 5, compatible = 4) public class Survival implements Module, Listener { @EventHandler @@ -77,7 +77,7 @@ public class Survival implements Module, Listener { return; int perSleeping = 100 * sleepingPlayers / totalPlayers; - int perNeeded = (Integer) DataManager.getConfigOrDefault(world.getName() + ".perNeededToSleep", 51); + int perNeeded =Integer.parseInt((String) DataManager.getConfigOrDefault(world.getName() + ".perNeededToSleep", "51")); if (perSleeping == lastPer) return; -- cgit v1.2.3 From 71ae1b37793110e6210cd7a50333f22be38385d6 Mon Sep 17 00:00:00 2001 From: Logan Fick Date: Mon, 21 Jan 2019 20:42:41 -0500 Subject: Fixed general development branch lacking Travis CI configuration file. --- .travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..7c7ca10 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,8 @@ +--- +before_script: + - "build=true;for file in $(find . -name \"*.java\");do module_scan=$(grep -E \"public +(final +)?class +\\w+ +(extends +.* +)?implements +(\\w+, *)?Module\" \"$file\");if [ -z \"$module_scan\" ];then continue;fi;diff=$(git diff master \"$file\");if [ ! -z \"$diff\" ];then scanned=$(echo \"$x\" | grep \"@Version\");if [ -z \"$scanned\" ];then echo -e \"Found modified module with unchanged version number $file\";build=false;fi;fi;done;if ! $build;then echo -e \"Found one or more unchanged version numbers. Failing build.\";exit 1;fi" + - "if find . -name \"*.java\" | xargs grep \"System.out.print\"; then echo \"Found one or more direct prints to console. Failing build.\"; exit 1; fi;" +jdk: + - openjdk8 + - oraclejdk8 +language: java -- cgit v1.2.3