Compare commits

..

No commits in common. "b9d4d863162431bb8fa47b42b77c3beac9c8e9fc" and "17eb186d2b5ccf9f6be5b37a98b3deb31fe676ea" have entirely different histories.

6 changed files with 7 additions and 89 deletions

View File

@ -6,7 +6,7 @@
<groupId>com.craftaro</groupId>
<artifactId>FabledSkyBlock</artifactId>
<version>3.0.8</version>
<version>3.0.7</version>
<name>FabledSkyBlock</name>
<description>Bring your server's SkyBlock experience to the next level with the ability to fine-tune island settings, create custom islands, view leaderboards, and much more</description>

View File

@ -204,14 +204,13 @@ public class Island {
for (BasicPermission permission : allPermissions) {
if (settingsDataConfig == null || settingsDataConfig.getFileConfiguration()
.getString("Settings." + roleList.getFriendlyName().toUpperCase(Locale.US) + "." + permission.getName()) == null) {
//save default value if not exist
.getString("Settings." + roleList.name() + "." + permission.getName()) == null) {
permissions.add(
new IslandPermission(permission, this.plugin.getSettings()
.getBoolean("Settings." + roleList.getFriendlyName().toUpperCase(Locale.US) + "." + permission.getName(), permission.getDefaultValues().get(roleList))));
.getBoolean("Settings." + roleList.name() + "." + permission.getName(), true)));
} else {
permissions.add(new IslandPermission(permission, settingsDataConfig.getFileConfiguration()
.getBoolean("Settings." + roleList.getFriendlyName().toUpperCase(Locale.US) + "." + permission.getName(), true)));
.getBoolean("Settings." + roleList.name() + "." + permission.getName(), true)));
}
}

View File

@ -12,37 +12,17 @@ import org.bukkit.inventory.meta.ItemMeta;
import javax.annotation.Nonnull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public abstract class BasicPermission {
private final String name;
private final XMaterial icon;
private final PermissionType type;
//It used to write the permission's value
//to the global settings.yml which will be defaulted on all islands
private final Map<IslandRole, Boolean> defaultValues;
protected BasicPermission(@Nonnull String name, @Nonnull XMaterial icon, @Nonnull PermissionType type) {
this(name, icon, type, new HashMap<>());
}
protected BasicPermission(@Nonnull String name, @Nonnull XMaterial icon, @Nonnull PermissionType type, Map<IslandRole, Boolean> defaultValues) {
this.name = name;
this.icon = icon;
this.type = type;
if (defaultValues.isEmpty()) {
this.defaultValues = new HashMap<>();
this.defaultValues.put(IslandRole.VISITOR, false);
this.defaultValues.put(IslandRole.MEMBER, true);
this.defaultValues.put(IslandRole.OPERATOR, true);
this.defaultValues.put(IslandRole.COOP, true);
this.defaultValues.put(IslandRole.OWNER, true);
} else {
this.defaultValues = defaultValues;
}
}
public ItemStack getItem(Island island, IslandRole role) {
@ -92,8 +72,4 @@ public abstract class BasicPermission {
public PermissionType getType() {
return this.type;
}
public Map<IslandRole, Boolean> getDefaultValues() {
return defaultValues;
}
}

View File

@ -1,6 +1,5 @@
package com.craftaro.skyblock.permission;
import com.craftaro.skyblock.island.IslandRole;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.third_party.com.cryptomorin.xseries.XSound;
import com.craftaro.skyblock.SkyBlock;
@ -35,17 +34,11 @@ import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.vehicle.VehicleDamageEvent;
import org.bukkit.event.vehicle.VehicleDestroyEvent;
import java.util.Map;
public abstract class ListeningPermission extends BasicPermission {
protected ListeningPermission(String name, XMaterial icon, PermissionType type) {
super(name, icon, type);
}
protected ListeningPermission(String name, XMaterial icon, PermissionType type, Map<IslandRole, Boolean> defaultValues) {
super(name, icon, type, defaultValues);
}
public void onInteract(PlayerInteractEvent event) {
}

View File

@ -1,6 +1,5 @@
package com.craftaro.skyblock.permission;
import com.craftaro.core.compatibility.ServerVersion;
import com.craftaro.skyblock.SkyBlock;
import com.craftaro.skyblock.config.FileManager;
import com.craftaro.skyblock.island.Island;
@ -142,10 +141,6 @@ public class PermissionManager {
registerPermission(new HungerPermission(plugin));
}
if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_20)) {
registerPermission(new SignEditPermission(plugin));
}
this.registeredHandlers = this.registeredHandlers.stream()
.sorted(Comparator.comparingInt(h -> h.getHandler().getAnnotation(PermissionHandler.class).priority().ordinal()))
.collect(Collectors.toList());
@ -158,16 +153,13 @@ public class PermissionManager {
switch (permission.getType()) {
case GENERIC:
if (settingsConfigLoad.getString("Settings.Visitor." + permission.getName()) == null) {
settingsConfigLoad.set("Settings.Visitor." + permission.getName(), permission.getDefaultValues().get(IslandRole.VISITOR));
if (permission.getName().equals("EditSign")) {
System.err.println("Default EditSign Visitor permission set to: " + permission.getDefaultValues().get(IslandRole.VISITOR));
}
settingsConfigLoad.set("Settings.Visitor." + permission.getName(), true);
}
if (settingsConfigLoad.getString("Settings.Member." + permission.getName()) == null) {
settingsConfigLoad.set("Settings.Member." + permission.getName(), permission.getDefaultValues().get(IslandRole.MEMBER));
settingsConfigLoad.set("Settings.Member." + permission.getName(), true);
}
if (settingsConfigLoad.getString("Settings.Coop." + permission.getName()) == null) {
settingsConfigLoad.set("Settings.Coop." + permission.getName(), permission.getDefaultValues().get(IslandRole.COOP));
settingsConfigLoad.set("Settings.Coop." + permission.getName(), true);
}
break;
case OPERATOR:

View File

@ -1,42 +0,0 @@
package com.craftaro.skyblock.permission.permissions.listening;
import com.craftaro.skyblock.SkyBlock;
import com.craftaro.skyblock.island.IslandRole;
import com.craftaro.skyblock.permission.ListeningPermission;
import com.craftaro.skyblock.permission.PermissionHandler;
import com.craftaro.skyblock.permission.PermissionType;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerInteractEvent;
import java.util.HashMap;
import java.util.Map;
public class SignEditPermission extends ListeningPermission {
private final SkyBlock plugin;
public SignEditPermission(SkyBlock plugin) {
super("EditSign", XMaterial.OAK_SIGN, PermissionType.GENERIC, new HashMap<IslandRole, Boolean>() {{
put(IslandRole.VISITOR, false);
put(IslandRole.MEMBER, true);
put(IslandRole.OPERATOR, true);
put(IslandRole.COOP, true);
put(IslandRole.OWNER, true);
}});
this.plugin = plugin;
}
@PermissionHandler
public void onInteract(PlayerInteractEvent event) {
if (event.getClickedBlock() == null) {
return;
}
Player player = event.getPlayer();
if (event.getClickedBlock().getType().name().contains("SIGN")) {
cancelAndMessage(event, player, this.plugin, this.plugin.getMessageManager());
}
}
}