Skip to content

Commit

Permalink
Add import arguments, fix dependency issues
Browse files Browse the repository at this point in the history
  • Loading branch information
T14D3 committed Jan 16, 2025
1 parent 4a52e85 commit 451554c
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 5 deletions.
4 changes: 4 additions & 0 deletions src/main/java/de/t14d3/zones/brigadier/Command.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ public LiteralCommandNode<CommandSourceStack> node() {
case "LIST", "CANCEL", "CREATE", "SAVE", "LOAD" -> {
return builder.buildFuture();
}
case "IMPORT" -> {
builder.suggest("worldguard", MessageComponentSerializer.message().serialize(Component.text("Imports regions from WorldGuard")));
return builder.buildFuture();
}
default -> {
}
}
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/de/t14d3/zones/brigadier/SubCommands.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ public enum SubCommands {
RENAME(Component.text("Renames a region").color(NamedTextColor.YELLOW)),
SUBCREATE(Component.text("Creates a sub-region").color(NamedTextColor.DARK_PURPLE)),
SAVE(Component.text("Saves all regions to file").color(NamedTextColor.DARK_GREEN)),
LOAD(Component.text("Loads all regions from file").color(NamedTextColor.DARK_AQUA));
LOAD(Component.text("Loads all regions from file").color(NamedTextColor.DARK_AQUA)),
IMPORT(Component.text("Imports regions from another plugin").color(NamedTextColor.DARK_PURPLE));


private final Component info;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,11 @@ public void importRegions() {
String name = entry.getKey();
Location min = BukkitAdapter.adapt(world, region.getMinimumPoint());
Location max = BukkitAdapter.adapt(world, region.getMaximumPoint());

Map<String, Map<String, String>> members = new HashMap<>();
members.put("+group-members", Map.of("break", "true", "place", "true", "container", "true", "redstone", "true", "interact", "true", "entity", "true", "damage", "true"));

region.getMembers().getUniqueIds().forEach(uuid -> members.put(uuid.toString(), Map.of("role", "member")));
region.getMembers().getUniqueIds().forEach(uuid -> members.put(uuid.toString(), Map.of("group", "member")));
region.getOwners().getUniqueIds().forEach(uuid -> members.put(uuid.toString(), Map.of("role", "owner")));

Region newRegion = plugin.getRegionManager().createNewRegion(key, name, min, max, members);
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/de/t14d3/zones/listeners/CommandListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import de.t14d3.zones.RegionManager;
import de.t14d3.zones.Zones;
import de.t14d3.zones.integrations.WorldGuardImporter;
import de.t14d3.zones.utils.Actions;
import de.t14d3.zones.utils.Direction;
import de.t14d3.zones.utils.Messages;
import io.papermc.paper.command.brigadier.CommandSourceStack;
Expand Down Expand Up @@ -327,11 +326,11 @@ public void handleInfoCommand(CommandSender sender, String[] args) {
if (sender instanceof Player) {
player = (Player) sender;
}
if (!sender.hasPermission("zones.info.other") && (player != null && !this.plugin.getPermissionManager().isAdmin(player.getUniqueId().toString(), regions.get(regionKey)))) {
if (!sender.hasPermission("zones.info.other") && (player != null && !regions.get(regionKey).isMember(player.getUniqueId()))) {
sender.sendMessage(miniMessage.deserialize(messages.get("commands.no-permission")));
return;
}
regionInfo(regions.entrySet().stream().filter(entry -> entry.getKey().equals(regionKey)).findFirst().get(), true)
regionInfo(regions.entrySet().stream().filter(entry -> entry.getKey().equals(regionKey)).findFirst().get(), regions.get(regionKey).isAdmin(player.getUniqueId()))
.thenAccept(sender::sendMessage);

}
Expand Down
12 changes: 12 additions & 0 deletions src/main/resources/paper-plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@ version: '${version}'
main: de.t14d3.zones.Zones
api-version: '1.21'
bootstrapper: de.t14d3.zones.PaperBootstrap
dependencies:
server:
WorldGuard:
join-classpath: true
PlaceholderAPI:
join-classpath: true
WorldEdit:
join-classpath: true
FastAsyncWorldEdit:
join-classpath: true


permissions:
zones.info:
description: Allow players to view region information
Expand Down

0 comments on commit 451554c

Please sign in to comment.