mirror of
https://github.com/JamesPeters98/ChestsPlusPlus.git
synced 2025-03-13 07:09:07 +01:00
Added WorldBlack list setting
This commit is contained in:
parent
80aef139ac
commit
0f117e5332
@ -3,6 +3,7 @@ package com.jamesdpeters.minecraft.chests.commands;
|
||||
import com.jamesdpeters.minecraft.chests.ChestsPlusPlus;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Messages;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Permissions;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Settings;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Utils;
|
||||
import com.jamesdpeters.minecraft.chests.storage.autocraft.AutoCraftingStorage;
|
||||
import com.jamesdpeters.minecraft.chests.serialize.Config;
|
||||
@ -77,7 +78,7 @@ public class AutoCraftCommand extends ServerCommand {
|
||||
return true;
|
||||
case ADD:
|
||||
if(args.length > 1){
|
||||
if (player.hasPermission(Permissions.AUTOCRAFT_ADD)) {
|
||||
if (player.hasPermission(Permissions.AUTOCRAFT_ADD) && !Settings.isBlacklistedWorld(player.getWorld())) {
|
||||
Block targetBlock = player.getTargetBlockExact(5);
|
||||
if (targetBlock != null) Config.getAutoCraft().createStorage(player, targetBlock, args[1],true);
|
||||
else Config.getAutoCraft().getMessages().mustLookAtBlock(player);
|
||||
@ -92,7 +93,7 @@ public class AutoCraftCommand extends ServerCommand {
|
||||
}
|
||||
case OPEN:
|
||||
if(args.length > 1){
|
||||
if(sender.hasPermission(Permissions.AUTOCRAFT_OPEN)) {
|
||||
if(sender.hasPermission(Permissions.AUTOCRAFT_OPEN) && !Settings.isBlacklistedWorld(player.getWorld())) {
|
||||
AutoCraftingStorage invs;
|
||||
if(args[1].contains(":")){
|
||||
invs = Config.getAutoCraft().getStorage(player,args[1]);
|
||||
|
@ -4,6 +4,7 @@ import com.jamesdpeters.minecraft.chests.ChestsPlusPlus;
|
||||
import com.jamesdpeters.minecraft.chests.inventories.ChestLinkMenu;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Messages;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Permissions;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Settings;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Utils;
|
||||
import com.jamesdpeters.minecraft.chests.serialize.Config;
|
||||
import com.jamesdpeters.minecraft.chests.storage.chestlink.ChestLinkStorage;
|
||||
@ -80,7 +81,7 @@ public class ChestLinkCommand extends ServerCommand {
|
||||
return true;
|
||||
case ADD:
|
||||
if(args.length > 1){
|
||||
if(sender.hasPermission(Permissions.ADD)) {
|
||||
if(sender.hasPermission(Permissions.ADD) && !Settings.isBlacklistedWorld(player.getWorld())) {
|
||||
Block targetBlock = player.getTargetBlockExact(5);
|
||||
if (targetBlock != null) Config.getChestLink().createStorage(player,targetBlock,args[1],true);
|
||||
else Config.getChestLink().getMessages().mustLookAtBlock(player);
|
||||
@ -96,7 +97,7 @@ public class ChestLinkCommand extends ServerCommand {
|
||||
}
|
||||
case OPEN:
|
||||
if(args.length > 1){
|
||||
if(sender.hasPermission(Permissions.OPEN)) {
|
||||
if(sender.hasPermission(Permissions.OPEN) && !Settings.isBlacklistedWorld(player.getWorld())) {
|
||||
ChestLinkStorage invs;
|
||||
if(args[1].contains(":")){
|
||||
invs = Config.getChestLink().getStorage(player,args[1]);
|
||||
@ -115,7 +116,7 @@ public class ChestLinkCommand extends ServerCommand {
|
||||
return true;
|
||||
}
|
||||
case MENU:
|
||||
if(sender.hasPermission(Permissions.MENU)) {
|
||||
if(sender.hasPermission(Permissions.MENU) && !Settings.isBlacklistedWorld(player.getWorld())) {
|
||||
ChestLinkMenu.getMenu(player).open(player);
|
||||
return true;
|
||||
} else {
|
||||
|
@ -1,8 +1,14 @@
|
||||
package com.jamesdpeters.minecraft.chests.misc;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class Settings {
|
||||
|
||||
private static String CHECK_UPDATE = "update-checker";
|
||||
@ -14,6 +20,7 @@ public class Settings {
|
||||
private static String SHOULD_CHEST_ARMOUR_STAND = "display_chestlink_armour_stands";
|
||||
private static String SHOULD_AUTOCRAFT_ARMOUR_STAND = "display_chestlink_armour_stands";
|
||||
private static String INVISIBLE_FILTER_ITEM_FRAMES = "set-filter-itemframe-invisible";
|
||||
private static String WORLD_BLACKLIST = "world-blacklist";
|
||||
|
||||
private static Settings cf;
|
||||
private FileConfiguration configuration;
|
||||
@ -28,6 +35,7 @@ public class Settings {
|
||||
private static boolean shouldDisplayChestLinkStand;
|
||||
private static boolean shouldDisplayAutoCraftStand;
|
||||
private static boolean filterItemFrameInvisible;
|
||||
private static List<String> worldBlacklist;
|
||||
|
||||
public static void initConfig(Plugin plugin){
|
||||
cf = new Settings();
|
||||
@ -44,6 +52,7 @@ public class Settings {
|
||||
cf.configuration.addDefault(SHOULD_CHEST_ARMOUR_STAND,true);
|
||||
cf.configuration.addDefault(SHOULD_AUTOCRAFT_ARMOUR_STAND,true);
|
||||
cf.configuration.addDefault(INVISIBLE_FILTER_ITEM_FRAMES, false);
|
||||
cf.configuration.addDefault(WORLD_BLACKLIST, Collections.singletonList(""));
|
||||
|
||||
cf.configuration.options().copyDefaults(true);
|
||||
cf.plugin.saveConfig();
|
||||
@ -67,6 +76,7 @@ public class Settings {
|
||||
shouldDisplayChestLinkStand = cf.configuration.getBoolean(SHOULD_CHEST_ARMOUR_STAND);
|
||||
shouldDisplayAutoCraftStand = cf.configuration.getBoolean(SHOULD_AUTOCRAFT_ARMOUR_STAND);
|
||||
filterItemFrameInvisible = cf.configuration.getBoolean(INVISIBLE_FILTER_ITEM_FRAMES);
|
||||
worldBlacklist = cf.configuration.getStringList(WORLD_BLACKLIST);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -93,4 +103,9 @@ public class Settings {
|
||||
public static boolean isFilterItemFrameInvisible() {
|
||||
return filterItemFrameInvisible;
|
||||
}
|
||||
public static List<String> getWorldBlacklist(){ return worldBlacklist; }
|
||||
|
||||
public static boolean isBlacklistedWorld(World world){
|
||||
return worldBlacklist.contains(world.getName());
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.jamesdpeters.minecraft.chests.storage.autocraft;
|
||||
|
||||
import com.jamesdpeters.minecraft.chests.misc.Messages;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Permissions;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Settings;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Utils;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Values;
|
||||
import com.jamesdpeters.minecraft.chests.serialize.Config;
|
||||
@ -57,7 +58,7 @@ public class AutoCraftingStorageType extends StorageType<AutoCraftingStorage> {
|
||||
|
||||
@Override
|
||||
public boolean hasPermissionToAdd(Player player) {
|
||||
return player.hasPermission(Permissions.AUTOCRAFT_ADD);
|
||||
return player.hasPermission(Permissions.AUTOCRAFT_ADD) && !Settings.isBlacklistedWorld(player.getWorld());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.jamesdpeters.minecraft.chests.storage.chestlink;
|
||||
|
||||
import com.jamesdpeters.minecraft.chests.misc.Permissions;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Settings;
|
||||
import com.jamesdpeters.minecraft.chests.misc.Values;
|
||||
import com.jamesdpeters.minecraft.chests.runnables.ChestLinkVerifier;
|
||||
import com.jamesdpeters.minecraft.chests.serialize.Config;
|
||||
@ -52,7 +53,7 @@ public class ChestLinkStorageType extends StorageType<ChestLinkStorage> {
|
||||
|
||||
@Override
|
||||
public boolean hasPermissionToAdd(Player player) {
|
||||
return player.hasPermission(Permissions.ADD);
|
||||
return player.hasPermission(Permissions.ADD) && !Settings.isBlacklistedWorld(player.getWorld());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user