From 516c21533c44a554b5c6ad1787988ce4a2c29e73 Mon Sep 17 00:00:00 2001 From: ZeroEpoch1969 <13510767+ZeroEpoch1969@users.noreply.github.com> Date: Thu, 16 Aug 2018 17:20:50 -0700 Subject: [PATCH] . --- .../blocking/BlockBlocker.java | 27 +++++++++++++++++++ .../totalfreedommod/command/Command_ro.java | 2 +- .../command/Command_smite.java | 6 +++++ .../command/Command_unban.java | 2 +- .../totalfreedommod/util/MaterialGroup.java | 2 +- src/main/resources/config.yml | 1 + 6 files changed, 37 insertions(+), 3 deletions(-) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/blocking/BlockBlocker.java b/src/main/java/me/totalfreedom/totalfreedommod/blocking/BlockBlocker.java index ff844c2a..b5703b43 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/blocking/BlockBlocker.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/blocking/BlockBlocker.java @@ -5,8 +5,11 @@ import me.totalfreedom.totalfreedommod.TotalFreedomMod; import me.totalfreedom.totalfreedommod.config.ConfigEntry; import me.totalfreedom.totalfreedommod.util.FLog; import me.totalfreedom.totalfreedommod.util.FUtil; +import me.totalfreedom.totalfreedommod.util.MaterialGroup; import org.bukkit.ChatColor; import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.ShulkerBox; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -99,4 +102,28 @@ public class BlockBlocker extends FreedomService } } + @EventHandler(priority = EventPriority.HIGH) + public void onShulkerBoxPlace(BlockPlaceEvent event) + { + Block block = event.getBlock(); + if (MaterialGroup.SHULKER_BOXES.contains(event.getBlock().getType())) + { + ShulkerBox shulkerBox = (ShulkerBox)block.getState(); + boolean empty = true; + for (ItemStack itemStack : shulkerBox.getInventory().getContents()) + { + if (itemStack != null) + { + empty = false; + break; + } + } + if (!empty) + { + shulkerBox.getInventory().clear(); + event.getPlayer().sendMessage(ChatColor.RED + "For security reasons, your shulker box has been emptied."); + } + } + } + } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_ro.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_ro.java index 6f305f2b..db00338c 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_ro.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_ro.java @@ -32,7 +32,7 @@ public class Command_ro extends FreedomCommand String names = null; if (args[0].equalsIgnoreCase("shulker_boxes") || args[0].equalsIgnoreCase("shulkers")) { - materials.addAll(MaterialGroup.SHULKER_BOX_COLORS); + materials.addAll(MaterialGroup.SHULKER_BOXES); names = "shulker boxes"; } else diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_smite.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_smite.java index 94f266e7..f5fd4eab 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_smite.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_smite.java @@ -1,7 +1,10 @@ package me.totalfreedom.totalfreedommod.command; +import me.totalfreedom.totalfreedommod.punishments.Punishment; +import me.totalfreedom.totalfreedommod.punishments.PunishmentType; import me.totalfreedom.totalfreedommod.rank.Rank; import me.totalfreedom.totalfreedommod.util.FUtil; +import net.pravian.aero.util.Ips; import org.apache.commons.lang3.StringUtils; import org.bukkit.ChatColor; import org.bukkit.GameMode; @@ -39,6 +42,9 @@ public class Command_smite extends FreedomCommand } smite(sender, player, reason); + + plugin.pul.logPunishment(new Punishment(player.getName(), Ips.getIp(player), sender.getName(), PunishmentType.SMITE, reason)); + return true; } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unban.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unban.java index ab44b3a3..911fe276 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unban.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unban.java @@ -12,7 +12,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH) -@CommandParameters(description = "Unbans a player", usage = "/ [-r[estore]]", aliases = "pardon") +@CommandParameters(description = "Unbans a player", usage = "/ [-r[estore]]") public class Command_unban extends FreedomCommand { diff --git a/src/main/java/me/totalfreedom/totalfreedommod/util/MaterialGroup.java b/src/main/java/me/totalfreedom/totalfreedommod/util/MaterialGroup.java index de43a554..1961bf12 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/util/MaterialGroup.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/util/MaterialGroup.java @@ -23,7 +23,7 @@ public class MaterialGroup Material.GRAY_WOOL, Material.LIGHT_GRAY_WOOL, Material.BLACK_WOOL); - public static final List SHULKER_BOX_COLORS = Arrays.asList( + public static final List SHULKER_BOXES = Arrays.asList( Material.WHITE_SHULKER_BOX, Material.RED_SHULKER_BOX, Material.ORANGE_SHULKER_BOX, diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index cb15fe11..f4d5e1b5 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -120,6 +120,7 @@ blocked_commands: # Disabled commands - 'n:b:/time:Server-side time changing is disabled. Please use /ptime to set your own personal time.' - 'n:b:/gamemode:Use /creative and /survival to set your gamemode.' + - 'n:b:/pardon:_' - 'n:b:/ban-ip:_' - 'n:b:/pardon-ip:_' - 'n:b:/toggledownfall:_'