Retain cross-version compatibility & cleanup (#374)
This commit is contained in:
@@ -29,5 +29,6 @@
|
|||||||
*.ipr
|
*.ipr
|
||||||
*.iws
|
*.iws
|
||||||
.idea/
|
.idea/
|
||||||
|
out/
|
||||||
|
|
||||||
*.DS_Store
|
*.DS_Store
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<groupId>com.drtshock</groupId>
|
<groupId>com.drtshock</groupId>
|
||||||
<artifactId>PlayerVaultsX</artifactId>
|
<artifactId>PlayerVaultsX</artifactId>
|
||||||
<version>4.1.0</version>
|
<version>4.1.1</version>
|
||||||
<name>PlayerVaultsX</name>
|
<name>PlayerVaultsX</name>
|
||||||
<url>https://www.spigotmc.org/resources/51204/</url>
|
<url>https://www.spigotmc.org/resources/51204/</url>
|
||||||
|
|
||||||
@@ -53,13 +53,13 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>spigot-api</artifactId>
|
<artifactId>spigot-api</artifactId>
|
||||||
<version>1.13-R0.1-SNAPSHOT</version>
|
<version>1.13.2-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.milkbowl.vault</groupId>
|
<groupId>net.milkbowl.vault</groupId>
|
||||||
<artifactId>VaultAPI</artifactId>
|
<artifactId>VaultAPI</artifactId>
|
||||||
<version>1.6</version>
|
<version>1.7</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
@@ -51,14 +51,14 @@ import java.util.UUID;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class PlayerVaults extends JavaPlugin {
|
public class PlayerVaults extends JavaPlugin {
|
||||||
|
|
||||||
private static PlayerVaults instance;
|
|
||||||
public static boolean DEBUG = false;
|
public static boolean DEBUG = false;
|
||||||
|
private static PlayerVaults instance;
|
||||||
private final HashMap<String, SignSetInfo> setSign = new HashMap<>();
|
private final HashMap<String, SignSetInfo> setSign = new HashMap<>();
|
||||||
// Player name - VaultViewInfo
|
// Player name - VaultViewInfo
|
||||||
private final HashMap<String, VaultViewInfo> inVault = new HashMap<>();
|
private final HashMap<String, VaultViewInfo> inVault = new HashMap<>();
|
||||||
// VaultViewInfo - Inventory
|
// VaultViewInfo - Inventory
|
||||||
private final HashMap<String, Inventory> openInventories = new HashMap<>();
|
private final HashMap<String, Inventory> openInventories = new HashMap<>();
|
||||||
|
private final Set<Material> blockedMats = new HashSet<>();
|
||||||
private Economy economy = null;
|
private Economy economy = null;
|
||||||
private boolean useVault = false;
|
private boolean useVault = false;
|
||||||
private YamlConfiguration signs;
|
private YamlConfiguration signs;
|
||||||
@@ -68,7 +68,24 @@ public class PlayerVaults extends JavaPlugin {
|
|||||||
private File backupsFolder = null;
|
private File backupsFolder = null;
|
||||||
private File uuidData;
|
private File uuidData;
|
||||||
private File vaultData;
|
private File vaultData;
|
||||||
private final Set<Material> blockedMats = new HashSet<>();
|
private String _versionString;
|
||||||
|
|
||||||
|
public static PlayerVaults getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void debug(String s, long start) {
|
||||||
|
long elapsed = System.currentTimeMillis() - start;
|
||||||
|
if (DEBUG || elapsed > 4) {
|
||||||
|
Bukkit.getLogger().log(Level.INFO, "At {0}. Time since start: {1}ms", new Object[]{s, (elapsed)});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void debug(String s) {
|
||||||
|
if (DEBUG) {
|
||||||
|
Bukkit.getLogger().log(Level.INFO, s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
@@ -144,7 +161,7 @@ public class PlayerVaults extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender sender, Command cmd, String label, String args[]) {
|
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
||||||
if (cmd.getName().equalsIgnoreCase("pvreload")) {
|
if (cmd.getName().equalsIgnoreCase("pvreload")) {
|
||||||
reloadConfig();
|
reloadConfig();
|
||||||
loadConfig(); // To update blocked materials.
|
loadConfig(); // To update blocked materials.
|
||||||
@@ -362,20 +379,19 @@ public class PlayerVaults extends JavaPlugin {
|
|||||||
return blockedMats.contains(mat);
|
return blockedMats.contains(mat);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PlayerVaults getInstance() {
|
/**
|
||||||
return instance;
|
* Tries to grab the server version as a string.
|
||||||
}
|
*
|
||||||
|
* @return Version as raw string
|
||||||
public static void debug(String s, long start) {
|
*/
|
||||||
long elapsed = System.currentTimeMillis() - start;
|
public String getVersion() {
|
||||||
if (DEBUG || elapsed > 4) {
|
if (_versionString == null) {
|
||||||
Bukkit.getLogger().log(Level.INFO, "At {0}. Time since start: {1}ms", new Object[]{s, (elapsed)});
|
if (Bukkit.getServer() == null) {
|
||||||
}
|
return null;
|
||||||
}
|
}
|
||||||
|
final String name = Bukkit.getServer().getClass().getPackage().getName();
|
||||||
public static void debug(String s) {
|
_versionString = name.substring(name.lastIndexOf(46) + 1) + ".";
|
||||||
if (DEBUG) {
|
|
||||||
Bukkit.getLogger().log(Level.INFO, s);
|
|
||||||
}
|
}
|
||||||
|
return _versionString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class ConvertCommand implements CommandExecutor {
|
|||||||
sender.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS);
|
sender.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS);
|
||||||
} else {
|
} else {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
sender.sendMessage(Lang.TITLE + "/pvconvert <all | plugin name>");
|
sender.sendMessage(Lang.TITLE + "/" + label + " <all | plugin name>");
|
||||||
} else {
|
} else {
|
||||||
String name = args[0];
|
String name = args[0];
|
||||||
final List<Converter> applicableConverters = new ArrayList<>();
|
final List<Converter> applicableConverters = new ArrayList<>();
|
||||||
@@ -39,7 +39,6 @@ public class ConvertCommand implements CommandExecutor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (applicableConverters.size() <= 0) {
|
if (applicableConverters.size() <= 0) {
|
||||||
sender.sendMessage(Lang.TITLE.toString() + Lang.CONVERT_PLUGIN_NOT_FOUND);
|
sender.sendMessage(Lang.TITLE.toString() + Lang.CONVERT_PLUGIN_NOT_FOUND);
|
||||||
} else {
|
} else {
|
||||||
@@ -50,21 +49,18 @@ public class ConvertCommand implements CommandExecutor {
|
|||||||
public void run() {
|
public void run() {
|
||||||
int converted = 0;
|
int converted = 0;
|
||||||
VaultOperations.setLocked(true);
|
VaultOperations.setLocked(true);
|
||||||
|
|
||||||
for (Converter converter : applicableConverters) {
|
for (Converter converter : applicableConverters) {
|
||||||
if (converter.canConvert()) {
|
if (converter.canConvert()) {
|
||||||
converted += converter.run(sender);
|
converted += converter.run(sender);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VaultOperations.setLocked(false);
|
VaultOperations.setLocked(false);
|
||||||
sender.sendMessage(Lang.TITLE + Lang.CONVERT_COMPLETE.toString().replace("%converted", converted + ""));
|
sender.sendMessage(Lang.TITLE + Lang.CONVERT_COMPLETE.toString().replace("%converted", converted + ""));
|
||||||
}
|
}
|
||||||
}, 5); // This comment is to annoy evilmidget38
|
}, 5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,6 @@ public class DeleteCommand implements CommandExecutor {
|
|||||||
sender.sendMessage(Lang.TITLE + Lang.LOCKED.toString());
|
sender.sendMessage(Lang.TITLE + Lang.LOCKED.toString());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (args.length) {
|
switch (args.length) {
|
||||||
case 1:
|
case 1:
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
@@ -40,15 +39,13 @@ public class DeleteCommand implements CommandExecutor {
|
|||||||
sender.sendMessage(Lang.TITLE.toString() + Lang.DELETE_OTHER_VAULT_ALL.toString().replaceAll("%p", target));
|
sender.sendMessage(Lang.TITLE.toString() + Lang.DELETE_OTHER_VAULT_ALL.toString().replaceAll("%p", target));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
VaultOperations.deleteOtherVault(sender, target, args[1]);
|
VaultOperations.deleteOtherVault(sender, target, args[1]);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sender.sendMessage(Lang.TITLE + "/pvdel <number>");
|
sender.sendMessage(Lang.TITLE + "/" + label + " <number>");
|
||||||
sender.sendMessage(Lang.TITLE + "/pvdel <player> <number>");
|
sender.sendMessage(Lang.TITLE + "/" + label + " <player> <number>");
|
||||||
sender.sendMessage(Lang.TITLE + "/pvdel <player> all");
|
sender.sendMessage(Lang.TITLE + "/" + label + " <player> all");
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,7 @@ public class SignCommand implements CommandExecutor {
|
|||||||
i = Integer.parseInt(args[0]);
|
i = Integer.parseInt(args[0]);
|
||||||
} catch (NumberFormatException nfe) {
|
} catch (NumberFormatException nfe) {
|
||||||
sender.sendMessage(Lang.TITLE.toString() + Lang.MUST_BE_NUMBER);
|
sender.sendMessage(Lang.TITLE.toString() + Lang.MUST_BE_NUMBER);
|
||||||
sender.sendMessage(Lang.TITLE.toString() + "Usage: /" + label + " <owner> <#>");
|
sender.sendMessage(Lang.TITLE.toString() + "Usage: /" + label + " [owner] <#>");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
PlayerVaults.getInstance().getSetSign().put(sender.getName(), new SignSetInfo(i));
|
PlayerVaults.getInstance().getSetSign().put(sender.getName(), new SignSetInfo(i));
|
||||||
@@ -30,7 +30,7 @@ public class SignCommand implements CommandExecutor {
|
|||||||
i = Integer.parseInt(args[1]);
|
i = Integer.parseInt(args[1]);
|
||||||
} catch (NumberFormatException nfe) {
|
} catch (NumberFormatException nfe) {
|
||||||
sender.sendMessage(Lang.TITLE.toString() + Lang.MUST_BE_NUMBER);
|
sender.sendMessage(Lang.TITLE.toString() + Lang.MUST_BE_NUMBER);
|
||||||
sender.sendMessage(Lang.TITLE.toString() + "Usage: /" + label + " <owner> <#>");
|
sender.sendMessage(Lang.TITLE.toString() + "Usage: /" + label + " [owner] <#>");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
PlayerVaults.getInstance().getSetSign().put(sender.getName(), new SignSetInfo(args[0].toLowerCase(), i));
|
PlayerVaults.getInstance().getSetSign().put(sender.getName(), new SignSetInfo(args[0].toLowerCase(), i));
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ package com.drtshock.playervaults.commands;
|
|||||||
*/
|
*/
|
||||||
public class SignSetInfo {
|
public class SignSetInfo {
|
||||||
|
|
||||||
private String owner;
|
|
||||||
private final int number;
|
private final int number;
|
||||||
|
private String owner;
|
||||||
private boolean self = false;
|
private boolean self = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import com.drtshock.playervaults.vaultmanagement.VaultManager;
|
|||||||
import com.drtshock.playervaults.vaultmanagement.VaultViewInfo;
|
import com.drtshock.playervaults.vaultmanagement.VaultViewInfo;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.HumanEntity;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
@@ -37,8 +36,6 @@ import org.bukkit.event.player.PlayerTeleportEvent;
|
|||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
public class Listeners implements Listener {
|
public class Listeners implements Listener {
|
||||||
|
|
||||||
public final PlayerVaults plugin;
|
public final PlayerVaults plugin;
|
||||||
@@ -89,10 +86,7 @@ public class Listeners implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
public void onClose(InventoryCloseEvent event) {
|
public void onClose(InventoryCloseEvent event) {
|
||||||
HumanEntity he = event.getPlayer();
|
saveVault((Player) event.getPlayer(), event.getInventory());
|
||||||
if (he instanceof Player) {
|
|
||||||
saveVault((Player) he, event.getInventory());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
|||||||
@@ -33,11 +33,11 @@ public class SignListener implements Listener {
|
|||||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
public void onInteract(PlayerInteractEvent event) {
|
public void onInteract(PlayerInteractEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
|
Block block = event.getClickedBlock();
|
||||||
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
||||||
if (PlayerVaults.getInstance().getInVault().containsKey(player.getUniqueId().toString())) {
|
if (PlayerVaults.getInstance().getInVault().containsKey(player.getUniqueId().toString())) {
|
||||||
Block block = event.getClickedBlock();
|
|
||||||
// Different inventories that we don't want the player to open.
|
// Different inventories that we don't want the player to open.
|
||||||
if (block.getType() == Material.CHEST || block.getType() == Material.TRAPPED_CHEST || block.getType() == Material.ENDER_CHEST || block.getType() == Material.FURNACE || block.getType() == Material.BREWING_STAND || block.getType() == Material.ENCHANTING_TABLE || block.getType() == Material.BEACON) {
|
if (isInvalidBlock(block.getType())) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -49,8 +49,8 @@ public class SignListener implements Listener {
|
|||||||
PlayerVaults.getInstance().getSetSign().remove(player.getName());
|
PlayerVaults.getInstance().getSetSign().remove(player.getName());
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
||||||
if (event.getClickedBlock().getType() == Material.WALL_SIGN || event.getClickedBlock().getType() == Material.SIGN) {
|
if (isValidSign(block.getType())) {
|
||||||
Sign s = (Sign) event.getClickedBlock().getState();
|
Sign s = (Sign) block.getState();
|
||||||
Location l = s.getLocation();
|
Location l = s.getLocation();
|
||||||
String world = l.getWorld().getName();
|
String world = l.getWorld().getName();
|
||||||
int x = l.getBlockX();
|
int x = l.getBlockX();
|
||||||
@@ -72,10 +72,9 @@ public class SignListener implements Listener {
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Block b = event.getClickedBlock();
|
|
||||||
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
||||||
if (b.getType() == Material.WALL_SIGN || b.getType() == Material.SIGN) {
|
if (isValidSign(block.getType())) {
|
||||||
Location l = b.getLocation();
|
Location l = block.getLocation();
|
||||||
String world = l.getWorld().getName();
|
String world = l.getWorld().getName();
|
||||||
int x = l.getBlockX();
|
int x = l.getBlockX();
|
||||||
int y = l.getBlockY();
|
int y = l.getBlockY();
|
||||||
@@ -154,4 +153,28 @@ public class SignListener implements Listener {
|
|||||||
plugin.saveSigns();
|
plugin.saveSigns();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isValidSign(Material material) {
|
||||||
|
if (PlayerVaults.getInstance().getVersion().contains("v1_13")) {
|
||||||
|
PlayerVaults.debug("[PlayerVaults] [Debug/SignListener] Sign material checked for >= 1.13");
|
||||||
|
return material == Material.SIGN || material == Material.WALL_SIGN;
|
||||||
|
}
|
||||||
|
PlayerVaults.debug("[PlayerVaults] [Debug/SignListener] Sign material checked for < 1.13");
|
||||||
|
return material == Material.valueOf("SIGN_POST") || material == Material.WALL_SIGN;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isInvalidBlock(Material material) {
|
||||||
|
if (PlayerVaults.getInstance().getVersion().contains("v1_13")) {
|
||||||
|
PlayerVaults.debug("[PlayerVaults] [Debug/SignListener] Block material checked for >= 1.13");
|
||||||
|
return material == Material.CHEST || material == Material.TRAPPED_CHEST
|
||||||
|
|| material == Material.ENDER_CHEST || material == Material.FURNACE
|
||||||
|
|| material == Material.BREWING_STAND || material == Material.ENCHANTING_TABLE
|
||||||
|
|| material == Material.BEACON;
|
||||||
|
}
|
||||||
|
PlayerVaults.debug("[PlayerVaults] [Debug/SignListener] Block material checked for < 1.13");
|
||||||
|
return material == Material.CHEST || material == Material.TRAPPED_CHEST
|
||||||
|
|| material == Material.ENDER_CHEST || material == Material.FURNACE
|
||||||
|
|| material == Material.valueOf("BURNING_FURNACE") || material == Material.BREWING_STAND
|
||||||
|
|| material == Material.valueOf("ENCHANTMENT_TABLE") || material == Material.BEACON;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,19 +1,3 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 drtshock
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package com.drtshock.playervaults.translations;
|
package com.drtshock.playervaults.translations;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@@ -52,9 +36,9 @@ public enum Lang {
|
|||||||
HELP("help", "/pv <number>"),
|
HELP("help", "/pv <number>"),
|
||||||
BLOCKED_ITEM("blocked-item", "&6%m &cis blocked from vaults");
|
BLOCKED_ITEM("blocked-item", "&6%m &cis blocked from vaults");
|
||||||
|
|
||||||
|
private static YamlConfiguration LANG;
|
||||||
private final String path;
|
private final String path;
|
||||||
private final String def;
|
private final String def;
|
||||||
private static YamlConfiguration LANG;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lang enum constructor.
|
* Lang enum constructor.
|
||||||
|
|||||||
@@ -1,19 +1,3 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 drtshock
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package com.drtshock.playervaults.vaultmanagement;
|
package com.drtshock.playervaults.vaultmanagement;
|
||||||
|
|
||||||
import com.drtshock.playervaults.PlayerVaults;
|
import com.drtshock.playervaults.PlayerVaults;
|
||||||
|
|||||||
@@ -1,19 +1,3 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 drtshock
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package com.drtshock.playervaults.vaultmanagement;
|
package com.drtshock.playervaults.vaultmanagement;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|||||||
@@ -27,13 +27,21 @@ import java.util.logging.Level;
|
|||||||
public class UUIDVaultManager {
|
public class UUIDVaultManager {
|
||||||
|
|
||||||
private static UUIDVaultManager instance;
|
private static UUIDVaultManager instance;
|
||||||
|
private final File directory = PlayerVaults.getInstance().getUuidData();
|
||||||
|
private final Map<String, YamlConfiguration> cachedVaultFiles = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
public UUIDVaultManager() {
|
public UUIDVaultManager() {
|
||||||
instance = this;
|
instance = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final File directory = PlayerVaults.getInstance().getUuidData();
|
/**
|
||||||
private final Map<String, YamlConfiguration> cachedVaultFiles = new ConcurrentHashMap<>();
|
* Get the instance of this class.
|
||||||
|
*
|
||||||
|
* @return - instance of this class.
|
||||||
|
*/
|
||||||
|
public static UUIDVaultManager getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Saves the inventory to the specified player and vault number.
|
* Saves the inventory to the specified player and vault number.
|
||||||
@@ -251,9 +259,7 @@ public class UUIDVaultManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void removeCachedPlayerVaultFile(String holder) {
|
public void removeCachedPlayerVaultFile(String holder) {
|
||||||
if (cachedVaultFiles.containsKey(holder)) {
|
cachedVaultFiles.remove(holder);
|
||||||
cachedVaultFiles.remove(holder);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -318,13 +324,4 @@ public class UUIDVaultManager {
|
|||||||
PlayerVaults.getInstance().getLogger().log(Level.SEVERE, "Failed to save vault file for: " + holder, e);
|
PlayerVaults.getInstance().getLogger().log(Level.SEVERE, "Failed to save vault file for: " + holder, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the instance of this class.
|
|
||||||
*
|
|
||||||
* @return - instance of this class.
|
|
||||||
*/
|
|
||||||
public static UUIDVaultManager getInstance() {
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,3 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 drtshock
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package com.drtshock.playervaults.vaultmanagement;
|
package com.drtshock.playervaults.vaultmanagement;
|
||||||
|
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
@@ -45,6 +29,11 @@ public class VaultHolder implements InventoryHolder {
|
|||||||
return vaultNumber;
|
return vaultNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Inventory getInventory() {
|
||||||
|
return inventory;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the inventory this vault holder holds
|
* Sets the inventory this vault holder holds
|
||||||
*
|
*
|
||||||
@@ -53,9 +42,4 @@ public class VaultHolder implements InventoryHolder {
|
|||||||
public void setInventory(Inventory inventory) {
|
public void setInventory(Inventory inventory) {
|
||||||
this.inventory = inventory;
|
this.inventory = inventory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Inventory getInventory() {
|
|
||||||
return inventory;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,15 +23,23 @@ import java.util.logging.Level;
|
|||||||
|
|
||||||
public class VaultManager {
|
public class VaultManager {
|
||||||
|
|
||||||
private static VaultManager instance;
|
|
||||||
private static final String VAULTKEY = "vault%d";
|
private static final String VAULTKEY = "vault%d";
|
||||||
|
private static VaultManager instance;
|
||||||
|
private final File directory = PlayerVaults.getInstance().getVaultData();
|
||||||
|
private final Map<String, YamlConfiguration> cachedVaultFiles = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
public VaultManager() {
|
public VaultManager() {
|
||||||
instance = this;
|
instance = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final File directory = PlayerVaults.getInstance().getVaultData();
|
/**
|
||||||
private final Map<String, YamlConfiguration> cachedVaultFiles = new ConcurrentHashMap<>();
|
* Get the instance of this class.
|
||||||
|
*
|
||||||
|
* @return - instance of this class.
|
||||||
|
*/
|
||||||
|
public static VaultManager getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Saves the inventory to the specified player and vault number.
|
* Saves the inventory to the specified player and vault number.
|
||||||
@@ -342,13 +350,4 @@ public class VaultManager {
|
|||||||
PlayerVaults.getInstance().getLogger().log(Level.SEVERE, "Failed to save vault file for: " + holder, e);
|
PlayerVaults.getInstance().getLogger().log(Level.SEVERE, "Failed to save vault file for: " + holder, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the instance of this class.
|
|
||||||
*
|
|
||||||
* @return - instance of this class.
|
|
||||||
*/
|
|
||||||
public static VaultManager getInstance() {
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,3 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 drtshock
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package com.drtshock.playervaults.vaultmanagement;
|
package com.drtshock.playervaults.vaultmanagement;
|
||||||
|
|
||||||
import com.drtshock.playervaults.PlayerVaults;
|
import com.drtshock.playervaults.PlayerVaults;
|
||||||
@@ -72,11 +56,11 @@ public class VaultOperations {
|
|||||||
* @return Whether or not they have permission.
|
* @return Whether or not they have permission.
|
||||||
*/
|
*/
|
||||||
public static boolean checkPerms(CommandSender sender, int number) {
|
public static boolean checkPerms(CommandSender sender, int number) {
|
||||||
if (sender.hasPermission("playervaults.amount." + String.valueOf(number))) {
|
if (sender.hasPermission("playervaults.amount." + number)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
for (int x = number; x <= 99; x++) {
|
for (int x = number; x <= 99; x++) {
|
||||||
if (sender.hasPermission("playervaults.amount." + String.valueOf(x))) {
|
if (sender.hasPermission("playervaults.amount." + x)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -319,7 +303,7 @@ public class VaultOperations {
|
|||||||
|
|
||||||
if (sender.hasPermission("playervaults.delete.all")) {
|
if (sender.hasPermission("playervaults.delete.all")) {
|
||||||
VaultManager.getInstance().deleteAllVaults(holder);
|
VaultManager.getInstance().deleteAllVaults(holder);
|
||||||
PlayerVaults.getInstance().getLogger().info(String.format("%s deleted ALL vaults belonging to %s", sender.getName(), holder.toString()));
|
PlayerVaults.getInstance().getLogger().info(String.format("%s deleted ALL vaults belonging to %s", sender.getName(), holder));
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS);
|
sender.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,3 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 drtshock
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package com.drtshock.playervaults.vaultmanagement;
|
package com.drtshock.playervaults.vaultmanagement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,60 +1,55 @@
|
|||||||
# PlayerVaults by https://github.com/drtshock/PlayerVaults/graphs/contributors
|
# PlayerVaults
|
||||||
# Spigot page: https://www.spigotmc.org/resources/playervaultsx.51204/
|
# Created by: https://github.com/drtshock/PlayerVaults/graphs/contributors/
|
||||||
# Made with love :3
|
# Resource page: https://www.spigotmc.org/resources/51204/
|
||||||
|
# Discord server: https://discordapp.com/invite/JZcWDEt/
|
||||||
|
# Made with love <3
|
||||||
|
|
||||||
# Debug mode
|
# Debug Mode
|
||||||
# This will print lots of spammy stuff to console.
|
# This will print everything the plugin is doing to console.
|
||||||
# Should probably only enabled this if you're working with drtshock to fix something.
|
# You should only enable this if you're working with a contributor to fix something.
|
||||||
debug: false
|
debug: false
|
||||||
|
|
||||||
# Lang files can be found in plugins/PlayerVaults/lang/
|
# Language
|
||||||
# Set the below value to be one of the files in there without .yml
|
# This determines which language file the plugin will read from.
|
||||||
# Currently can use: english, bulgarian, dutch, turkish
|
# Valid options are (don't include .yml): bulgarian, dutch, english, german, turkish
|
||||||
language: english
|
language: english
|
||||||
|
|
||||||
# Signs
|
# Signs
|
||||||
# Do you want to enable signs?
|
# This will determine whether vault signs are enabled.
|
||||||
# You can checkout the project page for info on what this is if you don't know.
|
# If you don't know what this is or if it's for you, see the resource page.
|
||||||
# This can save some performance on servers with 250+ players if disabled.
|
# Reminder: This is only checked during startup.
|
||||||
signs-enabled: false
|
signs-enabled: false
|
||||||
|
|
||||||
# Settings here are for economy integration. playervaults.free bypasses it.
|
# Economy
|
||||||
|
# These are all of the settings for the economy integration. (Requires Vault)
|
||||||
|
# Bypass permission is: playervaults.free
|
||||||
economy:
|
economy:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
# Cost to create a vault. You can give players playervaults.free to bypass this.
|
|
||||||
cost-to-create: 100
|
cost-to-create: 100
|
||||||
cost-to-open: 10
|
cost-to-open: 10
|
||||||
refund-on-delete: 50
|
refund-on-delete: 50
|
||||||
|
|
||||||
# Blocked Items
|
# Blocked Items
|
||||||
# Here you can block items in vaults.
|
# This will allow you to block specific materials from vaults.
|
||||||
# You can give player's playervaults.bypassblockeditems permission to bypass this list.
|
# Bypass permission is: playervaults.bypassblockeditems
|
||||||
# Ops also have an automatic bypass.
|
|
||||||
# Use material names. This does not work with ids.
|
|
||||||
|
|
||||||
# Should we even use this? If left to false, the list won't do anything.
|
|
||||||
blockitems: true
|
blockitems: true
|
||||||
|
|
||||||
# Only effective if the above option is true.
|
# Material list for blocked items (does not support ID's), only effective if the feature is enabled.
|
||||||
|
# If you don't know material names: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
|
||||||
blocked-items:
|
blocked-items:
|
||||||
- PUMPKIN
|
- PUMPKIN
|
||||||
- DIAMOND_BLOCK
|
- DIAMOND_BLOCK
|
||||||
|
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
# Should we cleanup vaults that haven't been used in awhile?
|
# Enabling this will purge vaults that haven't been touched in the specified time frame.
|
||||||
# Only checks on restarts. Runs on another thread so it won't
|
# Reminder: This is only checked during startup.
|
||||||
# lag the server.
|
# This will not lag your server or touch the backups folder.
|
||||||
#
|
# The time format is in days.
|
||||||
# This will not touch the backups folder. You will have to delete those yourself.
|
|
||||||
cleanup:
|
cleanup:
|
||||||
enable: false
|
enable: false
|
||||||
|
|
||||||
# If a file hasn't been edited for this long, we'll clean it up.
|
|
||||||
# Time is in days.
|
|
||||||
lastEdit: 30
|
lastEdit: 30
|
||||||
|
|
||||||
|
# Backups
|
||||||
|
# Enabling this will create backups of vaults automagically.
|
||||||
backups:
|
backups:
|
||||||
# If you don't want any backups created change this to false.
|
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -24,7 +24,7 @@ cost-to-create: "&fБяхте таксувани &c%price &fза създава
|
|||||||
cost-to-open: "&fБяхте таксувани &c%price &fза отварянето на този сейф."
|
cost-to-open: "&fБяхте таксувани &c%price &fза отварянето на този сейф."
|
||||||
vault-title: "&4Сейф #%number"
|
vault-title: "&4Сейф #%number"
|
||||||
existing-vaults: "&f%p има &a%v &fсейфа"
|
existing-vaults: "&f%p има &a%v &fсейфа"
|
||||||
no-player-found: "&cНе успяхме да намерим &a%p"
|
no-owner-found: "&cCannot find vault owner: &a%p"
|
||||||
plugin-not-found: "&cНямаме конвертор за този плъгин."
|
plugin-not-found: "&cНямаме конвертор за този плъгин."
|
||||||
conversion-complete: "&aКонвертирахме %converted играч(а) към PlayerVaults"
|
conversion-complete: "&aКонвертирахме %converted играч(а) към PlayerVaults"
|
||||||
conversion-background: "&fЗапочнахме конвертирането на заден план. Следете конзолата за статуса на операцията."
|
conversion-background: "&fЗапочнахме конвертирането на заден план. Следете конзолата за статуса на операцията."
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ cost-to-create: "&fje bent &c%price aangerekend &fvoor deze vault te creëren."
|
|||||||
cost-to-open: "&fJe bent &c%price aangerekend &fvoor het openen van deze vault."
|
cost-to-open: "&fJe bent &c%price aangerekend &fvoor het openen van deze vault."
|
||||||
vault-title: "&4Vault #%number"
|
vault-title: "&4Vault #%number"
|
||||||
existing-vaults: "&f%p heeft vault: &a%v"
|
existing-vaults: "&f%p heeft vault: &a%v"
|
||||||
no-player-found: "&cKan speler &a%p niet vinden"
|
no-owner-found: "&cCannot find vault owner: &a%p"
|
||||||
plugin-not-found: "&cGeen converter gevonden voor die plugin."
|
plugin-not-found: "&cGeen converter gevonden voor die plugin."
|
||||||
conversion-complete: "&aEr zijn %converted spelers naar PlayerVaults geconverteerd"
|
conversion-complete: "&aEr zijn %converted spelers naar PlayerVaults geconverteerd"
|
||||||
conversion-background: "&fHet converteren is naar de achtergrond geplaatst. Check de console voor de status van het converteren"
|
conversion-background: "&fHet converteren is naar de achtergrond geplaatst. Check de console voor de status van het converteren"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ cost-to-create: "&fYou were charged &c%price &ffor creating that vault."
|
|||||||
cost-to-open: "&fYou were charged &c%price &ffor opening that vault."
|
cost-to-open: "&fYou were charged &c%price &ffor opening that vault."
|
||||||
vault-title: "&4Vault #%number"
|
vault-title: "&4Vault #%number"
|
||||||
existing-vaults: "&f%p has vaults: &a%v"
|
existing-vaults: "&f%p has vaults: &a%v"
|
||||||
no-player-found: "&cCannot find player &a%p"
|
no-owner-found: "&cCannot find vault owner: &a%p"
|
||||||
plugin-not-found: "&cNo converter found for that plugin"
|
plugin-not-found: "&cNo converter found for that plugin"
|
||||||
conversion-complete: "&aConverted %converted players to PlayerVaults"
|
conversion-complete: "&aConverted %converted players to PlayerVaults"
|
||||||
conversion-background: "&fConversion has been forked to the background. See console for updates."
|
conversion-background: "&fConversion has been forked to the background. See console for updates."
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ cost-to-create: "&fDir wurden &c%price &ffür das Erstellen des Tresors berechne
|
|||||||
cost-to-open: "&fDir wurden von &c%price &ffür das Öffnen des Tresors berechnet."
|
cost-to-open: "&fDir wurden von &c%price &ffür das Öffnen des Tresors berechnet."
|
||||||
vault-title: "&4Tresor #%number"
|
vault-title: "&4Tresor #%number"
|
||||||
existing-vaults: "&f%p hat folgende Tresore: &a%v"
|
existing-vaults: "&f%p hat folgende Tresore: &a%v"
|
||||||
no-player-found: "&cKann Spieler &a%p nicht finden"
|
no-owner-found: "&cCannot find vault owner: &a%p"
|
||||||
plugin-not-found: "&cKeinen Converter für das Plugin gefunden"
|
plugin-not-found: "&cKeinen Converter für das Plugin gefunden"
|
||||||
conversion-complete: "&%converted Spieler zu PlayerVaults konvertiert"
|
conversion-complete: "&%converted Spieler zu PlayerVaults konvertiert"
|
||||||
conversion-background: "&fKonvertierung wurde im Hintergrund genauer gezeigt. Schaue in die Konsole für mehr Details."
|
conversion-background: "&fKonvertierung wurde im Hintergrund genauer gezeigt. Schaue in die Konsole für mehr Details."
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
# %converted dönüştürülen depo sayısı (uygulanabilir olduğunda)
|
# %converted dönüştürülen depo sayısı (uygulanabilir olduğunda)
|
||||||
# %m kara listeye alınmış malzeme ile değiştirilecek (uygulanabilir olduğunda)
|
# %m kara listeye alınmış malzeme ile değiştirilecek (uygulanabilir olduğunda)
|
||||||
# Aşkla yapıldı :)
|
# Aşkla yapıldı :)
|
||||||
# Çeviri, @Fix3d tarafından yapılmıştır.
|
|
||||||
|
|
||||||
title-name: "&4[&fPlayerVaultsX&4]:"
|
title-name: "&4[&fPlayerVaultsX&4]:"
|
||||||
open-vault: "&a%v. &fdepo açılıyor."
|
open-vault: "&a%v. &fdepo açılıyor."
|
||||||
@@ -25,7 +24,7 @@ cost-to-create: "&fBu kasayı oluşturmak için &c%price &födedin."
|
|||||||
cost-to-open: "&fDepo açılış ücreti olarak &c%price &födedin."
|
cost-to-open: "&fDepo açılış ücreti olarak &c%price &födedin."
|
||||||
vault-title: "&4Depo #%number"
|
vault-title: "&4Depo #%number"
|
||||||
existing-vaults: "&f%p oyuncusunun depoları: &a%v"
|
existing-vaults: "&f%p oyuncusunun depoları: &a%v"
|
||||||
no-player-found: "&cOyuncu &a%p &cbulunamıyor!"
|
no-owner-found: "&cCannot find vault owner: &a%p"
|
||||||
plugin-not-found: "&cBu eklenti için dönüştürücü bulunamadı"
|
plugin-not-found: "&cBu eklenti için dönüştürücü bulunamadı"
|
||||||
conversion-complete: "&a%converted depo PlayerVaults'a dönüştürüldü"
|
conversion-complete: "&a%converted depo PlayerVaults'a dönüştürüldü"
|
||||||
conversion-background: "&fDönüşüm, arka plana aktarıldı. Detaylar için konsola bakın."
|
conversion-background: "&fDönüşüm, arka plana aktarıldı. Detaylar için konsola bakın."
|
||||||
|
|||||||
@@ -1,32 +1,33 @@
|
|||||||
name: PlayerVaults
|
name: PlayerVaults
|
||||||
main: com.drtshock.playervaults.PlayerVaults
|
|
||||||
authors: [drtshock, kashike]
|
authors: [drtshock, kashike]
|
||||||
|
website: ${project.url}
|
||||||
|
|
||||||
version: ${project.version}
|
version: ${project.version}
|
||||||
website: https://www.spigotmc.org/resources/51204/
|
main: com.drtshock.playervaults.PlayerVaults
|
||||||
softdepend: [Vault]
|
softdepend: [Vault]
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
pv:
|
pv:
|
||||||
description: Open a vault with /pv <number>
|
description: Open a vault.
|
||||||
aliases: [vault, chest, playervaults, vc]
|
aliases: [vault, chest, playervaults, vc]
|
||||||
pvdel:
|
pvdel:
|
||||||
description: Delete a vault.
|
description: Delete a vault.
|
||||||
aliases: [vaultdel]
|
aliases: [vaultdel]
|
||||||
pvsign:
|
pvsign:
|
||||||
description: Do pv signs.
|
description: Manage vault signs.
|
||||||
aliases: [vaultsign]
|
aliases: [vaultsign]
|
||||||
pvconvert:
|
pvconvert:
|
||||||
description: Convert other plugins to PlayerVaults
|
description: Convert other plugins to PlayerVaultsX.
|
||||||
aliases: [vaultconvert]
|
aliases: [vaultconvert]
|
||||||
pvreload:
|
pvreload:
|
||||||
description: Reload the config and lang files.
|
description: Reload the configuration and language files.
|
||||||
permission: playervaults.admin
|
permission: playervaults.admin
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
playervaults.admin:
|
playervaults.admin:
|
||||||
description: Admin vault operations.
|
description: Grants access to admin commands for vaults.
|
||||||
default: op
|
default: op
|
||||||
playervaults.bypassblockeditems:
|
playervaults.bypassblockeditems:
|
||||||
description: Bypass blocked items.
|
description: Grants access to bypass blocked vault items.
|
||||||
default: op
|
default: op
|
||||||
Reference in New Issue
Block a user