SteamWar/BauSystem
Archiviert
13
0

Add buildPermission to CommandRedstoneTester

Dieser Commit ist enthalten in:
yoyosource 2021-03-08 11:01:01 +01:00
Ursprung 7b7e10d6cc
Commit e1cdd4f1b7
3 geänderte Dateien mit 32 neuen und 1 gelöschten Zeilen

Datei anzeigen

@ -76,8 +76,10 @@ public class CommandGUI implements CommandExecutor, Listener {
player.performCommand("sim wand"); player.performCommand("sim wand");
}); });
ItemStack redstoneWand = wand(player, RedstoneListener.WAND, "§8/§7redstonetester wand", null, ""); ItemStack redstoneWand = wand(player, RedstoneListener.WAND, "§8/§7redstonetester wand", Permission.build, "Du hast keine Buildrechte");
inv.setItem(37, redstoneWand, clickType -> { inv.setItem(37, redstoneWand, clickType -> {
if (Welt.noPermission(player, Permission.build))
return;
player.closeInventory(); player.closeInventory();
player.performCommand("redstonetester wand"); player.performCommand("redstonetester wand");
}); });

Datei anzeigen

@ -19,8 +19,11 @@
package de.steamwar.bausystem.commands; package de.steamwar.bausystem.commands;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.SWUtils; import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.world.RedstoneListener; import de.steamwar.bausystem.world.RedstoneListener;
import de.steamwar.bausystem.world.Welt;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -33,6 +36,14 @@ public class CommandRedstoneTester implements CommandExecutor {
player.sendMessage("§8/§eredstonetester wand §8- §7Legt dir den Testerstab ins Inventar"); player.sendMessage("§8/§eredstonetester wand §8- §7Legt dir den Testerstab ins Inventar");
} }
private boolean permissionCheck(Player player) {
if (Welt.noPermission(player, Permission.build)) {
player.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht den Redstonetester nutzen");
return false;
}
return true;
}
@Override @Override
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) { public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) {
if (!(commandSender instanceof Player)) if (!(commandSender instanceof Player))
@ -42,6 +53,11 @@ public class CommandRedstoneTester implements CommandExecutor {
help(player); help(player);
return false; return false;
} }
if (!permissionCheck(player)) {
return false;
}
switch (args[0].toLowerCase()) { switch (args[0].toLowerCase()) {
case "wand": case "wand":
SWUtils.giveItemToPlayer(player, RedstoneListener.WAND); SWUtils.giveItemToPlayer(player, RedstoneListener.WAND);

Datei anzeigen

@ -20,6 +20,7 @@
package de.steamwar.bausystem.world; package de.steamwar.bausystem.world;
import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.inventory.SWItem; import de.steamwar.inventory.SWItem;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
@ -82,6 +83,14 @@ public class RedstoneListener implements Listener {
private Map<Player, RedstoneTester> playerMap = new HashMap<>(); private Map<Player, RedstoneTester> playerMap = new HashMap<>();
public static final ItemStack WAND = new SWItem(Material.BLAZE_ROD, "§eRedstonetester", Arrays.asList("§eLinksklick Block §8- §7Setzt die 1. Position", "§eRechtsklick Block §8- §7Setzt die 2. Position", "§eShift-Rechtsklick Luft §8- §7Zurücksetzten"), false, null).getItemStack(); public static final ItemStack WAND = new SWItem(Material.BLAZE_ROD, "§eRedstonetester", Arrays.asList("§eLinksklick Block §8- §7Setzt die 1. Position", "§eRechtsklick Block §8- §7Setzt die 2. Position", "§eShift-Rechtsklick Luft §8- §7Zurücksetzten"), false, null).getItemStack();
private boolean permissionCheck(Player player) {
if (Welt.noPermission(player, Permission.build)) {
player.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht den Redstonetester nutzen");
return false;
}
return true;
}
@EventHandler @EventHandler
public void onPlayerInteract(PlayerInteractEvent event) { public void onPlayerInteract(PlayerInteractEvent event) {
if (!WAND.isSimilar(event.getItem())) return; if (!WAND.isSimilar(event.getItem())) return;
@ -89,6 +98,10 @@ public class RedstoneListener implements Listener {
Block block = event.getClickedBlock(); Block block = event.getClickedBlock();
event.setCancelled(true); event.setCancelled(true);
if (!permissionCheck(event.getPlayer())) {
return;
}
switch (event.getAction()) { switch (event.getAction()) {
case RIGHT_CLICK_AIR: case RIGHT_CLICK_AIR:
if (player.isSneaking()) { if (player.isSneaking()) {