mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-06-27 19:24:43 +02:00
Flags :D
This commit is contained in:
@ -645,6 +645,8 @@ public class PlotMain extends JavaPlugin {
|
||||
|
||||
getServer().getPluginManager().registerEvents(new PlayerEvents(), this);
|
||||
|
||||
defaultFlags();
|
||||
|
||||
if (getServer().getPluginManager().getPlugin("CameraAPI") != null) {
|
||||
cameraAPI = CameraAPI.getInstance();
|
||||
Camera camera = new Camera();
|
||||
@ -1223,6 +1225,33 @@ public class PlotMain extends JavaPlugin {
|
||||
*/
|
||||
}
|
||||
|
||||
// Material.STONE_BUTTON, Material.WOOD_BUTTON,
|
||||
// Material.LEVER, Material.STONE_PLATE, Material.WOOD_PLATE,
|
||||
// Material.CHEST, Material.TRAPPED_CHEST, Material.TRAP_DOOR,
|
||||
// Material.WOOD_DOOR, Material.WOODEN_DOOR,
|
||||
// Material.DISPENSER, Material.DROPPER
|
||||
public static HashMap<Material, String> materialFlags = new HashMap<>();
|
||||
static {
|
||||
materialFlags.put(Material.WOODEN_DOOR, "wooden_door");
|
||||
materialFlags.put(Material.IRON_DOOR, "iron_door");
|
||||
materialFlags.put(Material.STONE_BUTTON, "stone_button");
|
||||
materialFlags.put(Material.WOOD_BUTTON, "wooden_button");
|
||||
materialFlags.put(Material.LEVER, "lever");
|
||||
materialFlags.put(Material.WOOD_PLATE, "wooden_plate");
|
||||
materialFlags.put(Material.STONE_PLATE, "stone_plate");
|
||||
materialFlags.put(Material.CHEST, "chest");
|
||||
materialFlags.put(Material.TRAPPED_CHEST, "trapped_chest");
|
||||
materialFlags.put(Material.TRAP_DOOR, "trap_door");
|
||||
materialFlags.put(Material.DISPENSER, "dispenser");
|
||||
materialFlags.put(Material.DROPPER, "dropper");
|
||||
}
|
||||
|
||||
private static void defaultFlags() {
|
||||
for(String str : materialFlags.values()) {
|
||||
FlagManager.addFlag(new AbstractFlag(str));
|
||||
}
|
||||
}
|
||||
|
||||
public static void addPlotWorld(String world, PlotWorld plotworld, PlotManager manager) {
|
||||
worlds.put(world, plotworld);
|
||||
managers.put(world, manager);
|
||||
|
@ -34,10 +34,7 @@ import org.bukkit.event.player.*;
|
||||
import org.bukkit.event.world.StructureGrowEvent;
|
||||
import org.bukkit.event.world.WorldLoadEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Player Events involving plots
|
||||
@ -496,6 +493,10 @@ public class PlayerEvents implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean getFlagValue(String value) {
|
||||
return Arrays.asList("true", "on", "enabled", "yes").contains(value.toLowerCase());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onInteract(PlayerInteractEvent event) {
|
||||
if (event.getClickedBlock() == null) {
|
||||
@ -523,6 +524,13 @@ public class PlayerEvents implements Listener {
|
||||
// })).contains(event.getClickedBlock().getType())) {
|
||||
// return;
|
||||
// }
|
||||
|
||||
if(PlotMain.materialFlags.containsKey(event.getClickedBlock().getType())) {
|
||||
String flag = PlotMain.materialFlags.get(event.getClickedBlock().getType());
|
||||
if(plot.settings.getFlag(flag) != null && getFlagValue(plot.settings.getFlag(flag).getValue()))
|
||||
return;
|
||||
}
|
||||
|
||||
if (!plot.hasRights(event.getPlayer())) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
Reference in New Issue
Block a user