# Added the command '/island value' to get the value (points) earned from a material in the players hand.
# Added the permission note 'skyblock.value' to perform the command '/island value'.
# Added the configurable option 'Island.Settings.Hunger' to enable/disable the 'Hunger' setting in the 'Island Settings' menu (Disabled by default).
# Added the 'Hunger' setting to the 'Island Settings' menu.
# Added the placeholder 'skyblock_island_invites' to get the active number of invites for the island.
# Added the placeholder 'skyblock_island_coops' to get the number of cooped players at the island.
# Added the placeholder 'skyblock_island_coops_total' to get the number of cooped players.
# Added economy support for Coins (https://www.spigotmc.org/resources/coins-1-8-x-1-12-x-mysql-sqlite-api.48536/).
# Fixed being able to go further than the end index of the help command pages.
# Fixed new settings being set to false when being added to the island.
This commit is contained in:
Unknown 2018-12-10 19:11:12 +00:00
parent d1957d14da
commit 3aca100530
17 changed files with 832 additions and 192 deletions

View File

@ -2,7 +2,7 @@
<groupId>com.songoda</groupId>
<artifactId>SkyBlock</artifactId>
<modelVersion>4.0.0</modelVersion>
<version>42</version>
<version>43</version>
<build>
<defaultGoal>clean package</defaultGoal>
<plugins>
@ -39,6 +39,11 @@
<artifactId>vault</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>net.nifheim.beelzubu</groupId>
<artifactId>coins</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>

View File

@ -25,6 +25,7 @@ import me.goodandevil.skyblock.listeners.Bucket;
import me.goodandevil.skyblock.listeners.Chat;
import me.goodandevil.skyblock.listeners.Death;
import me.goodandevil.skyblock.listeners.Entity;
import me.goodandevil.skyblock.listeners.Food;
import me.goodandevil.skyblock.listeners.Interact;
import me.goodandevil.skyblock.listeners.Inventory;
import me.goodandevil.skyblock.listeners.Item;
@ -139,6 +140,7 @@ public class SkyBlock extends JavaPlugin {
pluginManager.registerEvents(new Respawn(this), this);
pluginManager.registerEvents(new Chat(this), this);
pluginManager.registerEvents(new Spawner(this), this);
pluginManager.registerEvents(new Food(this), this);
pluginManager.registerEvents(new Rollback(), this);
pluginManager.registerEvents(new Levelling(), this);

View File

@ -144,7 +144,7 @@ public class SkyBlockAPI {
}
/**
* Checks if a player has permission at a location at an Island for a Setting
* Checks if a player has permission at a location of an Island for a Setting
*
* @return true of conditions met, false otherwise
*/

View File

@ -51,6 +51,7 @@ import me.goodandevil.skyblock.command.commands.SettingsCommand;
import me.goodandevil.skyblock.command.commands.TeleportCommand;
import me.goodandevil.skyblock.command.commands.UnbanCommand;
import me.goodandevil.skyblock.command.commands.UpgradeCommand;
import me.goodandevil.skyblock.command.commands.ValueCommand;
import me.goodandevil.skyblock.command.commands.VisitCommand;
import me.goodandevil.skyblock.command.commands.VisitorsCommand;
import me.goodandevil.skyblock.command.commands.VoteCommand;
@ -143,6 +144,8 @@ public class CommandManager implements CommandExecutor, TabCompleter {
// configLoad.getString("Command.Island.Rollback.Info.Message"))));
subCommands.add(new LevelCommand(skyblock).setInfo(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Command.Island.Level.Info.Message"))));
subCommands.add(new ValueCommand(skyblock).setInfo(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Command.Island.Value.Info.Message"))));
subCommands.add(new SettingsCommand(skyblock).setInfo(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Command.Island.Settings.Info.Message"))));
subCommands.add(new InformationCommand(skyblock).setInfo(ChatColor.translateAlternateColorCodes('&',
@ -454,6 +457,13 @@ public class CommandManager implements CommandExecutor, TabCompleter {
boolean showAlises = fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
.getFileConfiguration().getBoolean("Command.Help.Aliases.Enable");
if (nextEndIndex <= -7) {
skyblock.getMessageManager().sendMessage(player, configLoad.getString("Command.Island.Help.Page.Message"));
skyblock.getSoundManager().playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F);
return;
}
String subCommandText = "";
if (type == CommandManager.Type.Admin) {

View File

@ -0,0 +1,119 @@
package me.goodandevil.skyblock.command.commands;
import java.io.File;
import org.apache.commons.lang3.text.WordUtils;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import me.goodandevil.skyblock.SkyBlock;
import me.goodandevil.skyblock.command.CommandManager;
import me.goodandevil.skyblock.command.SubCommand;
import me.goodandevil.skyblock.command.CommandManager.Type;
import me.goodandevil.skyblock.config.FileManager;
import me.goodandevil.skyblock.config.FileManager.Config;
import me.goodandevil.skyblock.levelling.LevellingManager;
import me.goodandevil.skyblock.levelling.Material;
import me.goodandevil.skyblock.message.MessageManager;
import me.goodandevil.skyblock.sound.SoundManager;
import me.goodandevil.skyblock.utils.NumberUtil;
import me.goodandevil.skyblock.utils.version.Materials;
import me.goodandevil.skyblock.utils.version.NMSUtil;
import me.goodandevil.skyblock.utils.version.Sounds;
public class ValueCommand extends SubCommand {
private final SkyBlock skyblock;
private String info;
public ValueCommand(SkyBlock skyblock) {
this.skyblock = skyblock;
}
@SuppressWarnings("deprecation")
@Override
public void onCommandByPlayer(Player player, String[] args) {
LevellingManager levellingManager = skyblock.getLevellingManager();
MessageManager messageManager = skyblock.getMessageManager();
SoundManager soundManager = skyblock.getSoundManager();
FileManager fileManager = skyblock.getFileManager();
Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml"));
FileConfiguration configLoad = config.getFileConfiguration();
if (player.hasPermission("skyblock.value") || player.hasPermission("skyblock.*")) {
if (player.getItemInHand() == null) {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Value.Hand.Message"));
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
} else {
Materials materials = null;
if (NMSUtil.getVersionNumber() < 13) {
materials = Materials.requestMaterials(player.getItemInHand().getType().name(),
(byte) player.getItemInHand().getDurability());
} else {
materials = Materials.fromString(player.getItemInHand().getType().name());
}
if (materials != null && levellingManager.containsMaterials(materials)) {
Material material = levellingManager.getMaterial(materials);
double level = (double) material.getPoints()
/ (double) fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"))
.getFileConfiguration().getInt("Island.Levelling.Division");
messageManager.sendMessage(player,
configLoad.getString("Command.Island.Value.Value.Message")
.replace("%material",
WordUtils.capitalizeFully(materials.name().toLowerCase().replace("_", " ")))
.replace("%points", "" + material.getPoints())
.replace("%level", "" + NumberUtil.formatNumber(level)));
soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F);
} else {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Value.None.Message"));
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
}
}
} else {
messageManager.sendMessage(player, configLoad.getString("Command.Island.Value.Permission.Message"));
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
}
}
@Override
public void onCommandByConsole(ConsoleCommandSender sender, String[] args) {
sender.sendMessage("SkyBlock | Error: You must be a player to perform that command.");
}
@Override
public String getName() {
return "value";
}
@Override
public String getInfo() {
return info;
}
@Override
public SubCommand setInfo(String info) {
this.info = info;
return this;
}
@Override
public String[] getAliases() {
return new String[0];
}
@Override
public String[] getArguments() {
return new String[0];
}
@Override
public Type getType() {
return CommandManager.Type.Default;
}
}

View File

@ -5,16 +5,18 @@ import org.bukkit.entity.Player;
import org.bukkit.plugin.RegisteredServiceProvider;
import net.milkbowl.vault.economy.Economy;
import net.nifheim.beelzebu.coins.CoinsAPI;
public class EconomyManager {
private EconomyPlugin economyPlugin;
private Economy economy;
public EconomyManager() {
setupVault();
setup();
}
public void setupVault() {
public void setup() {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") != null) {
RegisteredServiceProvider<Economy> registeredServiceProvider = Bukkit.getServer().getServicesManager()
.getRegistration(Economy.class);
@ -22,12 +24,18 @@ public class EconomyManager {
if (registeredServiceProvider != null) {
economy = registeredServiceProvider.getProvider();
}
economyPlugin = EconomyPlugin.Vault;
} else if (Bukkit.getServer().getPluginManager().getPlugin("Coins") != null) {
economyPlugin = EconomyPlugin.Coins;
}
}
public double getBalance(Player player) {
if (economy != null) {
return economy.getBalance(player);
} else if (economyPlugin == EconomyPlugin.Coins) {
return CoinsAPI.getCoins(player.getUniqueId());
}
return 0.0D;
@ -44,14 +52,23 @@ public class EconomyManager {
public void withdraw(Player player, double money) {
if (economy != null) {
economy.withdrawPlayer(player, money);
} else if (economyPlugin == EconomyPlugin.Coins) {
CoinsAPI.takeCoins(player.getUniqueId(), money);
}
}
public boolean isEconomy() {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null
&& Bukkit.getServer().getPluginManager().getPlugin("Coins") == null) {
return false;
}
return true;
}
public enum EconomyPlugin {
Vault, Coins;
}
}

View File

@ -167,7 +167,8 @@ public class Island {
for (String settingList : defaultSettingsConfig.getFileConfiguration()
.getConfigurationSection("Settings." + roleList.name()).getKeys(false)) {
if (settingsDataConfig == null) {
if (settingsDataConfig == null || settingsDataConfig.getFileConfiguration()
.getString("Settings." + roleList.name() + "." + settingList) == null) {
settings.add(new Setting(settingList, defaultSettingsConfig.getFileConfiguration()
.getBoolean("Settings." + roleList.name() + "." + settingList)));
} else {

View File

@ -233,6 +233,16 @@ public class LevellingManager {
return false;
}
public Material getMaterial(Materials materials) {
for (Material materialList : materialStorage) {
if (materialList.getMaterials().name().equals(materials.name())) {
return materialList;
}
}
return null;
}
public List<Material> getMaterials() {
return materialStorage;
}

View File

@ -0,0 +1,36 @@
package me.goodandevil.skyblock.listeners;
import java.io.File;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.FoodLevelChangeEvent;
import me.goodandevil.skyblock.SkyBlock;
import me.goodandevil.skyblock.island.IslandRole;
import me.goodandevil.skyblock.island.Location;
public class Food implements Listener {
private final SkyBlock skyblock;
public Food(SkyBlock skyblock) {
this.skyblock = skyblock;
}
@EventHandler
public void onFoodLevelChange(FoodLevelChangeEvent event) {
Player player = (Player) event.getEntity();
if (player.getWorld().getName().equals(skyblock.getWorldManager().getWorld(Location.World.Normal).getName())
|| player.getWorld().getName()
.equals(skyblock.getWorldManager().getWorld(Location.World.Nether).getName())) {
if (skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "config.yml"))
.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")
&& !skyblock.getIslandManager().hasSetting(player.getLocation(), IslandRole.Owner, "Hunger")) {
event.setCancelled(true);
}
}
}
}

View File

@ -746,133 +746,325 @@ public class Settings {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.PvP.Enable")) {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.KeepItemsOnDeath.Enable")) {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Damage.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(island, role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 16);
nInv.addItemStack(createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()),
17);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 13);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
14);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 15);
nInv.addItemStack(
createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16);
nInv.addItemStack(
createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)),
17);
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 16);
nInv.addItemStack(
createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 17);
}
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(
createItem(island, role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 16);
nInv.addItemStack(
createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)),
17);
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
13);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 16);
}
}
} else {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Damage.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(
createItem(island, role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()),
16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
nInv.addItemStack(
createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16);
nInv.addItemStack(
createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)),
17);
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
13);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
nInv.addItemStack(
createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16);
}
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()), 14);
nInv.addItemStack(
createItem(island, role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
15);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
13);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
nInv.addItemStack(
createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)),
16);
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
14);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 15);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
16);
}
}
}
} else {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.KeepItemsOnDeath.Enable")) {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Damage.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(island, role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
13);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 15);
nInv.addItemStack(createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()),
16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
11);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 12);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
14);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 15);
nInv.addItemStack(
createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16);
nInv.addItemStack(
createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)),
17);
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 13);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
14);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 15);
nInv.addItemStack(
createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16);
}
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(island, role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 13);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
14);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 15);
nInv.addItemStack(
createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)),
16);
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath",
new ItemStack(Material.ITEM_FRAME)), 16);
}
}
} else {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Damage.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(island, role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()),
16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 13);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
14);
nInv.addItemStack(
createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 15);
nInv.addItemStack(
createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)),
16);
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
nInv.addItemStack(
createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16);
}
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 11);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 12);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(
createItem(island, role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
12);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
nInv.addItemStack(
createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)),
16);
} else {
nInv.addItemStack(createItem(island, role, "NaturalMobSpawning",
Materials.PIG_SPAWN_EGG.parseItem()), 11);
nInv.addItemStack(
createItem(island, role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
12);
nInv.addItemStack(
createItem(island, role, "Explosions", Materials.GUNPOWDER.parseItem()),
13);
nInv.addItemStack(createItem(island, role, "FireSpread",
new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(
createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()),
15);
}
}
}
}

View File

@ -438,93 +438,224 @@ public class Settings {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.PvP.Enable")) {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.KeepItemsOnDeath.Enable")) {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Damage.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 10);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)),
16);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 17);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 13);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14);
nInv.addItemStack(
createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16);
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17);
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(
createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 16);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 17);
}
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)),
16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(
createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 16);
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17);
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(
createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 16);
}
}
} else {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Damage.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16);
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17);
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16);
}
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 14);
nInv.addItemStack(createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
15);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 16);
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "PvP", new ItemStack(Material.DIAMOND_SWORD)), 12);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 14);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 15);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 16);
}
}
}
} else {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.KeepItemsOnDeath.Enable")) {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Damage.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
13);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14);
nInv.addItemStack(createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)),
15);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 9);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
10);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 11);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 12);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14);
nInv.addItemStack(
createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16);
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17);
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 13);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14);
nInv.addItemStack(
createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16);
}
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)),
16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 13);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14);
nInv.addItemStack(
createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15);
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 16);
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(
createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 16);
}
}
} else {
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Damage.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 13);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 15);
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 16);
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16);
}
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()), 11);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()), 12);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)),
14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
10);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
11);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 12);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 16);
} else {
nInv.addItemStack(
createItem(role, "NaturalMobSpawning", Materials.PIG_SPAWN_EGG.parseItem()),
11);
nInv.addItemStack(createItem(role, "MobGriefing", Materials.IRON_SHOVEL.parseItem()),
12);
nInv.addItemStack(createItem(role, "Explosions", Materials.GUNPOWDER.parseItem()), 13);
nInv.addItemStack(
createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14);
nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15);
}
}
}
}

View File

@ -283,6 +283,32 @@ public class MVdWPlaceholder {
}
});
PlaceholderAPI.registerPlaceholder(skyblock, "skyblock_island_coops", new PlaceholderReplacer() {
@Override
public String onPlaceholderReplace(PlaceholderReplaceEvent event) {
Player player = event.getPlayer();
if (player == null) {
return null;
}
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
}
});
PlaceholderAPI.registerPlaceholder(skyblock, "skyblock_island_coops_total", new PlaceholderReplacer() {
@Override
public String onPlaceholderReplace(PlaceholderReplaceEvent event) {
Player player = event.getPlayer();
if (player == null) {
return null;
}
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
}
});
PlaceholderAPI.registerPlaceholder(skyblock, "skyblock_island_visitors", new PlaceholderReplacer() {
@Override
public String onPlaceholderReplace(PlaceholderReplaceEvent event) {
@ -295,5 +321,18 @@ public class MVdWPlaceholder {
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
}
});
PlaceholderAPI.registerPlaceholder(skyblock, "skyblock_island_invites", new PlaceholderReplacer() {
@Override
public String onPlaceholderReplace(PlaceholderReplaceEvent event) {
Player player = event.getPlayer();
if (player == null) {
return null;
}
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
}
});
}
}

View File

@ -3,6 +3,7 @@ package me.goodandevil.skyblock.placeholder;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.bukkit.Bukkit;
@ -13,6 +14,7 @@ import org.bukkit.plugin.PluginManager;
import me.goodandevil.skyblock.SkyBlock;
import me.goodandevil.skyblock.config.FileManager.Config;
import me.goodandevil.skyblock.invite.Invite;
import me.goodandevil.skyblock.island.Island;
import me.goodandevil.skyblock.island.IslandManager;
import me.goodandevil.skyblock.island.IslandRole;
@ -212,6 +214,24 @@ public class PlaceholderManager {
configLoad.getString("Placeholder.skyblock_island_operators.Non-empty.Message")
.replace("%placeholder", "" + island.getRole(IslandRole.Operator).size()));
}
} else if (placeholder.equalsIgnoreCase("skyblock_island_coops")) {
if (island == null) {
return ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Placeholder.skyblock_island_coops.Empty.Message"));
} else {
return ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Placeholder.skyblock_island_coops.Non-empty.Message")
.replace("%placeholder", "" + islandManager.getCoopPlayersAtIsland(island).size()));
}
} else if (placeholder.equalsIgnoreCase("skyblock_island_coops_total")) {
if (island == null) {
return ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Placeholder.skyblock_island_coops_total.Empty.Message"));
} else {
return ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Placeholder.skyblock_island_coops_total.Non-empty.Message")
.replace("%placeholder", "" + island.getCoopPlayers().size()));
}
} else if (placeholder.equalsIgnoreCase("skyblock_island_visitors")) {
if (island == null) {
return ChatColor.translateAlternateColorCodes('&',
@ -221,6 +241,27 @@ public class PlaceholderManager {
configLoad.getString("Placeholder.skyblock_island_visitors.Non-empty.Message")
.replace("%placeholder", "" + islandManager.getVisitorsAtIsland(island).size()));
}
} else if (placeholder.equalsIgnoreCase("skyblock_island_invites")) {
if (island == null) {
return ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Placeholder.skyblock_island_invites.Empty.Message"));
} else {
Map<UUID, Invite> invites = skyblock.getInviteManager().getInvites();
int invitedPlayers = 0;
for (int i = 0; i < invites.size(); i++) {
UUID uuid = (UUID) invites.keySet().toArray()[i];
Invite invite = invites.get(uuid);
if (invite.getOwnerUUID().equals(island.getOwnerUUID())) {
invitedPlayers++;
}
}
return ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Placeholder.skyblock_island_invites.Non-empty.Message")
.replace("%placeholder", "" + invitedPlayers));
}
}
return "";
@ -241,7 +282,10 @@ public class PlaceholderManager {
placeholders.add("skyblock_island_members_total");
placeholders.add("skyblock_island_members");
placeholders.add("skyblock_island_operators");
placeholders.add("skyblock_island_coops");
placeholders.add("skyblock_island_coops_total");
placeholders.add("skyblock_island_visitors");
placeholders.add("skyblock_island_invites");
return placeholders;
}

View File

@ -206,6 +206,9 @@ Island:
# void damage.
Damage:
Enable: true
# When disabled, the hunger setting will be removed from the Island Settings menu.
Hunger:
Enable: false
Admin:
Structure:
# Item Material used to select positions for a structure.

View File

@ -411,6 +411,17 @@ Command:
Minute: "minute(s)"
Second: "second(s)"
Message: "&bSkyBlock &8| &cError&8: &eYou must wait &c&o%time &ebefore processing an Island level request."
Value:
Info:
Message: "&f&oGets the value of a material in your hand."
Permission:
Message: "&bSkyBlock &8| &cError&8: &eYou don't have permission to get the value of an item."
Hand:
Message: "&bSkyBlock &8| &cError&8: &eYou must be holding an item in your hand."
None:
Message: "&bSkyBlock &8| &cError&8: &eCannot get the value of that material."
Value:
Message: "&bSkyBlock &8| &aInfo&8: &eThe value of the material '&d%material&e' is &d%points &epoints and has a &d%level &elevel increase."
Settings:
Info:
Message: "&f&oOpen the Island Settings menu."
@ -1047,11 +1058,26 @@ Placeholder:
Message: "&c0"
Non-empty:
Message: "&f%placeholder"
skyblock_island_coops:
Empty:
Message: "&c0"
Non-empty:
Message: "&f%placeholder"
skyblock_island_coops_total:
Empty:
Message: "&c0"
Non-empty:
Message: "&f%placeholder"
skyblock_island_visitors:
Empty:
Message: "&c0"
Non-empty:
Message: "&f%placeholder"
skyblock_island_invites:
Empty:
Message: "&c0"
Non-empty:
Message: "&f%placeholder"
Hologram:
Leaderboard:
Level:
@ -1936,6 +1962,8 @@ Menu:
Displayname: "&aKeep Items on Death"
Damage:
Displayname: "&aDamage"
Hunger:
Displayname: "&aHunger"
Default:
Item:
Setting:
@ -3004,6 +3032,8 @@ Menu:
Displayname: "&aKeep Items on Death"
Damage:
Displayname: "&aDamage"
Hunger:
Displayname: "&aHunger"
Default:
Item:
Setting:

View File

@ -1,6 +1,6 @@
name: SkyBlock
main: me.goodandevil.skyblock.SkyBlock
version: 42
version: 43
api-version: 1.13
description: A unique SkyBlock plugin
author: GoodAndEvil

View File

@ -154,4 +154,5 @@ Settings:
FireSpread: true
LeafDecay: true
KeepItemsOnDeath: true
Damage: true
Damage: true
Hunger: true