mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-27 12:45:59 +01:00
various fixes
This commit is contained in:
parent
c16a6c85e0
commit
d0fd8f09c1
@ -72,6 +72,17 @@ public class FlagCmd extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "info": {
|
||||
if (!PlotMain.hasPermission(player, "plots.set.flag")) {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.flag.info");
|
||||
return false;
|
||||
}
|
||||
if (args.length != 2) {
|
||||
PlayerFunctions.sendMessage(player, C.COMMAND_SYNTAX, "/plot flag info <flag>");
|
||||
return false;
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, "&cNot implemented.");
|
||||
}
|
||||
case "set": {
|
||||
if (!PlotMain.hasPermission(player, "plots.set.flag")) {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.set.flag");
|
||||
|
@ -34,6 +34,7 @@ import org.bukkit.entity.Player;
|
||||
import com.intellectualcrafters.plot.PlotMain;
|
||||
import com.intellectualcrafters.plot.config.C;
|
||||
import com.intellectualcrafters.plot.database.DBFunc;
|
||||
import com.intellectualcrafters.plot.flag.Flag;
|
||||
import com.intellectualcrafters.plot.flag.FlagManager;
|
||||
import com.intellectualcrafters.plot.object.InfoInventory;
|
||||
import com.intellectualcrafters.plot.object.Plot;
|
||||
|
@ -181,7 +181,15 @@ import com.intellectualcrafters.plot.object.PlotWorld;
|
||||
Set<Flag> plotflags = settings.flags;
|
||||
PlotWorld plotworld = PlotMain.getWorldSettings(world);
|
||||
if (plotworld != null && plotworld.DEFAULT_FLAGS != null && plotworld.DEFAULT_FLAGS.length > 0) {
|
||||
plotflags.addAll(Arrays.asList(plotworld.DEFAULT_FLAGS));
|
||||
HashSet<String> flagStrings = new HashSet<>();
|
||||
for (Flag flag : plotflags) {
|
||||
flagStrings.add(flag.getKey());
|
||||
}
|
||||
for (Flag newflag : plotworld.DEFAULT_FLAGS) {
|
||||
if (!flagStrings.contains(newflag.getKey())) {
|
||||
plotflags.add(newflag);
|
||||
}
|
||||
}
|
||||
}
|
||||
return plotflags;
|
||||
}
|
||||
|
@ -46,6 +46,7 @@ import org.bukkit.entity.minecart.RideableMinecart;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockDamageEvent;
|
||||
import org.bukkit.event.block.BlockFadeEvent;
|
||||
@ -254,9 +255,9 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
||||
final Plot plot = getCurrentPlot(event.getBlock().getLocation());
|
||||
if (!plot.hasOwner()) {
|
||||
if (PlotMain.hasPermission(player, "plots.admin.destroy.unowned")) {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.destroy.unowned");
|
||||
return;
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.destroy.unowned");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
if (!plot.hasRights(event.getPlayer())) {
|
||||
@ -266,17 +267,17 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
||||
return;
|
||||
}
|
||||
if (PlotMain.hasPermission(event.getPlayer(), "plots.admin.destroy.other")) {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.destroy.other");
|
||||
return;
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.destroy.other");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (PlotMain.hasPermission(event.getPlayer(), "plots.admin.destroy.road")) {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.destroy.road");
|
||||
return;
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.destroy.road");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@ -492,6 +493,9 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public static void onInteract(final PlayerInteractEvent event) {
|
||||
if (event.getAction() == Action.LEFT_CLICK_BLOCK) {
|
||||
return;
|
||||
}
|
||||
Block block = event.getClickedBlock();
|
||||
if (block == null) {
|
||||
return;
|
||||
@ -505,9 +509,10 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
||||
final Plot plot = getCurrentPlot(event.getClickedBlock().getLocation());
|
||||
if (!plot.hasOwner()) {
|
||||
if (PlotMain.hasPermission(player, "plots.admin.interact.unowned")) {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.interact.unowned");
|
||||
return;
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.interact.unowned");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
Flag use = FlagManager.getPlotFlag(plot, "use");
|
||||
if (use != null && ((HashSet<PlotBlock>) use.getValue()).contains(new PlotBlock((short) block.getTypeId(), block.getData()))) {
|
||||
@ -515,17 +520,17 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
||||
}
|
||||
if (!plot.hasRights(player)) {
|
||||
if (PlotMain.hasPermission(player, "plots.admin.interact.other")) {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.interact.other");
|
||||
return;
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.interact.other");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (PlotMain.hasPermission(player, "plots.admin.interact.road")) {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.interact.road");
|
||||
return;
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.admin.interact.road");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@ -867,44 +872,6 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void ArmorStandDestroy(EntityDamageByEntityEvent e){
|
||||
final Location l = e.getEntity().getLocation();
|
||||
if (isPlotWorld(l)) {
|
||||
Entity d = e.getDamager();
|
||||
if (d instanceof Player) {
|
||||
final Player p = (Player) d;
|
||||
final PlotWorld pW = getPlotWorld(l.getWorld());
|
||||
if (!isInPlot(l)) {
|
||||
if (!PlotMain.hasPermission(p, "plots.admin.destroy.road")) {
|
||||
PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.destroy.road");
|
||||
e.setCancelled(true);
|
||||
}
|
||||
} else {
|
||||
final Plot plot = getCurrentPlot(l);
|
||||
if (plot == null || !plot.hasOwner()) {
|
||||
if (!PlotMain.hasPermission(p, "plots.admin.destroy.unowned")) {
|
||||
PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.destroy.unowned");
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (!plot.hasRights(p)) {
|
||||
if (FlagManager.isPlotFlagTrue(plot, "hanging-break")) {
|
||||
return;
|
||||
}
|
||||
if (!PlotMain.hasPermission(p, "plots.admin.destroy.other")) {
|
||||
PlayerFunctions.sendMessage(p, C.NO_PERMISSION, "plots.admin.destroy.other");
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||
public static void onEntityDamageByEntityEvent(final EntityDamageByEntityEvent e) {
|
||||
final Location l = e.getEntity().getLocation();
|
||||
@ -933,10 +900,10 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
} else if (aPlr && !booleanFlag(plot, "pvp", false)) {
|
||||
} else if (aPlr && booleanFlag(plot, "pvp", false)) {
|
||||
return;
|
||||
}
|
||||
if (!aPlr && !booleanFlag(plot, "pve", false)) {
|
||||
if (!aPlr && booleanFlag(plot, "pve", false)) {
|
||||
return;
|
||||
}
|
||||
assert plot != null;
|
||||
|
Loading…
Reference in New Issue
Block a user